Обработка звука с помощью микроконтроллера atmega. Цифровой регулятор громкости и тембра с управлением от ПДУ на PIC16F628A

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

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

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


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

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

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


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

Предусилитель для мощного домашнего усилителя ЗЧ был построен на основе цифровой микросхемы аудиопроцессора 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. В дальнейшем следует установить остальные элементы, в соответствии с принципом от самых маленьких — до самых больших. Под дисплей хорошо бы использовать прокладку, чтобы его прикрутить заподлицо с энкодером на передней панели.

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

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

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

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

Рассказать в:
В широко распространенной в настоящее время аналоговой радиоэлектронной аппаратуре (РЭА) все чаще используют элементы цифровой техники, особенно в узлах, имеющих низкую надежность. Одним из самих надежных элементов РЭА являются переменные резисторы (потенциометры). Ряд фирм разработали широкую номенклатуру цифровых потенциометров, однако такие элементи требуют для своей нормальной роботы микропроцессорное управление, т.е. необходимо использовать микроеонтроллеры (МК). Учитывая далеко не всегда низкую стоимость как МК, так ицифровых понтециометров, актуальной является задача разработки простых дешевых цифровых регуляторов на основе самих микроконтреллеров. Как известно, потенциометр представляет собой регулируемый делитель напряжения и содержит два плеча: верхнее и нижнее. В рассматриваемой в этой статье конструкции верхнее плечо каждого делителя имеет постоянное сопротивление, а сопротивления нижнего плеча изменяется переключением резисторов (на корпус) с помощью МК (рис.1). Принципиальная схема простого двухканального цифрового потенциометра на основе недорогого микроконтроллера PIC16F628A показана на рис.2. Его можно использовать в качестве стереофонического регулятора громкости.
Для переключения резисторов нижних плеч делителей для одного канала цифрового потенциометра используются 6 линий порта А, для другого-6 линий порта В. К выводам портов А и В подключено по шесть точных резисторов R1-R6 и R7-R12 причем номиналы соседних резисторов отличаются в два раза. Учитывая, что используемых резисторов шесть, образуемый ими переменный резистор может иметь 64 положения «движка». Изменения сопротивления нижнего плеча каждого делителя, при выбранных номиналах резисторов, находится в приделах от 5 до 316 кОм. При использовании точных (или точно подобранных) резисторов R1-R12 регулировки может быть не хуже, чем в промышленных образцах цифровых потенциометров, например, МСР4021. Плавное изменение коэффициентов деления в обоих каналах осуществляется нажатием кнопки S1 путем плавного увеличения или уменьшения цифрового кода, обеспечивающего переключения резисторов нижних плеч делителей. С помощью кнопки S2 осуществляется регулировка стереобаланса. Основной сложностью при разработке программы для контроллера было то, что выводы портов А и В нужно постоянно переформатировать то как входы, то как выходы. Причем при работе линий портов в режиме выходов необходимо программно выставлять на них только уровни лог. «0». Если кроме лог. «0» на выводы портов поступит уровень лог. «1» ,то потенциалы на аналоговых выходах устройства будут формироваться непредсказуемым образом. Алгоритм работы МК выбран так, что при каждом последующем нажатии кнопки меняется направление регулировки (интервалы времени между нажатиями кнопок выбирают опытным путем). Во время удержания кнопки коды плавно изменяются (увеличиваются или уменьшаются). После отпускания кнопки значение кодов сохраняются. Устройство может использоваться в самых разнообразных радиоэлектронных устройствах: генераторах, радиоприемных и передающих устройствах, устройствах автоматики, измерительных устройствах, а также усилительных устройствах в качестве сдвоенного цифрового переменного резистора и регулятора баланса в стереофонической звуковоспроизводящее аппаратуре. Разработанное устройство может использоваться также в системах автоматического регулирования усиления (АРУ). Для этого его необходимо дополнить масштабирующим усилителем, диодным выпрямителем и компаратором. Принципиальная схема такого цифрового потенциометра показана на рис.3.
Если уровень входного сигнала компаратора превысит уровень, заданий переменим резистором R23, то компаратор срабатывает, и на его выходе появится постоянное положительное напряжение. Порог срабатывания компаратора ОР2 (а также необходимое усиления сигнала) регулируют переменным резистором R23. Слежение за уровнем сигнала происходит автоматически. Изначально код увеличивается, а после срабатывания компаратора начинает уменьшатся, а затем наоборот. Этот регулятор может найти применение в различных устройствах, в том числе измерительных. Особенность такой цифровой АРУ- отсутствие дополнительного увеличение коэффициента нелинейных искажений, связанного с цепями регулировки в аналоговых системах. Резисторы R1-R12 в схемах рис.1 и рис.2 должны быть точнее, например, типа С2-29В. Можно использовать резисторы близкого номинала, но при этом обязательно соответствующие резисторы в одном и втором каналах должны быть одинаковые. Допустимо использовать и обычные резисторы, но их обязательно нужно подбирать. Конденсаторы С1-С4 лучше использовать неполярные оксидные или пленочные. Входные провода нужно экранировать. Напряжение питания устройства +5 В. Регулятор разработан так, что он работает в режиме микропотребления (внутренний встроенный генератор микропроцессора, низкая тактовая чистота - 37 кГц при токе потребления 15 мкА). Поэтому устройство может быть оформлено в виде автономного малогабаритного блока, который можно включить в разрыв соединительного сигнального кабеля. Это значительно расширяет область использования устройства. Оно может использоваться как в качестве встроенного узла, так и совместно с давно используемыми усилителями. При этом штатные регуляторы громкости этих усилителей можно не использовать. Недостаток устройства: сопротивления не доходит до 0, но, по мнению автора этот недостаток не является существенным. Однако приделы регулировки можно уменьшить до 2,5 кОм путем использования дополнительного седьмого резистора номиналом 5 кОм, при этом «переменный» резистор будет 128 положений, однако программу можно откорректировать. Кто в этом разбирается, может сделать это сам. Если использовать 28-выводный МК типа РІС16F876A, то можно использовать и по восемь резисторов, такой потенциометр будет иметь 256 положений. Для сравнения заметить, что серийно выпускаемые цифровые потенциометры обычно имеют 64 положения, а минимальное сопротивление у них составляет 1,2 кОм(при максимально возможном - 316 кОм)При желанию можно расширить возможности и удобство использования устройства. Если вывод 3 МК через резистор номиналом 10 кОм подключить к +5 В, то на нем появятся импульсы прямоугольной формы звуковой частоты амплитудой размахом 5 В. Подав эти импульсы через делитель напряжения к выходам устройства, получим звуковую сигнализацию, которая будет работать при нажатии кнопок.

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

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

