1
\$\begingroup\$

Background

I'm working on an Arduino-based audio visualisation project where I run an audio signal into the Arduino, using an FFT to calculate the intensities at different frequencies and then using that to power various servo motors depending on the intensities.

When I just had audio running into the Arduino everything worked well and the FFT calcuated the expected values.

When I connected the servo motor, however, I got large amounts of noise in the audio signal cable and the resultant values from the FFT were all over the place.

Fixing the Issue

From doing research on the internet I found that I most likely need to use a filter to remove this noise. I have a few questions:

  1. Would I need to use a high-pass filter or a low-pass filter?
  2. How would I know what capacitance to use?
  3. Would I need to apply the filter on the signal cable or on the cables to the servo (in case of the servo would I be filtering the power cable or the PWM control cable)?

If there is a another method for removing noise that I have not considered, please let me know :)

\$\endgroup\$
7
  • \$\begingroup\$ Do you know if the noise is electrical or acoustic? \$\endgroup\$
    – TimWescott
    Nov 28, 2021 at 19:54
  • \$\begingroup\$ @TimWescott I'm not really sure to be honest, I'm quite inexperieced with this. I assume electrical?? \$\endgroup\$
    – max
    Nov 28, 2021 at 19:58
  • \$\begingroup\$ I'll put it a different way: is the noise coming into the input via a purely electrical path, or is the microphone picking up the sound from the servos? Putting the servos in a soundproof box could help you isolate this. \$\endgroup\$
    – TimWescott
    Nov 28, 2021 at 20:01
  • 2
    \$\begingroup\$ Useful search term : star earthing. (Also apply large decoupling caps like 470uF, close to each servo) \$\endgroup\$
    – user16324
    Nov 28, 2021 at 21:13
  • 3
    \$\begingroup\$ Please edit your question with a drawing or a photograph of your overall wiring scheme, with attention paid to the current path to power the servos, and the wires that carry your audio signal. \$\endgroup\$
    – TimWescott
    Nov 28, 2021 at 21:18

1 Answer 1

1
\$\begingroup\$

I had a special-effects project which included both servos and audio (via a 40W amplifier), with the same problem you describe.

Originally, power was ran from a battery via one cable to a PCB which then distributed power to various devices including the servos, RF receiver, and audio amplifier. Noise from servos was unacceptably high on the audio output.

The solution that worked was to bring power from the battery separately to the audio amplifier. This effectively meant adding another ~2 meter length of wires from the battery. Electrically, it may seem identical, but in fact moving the junction for power and ground further from the servo motors cut the noise to a usable level.

One of the comments mentions star earthing which is akin to this suggestion - instead of having ground shared by different systems on a perfboard, running separate lengths of cable introduced enough impedance that it effectively filtered out the noise without adding additional components. You may, however, still want to add filtering components.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.