
Product reliability is aided by the PAM8904's low inrush current, low EMI drive technology and a variety of integrated protection features. In shutdown mode, quiescent current is less than 1♚. Active current consumption for example is just 300♚ in 1x mode, with an input voltage of 3V, input frequency of 4kHz, driving a 15nF piezo.
Piezo sounder volume driver#
With a built-in automatic shutdown and wake up function, the sounder driver helps to keep current consumption low and battery life long. Able to operate in 1x, 2x and 3x modes, the charge pump enables designers to select from three different piezo sound pressure levels. Operating from a 2.3 to 5.5V supply at a fixed frequency of 1MHz, the PAM8904 will drive a sounder load of up to 15nF, providing a 9V output and a minimal component footprint. Note: The whole issue is little more complicated then simple AC coupling, but I believe is good enough first order explanation of the phenomena.Bringing higher volume at a lower operating current and with a wide input signal range of 20Hz to 300kHz, the piezo sounder driver is suited to a variety of battery powered applications, including medical systems, alarm clocks and security devices. Now BJT of the type you have used have much smaller capacitance (single pF) that was not enough to provide enough AC coupling (it did provide some that is why you did hear some barely audable sound)

This parasitic capacitance created AC coupling between your input signal and buzzer which was enough to produce sound. They tend to have big parasitic gate to source/drain capacitance, at the same order of magnitude as a capacitance of the piezo buzzer(hundreds of pF). My guess is that you have used one of this big power mosfets. Now, more interesting question is why MOSFET seemed to work (and BJT did not)? This crates oscillation and produce sound. When BJT is NOT conducting, R2 pull voltage up.

When BJT is conducting, it lowers voltage at collector (C). Since voltage across buzzer do not change buzzer will not vibrate and thus will not produce sound.Īdding R2 solved the issue. (That is why you have measured 5V across the buzzer). Next turn on cycle will not change voltage across buzzer as the voltage at the collector was already at ground level. So after first "turn on" the voltage at the collector dropped to ground (or close) level. That is it can only lower voltage at its collector. With BJT in the configuration that you use, BJT can only "sink" current. And most important:įrom the electrical perspective piezo buzzer act like capacitor! So why circuit with BJT and without R2 did not work? Since sound is pressure wave one have to provide oscillating voltage to the buzzer in order to produce oscillating deformations. The piezo buzzer use piezoelectric effect to emit sound (the material in the buzzer deform itself due to voltage, deformation will be "proportional" to the voltage applied). The question left open: why it doesn't work as expected if I remove R2? So I've tried to add a resistor in parallel to it. And, surprisingly I've got 5 V around the buzzer! Shouldn't I get 2.5 V?Īlso I noticed that once I measure voltage across the buzzer the sound become a bit louder. I get 5 V / 2 because it generates square waves, isn't it? Then I have 2.1 V around the base resistor. I have 2.51 V between the microcontroller output and the ground. I use BC337 as a transistor (AFAIK it is analogue of 2N2222).

I have tried few other configurations with BJT, but result is the same. Output pin connected to the base through 2K2 resistor.

However if I replace MOSFET with BJT, something goes wrong and the buzzer emits just a very-very-very quiet sound. Also all works as expected if I try to control it with MOSFET: +5V to the drain, buzzer between source and ground, and the output pin to the gate. All is fine if I connect the buzzer to the output with one pin and to the ground with another. I have a 4 KHz piezo buzzer and a microcontroller (arduino) that outputs that 4 KHz from one of it's pins.
