Управление звуком на микроконтроллере. Цифровой предварительный аудио усилитель с микроконтроллером

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

Темброблок сделан в виде двух модулей: модуль микроконтроллера и модуль аудиопроцессора.
"Мозгом" блока регулировок, является микроконтроллер ATmega8, управляющий по шине l2C (сигналы SDA и CLK) аудиопроцессором TDA7449.

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


6 кнопок дают возможность выбора входного канала (А или Б), а также выбора регулировки одного из предусмотренных параметров аудиопроцессора. С помощью энкодера производится регулировка выбранного параметра.
Модуль микроконтроллера и модуль аудиопроцессора обмениваются данными на шине I2C по линиям SDA (data - данные) и SCL (clock - синхронизация).

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

Принципиальная схема подключения аудиопроцессора TDA7449 представлена на рисунке ниже подключена по типовой схеме. Аналоговые входы звукового процессора подключают к источникам стереофонических аудиосигналов — DVD проигрывателю, УКВ приемнику, mp3 плейеру и т.д. Выходы Out R и L аудиопроцессора подключают соответственно к УМЗЧ левого и правого каналов.


C этой схемой также часто просматривают:

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

Данная микросхема выпускается фирмой Dallas-semiconductor и представляет собой аналог двух переменных резисторов, управляемых программно при помощи внешнего микроконтроллера. Регулировка возможна 256-ю ступенями изменения сопротивления (вернее, положение « ползунка » переменного резистора). Один вывод переменного резистор -НО или Н1, второй, который желательно (но не обязательно) соединять с общим минусом питания - L0 или L1. Вывод « ползунка » - W0 или W1, соответственно.

Микросхемы выпускаются в трех исполнениях по сопротивлению переменных резисторов, - DS1868-10, - 2x10 кОм, DS1868-50, - 2x50 кОм, DS1868-100, -2x100 кОм, в трех видах корпусов : 20-выводном TSSOP, 16-выводном SOIC и 14-выводном DIP (рис.1).

Структурная схема микросхемы показана на рисунке 2. Потенциометры одной микросхемы могут быть использованы как раздельно, например, для регулировки громкости в разных каналах УНЧ, так и могут быть и включены последовательно для повышения общего сопротивления (рис.З). В этом случае общим выводом, то есть, « ползунком » такого переменного резистора становится выход Sout. В этом случае число ступеней регулировки программным способом может быть увеличено вдвое (до 512). Этот вариант может быть полезным для построения схемы электронной настройки, например, УКВ-ЧМ приемника с системой АПЧ на ИМС типа К174ХА34. Микросхема DS1868 совместно с внешним микроконтроллером и ЖК-дисплеем будет выполнять функции шкалы и верньерного устройства.

Микросхемы можно каскадировать до любого количества чтобы посредством одной и той же цифровой шины управлять несколькими регуляторами. В этом случае выводы CLK соединяются вместе, выводы RST так же соединяются вместе, а вот порт контроллера, который должен быть DQ подключается только к первому каскаду. Далее, для переноса используется вывод Cout (рис.4).

Например, если в УНЧ используется электронная регулировка, в которой переменными резисторами регулируется управляющее напряжение на соответствующих входах микросхемы-предусилителя, то один из « переменных резисторов » микросхемы DS1868 можно будет использовать, например, для регулировки громкости, а второй для стереобаланса. Программное обеспечение, используемое в данной конструкции допускает раздельную регулировку для каждого « переменного резистора » микросхемы. Органом управления является микроконтроллер D2, а так же три кнопки S2-S4 и жидкокристаллический дисплей.

Кнопка S4 (Up) служит для увеличения параметра, кнопка S3 (Down) - для уменьшения параметра. Кнопкой S2 (Select) можно выбрать режим работы, регулировка левого, правого или обоих каналов одновременно. На дисплее две строки прямоугольников по длине которых можно понять положение регулятора. Кнопка S1 (Reset) - для сброса, её можно на переднюю панель не выводить (сделать дырочку чтобы тыкать ей спичкой при необходимости).

