Пьезо-зуммер плохо звучит с ATmega328

Я использую ATmega328 для управления ЖК-дисплеем 16x2, светодиодом и пьезоизлучателем. Пьезо-зуммер должен гудеть каждые 5 секунд. Но он не издает приятного звука, а лишь издает слабое гудение. Подозревая, что зуммер неисправен, я проверил его отдельно от источника питания 5 В, и он работал хорошо. Затем я снова включил его в цепь и проверил величину тока, используемого всей цепью. Он составлял около 26 мА, когда зуммер и светодиод были выключены, и 36 мА, когда зуммер и светодиод были включены. Так что нет проблем. Кроме того, зуммер иногда начинает звучать слишком хорошо. Это происходит примерно через полминуты после включения цепи. Похоже, что зуммер немного прогревается, прежде чем он сможет работать должным образом. Но это случается изредка.

Я использую аналоговый контакт A0 (или контакт № 23 на ATmega328) для управления зуммером и подачи на него прямоугольной волны 100 Гц.

В чем может быть причина этой проблемы?

, 👍0

Обсуждение

Что касается «_Я тестировал его отдельно от источника питания 5 В_»: вы имеете в виду без прямоугольной волны? Тогда у вас должен быть автоколебательный зуммер, верно? Вы пытаетесь управлять им с помощью программной прямоугольной волны?, @Edgar Bonet

дать зуммер digitalWrite(HIGH), @Juraj

даже на простом пьезо 100 гц очень глубокий звук плохо играется на пьезо, @Juraj

@ Эдгар Хани, да, без прямоугольной волны ... я использовал 5 В от внешнего источника ... Это сработало хорошо. Но при подаче 5В с помощью микроконтроллера он не работал до нескольких секунд., @Bhuvnesh

почему вы подаете сигнал 100 Гц? ... вы сказали, что он работает с 5 В постоянного тока, @jsotola

@jsotola Я хочу сыграть несколько нот, @Bhuvnesh

@jsotola, тогда есть ли какое-то название этого типа зуммера, которое мне нужно?, @Bhuvnesh

вам нужен динамик, а не зуммер, @jsotola

Но я видел, как ноты проигрываются на пьезоэлементе... Как же это возможно?, @Bhuvnesh

пьезодинамик против пьезозуммера, @Juraj

если он не работает с digitalWrite(pin, HIGH) (и pinMode(pin, OUTPUT) в setup()), то покажи нам свой код, @Juraj


2 ответа


0

Некоторые зуммеры являются активными зуммерами и при включении питания издают автоколебания. Другим зуммерам требуется колебательный сигнал на их контактах, чтобы издавать звук. Если зуммер работает на 5 В, то это активный зуммер, и вам нужно только подать на него ВЫСОКИЙ сигнал, чтобы он заработал. Не пытайтесь подавать на него прямоугольную волну частотой 100 Гц.

,

Он хорошо работал с постоянным источником питания 5 В, но не тогда, когда эти постоянные 5 В подавались с помощью кода (здесь я не говорю о волне 100 Гц, я изменил код, чтобы получить постоянные 5 В)., @Bhuvnesh


1

Если он хорошо работает с прямым питанием 5 В, а не с выводом Arduino, вам, вероятно, понадобится транзистор для управления зуммером.

Вот пример управления зуммером с помощью транзистора: https://www.maxphi.com/piezo-buzzer-interfacing-arduino-tutorial

,