Главная :: Цифра:: Универсальный контроллер для аудио устройств. Часть 1.2022-12-14
Вступление.
[g]Вам надоело вставать с мягкого кресла чтобы изменить громкость или переключить источник воспроизведения? Надоела груда проводов, которую надо постоянно переключать? Вам надоел унылый вид ручек, кнопок, переключателей - занимающих все свободное место на Вашем усилителе? Вы хотите современный дизайн с красивым LCD дисплеем? Хотите удобное управление с пульта ДУ? Тогда это устройство Вас обязательно заинтересует![/g]
Вот и настало время довести до практической реализации давно зародившейся идеи универсальной микропроцессорной системы управления для различных аудио (и не только) устройств. Различные варианты подобных устройств - но в гораздо менее функциональной реализации - уже появлялись на просторах интернета. Небольшие наброски также Вы могли встретить и на нашем сайте.
В данной реализации многофункционального устройства управления мы постарались предусмотреть все возможные варианты управления для аудиоустройств - будь то усилитель мощности, предварительный усилитель, усилитель для наушников, ЦАП ... и многое многое другое. Данное устройство позволяет также выбрать любой удобный и необходимый способ управления - любые стандарты ПДУ, кнопки, энкодеры, - любые способы индикации - ЖК экраны, 7ми сегментные индикаторы, светодиоды как одноцветные так и RGB. С помощью предлагаемого контроллера можно: регулировать громкость с помощью цифровых регуляторов уровня (на микросхемах), с помощью моторизованного переменного резистора, с помощью релейного регулятора; осуществлять контроль температуры, например, выходных транзисторов усилителя мощности (до 10 температурных датчиков); состояние различных защит (перегрев, постоянное напряжение на АС); осуществлять управление электропитанием устройств - софтстарт, и другое. Функций уже реализованных в программном обеспечении очень много, одним абзацем не описать. А нереализованных, но имеющихся в потенциале контроллера - еще больше
Как побочный, но приятный эффект - данное устройство может служить отладочной платой - а по функциональным возможностям скорее отладочным комплексом - для различных устройств на микропроцессоре, от елочной гирлянды до автосигнализации или "умного" дома. Имеющееся встроенное многообразие портов, входов/выходов (USB, RS232, I2C, SPI и прочее) позволяет реализовать любую Вашу задумку, как на программном обеспечении собственной разработки, так и с нашей помощью. Но в контексте нашего сайта, мы будем прежде всего ориентироваться на применение микропроцессорного управления в аудиоустройствах. Устройство действительно универсально, имеется огромное кол-во пользовательских настроек параметров через меню на ЖК дисплее ...
Источник питания.
Но обо всем по порядку. Начнем с источника питания предлагаемого контроллера.

[g]Рис. 1. Источник питания и софт-старт.[/g]
Источник питания универсального контроллера функционально совмещен с одним каналом SOFT-старта. Трансформатор небольшой мощности TR1, устанавливаемый на плату - является дежурным, через выпрямитель и через интегральный стабилизатор DA4 обеспечивается стабильные 12В на выходе. Установлены 6 разъемов (2х типов) для питания различных устройств - самого контроллера, платы защиты АС, платы регулятора громкости, и другого. В этом же модуле присутствует канал софт-старта, который может использоваться для \"плавного\" запуска мощного источника питания УМЗЧ. разъем [g]XP1[/g] - вход 220В, напряжение с него подается на дежурный трансформатор, а также через реле [g]K1 и К2[/g] (во включенном состоянии) - на основной мощный источник питания УМЗЧ или другого устройства.
Транзисторы [g]VT4 и VT5[/g] управляются от одноименных выходов контроллера [g]K1 и К2[/g], разъем [g]Х23 softstart[/g]. При включении устройства, переводе из дежурного режима в рабочий - первым включается реле [green]K1[/green], подавая напряжение на БП через токоограничительный резистор [g]R72[/g] - тем самым ограничивая пусковой ток заряда конденсаторов, смягчая режим их работы, а также режим диодов выпрямителя. Через заданное время - значение устанавливается через пользовательское меню настроек от 0 до 10сек - включается реле [g]К2[/g] - закорачивая резистор [g]R72[/g], тем самым подключая нагрузку к сети напрямую.
Так же на плате источника питания установлен варистор [g]U3[/g] защищающий от перенапряжения в сети, и самовосстанавливающийся предохранитель [g]FU1[/g], защищающий трансформатор [g]TR1[/g].
К софт-старту можно подключить 2 трансформатора ([g]XP2 и XP3[/g]), например, если у Вас двойное моно. Включение и выключение будет производиться параллельно. Но так же, в контроллере предусмотрен порт управления вторым софтстартом, собрать можно по такой же схеме - и тогда каналы будут включаться и выключаться независимо.
Выключение устройства происходит в обратном порядке, сначала выключается реле [g]К2[/g], а через заданное время реле [g]К1[/g], полностью обесточивая нагрузку.
Следующий узел нашего устройства - стабилизатор цифрового питания +5В. Расположен на плате основного процессора. Схема стабилизатора показана на рисунке 2.