Предварительный усилитель с микроконтроллерным управлением на 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. Третья плата - модуль управления источником питания и дежурный режим. Вот фото:

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

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

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

Схема управления на микроконтроллере.
Так как приходит много вопросов типа: а правда ли это рабочая схема? а как подключать реле? и т.п. статья была переработана и дополнена.

Для тех, кто не боится использовать микроконтроллеры в звуковых устройствах, предлагается схема управления регулятором громкости Никитина на контроллере 16F877A (автор схемы и программы Юрий Глотов).

Схема позволяет:
1. управлять шестизвенным регулятором громкости А.Никитина , благодаря чему можно построить регулятор:

  • с шагом 1 дБ и глубиной регулирования 64 дБ (индикация в децибелах) или
  • с шагом 2 дБ и глубиной регулирования 127 дБ (индикация условная — в шагах).

Внимание!!! Сигналы управления реле контроллер формирует инверсные, что позволяет построить регулятор без щелчков на обычных (не бистабильных) реле.

2. управлять четырёхканальным коммутатором входов для построения предварительного или полного усилителя. Входы коммутируются реле К1-К4, управление осуществляется кнопками S3-S6.

3. переключать входы и управлять регулятором с помощью ПДУ . Можно использовать пульт от любого телевизора или DVD-плейра фирмы Sony . (был опробован RM-834).

