Am building myself a robot chasis that is RC controlled. There is an RC receiver attached in solution and I have a remote RC transmitter. When the motors are not running, I get a perfectly clean signal on the output of my receiver ... a PWM signal. Here is a quick trace when the motors are NOT running:

enter image description here

When I switch on the motors, and then run them up, the signal as measured on the PWM output becomes the following:

enter image description here

If you look closely, you can see the good signal (every 20 msecs) but with lots and lots of noise.

Here is a picture of my robotics chassis:

enter image description here

My scenario was previously working but in this setup, two things have changed:

  1. I am using a metal sheet for my chassis
  2. I am using 4 new motors that I previously hadn't used before. They are 170RPM motors as found here:


My questions are:

  1. What is introducing this "noise" when the motors run?
  2. How can I eliminate the noise?

Unfortunately I'm a "software" guy and mechanical electronics is not my comfort zone but am willing to learn/study.

Looking forward to any assistance.

... later ...

I have a new clue, I placed my digital signal analyzer on an otherwise unused GPIO on the Raspberry Pi and when the motors were not running, the signal was constant flat. However, when I ran the motors, interference was found ... see:

enter image description here

This makes me think that the "setup" is receiving a ton of interference when the motors run ... but I'm at a loss of how to alleviate the problem.


... later ... after answer proposal from Richard ...

I soldered in 3 capacitors per motor. Each capacitor was 0.1uF. One capacitor across the +/- of the motor and two capacitors from the motor terminals to the casing.

See (sorry about the blur):

enter image description here

I then re-ran the tests and captured a new signal analyzer recording. Sadly, nothing obvious has changed. See:

enter image description here

With no motors running, a perfectly flat line.

  • \$\begingroup\$ It would be helpful to give exact solution if you give the schematic !! \$\endgroup\$ – Photon001 May 6 '16 at 3:09
  • \$\begingroup\$ Howdy Raj, the high level schematic is that I have an L298N dual H-Bridge. It has OUT1 and OUT2 connected to the inputs of the DC motor. It has a 12V source and a common ground to the Raspberry Pi. There are 3 inputs on the L298N from the Pi which are IN1, IN2 and ENABLEA. All three are connected to output GPIO pins. I apply a 1 to IN1 and a 0 to IN2. ENABLEA is being pulsed with PWM of period 1000usecs (1 ms) and a 100% duty cycle, effectively keeping ENABLEA high. \$\endgroup\$ – Kolban May 6 '16 at 4:35
  • \$\begingroup\$ Your photo of the whole assembly looks kinda "random". Nothing wrong with that when you are doing mechanical design and integration. But you may need to start cleaning up the wiring and paying more attention to shielding and grounding. Be sure to look at the noise on your ground and power buses. It seems rather probable that you need a liberal application of low frequency and high frequency filtering and bypass capacitors. And consider using shielded wiring to your motors. And separating the two sides of the wiring to the motor just creates a big magnetic loop radiating hash. Twist the wires. \$\endgroup\$ – Richard Crowley May 6 '16 at 8:18
  • \$\begingroup\$ Thank you again Richard, I'm at work now but over the weekend I'll try and "clean up" the board. You are 110% correct that it was all "slapped" together. My loose thinking was assemble it quickly and validate that it all "worked" but I think I am learning that in some cases (this for example), I have to take into account physical layout in order to actually get function working. A whole new learning aspect in my electrical/electronics journey. \$\endgroup\$ – Kolban May 6 '16 at 16:46
  • \$\begingroup\$ Your blurry picture of the motor shows that you have the black and red wires going off in opposite directions, and through separate holes in the big metal perforated panel. That is a really excellent way of generating EMI. Keep that black/red wire pair tightly twisted together. And even shielded if possible. Anything physically between the black and red wires is a giant EMI-radiating transformer. \$\endgroup\$ – Richard Crowley May 6 '16 at 17:26

Brushed DC motors are notorious for throwing out EMI (electro-magnetic interference). The PRIMARY solution is to use a good bypass capacitor (like a 0.1uF ceramic) right across the power pins on the motor. AS CLOSE as you can get to the brushes.

Sometimes, with larger motors, it takes additional filtering in the form of shunt capacitors and even pi-filter elements with series inductors...

enter image description here

enter image description here

These photos are from a good tutorial on reducing EMI: http://www.stefanv.com/rcstuff/qf200005.html

Additional bypassing of both power and signal lines is also beneficial. Capacitors can cause sluggish response in sensors if you use too much. It doesn't take large capacitors to be effective in shunting away ("filtering out") EMI.

Shielding and grounding are a "gray art" at best. Halfway between engineering and applied magic.

  • \$\begingroup\$ Richard, MANY thanks for the response. I have some 0.1uf non-polarized capacitors and will be testing now. \$\endgroup\$ – Kolban May 6 '16 at 3:26

Neil, It will be in the inductors/Capacitors to act as a low pass filter that will help keep the Noise down.


Dave M.

  • \$\begingroup\$ Howdy Dave, I have ordered some 100uH coils to add those to the circuit. I have no coils in my parts bucket ... so it will be a couple of weeks before delivery of those before I test. I'm also going to try the wire twists that Richard suggests. \$\endgroup\$ – Kolban May 6 '16 at 16:42

I just fixed interferences generated by a small rotary vane pump, controlled by a 100Hz PWM with ferrite beads. Wind up a couple of turns with the motor wires around the bead, paying attention to spread the turns. Advantage : easy to install, no PCB change.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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