Усилитель класса D (Troyka-модуль)
Импульсный усилитель добавит громкости умному дому, пробудит жизнь в батиных колонках и не даст заснуть соседям.
Видеообзор
Усилитель на пальцах
Классификация усилителей
По способу работы с входным сигналом и принципу построения усилительных каскадов УМЗЧ делятся на классы:
- Класс A
- Класс B
- Класс AB
- Класс D
Класс A
Класс B
Класс AB
Класс D
Примеры работы
Простой усилитель
Усилителю для работы даже не понадобится микроконтроллер. Всё что надо — источник звука, пару пассивных колонок и источник напряжения от 3 до 5 вольт.
Схема сборки
Включайте любимые хиты, радуйте соседей и вперёд.
Будьте внимательны, «доброжелатели» могут послать ответочку.
Усилитель для DFPlayer
Заменим источник звука на DFPlayer. Плеер поддерживает ручное и программное управление. Ручное осуществляется с помощью кнопок и резисторов, а программное — управляющей электроникой по интерфейсу UART. В качестве примера выберем резисторы и кнопки.
Что вам понадобится?
- Источник питания от 3,3 до 5 вольт. Например три батарейки с батарейным отсеком.
- Пара пассивных акустических систем
Аудиофайл
Плеер умеет воспроизводить музыкальные файлы в формате MP3
. В следствии чего просто скопируйте на microSD карту необходимые треки.
Схема сборки
Для воспроизведения музыкальных файлов по очереди, необходимо установить между пином ADKEY_1
и GND
резистор на 51 кОм. В нашем случае возьмём два резистора по 100 кОм в параллели — 50 кОм и скоммутируем их через тактовую кнопку. В итоге при клике кнопки плеер включится, а при повторном — выключиться.
Моно режим с Arduino M0
Платформы Arduino с ядром Cortex-M0 позволяют воспроизводить звуковые дорожки с карты памяти через цифро-аналоговый преобразователь на пине A0
.
Что вам понадобится?
- Пара пассивных акустических систем
Аудиофайл
Подготовьте файл для воспроизведения:
- Скачайте и установите программу для конвертации аудиоформатов «Audacity»
- Сконвертируйте требуемый музыкальный файл в формат
WAV
с характеристиками:- Режим: моно
- Частоте дискретизации: 88200 Гц
- Количестве бит в сэмпле: 8 бит
- Скопируйте полученный файл на SD-карту.
Схема сборки
Платформы на ядре Cortex-M0 имеют только один ЦАП — аудио сигнал. В итоге на выходе только один усиленный канал. Для работы двух акустических систем — переведите усилитель в моно режим путём установки джампера объединения входных каналов.
Пример кода
Для работы примера — установите библиотеку AudioZero из менеджера библиотек.
- audioPlayerM0.ino
// библиотека для работы шины SPI #include <SPI.h> // библиотека для работы c картой microSD #include <SD.h> // библиотека для воспроизведения музыки с помощью Arduino M0 #include <AudioZero.h> // пин выбора устройства на шине SPI #define SD_CS_PIN 8 void setup() { // открываем монитор Serial-порта Serial.begin(9600); // выводим сообщение в Serial-порт о поиске карты памяти Serial.print("Initializing SD card..."); // если microSD-карта не была обнаружена while (!SD.begin(SD_CS_PIN)) { // выводим сообщение об ошибке Serial.println("Card failed, or not present"); // ждём одну секунду и повторяем попытку delay(1000); } // выводим сообщение об успешной поиске карты памяти Serial.println("Card initialized..."); // выставляем частоту воспроизведения AudioZero.begin(2 * 44100); } void loop() { // открываем wave-файл с карточки microSD File myFile = SD.open("test-m0.wav"); if (!myFile) { // если файл не открылся, пишем об ошибке и останавливаем код Serial.println("Error opening music file..."); while (true); } // выводим сообщение о начале воспроизведения Serial.print("Playing"); // воспроизводим файл AudioZero.play(myFile); // выводим сообщение об окончании проигрывания файла Serial.println("End of file. Thank you for listening!"); // останавливаем код while (true); }
Стерео режим с Arduino Due
Платформа Arduino Due с ядром Cortex-M3 позволяет воспроизводить звуковые дорожки с карты памяти через два цифро-аналоговых преобразователя в стерео режиме на пинах A12
и A13
.
Что вам понадобится?
- Пара пассивных акустических систем
Аудиофайл
Подготовьте файл для воспроизведения:
- Скачайте и установите программу для конвертации аудиоформатов «Audacity»
- Сконвертируйте требуемый музыкальный файл в формат
WAV
с характеристиками:- Режим: стерео
- Частота дискретизации: 22050 Гц
- Количестве бит в сэмпле: 16 бит
- Скопируйте полученный файл на SD-карту.
Схема сборки
Пример кода
Для работы примера — установите библиотеку Audio из менеджера библиотек.
- audioPlayerDue.ino
// библиотека для работы шины SPI #include <SPI.h> // библиотека для работы c картой microSD #include <SD.h> // библиотека для воспроизведения музыки с помощью Arduino Due #include <Audio.h> // пин выбора устройства на шине SPI #define SD_CS_PIN 8 // громкость музыки #define VOLUME 256 // количество сэмплов, считываемых за один блок #define COUNT_SAMPLES 1024 // создаём буффер сэмплов считываемых за один блок short buffer[COUNT_SAMPLES]; void setup() { // открываем монитор Serial-порта Serial.begin(9600); // выводим сообщение в Serial-порт о поиске карты памяти Serial.println("Initializing SD card..."); // если microSD-карта не была обнаружена while (!SD.begin(SD_CS_PIN)) { // выводим сообщение об ошибке Serial.println("Card failed, or not present"); // ждём одну секунду и повторяем попытку delay(1000); } // выводим сообщение об успешной поиске карты памяти Serial.println("Card initialized..."); // выставляем частоту воспроизведения Audio.begin(44100, 100); } void loop() { // открываем wave-файл с карточки microSD File myFile = SD.open("test-due.wav"); if (!myFile) { // если файл не открылся, пишем об ошибке и останавливаем код Serial.println("Error opening music file..."); while (true); } // выводим сообщение о начале воспроизведения Serial.print("Playing"); // пока файл не закончился while (myFile.available()) { // считываем сэмплы из файла в буфер myFile.read(buffer, sizeof(buffer)); // подготавливаем сэмплы Audio.prepare(buffer, COUNT_SAMPLES, VOLUME); // «скармливаем» сэмплы Audio.write(buffer, COUNT_SAMPLES); } // закрываем файл myFile.close(); // выводим сообщение об окончании проигрывания файла Serial.println("End of file. Thank you for listening!"); // останавливаем код while (true); }
Пример к Iskra JS
Что вам понадобится?
- Пара пассивных акустических систем
Аудиофайл
Подготовьте файл для воспроизведения:
- Скачайте и установите программу для конвертации аудиоформатов «Audacity»
- Сконвертируйте требуемый музыкальный файл в формат
WAV
с характеристиками:- Режим: стерео
- Частота дискретизации: 22050 Гц
- Количестве бит в сэмпле: 16 бит
- Скопируйте полученный файл на SD-карту.
Схема сборки
Пример кода
- audioPlayerJS.js
var sdCard = require('@amperka/card-reader').connect(P8); // создаём объект для работы с файлом «test-js.raw» var file = E.openFile("test-js.raw","r"); // создаём объект для воспроизведения с количесвом семплов // и включаем дублирующий буффер var wave = new Waveform(2048, { doubleBuffer: true }); // загружаем первые данные в файл wave.buffer.set(f.read(wave.buffer.length)); wave.buffer2.set(f.read(wave.buffer.length)); var fileBuf = f.read(wave.buffer.length); // когда буффер закончился, играем следущий wave.on("buffer", function(buf) { buf.set(fileBuf); fileBuf = f.read(buf.length); if (fileBuf === undefined) { wave.stop(); } }); // начинаем воспроизводить семпл analogWrite(A4, 0.5); wave.startOutput(A4, 11025, {repeat:true});
Элементы платы
Микросхема PAM8403
Troyka-контакты
Контакты входного сигнала
Клеммник выходного сигнала
Выбор режима усилителя
Принципиальная и монтажная схемы
Характеристики
- Чип усилителя: PAM8403
- Тип усилителя: Класс D
- Частота: 20-20000 Гц
- Коэффициент усиления: 24 дБ
- Отношение сигнал/шум: 80 дБ
- Динамический диапазон: 90 дБ
- Количество каналов: 2
- Режим работы: моно/стерео
- Выходная мощность:
- при нагрузке 8 Ом: 1,5 Вт × 2 канала;
- при нагрузке 4 Ом: 3,0 Вт × 2 канала;
- КПД до 90% (не требует радиаторов охлаждения)
- Напряжение питания: 3.3–5 В
- Ток потребления:
- при отсутствии сигнала: до 16 мА;
- при активном сигналев в пиках: до 1 А
- Интерфейс на вход: два цифро-аналогового сигнала с микроконтроллера или внешнего плеера (Troyka-контакты)
- Интерфейс на выход: два усиленных аудио сигнала на акустические устройства (Колодки под винт)
- Встроенная защита от перегрева: после 120 ˚С;
- Габариты: 25,4×25,4 мм