I am using https://www.pololu.com/catalog/product/61 tamiya twin gear box for a line follower, but given same pwm values they rotate in different speeds, left one is much slower than the right one making the robot twitchy. Is anyone else experiencing this problem? or anyone has a workaround?
What voltage and PWM value are you using for this test, and how different are the speeds? One way to quantify the difference would be to tell us what size circle your robot drives in when driven with those PWM values.
Using ardumoto both motors are set to PWM 100, arduino is powered by 7.4 V 700 mah battery, but I also tested it with 9v 2A power adapter, no difference.
To give you an idea, when i power right wheel to initiate a turn it does turn but when i power left wheel to initiate a turn it does not move at all. When I lifted off the ground both wheels turn but even slightly touching left wheel makes it stop.
The Ardumoto is based on the L298, which makes it a bad choice for the Tamiya gearbox. You have very likely exceeded the 2A maximum of that driver many times by now, and much of your power is being lost to the driver’s large voltage drop.
I think the voltage drop is probably why both of your motors turn very weakly below 100 or so. There is always a minimum PWM value below which a motor does not turn, and when they are near stopping, they will behave very differently. For example, if one stops at 90 and the other at 110, you could get the behavior that you described.
In general, getting motors to turn very slowly is hard! Do they work well for you at higher speeds?
I am rebuilding the motor for torque configuration, I will test it as soon as i can but i have one question, what do you mean by exceeded the 2A maximum i am only supplying it with 700 ma?
and specs for the motors says they require 150 ma.
Also for future reference when buying motors for the ardumoto, what type of motor should i look for?
I recommend reading some basic things about electronics if you want to understand this better. For example, Ohm’s law relates voltage and current for a resistor, and a stalled motor behaves pretty much like a resistor.
The 700mAh rating on the battery does not mean that it will somehow always provide 700mA or be limited to 700mA. You could read the batteries section of the 3pi user’s guide for a discussion of volts, mA, and mAh. But the bottom line is that a 700mA NiMH battery is usually capable of producing many amps of current.
Unless you really know what you are doing, you should assume that your motors might be stalled, and observe the stall current rating. When you initially turn them on, for example, they will not instantly accelerate to full speed - so they will be stalled for a fraction of a second, plenty of time to damage a motor driver. And of course if your robot ever runs into a wall they can reach the stall current for an extended time. On top of that, the current increases with voltage (Ohm’s law) so you need to pay attention to the voltage corresponding to the current ratings. Those Tamiya motors use 2A at 3V, so you could easily be at more than 4A. And if you are stalling them, then instantly throw them into reverse, the current could reach 8A! The motors section of the 3pi user’s guide has some more discussion about motors.
To pick out a motor controller, I ask the following questions:
- Can it handle the maximum voltage of my batteries when fully charged?
- Can it handle the current my motors use when stalled at that voltage? (Ohm’s law.)
- What is the “on resistance” or voltage drop at the typical current I will use? (You have to look deep into the data sheet for this, and it is the main reason the L298 is bad for low voltage applications.)
- Is there overcurrent/overheating/short-circuit protection?
One more question is there a chance of damaging arduino or ardumoto if i keep using the gear box, right now i am using it with torque configuration when giving full power it turns synchronized.
You probably will not damage the Arduino, but there is definitely a chance of breaking the Ardumoto if you are using it to drive current beyond its specifications.
I’m using some low cost plastic gear motors, similar to the Pololu item #1121. Where they have free running at 70mA and stall at 800mA I’ve free running at 40mA and stall at 400mA… you can see where this is going for the Tamiya Stall Current!
That said I’m using L293 with a Tamiya gearbox… but based on weight vs traction on running surface I get wheel spin before stall. So far so good but I’d still recomment listening to Paul’s warning.
Going back to the original query on differing speeds, it’s worth checking your construction. Make sure that everything is running freely and you’ve used the grease provied on the gears. Reducing the differences should help minimise the differences in speed (as well as the load on the drive circuit!).