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

Схема кнопочного потенциометра (сдвоенного) с цифровым управлением построена на основе специализированной микросхемы DS1267 от компании Dallas. В этом проекте используется версия 100к. Для управления ей служит микроконтроллер ATTiny13, выбранный из-за небольших размеров. Потенциометр позволяет регулировать максимум 256 шагов, однако можно применить ограниченное значение до 128 шагов. Этот показатель свободно устанавливается изменяя исходный код программы. На плате предусмотрен также вывод поляризации системы DS1267, так называемые «VBias», который можно поляризировать отрицательным напряжением, когда требуется перемещение бОльших чем 0,5 В амплитуд сигнала.

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

Схема электрическая кнопочного регулятора


Схема принципиальная кнопочного регулятора потенциометра

Основой схемы является микроконтроллер U1 (ATTiny13), работающий на внутреннем источнике синхронизации (внутреннем генераторе). По трех-проводной шине он управляет состоянием U2 (DS1267). Выходами потенциометров будут разъемы P1 и P2. Диод D1 вместе с резистором, ограничивающим его ток, выполняет функцию индикатора работы шины. Короткой вспышкой сообщает о факте отправки данных в м/с U2. Конденсатор C1 (100nF) представляет собой фильтр питания.

Изготовление конструкции

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


Готовые для пайки платы

Определенным неудобством является программирование микроконтроллера, так как здесь не предусмотрено разъема программирования. Чтобы запрограммировать МК U1 — подпаяйте аккуратно к его выводам тонкие провода, которые затем будут подключены к программатору. Вывод VB (VBias) соединен с массой схемы, однако, если необходимо подключение этого входа к другой полярности, просто вырежьте фрагмент дорожки между выводами на плате. Когда потенциометр работает для регулировки громкости предусилителя и амплитуда сигнала, что на него подается не превышает 0,5 вольта, то выход VB следует поляризировать относительно отрицательного напряжения -5 В относительно массы. Это обеспечит правильную передачу аналогового сигнала.


кнопочный регулятор — потенциометр

Следует иметь в виду, что потенциометр имеет максимально допустимое напряжение, которое может присутствовать на любом из контактов (относительно GND) от -0.1 до +7 В для Vb = 0 и от -5 до +7 В для Vb = -5 В. При эксплуатации регулятора следует позаботиться о том, чтобы не превышать указанные допустимые границы напряжений. Когда вы питаете схему от отдельного БП, необходимо убедиться, что масса потенциометра (GND) и масса схемы назначения связаны между собой.


Фьюзы биты

На рисунке показаны настройки фузов для микроконтроллера ATTiny13

Управление регулятором

Работа со схемой проста. Изменение громкости осуществляется нажатием кнопок S1 и S2. Удержание нажатой кнопки вызывает плавное перемещение воображаемого ползунка потенциометра в нужном направлении. Светодиод D1 сигнализирует своим миганием факт изменения положения ползунка. Когда он достигнет одной из крайних позиций — индикатор перестанет мигать, хотя вы и продолжите держать нажатой кнопку.


Подключение регулятора

Прошивка и плата

Все необходимые для самостоятельной сборки файлы вы можете .

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

Данная конструкция появилась после того, как я собрал известный усилитель 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

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

Принципиальная схема основного блока

Предварительный усилитель с микроконтроллерным управлением на Atmega16 построен по модульному принципу, то есть отдельные модули каждый может выполнить по своему желанию и предпочтениям. Особенно это относится к выходным усилителям мощности, источникам питания, защиты акустических систем. В этом материале мы рассмотрим входной модуль на микросхеме TDA7313 и процессорный блок управления. Микросхема TDA7313 включена по типовой схеме и особенностей не имеет. Питается блок от источника питания напряжением +9 Вольт. Больше этот блок особенностей не имеет. Файлы печатной платы этого и других модулей в архиве на форуме , там же есть принципиальные схемы на подключение клавиатуры, оконечный усилитель и БП.

Основные параметры модуля:

1. Регулировка громкости (16 уровней);
2. Регулировка усиления (4 уровней);
3. Регулировка тембра НЧ (16 уровней);
4. Регулировка тембра ВЧ (16 уровней);
5. Регулировка баланса фронтальных колонок (16 уровней);
6. Регулировка баланса тыловых колонок (16 уровней);
7. LOUDNESS - Вкл/выкл тонконпесации;
8. Режим MUTE;
9. Режим STANDBY;
10. Показ времени в режиме MUTE и STANDBY а также по истечению 10 секунд, когда не было нажатий на клавиатуре и других управляющих воздействий;
11. Управление всеми функциями с клавиатуры, пульта дистанционного управления (ПДУ) ПДУ работает по стандарту RC-5, как одним из самых распространенных;
12. Управление с помощью Валкодера (encoder);
13. Контроль температуры радиаторов или внутренней температуры в корпусе по двум каналам на основе датчиков от DALLAS DS18x20. При превышении установленной температуры контроля включается вентилятор охлаждения.