На рисунке 5 показана схема с микросхемой DS1868 в 14-выводном DIP-корпусе. Так же можно использовать микросхему и в другом корпусе, согласно рисунку 1. Схема регулировки коэффициента усиления ОУ (рис.6.1 - переменным резистором, рис.6.2 - микросхемой DS1868). Исходный код программы на языке программирования СИ и прошивка микроконтроллера PIC18F2550 доступны по ссылке ниже.

Немного истории

Данная конструкция появилась после того, как я собрал известный усилитель OM 2.5. Естественно, встал вопрос выбора регулятора громкости, защиты и прочих сервисных функций. Конечно, еще хотелось иметь цифровой вход и дистанционное управление, но это уже казалось совсем недоступным космосом. Ни программированием контроллеров, ни проектированием электронных схем я до этого не занимался. Однако, как говорится, дорогу осилит идущий, и на макетке поселился контроллер Atmega16 с микросхемой регулятора громкости PGA2311. В итоге процесс меня так увлек, что очень трудно было закончить проект. Пока оставалась свободная память и ноги контроллера, появлялись идеи по расширению функций и добавлению новых модулей. Платы ко всем модулям первоначально разводились в DipTrace и изготавливались собственноручно с помощью фоторезиста. Потом часть плат я попробовал заказать на производстве. Поэтому на фото присутствует сборная солянка из синих самодельных и зеленых заводских плат. Итак, в этой статье я постарался описать, что в итоге у меня получилось.

Функции системы.

  • Мягкий старт, задержка настраивается от 0 до 30 сек.
  • Задержка включения АС, настраивается от 0 до 30 сек.
  • ДУ стандарта NEC c настройкой пульта из системы меню
  • Коммутация АС c помощью плат защиты: зоны A/B (кнопка, ДУ), левая/правая (ДУ) или просто вкл/выкл.
  • Управление входным селектором на 4 входа (кнопки, ДУ)
  • Управление громкостью и балансом с помощью микросхемы PGA23XX или релейным РГ Никитина (энкодер, ДУ)
  • Управление темброблоком Матюшкина c релейной регулировкой НЧ и ВЧ (энкодер, ДУ)
  • Управление - передача команд стоп/пуск/перемотки/треки (ДУ)
  • Термо-контроль на цифровом датчике LM75, один или два канала, выключение при перегреве, включение вентилляторов
  • Кнопки включения, переключения АС, четыре кнопки селектора входов и Mute
  • Регулировка яркости подсветки экрана (ДУ)
  • Экранные заставки: гашение экрана, индикатор уровня и анализатор спектра

Состав и конфигурация системы.

Система состоит из контроллера с символьным дисплеем 4x20, устанавливаемого на лицевую панель, и нескольких исполнительных модулей. Дисплей устанавливается параллельно плате контроллера на четыре стойки и соединяется с ним разъемами PLS-PBS, получается достаточно компактный "бутерброд" высотой 12мм. Все подключения осуществляются по периметру платы контроллера с помощью угловых разъемов XH.

Модули осуществляют необходимые регулировки/коммутацию и устанавливаются в корпус усилителя с учетом минимизации длины сигнальных цепей:

  • Регулятор громкости на базе PGA23XX c входным селектором на 4 входа и разъемом для подключения USB-цапа PCM2705
  • Регулятор громкости Никитина
  • Входной селектор на 4 входа (для использования с РГ Никитина)
  • Регулятор тембров Матюшкина c релейной регулировкой НЧ и ВЧ
  • Защита АС от постоянного напряжения c коммутацией двух зон A/B
  • Термо-датчики
  • Блок дежурного питания с входным фильтром и управлением мягким стартом

Конфигурация используемых модулей определяется dip-переключателем на плате контроллера. Она считывается при подаче питания на контроллер и определяет алгоритм дальнейшей работы системы:

