Defender Avante X55 добавляем «мозгов»

Опубликовано bondrogeen

В один прекрасный день, придя на работу, заметил, что моя акустика Defender Avante X55, которая уже шестой год служит мне  верой и правдой, не работает. Индикатор сети не горит и на все попытки ее включить, признаков жизни не подает. Вскрытие показало, что одна из ног линейного стабилизатора на 9В оторвалась от пайки, тем самым обесточив питание темброблока и плату управления. Хорошо все пропаял, акустика заработала.

Конструкция данной акустики ничем не примечательна. Внутри корпуса сабвуфера установлен трансформатор и основная плата. На основной плате расположен диодный выпрямитель (питание однополярное), усилитель TDA7379, пара двух канальных операционных усилителя, так же пара линейных стабилизаторов на 9В для питания аудиопроцессора PT2313 и 5В для питания платы управления, которая крепится снаружи под лицевой панелью.

На плате управления находятся кнопки регулировки громкости, ИК приемник и  микроконтроллер с маркировкой YP416. Соединяется основная плата с платой управления шлейфом из 5 проводов, два из которых это питание 5В, еще два, шина I2C (линия данных и тактирования) и оставшейся это сигнал для перевода микросхемы усилитель в дежурный режим.

 

И раз уж все разобрано, появилось желание сделать ее чуточку «умной». Начал размышлять, как можно сделать это с минимальными конструктивными изменениями и не в ущерб существующему функционалу. Решил, что управляться будет по «воздуху», а именно по Wi-Fi, с этой задачей вполне справится ESP8266. Для этого необходимо будет переделать плату управления, заменив родной МК на ESP8266.

Из-за того, что ESP на порядок «прожорлива», чем родной МК, а в цепи питания для платы управления стоит токоограничивающий резистор, который рассеивает на себе часть тепла, чтобы производитель сэкономил на радиаторах для линейных стабилизаторов, необходимо переделать цепь питание. Чтобы не сильно вмешиваться в существующую конструкцию, отключил плату управления от родной цепи питания, убрав перемычку идущую на разъем. И через понижающий DC/DC (MP1584), предварительно выставил на нем 5В, припаял его выход к разъему, таким образом обеспечиваем нормальным питание для ESP.

Схема и печатная плата.

Теперь о необходимых ресурсов:

  1. Нужно отслеживать состояние 5-ти кнопок.
  2. Управлять подсветкой логотипа (он же индикатор состояние).
  3. Получать команды от ИК приемника.
  4. Управлять ждущим режимом усилителя.
  5. Отправлять команды по I2C шине.

Список достаточно внушительный, что не скажешь о свободных портах у ESP. При обычной схеме подключения пяти кнопок, необходимо пять свободных портов. Чтобы сильно не усложнять схему и не выходить за рамки бюджета, оптимальным решением, в данном случае, это будет аналоговая клавиатура. Будем опрашивать кнопки через АЦП, вернее, для этого нам потребуется АЦП + один свободный порт, настроенный на прерывания, для отслеживания нажатия на кнопку. С остальной периферией проблем не возникнет и оставшихся портов будет более чем достаточно.

Чтобы иметь возможность управлять акустикой, как и раньше с пульта и кнопок, решил сделать свою плату сохранив все габариты и расположение кнопок на месте. Сам травить плату не стал, а заказал на PCBWay, кстати сейчас при первом заказе дают скидку в 5$. Пока ждал платы, занялся программной частью, для отладки использовал плату Wemos D1 mini.

 

ПО

ПО написано на NodeMCU Lua в виде плагина для DoT. Установить его можно как через веб интерфейс в DoT, так и отдельно скачав его с GitHub. Про саму установку и настройки DoT читаем тут.

 

После того как все установили и подключились к своей домашней сети, акустикой можно управлять через браузер, для этого сделал простой, адаптивный веб интерфейс. Внешний вид в минималистическом стиле, только органы управления.

Для интеграции с УД можно использовать протокол HTTP (GET, POST запросы) или MQTT.

HTTP

http://<IP>/Defender_X55.lua?volume=50

Установка обшей громкости от 0 до 63

http://<IP>/Defender_X55.lua?bass=10

Установка НЧ от 0 до 15

http://<IP>/Defender_X55.lua?treble=7

Установка ВЧ от 0 до 15

http://<IP>/Defender_X55.lua?subwoofer=25

Установка громкости subwoofer от 0 до 31

http://<IP>/Defender_X55.lua?left=15

Установка громкости левого канала от 0 до 31

http://<IP>/Defender_X55.lua?right=15

Установка громкости правого канала от 0 до 31

http://<IP>/Defender_X55.lua?mute=0

Дежурный режим  0  — выкл 1 — вкл

Можно задавать несколько параметров сразу.

http://<IP>/Defender_X55.lua?volume=50&bass=10&treble=7&subwoofer=25&left=15&right=15&mute=0

Ответ возвращается в JSON формате, если команда была принята, то вернет true если нет, то false

Получить текущее состояние можно отправив запрос на

http://<IP>Defender_X55.init

 

MQTT

Чтобы использовать протокол MQTT, для этого необходимо установить соответствующий плагин MQTT. После установки и настройки плагина, если сделали все правильно, появится две ветки топиков.

DoT-XXXXXX/Defender_X55/comm/ — ветка для управления акустикой.

DoT-XXXXXX/Defender_X55/info/ — информация о текущих состояний

В заключении хотелось бы рассказать о некоторых моментах.

) Для того чтобы сбросить сетевые настройки по умолчанию, необходимо нажать и удерживать одну из кнопок на передней панели сабвуфера (например STANDBY) и затем включить питание акустики.

) Настройки громкости, тембра и других параметров сохраняются, только при изменении состояния Mute.


Отправить ответ

avatar

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
Notify of