Defender Avante X55

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

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

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

Плата 1
Плата 2

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

Плата (мод)

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

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

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

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

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

Плата внешний вид
Плата top
Плата new1
Плата new2

ПО

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

Web интерфейс

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

Для интеграции с УД можно использовать протокол 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

{ 
  "bass":true,
  "volume":true,
  "treble":true,
  "mute":0,
  "right":true,
  "left":true,
  "subwoofer":true
}

Получить текущее состояние можно отправив запрос на http://IP/Defender_X55.init

{ 
  "input":3,
  "treble":7,
  "bass":10,
  "right":23,
  "run":true,
  "left":23,
  "volume":47,
  "mute":0,
  "subwoofer":25
}

MQTT

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

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

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

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

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

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

diy dot smart home
(0.0) / 0
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение. Все комментарии премодерируются.
0