Шестиканальный цифровой регулятор громкости и тембра с управление от ПДУ » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

Какой средой программирования вы пользуетесь?


MPLab/MPLabX
MicroC
MicroBasic
MicroPascal
Другой


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Устройства для дома » Шестиканальный цифровой регулятор громкости и тембра с управление от ПДУ
    Шестиканальный цифровой регулятор громкости и тембра с управление от ПДУ
    Автор публикации: alex Просмотров: 11735 Добавлен: 6-08-2012, 08:37 Комментарии: 0

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

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

         Технические характеристики блока регулировок и системы в целом определяются аудиопроцессорами TDA9860, а также примененными усилителями мощности. Схема включения TDA9860 отличается от типовой введением эмиттерных повторителей на транзисторах VT1, VT2, которые включены на выходе устройства. Они обеспечивают лучшее сопряжение его с усилителем мощности (автором в качестве УМЗЧ использованы пять микросхем TDA7294 и две TDA7293 в "тандемном" включении для сабвуфера). Печатная плата с аудиопроцессором DA1 представлена на рис. 3 с указанием расположения SMD элементов со стороны проводников.
         В блоке предусмотрена запись в память всех предустановок регуляторов; при включении блока происходит плавное нарастание громкости до установленного ранее уровня. Есть режим понижения (выключения) громкости — Mute. Все режимы регулировок отображаются жидкокристаллическим индикатором на русском языке.
         Все регулировки возможны посредством четырех кнопок на лицевой панели блока, а также с обычного пульта ДУ от телевизора (система команд RC-5 PHILIPS). Хотелось бы отметить, что практически все надписи "зашиты" в EEPROM микроконтроллера, поэтому их можно менять, не затрагивая основной программы. Исключение составляют приветствие, а также названия режимов, которые выводятся на английском языке. Это связано с ограниченным объемом памяти EEPROM микроконтроллера, а также с целью максимальной совместимости ЖК индикаторов. Если кто-то не найдет русифицированного индикатора, в этом случае достаточно изменить русские надписи английскими в EEPROM микроконтроллера; информация об этом представлена ниже.

         С помощью кнопок "1", "2" и "3" пульта ДУ есть возможность выбирать между тремя входами аудиопроцессора, причем переключение происходит одновременно всех трех пар входов. А вот посредством кнопок на лицевой панели блока можно выбирать вход отдельно для каждого аудиопроцессора, в результате при желании в одной паре колонок будет воспроизводиться радиопередача, в другой — музыка от компьютера, ну а в третьей — звук от телевизора или DVD проигрывателя. Многое зависит от используемого варианта коммутации входных разъемов, соединительных кабелей и вашей фантазии. Подробно описывать перемещение по меню не имеет смысла, достаточно перечислить фактические функции используемых кнопок пульта ДУ:
         "1" — переключение трех аудиопроцессоров на первый вход (например, FM-тюнер);
         "2" — переключение трех аудиопроцессоров на второй вход (например, TV- приемник);
         "3" — переключение трех аудиопроцессоров на третий вход (например, компьютер PC);
         "М" — запись в память всех предустановок;
         "SL" — вызов главного меню;
         "Р+" — передвижение по меню вверх;
         "Р-" — передвижение по меню вниз;
         "+" - увеличение выбранного параметра;
         "-" - уменьшение выбранного параметра;
         "Mute" — включение и выключение звука.
         Схема узла управления, показанная на рис. 4, проста и особых пояснений не требует. Автор использовал LCD индикатор SC1602EULT-SH-GB с размерами экрана 106x35 мм (видимая часть — 99x24 мм), у которого ток для подсветки достигает 750 мА. Можно рекомендовать также индикатор SC1602BULT-SH-HS-G с размерами экрана 71x25 мм (видимая часть — 65x16 мм). Чтобы не нагружать лишний раз блок питания, было решено ввести программное выключение подсветки, когда она не нужна. Для плавного изменения подсветки в устройство введены элементы VT1, VD1, С3, R2— R4. Резистор R4 следует подобрать как по сопротивлению, так и по мощности либо вовсе обойтись без него с учетом имеющегося индикатора. Для большого индикатора мощность резистора R4 может доходить до 2 Вт, для меньшего — достаточно 0,5 Вт. Кроме того, транзистор VT1 при токе 750 мА следует использовать с теплоотводом, например, алюминиевой пластиной размерами 20x30 мм.

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

         Печатная плата УМЗЧ не приводится, поскольку автор использовал для усилителя мощности корпус от морально устаревшего магнитофона-приставки "Санда МП-207С". Можно рекомендовать использовать схему включения и печатную плату, опубликованные в журнале [3], с учетом изложенных здесь замечаний по использованию режимов "Mute" и "St-by". Выходы УМЗЧ полезно соединять с выходными разъемами через LR-фильтры.
         Теперь о программировании микроконтроллера. В НЕХ-файле отсутствует слово (байт) конфигурации, поэтому его нужно задать в опциях программатора: 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.

    В архиве прошивка для микроконтроллера

    charset.rar [374,91 Kb] (cкачиваний: 524)

    Комментарии