Let's Make Robots!

identical motors, different speed

Hi all, I have 6 identical motors, or so I thought until I powered them all on at the same time for the first time and realised they all spin at different speeds.


Has anyone else observed similar behaviour either when using multiple identical motors, and/or when using the Arduino Motor Shield?  


I am using the Arduino Ethernet + Motor Shield rev3, with 3 motors connected in parallel to Channel A and 3 motors connected in parallel to Channel B. Each motor is connected to a wheel.

My arduino code sends a forward + full speed to both channels.

All 6 wheels started spinning. Wahoo! 

Then I noticed one wheel was spinning considerably slower than the rest. 

I powered off, put all the wheels in the same position and marked one spoke on each wheel, making sure all spokes were aligned. I powered on, and sure enough I observed all 6 of the motors are spinning at slightly different speeds, and one running considerably slower than the others. 

I hooked up my multimeter, and I measured 7.6v from the battery, and 6v across each of the 6 motors' terminals.

One other thing I dont understand is where the 1.6v disappeared to (7.6 at battery vs 6v at motor). Perhaps into powering the motor shield itself? I would have expected no significant voltage drop at the shield itself.

Motor shield specs etc are at http://arduino.cc/en/Main/ArduinoMotorShieldR3 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

You will also find that brushed DC motors tend to run at different speeds in different directions due to how the brushes are mounted in the motor. As you are using a gearbox you might find some gearboxes have more friction than others.

Your motors all turn different speeds because they are not all "exactly" the same. They are no more exactly the same than a pair of similarly equipped vehicles that have just come off the assembly line are the same. One may get slightly better fuel mileage. One may be slightly quicker. The more bits and pieces something is made of the less "exactly" the same they will be. Your motors turn at slightly differing speeds, because, the wire that makes up their windings might have slightly differing diameters and therefore different impedance. The magnets that are installed don't have "exactly" the same field strength as all the other magnets in the other motors. The brushes that transmit power to the coils are not "exactly" the same properties.

As you can see there are too many variables to make your inexpensive motors exactly the same.

Your voltage drop is similar to what another member is noticing on their 293 circuit. There will be a voltage drop across the H-bridge. It is even listed in the datasheet for the 298. From what I have heard the 298 is worse in that respect than the 293 or 754410.

To answer your question about your slow motor, I can only guess that you have a "bum" motor. I would not guess that 83% is good quality control (5 of 6 motors are "good"). It is possible you got "lucky" and just got a bad one.

I am more concerned about 3 motors in parallel on a single channel. What is the stall current on a single motor? If you stall more than one motor per channel, will you exceed the 2A rating of the motor driver?

Thanks birdmun, very informative reply - its got me thinking more about the role of the H-bridge, which I had kinda forgotten about but would of course be responsible for the voltage drop. The stall current is 0.26A per motor, or 0.78A for the 3 - so well within the 2A channel maximum. Its an indoor slow mover, a little similar to a crawler, 6wd, 100:1 @ 23rpm. I'll do a project writeup when  I have more than a dodgy motor to show off :)

Inexpensive is the right word: QC is down to 71% - I'm already operating on one RMA'd motor swapped out as a non-starter!