How to get rid of "digtal noise" in audio amplifier

Hi,

i am working on a radio alarm clock (yes it's the 1000th concept in the world but...special features, etc.)
The main elements are:

  • arduino nano
  • si4703 radio on a breakout board
  • 8x8 Matrix with Max 7219 driver
  • LM386 amplifier
  • 9V 660mA Power Supply

Everything works fine, except one problem:
When I power the whole system only with the 9V power supply (or a 9V battery) the amplifier generates some light noise incuding a tone around 400hz, that modulates according to the number of leds lit on the display.
As long as I have some music playing, it is not noticeable, but when the radio is muted, it es hearable. (Bad issue for an alarm clock)
When I power the arduino per usb, and only the amplifier section with the power supply, I get absolute silence, when the radio is switched off.

So it seems there is some issue/feedback on the main voltage distribution which is as follows:

  • 9v Supply -> LM368
  • 9v Supply -> Arduino Nano
  • 5+ Out of the nano -> LED Matrix Vcc
  • 3.3+ Out of the nano -> Radio Vcc

All elements share the same GND (of cause). There is already a 100uF capacitor between Vcc and Gnd, as it is recommended by the amplifier standard circuit.
Checking the radio output directly with earphones does not reveal any noise in the signal. Cutting of the radio input from the amplifier does not remove the noise.

The whole circuit can be reviewed in my project repository

I read a lot of articles about issues regarding audio noise from refresh cycles of the led driver. None was really helping or seemed to lead into tons of try and error with different settings.

At least it seems some solution to use two power supplys, but I would prefer to use only one. I hope, there is someone out there, who can give me some recepie what elements to add /change/remove including size and position.

Thanks in advance

P.S. More things I already checked:

  • Put capacitor(s) in the 5V supply lane

  • put capacitor(s) in the 3.3v supply lane

  • To reduce disturbances in the NF signal, I already assembled the amplifier circuits on a experimental board. The main voltage supply input is also placed on that board and is transferred with jumper wires to the breadboard holding the nano.
    (picture of the setup picture of the amplifer)

Things I can't afford or provide

  • Oszilloscope (out of budget)
  • Capacitors or resitors of every size and color :smiley:

Yeah... Noise can be a problem with audio, especially when combined with digital electronics... Our ears have a wide dynamic range so we can hear small noises...

Maybe one more experiment to "prove" the noise is getting-in through the power supply - Try a separate power supply (or battery) on the amplifier (with the audio and grounds connected).

There is already a 100uF capacitor between Vcc and Gnd, as it is recommended by the amplifier standard circuit.

Try 1000uF (or more).

And/or, add a diode in series with the amplifier power, with a capacitor on the amplifier-side. Positive noise spikes will still get-through and tend to charge the capacitor, but negative spikes can't get through the diode and the capacitor can only discharge through the amplifier. That should help quite a bit at the cost of a slight voltage-drop across the diode.

As a "last resort" try a separate (linear) voltage regulator for the amplifier. Voltage regulators make pretty-good filters. You'll loose at least one volt across the regulator, and that will reduce available amplifier power. If the thing is battery operated you'll want to regulate-down a bit more so the regulator can continue to work when the battery is no longer fresh.

Your volume control looks rather unconventional. It appears you have configured the LM386 for x20 gain so maybe consider using a circuit as in fig. 10 in the data sheet http://www.ti.com/lit/ds/symlink/lm386.pdf and don't omit the capacitor and resistor network in parallel with the speaker.

OP's schematic:

DVDdoug:
As a "last resort" try a separate (linear) voltage regulator for the amplifier.

I'd say do this as a matter of course - always separate regulators for analog and digital, star-ground
layout is mandatory so you don't pick up current fluctuations. Digital and analog ground
should meet in one place, the star point.

Thanks for all the response. During checking, how to use a linear regulator I also found another circuit, how to set up the LM386.

http://www.circuitbasics.com/build-a-great-sounding-audio-amplifier-with-bass-boost-from-the-lm386/

It has a lot more capacitors for decoupling then the first manual I used.

I think I will follow that first ( keeping the "star-ground" in mind) and after that will try the regulator.

the amplifier generates some light noise incuding a tone around 400hz,

Get things the right way round will improve your thinking about this problem. The amplifier does not generate the tone, it picked it up. From the frequency it looks like the PWM of the LEDs that is being picked up.

It is always better to tackle the noise problem at source, so a very small capacitor across each LED will slow down the rise time and thus reduce the high harmonics that a fast edge generates.

Also reducing the input impedance of any amplifier minimises the amount of radiated interference pickup.

Grumpy_Mike:
It is always better to tackle the noise problem at source, so a very small capacitor across each LED will slow down the rise time and thus reduce the high harmonics that a fast edge generates.

Are you kidding?

Paul__B:
Are you kidding?

No why?

After using a seperate voltage regulator for the amplifing section now everything is fine.
Thanks again for the support.
For everybody, who wants so see, what I changed:
Working circuit in git hub repository

Faulty circuit in git hub repository

Grumpy_Mike:
No why?

Putting capacitors across LEDs will maximise the switching surges that are going to be impressed on the power supply.

It also increases the impulse currents in the respective parts of the wiring, favouring inductive pickup of interference.

My suspicion is that the problem here has been in the grounding and supply connections - it is a bit more complex than just saying "use star grounding".

Putting capacitors across LEDs will maximise the switching surges that are going to be impressed on the power supply.

No, the current is going through the LED’s resistor and that will slow down the rise in voltage and so slow down the edge giving less EMI.

There is no resistor in series with the LED array. :astonished:

And capacitive coupling would still occur from the driver itself - not that capacitive coupling is a significant cause of interference in this situation. We are talking low voltages, low frequencies; current flowing in power lines is more the concern.

There is no resistor in series with the LED array.

Sorry didn’t spot it was an array module. Those things radiate like a banshee.

But mostly I would suspect, via the power supply.

Perhaps that is why you really need the bypass capacitors. :roll_eyes:

And use a MAX7221 when available - contains some black magic to reduce this.