Driving a buzzer using a transistor

1. Re: Driving a buzzer using a transistor

Originally Posted by Akanimo
Hi,

The OP mentioned that the current through the buzzer should be 25mA (50mA being the maximum value). I selected 150 ohm in place of 164 ohm. This would get the current to be a little greater than 25mA but still lie within 25mA and 50mA.
True, but only if the supply voltage is >=5v and the transistor goes into saturation.

•

2. Re: Driving a buzzer using a transistor

Originally Posted by kripacharya
The base resistor must be less than 4.7Kohm to ensure your BCP56 goes into saturation. I would suggest to use 2.2K
...
you have to use a worst case (lowest) hFE or Beta to ensure your circuit always works.
...
Because of your post, I was forced to take a look at the datasheet. The datasheet has no listing for saturation mode. However conditions listed for Vcesat is 500mA Ic at 50mA Ib - that's an hFE of 10. Recalculating for Base resistor at hFE of 10 gives Rb = 1kohm.

Unfortunately, I was working with the OP's info that hFE=150.

- - - Updated - - -

Originally Posted by kripacharya
True, but only if the supply voltage is >=5v and the transistor goes into saturation.
Yes, but what determines that the transistor goes into saturation at Vcc=5V is the value of Ib which is limited by Rb and not Rc. In saturation Ic is limited by either hFE or Rc.

3. Re: Driving a buzzer using a transistor

Originally Posted by Akanimo
Hi,

The OP mentioned that the current through the buzzer should be 25mA (50mA being the maximum value). I selected 150 ohm in place of 164 ohm. This would get the current to be a little greater than 25mA but still lie within 25mA and 50mA.
This is only true for 5C supply, and Iff the bjt gets driven into saturation.

- - - Updated - - -

Originally Posted by Akanimo
.....
Yes, but what determines that the transistor goes into saturation at Vcc=5V is the value of Ib which is limited by Rb and not Rc. In saturation Ic is limited by either hFE or Rc.
So reduce Rb (like i suggested) and nmake sure Rc is within the sweet-spot range,
Just make the circuit already.... its not that complicated !!!

4. Re: Driving a buzzer using a transistor

Originally Posted by kripacharya
The base resistor must be less than 4.7Kohm to ensure your BCP56 goes into saturation. I would suggest to use 2.2K
A resistor from base to GND does no harm, but does ensure that your BJT does turn off when signal goes low. 10K ohm should be ok.

A current limiting resistor is a MUST to safeguard the buzzer. With 5v supply you should use between 180ohm - 220ohm. (Check the calculations)
One question - why do you have two separate voltages - 3.3v and 5v. Why not drive everything with 3.3v ? If you do, then the limiting resistor should be reduced to 100 ohm

Do check the output drive capability of LCVMOS technology -- it needs to be able to source at least around 3-400uA for this circuit to work failsafe. This is because you have to use a worst case (lowest) hFE or Beta to ensure your circuit always works.

Lastly - I assume your buzzer buzzez simply when you pass current through it. Seeing you have written here detailed impedance/ current parameters, then do also publish the actual buzzer product page for our general knowledge.
I am making a design with CPLD which requires 3.3v, 1.8v and 5v supply. Since I had to use the 3.3v supply extensively for other peripherals, I decided to use the lesser utilized 5v supply for the buzzer.
Previously, I was under the presumption that I need to use a passive buzzer. All data was related to the passive buzzer previously being considered. Since I only need to generate a beep tone when the MCU IO pin is high and no beep sound when the pin is low, I was suggested an active buzzer. I still don’t know which part to use. I just need an inexpensive PCB mountable buzzer. Can you pls. recommend me one at any online store pls? I will prefer re calculating once I decide on the device.

Regards,
Hobbyiclearner

•

5. Re: Driving a buzzer using a transistor

Hi,

"inexpensive PCB mountable buzzer" - I guess you would need to look for something like this at your vendor of choice/convenience and that way we all avoid but vendor x y z is not in my country circular discussions:

RS PRO 3V dc Buzzer, ≥75dB

•

6. Re: Driving a buzzer using a transistor

Look for active buzzer 3.3v -5v.
With this you do not need the current limit resistor, and of course it will work pin High-->buzz, pin Low-->silent !!

- - - Updated - - -

