Hello, I am working on a project where I can play music from an SD card reader, I am outputting the audio to a simple car amplfier, everything works fine, but the transistors on the amp get VERY hot? You might be thinking "what does this have to do with arduino?" Well, that's the problem, when I hook up an audio source such as a phone the transistors only get warm? It must be the arduino that is causing it. The volume is the same as the phone.
I'm using the arduino UNO.
It must be the arduino that is causing it.
No.
It might be the way you are connecting the audio from the Arduino to the amplifier. Can you post a diagram of what you have done please.
If you're using TMRpcm, it's probably the (unfiltered) PWM running the amplifier full-power at a supersonic ultrasonic frequency.
It could also be the DC bias if you haven't filtered that out, but most-likely the amp has a capacitor at the input to filter-out any DC.
...I once fried one side of my power amplifier when a preamp I was building turned-into an RF oscillator. It was dead-silent and I didn't hear anything. I didn't realize what was happening until the right channel went permanently silent.
Grumpy_Mike:
No.
It might be the way you are connecting the audio from the Arduino to the amplifier. Can you post a diagram of what you have done please.
I don't have a diagram sadly, But all the project is, is an SD card adapter, Arduino Uno and buttons for selecting a song, that goes straight to the amp through an audio jack.
DVDdoug:
If you're using TMRpcm, it's probably the (unfiltered) PWM running the amplifier full-power at asupersonicultrasonic frequency.It could also be the DC bias if you haven't filtered that out, but most-likely the amp has a capacitor at the input to filter-out any DC.
...I once fried one side of my power amplifier when a preamp I was building turned-into an RF oscillator. It was dead-silent and I didn't hear anything. I didn't realize what was happening until the right channel went permanently silent.
That could very well be it, How would I be able to check? (I do have a capacitor to filter out DC).
That could very well be it, How would I be able to check?
If you are using TMRpcm, there's no need to check. You are feeding high frequency into your amplifier and you already said it's not overheating with regular analog audio.
The Arduino doesn't have an analog output (except for the Due) so if it's putting-out "audio" it's switching between zero and 5V at whatever the PWM frequency is. If the switching frequency is above ~20kHz you won't hear it but it's a "loud" signal and it can do nasty things to your amplifier. And, if it comes-out of the other end of the amplifier it could do nasty things to your tweeter.
I don't know what frequency it runs at. If it's close to the audible range it's going to be more difficult to filter-out (without killing the higher-frequency audio). A simple RC filter night help but it's hard to know... You're never going to filter all of it out, you can only attenuate it.
Probably the best solution is to switch to an audio shield with a real DAC. Or, just get a DAC if you like doing things the hard way.
Just put a seriese 1K5 resistor between Arduino output and amplifier input. And also put a 22nF capacitor between the amplifier input and ground. The values are not too critical.
Thank you very much for the replies. The RC filter helped a lot, The Transistors no longer get hot enough to blister skin, However the amp appears to be dodgy, It is sending voltage back out of the audio jack, and it sometimes shuts down my phone, Which means it will damage the Arduino UNO(I think.)
Plus the power-supply seems to be unhappy, and vibrates A LOT. And the transistors get hot when I am not playing anything, I think that is because the Arduino UNO is still outputting non-hearable frequencies while not playing any audio. I think another filter will help with that however. But these problems are no longer related to Arduino. Thank you for the help!
The other thing you could try is putting a 0.1uF capacitor in series with the amplifier's input. This will block any DC component that might be upsetting your amplifier. If you want a "better" filter just increase the value of the capacitor.
I say "better" in quote marks because that only reduces the low pass filter value it does not make the response drop off any quicker. For a better filter you have to go to a second order filter or higher.