[g]Рис. 2. Стабилизатор питания цифровой части.[/g]
Стабилизатор выполнен на микросхеме LM317, практически по даташитной схеме. На вход [green]Х5[/green] подается 12В с дежурного БП, выходное напряжение регулируется подстроечным резистором [green]R7[/green]. Конденсатор [green]С8[/green] танталовый. Перемычка [green]J2[/green] - технологическая, для отключения проводников +5В на плате от стабилизатора, например, при настройке. По шине [green]+5V_2[/green] напряжение подается на цифровые микросхемы, на питание LCD индикатора и прочее. На центральный микроконтроллер питание подается через дополнительный LC фильтр [green]L1C10[/green] , по шине [green]Vcc[/green].
Принципиальная схема контроллера.
С источником питания все просто и понятно. Перейдем к самой интересной части - "мозгу" системы. На рисунке 3 показана принципиальная схема устройства. Не стоит пугаться сложности, размеру и навороченности схемы - это только первое впечатление. На самом деле все просто, логично , но при этом многофункционально и очень гибко в настройках.

[g]Рис. 3. Принципиальная схема контроллера.[/g]
"Мозг" системы - AVR ммикроконтроллер семейства [g]ATmega640/1280/2560[/g]. Такой большой микроконтроллер выбран не случайно, несмотря на кажущуюся его избыточность - он позволяет легко масштабировать функционал системы не меняя схемы и платы устройства. Большое кол-во периферийных устройств внутри контроллера - позволяет реализовать любую задумку. Рассмотрим стандартную обвязку. Шина [g]Vcc[/g] - питание микропроцессора. Кварцы [g]ZQ1[/g] - основной \"системный\", задающий частоту работы процессора, [g]ZQ2[/g] - \"часовой\" кварц, на частоту 32768Гц, задающий частоту для часов реального времени. На каждую пару ног [g]Vcc - GND[/g] установлены керамические конденсаторы, для фильтрации питания от помех. Разъем [g]Х7[/g] - для внутрисхемного программирования микропроцессора, имеет стандартную для Atmel\'а распиновку сигналов.
Во избежание перегрузки статьи, подробно на схемотехнике останавливаться не будем - все сделано довольно стандартно, и для читателя с опытом чуть выше начального - вопросов возникнуть не должно, в противном случае - пишите, дополним.
Со стандартной обвязкой разобрались, перейдем к описанию портов устройства и их функций - управления, контроля, индикации.
Краткий перечень портов и их назначение.
Порт | Основная функция | Альтернативная функция |
---|---|---|
X1, X2 | Подключение температурных датчиков. Поддерживаемые типы: AD22100, LM19 (аналоговые), DS1820 (цифровой). При использовании аналоговых датчиков можно подключить 2шт., по одному на каждый порт. В случае применения цифровых - используется один порт, на который можно подключить до 8 цифровых датчиков, кроме того на второй порт можно подключить аналоговый датчик, 9й. | Одна двунаправленная линия, с подключенным питанием +5В на разъем.АЦП микроконтроллера. |
X3 | Порт RS232 для подключения компьютера. | нет |
X4,X8 | Управление вентиляторами. Два режима: ШИМ управление - скорость вращения пропорциональна температуре, либо ступенчатое включение - при заданной температуре. | Канал ШИМ управления.Канал управления с открытым стоком. |
X5 | Питание платы, +12В. | нет |
X6 | Подключение управляемых устройста: - пассивный регулятор громкости на реле с селектором входов из этой статьи, - многоканальный регулятор громкости для домашнего кинотеатра на PGA4311. | Порт подключения периферийных устройств. 6 сигнальных двунаправленных линий, аппаратный порт I2C, 2 аппаратных прерывания контроллера, UART, с возможностью питания дочернего устройства +5В. |
X7 | Порт внутрисхемного программирования микроконтроллера. | Порт SPI. Доп. порт с 3мя двунаправленными линиями, и подведенным питанием +5В для подключения дополнительных устройств. |
X9 | Подключение управляемых устройста: - пассивный регулятор громкости на реле с селектором входов из этой статьи. | Порт подключения периферийных устройств. 6 сигнальных двунаправленных линий, питание +5В. |
Х10, Х11 | Аппаратный порт I2C. | 2 двунаправленные линии с питанием +5В в разъеме. |
Х12, Х13 | Универсальный разъем расширения. | 5 сигнальных двунаправленных линии, 5 АЦП каналов, 5 каналов внешних прерываний. |
Х14 | Порт подключения энкодеров. До 2х штук. Энкодеры могут быть совмещены с кнопками. Управление независимое от каждого. | 6 двунаправленных сигнальных линий с возможностью внешних прерываний, 2 канала UART. |
Х15 | Системная кнопка вкл/выкл. | Одна двунаправленная сигнальная линия с внешним прерыванием. |
Х16 | Системный RGB светодиод. | Три двунаправленных сигнальных линии с возможностью аппаратного ШИМ. |
X17 | Порт подключения мотороизованного переменного резистора, например, ALPS RK16. Управление вращением осуществляется через драйвер [g]BA6209[/g]. Логика работы может быть следущих типов: с переменного резистора снимается напряжение (как с делителя) и подается на АЦП контроллера, пропорциаонально повороту оси - меняется уровень задаваемого параметра (например, громкость) - при этом непосредственное управление громкостью может осуществляться через релейный регулятор. Либо, переменник может сам быть включен в цепь сигнала звукового - и регулировать уровень. При этом при регулировке с ПДУ - он будет засчет мотора вращаться. | Драйвер двигателя с изменяемой полярностью. 1 линия сигнальная с контроллера с функцией АЦП. |
Х18 | Порт подключения защиты АС от постоянного напряжения. Поддерживается плата из этой статьи. Осуществляется управление подключением АС к усилителю - через меню на ЖК задается время подключения АС в секундах, после включения усилителя. А так же осуществляется мониторинг работы защиты - в случае аварийного срабатывания - вывод информации на дисплей. Каждый канал устройства защиты имеет независимый мониторинг и управление. | 4 двунаправленных силгнальных линии с возможностью внешнего прерывания. |
Х19 | Универсальный порт с шестью линиями сигнальными, возможна установка драйвера для управления шаговым двигателем. | Управление с одного порта до двух индикаторов на 7ми сегментных элементах. |
Х20 | Порт подключения ЖК экрана. Яркость подсветки экрана может меняться плавно в диапазоне 0-100%, с помощью ШИМ регулирования. | 7 двунаправленных сигнальных линий, 1 выход с открытым стоком с возможностью ШИМ. |
Х21 | Универсальный порт на 8 сигнальных линий, может использоваться для управления светодиодной индикацией. | 8 сигнальнызх линий. |
Х22 | Порт подключения кнопок управления. Стандартное кол-во - 8 кнопок, может быть увеличено. | 1 двунаправленная сигнальная линия с возможностью АЦП. |
Х23 | Выход управления софтстартом, встроенным в блок питания. | 2 двунаправленных сигнальных линии. |
Х24 | Выход \"удаленного\" управления питанием устройств. Например, вы можете с помощью этого порта включать и выключать любую аапаратуру - магнитофон, СД проигрыватель, проигрыватель винила ит.д. Данный порт имеет гальваническую оптическую развязку от управляемых устройств. | нет |
Х25 | Порт ИК-приемника для системы Ду. | Одна двунаправленная сигнальная линия, с питанием +5В в разъеме. |
Порты управления.
Разъем [g]Х3[/g] - порт [g]RS232[/g] (COM-порт) для подключения к компьютеру. Необходим для отладки, обновления ПО контроллера. Также в последующих релизах планируется дополнить устройство специальной компьютерной программой, которая будет в графическом окне получать информацию с контроллера, а также управлять им. В качестве драйвера [g]UART-RS232[/g] используется микросхема [g]ADM202[/g], в стандартном включении. Узел довольно важный, т.к. с его помощью можно обновлять версию прошивки контроллера, не прибегая к специальному программатору.