Регуляторы громкости, темброблок и селектор входов подключаются к шине контроллера SPI последовательно, для этого на платах модулей присутствуют разъемы Control IN и Control Out. При использовании РГ Никитина, для регулировки баланса можно подключить два таких модуля. Это позволяет достаточно гибко конфигурировать систему управления под конкретное устройство. Диапазон и шаг регулировки громкости у PGA23xx и РГ Никитина могут существенно различаться, поэтому они задаются в меню настройки системы. Важно - прошивка не проверяет на адекватность введенные значения, поэтому не следует задавать максимальную громкость +32db у РГ Никитина. Все возможные варианты подключений модулей к шине SPI:

  • контроллер ->
  • контроллер -> ТБ Матюшкина -> РГ на PGA23XX с входным селектором и ЦАПом
  • контроллер -> РГ Никитина -> селектор входов
  • контроллер -> РГ Никитина -> РГ Никитина -> селектор входов
  • контроллер -> ТБ Матюшкина -> РГ Никитина -> селектор входов
  • контроллер -> ТБ Матюшкина -> РГ Никитина -> РГ Никитина -> селектор входов

Термо-датчики подключаются к контроллеру по шине I2C. Их наличие и количество так же задается dip-переключателем. Возможны три варианта - термо-контроль отключен, используется один датчик или два датчика для каждого канала усилителя. Если термо-контроль включен, можно настроить максимальную температуру, при достижении которой устройство будет выключено. Так же настраиваются температуры включения и выключения обдува. При использовании двух термо-датчиков, можно организовать независимый обдув каждого канала.

Индикация.

Вся информация выводится на символьный дисплей 4x20 на широко известном контроллере HD44780. В первой строке индицируется состояние коммутатора АС. В этой же строке отображается температура радиаторов, полученная с термо-датчиков, когда она превысит температуру включения обдува. Вторая строка отображает ослабление РГ в децибелах. Третья строчка - состояние баланса. При регулировке НЧ или ВЧ, их состояние так-же выводится в этой строке вместо баланса. Последняя строка отображает имена входов и текущий вход.

Еще один орган индикации - светодиод. Он светится, когда система подключена к сети и находится в дежурном режиме. При включении он гаснет и индицирует миганием прием команд с пульта ДУ.

Если в течении определенного времени никакие органы управления не используются, экран может переключаться в режим заставки. Самая простейшая - уменьшение яркости подсветки экрана. Если к соответствующим входам контроллера подключить входной или выходной аудио-сигнал, можно использовать заставки «Индикатор уровня» или « Анализатор спектра» на базе преобразования Фурье.

Управление.

Для управления используются кнопки без фиксации, замыкающие соответствующие входы контроллера на землю, энкодер с кнопкой, пульт ДУ с протоколом NEC. Энкодер управляет регулировкой громкости. При нажатии на его кнопку, энкодер последовательно переключается на регулировку баланса/тембра НЧ/тембра ВЧ. При этом на экране мигают символы, соответствующие текущему режиму. На кнопках и энкодере реализован только минимальный набор команд, полный функционал из 26 команд доступен только с пульта. Часть функций, типа изменения громкости, поддерживает прием команд автоповтора от пульта (когда кнопка пульта удерживается нажатой) . Для функций, типа Вкл/Выкл, выполнение автоповтора намеренно отключено - для повторения команды необходимо повторно нажать кнопку пульта.

Минимальный необходимый комплект для запуска и настройки системы - кнопка включения, энкодер и пульт ДУ. При подаче питания на контроллер, он будет находиться в дежурном режиме. Длительное нажатие на кнопку включения (от 2 сек.) переводит контроллер в режим настройки. При этом включается только экран, реле софт-старта остаются выключенными. Перемещение по меню настройки и изменение значений параметров осуществляется вращением энкодера. Для выбора пунктов меню, входа в редактирование и подтверждения выбора, необходимо нажать на кнопку энкодера.

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

