====== Усилитель класса 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}}