====== Усилитель класса D (Troyka-модуль) ======
[[amp>product/troyka-amplifier-d?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Импульсный усилитель]] добавит громкости умному дому, пробудит жизнь в батиных колонках и не даст заснуть соседям.
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d.5.jpg?nolink |}}
===== Видеообзор =====
{{youtube>7eA0vEaO1W4?large}}
===== Усилитель на пальцах =====
==== Классификация усилителей ====
По способу работы с входным сигналом и принципу построения усилительных каскадов УМЗЧ делятся на классы:
* Класс A
* Класс B
* Класс AB
* Класс D
=== Класс A ===
{{ :продукты:troyka-amplifier-d:amplifier_schematic_class_a.png?nolink |}}
=== Класс B ===
{{ :продукты:troyka-amplifier-d:amplifier_schematic_class_b.png?nolink |}}
=== Класс AB ===
{{ :продукты:troyka-amplifier-d:amplifier_schematic_class_ab.png?nolink |}}
=== Класс D ===
{{ :продукты:troyka-amplifier-d:amplifier_schematic_class_d.png?nolink |}}
{{ :продукты:troyka-amplifier-d:amplifier_schematic_class_d_pwm.png?nolink |}}
===== Примеры работы ======
==== Простой усилитель ====
Усилителю для работы даже не понадобится микроконтроллер. Всё что надо — источник звука, пару пассивных колонок и источник напряжения от 3 до 5 вольт.
=== Схема сборки ===
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_scheme_player.png?nolink |}}
Включайте любимые хиты, радуйте соседей и вперёд.
Будьте внимательны, «доброжелатели» могут послать [[projects:radiatorbang|ответочку]].
==== Усилитель для DFPlayer ====
Заменим источник звука на [[amp>product/df-player-mp3-module?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|DFPlayer]]. Плеер поддерживает ручное и программное управление. Ручное осуществляется с помощью кнопок и резисторов, а программное — управляющей электроникой по интерфейсу [[видеоуроки:6-serial-и-processing|UART]].
В качестве примера выберем резисторы и кнопки.
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_df-player.png?nolink |}}
=== Что вам понадобится? ===
* [[amp>product/df-player-mp3-module?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|DFPlayer]]
* [[amp>product/microsd-16gb?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|MicroSD-карта]]
* [[amp>product/troyka-amplifier-d?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Усилитель класса D]]
* [[amp>product/breadboard-mini?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Breadboard Mini]]
* [[amp>product/tactile-button?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Кнопка тактовая]]
* [[amp>product/resistor?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Резистор на 100 кОм (2 шт.)]]
* [[amp>product/wire-mm?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Соединительные провода «папа-папа»]]
* Источник питания от 3,3 до 5 вольт. Например три [[amp>product/battery-aa-duracell?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|батарейки]] с [[amp>product/battery-holder-3aa?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|батарейным отсеком]].
* Пара пассивных акустических систем
=== Аудиофайл ===
Плеер умеет воспроизводить музыкальные файлы в формате ''MP3''. В следствии чего просто скопируйте на microSD карту необходимые треки.
=== Схема сборки ===
Для воспроизведения музыкальных файлов по очереди, необходимо установить между пином ''ADKEY_1'' и ''GND'' резистор на 51 кОм. В нашем случае возьмём два резистора по 100 кОм в параллели — 50 кОм и скоммутируем их через тактовую кнопку. В итоге при клике кнопки плеер включится, а при повторном — выключиться.
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_scheme_df-player.png?nolink |}}
==== Моно режим с Arduino M0 ====
Платформы Arduino с ядром Cortex-M0 позволяют воспроизводить звуковые дорожки с карты памяти через цифро-аналоговый преобразователь на пине ''A0''.
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_arduino-m0.png?nolink |}}
=== Что вам понадобится? ===
* [[amp>product/arduino-m0?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Arduino M0]] или [[amp>product/arduino-m0-pro?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Arduino M0 Pro]]
* [[amp>product/arduino-troyka-slot-shield?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Troyka Slot Shield]]
* [[amp>product/troyka-sd?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|SD-картридер]]
* [[amp>product/microsd-16gb?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|MicroSD-карта]]
* [[amp>product/troyka-amplifier-d?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Усилитель класса D]]
* [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Кабель USB (A — Micro USB)]]
* Пара пассивных акустических систем
=== Аудиофайл ===
Подготовьте файл для воспроизведения:
- Скачайте и установите программу для конвертации аудиоформатов [[https://www.audacityteam.org/|«Audacity»]]
- Сконвертируйте требуемый музыкальный файл в формат ''WAV'' с характеристиками:
- Режим: моно
- Частоте дискретизации: 88200 Гц
- Количестве бит в сэмпле: 8 бит
- Скопируйте полученный файл на SD-карту.
=== Схема сборки ===
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_scheme_arduino-m0.png?nolink |}}
Платформы на ядре Cortex-M0 имеют только один ЦАП — аудио сигнал. В итоге на выходе только один усиленный канал. Для работы двух акустических систем — переведите усилитель в моно режим путём установки джампера объединения входных каналов.
=== Пример кода ===
Для работы примера — установите библиотеку [[https://www.arduino.cc/en/Reference/AudioZero|AudioZero]] из менеджера библиотек.
// библиотека для работы шины SPI
#include
// библиотека для работы c картой microSD
#include
// библиотека для воспроизведения музыки с помощью Arduino M0
#include
// пин выбора устройства на шине 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''.
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_arduino-due.png?nolink |}}
=== Что вам понадобится? ===
* [[amp>product/arduino-due?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Arduino Due]]
* [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Troyka Shield]]
* [[amp>product/arduino-troyka-mega-tail-shield?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Troyka Mega Tail Shield]]
* [[amp>product/troyka-sd?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|SD-картридер]]
* [[amp>product/microsd-16gb?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|MicroSD-карта]]
* [[amp>product/troyka-amplifier-d?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Усилитель класса D]]
* [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Кабель USB (A — Micro USB)]]
* Пара пассивных акустических систем
=== Аудиофайл ===
Подготовьте файл для воспроизведения:
- Скачайте и установите программу для конвертации аудиоформатов [[https://www.audacityteam.org/|«Audacity»]]
- Сконвертируйте требуемый музыкальный файл в формат ''WAV'' с характеристиками:
- Режим: стерео
- Частота дискретизации: 22050 Гц
- Количестве бит в сэмпле: 16 бит
- Скопируйте полученный файл на SD-карту.
=== Схема сборки ===
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_scheme_arduino-due.png?nolink |}}
=== Пример кода ===
Для работы примера — установите библиотеку [[https://www.arduino.cc/en/Reference/Audio|Audio]] из менеджера библиотек.
// библиотека для работы шины SPI
#include
// библиотека для работы c картой microSD
#include
// библиотека для воспроизведения музыки с помощью Arduino Due
#include
// пин выбора устройства на шине 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 ====
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_iskra-js.png?nolink |}}
=== Что вам понадобится? ===
* [[amp>product/iskra-js?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Iskra JS]]
* [[amp>product/arduino-troyka-slot-shield?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Troyka Slot Shield]]
* [[amp>product/troyka-sd?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|SD картридер]]
* [[amp>product/microsd-16gb?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|MicroSD-карта]]
* [[amp>product/troyka-amplifier-d?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Усилитель класса D]]
* [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Кабель USB (A — Micro USB)]]
* Пара пассивных акустических систем
=== Аудиофайл ===
Подготовьте файл для воспроизведения:
- Скачайте и установите программу для конвертации аудиоформатов [[https://www.audacityteam.org/|«Audacity»]]
- Сконвертируйте требуемый музыкальный файл в формат ''WAV'' с характеристиками:
- Режим: стерео
- Частота дискретизации: 22050 Гц
- Количестве бит в сэмпле: 16 бит
- Скопируйте полученный файл на SD-карту.
=== Схема сборки ===
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_scheme_iskra-js.png?nolink |}}
=== Пример кода ===
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});
===== Элементы платы =====
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_annotation.png?nolink |}}
==== Микросхема PAM8403 ====
==== Troyka-контакты ====
==== Контакты входного сигнала ====
==== Клеммник выходного сигнала ====
==== Выбор режима усилителя ====
===== Принципиальная и монтажная схемы =====
{{:продукты:troyka-amplifier-d:troyka-amplifier-d_schematic.png?direct&400 |}}
{{ :продукты:troyka-amplifier-d:troyka-amplifier-d_layout.png?direct&250|}}
===== Характеристики =====
* Чип усилителя: 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 мм
===== Ресурсы =====
* [[amp>product/troyka-amplifier-d?utm_source=man&utm_campaign=troyka-amplifier-d&utm_medium=wiki|Усилитель класса D]] в магазине
* [[https://github.com/amperka/hardware-drawings/blob/master/troyka-amplifier-d.svg|Векторное изображение УНЧ]]
* {{:продукты:troyka-amplifier-d:pam8403_datasheet.pdf|Datasheet на микросхему PAM8403}}