Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Аудиопроцессор на TDA7419 с управлением по WiFi с андроид-устройства.

РадиоКот >Схемы >Аудио >Разное >

Аудиопроцессор на TDA7419 с управлением по WiFi с андроид-устройства.


    Вниманию уважаемого РадиоКота и всем его читателям хочу представить проект звукового аудиопроцессора, выполненного на базе микросхемы звукового процессинга TDA7419, широко используемой в различной аудиотехнике фирмы Panasonic и не только. На страницах интернета не раз встречал поднятие тем использования этого аудиопроцессора. Но везде, как правило, всё ограничивалось лишь общими разговорами на эту тему либо конкретными коммерческими предложениями по созданию устройств на базе TDA7419. Такая ситуация вполне объяснима, если заглянуть в даташит TDA7419. Контроллер этот имеет довольно сложное управление при широком функционале, а также очень хорошие характеристики параметров звука. В частности, тембрами звука можно управлять в области переключающихся частотных полос и, при этом, ещё и менять ширину захвата регулировки. Смотрите в даташите параметры: “Treble, Middle, Bass, Loudness Center Frequency”; “ Middle, Bass Q-Factor”; “Subwoofer Cut-off Freqency” и др. Ну… почти как эквалайзер. Именно, аудиопроцессор, во всей полноте понимания. Всё это меня заинтриговало, и в итоге было создано устройство, предлагаемое Вашему вниманию. И, как показал опыт эксплуатации, работа была проделана не зря!

     Звуковые характеристики устройства исчерпывающе определяются параметрами, приведенными в даташите TDA7419. От себя добавлю лишь, что аудиопроцессор даёт в итоге приятный «накрученный» звук, на все утончённые вкусы.
     В моей конструкции аудиопроцессора реализован практически полный функционал TDA7419. А именно:


- работа устройства в режимах:


     2.0 – используется один из четырех стерео-входов устройства, и сигнал передаётся на стерео-выход каналов для фронтальных колонок. Сабвуферный выход при этом также может быть опционально подключен или отключен. Каналы для тыловых колонок в этом режиме отключены.


     Pro – так же используется один из четырёх стерео-входов устройства, и сигнал передаётся на стерео-выход каналов для фронтальных колонок. Но к ним, дублируя, подключаются также и каналы для тыловых колонок. Сабвуферный выход при этом также может быть опционально подключен или отключен. Так реализован режим «псевдо 4.1».


     4.1 – используются фиксировано два из четырёх стерео-входов, и четырёх-канальный сигнал передаётся на стерео-выходы каналов для фронтальных и тыловых колонок соответственно. Сабвуферный же выход в этом режиме также может быть опционально подключен или отключен.


- Выбор одного из четырёх входов, один из которых квазидифференциальный, три других – одинаковые по параметрам стерео-входы.
- Регулировка основных параметров звука: громкость; тембры высоких, средних и низких частот; а также тоновой компенсации звука.
- Переключение осей частотных полос тембров и тонкомпенсации, а также переключение ширины полос захвата регуляторов тембров.
- Переключение частотной полосы сабвуферного канала и уровня громкости сабвуфера в отдельности.
- Регулировка уровня предусиления “Gain” по выбранному входу.
- Баллансировка громкости звука всех пяти выходов по отношению друг к другу.
- Оперативное отключение звука “MUTE”.


     Весь этот богатый функционал вынудил меня искать рациональный способ управления устройством. Дело в том, что при таком обширном наборе регулировок и переключателей желательно видеть состояние всего интерфейса управления вцелом. Иначе, не наблюдая всей картины вцелом, трудно при эксплуатации понять, какую настройку изменить, что переключить или прибавить/убавить. Конечно, мною был применен LCD-индикатор, обеспечивающий индикацию всех режимов и меню аудиопроцессора. Реализовано ручное управление при помощи пяти кнопок с передней панели устройства: «выбор меню параметра», «выбор подменю параметра», «прибавить», «убавить» и «приглушение звука». См. ниже «краткий мануал…». Но этого оказалось мало. (Ну… не разместишь информацию обо всех органах управления на 16x2 LCD индикаторе). Тогда зародилась идея создать ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ ПО WiFi С УСТРОЙСТВА НА ПЛАТФОРМЕ ANDROID. Например, с планшета или со смартфона, благо эти гаджеты уже повсеместно влились в нашу жизнь. Экрана этих устройств вполне хватит для отображения всего текущего состояния устройства. Так надо их и использовать.
     В итоге мной и был реализован дистанционный интерфейс управления аудиопроцессором по WiFi с планшета/смартфона (мною написаны два варианта приложений). В результате устройство состоит из двух частей: головное устройство – сам аудиопроцессор с контроллером управления и сетевым WiFi модулем, управляемым и контролируемым контроллером управления; и Ваше андроид-устройство (планшет, смартфон) с установленным на него приложением для управления аудиопроцессором. Для более наглядного понимания конструкции и функционала устройства привожу общую блок-схему устройства. См. рис. ниже.

                                                                                                                                           Рис. Общая блок-схема устройства.
     Напомню, головное устройство может также полнофункционально управляться и своими органами управления, т.е. работать как в паре с андроид-устройством так и автономно.
     Теперь подробности…

 

                                                                                                                                           ГОЛОВНОЕ УСТРОЙСТВО

                                                                                                                                              Модуль контроллера

     Схема модуля контроллера головного устройства изображена на рис.1. В качестве контроллера управления применён PIC16F876A из соображений наличия необходимых аппаратных интерфейсов UART и IIC, необходимого числа выводов, требующейся оперативной памяти и памяти программ и данных, а также простоты программной первичной инициализации. Сразу оговорюсь, серия PIC16F873 не подойдёт – малы параметры памяти.

     Кварцевый резонатор выбран на указанную в схеме частоту не случайно. Эта частота удовлетворяет требованиям работы интерфейса UART контроллера на скорости 57600 с сетевой платой ESP8266 (об этом модуле см. ниже), управляемой и контролируемой по интерфейсу UART. Этот интерфейс в моей конструкции работает в асинхронном (к сожалению!) режиме, т.к. так был спроектирован инженерами на модуле ESP8266.  Это, безусловно, наложило свой отпечаток на работу конструкции вцелом.  Но, за счёт подбора скорости на уровне 57600, высокой тактовой частоты, специфического протокола обмена данными между головным (целевым) устройством (сервером с точкой доступа) и андроид-устройством (клиентом), а также эффективных программных методов захвата и обработки принимаемой через интерфейс информации

