Просмотр сообщения
Moduvator
Абитуриент
Hyundai Solaris 2015
1.6 МКПП
Сообщений: 12
Получил "Мне нравится"3
В клубе с 31.08.2016
08.08.2018 14:36
Успешно закончил испытания самодельного блока управления магнитолой и КК штатными кнопками на рулевом колесе, позволю себе поделиться опытом, возможно, кому-то он будет полезен.

Блок управления магнитолой Alpine, имитирующий сигналы IrDA, был мной изготовлен еще в 2016 году, но все это время он не развивался — не было необходимости. Позже, успешно проверив работоспособность круиз-контроля и не желая ставить дополнительный подрулевой переключатель, я принял решение таки расширить функционал и заодно воплотить в железе успевшие появиться за это время доработки.

Блок управления круиз-контролем собран на восьмиканальном мультиплексоре 74HC4051, общий вывод подключается ко входу ЭБУ, на остальных располагаются сопротивления требуемого номинала. Поскольку собственное сопротивление ключей у микросхемы составляет порядка 90 Ом, номиналы сопротивлений соответственно скорректированы, а на массу вывод замыкается полевым транзистором. Управляет всем блоком микроконтроллер ATTiny44A, который также отвечает за формирование импульсов для управления магнитолой и распознавание кнопок на руле.

Замечания по итогам испытаний:
  1. Длительности "нажатия кнопки" управления КК порядка 80мс вполне достаточно — ЭБУ уверенно распознает команду, увеличивать время свыше этого нет необходимости.
  2. ЭБУ очень чувствителен к номиналу сопротивления кнопки SET, причем на его уменьшение реагирует более благосклонно.

Дело в том, что с ростом температуры плывут характеристики мультиплексора и сопротивление его ключей увеличивается на дополнительные ~10 Ом. Так ЭБУ не регистрировал нажатие, когда итоговое сопротивление поднималось до 228~230 Ом, но вполне продолжал реагировать, когда оно было снижено до 210 Ом, чтобы оставить запас на температурный рост. Остальные кнопки подобной зависимости не демонстрируют.

Алгоритм работы системы следующий:
По умолчанию все кнопки на руле вызывают те или иные функции магнитолы, различая короткое и длительное нажатие. Кнопки громкости при длительном нажатии просто непрерывно повторяют команду вплоть до отпускания клавиши. В режим управления круиз-контролем система переводится длительным (> 0,5с) нажатием кнопки Source, при этом в ЭБУ отправляется команда, соответсвующая кнопке On/Off и на приборной панели зажигается индикатор Cruise. В этом режиме короткое нажатие кнопок Pst+ и Pst- соответствует клавишам Res и Set круиз-контроля, длительное нажатие этих же клавиш отправляет в магнитолу команду смены трека, короткое нажатие кнопки Set соответствует кнопке Cancel. В исходный режим блок возвращается повторным длительным нажатием кнопки Set, при этом вновь имитируется нажатие кнопки On/Off и индикатор Cruise гаснет.

Решение, безусловно, компромиссное, поскольку кнопок на руле мало, а функций получается много, но на мой взгляд удобней, чем прилаживать куда-то дополнительный подрулевой переключатель. Светодиоды в приборную панель устанавливались самые дешевые из ближайшего Чип-и-Дип: Kingbright KA-3528SGC, сопротивлений 1 кОм им хватает в самый раз, чтобы индикаторы было видно днем и они не выделялись среди остальных ночью.

Принципиальная схема, фотография моего варианта изготовления и исходный текст программы прилагаются, возможно, кому-то это пригодится. Сопротивления R15-R13 и R12-R14 устанавливаются параллельно для облегчения точной подборки. Мне она понадобилась только в случае с кнопкой Set. Скомпилированная AVR GCC прошивка занимает ~1,5 килобайта ПЗУ и при работе расходует 66 байт ОЗУ. Микроконтроллер тактуется от внешнего кварца, работая на частоте 2 МГц, квант времени в программе — 16 мс, задается прерыванием по таймеру.
Вложения
mainboard.jpg   mainboard_installed.jpg   cc_main_cable.jpg   cluster_indicator.jpg  
Вложения
Тип файла: pdf combo_new_3.pdf (17.2 Кб, 43 просмотров)
Тип файла: zip main_tiny.zip (3.7 Кб, 23 просмотров)
Moduvator вне форума