Схема управления предварительным усилителем

Главная
Акустика
Аудио
Статьи и заметки
Фотогалерея
Гостевая
Ссылки
Обо мне
Напишите мне
АудиоУправление и питание → Схема управления предварительным усилителем

В статье "Предусилитель на SSM2018T" [1] описан высококачественный предварительный усилитель, построенный на базе микросхемы SSM2018T. Кроме функции регулировки громкости предусилитель имеет коммутатор входных источников звука, а также реле для приглушения звука (функция "Mute"). Предусмотрен буфер на входе усилителя (ОУ в корпусе DIP8 для оперативной смены микросхемы), дополнительный выход (сразу после SSM2018T для подключения усилителя наушников), выходной буфер (ОУ в корпусе DIP8 для оперативной смены микросхемы), а также дифференциальный усилитель.
Управление SSM2018T можно сделать как аналоговым - посредством переменного резистора и кнопок, так и цифро-аналоговым - посредством связки валкодер (кнопки "+" и "-") + микропроцессор + ЦАП. Конечно же аналоговый вариант будет проще, но в таком варианте будет затруднительно организовать все режимы работы предварительного усилителя (режим приглушения при включении/выключении усилителя, визуализация режимов работы, дистанционное управление). В качестве примера, ниже привожу ссылку на временную схему управления предварительным усилителем на базе SSM2018T.


Временная схема управления


Поскольку знакомство с основами программирования микроконтроллеров Atmel у меня прошло успешно, то контроллер предварительного усилителя я решил сделать на базе ATmega8. Он является гибкой управляющей системой предварительного усилителя, который сопряжен с усилителями мощности и CD-проигрывателем. Контроллер берет на себя управление всем стереокомплексом как с панели предварительного усилителя, так и с пульта дистанционного управления.

• Общее описание

В принципе, данная схема родилась на основе статей Леонида Рюмика [2,3]. Использовались те же принципы построения схемы, подключение обвески к портам ввода-вывода МК. Из аппаратных возможностей в МК задействован аппаратный АЦП для оцифровки сигналов кнопок управления, внешнее прерывание INT0 для детектирования сигнала с ИК приемника, EEPROM, детектор пониженного напряжения.

Загрузить схему в новом окне [134кБ]

Схема контроллера для предварительного усилителя.

Описание схемы. Как видно из схемы контроллера в нем выделено 4 основных функциональных блока, размещаемых в корпусе предварительного усилителя:

  1. Левая плата управления, на которой расположены кнопки включения питания предварительного усилителя, выбора источника звука и индикаторы соответствующего режима ("Power", "Input1-Input5");
  2. ЖКИ (4 строки по 20 символов) и фоторезистор для реализации схемы регулировки уровня подсветки индикатора;
  3. Правая плата управления, на которой расположены валкодер, ИК приемник, кнопка приглушения звука ("Mute") и входа в меню ("Menu");
  4. Плата микроконтроллера, которая объединяет все вышеназванные блоки и к которой подключается вся периферия в том числе блок питания.
