Печать

Цифровой регулятор громкости и тембра с управлением от ПДУ на PIC16F628A

Опубликовано . Опубликовано в Устройства на PIC

Рейтинг:   / 7
ПлохоОтлично 

В данной статье рассказано, как, используя микросхемы аудиопроцессора и микроконтроллера, можно изготовить блок цифровых регуляторов громкости и тембра системы пространственного звучания при наличии компьютера или DVD проигрывателя. Самому собрать такое устройство есть смысл, если у кого-то есть усилители со старыми добрыми AC S-30, АС-25 и различными вариантами S-90.

Описываемый цифровой регулятор тембра, громкости, баланса обеспечивает регулировку общей громкости и громкости каждого из каналов системы пространственного звучания 5.1 в отдельности. Регулировка тембра — раздельная во фронтальной, тыловой и центральной АС, а также изменение уровня НЧ, раздельно по фронту, тылу и каналу сабвуфера. В блоке возможен выбор трех дополнительных режимов: "Стерео", "Расширенное стерео 1" (+30 %), "Расширенное стерео 2" (+52 %) — раздельно для каждой пары колонок. Предусмотрен и такой вариант блока регулировок, когда возможен выбор источников сигнала с трех раздельных входов каждой микросхемы регуляторов.

Цифровой регулятор громкости и тембра с управлением от ПДУ на PIC16F628A - блок-схема
Рисунок 1

"Мозгом" блока регулировок, функциональная схема которого показана на рис. 1, является микроконтроллер PIC16F628A, управляющий по шине l2C (сигналы SDA и CLK) тремя аудиопроцессорами TDA9860. Кроме того, он обрабатывает сигналы с пульта ДУ, поступающие через ИК приемник СДУ (В1), и выводит всю информацию на ЖК индикатор.

Цифровой регулятор громкости и тембра с управлением от ПДУ на PIC16F628A - схема аудиопроцессора

Рисунок 2

Принципиальная схема подключения аудиопроцессора TDA9860 представлена на рис. 2. Аналоговые входы звукового процессора подключают к источникам многоканальных или стереофонических аудиосигналов — УКВ приемнику ("FM"), звуковой карте ("PC"), аудиовыходам телевизора или DVD проигрывателя ("TV"). Выходы LO, R0 аудиопроцессоров (А1—A3 на рис. 1) подключают соответственно к УМЗЧ левого и правого каналов для фронтальных (А1) и тыловых (А2) громкоговорителей либо центрального и сабвуферного каналов (A3). Следует отметить особенность подключения вывода 25 микросхемы TDA9860. Для шести каналов необходимы три печатных платы с аудиопроцессорами, причем у двух из них (А1 и А2 на рис. 1) он соединен с общим проводом, а у третьего (центрального и НЧ каналов) — с плюсовым проводом питания. Уровнем напряжения на этом выводе и определяется адрес устройства. На печатных платах этот выбор осуществляется с помощью перемычек.

Технические характеристики блока регулировок и системы в целом определяются аудиопроцессорами TDA9860, а также примененными усилителями мощности. Схема включения TDA9860 отличается от типовой введением эмиттерных повторителей на транзисторах VT1, VT2, которые включены на выходе устройства. Они обеспечивают лучшее сопряжение его с усилителем мощности (автором в качестве УМЗЧ использованы пять микросхем TDA7294 и две TDA7293 в "тандемном" включении для сабвуфера).


В блоке предусмотрена запись в память всех предустановок регуляторов; при включении блока происходит плавное нарастание громкости до установленного ранее уровня. Есть режим понижения (выключения) громкости — Mute. Все режимы регулировок отображаются жидкокристаллическим индикатором на русском языке.

Все регулировки возможны посредством четырех кнопок на лицевой панели блока, а также с обычного пульта ДУ от телевизора. Хотелось бы отметить, что практически все надписи "зашиты" в EEPROM микроконтроллера, поэтому их можно менять, не затрагивая основной программы. Исключение составляют приветствие, а также названия режимов, которые выводятся на английском языке. Это связано с ограниченным объемом памяти EEPROM микроконтроллера, а также с целью максимальной совместимости ЖК индикаторов. Если кто-то не найдет русифицированного индикатора, в этом случае достаточно изменить русские надписи английскими в EEPROM микроконтроллера; информация об этом представлена ниже.

С помощью кнопок "1", "2" и "3" пульта ДУ есть возможность выбирать между тремя входами аудиопроцессора, причем переключение происходит одновременно всех трех пар входов. А вот посредством кнопок на лицевой панели блока можно выбирать вход отдельно для каждого аудиопроцессора, в результате при желании в одной паре колонок будет воспроизводиться радиопередача, в другой — музыка от компьютера, ну а в третьей — звук от телевизора или DVD проигрывателя. Многое зависит от используемого варианта коммутации входных разъемов, соединительных кабелей и вашей фантазии.

