Site Loader

Усилитель на PAM8403 с регулятором громкости.

Здравствуйте. Обзор полезной платки для сборки активных акустических колонок. А также сборка такой колонки с минимумом труда, опыта и знаний
Схема.

Характеристики:

Диапазон напряжения питания……….DC + 2,5-6,4В
Максимальная выходная мощность:
4Ом, + 5В Кг=10% ……………………………………….3,2Вт
8Ом, + 5В Кг=10% ……………………………………….1,8Вт
4Ом, + 5В Кг=1% …………………………………………2,5Вт
8Ом, + 5В Кг=1% …………………………………………1,4Вт
Коэффициент усиления…………………………………24 дБ
Частотная характеристика …………………20-20000 Гц
Отношение сигнал/шум……………………………..> 80дБ
Динамический диапазон…………………………….> 90дБ

Коэффициент гармоник + шум (THD+N)
(При напряжении питания + 5/3,6 В, синусоида 1 кГц, 4/8 Ом)
THD+N 1,0 / 0,5W .

……………………………………..0,15%
THD+N 1,0 / 0,5W……………………………………….0,11%

Встроенная защита от перегрева +120 °С;
Размеры платы 30ммх20 ммх 15 мм
Вес 8,25 г
.
Даташит

Плата PAM8403 представляет из себя высококачественный, высокоэффективный двухканальный усилитель мощности класса D. Усилитель построен на микросхеме PAM8403 производства Power Analog Microelectronics. Для питания усилителя можно использовать однополярный источник питания постоянного тока 2,5 — 6,4 в

Фото платки крупным планом. Куда что паять все подписано. Инструкции и схемы не требуется.




Флюс на смыт, мелочь, а не приятно.


Сделаю на основе сабжа активную стерео колонку. Для этого буду использовать пищевой контейнер. Чем он хорош. Корыто у него жесткое, что даст акустическое оформление с минимумом призвуков. А крышка мягкая, что позволяет ее легко резать и сверлить.
Корыто я решил на портить дырками, мало ли что, может на рыбалке придется срочно рыбу засолить или как говорил один из комментаторов- доширак запарить, а подходящей посуды под рукой не окажется… Все детали решил разместить на крышке.
Кроме самого усилителя потребуются: модуль зарядки, аудио гнездо 3,5 мм, держатель аккумулятора 18650 и сам аккумулятор, громкоговорители, винтики и гаечки. Да и поворотная рукоятка тоже

Для начала размечаю карандашом.

И начинаю резать канцелярским ножом отверстия под динамики. Резать надо осторожно, по миллиметру. Крышка хоть и сделана из мягкого материала, но подвержена к раскалыванию.

Устанавливаю громкоговорители. Сверлю отверстия под сабж, аудио гнездо 3,5 мм, держатель элемента 18650.

Устанавливаю держатель аккумулятора с приклеенным зарядным модулем.

И все остальные устройства. Винты и гайки от детского «железного» конструктора. Ради них и покупался. Халява то закончилась, сейчас все на защелках. Элементу 18650, кстати, больше 15 лет

Захлопываю крышку на корыте. Колонка готова.


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

Можно подключить блютуз ресивер и получится новомодная блютуз колонка.

Диффузор на одном динамике помят, но это влияет на качество звука.


Звучит колонка вполне достойно. Имеется верхний бас, хорошо отрабатывается середина, высокие частоты тоже есть, но не кристальные. При избыточной громкости естественно появляются искажения. Звук можно улучшить заполнив объем ватой. Можно врезать фазоинвертор или пассивный излучатель, но это уже в других конструкциях.

Несмотря на старенький аккумулятор, за весь день посадить агрегат не смог.
На этом все.
Спасибо за внимание.

Говорящие часы TalkingLEDClock Часть 3: Прошивка — DiMoon Electronics

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

Дополнение ко 2-й части

Сначала хочу сделать несколько дополнений к прошлой статье.

1. Модуль усилителя на PAM8403

Так как в данном модуле не выведен сигнал отключения усилителя, необходимо произвести некоторую доработку модуля. Для начала открываем Datasheet на микросхему PAM8403 и находим вот эту картинку:

