I'm using a Raspberry Pi in a circuit I'm building that includes a few elements.
Elements in the circuit:
- PWM driver to control 3 servos
- Mic board for recording
- Class D Amplifier that drives 2x3W 4ohm speakers
- 4inch HDMI screen
Limitations:
- I can use only one power source plugged into the wall to power the whole system. I'm currently using a 5V 10A power supply.
- The enclosure is very small so adding space consuming components can be challenging.
Problems:
- Driving the servos causes the low voltage indicator to show up on the pi. The power supply is rated for 5V 10A and the peak current draw is ~3A.
- The amplifier is picking up noise from the circuit causing an audible hiss/crackle from the speakers.
Things I've tried:
- I tried adding large decoupling capacitors - 1000uf/4700uf right at the Pi's power and at entry point of power supply. The Pi is powered from it's GPIO pins. No difference.
- Added additional decoupling capacitors in values ranging from 0.1uf to 10uf right before the amplifier. No improvement.
- I measured the voltage at the Pi using a multimeter and it never drops below 5.1V even when the servos are being driven, so why the low voltage indicator?
- The noise in the circuit isn't caused by the servos. When I remove the servos there is still noise being picked up by the amplifier. Similarly removing the amplifier doesn't help get rid of the low voltage indicator while servos are running.
Things that worked:
- The only thing that works is powering the Pi from a different 5V supply and sharing common ground. This gets rid of any noise from the speakers and the low voltage warning. However due to Limitation #1 this is not feasible.
Things I've thought about:
- Pairing a higher voltage power supply(12v,24v) with a buck regulator to create 2 +5V rails.Use one rail for Pi and one for servos/audio. Not sure if this is even possible or how it would be done?
- Finding a power supply which has two +5V outputs. No luck finding one yet. Also seems overkill.
Image of the circuit
What can I do to reduce noise in the circuit to get rid off the low voltage warning and speaker noise?