Приставка к модулю индикации AH-I6 — эмулятор нажатия кнопок

Описываемое устройство представляет собой приставку к блоку индикации AH-I6 для Аманеро, работающему совместно с ЦАП AH-D5/D6, и предназначено для эмуляции нажатия двух кнопок управления («Питание», «Цифровой фильтр») как вручную, так и удалённо с помощью ИК-пульта, работающего по протоколу NEC (протокол пульта определяется прошивкой эмулятора). Это позволяет использовать ИК-управление модулем индикации на основе микроконтроллера ATMega88, который не предусматривает приём и обработку команд с ИК пульта.
Эмулятор смонтирован на двухсторонней печатной плате размером 22x22 мм и «одевается» на штыревые разъёмы J6 («IR» — через него подаётся питание +5В) и J5 («Buttons» — контакты кнопок) модуля индикации.

Вид устройства сверху, снизу и с ИК-приёмником, показанным в качестве демонстрации:

       

ИК-приёмник подключается к эмулятору 3 проводами через разъём DS1066-03.

Вид устройства, установленного на модуле индикации:

Принципиальная схема устройства достаточно проста:

Основой эмулятора является микроконтроллер (МК) ATtiny45 (IC2) в планарном корпусе SO-8. «Замыкание» контактов кнопок на землю эмулируется МК формированием выходных импульсов с нулевым уровнем. Диоды VD1 и VD2 (любые диоды Шоттки в корпусе SOD-323), обеспечивают согласование уровней сигналов эмулятора (+5В) и модуля индикации (+3,3В). Внешний ИК-приёмник (IC1) типа TSOP34838 или VS1838 (38 кГц) подключается к эмулятору через разъём J2, кнопки для ручного управления – через разъём J1, программатор МК – через разъём J3. Перестановкой перемычки J4 можно переключить ИК приёмник напрямую к модулю индикации, минуя эмулятор. На плате установлены следующие элементы типоразмера 0805: резисторы R1, R2, R3, керамический конденсатор C2 и светодиоды HL1, HL2 (например, красные), а также танталовые электролитические конденсаторы типоразмеров A (C1) и B (C2). Типы используемых разъёмов указаны на принципиальной схеме.

Программирование (заливка прошивки) МК эмулятора осуществляется при напряжении +5В, при этом плата эмулятора должна быть отсоединена от платы модуля индикации. Fuse-биты: Low: 0xE2 (RC osc. 8 MHz; Start-up time=6/14CLK+64ms), High: 0xD4 (SPI enabled; EESAVE; Brown-out detection level 4,3V). Некоторые китайские экземпляры МК отказываются корректно работать на частоте 8 МГц в части приёма ИК-команд, где критичны временные задержки, поэтому предусмотрен вариант прошивки МК для работы на частоте 1 МГц (устанавливается Fuse-бит деления на 8 частоты МК CKDIV8, при этом Fuse Low: 0x62).  Бывает полезной установка значения High Fuse-бита, равного 0xD5 (Brown-out detection level 2,7V), если напряжение питания приставки указывается меньше 5V, и наблюдается её неустойчивая работа. Может быть использован тот же программатор, что и для программирования МК ЦАП.

Установка Fuse-битов в программе AvrDude соответственно для тактовой частоты МК 8 МГц и 1 МГц:

 

Подключение программатора к устройству:

  

В эмуляторе программно предусмотрена ещё одна функция – автоматическое включение модуля индикации после подачи питания, путём формирования импульса, имитирующего нажатие соответствующей кнопки (S1). Это может быть полезным, если ЦАП полностью обесточивается сетевым выключателем питания. Во вложениях предусмотрен вариант прошивки как с этой функцией (с «PowerOn» в имени файла прошивки), так и без неё.

Факт нажатия кнопок, в том числе и на ИК пульте, индицируется зажиганием светодиодов HL1 и HL2. Указанные светодиоды используются также для индикации режима программирования клавиш ИК пульта.

Процесс программирования клавиш ИК пульта описан ниже. При этом эмулятор может запитываться напряжением +5В как автономно – от программатора, так и от модуля индикации, при его установке на штатном месте. Во втором случае можно временно замкнуть джампером контакты «GND» (6) и «RES» (5) разъёма «PROG» (J4) модуля индикации, чтобы формируемые эмулятором в процессе программирования сигналы не влияли на состояние этого модуля (показано на фото).

Для входа в режим программирования клавиш ИК пульта нужно зажать одновременно контакты кнопок S1 и S2 на входе эмулятора в течение не менее 5 секунд, после чего начнёт мигать светодиод HL1, означающий готовность к приёму кода первой клавиши с ИК пульта (для управления питанием модуля индикации). После успешного приёма кода первой клавиши ИК пульта начинает мигать светодиод HL2, означающий готовность к приёму кода второй клавиши (для управления переключением фильтров ЦАП). Если принят второй ИК код (отличный от первого!), режим программирования клавиш завершается, и светодиоды гаснут. Теперь можно проверить работу назначенных клавиш на ИК пульте: при их нажатии соответствующие светодиоды будут вспыхивать. Процесс программирования клавиш ИК пульта может быть прерван нажатием любой кнопки (S1 или S2), при этом уже принятый код первой клавиши сбрасывается, т.е. в памяти сохраняются ранее настроенные клавиши.

Можно использовать дешёвый пульт FZ0721/E с просторов Алиэкспресс и eBay:

Выяснилось, что по протоколу NEC работают пульты от телевизоров LG (правда, неизвестно, от всех моделей, или нет).

Во вложениях приведены варианты прошивок с исходным текстом программы на языке C++, рисунок печатной платы в формате Sprint Layout 6, а также готовые гербер-файлы для заказа на производстве.

Вложение: Прошивка.zip 12,96 KB (Скачиваний: 9)

Вложение: Печатная плата.zip 30,18 KB (Скачиваний: 13)

0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.