Усилитель класса D на Attiny15L

В последнее время широкое использование получили усилители с высоким КПД – 90% и более. В них звуковой сигнал преобразуется в ШИМ (широтно-импульсно модулированный), что и обуславливает их высокий КПД, так как выходные каскады при этом работают в ключевом режиме. Современные промышленные образцы таких усилителей — это монолитные микросхемы, объединяющие процессор и мощные выходные каскады. Поэкспериментировать с ними, например, поменять алгоритм ШИМ преобразования, затруднительно.
Рассматриваемое устройство позволяет ознакомиться с одним из вариантов реализации усилителя класса D. Контроллер ATtiny15L семейства AVR фирмы Atmel как нельзя лучше подходит для этой цели, так как содержит десятиразрядный аналогово-цифровой преобразователь (АЦП) и таймер с широтно-импульсным модулятором (ШИМ).
Схема, благодаря применению микроконтроллера, получается очень простой.

Опорным напряжением АЦП выбирается напряжение питания (биты регистра ADMUX REFS1=0, REFS0=0) . Сигнальный вход контроллера – один из входов АЦП, в данном случае, вход – 3 (РВ 4). Выходом сигнала ШИМ служит – выход таймера ОС 1 (РВ 1). Вспомогательные выходы: РВ0 и РВ2 коммутируют положительную и отрицательную волну сигнала – соответственно.
Для предварительного усиления сигнала необходим линейный усилительный каскад с коэффициентом усиления К=10, причем напряжение на его выходе в отсутствие сигнала должно составлять половину напряжения питания, поэтому величины резисторов R1 и R2 равны, а операционный усилитель (ОУ) TL071 имеет большое входное сопротивление.
Программа использует два прерывания: по переполнению таймера Т1 и по окончанию цикла работы АЦП. АЦП конфигурируется на выравнивание результата по правому краю. При прерывании от АЦП результат считывается в рабочие регистры и сдвигается на один разряд вправо, таким образом, нулевой разряд старшего байта служит критерием коммутации положительной и отрицательной полуволн. По переполнению таймера обновляется содержимое регистра ШИМ.
Для формирования сигнала необходимого для управления мостовым выходным усилителем предназначен логический элемент 4И-НЕ (561ЛА7). В усилителе применены составные транзисторы КТ972А, КТ973А.
Наладку усилителя следует начинать со сборки предварительного усилителя, прежде всего, необходимо убедиться, что на выходе ОУ присутствует напряжение близкое к 2,5В при питании от 5В.
Следующий этап – прошивка микроконтроллера. Для прошивки микроконтроллера Tiny15L использовался программатор PonyProg. Он удобен тем, что не требует дополнительного источника питания (питается от СОМ порта компьютера) и не содержит микроконтроллеров. После программирования контроллера подаем тестовый сигнал 1кГц от генератора на вход ОУ, так чтобы на его выходе амплитуда была не более 2В. На выходах микроконтроллера РВ0 и РВ2 должен быть меандр с той же частотой, на РВ1 – ШИМ сигнал с частотой примерно 100кГц.
Требовать высокого качества звучания от усилителя не следует, контроллер, применяемый в нем, не предназначен для обработки аудио сигнала.
Файл прошивки имеет имя: Amp_t15.hex, файл листинга (для любителей программирования) Amp_t15.asm.

Для написания программы использовалась стандартная программа фирмы Atmel – AVRStudio версия 4.12, отладка производилась с помощью VMLAB версии 3.14.

Скачать архив с файлами схемы и прошивки контроллера: amp15


3 Комментария “Усилитель класса D на Attiny15L

Ответить