В модуле применены в основном SMD элементы. Микросхемы в DIP корпусах. Диод VD10 установлен с противоположной стороны платы. Управление усилителем производится с помощью клавиатуры, валкодера и пульта ПДУ. Можно применить любой пульт, который работает по стандарту. Клавиатура построена в виде матрицы из 12 кнопок (4х3):

INPUT1 - выбор 1 канала;
INPUT2 - выбор 2 канала;
INPUT3 - выбор 3 канала;
LOUDNESS - включение/выключение режима тонконпенсации;
MUTE - выключение звука (выключение происходит плавно, а не резко). Повторное нажатие включает звук;
STANDBY - выключение усилителя. Происходит отключение усилителя мощности и его источника питания, процессорный модуль работает в дежурном режиме;
MENU - кнопка для входа в дополнительное меню, в нем можно установить дополнительные параметры, таких как время, дата, температура срабатывания датчиков температуры контроля радиаторов. Повторное нажатие на эту кнопку в этом режиме происходи возврат в основное меню управления усилителем без сохранения параметров. Чтобы новые параметры были сохранены, надо нажать на кнопку SET .
SET - как сказано выше, это сохранения введенных новых параметров в подменю. В главном при нажатии на клавишу SET можно посмотреть температуру радиаторов, информация выводиться в течении 3 сек.
UP/DOWN - переход к предыдущему/следующему пункта меню или субменю;
LEFT/RIGHT - уменьшение/увеличение соответствующего параметра, который отображается на индикаторе.

Основные кнопки отрабатываются программой практически мгновенно, а вот нажатие и отклик на кнопку STANDBY требуется нажатии в течении приблизительно 3 секунд. Кнопок MUTE и LOUDNESS около 1 секунды. Это сделано для исключения срабатывания при случайном нажатии на эти кнопки особенно если используется пульт ДУ. Главное меню программы по управлению усилителем состоит из следующих пунктов:

Volume (Громкость)
Attens (Усиление)
Bass (Тембр НЧ)
Treble (Тембр ВЧ)
Balans F (Баланс фронтальных колонок)
Balans R (Баланс тыловых колонок)

В этом режиме работает также клавиша SET , при нажатии на которую в течение 3 секунд выводятся значения температуры от датчиков. При нажатии на кнопку MENU мы попадем в дополнительное меню для установки параметров времени, даты и максимальной температуры для срабатывания защиты температуры. Это меню состоит из пунктов:

"Set Time: Hour " (установка времени - часы),
"Set Time: Min " (установка времени - минуты),
"Set Time: Sec " (установка времени - секунды),
"Set Date: Day " (установка даты - день),
"Set Date: Mes " (установка даты - месяц),
"Set Date: Year " (установка даты - год),
"Set MAX DS18x20 " (установка температуры срабатывания тепловой защиты).

В этом режиме движение по меню осуществляется клавишами UP/DOWN (и клавишами ПДУ), а регулировка параметра клавишами LEFT/RIGHT (и валкодером). В любом из пунктов, если мы нажмем на клавишу MENU , то мы вернемся в главное меню без записи новых значений, а если нажмем клавишу SET , то с сохранением введенных параметров. Для удобства, автор привел прошивки на английском, русском и украинских языках. Как вариант, для себя решил управлять лишь пультом, поэтому валкодер и клавиатуру собирать и устанавливать не хочу. Плату, что привел автор, делал под себя, так что решил развести свою.

Закончил сборку предусилителя - всё открывается и регулируется. Так как датчиков нет, то и они не определены (в виде черточек в дежурном режиме). Плату развел свою под SMD, но процессор в Dip корпусе, по сему плата под него по размерам индикатора - это основная причина, по которой не выкладываю плату в Lay .

Вторая плата будет самого предварительного усилителя на TDA7313. Третья плата - модуль управления источником питания и дежурный режим. Вот фото:

Пришло время испытаний. Играет супер! Радует глубина регулировки НЧ и ВЧ, бас мягкий, высокие до "циканья" пищалок (хотя с ОМ будет конечно веселее), тонкомпенсация особенно понравилась очень впечатлительным подъёмом на НЧ. В общем по устройству пока могу сказать только одно - сплошные плюсы!

Погоняв с пол дня не обнаружил каких-либо недочётов в прошивке, работа на пульт четкая, В общем если кто решит повторить эту схему, то не пожалеет! Автор схемы - Андрей Дойников . Сборка и испытание - ГУБЕРНАТОР .

Обсудить статью МИКРОКОНТРОЛЛЕРНОЕ УПРАВЛЕНИЕ В УНЧ

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

В данной статье рассказано, как, используя микросхемы аудиопроцессора и микроконтроллера, можно изготовить блок цифровых регуляторов громкости и тембра системы пространственного звучания при наличии компьютера или 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 изменять нельзя, по ним программа определяет конец надписи!