негативное влияние асинхронности на процесс достоверности принимаемых данных и «успевания» их обработки удалось свести практически к нулю.

                                                                                                                         Рис.1. Схема модуля контроллера головного устройства.

     Вообще, согласно даташиту на контроллер, частоту кварцевого резонатора можем вычислить так:

     При асинхронной работе:      СКОРОСТЬ ОБМЕНА = Fosc / (64*(X+1)), где X – значение регистра SPBRG контроллера (0 – 255, соотв. 0x00 – 0xFF). Выразив Fosc из этого отношения имеем:

     Fosc = СКОРОСТЬ ОБМЕНА * (64*(X+1)).

    Подставляя различные значения регистра SPBRG (X), получим ряд расчетных частот кварцевых резонаторов для тактового генератора. Но… для успевания интерпретации данных на устройстве необходима «быстрая» работа контроллера, поэтому следует выбирать тактовую частоту повыше.

      В моём случае 57600 * (64 * (3+1)) = 14745600 Гц. У меня был в наличии кварцевый резонатор на 14,910 мГц – его и применил. Ошибка скорости обмена, как сообщил компилятор MikroC v4.6, составила не более 1,1%. Эксперимент показал, что всё работает «на ура».

      Поэтому Вы можете при повторении в своей конструкции использовать резонатор, близкий к расчётному.

     Вернёмся к схеме. И модуль ESP8266, и аудиопоцессор TDA7419 имеют (согласно их даташитам) логику цифровых шин, совместимую с 3,3в. Что-то не хотелось мне заранее закладывать порок в устройство, т.е. запитывать цифровые шины указанных выше элементов непосредственно от соответствующих портов контроллера. Поэтому были применены схемные решения, адаптирующие логические уровни. См. соответствующие элементы схемы в этих цепях.

     А именно: R9 и диод, работающий на ограничение максимума напряжения на шине Rx UART контроллера - Tx UART модуля ESP8266; диод и R14 на шине Tx UART контроллера - Rx UART модуля ESP8266.  По условию протокола работы UART обе линии шины в режиме молчания имеют высокие уровни, таким образом указанная цепь при передаче всего лишь сбрасывает в логический ноль эту линию шины, а единица же на ней восстанавливается сама за счёт подпорки R14 к 3,3в питанию, когда это допустит контроллер. – Всё работает! Проверено!

     Особо здесь хотелось бы отметить, что контакт разъёма TXD следует понимать как контакт для подключения TXD же контакта модуля ESP8266, и ведёт эта цепь на Rx UART контроллера. А, соответственно, контакт разъёма RXD следует понимать как контакт для подключения RXD контакта модуля ESP8266, и ведёт эта цепь на Tx UART контроллера. НЕ ПЕРЕПУТАЙТЕ!

     Остальные же контакты интерфейса модуля ESP8266 включены согласно схеме, рекомендуемой от производителя: вывод RC5 контроллера разрешает работу модуля ESP8266, вывод RB7 – обеспечивает аппаратный сброс модуля ESP8266, посредством открывания транзистора VT1. GPIO не используются, но подперты к 3,3в питанию согласно рекомендации.

     Аналогично и решение для шины IIC аудиопроцессора. По условию аппаратного функционирования шины IIC ни устройство-мастер шины, ни управляемое устройство не подпирают сами свою шину к напряжению питания, а, напротив, мастер «дёргает» внешне подпёртую шину к массе. Поэтому шина была попросту подперта к специально созданному логическому уровню  3,3в.

     В схеме обеспечено питание 3,3в для ESP8266. Микросхемный стабилизатор AME1085DCBT может быть заменен на любой подходящий. Думаю, правда, что маломощный может перегреться.

     LCD индикатор использован дешёвый китайский стандартной серии 1602: 2 строки по 16 знакомест, купленный здесь: https://ru.aliexpress.com/. Поэтому вся информация выводится на него в англоязычном варианте. Кстати говоря, приложения для андроид-устройств –  напротив сделаны так, что информация выводится на русском языке!

     Конструктивно плата модуля контроллера произведена методом лазерно-утюжной технологии.

     Чертеж платы изображен на рис.2. Полную документацию на всё устройство в различных форматах Вы можете скачать по ссылкам внизу статьи (там же и lay-файлы для плат).

                                                                                      Рис.2. Чертеж платы контроллера с позиционными обозначениями компонентов. Вид со стороны металлизации.

     Фото собранного модуля сверху и снизу см. рис.3 и 4.

                                                                                                                                   Рис.3. Внешний вид модуля контроллера сверху.

                                                                                                                                     Рис.4. Внешний вид модуля контроллера снизу.

  ВНИМАНИЕ! При монтаже не забудьте установить перемычку между 8 и 19 выводами контроллера (см. чертёж платы). Запаяйте её в плату самой первой.

 

                                                                                                                                              Модуль аудиопроцессора.

   Схема модуля аудиопроцессора не содержит каких-либо оригинальных решений. Она - та же, что и в серийно выпускаемых промышленностью устройствах. См. рис.5. В своей конструкции я не стал мудрить с внешними DSO цепями. И без них диапазон регулировок достаточно широк. Вывод аппаратного “mute” не задействован, хотя и выведен на разъём модуля. Мною реализован софтверный режим приглушения звука. Детали использовал типов рекомендованных к использованию в устройствах звуковых трактов. Воможно Вам придётся экранировать модуль аудиопроцессора от наводок со стороны модуля WiFi ESP8266. Это по ситуации…

   Мой вариант аудиопроцесора (имею ввиду всё устройство) конструктивно выполнен в виде отдельного прибора. Поэтому было удобно входные/выходные разъёмы смонтировать тут же, на плату аудиопроцессора. Разъёмы использо-вал от автомагнитол.

                                                                                                                                           Рис.5. Схема модуля аудиопроцессора.

     На рис.6 – чертёж платы. Вид со стороны металлизации.

 

                                                                                     Рис.6. Чертёж платы аудиопроцессора с позиционными обозначениями элементов. Вид со стороны металлизации.

  На рис.7 и 8 – фото модуля сверху и снизу.

                                                                                                                               Рис.7. Внешний вид модуля  аудиопроцессора сверху.

                                                                                                                                Рис.8. Внешний вид модуля  аудиопроцессора снизу.

 

     На рис.9 показано назначение разъёмов устройства.

                                                                                                                                               Рис.9. Назначение разъёмов аудиопроцессора.

 

                                                                                                                                                   Сетевой модуль WiFi    ESP8266.

   Пришло время поговорить об организации WiFi связи на устройстве. Для понимания сути процесса связи устройств по сети WiFi рекомендую хотя бы поверхностно ознакомиться с принципами реализации связи устройств по каналам WiFi. Материалов полно в инете. Не буду даже давать каких-либо ссылок.

   С точки зрения структуры WiFi сети сам головной модуль конструкции является специфическим сервером с точкой доступа. На практике это выглядит так: включив головное устройство, через небольшой промежуток времени, Вы можете наблюдать на любом стороннем компьютере, имеющем сетевую карту WiFi, появление новой точки доступа сети с идентификатором, заложенным в применённый Вами модуль ESP8266.

   Ваше андроид-устройство с ЗАПУЩЕННЫМ на нём приложением является клиентом этого сервера.

   Между сервером и клиентом мной осуществлён НЕстандартный специальный протокол взаимодействия (с PIC16F876A сильно не разбежишься. Да и не надо. Всё в рамках достаточного.), но в рамках стандартного TCP/IP протокола WiFi сети.

   В качестве сетевого модуля мной был использован популярный ныне производственный китайский недорогой модуль ESP8266-01, купленный здесь: https://ru.aliexpress.com/. См. рис.10 и 11.

                                                                                                                                                      Рис.10. ESP8266-01 аверс.

                                                                                                                                                       Рис.11. ESP8266-01 реверс.

   Вообще, для начала, рекомендую ознакомиться с данным модулем, его функционалом и методами настройки, изучив внимательно материалы с сайта: https://esp8266.ru/. Там найдёте ответы на практически все вопросы касаемо ESP8266-01. Здесь опишу только важные моменты для обеспечения работоспособности модуля в конструкции.

                                                                                                                                                          Подготовка модуля.

   Для обеспечения нормальной работоспособности модуля ESP8266-01 в конструкции требуется прошить и настроить его. Делается это с компьютера (в т.ч. можно с ноутбука и т.п.), имеющего операционную среду Windows и разъёмы USB (подробно читайте в материалах указанного выше сайта). Для осуществления указанных операций потребуется так же наличие какого-либо USB-to-UART адаптера с логикой 3,3в (!) на шине UART. Я приобрёл (всё там же) вот такой см. рис.12 и 13.

                                                                                                                                                     Рис.12. USB-to-UART аверс.

                                                                                                                                                    Рис.13. USB-to-UART реверс.

   Соберите временную (ну как сказать!) схему, которая поможет Вам осуществить процесс (см. рис.14).

                                                                                                                      Рис.14. Схема для процесса прошивания и отладки модуля.

   Для тех, кому ещё не понятна распиновка модуля см. рис.15.

                                                                                                                                   Рис.15. Распиновка ESP8266-01. Вид со стороны чипов.

   Подготовьте на компьютере необходимую для работы среду. А именно:

  1. Скачайте здесь: https://esp8266.ru/downloads/ утилиту для прошивания модуля XTCOM и установите её.
  2. Скачайте прошивку для модуля версии AT21SDK95-2015-01-24 . Она есть в материалах представленных в конце статьи. С другими прошивками модуль в устройстве не тестировался так, что будьте внимательны! Прошивка же, загруженная в модуль на заводе может быть другой версии – что нежелательно!
  3. Скачайте здесь: https://esp8266.ru/esplorer/  специальную программу для работы с модулем - ESPlorer (не путать с Explorer!), и установите её. Перед установкой этой программы убедитесь, что у Вас на компьютере установлена свежая версия JAVA (jre, java runtime environment). Если что – установите/обновите JAVA.
  4. Не худо бы скачать и документацию по командам УКАЗАННОЙ ВЕРСИИ прошивки (https://esp8266.ru/downloads/) и изучить команды и AT-ишный командный интерфейс.
  5. Не забудьте про драйвер Вашего модуля USB-to-UART. Найдите его в интернете, скачайте и установите. Если будете использовать устройство, такое же как описывается здесь, то его драйвер скачайте по ссылке в конце статьи (там же и кое-какая документация).
  6. Для начала нужно определить, на какую скорость настроен порт UART Вашего модуля. Для этого включите и загрузите компьютер. Обязательно дождитесь полной загрузки системы, не торопитесь! Подключите всю схему (см. рис. 14. Контакты указанного на схеме выключателя должны быть разомкнуты!) в один из портов USB компьютера. Почти сразу загорится красный светодиод и моргнёт синий – это значит, всё хорошо.
  7. Запустите программу ESPlorer, выставьте в ней скорость для порта UART 9600. Это наиболее вероятная скорость для заводской прошивки модуля. Подключитесь. Нажмите коротко на устройстве кнопку сброса (см. рис. 14.). В поле данных программы должна появиться строка, состоящая большей частью из бессмысленного символьного кода, но, если в конце строки Вы увидите слово “ready”, то это значит, что выбрана верная скорость соединения по UART. При отсутствии “ready” в конце строки отключитесь программно от устройства. Произведите выше описанную процедуру со скоростями 115200 и 57600. А затем и с другими из стандартного ряда, если потребуется. В случае появления  “ready” – это и есть дефолтная скорость работы UART Вашего устройства. Запомните её.
  8. Закройте ESPlorer, отключите физически устройство от компьютера, замкните контакты выключателя для прошивания, снова подключите всё устройство к компьютеру и запустите утилиту для прошивания XTCOM.  Перейдите в ней в Tools -> Config Device, выберите специализированный COM-порт, к которому подключена плата, установите необходимую скорость, которую получили ранее, жмите Open, потом Connect. Программа должна сказать: «Connect with target OK!», закройте окно настроек. Перейдите в меню API TEST, выберите (4) Flash Image Download, укажите путь к файлу прошивки, адрес оставьте 0x00000, жмите DownLoad. Должна начаться загрузка прошивки, по окончании будет выдано сообщение. По окончанию процесса прошивки отключитесь программно от устройства, закройте XTCOM, отключите физически устройство от компьютера, разомкните контакты выключателя для прошивания и снова подключите всё устройство к компьютеру.
  9. После прошивки (прошивкой AT21SDK95-2015-01-24 (!))  на Вашем модуле установится дефолтная скорость UART порта 115200, что также НЕ подходит для создаваемой конструкции. Необходима скорость 57600. Снова запустите ESPlorer, подключитесь к устройству уже на скорости 115200. Из командной строки ESPlorer подайте команду:  AT+UART=57600,8,1,0,0 и не печальтесь, если вместо ожидаемого “OK” увидите «каракули», - ведь скорость-то изменилась.
  10. На этом в процессе подготовки модуля ESP8266-01 можно поставить точку. Всё остальное за Вас сделает модуль контроллера под управлением программы, зашитой в PIC.

     В плане настройки модуля могу ещё сказать, что сеть, которую будет давать при описанной настройке модуль, открытая: не имеет пароля и не шифрует данные. Не вижу смысла делать её с WEP или WPA: как в неё кто-нибудь войдёт?! Но всё же на всякий случай, для тех, кому понятно как работать с ESP8266 и хочется сеть защитить, скажу: есть в протоколе AT-команд модуля команды, позволяющие изменить, например, идентификатор сети, даваемой модулем; установить режимы WEP или WPA. Дерзайте! Приложение, устанавливаемое на андроид-устройство (клиент), всё правильно обслужит.

     В отношении запитки модуля хотелось бы добавить, что при сборке конструкции рекомендую прямо на разъём для подключения модуля (имеется ввиду разъём, непосредственно в который будет включен модуль), в цепь питания, смонтировать электролитический конденсатор ёмкостью не менее 470мкф X 6,3в.

     Продолжим далее о конструкции.

     Блок питания: используйте любую схему, дающую +5в и +9в стабильные, хорошо отфильтрованные питания. Ток нагрузки не превышает 0,7а.

                                                                                                                                                             Прошивка контроллера.

     При прошивке должны быть прошиты: и память программ, и память данных, и регистр слова конфигурации. Единый файл прилагается (см. ниже).

     На всякий случай - слово конфигурации ADDRESS 2007h:

Бит

 13

12

    11

   10

     9

   8

   7

     6

5

4

       3

       2

     1

     0

Назв.

 CP

  -

DEBUG

 WRT1

 WRT0

 CPD

 LVP

BOREN

-

-

-PWRTEN

  WDTEN

  Fosc1

 Fosc0

Знач.

  1

  -

     1

    1

     1

   1

   0

     0

-

-

       0

       0

     1

     0

                                                                                                                                                       Первое включение.

     Если при включении собранного устройства через 2-3 сек. увидите на индикаторе сообщение “SERVER_OK” – значит, всё хорошо.

                                                                                                         Краткий мануал управления устройством посредством собственной клавиатуры.

     Собственный интерфейс управления устройством незатейливый и интуитивно-понятный.

     Кнопка «выбор параметра» (S1 см. рис.1.) переключает последовательно основные параметры звука. Если остановиться на конкретном параметре, например на “TREBLE”, и нажать кнопки «прибавить» (S3) или «убавить» (S4), то будет изменяться уровень основного параметра – тембра ВЧ. Это будет отражено на индикаторе. На индикатор почти во всех режимах выводится информация в комплексном виде. То есть, например, при регулировке уровня тембра ВЧ Вы также будете видеть параметр выбранной частотной оси для полосы регулировки ВЧ.

     Кнопка же «субменю параметра» (S2) как раз и служит, чтобы переключать другие подпараметры выбранного основного параметра. Например, в нашем случае с тембром ВЧ, если ВЫ нажмёте эту кнопку, то увидите на дисплее надпись: “TREBLE CEN.FREQ.”. Теперь кнопками «прибавить»/«убавить» Вы сможете переключать уже этот параметр и наблюдать его изменение на дисплее. Далее Вы можете нажать кнопку «субменю параметра», и попадёте тогда снова в меню регулировки собственно тембра ВЧ (только два управляемых параметра для ВЧ заложены в микросхему TDA7419). А можете нажать «выбор параметра», и окажетесь тогда в меню регулировки тембра СЧ.

     Обе кнопки: «выбор параметра» и «субменю параметра» переключают свои меню последовательно «по кругу».

     С кнопкой приглушения, думаю, всё понятно.

 

                                                                                                      Использование устройства на платформе андроид для управления аудиопроцессором.

 

     Для того, чтобы эффективно наблюдать текущее состояние устройства целиком и оперативно им управлять, необходимо воспользоваться планшетом с размером экрана от 5,7”. Если такового нет, а есть, например, смартфон или маленький планшет – не беда: мною написаны два варианта приложения для разноразмерных андроид-устройств (скачайте по ссылке внизу статьи).

     MyEqualizer – пакет для достаточно больших устройств.

     MiniEqualizer – пакет для маленьких устройств.

     Оба пакета имеют одинаковый функционал, но разную графическую компоновку виджетов в окне активности. Приложения писались в режиме совместимости с платформами андроид  версий от v2.2 (API8) до v5.0 (API21), что охватывает в основном все бюджетные устройства. Думаю, будут работать и на других версиях. ВАЖНО, чтобы на устройстве была установлена СВЕЖАЯ ВЕРСИЯ JAVA!  Имейте также ввиду, что приложения писались под стандартную дефолтную тему андроид. Как они будут выглядеть, если у Вас установлена кастомная тема, я не знаю. Смотрите и рулите сами. Приложения тестировались и отрабатывались на бюджетных решениях: PRESTIGIO MULTIPAD PMP5580C_DUO планшете и SAMSUNG GALAXY S DUO GT-S7562 смартфоне. Тест показал отличные результаты: всё функционирует как и было задумано.

     Русско-язычный интерфейс приложений интуитивно-понятен, поэтому не буду здесь его подробно описывать. Кто желает, может попросту скачать приложения (по ссылке внизу статьи), установить, запустить в демо-режиме (есть там такой режим) и всё там посмотреть и «потрогать».

     Скажу лишь пару слов о первом запуске приложения. Первым делом, как только Вы запустите установленное приложение, Вам будет предложено создать профиль целевой сети. Для этого сначала включите головное устройство – сам аудиопроцессор, а затем нажмите соответствующую кнопку приложения. Вас перебросит на страницу управления настройками сетей WiFi. Включите WiFi (если выключен), дождитесь отображения всех доступных точек доступа, выберите: подключиться к целевой (будет иметь идентификатор Вашего модуля ESP8266), установите параметры (пароль н.п.  А в моём случае нет в нём необходимости: сеть открытая. Кому и зачем в неё влезать?!) и в завершении нажмите хардварную кнопку «возврат» на андроид. Приложение запомнит созданный Вами профиль и, если Вы профиль этой сети не удалите в дальнейшем, будет входить автоматически при запуске в эту сеть, даже если устройство было подключено Вами в другую сеть (оно переподключится). Но помните! Точку доступа даёт головное устройство – сам аудиопроцессор, и поэтому НЕ забудьте его ВКЛЮЧИТЬ СНАЧАЛА и дождаться появления сети.

     После подключения в целевую сеть андроид-устройство установит состояние своего интерфейса в соответствие с состоянием настроек аудиопроцессора (на любом этапе его работы). Конечно, из-за помех могут случаться и осечки – не беда: перезапустите приложение. Помните, чтобы аудиопроцессор работал Вам не нужно постоянно держать планшет/смартфон включенным и приложение запущенным. Настроите на свой вкус и закрывайте приложение. Нужно будет изменить какую-либо настройку – снова запустите приложение и настраивайте. ПРИЛОЖЕНИЕ ПРИ КАЖДОМ ЗАПУСКЕ ОПРАШИВАЕТ СОСТОЯНИЕ АУДИОПРОЦЕССОРА и ДОСТОВЕРНО УСТАНАВЛИВАЕТ СВОЙ ИНТЕРФЕЙС В СООТВЕТСТВИЕ С ТЕКУЩИМ СОСТОЯНИЕМ РЕГУЛИРОВОК АУДИОПРОЦЕССОРА.

     Индикатор на головном устройстве комментирует все процессы работы с управляющим андроид-устройством.

     Если Вы нажмёте какую-либо кнопку на аудиопроцессоре, запущенное на планшете/смартфоне приложение сразу закроется. Нет смысла в одновременном дублировании управления.

     Хочу обратить Ваше внимание ещё на один момент. При включении питания, головное устройство инициирует регистры TDA7419 в определённое мной дефолтное состояние. Т.е. устройство сразу даёт настроенный звук. Если по каким-то причинам Вам не подходит созданный мной профиль инициальных умолчаний, то Вы можете с андроид-устройства изменить их. Настройте звук и режимы на свой вкус, войдите в меню дополнительных опций “***” и выберите «сохранить настройки как стартовые умолчания». После этого, при следующем включении аудиопроцессор проинициирует именно эти, Ваши, настройки. Можно и назад всё вернуть – есть такая опция.

                                                                                                                                           О программном обеспечении.

     Прошивку контроллера (о ней писалось выше) и приложения для андроид-устройств (пакеты .apk) Вы можете скачать по ссылкам, приведенным ниже. Для заинтересованных людей выкладываю здесь же проекты (исходный код) как ПО контроллера, так и своих приложений. А вдруг понадобится кому чем-то по WiFi управлять, а тут и готовое решение. Код очень подробно закомментирован и поэтому здесь ничего описывать не буду.

     Код для процессора написан с помощью компилятора MikroC for PIC v.4.60.0.0.

     Проекты приложений созданы в среде: Eclipse IDE for Java Developers, ver. Luna Service Release 1a (4.4.1)    +    jre1.8.0_25-b18   +   Android Studio 1.0.1 build 135.1641136.

     Можете использовать любые куски кода в своих проектах. Если заметите недоработки, сможете усовершенствовать, пишите мне: [email protected] . Буду очень рад конструктивным предложениям!

     В заключении этой статьи хочу выразить глубочайшую благодарность и уважение Нашему РАДИОКОТУ, а также всем другим ресурсам, публикующим замечательные материалы, доступные для увлечённых людей.

                                                                                                                                                                                                                                                   

                                                                                                                                                                                                  Трифонов О.Г., г. Данилов, Ярославской обл.

Файлы и ПО, необходимые для создания конструкции:

Файлы:
прошивка и доки ESP8266-01
приложение (apk) для смартфонов и маленьких планшетов
приложение (apk) для планшетов более 5.6"
софт и доки по интерфейсу USB-to-UART ч.1
софт и доки по интерфейсу USB-to-UART ч.2
различная документация
схема и конструкция платы аудиопроцессора
схема и конструкция платы контроллера
проект MikroC для PIC16F876A
прошивка контроллера PIC16F876A
Java Eclipse проект приложения для смартфонов и маленьких планшетов
Java Eclipse проект приложения для планшетов более 5.6"

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

www.radiokot.ru

управляем по домашней WIFI сети с ANDROID и PC

РадиоКот >Схемы >Аудио >Разное >

Аудиопроцессор на TDA7419: управляем по домашней WIFI сети с ANDROID и PC

   Эта статья является логическим продолжением моей предыдущей публикации под названием: “Аудиопроцессор на TDA7419 с управлением по WiFi с андроид-устройства.”: https://radiokot.ru/circuit/audio/other/46/ . Продолжить работу над проектом меня побудили практический опыт эксплуатации устройства а также отклики и пожелания читателей. Какие проблемы эксплуатации были обнаружены и как были решены. – Об этом пойдёт здесь речь…

Прежде всего, необходимо отметить, что использование НЕПОСРЕДСТВЕННОГО управления с андроид-устройства в некоторых случаях является неудобным.

Например, Вы работаете в интернете, соединившись через роутер по WiFi. Возникла необходимость управления звуковыми параметрами аудиопроцессора. Вы запускаете приложение, подчеркну для НЕПОСРЕДСТВЕННОЙ СВЯЗИ с устройством, и, как факт, теряете связь с роутером и, соответственно, с итнернетом. После такого сеанса регулировки аудиопроцессора необходимо снова переподключаться к сети для работы в интернете. Это очень неудобно.

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

 

 

   Т.е., идея такова: само управляемое устройство своим модулем ESP8266 подключается к домашней сети, раздаваемой Вашим роутером, в качестве клиента (режим станции для модуля ESP8266) с сервером на борту, и статическим IP. Управляющее устройство также должно быть подключено к этому роутеру. Работая, например, в интернете, Вам понадобилось изменить параметры звука. Запускаете приложение для управления аудиопроцессором через Вашу локальную сеть и регулируете звуковые параметры, не теряя связи с интернетом и другими устройствами в Вашей сети. Такой способ в описанном случае будет удобнее!
Кроме того, такой способ управления предпочтителен там, где очень сильно перегружена связь. Много рабочих точек доступа, например, и т.п. Сигнал, даваемый роутером, и его чувствительность к входящим каналам связи всё же выше, чем у планшета или телефона. И устанавливается более устойчивое и надёжное соединение. Это подтвердилось в ходе эксплуатационного тестирования. Ну… И кроме того – реализация самой идеи! Кому-то, быть может, это пригодится для управления чем-нибудь… Исходный код здесь приводится. См. материалы, приложенные в конце статьи. Вы можете свободно его использовать в своих целях. Для чего его и публикую…

 

Теперь о практической реализации идеи.

 

  Как можно видеть из предыдущей публикации – там реализован принцип непосредственной связи по WiFi между управляемым и управляющим устройствами. Т.е. модуль ESP8266 в процессе стартовой настройки конфигурируется как ТОЧКА ДОСТУПА с сервером на борту. Но… Для работы в домашней локальной сети такой режим модуля ESP8266 не подходит. Его необходимо сконфигурировать как СТАНЦИЮ с сервером на борту, получающую при вхождении в домашнюю локальную сеть определённый IP адрес. Т.е. функционал контроллера управляемого устройства (аудиопроцесора в моём случае) пришлось расширить. Для этого пришлось взять другой контроллер, так как PIC16F876A оказался слабоват… Мало ОЗУ. Для реализации модернизированного функционала мной был выбран PIC16F1938. Куплен был здесь. При применении данного контроллера НЕТ НЕОБХОДИМОСТИ ВНОСИТЬ КАКИЕ-ЛИБО ИЗМЕНЕНИЯ В КОНСТРУКЦИЮ. Достаточно лишь просто установить PIC16F1938, прошитый приведенной здесь прошивкой на место прежнего.

 

 Теперь несколько слов о приложениях для гаджетов, способных управлять устройством.

 

   1. Модернизированы и улучшены приложения для андроид-устройств: MiniEqualizer (для устройств с маленьким экраном. Менее 5.2”) и MyEqualizer (для устройств с достаточно большим экраном).
В эти приложения добавлены меню задания для управляемого устройства (аудиопроцессора) имени SSID Вашей домашней сети и пароля для вхождения в неё. Добавлен также функционал смены IP адреса, используемого устройством для подключения к домашней сети. Последний по умолчанию уже задан в контроллере устройства как 192.168.1.120. Но, если он по каким-то причинам не удовлетворяет Вашим требованиям (н.п. роутер не предоставляет для подключения таких адресов), то может быть изменён. О том как – читайте ниже.
   2. Для управления устройством через домашнюю локальную сеть созданы два новых приложения для андроид-устройств: LanEqMini (для устройств с маленьким экраном. Менее 5.2”) и LanEqual (для устройств с достаточно большим экраном).
Я считаю, что лучше пользоваться отдельными самостоятельными приложениями, а не одним универсальным и переключаемым. В их функционал введена возможность смены исходящего IP для подключения к управляемому устройству. Это меню появится на экране гаджета автоматически при обнаружении проблем подключения к управляемому устройству.
   3. Для управления устройством через домашнюю локальную сеть создано приложение для настольного компьютера или ноутбука, подключенных к домашней локальной сети – winequalds. Оно имеет интуитивно понятный функционал, аналогичный таковому для андроид-устройств, с особенностями, описанными в п2.
Исходный код всех приложений и прошивки контроллера также привожу здесь. Можете использовать его по своему усмотрению. Он понятно закомментирован и хорошо структурирован.

 

Чем и как пользоваться.

 

   Как пользоваться устройством в режиме непосредственной связи, доходчиво изложено мной в предыдущей публикации. Поэтому остановлюсь на новых возможностях.
Для запуска работы устройства посредством домашней локальной сети, Вам необходимо прежде всего задать для управляемого устройства (аудиопроцесора) параметры для подключения к Вашей домашней сети: имя SSID сети, пароль для вхождения в неё и, возможно, желаемый IP устройства, используемый при подключении к сети. Последний должен соответствовать диапазону IP адресов, раздаваемых DHCP-сервером Вашего роутера. Например, если другие устройства получают адреса из диапазона 192.168.0.***, то и здесь нужно задать IP-адрес с таким же началом, но с уникальным окончанием, не пересекающимся с IP-адресами других устройств. Как правило, диапазон раздаваемых адресов можно увидеть, и при необходимости изменить в настройках DHCP-сервера Вашего роутера. Выбираемый IP адрес для устройства должен быть в пределах этого диапазона. Также он должен быть уникальным, чтобы не было конфликтов при подключении других устройств, запрашивающих статический IP адрес при подключении.
Необходимо, чтобы на Вашем телефоне или планшете были установлены оба варианта приложений: как для непосредственной связи, так и для связи посредством домашней локальной сети.
   1. Включите аудиопроцессор. Дождитесь появления на индикаторе сообщения “SERVER_OK”. Запустите на андроид-устройстве приложение для непосредственной связи с устройством. Нажмите кнопку вызова меню дополнительных параметров приложения. В нём выберите настройку параметров для LAN сети. Введите имя SSID Вашей домашней сети. Наблюдайте успешность операции по факту появления на дисплее аудопроцессора соответствующего сообщения, подтверждающего успех операции. Затем таким же образом введите пароль. С именем и паролем сильно не извращайтесь – допускаются строки длиной до 24 символов включительно. Без каких-либо “безумных” знаков, пожалуйста… IP пока не изменяйте…
   2. Закройте приложение на гаджете. Нажимайте кнопку ручного ВЫБОРА ПАРАМЕТРА на аудиопроцессоре до появления меню: “LAN_MODE -N +Y”. Для инициации режима работы посредством домашней сети нажмите кнопку прибавления параметра. Ожидайте некоторое время (примерно не более 2мин). Если на дисплее появится сообщение: “LAN_OK”, то это означает, что WiFi модуль аудиопроцессора подключился к локальной сети Вашего роутера и имеет в этой сети IP для входящих подключений: 192.168.1.120. Т.е. всё в порядке и можно продолжать.
Если же вместо последнего сообщения Вы увидите сообщение о недоступности сети: “LAN NO AVAILABLE”, то это может означать, что Ваш роутер не может предоставить для устройства выше указанный IP. Не все роутеры предоставляют… Аудиопроцессор, тем временем, автоматически вернётся в режим непосредственного управления и на индикаторе снова отобразится: “SERVER_OK”.
Разберитесь с Вашим роутером в плане предоставляемых IP для подключения и задайте свой. Для этого повторите действия п1, но уже не вводите повторно имя и пароль (они уже сохранены), а введите Ваш желаемый IP и дождитесь сообщения об успешности на дисплее аудиопроцессора. Запомните или запишите Ваш IP. Его необходимо будет прописать в соответствующем приложении для гаджета. А далее повторите действия этого пункта, изложенные вначале.
КОНТРОЛЛЕР АУДИОПРОЦЕССОРА ЗАПОМИНАЕТ И ХРАНИТ ВВЕДЁННЫЕ ВАМИ ИМЯ, ПАРОЛЬ И IP ДО СЛЕДУЮЩЕГО ПЕРЕНАЗНАЧЕНИЯ ДАЖЕ ПРИ ВЫКЛЮЧЕНИИ ПИТАНИЯ!
   3. Запустите на гаджете, подключенном к Вашей домашней сети, приложение для связи посредством домашней сети LAN. Приложение попросит Вас установить параметры сети. Подтвердите. Вас перебросит на страницу настроек параметров сети WIFI гаджета. И там должна быть активирована Ваша домашняя сеть. Нажмите кнопку возврата из этого меню. Приложение автоматически запомнит параметры для вхождения в целевую сеть. Если Вы не вынуждены были менять IP, то произойдёт инициализация интерфейса приложения в соответствии с настройками, установленными на аудиопроцессоре.
Если Вы вынуждены были менять дефолтный IP адрес для входящих подключений на аудиопроцессоре, то увидите дополнительное меню с сообщением о невозможности подключения по дефолтному IP приложения. Если меню не появилось, но также и приложение не подключилось, закройте приложение и перезапустите его вновь (могут быть такие “осечки”). В этом меню есть ввод IP. Введите Ваш IP. Устройство запомнит его и переподключится (перезапустится). В дальнейшем оно будет подключаться по этому IP. Наблюдайте инициализацию интерфейса приложения в соответствии с настройками, установленными на аудиопроцессоре. Обратите внимание: есть возможность возврата дефолтного IP, если что…


   Всё то же самое для компьютерного приложения. Там всё интуитивно понятно … Создайте на системном диске Вашего компьютера папку для файла приложения. Папку желательно создать потому, что в ней, в случае создания Вами профилей звуковых настроек, появится XML-файл этих профилей. Скопируйте в неё файл winequalds.exe. Создайте ярлык на рабочем столе или панели задач. Это вся установка. Настройте Ваш аудиопроцессор как было описано выше. Запустите Вашу домашнюю локальную сеть (включите роутер, подключитесь к нему компьютером). Включите аудиопроцессор в режиме LAN. Дождитесь сообщения о его готовности “LAN_OK” на дисплее. Запустите приложение на компьютере и в нём нажмите кнопку: “ПОДКЛЮЧИТЬСЯ”. В случае удачного подключения, кнопка подключения исчезнет с формы, цвет фона формы станет бирюзовым, регуляторы и кнопки на форме займут положения согласно текущим настройкам аудиопроцессора. Слева внизу будет выдано сообщение об удачном подключении и инициализации интерфейса приложения.


   Если приложение не подключилось, о чём будут свидетельствовать его зависание на некоторое время, а затем появление соответствующего сообщения слева внизу, ищите проблемы с сетью. В том числе и описанную здесь информацию с предоставлением IP адресов Вашим роутером.
   Если приложение не запускается или при запуске выдаёт ошибку, обновите/установите Microsoft NET framework 4.5; 4.5.1; 4.5.2; 4.6; 4.6.1, а также Microsoft Visual C++ redistributable 2005 – 2015гг. Это пригодится для правильной работы многих других программ.

 

   Вернуть режим непосредственной связи на аудиопроцессоре можно, нажимая кнопку ручного ВЫБОРА ПАРАМЕТРА на аудиопроцессоре до появления меню: “DIRECT_MODE -N +Y”. Нажмите прибавление параметра и наблюдайте появление на дисплее через какое-то время сообщения: “SERVER_OK”. Вы снова в непосредственном режиме управления.

 

   Аудиопроцессор при включении инициирует последний, удачно настроенный, режим работы в сети. Если последним удачным сохранённым был сеанс связи посредством домашней локальной сети, а Вы включили аудиопроцессор, тогда как роутер выключен, то он перейдёт в режим непосредственного управления. Но это текущее состояние НЕ будет сохранено как стартовое при следующем включении. Т.е. при выключении аудиопроцессора и повторном его включении в этом случае будет происходить попытка связи через домашнюю сеть.

 

   ПРИЛОЖЕНИЯ ПОМНЯТ ПАРАМЕТРЫ ДЛЯ ПОДКЛЮЧЕНИЯ к устройству, и поэтому, если Вы ничего не изменяли, они будут самостоятельно подключаться к серверу устройства!

 

   В заключении необходимо отметить, что выложенные здесь версии приложений несовместимы с прежней конструкцией на PIC16F876A с приведенной в предыдущей публикации его прошивкой! Не стоит даже и пробовать! Это может привести к повреждению прежней прошивки PIC16F876A!

 

   Приложения для ANDROID были созданы в среде JAVA ECLIPSE LUNA.

   Приложение для компьютеров было создано в среде Microsoft Visual Studio 2015 Enterprise.

 

 Трифонов О.Г., ред. Фёдоров А.С. г. Данилов, Ярославской обл.

   

Файлы:
Приложение для маленьких ANDROID для работы в локальной сети
Приложение для больших ANDROID для работы в локальной сети
Приложение для маленьких ANDROID для непосредственной связи
Приложение для больших ANDROID для непосредственной связи
приложение для PC
проект для контроллера
различная проектная документация
прошивка PIC16F1938
Visual Studio проект приложения для PC
JAVA исходник LanEqMini
JAVA исходник LanEqual
JAVA исходник MiniEqualizer
JAVA исходник MyEqualizer

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

www.radiokot.ru

Простейший предусилитель с цифровым управлением на TDA7449.

РадиоКот >Схемы >Аудио >Усилители >

Простейший предусилитель с цифровым управлением на TDA7449.

В последнее время существует устойчивый интерес к конструкциям предусилителей на специализированных микросхемах (аудио-процессорах). Эти микросхемы обычно позволяют осуществлять коммутацию нескольких аудио-источников, регулировку громкости, часто - регулировки предусиления и тембра. Очевидное преимущество таких конструкций - простота, что, впрочем, как правило компенсируется не сильно высокими звуковыми параметрами. Однако проектирование подобных устройст представляет определенный интерес хотя бы с точки зрения освоения микроконтроллеров, поскольку аудио-процессоры в подавляющем большинстве случаев требуют для доступа к функциям регулировки и коммутации связи с управляющим МК, который, кроме этого, позволит организовать удобное управление устройством и наглядную индикацию режимов его работы.
Вариант схемы подобного предусилителя представлен на рисунке:

Как видно, управляющие функции возложены на микроконтроллер Atmel ATMega8515, для отображения текущей информации служит двухстрочный LCD-модуль на 16 знакомест в каждой строке, в качестве органов управления применяется матричная клавиатура на 12 кнопок (реально используются 7) и модуль ИК-приемника TSOP1736 (реализована поддержка протокола RC-5, см. статью Некоторые протоколы ИК-пультов, часть вторая). Функции работы со звуковым сигналом возложены на микросхему TDA7449, установленную на отдельную плату и оформленную в виде модуля, схема которого представлена на рисунке:

Питание предусилителя осуществляется от источника постоянного напряжения 5В или от сети 220В переменного тока. В последнем случае для получения постоянного напряжения 5В используется модуль AC/DC-преобразователя, который представляет собой плату от малогабаритного импульсного адаптера питания (уже не помню, как он у меня оказался 🙂 ). Развязка этих источников осуществляется с помощью диода Шоттки VD1. При питании от внешнего стабилизированного источника напряжение питания попадает на выход AC/DC-модуля, что, впрочем, совсем не страшно, т.к. там имеется выпрямительный диод, не позволяющий этому напряжению попадать на обмотку трансформатора, так что все в порядке. Так или иначе полученное постоянное напряжение дополнительно фильтруется и поступает на цифровую часть схемы: микроконтроллер, LCD-экран и ИК-приемник. Для питания аналоговой части микросхемы TDA7449 требуется стабилизированное напряжение 9В, источником которого является DC/DC-преобразователь 5В->9В под названием DC-101, который ранее работал в компьютерной сетевой карточке. Преобразователь этот по размерам корпуса соответствует микросхеме в DIP-24 (правда, из 24 используется всего 8 ног) и обеспечивает по выходу ток до 200мА и гальваническую развязку со входом при разнице напряжений до 500В, что, впрочем, здесь не используется. Вообще, эти преобразователи встречаются на более-менее древних сетевушках, имеющих разъем для подключения коаксиального кабеля, и могут называться совершенно по-разному, сохраняя при этом полную совместимость по выводам (у меня лично штук 5 разновидностей имеется, разводка под них абсолютно одинаковая). Полученное напряжение 9В дополнительно фильтруется и поступает на модуль микросхемы TDA7449, где используется для питания ее аналоговых цепей. Общее потребление устройсва не превышает 200мА по линии 5В при включенной подсветке дисплея и активном реле.
На транзисторе VT1 реализован узел звуковой индикации на зуммере BF1. Используется зуммер без встроенного генератора (генерацию сигнала осуществляет микроконтроллер), самый обычный, 12мм в диаметре, от какого-то китайского будильника.
Для управления служит матричная клавиатура 4х3, т.е. 4 столбца на 3 строки, используется из нее только 7 кнопок, как уже упоминалось выше (в прошивке реализован опрос всех 12-ти кнопок, однако остальные просто не требуются по функционалу). Выводы столбцов и строк напрямую подключены к выводам микроконтроллера, сканирование осуществляется по столбцам (в принципе, можно поставить последовательные резисторы в линии сканирования, но это не обязательно), выводы МК, к которым подключены линии строк должны быть сконфигурированы как "входы с подтяжкой".
Для приема сигнала от ИК-пульта используется интегральный фотоприемник TSOP1736, схема включения стандартная (еще раз обращу внимание на внешний подтягивающий резистор R9: без него возможна нестабильная работа приемника даже при условии правильной конфигурации вывода микроконтроллера: "вход с подтяжкой").
Микросхема TDA7449 имеет всего два коммутируемых аудио-входа. Этого мне показалось недостаточно, поэтому на реле К1 с двумя группами переключающих контактов К1.1 и К1.2 реализован дополнительный аудио-вход. Для управления реле служит транзистор VT3.
Для отображения текущей информации служит LCD-модуль на HD44780 совместимом контроллере. Модуль подключен к МК по 4-х битной шине; его подсветкой управляет транзистор VT2; для регулировки контрастности дисплея необходимо подать небольшое положительное напряжение на вывод 3 дисплея, для чего служит узел параметрического стабилизатора на стабилитроне VD2 и подстроечный резистор R13.
Все аудио-входы модуля TDA7449 подтянуты к земле 100кОм резисторами, в линиях выходов последовательно стоят неполярные (пленочные) конденсаторы по 2.2мкФ (т.к. питание однополярное, на выходах присутствует постоянное напряжение, равное половине напряжения питания, конденсаторы служат для отсечки этой постоянной составляющей).
Теперь несколько слов о самом модуле TDA7449.
Во входных цепях также стоят пленочные конденсаторы по 0,82мкФ (входное сопротивление микросхемы - 100кОм, желающие могут самостоятельно рассчитать постоянную времени для этой цепи и преобразовать ее в частоту 🙂 ). Цепи на выводах 12..17 микросхемы отвечают за регулировку тембра, изменяя номиналы соответствующих элементов или схемотехнику этих цепей можно варьировать параметры темброблока (см. даташит на микросхему). В остальном - несколько фильтрующих конденсаторов в цепях питания, два подтягивающих резистора для шины I2C. Микросхема имеет отдельный вывод для подключения аналоговой земли, однако в данном случае земли не разделялись.

Микроконтроллер тактируется от внутреннего генератора 8МГц (фьюзы CKSEL3..0 для этого надо выставить как 0100, остальное по умолчанию). На плате предусмотрено место для кварца на 11,0592МГц, такая частота выбрана для совместимости со стандартным рядом скоростей СОМ-порта ПК (если вдруг в будущем захочется подключить это устройство к компу). В этом случае все CKSEL ставим в 1, а CKOPT - в 0. По желанию в обоих случаях можно включить BODEN (отвечает за включение внутреннего Brown-out Detector"a, что не является обязательным).
В основном режиме на экране LCD-модуля в первой строке отображается номер текущего входа, во второй - значение громкости:

В этом режиме кнопки "вверх"-"вниз" регулируют громкость, "вперед"-"назад" служат для выбора входа.
В зависимости от уровня громкости или при нажатии кнопки "Mute" (кнопка в правом нижнем углу) вид экрана может меняться:

При входе в меню по нажатию соответстующей кнопки на устройстве (центральная кнопка) или ИК-пульте на экране также отображается номер текущего входа, а также регулируемый параметр и его текущее значение:

Здесь кнопки "вверх"-"вниз" изменяют текущее значение параметра, "вперед"-"назад" служат для выбора этого параметра.
Для регулирования индивидуально для каждого входа доступны предусиление ("Gain"), уровни НЧ и ВЧ ("Bass" и "Treble"), а также баланс в виде раздельного регулирования уровней правого и левого каналов ("Right" и "Left").
Кроме того, в соответствующих разделах меню можно включить подсветку дисплея и активировать звуковой сигнал, который будет звучать при включении/выключении устройства, переключении входов и т.п.
При выключении устройства очищается экран, отключается его подсветка, микросхема аудио-процессора вводится в режим "mute". Поскольку все настройки (индивидуальные для каждого входа, кроме подсветки и звукового сигнала) сохраняются в энергонезависимой памяти, то при обратном включении или при переключении входа все настройки восстанавливаются и загружаются в микросхему аудио-процессора.
В качестве ИК-пульта применяется таковой от спутникового ресивера. Пульт работает по протоколу RC-5, для реализации обработки этого сигнала используется библиотека из статьи Некоторые протоколы ИК-пультов, часть вторая

Предполагается, что от того же пульта будет управляться усилитель мощности и источник звука, причем многие кнопки пульта будут функционально пересекаться, поэтому цветными кнопками пульта выбирается устройство, которое в данный момент должно отвечать на команды. Это справедливо для всех команд, кроме включения: оно происходит синхронно, а вот выключение - уже индивидуально, при выборе соответсвующего устройства. В прошивке коды клавиш отпеределены с помощью директивы #define, поэтому в случае необходимости можно легко использовать другой пульт.
Конструктивно все это безобразие, как вы уже, наверное, заметили, оформлено в корпусе от компюьтерного CD-ROM"а:

В составе устройства три платы: основная, почти во всю площадь корпуса, небольшая плата кнопок на лицевой панели и собственно модуль TDA7449. В качестве лицевой панели используется заглушка от компьютерного корпуса, на ней кроме кнопок установлены LCD-модуль и ИК-приемник, все это с основной платой соединяется с помощью BLS-разъемов.

На задней части платы, у ее края установлены разъмы питания 5В и 220В, 3 гнезда под mini-jack 3,5мм в качестве входов и еще пара таких же в качестве выходов (один из них т.н. мониторный выход: на нем появляется сигнал с выхода коммутатора микросхемы, еще не обработанный темброблоком и узлом регулятора громкости, т.е. по сути это линейный выход). Кроме того, там же размещен разъем для программирования МК и выведены некоторые линии МК (Rx/Tx, внешнее прерывание и т.д.). Замечу также, что основная плата допускает установку аудио-модулей на других микросхемах с несколько отличающимся функционалом, поэтому на ней присутствует некоторая избыточность, например, в части подключения модуля к МК.

Эксперименты с устройством чудес не выявили, оно вполне пригодно для проигрывания МР3 и т.п. музыкальных форматов, не сильно требовательных к качеству звукового тракта. Естественно, классическую музыку с SA-CD или DVD-Audio носителей воспроизводить через него не стоит, но в качестве приставки к компу вполне пойдет...

Файлы:
Платы в формате SL5
Прошивка
Схемы в sPlan 6.0

Проверено Котом!

Вопросы, как обычно, складываем тут.


Как вам эта статья?

Заработало ли это устройство у вас?

www.radiokot.ru

Аудиопроцессор на TDA8425 c микроконтроллерным управлением на PIC16F876A

РадиоКот >Схемы >Аудио >Разное >

Аудиопроцессор на TDA8425 c микроконтроллерным управлением на PIC16F876A

Доброго вам времени суток! Несмотря на то, что на этом сайте есть несколько схем темброблоков, я решил создать собственный проект дабы удовлетворить наши общие потребности.

Целью данного проекта было:
- Поддержка LCD индикатора 16x2 на контроллере HD44780
- Управление с помощью матрицы кнопок 3х3
- Управление пультом дистанционного управления, который работает по протоколу RC-5 от Philips
- Отдельный линейный вход и вход на приёмник, MP3 плеер или прочее
- Управление питанием внешних устройств
- Мультиязычность
- Управление энодером PEC16, PEC12 или аналогичными по цоколёвке
- Два модуля на одной плате
- Таймер обратного отсчёта для перехода в режим Stand-By
- Автосохранение настроек при отключении питания

Огромная просьба. Прочитать эту статью до конца, чтобы не было глупых вопросов на форуме.

В итоге мы получили темброблок собранный на аудиопроцессоре фирмы Philips TDA8425 и микроконтроллере фирмы Microchip Technology PIC16F876A
Эти микросхемы выглядят вот так

Несмотря на то, что микросхема TDA8425 была разработана в октябре 1988 года, она пользуется огромной популярностью среди радиолюбителей по всему миру уже более десяти лет.
Она представляет собой полноценный аудиопроцессор, который управляется по цифровой шине I2C (Ай-Ту-Си, SDA - данные, SCL - синхронизация), имеет два стерео входа, которые переключаются между собой с помощью внешнего контроллера. Диапазон регулировки тембра ВЧ от -12 до +12 ДБ, тембра НЧ от -12 до +15 ДБ (шаг 3 ДБ), громкости от -64 до +6, шаг 2Дб.
Микросхема TDA8425 может работать в четырех режимах: стерео, псевдо стерео, расширенный или пространственный, и моно. В "стерео" режиме темброблок работает как все "нормальные" стерео микросхемы. В "псевдо" режиме на левом канале включается небольшая задержка, которая заметно украшает звук. В режиме "расширенное стерео" 50% сигнала из одного канала подмешивается с другим, что даёт незначительное расширение стереобазы и слегка украшает звук. Две выше описанные функции очень полезны даже в монофоническом воспроизведении. В режиме "моно" сигнал из обоих каналов смешивается внутренними резисторами.

Давайте взглянем на схему обвязки аудиопроцессора

Схема типовая, взята из даташита. Единственное, что было заменено, это входные и выходные конденсаторы.

Посмотрим на принципиальную схему обвязки микроконтроллера

Как видно по схеме, на матрице есть 3 кнопки, которые обозначены как Res*. Это зарезервированные кнопки, функции которых вы можете изменить.
Многих новичков может удивить деталь, которая обозначена как Z1 - 8МГц. Это, друзья мои, кварцевый резонатор на восемь мегагерц, задающий частоту тактового генератора микроконтроллера.
Не исключено, что деталь, которая обозначается как PEC12/PEC16, также может смутить новичков. Это механический энкодер.
Он выглядит вот так

Ниже рисунок печатной платы

Не знаю почему, но вопреки типовой схеме я поставил параллельно выходу аудиопроцессора резисторы по 10 килоом.
Так-же вас может смутить то, что в этой схеме применены SMD резисторы, которые, как может показаться, трудны в пайке.

Фотография сделана на листке из школьной тетради. Поверьте мне. Паять эти детали не так ушь и трудно. На канале easyelectronics на YouTube есть не один видео урок, как это делать. Это была не реклама, а рекомендации новичкам.
Я без труда паяю SMD вот таким паяльником

Паяльник 25 ватт, 220 вольт

Печатную плату можно изготовить с помощью маркера или методом ЛУТ (Лазерно-утюжная технология)
Сначала распаиваем SMD компоненты таким образом: наносим флюс на дорожки, подносим пинцетом компонент, про их маркировку объясню ниже. Далее берём немного припоя на паяльник, и спаиваем компонент.
Маркировка SMD резисторов и керамических конденсаторов
Маркировка 474 соответствует 470000, т.е. 474=47*10^4
10 покофарад это маркировка 100. 10 нанофарат т.е. 10,000 пикофарад это маркировка 103 т.е. 10*10^3
С резисторами аналогично. 153 = 15000 ом или 15 килоом, Т.е. 15*10^3
После распайки SMD компонентов паяем перемычки, затем резисторы, конденсаторы, панельки для микросхем, клеммы для проводов, штыревые разъёмы (при желании) и после смывки всего флюса ацетоном, распаиваем кварцевый резонатор.
У меня получилось нечто вроде этого

Настройка и диагностика

Для программирования микроконтроллера PIC16F876A я использовал программатор ExtraCheap, схема которого ниже

Но так-же можно использовать PicKit2, USB-GTP и Extra-PIC, статьи которых есть на сайте RadioKOT. Программа WinPic800 3.55G
После программирования микроконтроллера вставляем его в панельку или припаиваем сразу к плате. Кому как удобнее.
Ставим подстроечный резистор R4 в среднее положение, подключаем все шлейфы, подаём стабилизированное питание +12 вольт. Сразу после подачи питания подсветка на индикаторе должна затухнуть, и чуть менее чем пол секунды вы сможете наблюдать вот такую картину

после чего индикатор очистится, и микроконтроллер будет ожидать команд пользователя. Он будет ждать команды включения. Включаем его пультом или кнопками и индикатор должен "засветиться."

Если индикатор сразу после включения питания загорится, но не затухнет и первая строчка ЖК индикатора не будет чистой (будет как-бы залитой), то могут быть следующие причины:
- Отсутствует питание на контроллере.
- Если первая строчка ЖК будет чистой (полупрозрачной), то возможна неисправность стабилизатора 78L05 или неправильная распайка шлейфа или проводов.
- Не "завёлся" тактовый генератор. Попробуйте быстро закоротить один из выводов кварца на выход стабилизатора 78L05. Мне помогало.

Если всё загрузилось, после нажатия кнопки Stand-By крутите резистор R4 до тех пор, пока текст на LCD индикаторе не перестанет "плавно изменяться" при переключении пунктов регулировки. Это особо заметно, если смотреть на индикатор сверху. После вы должны наблюдать такую картину

Если всё прошло гладко, подключите к входу аудиопроцессора плеер, линейный выход компьютера, или другой источник сигнала. К выходу подключите активные колонки, или усилитель. Включите музыку, в колонках должна быть слышна музыка.

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

А теперь поговорим о мультиязычности. Для смены языка потребуется или пульт ДУ, или редактирование прошивки. Но, как было сказано выше, вы можете попросить меня сделать так, что-бы перейти в меню изменения языка можно было и с помощью кнопок.
Что-бы перейти в меню смены языка интерфейса с помощью пульта необходимо нажать на кнопку списка каналов. Обычно голубого цвета.

Ну, и в доказательство, что это всё работает, дам вам видео

 


В нём описаны подробности дополнительных функций а так-же демонстрация работы.

Хочу сказать огромное спасибо Александру Ханжову, "котопсу" и "kelevra" за то, что предварительно протестировали мой проект и оценили его. Ниже скриншот двух сообщений с форума, отправленных за долго до публикации статьи.

Ниже фотография от пользователя "котопёс"
(ползунок отличается т.к. "котопёс" использовал одну из не полностью доработанных прошивок)

Ещё одна фотография от Александра Ханжова
(была использована нестандартная прошивка)

Данный проект и изменённый вами код можно оценить в проекте Протеуса. Для корректного отображения кириллицы необходимо заменить файл библиотеки LCDALPHA.DLL в папке MODELS. Необходимо отметить, что LCD 16x2 в Протеусе не совсем корректно работает. В реальной жизни немного по-другому.

Повторюсь. Если вы хотите изменить прошивку, то пишите на мой e-mail [email protected] и я с радостью помогу! Я использовал Hi-Tech C Compiler PRO 9.65.

Файлы:
Даташит на TDA8425
Прошивка + плата в формате Sprint Layout 5.0
Проект протеуса + LCDALPHA.DLL
Исходник + проект в MPLAB IDE

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

www.radiokot.ru

Усилитель звука на микросхеме TDA7454 — Меандр — занимательная электроника

Полевой транзистор в качестве защитного диода

Усилитель звука на микросхеме TDA7370, TDA7370B, TDA7374B

На базе микросхемы TDA7454 можно собрать 4-х канальный усилитель мощности звуковой частоты. Мощность на каждом канале 35 Вт. Диапазон питания микросхемы 8-18 В. Для получения максимальной мощности звукового сигнала необходим источник питания обеспечивающий усилитель током не менее 6 А. При монтаже микросхему TDA7454 необходимо установить на мощный теплоотводящий радиатор.

Принципиальная схема усилителя звука на микросхеме TDA7454 представлена на рисунке.Основные характеристики микросхемы УМЗЧ TDA7454 представлены в таблице.

Микросхема

Корпус

Uccmin

Uccmax

Poutmax

RI

Icc0

Ioutmax

Bw

Rin

Gv

TDA7454 FLEXIWATT25     8V    18V      4x35W 190mA      6A 20Hz-20KHz 15kΩ  26dB

Возможно, вам это будет интересно:

Постоянная ссылка на это сообщение: http://meandr.org/archives/33388

meandr.org

Три простых темброблока на TDA7313, TDA7318, TDA7439.

РадиоКот >Схемы >Аудио >Фильтры, эквалайзеры >

Три простых темброблока на TDA7313, TDA7318, TDA7439.

Представленные темброблоки обладают максимумом функционала при минимуме компонентов. Они легкие в сборке, простые по конструкции и надежные в работе. Управляются тремя кнопками, энкодером и пультом дистанционного управления.
Зададим вопрос - как часто вы подходите к телевизору, чтобы включить его или переключить канал? Наверняка это происходит очень редко и все настройки вы делаете пультом. Идея минимума кнопок в стационарном устройстве реализована в этих темброблоках.
Также очень часты пожелания использования в одной и той же конструкции разных аудиопроцессоров. Действительно, не у каждого есть возможность достать конкретный экземпляр микросхемы. И это не проблема - темброблок собирается из модулей как конструктор.

На фото выше показан блок управления и блоки аудиопроцессоров. Блок управления собран на микроконтроллере PIC16F628A , блоки аудиопроцессоров собраны на TDA7313 (или TDA7318) (на фото слева внизу) и на TDA7439 (справа внизу). Ниже фото блока управления.

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

Для компактности, часть компонентов припаяна со стороны печатных проводников. Компоненты для монтажа в отверстия легко припаиваются.

Режимы работы темброблоков определены их характеристиками.

Некоторые из этих режимов представлены на фото ниже.

В состоянии ожидания подсветка выключена.

TDA7313 (TDA7318) является более распространенной и, как следствие, более популярной. TDA7313 (TDA7318) раскладывает обычное стерео на два стерео-канала (т.е. четыре колонки). Для моего домашнего использования достаточно пары колонок. В связи с этим, вторым подопытным экземпляром стал TDA7439. Послушав оба аудиопроцессора субъективно сложилось мнение, что TDA7439 играет чище и насыщеннее, не смотря на, что встроенный предусилитель как бы должен ухудшать звук. Замечу, что с включенным, что с выключенным предусилителем, звук оставался качественным. Решено было сделать уровень предусиления фиксированным, что в итоге привело к увеличению чувствительности.
Каждый аудиопроцессор смонтирован на отдельной плате. См. фото (вид со стороны компонентов и вид со стороны пайки).

Для дистанционного управления используется пульт, работающий в формате RC5. В этом формате работают пульты от бытовых телевизоров Philips (и множество других). В продаже можно встретить вот такой пульт:

Почти все кнопки пульта задействованы для управления с целью быстрого и интуитивного доступа к функциям управления темброблоком. В том числе задействованы и цветные кнопки пульта. Управлять темброблоком с пульта очень удобно.
Схема блока управления.

Схемы включения аудиопроцессоров типовые из документации.

После подачи питания устройство находится в режиме ожидания. Перевод из режима ожидания в рабочий режим производится кнопкой, подключенной к выводу 11 микроконтроллера PIC16F628A (эта кнопка встроена в энкодер). Также можно включить/выключить кнопкой "Power" с пульта дистанционного управления. Затем производится плавное включение подсветки и автоматически загружаются предыдущие настройки (громкости, тембров и т.д.).
По умолчанию устройство находится в режиме настройки громкости. Для перехода в другой режим используются кнопки "next" и "prev" (следующий и предыдущий режимы). Энкодером производится та или иная настройка. Если пользователь не проявляет никакой активности по настройке в течении 10 сек, то темброблок автоматически сохраняет параметры и переходит в режим громкости.
Кнопка "mute" (приглушение) сделана отдельно, т.к. иногда требуется быстро отключить звук и лазить по меню для такого случая не всегда удобно. Состояние приглушения не блокирует другие настройки, т.е. в этом состоянии вы можете изменить все настройки и снова включить звук с новыми настройками.
Все настройки можно сделать с пульта ДУ. И пультом управлять гораздо удобнее, чем кнопками на устройстве. Основная задача кнопок - включить, приглушить, сделать громче или тише. А больше в повседневной жизни и не надо.
Текст, выводимый на индикатор, можно сделать любым другим. Он расположен в области EEPROM микроконтроллера. Каждая фраза заканчивается кодом 0x00 (признак конца слова). Более подробно о корректировке экранных фраз можно прочитать в статье "Темброблок с микроконтроллерным управлением на TDA8425" (url).
Сделанные изменения вы как всегда можете просимулировать в программе Протеус (правда он немного врёт в части отрисовки символов на индикаторе).

Файлы:
Проект Proteus.
Печатные платы в формате SL4.0.
Прошивки МК с исходниками.

Вопросы, как обычно, складываем тут.


Как вам эта статья?

Заработало ли это устройство у вас?

www.radiokot.ru

РадиоКот :: Селектор сигналов на TDA1029

РадиоКот >Схемы >Аудио >Разное >

Селектор сигналов на TDA1029

Сейчас мы займемся рассматриванием микросхемы TDA1029 производства небольшой европейской компании Philips. У этой небольшой европейской компании есть небольшое отделение по производству небольших полупроводниковых приборов. Я сам очень удивился - оказалось, что Philips выпускает еще что то кроме мобильников и прочей бытовой дребедени. Как говорят некоторые наши коллеги, представительство в Интернете имеется - www.semiconductors.philips.com.

Так, к делу.
Вышеозначенная микросхемка представляет собой селектор сигналов для различных усилителей. В 16-ногом корпусе поместились 4 стереовхода и 1 стереовыход.
Основные параметры следующие:

Напряжение питания6-23 В
Потребляемый ток3,5 мА
Коэфф. усиления1
Коэфф. гармоник0,01%
Отношение сигнал/шум120 дБ

В общем и целом очень даже неплохо, не правда ли? Так же в микросхему встроены следующие вкусности: бесшумное переключении входов, защита выхода от короткого замыкания.

Смотрим схему включения:

В принципе и комментировать то особо нечего. Слева от нас входы справа - выход. Так же справа переключатели выходов. Если не замкнут ни один из выключателей, то сигнал снимается с первого входа - самого верхнего по схеме. Если же замыкается один из переключателей, то селектор переключается в соответствующее состояние. Переключатели могут быть любого типа - через них не проходит звуковой сигнал, так что можно ставить все что придет в голову - тем и хорош электронный переключатель - у него нет контактов, которые со временем окисляются или протачиваются. Очень удобно во всех отношениях. Паяем и пользуемся.
А вот тут берем печатную плату. Вид со стороны деталей - под утюг.

Удачи.


Как вам эта статья?

Заработало ли это устройство у вас?

www.radiokot.ru

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

avatar
  Подписаться  
Уведомление о