Как уже было сказано, для подключения к МК [4] 8 кнопок был задействован аппаратный АЦП (канал 5, порт PC5). Поскольку АЦП имеет разрядность 10 бит, то к нему возможно подключить практически какое угодно количество кнопок (в идеале до 1024), правда учитывая разброс номиналов резистивного делителя это количество резко сокращается до 64. В данном случае применено всего 8 кнопок (диапазон напряжений 80-1200мВ, интервал 160мВ) и "защитный" интервал 40мВ. "Защитный" интервал нужен для точного определения нажатой кнопки - например, кнопке "Power" в программе определено значение 80мВ, тогда делитель напряжения можно сделать с разбросом 40-120мВ. Для "обработки" таких кнопок в программе создана функция key_adc.
Валкодер V1 контактного типа, поэтому обрабатывается в программе как обычная кнопка - главным образом, устраняется дребезг контактов в функции key. Можно применить полноценный валкодер, подключив его выходы к портам PD0, PD1.
ИК приемник A1 [5] подключается к порту PD2, который по совместительству является портом внешнего прерывания INT0. Прерывание происходит по спаду импульса, код попадает в функцию RC5decoder, которая возвращает в программу значение соответствующей кнопки в шестнадцатиричном виде.
ЖКИ [6] подключается к МК по 4-х битной шине по линиям PD4-PD7, управление происходит по двум портам: RS - PB0, EN - PB1. Для вывода значений на индикатор в программе используются 4 функции: lcd_init - для инициализации ЖКИ, lcd_com - для перевода курсора в нужное поле, lcd_dat - для вывода единичного символа, lcd_puts - для вывода строки. Все эти функции прописаны в файле lcd.c, который подключается в make-файле.
Фоторезистор R10 является светочувствительным элементом в схеме регулировки яркости подсветки ЖК индикатора в зависимости от освещения рабочей зоны предварительного усилителя. Схема является полностью аналоговой и собрана на отдельной микросхеме - компараторе DA1. VT1 служит для включения данной схемы (подает минус питания на выводы 1,4 микросхемы).
Сдвиговые регистры (shift-регистры) DD2 и DD6 [7] подключены к МК по 3-х проводной шине SPI. Тактирование регистров осуществляется портом PC1, по порту PC0 в регистры передаются данные, а по портам PB2 и PB3 осуществляется запись данных в соответствующий регистр (порт LCH регистров DD2 и DD6) с помощью программной функции SPI8MSB, прописанной в файле spi.c, который подключается в make-файле.
DD2 служит для индикации номера входа (к портам Q1-Q5 подключены соответствующие светодиоды), управления реле входного селектора (порты Q1-Q5 выведены на вилку XS9) и управления реле приглушения звука (порты Q6-Q7 выведены на вилки XS10, XS11). Для включения соответствующего реле входного селектора данные в регистр DD2 записываются через функцию input, а для управления реле приглушения звука через функцию cntrmute.
DD6 служит для управления внешними нагрузками, в моем случае, таким образом, осуществляется управление CD-проигрывателем Pioneer PD-S703 - к его матрице кнопок управления подпаян разъем DB9, который соединяется с платой контроллера предварительного усилителя (вилка XS17). При замыкании соответствующих контактов КМОП-реле К1-К4 активируется одна из 8 команд проигрывателя (On/Off, Play, Pause, FFD, RFD, Stop, Open, Shuffle). Данные команды подаются с пульта ДУ, дешифруются функцией RC5decoder, при условии совпадения команды с необходимой нам выполняется соответствующее действие с помощью функции remote записи слова в регистр.
Микросхемы DD4, DD5 [8] - 12 битные ЦАП, ради которых и затевалась схема контроллера. Подключены к МК таким же образом как и регистры - по 3-х проводной шине SPI. Тактирование и передача данных осуществляется теми же портами, что и на регистры, разрешение записи данных в ЦАП осуществляется по портам PB4, PB5. Данные заносятся в ЦАП программной функцией SPI12MSB, прописанной в файле spi.c, который подключается в make-файле. В программе реализована управляющая функция data, в которой преобразуются входящие данные (уровень громкости в дБ) в 3-х разрядный шестнадцатиричный вид и передаются в ЦАП внешней функцией SPI12MSB.
Микросхема DD1 [9] - часы реального времени, подключенные к МК с помощью программной реализации шины I2C. В данной программе работа микросхемы не реализована. Планируется ее дальнейшее подключение для реализации отображения на ЖКИ текущего времени, организации функции будильника и режима засыпания.

Загрузить схему в новом окне [34,4кБ]

Схема блока питания предварительного усилителя.

Осталось рассказать об остальных портах МК: Порт PD3 предназначен для включения реле блока питания (K1) для подачи напряжения питания на аналоговые узлы предварительного усилителя, а также "активации" схемы регулировки яркости подсветки ЖК индикатора. Порты PC2, PC3 служат для включения усилителей мощности №1 и №2 с помощью функции amplifier. Порт PC4 предназначен для организации "сервисного" режима усилителя мощности, например, отключение акустических систем от его выхода.

Работа схемы. При подключении предварительного усилителя к сети 220В с дежурного блока питания (трансформатор TV1) подается +12,6В на вилку XS14. Поскольку транзистор VT2 блока питания закрыт, то транзистор VT1 открыт и светодиод HL1 горит красным цветом. При подаче питания на МК происходит начальная инициализация контроллера с помощью функции init_main (определение параметров портов ввода-вывода, заполнение ЦАП - принудительное отключение звука, обнуление регистров, инициализация ЖКИ, вывод приветствия "Wellcome", выключение дисплея индикатора, запуск АЦП и разрешение прерываний) - теперь контроллер готов к приему двух команд:

  1. Включение предварительного усилителя кнопкой "Power" на передней панели;
  2. Включение предварительного усилителя кнопкой "Power" с пульта ДУ.
