0
\$\begingroup\$

As a small buzzer to output simple audio, I am considering the Jiangsu Huaneng Elec MLT-5020. Other buzzers of that size are also an option, as long as their footprint isn’t much bigger than 5×5 mm.

From the datasheet:

  • Recommended driving circuit (I guess, substituting the 2SC3199 with a PN2222A is safe):

    Schematic

  • Rated voltage: 3.6 Vo-p

  • Operating voltage: 2.0~5.0 Vo-p

I want to connect the buzzer to an Arduino (ATmega 328p) circuit with 5 V. I don’t have a 3.6 V power source in that circuit, although I could add one, for example with an LDO.

Some questions that come to mind:

  • For simplicity, can I drive the buzzer with 5.0 Vo-p?

  • Instead of the transistor circuit, can I just connect the buzzer directly to a pin via a resistor? (as done in some examples I found on the web)

I know the sound quality of these buzzers is awful, but I don’t want to degrade it further by bad wiring.

\$\endgroup\$
  • 1
    \$\begingroup\$ The quick & dirty hobbyist solution is to put 2x 1N4148 in series (5V - 0.7V - 0.7V = 3.4V). Or a 3V3 zener to ground. More serious solutions involve having a 3V3 supply. But please note that the rated voltage is what the buzzer expects to be supplied with, not the voltage level of the BJT base. That is, it wants 3.6V in the + net on top of your pic. \$\endgroup\$ – Lundin Oct 14 at 11:32
1
\$\begingroup\$

This is a magnetic buzzer, so the real concern is current, not voltage (you're nowhere near insulation breakdown).

The current is specified as no more than 100 mA, and the coil resistance is 12 +/- 3 ohms.

Applying ohms law, you can calculate that 5 volts divided by 100 mA gives a minimum resistance of 50 ohms.

At minimum coil resistance, you'd need 50-9 = 41 ohms of series resistance to not violate specifications if the buzzer were permanently driven with 5 volts DC.

In practical terms, if you build the depicted transistor circuit but add say a 47 ohm series resistor between the buzzer/diode and the supply, things should be fine - even if you have a bug in your program which leaves the transistor base permanently driven.

In practice, you can probably use a smaller resistor, on the other hand you may find it's already loud enough (at least if you drive at the resonant frequency) and use a larger one. Do note that if left with 5 volts applied (which you'd want to avoid, though again it could happen as a bug) this would need to be a half watt resistor. Make sure when you stop buzzing you leave the base low!

There are more optimal ways to drive this, eg incorporating a capacitor, push/pull drivers, etc but you are probably looking for simplicity.

(Yes, there will be some loss in your transistor, too. You could in theory increase the base resistor, which would decrease the base current and decrease the collector current which is proportional to that via the transistor's gain, or Beta. But Beta is variable, so it's going to be a lot simpler to get repeatability by keeping your resistance in an actual resistor, and driving the transistor fully)

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ What would be the advantage of "incorporating a capacitor, push/pull drivers"? Less waste of energy? \$\endgroup\$ – feklee Oct 14 at 15:13
  • 1
    \$\begingroup\$ Yes, and possibly getting more sound energy out while being safe against accidental DC outputs. But really, too much bother. \$\endgroup\$ – Chris Stratton Oct 14 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.