Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: kl22 on May 29, 2011, 06:32:41 PM

Title: Matching Motor Speeds
Post by: kl22 on May 29, 2011, 06:32:41 PM
Hi Everyone,

This is a more theoretical question I guess, since I don't have anything implemented just yet.

What I'm thinking of doing is running 4 motors (same make, same model, rated at the same RPM/KV) for a vehicle. One for each wheel.

Assuming that I apply the same current/voltage to each can I safety assume that they will all spin at the same RPM? Or will I need to do some calibrations so the vehicle will drive straight.

If I need to calibrate the speeds somehow how would I do that without having to have encoders permanently installed?
Title: Re: Matching Motor Speeds
Post by: macdad- on May 29, 2011, 07:27:23 PM
Ideally, yes they should all spin at the same RPM, but you should adjust for tolerances(New motors are not normally subject to very noticeable tolerances but good practice)..

You should do individual tests which each of the motors, simply have a multimeter watching the voltage/current when each of the motors are under load and unloaded. If you already have your base built then I suggest putting some dummy load(or the actual load) on the robot base with the motors and have it drive around, note changes in the motors current/voltage on inclines/flat/uneven terrain/etc..

Trial and error would be your best bet, and you would have to have some sensing method to keep the motors at nominal speeds for the different situations, Ex:

Your MCU detects an incline ahead with whatever sensors you have, and have the motor controllers compensate.

Sorry for the length :P
Title: Re: Matching Motor Speeds
Post by: waltr on May 29, 2011, 11:08:46 PM
Permanently installed encoders that allow the motor controller (processor) to measure the actual wheel speed so the controller can adjust the motor speed is the best method. Calibration of each motor will never work as well as direct feed-back. If one wheel hits a bump then the motor current needs to be higher to maintain the same speed as when the wheel is on a level surface.
The encoders do not need to be very high resolution. I have gotten good results with 10 to 24 encoder ticks per wheel revolution.
Title: Re: Matching Motor Speeds
Post by: kl22 on May 30, 2011, 02:50:31 AM
Thanks macdad-!

The length helps a lot macdad :D
First, I'm going to try out what you said macdad.


And Thanks  waltr!
I'm going to end up doing what you suggested if macdad's method isn't accurate enough.

I don't mind the speed change per motor when one tire is going over a bump or something, just need it to go straight assuming it is a perfectly even floor.
Title: Re: Matching Motor Speeds
Post by: macdad- on May 30, 2011, 10:48:16 AM
I agree with Waltr, encoders would definitely be needed for future projects or on a robot that traverses a variety of terrain. For a simple project that your saying on a flat floor with just one or two bumps, calibration will be acceptable  ;)