Seeking audio amplifier circuit advice

Discussion in 'The Projects Forum' started by Involute, Jun 12, 2016.

  1. Involute

    Thread Starter Active Member

    Mar 23, 2008
    47
    1
    Audio newbie here. I'm using an Arduino to make a countdown timer. I'd like to be able to generate beeps in a couple of frequencies (like what you often hear at the start of a 100 yard dash, e.g.), so quality isn't as important as volume. It doesn't have to be as loud as at an actual track meet, but louder than a cell phone speaker. Can't quantify it more than that, I'm afraid.

    I was thinking of running a square wave from an IO pin into a simple amplifier circuit, then to a speaker, but the circuits I've been coming across (LM386 e.g.) seem to assume a traditional audio level. I don't know what that is, nor do I know what effect a 5V square would have, even if it's within the specs of a particular chip. Before I jump down this rabbit hole to experiment, I thought I'd check to see if anyone here can offer some suggestions or point me in the right initial direction. Thanks!
     
  2. ian field

    Distinguished Member

    Oct 27, 2012
    4,415
    784
    You need to state what audio transducer for anyone to guess what drive requirements.

    It could be as simple as using CMOS buffer gates - you can also invert the signal for BTL drive and a lot more volume.

    For more drive capability - your MCU can probably handle a complementary pair of emitter followers, again; inverting the signal (single common emitter) you can duplicate the follower pair for BTL drive.
     
  3. wayneh

    Expert

    Sep 9, 2010
    12,120
    3,046
    You could use a cheap PC speaker. Many are built around the LM386 or similar and just add a power supply. You could put batteries inside the enclosure or just keep it as is.

    You can feed the square wave directly to the input, couple it through a capacitor, and/or divide it down to ~1V using resistors. The trouble is that a square wave will sound like a rude buzz instead of a nice chirp or tone. You could use a separate tone generator circuit which you turn on and off with your Arduino. It just depends what you want.
     
  4. Involute

    Thread Starter Active Member

    Mar 23, 2008
    47
    1
    As I said in the original post, a speaker. I haven't selected it yet, so I'm open, but nothing bigger than 4" dia.
     
  5. Involute

    Thread Starter Active Member

    Mar 23, 2008
    47
    1
    That sounds like a good way to go. I haven't designed the enclosure for the counter yet, so I should be able to integrate a mini PC speaker pretty easily. Plus, since it will be AC-powered, with 5VDC and 12VDC supplies inside, I could power the speaker from what I have available; no need for batteries.
    How big a cap? Also, would I ground one of the inputs?
    It is just a .5 second beep; fidelity probably won't matter.
    How would that be better than generating the tone from the Arduino? Do you have a circuit in mind?
     
  6. Involute

    Thread Starter Active Member

    Mar 23, 2008
    47
    1
    I hooked an 8 ohm speaker I had laying around to 5V on one side and a MOSFET on the other, and drove the MOSFET's gate with a square wave from a signal generator. Works great. Problem solved.
     
    wayneh likes this.
  7. Dodgydave

    Distinguished Member

    Jun 22, 2012
    4,986
    745
    As you've solved it already, you can get a cheap amplifier from an old pc speaker set at junk shops or car boot sale.
     
  8. ian field

    Distinguished Member

    Oct 27, 2012
    4,415
    784
    The TS seems happy with a basic MOSFET circuit.

    There is a possible gotcha though - the resting state of the output from the MCU determines whether the MOSFET quiescent state is on or off. If the outputs rests at low, no problem as the MOSFET will be off. If it settles high; the MOSFET gate needs a bleed resistor to GND and capacitor coupling to the MCU pin.
     
  9. wayneh

    Expert

    Sep 9, 2010
    12,120
    3,046
    Those are probably good additions either way.
     
Loading...