Управление предварительным усилителем с пульта ДУ повторяет процесс управления кнопками на передней панели усилителя, отличие лишь в использовании дополнительной функции RC5decoder для приема команды, которая запускается при наличие внешнего прерывания по порту PD2, и наличии дополнительных команд управления CD-проигрывателем.
При выполнении любой из двух команд происходит инициализация при включении с помощью функции init_begin (включение реле K1 блока питания, инициализация ЖКИ, вывод приветствия "Hello", чтение EEPROM и запись запомненных при предыдущей работе данных в ЦАП и "входной" регистр, включение УМЗЧ №1 или 2, выключение режима приглушения звука и вывод данных на ЖКИ) и переход в бесконечный цикл while(STBY == 1). При этом светодиод HL1 гаснет.
В цикле постоянно проверяются условия выполнения той или иной команды (проверка нажатия кнопок входов №1-5, "Plus", "Minus", "Menu", "Mute", "Power") и каждые 10 секунд происходит обновление данных ЖКИ. При наличии любой команды происходит ее выполнение с помощью соответствующих функций и запоминание параметров в EEPROM. Если встречается нажатие кнопки "Power" запускается функция init_end (заполнение ЦАП - принудительное выключение звука, обнуление "входного" регистра - отключение реле селектора и "Mute", очистка дисплея индикатора, вывод прощания "See You!", отключение УМЗЧ №1 и 2, отключение реле K1 блока питания, выключение дисплея индикатора), после которой контроллер переходит в режим ожидания - бесконечный цикл while(1).

• Детали

На данном этапе до сих пор не сделана печатная плата для контроллера - вся конструкция собрана на макетной плате. Для блока питания разведена плата и есть собранный прототип (см.ниже).

   Описание

Ссылка

   Исходники программы управления для WinAVR
   (makefile, подключаемые модули, краткое описание)

The Control Circuit Pre-amplifier Program

   Плата контроллера устройства в формате Sprint Layout

The Control Circuit Pre-amplifier Lay

   Плата блока питания устройства в формате Sprint Layout

The Control Circuit Pre-amplifier Power Supply Lay

   Прошивка для микроконтроллера

The Control Circuit Pre-amplifier Hex

• Налаживание

Касаемо схемы блока питания - налаживание сводиться к установке подстроечными резисторами (VR1, VR2) выходного напряжения ±15В. Касаемо схемы контроллера - налаживание сводиться к установке подстроечными резисторами (VR1, VR2) контрастности дисплея индикатора и желаемой подсветки дисплея в зависимости от условий освещенности.
Относительно программы микроконтроллера наладка довольно сложная - необходимо знать адрес вашего пульта дистанционного управления и номера команд соответствующих кнопок, чтобы прописать их в заголовке программы. Кроме этого, возможно понадобиться скорректировать напряжения делителя кнопок и выбрать кнопки на пульте ДУ для управления внешними нагрузками.

• Внешний вид конструкции

Загрузить фотографию в новом окне [233кБ]

Блок питания (вид сверху).


Загрузить фотографию в новом окне [180кБ]

Абсолютно черновой вариант схемы управления.


• Ссылки по теме

  1. Предусилитель на SSM2018T - статья о моем предварительном усилителе;
  2. Микроконтроллеры AVR. Ступень 1-10 - подборка статей Леонида Рюмика;
  3. Сайт журнала Радиохобби - для поиска статей Сергея Рюмика "Микроконтроллерное управление звуком-1,2,3";
  4. ATmega8 AVR 8-bit Microcontroller - datasheet на микроконтроллер;
  5. Photo Modules for PCM Remote Control Systems - datasheet на ИК приемник;
  6. LCD PC2004-A - спецификация использованного ЖКИ;
  7. 74HC595 Serial Input Shift Register - техническая документация на регистр 74HC595;
  8. DAC8512 Serial Input Complete 12-Bit DAC - datasheet на ЦАП;
  9. DS1307 64 x 8 Serial Real-Time Clock - datasheet на RTC.

Последнее обновление 08.10.2011


АудиоУправление и питание → Схема управления предварительным усилителем