15W Speaker Circuit Setup

Hey everyone,

I’ve been working on a standalone ATMega328 based home alarm project and I’ve got a question. I’ve got everything working on the breadboard but up until now I’ve prototyped using a small 8 Ohm .2W speaker that is driven directly from the ATMega328 pin via a small resistor to keep the current under control. Now I need to go full scale for the house installation which will use an 8 Ohm 15W speaker.

I’m using a 12v/1A power supply for the system so I would like to use that as the power source and switch a transistor with the ATMega328 output using the tone() function. I’ve got a few IRF510 MOSFETs in my parts box. Surely they can handle switching this speaker!?!? I’ve checked the datasheet and these seem like overkill (which I’m fine with) but that’s what I have handy.

My problem is that I’m not sure how to calculate the basic Ohm’s law variety stuff when dealing with a speaker and the 50% duty square wave. Only 8 Ohm’s of resistance isn’t much against the 12v. Don’t I need to limit the current? 12v / 8 Ohms = 1.5A and 18W! Yikes! There must be something more to it than just the basic N-MOSFET low side switching. Isn’t this really impedance anyway, not resistance? Does the 50% duty cycle change these values at all? Ahhhh!?!

I’d like to target about .8A to keep a 20% safety margin against my 1A power supply. That should be plenty loud enough. The 12v supply also powers an IR sensor which it toggled on and off in different modes by the ATMega328 via a transistor. It draws about 60ma. The rest of the circuit is powered via a 7805 IC and draws only a few milliamps, so heat dissipation is not a problem.

I’ve searched the web, but I just haven’t found much help with determining the best setup to use and how to calculate various values.

I can't believe I've conquered designing my own Android app and Bluetooth communication...but speakers perplex me. Just never worked with with them before and I want to get it right!

Eagle schematic is attached.

Thanks for any help you can provide!

Home Alarm - Control Board.sch (712 KB)

The "8 ohm" speakers that I tested have a DC resistance of R = 6 ohms and the the impedance has 6 ohms plus wL. The symbol w is greek omega for the angular frequency : w = 2 pi times f.

At Radio shack they sell power resistors like 8 ohms and twenty watts.

Put a power resistor in series with the speaker so 8 + 6 ohms = 14 ohms total DC resistance.

12v/14 ohms is about .857 amps, so it is less than 1 amp.

P = VI = 12x.857 watts = 10.3 watts

Square wave have some high frequencies that will use a high impedance = wL
so for 1000 hz = f

w = 6280 radians per second

L = inductance

L= .8NNrr/(6r+9d+10c)

N= number of turns of wire in speaker
r is radius of mid coil in speaker
d is length of coil
c is thickness of coil wire stack

If I were you, I will use TDA2030/TDA2050 audio power amplifier.

Class AB 10W Mono Power Amplifier Kit TDA2030

Mono Power Amplifier Kit, Parts express, $11.00

Never drive a speaker with a DC-offset, you'll break it at worst and get horribly distorted sound at
best (the DC offset forces the cone to the end-travel). Audio amps are usually of "push-pull" design
with two transistors, one for each direction of current.

An audio amp IC is much the simplest solution to your problem, there are many available with a
variety of specifications (including class-D which are more efficient).

Hmm...I don't need quality sound, so I hoped there would be a simpler way to do it.

Sounds like I'll have to make room for an audio amp somehow. Can anyone point me to a simple IC that uses minimal external components?

I just want to be able to feed it from the Arduino tone() function to generate a siren of respectable volume.

Here's how I've done it.
The Logic Level, Low Rds, N-channel MOSFET buffers the Tone from the Arduino to drive the speaker.
68 ohm was my choice for limiting volume. Can be 34 ohm also. Quite loud with a high efficiency speaker.
http://www.mpja.com/4-Ohm-Mini-Speaker/productinfo/14618%20SP/
You can see the MOSFET and two 68 ohm resistors at the lower right.
The pre-MOSFET resistors and a capacitor are next to the display.
The big 220uF cap is off-board with the speaker.

Nice and simple. I like it! What wattage are those resistors? For a single 34 Ohm resister, my simple math works out to 350ma and 4.24W. Where did you find them?

Local electronics supply place, http://www.youdoitelectronics.com/.
I think they are 2 watt.
V=IR, so I=V/R. I = 12/(68+4) = 167mA.
P=I^2*R = 2W.
For 4.24W, look for 5W resistors.

Does the 50% duty cycle change these values at all? Ahhhh!?!

YES! You have 12V peak-to-peak, with a voltage of zero half the time. Your RMS (and average) is 6V. That's 4.5W and 750mA. You would have to use a "push-pull" bridge circuit to get +12V half the time and -12V half the time for 18W.

You can put an electrolytic capacitor in series (maybe 1000uF) to remove the DC bias. That won't change the power, but the speaker will operate more "normally" without the resulting mechanical offset/bias.

Another solution is to use a [u]siren[/u] instead of a speaker.

Hello, consider also tda2009 it can provide around 15w at 8ohm at 12v (bridged as it is 2x10w) and it costs 1.5$ (ic) and less than $3 to build it on a small protoboard. I have used it for alarm amp and for beach amplifier