One motor is faster than the other?

Hi makers

Im trying to make my remote controlled robot working. Im using an Arduino UNO with the official motor shield R3. The controller is at this point a simple breadboard with 4 buttons on. The wireless communication is handled by RF links. Im using the Tamiya Twin Gear motors with the following DC motors. Im using the 203:1 gear ratio. Im powering both the shield and the Arduino using two seperated 9v batterys. 

The current status is that everything seems to work fine. The wireless communication, the chassis, the code is all okay. But the problem is that one motor always spins significantly slower than the other. I really cant figure out what im doing wrong.

The transmitter code can be seen here: https://dl.dropboxusercontent.com/u/2377351/transmitter_robot.ino

The receiver code can be seen here: https://dl.dropboxusercontent.com/u/2377351/receiver_robot.ino

Thank you very much! 

Maybe you should Try

Maybe you should Try swapping the motors. If the Slower one still remains slow,then its a problem with the motor,and if the faster one becomes slow now then ,it might be a problem in your coding.

DC motors aren’t that perfect. As Max said,you should use encoders to balance their speed if needed.

Very excellent point.

If the motors continue to rotate at the same speed no matter what side they are on, the issue is with the motor. Otherwise, you can rule out the motor and start looking elsewhere; make sure the gearboxes are actually the same gear ratio, and as Dip mentioned check your code, or wiring.

**Could power be the issue? **

Thanks for your replies! (And yea @Maxheirez, im asking for help about how to make the motors spin with about the same speed - sorry for being unclear)

I tried your suggestions - Swapping the motors which resulted in the motor than ran fast before ran slower, and the one that ran slow started running faster. - Does this remove encoders as the solution because the single motor isen’t the problem?

I also doubbled checked the wires and code. 

I tried something interesting. Instead of using 2 x 9v batteries, I powered both the shield and the Arduino through a single wall adapter. The difference between the two motors decreased significantly. Also the motors started spinning much faster. Could it be a problem caused by power? 

When you say 9v battery,

are you talking about the rectangular batteries that typically are used to power some small electronic devices?

If those are the batteries you are using consider this, those 9v batteries are rated at less than 1Ah possibly even less than .5Ah. Your problem does indeed seem to be a lack of current. As has been mentioned, the motors are not quality controlled to milspec standards. If they power and spin at a reasonable rate, they are “good”.

Very few of the bots around here are powered by 9v batteries. Most of the ones that start out that way are switched over to multiple AA/AAA cells. The reason is that the specs for AA/AAA rechargeable cells suggest they can offer 3 to 6 times the current that a simple 9v can supply. If memory serves me well, even the alkaline batteries can offer 1 to 2 times the current supply.

Realize that your motor driver board is dropping a volt or two between the motor supply and the motors.

Likelihood is that your wallwart is able to supply a constant current at its rated voltage.

tl;dr: Swap your 9v rectangle battery for a good multiple cell pack of AA or AAA batteries to drive your motors. 

Like this one?

Yea - im powering both shield and Arduino with those rectangular batteries. 

Do suggest using on of these: http://www.fasttech.com/products/0/10000003/1001003-6-x-aa-battery-holder-with-21mm-dc-connector

Also: Do you suggest one of those for both Arduino and shield or could i power the Arduino with the rectangular 9v and the shield with this one?

Check the gear ratios

Hello,

I see you tried swapping the motors which eliminates them as a problem.  I believe this is a kit motor that you put together?

I recently put together the 4-speed version of this myself.  While its not too hard to put together, its not too hard to get the gear ratios wrong.  There are sleeves and spacers and 3 or 4 kinds of gears.

If you put this together, I would take it apart again and look very carefully at the arrangement of the gears on the shafts.  I think your gearbox has two possible ratios and that would be enough to explain two different speeds.

Hope this helps.