Рис. 1. Микросхема PAM8403 

Нас интересует вывод 12, который называется SHDN. Если на этом выводе установить уровень логического нуля, то усилитель PAM8403 отключается. Задача состоит в отключении этого вывода от +5 вольт на плате и подпайки к нему куска гибкого провода для последующего подключения этого сигнала к основной плате часов.

Доработку производил следующим образом. Сначала паяльным феном снимаю микросхему с платы:

Рис. 2. Перемычка между 12 и 13 выводами микросхемы

Между 12 и 13 выводами видим перемычку, которую необходимо удалить:

Рис. 3. Место перемычки

После этого запаиваю микросхему PAM8403 обратно и припаиваю проводок к 12-му выводу:

Рис. 4. Модуль PAM8403 после доработки

На этом доработка завершена. Все это можно было выполнить каким-либо другим способом, но я решил сделать именно так.

После этого устанавливаем разъемы типа «гребенка» в отверстия на плате и запаиваем их как показано на фото:

Рис. 5. Модуль усилителя перед установкой на основную плату часов

Так как в моем случае места в корпусе оказалось очень мало и динамик часов упирался в модуль усилителя, необходимо удалить желтые пластиковые элементы с «гребенок» перед установкой модуля на основную плату. Это позволяет выиграть лишние 2 миллиметра пространства, которых не хватало. После установки модуля необходимо срезать лишнюю длину гребенок с обеих сторон:

Рис. 6. Модуль PAM8403 установлен на основную плату

Провод от 12-го вывода микросхемы припаивается вот в это отверстие на плате:

Рис. 7. Отверстие подключения управляющего провода от PAM8403

2. Конденсатор С2 и С10

Конденсатор С10 диаметром 4 мм, емкость 22 мкф устанавливается боком. С2 диаметром 5 мм, емкость 100 мкф устанавливается с обратной стороны платы так же боком.

Рис. 8. Электролитические конденсаторы C2 и С10

После сборки всей конструкции нижняя часть динамика немного упирается в конденсатор C10, что предотвращает сильное прогибание корпуса часов и не допускает короткое замыкание от прикосновения динамика к модулю усилителя DA2.

3. Отладочная плата с МК STM32

Перед запайкой «гребенок» на отладочную плату STM32, желательно удалить из этой «гребенки» контакты выводов C15, C14 и C13 как показано на рисунке:

Рис. 9. Выводы, которые необходимо удалить на разъеме крепления отладочной платы

К этим выводам подключен часовой кварцевый резонатор на 32768 Гц и лишняя емкость в виде болтающихся в воздухе контактов разъема на этих линиях противопоказана.

На этом с дополнениями все, переходим к основной теме статьи 😉

Прошивка

Прошивка для данных часов состоит из двух частей:

  1. Управляющая программа для МК STM32
  2. Дамп для SPI-FLASH памяти с музыкальными фрагментами

После сборки часов первым делом необходимо прошить микроконтроллер STM32.

Для этого нам понадобится программатор ST-Link, который подключается к 4-х контактной гребенке на отладочной плате. Нам понадобятся только 3 пина: GND, CLK, DIO. С небольшой инструкцией можно ознакомиться тут или на каком-либо стороннем ресурсе. После успешной загрузки прошивки в МК, отключаем питание часов и снова включаем, при этом часы должны запуститься и начать отсчет времени.

Теперь наступает время для следующего шага: загрузка дампа с музыкальными фрагментами в SPI-FLASH память AT45DB321. Для этого нам понадобится переходник USB-UART, либо RS232-UART с логическими уровнями 3,3 вольта. Я для этих целей использую китайский переходник на базе PL-230HX. Не самый лучший выбор, так как у него имеются некоторые проблемы с драйверами, но вариант рабочий. Подключается он к разъему XP3 на плате часов. Распиновка разъема представлена на рисунке ниже:

Рис. 10. Распиновка разъема UART

Подключение переходника выполняется так: GND->GND, RX->TX, TX->RX. Затем необходимо перевести часы в режим прошивки SPI-FLASH. Для этого отключаем питание часов, зажимаем кнопки «Alarm» и «-» (две крайние на верхней панели) и включаем питание. Если все сделано правильно, то дисплей часов гореть не должен.

