With TJ Byers
I am using 12-volt, 5-amp windshield wiper motors in a computer-controlled robot. However, the computer suffers from interference from the motors when they are activated. Can you suggest some sort of filtering? I've seen capacitors soldered across motor leads. Is this what I need? What size capacitors should I use?
I suspect the problem isn't with the motor itself, but the reverse switch inside the motor that causes the sweeping action. Basically, it reverses the current through the motor windings, which I think is causing an EMF (reverse voltage) spike. Here's where I'd start. Take two 15-volt zener diodes, like a 1N4744A (RadioShack 276-564), and wire them back-to-back, as shown below.
This arrangement prevents the EMF from exceeding 15.7 volts, which will reduce the noise a lot. However, you'll probably need a hash filter, too. I suggest RadioShack's 270-051 ($14.99), which includes a choke and bypass capacitor. One filter should serve all your motors if you wire it as shown. For good measure, I've thrown in a 1uF mylar capacitor (non-polarized).
One thing you want to watch out for are the ground connections. I'd make the RadioShack filter the common return for the battery and have all the power ground wires terminate there. If you don't, a ground loop may occur that will create further problems. In other words, run a separate wire from each ground point to a common ground; don't daisy chain the wires. The resistance from wire to wire, albeit small, is where you get current loops when you daisy chain. ABOVE ALL, make sure to use one ground point for the digital electronics and a different ground point for the analog components, like your wiper motor. It's okay to tie the analog and digital ground points together via a single, heavy wire — you just can't use one ground point for both. You must also bypass the Vcc power supply to the ICs using a 0.1uF capacitor. One capacitor is required for each chip, and it has to be placed as close to the IC power input pin as possible.