System Общие настройки системы
Lcd Brigtness Яркость дисплея, 0-16
Speaker Delay Задержка включения АС, 0-30 сек.
SS Delay Длительность Софт-старта, 0-30 сек.
ScreenSaver Заставка: off-отключена, LcdOff-снижение яркости экрана, Level-индикатор уровня, Spektr-спектроанализатор
SaverDelay Время включения заставки: 5-100 сек.
Volume Настройка регулировок громкости и баланса.
Volume Min Минимальная громкость: -94db - -64db
Volume Max Максимальная громкость: -32db - -32db
Volume Step Шаг регулировки громкости: 1-4db
Balance Диапазон регулировки баланса: 4-16db
Selector Выбор имен входов, отображаемых на экране
In1 Имя входа 1
In2 Имя входа 2
In3 Имя входа 3
In4 Имя входа 4
TermoControl Настройка термоконтроля
Power OFF Температура выключения: 60-90 градусов
Cooler ON
Cooler OFF Температура выключения обдува: 40-70 градусов
Remote Коды пульта ДУ
System Код системы пульта, общий на все команды
On Включение/выключение
Enter Аналог нажатия на кнопку энкодера
Vol+ Увеличение громкости
Vol- Уменьшение громкости
BalLeft Баланс влево
BalRight Баланс вправо
Bass+ Увеличить НЧ
Bass- Уменьшить НЧ
Treb+ Увеличить ВЧ
Treb- Уменьшить НЧ
In1 Выбор входа 1
In2 Выбор входа 2
In3 Выбор входа 3
In4 Выбор входа 4
In+ Следующий вход
In- Предыдущий вход
SpeakerNext Следующая АС. Переключение производится в зависимости от конфигурации, On->Off или A->B->Off
SpeakerPrev Предыдущая АС. Переключение производится в зависимости от конфигурации, Off->On или Off->B->A
Speaker L/R Переключение АС правая/левая/обе
DacPlayPause HID-команда для USB DAC - воспроизведение/пауза
DacStop HID-команда для USB DAC - стоп
DacNext HID-команда для USB DAC - следующий трек(короткое нажатие)/перемотка вперед(долгое нажатие)
DacPrev HID-команда для USB DAC - предыдущий трек(короткое нажатие)/перемотка назад(долгое нажатие)
Bright+ Увеличение яркости дисплея
Bright- Уменьшение яркости дисплея
Mute Временное уменьшение громкости до Volume

Схема контроллера

Питание осуществляется через защитный диод D1 и стабилизатор на 5в U1. Ключи Q1 и Q2 управляют реле мягкого старта. R9 регулирует контрастность дисплея, для экрана с синей подсветкой на третьей ноге разъема X9 нужно установить напряжение около 0.85-0.9В. Q3 является ключом ШИМ-регулировки яркости подсветки дисплея.

Все кнопки и dip-переключатель конфигурации S1 подключены к контроллеру по шине I2С с помощью расширителей портов PCF8574 (U3, U4). Нажатие любой кнопки вызывает прерывание на ноге PB2 Атмеги и, как следствие, опрос U3 на предмет кода нажатой кнопки. Энкодер(х6) и ИК-приемник(PH1) так же подключены на ноги контроллера, поддерживающие внешние прерывания - PD2 и PD3.

Операционный усилитель U5 используется для подачи аналогового сигнала правого и левого каналов на входы АЦП. На основе данных, полученных от АЦП, реализуются функции индикатора уровня и спектроанализатора. Входы АЦП работают с сигналом в диапазоне 0-5в, поэтому аудиосигнал нужно усилить/ослабить до амплитуды 2.5в и добавить постоянную составляющую 2.5в. Коэфициент усиления определяется R15/R19 и R16/R20. R17 и R18 обеспечивают необходимое смещение на 2.5в. U5 должен быть Rail to Rail по входу и выходу и работать при питании 5в. При настройке резисторами R13, R14 необходимо добиться максимально возможной амплитуды аналогового сигнала на PA6,PA7 (U2) без признаков клипа.

Прошивка, Фьюзы, Моделирование

Для прошивки используется разъем X2. При прошивке контроллера необходимо обязательно отключить от разъема X3 любые модули. После прошивки программы, обязательно заливается файл с данными Eeprom. При установке фьюзов, необходимо отключить JTAG отладчик (JTAGEN) и установить частоту 8 МГц (CKSEL0, CKSEL1, CKSEL2, CKSEL3), все остальное по умолчанию.