Originally Posted by Akanimo
Because of your post, I was forced to take a look at the datasheet. The datasheet has no listing for saturation mode. However conditions listed for Vcesat is 500mA Ic at 50mA Ib - that's an hFE of 10. Recalculating for Base resistor at hFE of 10 gives Rb = 1kohm.

Unfortunately, I was working with the OP's info that hFE=150.

- - - Updated - - -

Yes, but what determines that the transistor goes into saturation at Vcc=5V is the value of Ib which is limited by Rb and not Rc. In saturation Ic is limited by either hFE or Rc.
You're right.
This is not the ideal bjt for this application, but that's what OP is using.

1 members found this post helpful.

7. Re: Driving a buzzer using a transistor

Originally Posted by kripacharya
- - - Updated - - -

This is not the ideal bjt for this application, but that's what OP is using.
OK. Which BJT would you suggest for this purpose (in SOT223 packaging). I am using these as these are easily available at very low cost.

Thanks,
Hobbyiclearner

- - - Updated - - -

Originally Posted by kripacharya
With this you do not need the current limit resistor, and of course it will work pin High-->buzz, pin Low-->silent !!

- - - Updated - - -
OK. What could be the reason for no requirement of current limiting resistor in this case pls?

Thanks,
Hobbyiclearner

8. Re: Driving a buzzer using a transistor

Hi,
OK. Which BJT would you suggest for this purpose (in SOT223 packaging). I am using these as these are easily available at very low cost.
the suggested buzzer of post#25 draws less than 30mA.

With a IC/IB ratio of 10 you need 3mA of base current. Shouldn´t be a problem to calculate the reisistor on your own.
(ratio of 10 is often used for saturation mode and standard BJTs, a rule of thumb. In saturation mode one does not speak about hFE).
Thus almost any standard BJT may be used.

OK. What could be the reason for no requirement of current limiting resistor in this case pls?
No current limiting resistor for the buzzer, but the BJT still needs a base resistor.

Klaus

9. Re: Driving a buzzer using a transistor

An old fashioned buzzer draws a lot of current for its electromagnet to pull the armature over which breaks the connection (with a spark) then a spring pulls the armature back to the starting position when the contact lets the coil draw current again.
If its coil is 100 ohms then it draws 50mA when the coil conducts and draws nothing when it does not conduct so its average 5V current is about 25mA. A buzzer rated for 5V does not need a resistor.
Why not use a modern low current piezo beeper instead?

1 members found this post helpful.

10. Re: Driving a buzzer using a transistor

Originally Posted by Audioguru
If its coil is 100 ohms then it draws 50mA when the coil conducts and draws nothing when it does not conduct so its average 5V current is about 25mA. A buzzer rated for 5V does not need a resistor.
Why not use a modern low current piezo beeper instead?
A PCB mountable piezo buzzer is an expensive. Hence will like to use a DC buzzer with 16 ohm coil resistance at 5v Something like here. Can you pls. comment if it will require a buzzer protection resistance in series?

Thanks,
Hobbyiclearner

•

11. Re: Driving a buzzer using a transistor

Hi,

Post 8 shows how to calculate current from a voltage and a resistance:

Amps = Volts/Resistance.

5 Volts/16 Ohms = 0.3125 Amps.

You need to look at your power supply and see if it can provide around 0.33 Amps. If you are using a battery, probably it can't for more than e.g. 5 minutes.

Why you want to use a 5V, 312mA buzzer when an example of a cheap 3v, 30mA has been provided so you can search for something similar available where you live or on alibaba/Amazon/ebay/etc. is a mystery only you will understand.

Ohm's law is very useful to memorise (I = current/amps):
V = I * R
I = V/R
R = V/I

And power in Watts is very useful to learn early on, too:
W = V * I
W = (I * I) * R
W = (V * V)/R

1 members found this post helpful.

12. Re: Driving a buzzer using a transistor

Hi,

Aliexpress buzzer:
An advertising web page is no datasheet...

You say that pcb mountable buzzers are expensive.
Then you give a link to a passive buzzer for 0.68\$ per 5 pieces
A search on the same site for "5V active buzzer" gives cheaper results with comparable package, but even cheaper, like 10 pieces for 1.02\$..

Klaus

13. Re: Driving a buzzer using a transistor

Sorry, bit late to thread, but may I mention that an 'old fashioned buzzer', one with relay-like operation, really, really needs a protective diode across its coil to prevent back-emf zapping the transistor.

A self-oscillating, piezo-type buzzer / sounder is a lot more semi-conductor friendly...

--[[ ]]--