I would like to play mp3s from an Arduino Nano Every and DFPlayer using a TDA2030a Amp Board.
I use a power source 9V / 2.25A. If I use two separate sources for Arduino and DFPlayer on the one side and the amp on the other side, everything works as expected.
But I would like to use one power source only. Unfortunately, it produces a constant noise with my 10W/8Ohm Speaker.
I read somewhere, that a capacitor between 9V and GND could help, but it doesn't work at all (I guess the power drops). I tried 100nF, 47uF, 100uF and even 1000uF.
I cannot explain myself, why this example works with 5V from the Arduino though:
The amp needs 6 – 12 V.
I am familiar with very basic electronics, but arrived now to a point I have to ask you for help and hope someone has an idea.
Please let me know if I should provide more detailed information.
You mean, nothing works anymore when you plug in the capacitor? This means you're connecting it wrong, somehow.
I don't expect it'll help, though.
There's some leeway in the minimum voltage. It'll probably "sort of" work at 5V. Very low output power evidently. Most likely also high THD. Note that the minimum is listed as "+/-6V" for a dual supply: so +6V and -6V.
To get clean sound you'll have to figure out where the noise comes from. It can be power supply noise, but it can also be noise originating in the DFPlayer itself.
Assuming it's power supply noise, the easiest solution really is to just use a different power supply. You can try to 'clean up' this one, but it'll always come at the cost of some voltage and you're already running marginal setup with a single +9V supply.
A better solution is to forget about this ancient TDA2030 and get one of the many more modern class D amplifier modules. They're highly efficient, offer more than sufficient audio quality and they're much less prone to power supply noise.
You mean, nothing works anymore when you plug in the capacitor? This means you're connecting it wrong, somehow.
I connected it like in the image above.
Assuming it's power supply noise, the easiest solution really is to just use a different power supply. You can try to 'clean up' this one, but it'll always come at the cost of some voltage and you're already running marginal setup with a single +9V supply.
Two separate power supplies work like a charm. But I would like to run it with a single supply. So, I assume this is the problem. I also tried a lab power supply with 6 – 12 V with same results. So any idea how to clean this up would help me a lot, I guess.
A better solution is to forget about this ancient TDA2030 and get one of the many more modern class D amplifier modules.
I know it's old. I already tried a PAM8610 board, but with worse results. And with separate power supplies the TDA2030 is quite satisfying. Do you know any alternatives for this setting?
That part will not give clean sound unless the poser supplies supply the minimum plus and minus voltages. Post an annotated schematic showing exactly how you have wired this. Be sure to sho0w ALL connections, power sources, grounds etc. Also post links to technical information on each device. They make inverting buck-boost converters or use two to get the needed voltages.
The ground power connection to the amplifier as shown in your diagram appears to also be the signal ground, voltage developed across the resistance of the ground connection will appear as noise on the input to the amplifier. It is essential to separate the two.
A quick search for TDA2030 shows it as being an unbalanced input but your incomplete diagram seems to show you trying to feed it with a balanced signal, which will also cause noise.
Really we need to see a complete schematic and a separate diagram showing the actual wiring as you have it. Photographs of what you have would help too.
The ground power connection to the amplifier as shown in your diagram appears to also be the signal ground, voltage developed across the resistance of the ground connection will appear as noise on the input to the amplifier. It is essential to separate the two.
I think I know what you mean. But how could I separate the two?
Another idea: would an isolated DC/DC converter 12V to 5V to power the Arduino part in the first schematic help?
Not sure if the photos help. Here you can see the capacitor at the amp like vvb333007 suggested. But no change here.
This might help:
Gil's Crispy Critter Rules, they apply to processor hardware:
Rule #1. A Power Supply the Arduino is NOT!
Rule #2. Never Connect Anything Inductive (motor, speaker) to an Arduino!
Rule #3 Don't connecting or disconnecting wires with power on.
Rule #4 Do not apply power to any pin unless you know what you are doing.
Rule #5 Do not exceed maximum Voltages.
Rule #6 Many will not power a transmitter.
Rule #7 Take a break and check the wiring before powering the project.
LaryD's Corollary's
Coro #1 when first starting out, add a 220R resistor in series with both Input and Output pins.
Coro #2 buy a DMM (Digital Multi-meter) to measure voltages, currents and resistance.
Violating these rules tends to make crispy critters out of Arduinos.
Hint: It is best to keep the wires under 25cm/10" for good performance.
I tried this now and it is already way better. There is still noise though, but I might have not all the right capacitors. The setting now is (according of the capacitors I had flying around):
Power supply: 1000uF
Amp: 100uF
DFPlayer: 100uF
Arduino: 47uF
I will order more with different values and will try them out.
I will also try an isolated DC/DC converter and will report here.
In the worst case, I have to use two separate power supplies as the fallback solution.
The 100, 100 and 470 don't do much on top of the 1000uF.
What @andrewdonaldson177 is showing is a couple of ceramic caps (values typically 47nF ~ 1uF) close to the pins of the devices they're supposed to decouple. It may help some.
Troubleshooting noise generally means following it around with a scope. Without a scope, you can blindly pole around a bit and hope you're lucky.
Physical layout will also matter. Your breadboard setup is very prone to noise. It'll never be very quiet. Try and make a star ground setup, or at least as close as possible. It'll help some.
Impedance matching between the DFPlayer's low impedance output and the high impedance input of the TDA isn't very ideal either.
Lots of attention to power supply decoupling and proper physical layout.
You could try and use a linear regulator for the power amp; as long as you don't draw lots of power from it, it should work OK (you mean need a heatsink on the regulator). It'll likely clean up the noisy output from your SMPS (?) 9V supply. You'll lose some voltage, which bites you because the TDA likes a bit more than you're giving it. So maybe find a different power supply.
I have one of those old TDA (1553Q in my case) thingies powering my desktop speakers (a set of generic Sony bass reflex bookshelf units). I feed it from a 5V 2A USB adapter and a DC-DC step-up converter. It's dead quiet noise-wise and plenty loud enough for computer audio. I think it makes maybe 1W RMS per channel, max. The step-up converter switches at around 1MHz so whatever noise it makes is mostly way outside the audio band and not really a concern.
So yes, it can be done, but if you start with a noisy power supply, it's an uphill battle.
Thats way too much.
Connect 0.1 .. 1uF caps between power pins of your player, arduino and TDA. Also - the wires you use from player to TDA will pickup noise. Make them short or use shielded wire.
Agreed. It might be that if you connect your speaker directly to the DFRobot output the volume will be adequate.
In addition, what are the inputs to the TDA2030A based amplifier? According to the data sheet it has an unbalanced input, but you appear to have connected it as a balanced input. It is not clear from the photos or the schematic how you have it connected, so what have you actually done? What are the connections to the module you have? You show in+ and in-, but without knowing what is present in the module this doesn't make sense. Please show a link to the module and a clear, close up photo good enough to read what it says on the PCB.
The wiring in the photos is going to make noise a problem; long wires and loops, along with the high resistance connections that come with breadboard. Take the 12V power for the TDA2030 directly from the power leads, not via the breadboard. Also run a ground lead from the DFRobot to the amplifier ground alongside the signal wires.
i started with these values and went up until it became better. that's how i arrived at the maximum i had.
actually i tried this in the beginning without any luck. so i thought it was the wrong path. i still would like to try a regulator on the arduino side.
no, it's more like white noise combined with a high pitched one.
yes, i tried both with same results and went on with the connection i showed you, also according to the example i posted in my first post. you are right, but it makes no difference somehow.
i will take a look here.
interesting part about the (still messy, because prototyped) wiring is: if i use the same setting and connect the amp to a separate power supply the noise is 100% fixed.
as i wrote in post #11 the capacitors already made it much better. i will work on this, try out your suggestions combined with a cleaner wiring and let's see.
thank you so far for all your thoughts!