К статье прилагается модель контроллера в Proteus 8. С ее помощью можно ознакомиться с контроллером, протестировать функции, индикацию, управляющие сигналы, не собирая устройство. Модель цифрового термометра LM75 я найти не смог, поэтому используется другой подобный датчик и прошивка с учетом этой замены. Для эмуляции пульта ДУ NEC была сделана простая модель и прошивка, модель эмулятора энкодера я нашел в открытом проекте . Прошивки этих моделей лежат вместе с файлом Протеуса.

Термо-датчик


Термо-датчики прижимаются к радиаторам стороной с микросхемой. С другой стороны платы перемычками задаются адреса датчиков на шине I 2 C. Адрес левого канала - 000, правого - 001. Если используется один датчик, задается адрес левого канала. Важное ограничение - выходы включения обдува OS слаботочные, могут пропустить ток до 100 мкА. Это надо учитывать, при подключении к контроллеру ключей, управляющих вентиляторами.


Регулятор громкости Никитина

Использована схема, инверсная относительно оригинальной - при выключенных реле ослабление регулятора максимально. Сдвиговый регистр U1 получает от контроллера (X9) данные с громкостью. Его выходы усилены ключами дарлингтона c защитными диодами U2, т.к. регистр 74HC595 не может обеспечить необходимый ток на все реле. Кроме того, благодаря ULN2003A, можно использовать реле не обязательно на 5в. Обмотки реле могут питаться от платы контроллера, но лучше их питать от отдельного источника, для этого предусмотрен разъем X11. Если используются реле с обмотками более 5в, внешнее питание является единственным вариантом. Выбор источника питания задается перемычками J1 и J2.

При установке всех реле, обеспечивается ослабление до -128 db и шаг регулирования - 1db. Если достаточно ослабления -64db, реле K7 можно не устанавливать. При этом выходной сигнал снимается с разъемов X6,X8. Можно увеличить шаг регулирования до 2db, для этого достаточно не устанавливать реле K1 и входной сигнал подавать на разъемы X2,X4.

Резисторы R15 и R16 нужны для согласования выходного сопротивления регулятора с входным сопротивлением усилителя. R15 устанавливается, если используется выход -64db, R16 - для выхода -128db. Номинал резисторов определяется, исходя из выходного сопротивления РГ 10 кОм и величины входного сопротивления нагрузки. Если не используется селектор входов, необходимо установить резисторы R20,R21,R22 для соединения цифровой и аналоговой земли. При наличии селектора входов, соединять земли лучше на его плате.

Схема управления селектором входов аналогична РГ Никитина, но с некоторыми упрощениями. Так как в любое время включено только одно реле, тока регистра U1 достаточно, и от ULN2003 было решено отказаться. Поэтому в селекторе входов могут использоваться только реле на 5В. При использовании обычных реле, запаивается перемычка J1. Перемычка J2 сделана для экспериментов с бистабильными реле на будущее.

На входной селектор может устанавливаться РГ Никитина. При этом аналоговые входы/выходы и шина управления соединяются с помощью разъемов PLS-PBS. Для этого на селекторе присутствуют два выхода на канал, соответствующие входам РГ Никитина с шагом регулирования 1db и 2db. R1, R2, R3 соединяют аналоговые и цифровую землю. Перемычка на плате J3 позволяет соединить земли с корпусом устройства через металлизированное крепежное отверстие на плате.

В оригинальной схеме ТБ Матюшкина высокие частоты регулируются переменным резистором. Это не укладывалось в концепцию моей конструкции, поэтому резистор был заменен на релейный делитель. Но нужно было сократить количество реле, чтобы регулировку НЧ, ВЧ и включение директа вписать в 7 ног ULN2003. Схему коммутации на трех реле, вместо четырех, я позаимствовал на . Для минимизации платы использованы лавсановые конденсаторы Epcos на 63в c шагом ножек 5мм.

Схема управления переключением реле полностью аналогична РГ Никитина. Единственное дополнение - выход X4 Direct для внешнего реле обхода темброблока. Реле Direct включается, когда все тембры выставлены в 0. Дополнительной команды включения Direct у контроллера пока не предусмотрено, но ее не трудно добавить.