Перейдем к программе для прошивки дампа SPI-FLASH на стороне ПК. Для этих целей служит консольная утилита tc_flasher.exe. На вход она принимает несколько параметров, включая имя файла с дампом и номер COM-порта, через который будет производиться загрузка этого дампа. Для удобства я написал два .bat файла, один для загрузки дампа в SPI-FLASH (programm.bat), другой для чтения (read.bat). Перед запуском соответствующего .bat файла, необходимо его немного подправить, а именно указать правильный номер COM-порта.

Для примера рассмотрим programm.bat. Нажимаем на нем правой клавишей мыши, выбираем пункт «Изменить». Файл открывается в блокноте и его содержимое имеет следующий вид:

tc_flasher. exe dump.bin COM5 w

Здесь нам надо только COM5 исправить на нужный номер порта. После этого сохраняем изменения, закрываем блокнот. В папке с tc_flasher.exe должен лежать файл с дампом флешки с именем dump.bin. Для запуска процесса достаточно 2 раза щелкнуть мышкой по файлу programm.bat. После этого откроется консоль, в которой будет выводиться прогресс загрузки дампа во флеш-память:

Рис. 11. Загрузка дампа флеш-памяти с помощью утилиты tc_flasher.exe

После завершения процесса в консоль будет выведено соответствующее сообщение:

Рис. 12. Сообщение о завершении загрузки

Бывают ситуации, когда процесс загрузки дампа может зависнуть. В этом случае процесс придется повторить заново, начиная с отключения питания часов и переводом их в режим программирования флеш-памяти с музыкальными фрагментами. Недоработочка однако, исправлю как-нибудь потом 🙂

Итак, после успешной загрузки дампа, отключаем питание часов, отключаем все переходники и подаем питание снова. Часы готовы к работе 🙂

Создание дампа с музыкальными фрагментами

Итак, мы разобрались с процедурой загрузки всех необходимых файлов в наши свежесобранные часики. Но что если мы хотим изменить голос озвучки часов или добавить новые сигналы будильника? Для начала давайте разберемся, как устроен дамп с музыкальными фрагментами.

Дамп SPI-FLASH в себе содержит следующее:

  1. Звуковые семплы речевого информатора
  2. Звуки будильников

Описание речевого информатора можно найти тут, он почти не изменился с предыдущей версии часов. Если кратко, то для создания звукового сообщения речевой информатор последовательно включает нужные звуковые фрагменты в нужном порядке. Например, чтобы озвучить время «12:23», информатор последовательно включит следующие звуковые фрагменты:

  1. двенадцать
  2. часов
  3. двадцать
  4. три
  5. минуты

Или для «21:31»

  1. двадцать
  2. один
  3. час
  4. тридцать
  5. одна
  6. минута

Идея, думаю, понятна.

Для замены озвучки часов на свою необходимо записать все используемые фрагменты и пересобрать дамп заново. Это выглядит следующим образом. Сначала готовятся все необходимые звуковые фрагменты в формате .wav. Затем, с помощью специальной утилиты dump_builder_tc_v2.0.exe производится объединение .wav-фрагментов в файл dump.bin, который в дальнейшем нужно загрузить в часы.

Требования к .wav-файлам следующие:

  • Формат: PCM
  • Частота дискретизации: 22050 Гц
  • Количество каналов: 1 (Моно)
  • Разрешение: 8 бит
  • Скорость потока: 176 кбит/сек

Для удобства утилита dump_builder_tc_v2.0.exe имеет конфигурационный файл config.txt, в котором указывается какому музыкальному семплу соответствует данный .wav-файл. Файл config.txt имеет следующий вид:

; Test configuration file
; for build TalkingClock_v1.1 dump file

