Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: Keithh28 on August 18, 2012, 07:52:12 AM

Title: Filtering Motor Noise
Post by: Keithh28 on August 18, 2012, 07:52:12 AM
I ran into a problem recently with motor noise that was not solved using capacitors soldered to the terminals, I'm wondering if someone could explain why.  Here's what I did:

I built a small 'bot using the cheap Tamiya dual gearbox setup (Item 70168) and the wheel encoders from Robot Shop (RB-Rbo-122) designed for that gearbox.  Everytime I powered one of the motors, I was getting wheel counts in the 2000-3000 range and very erratic.  Both sensors were picking up counts, even when only one side was being driven.  The gearbox is setup for 344.2:1 reduction, and I new that kind of count was way too high.  I removed the motors and used my drill motor to spin the drive shaft at a fairly constant speed, estimating that I was spinning the shafts at a speed at least as fast as the internal motors were.  This resulted in consistent counts (50-100, if I remember correctly) and no counts from the shaft not being driven. 

I realized I was getting interference from the motors.  I tried moving the sensor wires away from the motor feed wires and that didn't help, so I disassembled the bot and soldered 33uF capacitors across the terminals as I've seen recommended.  They didn't seem to make a bit of difference. 

What else can I do to eliminate this interference? 

Keith
Title: Re: Filtering Motor Noise
Post by: waltr on August 18, 2012, 12:41:35 PM
Did you search these forums? This has been discussed and one or more threads may have your answer.
In short: there can be a number of causes as discussed in the other threads.
Title: Re: Filtering Motor Noise
Post by: Keithh28 on August 18, 2012, 12:54:32 PM
I searched using "motor noise" and "encoder error".  Any suggestion for a better term to use?  There were several discussions, but I didn't notice anything I hadn't already tried. I'll go back through them, perhaps I missed something.

Keith
Title: Re: Filtering Motor Noise
Post by: Soeren on August 19, 2012, 07:27:42 AM
Hi,

I realized I was getting interference from the motors.  I tried moving the sensor wires away from the motor feed wires and that didn't help, so I disassembled the bot and soldered 33uF capacitors across the terminals as I've seen recommended.  They didn't seem to make a bit of difference. 

What else can I do to eliminate this interference? 
Where did you see recommendations of 33µF over the motor terminals?
That would be an electrolytic most likely and they suck at high frequencies, so won't react all that hard against the very high dV/dt ("rise time") of motor spikes.

Before implementing the basics correctly, there's no reason to look into more "advanced" solutions, so do the following...

You need to use ceramic caps, as they are good at high frequencies and have a much lower ESR as well.
A value of 100nF would be good. Place one cap over the terminals and one from each terminal, with the "free" pins joined and connected to the motor housing (which should have a decent wire directly to your battery ground (0V) if it's not already solidly grounded.

Twist the motors power wires together (around 3 turns each inch woul work) and twist your sensor wires together in the same manner - keep motor wiring in one side of the 'bot and sensor wires in the other, as far as reasonably possible.

If that doesn't cure it, post back, preferably with a photo showing the 'bot from above and a few pics of how you implemented the above wouldn't be bad either.
Title: Re: Filtering Motor Noise
Post by: Keithh28 on August 19, 2012, 02:17:00 PM
Thanks for the suggestions, it's gonna be awhile before I'll have time to implement this, but I'll definitely let you know how adding the additional caps works. I've already twisted the leads pretty well, forgot to mention that in the original post. I'm not sure where I got the 33uF from, I'm guessing I just remembered wrong, it was several months ago and I had to order a bag of ceramic caps at the time, and now I'm wondering what value they were, another thing to check when I disassemble it.

Anyway, thanks for the suggestion, I'll post pics as soon as I can.

Keith