Это первый модуль, с которого началась разработка контроллера. PGA2311 (U2) по управлению представляет из себя два восьмиразрядных сдвиговых регистра, включенных последовательно. Каждый регистр управляет громкостью своего канала. У микросхемы есть выход данных, к которому был подключен еще один обычный регистр U3. Он управляет четырьмя входными реле. Оставшиеся четыре ноги регистра через делитель на 3V передают команды USB цапу - воспр./пауза, стоп, перемотка вправо/влево, пред./след. трек. Это дает возможность с пульта усилителя управлять воспроизведением плей-листов на компьютере, что достаточно удобно. Аналоговое и цифровое питание раздельное и осуществляется от трех стабилизаторов - U4, U5, U6. На плате установлены диодные мосты и фильтры, нужно только подключить трансформатор. Вместо PGA2311 может быть применена микросхема PGA2310, для этого достаточно заменить стабилизаторы U4 и U5 на аналогичные с выходным напряжением 12V. Важная особенность - цифровое и аналоговое питание необходимо подавать синхронно. Конструкция модуля предполагает установку на заднюю стенку усилителя.

Вместо первого аналогового входа можно установить USB Цап PCM2706. Все материалы по нему я выкладывал на . В таком случае вместо разъема X1 RS-813 устанавливается разъем на 3 входа RS-613. На операционном усилителе U1 сделан дополнительный фильтр для ЦАПа. Кроме того, он усиливает выход ЦАПа до стандартных 1.2в.

Измерения

Качество работы модулей после сборки проверялось с помощью измерений программой . В качестве звуковой карты использовалась EMU-0404. Благодаря этому я смог обнаружить и исправить некоторые ошибки в разводке плат. Не буду загромождать статью картинками с результатами измерений, они приложены к файлам проекта. В общем можно сказать, что шумы и гармоники модулей лежат на грани измерительных возможностей EMU-0404.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Контроллер
U1 Линейный регулятор

LM7805

1 В блокнот
U2 МК AVR 8-бит

ATmega16

1 В блокнот
U3, U4 ИС I2C интерфейса

PCF8574A

2 В блокнот
U5 Операционный усилитель

LMC6482QML

1 В блокнот
Q1, Q2 Биполярный транзистор

MMBT3904

1 В блокнот
Q3 Биполярный транзистор

BC807

1 В блокнот
R1, R2 Резистор

1.8 кОм

1 SMD 1206 В блокнот
R3, R4, R5, R17, R18, R19, R20, R21, R22 Резистор

10 кОм

9 SMD 1206 В блокнот
R6, R8 Резистор

100 Ом

2 SMD 1206 В блокнот
R9 Резистор подстроечный

10 кОм

1 3296x В блокнот
R10, R11 Резистор

4.7 кОм

2 SMD 1206 В блокнот
R12 Резистор

10 Ом

1 SMD 1206 В блокнот
R13, R14 Резистор подстроечный

47 кОм

2 3296x В блокнот
R15, R16 Резистор

5.1 кОм

2 SMD 1206 В блокнот
С1, C2, C3, C4, C5, C6, C7 Конденсатор 10 мкф 7 SMD 1206 В блокнот
D1 Диод SMA4007 1 SMA В блокнот
PH1 ИК-приемник TSOP34838 1 38мгц 2.5 мм, 1-Out, 2-Gnd, 3-Vs В блокнот
S1 DIP-переключатель DS1040-08RT 1 В блокнот
X1, X6 Разъем угловой S4B-XH-A 2 XH 2.5 мм, 4 контактa В блокнот
X2 Вилка штыревая PLS-6R 1 2.54мм 1х6 В блокнот
X3, X11, X12 Разъем угловой S5B-XH-A 3 XH 2.5 мм, 5 контактов В блокнот
X4, X5, X7, X10, X13 Разъем угловой S3B-XH-A 5 XH 2.5 мм, 3 контактa В блокнот
X8 Вилка штыревая PLS-9R 1 2.54мм 1х9 В блокнот
X9 Гнездо на плату PBS-16 1 2.54мм 1х16 В блокнот
Дисплей WH2004 1 HD44780 В блокнот
Термо-датчик
U1 Датчик температуры