[g]Рис. 4. Схема подключения по RS232 к ПК.[/g]
Разъем [g]Х14[/g] - порт подключения энкодеров. Схема подключения показана на рис. 5.

[g]Рис. 5. Схема подключения энкодеров.[/g]
Принцип работы энкодера наглядно показан на рисунке 6.

[g]Рис. 6. Принцип работы энкодера.[/g]
Выходные сигналы К1 и К2 смещены относительно друг друг, и в зависимости от направления вращения оси - изменяется последовательность сигналов. В сети большое кол-во статей по работе с энкодерами, в данной статье подробно рассматривать не будет.
К нашему контроллеру можно одновременно подключить 2 энкодера, в том числе совмещенных с кнопкой на оси вращения, например [g]PEC16[/g] и подобные.
Для борьбы с возможным дребезгом контактов энкодера, в случае применения механического, установлены RC цепи на каждую сигнальную линию - использовать по необходимости. Также антидребезг реализован и в программном фильтре контроллера. В качестве функций работы энкодеров может быть; управление громкостью, переключение активного входа, навигация по меню и многое другое на ваш выбор. Альтернативные функции разъема [g]Х14[/g] смотрите в таблице 1.
Разъем [g]Х15[/g] - подключение системной кнопки, включение/дежурный режим. Данная функция выведена на отдельный вход контроллера со внешним прерыванием. Это сделано для того, чтобы в дежурном режиме можно было переводить микропроцессор в режим sleep - и по внешнему прерыванию назад, в рабочее состояние. Либо можно назначить любую другую функцию согласно таблице 1.
Разъем [g]Х17[/g] - может использоваться для подключения моторизованного потенциометра. Схема управления показана на рисунке 7.

