I purchased a Low-Voltage Dual Serial Motor Controller and a Tamiya double gearbox (to go with a Pololu round robot chassis), and am having some trouble.
After wiring it all up to a Boarduino (using 4 x 1.2V AA NiCad batteries as a motor supply and a 9V battery to power the Boarduino and then to the logic supply of the Controller), I can successfully drive two Lego Mindstorms motors. Attaching either one (or both) of the Tamiya motors (with capacitors installed across the terminals) produces strangeness.
Once power is applied to the Boarduino, the motors pulse for a moment–along with a flash of the Controller’s indicator LEDs–and then the Controller falls silent. The LEDs go dark, but the Boarduino appears to continue operating.
Powering either of the motors directly from the 4 x AA power supply produces the desired effect: They spin with no effort whatsoever.
Any thoughts on why the Tamiya motors would cause the Controller to become unresponsive, while other motors would not?
In general, if changing motors causes a problem, the problem is probably noise or power related. In your case, the NiCd batteries should be able to provide plenty of current, and you have a separate supply for your logic, so the problem is probably caused by excessive noise. The Tamiya motors are the noisiest we’ve seen, so they definitely don’t help. One of the easiest things to do to reduce the noise is to reduce your supply voltage by using just three or even two cells. The motors are 3 V motors, anyway, so that should make them last much longer, too.
Another option is to replace the motors with less noisy ones, such as the Solarbotics RM3, which is a 6 V motor that draws less current (so you would want to stick with all 4 cells if you went that route).
The last option is to limit the noise with the existing motors, which can be difficult to do. In general, your power leads should be twisted, as short as possible, and away from your data/signal lines. You should have three capacitors on each motor: one across the leads and one from each lead to the case. Breadboards are not good for limiting noise, so if you are using one, you might want to eliminate it and solder wires directly to the PCB. If you have an oscilloscope, that would also help in seeing how bad the noise is and if what you are doing is helping.
Awesome–I’ll try the 2-cell recommendation tonight when I get home from work, and will definitely apply more capacitors to the motors.
Thanks a ton for the suggestions, Jan!
I had a chance to hook up 2.5V (2 x NiCd AAA) while at home for lunch, but it behaved the same way. I also located a few extra 0.1 uF caps which I’ll press into service later tonight.
One point you made which I didn’t address is the use of a breadboard. I’m actually using a piece of Radio Shack (yes, I know…) perfboard with 22-gauge stranded wire to connect everything. Are there any issues there?
That perfboard should be okay, but when you’ve got noise problems, you want to limit things that act as antennas. It would also be interesting to see what happens when you try just one motor at a time, and without any load (pull it out of the gearbox a bit to disengage it).
I haven’t pulled the motor out of the gearbox, but did add the two extra capacitors to one of the motors (from each terminal to the housing), and it’s working now. (Well, that one motor is working, if I just connect that one to the controller. The other motor will have to wait a bit–my wife and I are taking care of my seven-year-old nephew this week, and it’s sapping almost all of my free time.)
Thanks, Jan! You’ve saved my first 'bot!