LM75AD

1 В блокнот
C1 Конденсатор 10 мкф 1 SMD В блокнот
R1 Резистор

100 кОм

1 SMD 1206 В блокнот
U1 Сдвиговый регистр

SN74HC595

1 В блокнот
U2 Составной транзистор

ULN2003

1 В блокнот
R1 Резистор

1.1 кОм

2 SMD 1206 В блокнот
R2 Резистор

82 кОм

2 SMD 1206 В блокнот
R3 Резистор

2 кОм

2 SMD 1206 В блокнот
R4 Резистор

36 кОм

2 SMD 1206 В блокнот
R5 Резистор

3.6 кОм

2 SMD 1206 В блокнот
R6 Резистор

16 кОм

2 SMD 1206 В блокнот
R7 Резистор

6.2 кОм

2 SMD 1206 В блокнот
R8 Резистор

6.8 кОм

2 SMD 1206 В блокнот
R9 Резистор

8.2 кОм

2 SMD 1206 В блокнот
R10 Резистор

1.8 кОм

2 SMD 1206 В блокнот
R11 Резистор

9.1 кОм

2 SMD 1206 В блокнот
R12 Резистор

240 Ом

2 SMD 1206 В блокнот
R13 Резистор

10 кОм

2 SMD 1206 В блокнот
R14 Резистор

6.2 Ом

2 SMD 1206 В блокнот
R15 Резистор * 2 SMD 1206 В блокнот
R16 Резистор * 2 SMD 1206 В блокнот
R17 Резистор

100 кОм

1 SMD 1206 В блокнот
R18, R19 Резистор

0 Ом

2 SMD 1206 В блокнот
R20, R21, R22 Резистор

15 Ом

3 SMD 1206 В блокнот
С1 Конденсатор 10 мкф 1 SMD 1206 В блокнот
K1, K2, K3, K4, K5, K6, K7 Реле G6H-2F 7 TQ2SA или аналогичные В блокнот
X1, X2, X3, X4, X5, X6, X7, X8, X11 Разъем B2B-XH-A 5 XH 2.5 мм, 2 контакта В блокнот
X9 , X10 Разъем B5B-XH-A 2 XH 2.5 мм, 5 контактов В блокнот
U1 Сдвиговый регистр

SN74HC595

1 В блокнот
D1, D2, D3, D4 Выпрямительный диод

PMLL4148L

4 В блокнот
R1, R2, R3 Резистор

10 Ом

3 SMD 1206 В блокнот
С1 Конденсатор 10 мкф 1 SMD1206 В блокнот
K1, K2, K3, K4 Реле G6H-2F 4 TQ2SA 5в или аналогичные В блокнот
X1, X2, X3, X4 Разъем PBS-2 3 2.54мм 1х2 В блокнот
X5 Разъем PBS-5 1 2.54мм 1х5 В блокнот
U1 Сдвиговый регистр

SN74HC595

1 В блокнот
U2 Составной транзистор

ULN2003

1 В блокнот
R1 Резистор

100 кОм

1 SMD 1206 В блокнот
R2, Rl20, Rr20 Резистор

0 Ом

3 SMD 1206 В блокнот
R3, R4, R5 Резистор

10 Ом

3 SMD 1206 В блокнот
Rl1, Rr1 Резистор

7.5 кОм

2 SMD 1206 В блокнот
Rl2, Rr2 Резистор

680 Ом

2 SMD 1206 В блокнот
Rl3, Rr3 Резистор

940 Ом

2 SMD 1206 В блокнот
Rl4, Rr4 Резистор

6.8 кОм

2 SMD 1206 В блокнот
Rl5, Rr5 Резистор

820 Ом

2 SMD 1206 В блокнот
Rl6, Rr6 Резистор

1.3 кОм

2 SMD 1206 В блокнот
Rl7, Rr7 Резистор

2.7 кОм

2 SMD 1206 В блокнот
Rl8, Rr8 Резистор

10 кОм

2 SMD 1206 В блокнот
Rl9, Rr9 Резистор

1.5 кОм

2 SMD 1206 В блокнот
Rl10, Rr10 Резистор