[g]Рис. 7. Схема подключения моторизованного потенциометра.[/g]
Управление двигателем осуществляется с помощью микросхемы драйвера [g]BA6209[/g] - включение стандартное, из даташита. Данная функция может использоваться в двух вариантах. Первый - снятие информации с переменного резистора, который включается делителем напряжения от 0 до 5В - полученное на выходе напряжение оцифровывается АЦП - и далее контроллер управляет, например, регулятором громкости пропорциально напряжению. При этом, если вы изменяете параметры уровня с ДУ - то с помощью драйвера и двигателя - ось потенциометра вращается синхронно. Вариант второй - использование для регулировки громкости переменного резистора высокого качества - ALPS и подобные - и управление им с помощью мотора.
Управление двигателем осуществляется по линиям [g]Rin Fin[/g]. По линии [g]ADC14_VOL[/g] снимается напряжение с переменника. Также можно использовать данный порт для любых других целей согласно таблицы 1.
Разъем [g]Х22[/g] - служит для подключения кнопок управления устройством. Все кнопки включены делителем напряжения от 0 до 5В, и выходной сигнал поступает на АЦП контроллера. Схема подключения показана на рисунке 8.

[g]Рис. 8. Схема подключения кнопок управления.[/g]
При нажатии кнопок, подключенных к [g]Х22[/g] через делитель напряжения на резисторах [g]R48-R55[/g] сигнал попадает на АЦП контроллера ( [g]ADC15[/g]) - оцифровывается, и вычисляется код нажатой кнопки. Подключение через АЦП дает ряд преимуществ - отсутствие дребезга контактов и многократные паразитные срабатывания, возможность легко масштабировать кол-во кнопок. По умолчанию, можно подключить 8 кнопок.
Разъем [g]Х25[/g] - порт подключения ИК-датчика для системы ДУ. Сигнал подается на внешнее прерывание контроллера, настроенное на Pin change. Схема подключения показана ниже.

[g]Рис. 9. Схема подключения ИК-датчика.[/g]
Порты индикации.
Разъем [g]X16[/g] - порт подключения RGB светодиода. Данный разъем включает в себя 3 ШИМ канала - по одному на каждый цвет светодиода (красный,зеленый, синий). С помощью ШИМ можно менять яркость каждого цвета, тем самым плавно изменяя цвет свечения в широких пределах.
Разъем [g]X21[/g] - порт подключения линейки светодиодов (до 8шт). Для уменьшения нагрузки на выходы контроллера, а также для уменьшения кол-ва задействованных выводов - подключение светодиодов осуществляется через сдвиговый регистр [g]74HC595[/g]. Функционал светодиодов можно назначить под любые задачи, например, индикация активного входа селектора, линейка уровня громкости и т д.

[g]Рис. 10. Схема подключения светодиодов.[/g]
Разъем [g]X20[/g] - порт подлючения LCD дисплея. Используется стандартый 4х проводной интерфейс для линий данных между процессором и LCD. Для включения и регулировки подствеки экрана используется ключ на [g]VT3[/g] с ШИМ управлением. может работать в двух режимах - либо плавная регулировка яркости ШИМ сигналом, либо логическими 0 и 1 - включено/выключено.

[g]Рис. 11. Схема подключения LCD дисплея.[/g]
Конструкция.
Конструктивно устройство выполнено на одной плате размером 220х70мм. Модуль дежурного БП и стабилизатора на 12В отделен от модуля самого контроллера. рядом с контроллером установлен регулируемый стабилизатор на 3-5В для питания цифровых МС. Плата может быть установлена "как есть" - цельным куском, а можно разделить плату БП и плату процессора на две половинки - 110х70мм каждая, и установить друг над другом "бутербродом" - крепежные отверстия совпадают.
Фото платы и устройства в сборе представлены ниже.

[g]Верхняя сторона[/g]

[g]Нижняя сторона[/g]


На этом первая часть статьи подошла к концу. Описание программных решений конкретных модулей работы устройства в следующих частях.
Комментарии
Здесь никто ничего не написал. Вы можете быть первым.