SAMPLE_0 =      "wav\0.wav"
SAMPLE_1m =     "wav\1m. wav"
SAMPLE_1w =     "wav\1w.wav"
SAMPLE_2m =     "wav\2m.wav"
SAMPLE_2w =     "wav\2w.wav"
SAMPLE_3 =      "wav\3.wav"
SAMPLE_4 =      "wav\4.wav"
SAMPLE_5 =      "wav\5.wav"
SAMPLE_6 =      "wav\6.wav"
SAMPLE_7 =      "wav\7.wav"
SAMPLE_8 =      "wav\8.wav"
SAMPLE_9 =      "wav\9.wav"
SAMPLE_10 =     "wav\10.wav"
SAMPLE_11 =     "wav\11.wav"
SAMPLE_12 =     "wav\12.wav"
SAMPLE_13 =     "wav\13.wav"
SAMPLE_14 =     "wav\14.wav"
SAMPLE_15 =     "wav\15.wav"
SAMPLE_16 =     "wav\16.wav"
SAMPLE_17 =     "wav\17.wav"
SAMPLE_18 =     "wav\18.wav"
SAMPLE_19 =     "wav\19.wav"
SAMPLE_20 =     "wav\20.wav"
SAMPLE_30 =     "wav\30.wav"
SAMPLE_40 =     "wav\40.wav"
SAMPLE_50 =     "wav\50.wav"
SAMPLE_rovno =  "wav\rovno.wav"
SAMPLE_chas =   "wav\chas.wav"
SAMPLE_chasov = "wav\chasov.wav"
SAMPLE_chasa =  "wav\chasa.wav"
SAMPLE_minut =  "wav\minut.wav"
SAMPLE_minuta = "wav\minuta. wav"
SAMPLE_minuty = "wav\minuty.wav"
SAMPLE_bell =   "wav\bell.wav"
SAMPLE_minus =           "wav\minus.wav"
SAMPLE_gradus =          "wav\gradus.wav"
SAMPLE_gradusa =         "wav\gradusa.wav"
SAMPLE_gradusov =        "wav\gradusov.wav"
SAMPLE_temperatura_out = "wav\temperatura_out.wav"
SAMPLE_temperatura_in =  "wav\temperatura_in.wav"

SAMPLE_alarm1 = "wav\katusha.wav"
SAMPLE_alarm2 = "wav\chip_i_deil.wav"
SAMPLE_alarm3 = "wav\Pirates.wav"
SAMPLE_alarm4 = "wav\ku-ka-re-ku.wav"
SAMPLE_alarm5 = "wav\alarm_electro.wav"
SAMPLE_alarm6 = "wav\alarm_radioclock.wav"
SAMPLE_alarm7 = ""
SAMPLE_alarm8 = ""
SAMPLE_alarm9 = ""
SAMPLE_alarm10 = ""
SAMPLE_alarm11 = ""
SAMPLE_alarm12 = ""
SAMPLE_alarm13 = ""
SAMPLE_alarm14 = ""
SAMPLE_alarm15 = ""
SAMPLE_alarm16 = ""

; End of file

Можно заметить, что этот файл состоит из 2-х частей: семплы звукового информатора и семплы будильника (SAMPLE_alarmX). Максимальное количество звуков для будильника может быть 16, однако, совсем не обязательно заполнять их все. Неиспользуемые ячейки в качестве имени файла должны содержать пустую строку:

SAMPLE_alarm7 = ""

Итак, после подготовки всех файлов и правке config.txt можно запускать утилиту dump_builder_tc_v2.0.exe, которая соберет из имеющихся .wav-файлов новенький дамп dump.bin. При возникновении каких-либо проблем (неверный формат файла, неправильная частота дискретизации) будет выдана соответствующая ошибка и процесс прервется:

Рис. 13. Сообщение утилиты dump_builder_tc_v2.0.exe об неверном формате wav-файла

После завершения сборки дампа, необходимо проверить его размер: он не должен превышать объема флеш-памяти часов (4 МБайта).

На этом пока все, в конце статьи дам ссылку на полный проект часов на GitHub и на архив на ЯндексДиск.

Заключение тут

Ссылки

Ссылка на GitHub: https://github. com/DiMoonElec/TalkingLEDClock

Архив с проектом на ЯндексДиск-е: https://yadi.sk/d/2m6KqsUx66SI5A

 

Dual LM 386 усилитель на плате проект

#5