1.8 кОм

2 SMD 1206 В блокнот
Rl11, Rr11 Резистор

3 кОм

2 SMD 1206 В блокнот
Rl12, Rr12 Резистор

14 кОм

2 SMD 1206 В блокнот
Rl13, Rr13 Резистор

1 кОм

2 SMD 1206 В блокнот
Rl14, Rr14 Резистор

4.7 кОм

2 3296W В блокнот
Rl15, Rl16, Rl17, Rr15, Rr16, Rr17 Резистор

16 кОм

6 SMD 1206 В блокнот
Rl18, Rr18 Резистор

36 кОм

2 SMD 1206 В блокнот
Rl19, Rr19 Резистор

12 кОм

2 SMD 1206 В блокнот
C1 Конденсатор 10 мкф 1 SMD 1206

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

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

Рисунок 1

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

Рисунок 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 в "тандемном" включении для сабвуфера).

class="eliadunit">

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

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

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

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

Рисунок 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 изменять нельзя, по ним программа определяет конец надписи!

Предусилитель для мощного домашнего усилителя ЗЧ был построен на основе цифровой микросхемы аудиопроцессора TDA8425, которая управляется с помощью микроконтроллера ATTiny2313. В системе не используется ЖК дисплея, а только линейки светодиодов, на которых отображаются основные сведения о параметрах воспроизведения звука.

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

Предусилитель идеально подходит для работы с любым усилителем, например с . В роли источника сигнала можно использовать mp3-плеер, компьютер, магнитофон или любое устройство подобного типа, оснащенное выходами для наушников или Line-OUT.

Схема УНЧ на TDA8425 и ATTiny2313


Цифровой предусилитель на МК attiny — схема

Базой схемы является микроконтроллер U1 (ATTiny2313) вместе с кварцевым резонатором X1 (16 МГц) и конденсаторами C1 (22pF), C2 (22pF). Резисторы R1 (3,3 k) и R2 (3,3 k) подтягивают потенциал линии SCL и SDA шины I2C к плюсу питания, обеспечивая правильные условия работы МК. Обработкой сигнала звука занимается микросхема звуковой процессор U2 (TDA8425). Аудио сигнал подается на разъемы IN1 и IN2 через конденсаторы C13 — C15 (470nF). На выход предусилителя (разъем OUT) сигнал тоже попадает проходя конденсаторы C17 (2,2 мкф) и C18 (2,2 мкф). Остальные конденсаторы C6 — C12 были применены в соответствии с рекомендациями производителя на основе официального даташита.

БП предусилителя

Для питания всего устройства используется блок питания, построенный на стабилизаторах U3 (7812), U4 (7805) и фильтрующих конденсаторах C3 (470uF), C4 (47uF) и C5 (47uF). Он создает напряжения 12 В и 5 В, необходимые для работы микроконтроллера и процессора звука.

Для прошивки микроконтроллера U1 используется разъем для программирования Prog. Подключение платы контроллера с дисплеем возможно благодаря разъемам GP1 и GP2. Схема дисплея на рисунке далее.


Схема дисплея на светодиодах

Плата дисплея не содержит никаких особенностей. Основной ее частью является LED дисплей — линейка светодиодов. Ток дисплея ограничивается резисторами R1 — R10 (330 Ом). Энкодер I1 позволяет регулировать параметры усилителя, он выполняет одновременно функцию кнопки. Разъемы GP1 и GP2 обеспечивают подключение платы дисплея к плате предварительного усилителя.

Сборка конструкции УНЧ


Платы печатные

Схема управления предусилителя паяется на печатной плате. Монтаж следует начинать с установки всех перемычек (4 шт). Далее паяем резисторы и панельки под микроконтроллер и процессор звука TDA8425. В дальнейшем следует установить остальные элементы, в соответствии с принципом от самых маленьких — до самых больших. Под дисплей хорошо бы использовать прокладку, чтобы его прикрутить заподлицо с энкодером на передней панели.

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

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

Файлы проекта

Все необходимые файлы — прошивка и рисунки печатных плат, можно скачать напрямую с .