В меню Examples->Digital есть скетч toneMelody, который при сбросе микроконтроллера проигрывает мелодию, ноты в которой задаются двумя параметрами - тоном и громкостью. В качестве динамика используется 8-омная динамическая головка, например динамик так называемого PC Speaker, подключаемая к выводу Digital 8.

Схема подключения динамика:

arduino speaker1

Вместо сопротивления с номиналом 220 Ом можно использовать и большее, например, 510 Ом или 1 кОм.

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

arduino speaker2

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

Дело в том, что поскольку у динамической головки очень маленькое сопротивление, то при подаче на неё напряжения +5В через неё будет протекать ток около 625 мА. Максимальный ток, который могут обеспечить все выводы микроконтроллера составляет всего 150 мА, то есть в 4 раза меньше. И таким образом, подключая динамик к микроконтроллеру не напрямую, а через транзистор, способный пропускать через себя большее напряжение и ток большей силы, мы обеспечиваем электрическое согласование, в данном случае согласование по току.

Звуку можно добавить низких частот, подключив между базой транзистора и землёй электролитический конденсатор ёмкостью, например, в 1 мкФ. При этом резистор R1 и конденсатор образуют RC-фильтр низких частот. Чем больше ёмкость конденсатора, тем ниже частота среза такого фильтра.

Посмотрев на схему внимательно, я обнаружил, что с транзистором и регулятором громкости у меня получился почти усилитель класса D, только в роли катушки выступает катушка динамика, а в роли нагрузки резистор R2. Поэтому добавив в схему диод, я превратил её в схему усилителя класса D.

arduino speaker3

Усилители класса D получили широкое распространение благодаря тому, что транзистор в таком усилителе работает в ключевом режиме, и благодаря этому не нагревается, что обеспечивает усилителю класса D высокий КПД.

При логическом нуле на базе транзистора цепь размыкается, и катушка индуктивности начинает работать как генератор тока, который при замкнутой цепи течёт через транзистор, а при разомкнутой - через диод обратно в катушку.

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

Комментарии  
+1 # Юрий 15.03.2021 04:06
Спасибо, помогло. Орёт что надо.
Одно дело когда надо пропищать мелодию - тут и без усилка нормально. Другая тема - когда pcm звук без посторонних модулей воспроизводишь.
У меня, в итоге, в дело пошел отечественный транзистор кт315б.
Ответить | Ответить с цитатой | Цитировать
+1 # Виталий 28.03.2021 22:17
А что за диод применяется ? что нить типа 4148 подойдет ?
Ответить | Ответить с цитатой | Цитировать
Добавить комментарий


Защитный код
Обновить