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.


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

avatar
1 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Павелbondrogeen Recent comment authors

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

  Subscribe  
newest oldest most voted
Notify of
Павел
Гость
Павел

Добрый день. Старая плата управления не осталась? В моем усилке походу сдох китайский процессор.