Подробно описывать перемещение по меню не имеет смысла, достаточно перечислить фактические функции используемых кнопок пульта ДУ:
"1" — переключение трех аудиопроцессоров на первый вход (например, FM-тюнер);
"2" — переключение трех аудиопроцессоров на второй вход (например, TV- приемник);
"3" — переключение трех аудиопроцессоров на третий вход (например, компьютер PC);
"М" — запись в память всех предустановок;
"SL" — вызов главного меню;
"Р+" — передвижение по меню вверх;
"Р-" — передвижение по меню вниз; "+" — увеличение выбранного параметра;
"-" — уменьшение выбранного параметра;
"Mute" — включение и выключение звука.

Цифровой регулятор громкости и тембра с управлением от ПДУ на PIC16F628A - схема блока управления

Рисунок 3

Схема узла управления, показанная на рис. 3, проста и особых пояснений не требует.  Использован LCD индикатор SC1602EULT-SH-GB с размерами экрана 106x35 мм (видимая часть - 99x24 мм), у которого ток для подсветки достигает 750 мА. Можно рекомендовать также индикатор SC1602BULT-SH-HS-G с размерами экрана 71x25 мм (видимая часть — 65x16 мм). Чтобы не нагружать лишний раз блок питания, было решено ввести программное выключение подсветки, когда она не нужна. Для плавного изменения подсветки в устройство введены элементы VT1, VD1, СЗ, R2— R4. Резистор R4 следует подобрать как по сопротивлению, так и по мощности либо вовсе обойтись без него с учетом имеющегося индикатора. Для большого индикатора мощность резистора R4 может доходить до 2 Вт, для меньшего — достаточно 0,5 Вт. Кроме того, транзистор VT1 при токе 750 мА следует использовать с теплоотводом, например, алюминиевой пластиной размерами 20x30 мм.

Выход RA0 контроллера можно использовать для управления режимом "Mute". После включения аудиосистемы, пока происходит инициализация индикатора, считывание памяти и приветствие, переходные процессы в усилительном тракте заканчиваются и на выводе RA0 устанавливается высокий уровень, разрешая работу усилителей. Этим устраняется характерный щелчок в момент включения (напомню, что у микросхемы TDA7294 есть выводы управления режимами "Mute" и "St-by").

Теперь о программировании микроконтроллера. В НЕХ-файле отсутствует слово (байт) конфигурации, поэтому его нужно задать в опциях программатора: WDT - выключен, PWRTE - включен, тип генератора - XT.


В табл. 1 (лежит в архиве) представлены коды русифицированного индикатора, которые понадобятся, если потребуется изменить надписи, выводимые на индикатор. Каждая надпись (табл. 2) начинается с определенного адреса и обязательно заканчивается нулем. Этим ограничивается число символов заменяемой надписи. Вновь вводимая надпись не должна превышать число символов в заменяемой. Например, изменим надпись "ГРОМКОСТЬ" на "VOLUME". Слово "ГРОМКОСТЬ" состоит из девяти символов, a "VOLUME" — из шести, поэтому проблем с заменой не будет. Согласно табл. 1, в шестнадцатиричном представлении слово "ГРОМКОСТЬ" выглядит так: 0хА1, 0x50, 0x4F, 0x4D, 0x4В, 0x4F, 0x54, 0x62. Слово "VOLUME" записывают так: 0x20, 0x56, 0x4F, 0х4С, 0x55, 0x4D, 0x45, 0x20, 0x20. Коды "0x20" — это пробелы (см. табл. 1). Находим адрес EEPROM, с которого начинается надпись, в нашем примере это 0x27, и последовательно заменяем ее. Еще раз обращаю внимание, коды 0x00 в EEPROM изменять нельзя, по ним программа определяет конец надписи!

Кто знаком с пакетом программ Proteus, может создать проект с одним контроллером и четырьмя кнопками и посмотреть, как это выглядит реально. Только не следует забывать, чтобы отображение функций было на русском языке, необходимо модифицировать библиотеку LCDALPHA.DLL в папке MODELS, где установлен Proteus. Модификация проводится с помощью программы CHARSET (на FTP-сервере редакции). Запустив программу, открывают LCDALPHA.DLL и меняют символы в соответствии с табл. 1.

Автор: Тарасенок А.

Обсуждение статьи на форуме

Файлы:
Дата 27.02.2010 Размер файла 363.06 KB Закачек 3252

Рекомендуем посмотреть