4. режим «MUTE» (с пульта) — быстрое приглушение звука до -64 дБ.

В устройстве используется динамическая индикация. Для отображения информации применены семисегментные светодиодные индикаторы с общим анодом .

Функционально конструкция состоит из трёх блоков:

1. плата управления регулятором громкости — на плате смонтирован непосредственно контроллер, транзисторы для управления реле, свой блок питания с сетевым фильтром:

Увеличение по клику

Печатная плата контроллера, выполненная по технологии ЛУТ:

2. панель управления (она же используется как фальш-панель конструкции) — здесь смонтированы все элементы управления усилителем и регулятором, индикаторы, приёмник ДУ и фильтр питания для него:

Увеличение по клику

Печатная плата панели, выполненная по технологии ЛУТ:

3. исполнительная часть — монтируется на плате предусилителя или на отдельных платах коммутатора входов и регулятора громкости, соответственно:

Увеличение по клику

Конструкция и детали:

сетевой фильтр — любой от монитора, DVD-проигрывателя и т.п.
сетевой трансформатор — любой маломощный с выходным напряжением 13-15В
диоды выпрямительного моста — использовались КД212 (потому что у меня их много)
транзисторы Т1-Т6 типа 2SC2655 или 2SD667 (выпаяны из неисправных компьютерных блоков питания)
транзисторы Т8-Т14 КТ815 (КТ817) — понимаю, что излишне мощные, но у меня их много и на плате мало места занимают.
светодиоды — любые
7-сегментые индикаторы — любые с общим анодом. (В конструкции использовался индикатор LD4-BW56RN-A21 с 4 знакоместами просто потому, что был в наличии)
микросхемы стабилизаторов установлены на небольшие радиаторы.

Стабилизатор на 12 Вольт может использоваться для питания индикатора включения, устройства защиты, цепей плавного включения усилителя мощности и т.п., а также при использовании 12-вольтовых реле.
Если у вас 5-вольтовые реле и в напряжении 12 Вольт нет необходимости, то первый стабилизатор можно из схемы исключить, а трансформатор применить с меньшим выходным напряжением(7-9 Вольт).

Конструкция в сборе:

Увеличение по клику

Фото завершённого устройства (сверху пульт от телевизора SONY, который прекрасно подошёл для этой схемы):

Увеличение по клику

Все схемы в одном файле (rar-архив 800 kb)
Все печатные платы (формат Sprint) (rar-архив 120 kb) В архиве два варианта печатных плат блока управления: для 5-вольтовых реле и для 12-вольтовых реле.
Вариант печатных плат от наших читателей (в формате Sprint-Layout, редакцией «РадиоГазеты» НЕ ПРОВЕРЯЛИСЬ!) качаем (rar-архив 153 kb).
Прошивка микроконтроллера : (rar-файл 4kb)

Настройка.

При включении питания по умолчанию выбирается вход №1.
Чтобы задать уровень громкости , который будет устанавливаться при включении устройства , необходимо кнопками S1 и S2 установить требуемое значение и нажать одновременно кнопки "Вход1 " и «Громкость+». Контроллер запомнит выбранный уровень.

1. удерживая нажатыми кнопки «Громкость+» и «Громкость-» на панели управления, подать питание. На индикаторе высветится "0 " — контроллер в режиме чтения кодов.
2. нажимая на пульте необходимые кнопки (для примера: 1,2,3,4 — включение входов, «Volume+» и «Volume-» управление громкостью), считать с индикатора десятичные коды кнопок.
3. перевести десятичные коды в шестнадцатеричные.
4. запрограммировать в контроллер полученные значения, как показано на рисунке:

Важно! Для стабильной работы устройства при использовании ПДУ конденсатор С4 должен быть установлен как можно ближе к фотоприёмнику!

Продолжение следует...