motor control


I've been eyeballing some tank treads from solarbotics: They're the cheapest decent looking tracks I've seen thus far, and come with the motors. Want to use them for their intended purpose, to build a moving vehicle.

However, I'm wondering about the motors ( ).. in particular how to control them. They take 4~6V of power, and I have a power supply laying around that should be able to supply in that range, though I wonder.. how bad would it be if it would slightly exceed the 6V? (6.5V for instance) As for control, I've seen several motor shields being offered.. and I'm just not sure whether they'd be all that interesting to get? so what would I need to control these motors (forwards and backwards, preferably)? I've heard about H-bridges before, know the principles.. but have never used em =P Am open to suggestions in regards to tracks / motors aswell, this is simply the best deal I've found thus far.. I'm not stuck on getting specifically these to work, I've yet to purchase them. If there are better/easier deals out there, I'm all ears.

I would like to add that I'm a software dude, so I have (very) limited electronics know-how. I am trying to learn though :)

how bad would it be if it would slightly exceed the 6V? (6.5V for instance)

Usually not very: motors intended for battery power are almost always designed to be tolerant of a little over-voltage, and 10% is “a little”.

Two things to be careful about: unregulated “wall wart”-type supplies will put out a voltage much more than “a little” above their nominal voltage when theload is drawing less than their rated current. If you used, say, a “6V 2A” supply, it might well be putting out 10V or more under a light load. That’s not going to set the motor on fire, but might shorten the life a little. But if you were powering LEDs, the extra voltage might well be enough to burn them out.

In a nutshell: regulated supplies are almost always better, and sometimes a necessity.

The other thing to be careful of is that sometimes motors are run at way above their rated voltage. RC cars are notorious for this: they’ll run a 3V motor off a 6V or 7.2V battery because it produces much more torque and speed for a given weight and volume. It’s just accepted that they’ll burn out after several hours use, instead of lasting for the thousands of hours the motor was designed for at 3V.

That’s almost certainly not the case with the Solarbotics motors you’re looking at: afaik, they’re a reputable company. But you may find it’s true of motors recycled from toys and such.

Two cautions about motor shields, too. The Adafruit shields I have use up a lot of I/O pins. If you’re going to be building a robot of any complexity, you may find it better to use external controllers with serial interfaces.

Most motor controllers use H-bridges made with bipolar transistors. That means that the voltage out to the motor is usually 2-3V lower than the power supply in. That’s usually not a big deal when you’re using them with a 12V or 18V motor, but it can make a huge difference when you’re trying to run a 6V motor off a 6V battery.

Most motor controllers use H-bridges made with bipolar transistors

Most hobbyist R/C speed controllers will use MOSFETs.

I see, thank you for the info, talbott.

I've looked over the solarbotics inventory and found Reading the description it appears as if a single one of this chip is all I'd need to drive the two motors? It claims to be able to supply upto 600mA to a motor, with upto 2 motors.. which exceeds the max current the motors should draw (they claim they stall at 400mA), but the page, nor the datasheet explicitly state whether this chip provides forwards / backwards capabilities. Though going by the 2 inputs and an enable pin for each 2 outputs (for each motor), it looks to me that one input is for forward control, the other for backward? A quick search on the forum also turned up that it is possible to pwm the enable, this would give variable speed control?

In a nutshell, this IC would be sufficient to drive the motors?

but the page, nor the datasheet explicitly state whether this chip provides forwards / backwards capabilities

It is supposed to be blindingly obvious as you can quite clearly see it can drive each motor output to + or - and it is called a H bridge.

it looks to me that one input is for forward control, the other for backward?

No one controls the direction and the other the on / off. Yes if you PWM the enable you will get speed control.

It claims to be able to supply upto 600mA to a motor

The important thing here is the UP TO. There are other limits notably the power dissipation and that has as much to do with the voltage you feed it as the current it pulls.

Absolute maximum:

Total Power Dissipation at Tpins = 90 °C 4 W

At 800mA, 6V, thats 4.8W of power to be dissipated, in other words.. a heatsink is needed. I'm at a loss on how to attach a heatsink to a DIP package =\ Or if this is a right way to drive those 2 motors?

You might also want to consider the motor control options at Pololu.

They take a bit of wading through! I'm new to this, too, and (almost) didn't know that "H bridge" implies forward/reverse, a bit like "power boat" implies gasoline or diesel, but....

(PS: THIS (MicroMaestro) NOT SUITABLE- but the next one (DualMotor...) is!! MY THANKS TO RobotSimple for point this out in the post after the next one!) Micro Maestro 6-Channel USB Servo Controller (Assembled) $19.95

Serial servo controller...

I THINK (pretty sure): You CONFIGURE IT (if defaults not satisfactory) via USB, then CONTROL via TTL serial TB6612FNG Dual Motor Driver Carrier $8.45

QUOTE from Pololu site... (I think they mean that the board HAS a TB66.. on it, by the way)

This tiny board is an easy way to use Toshiba's TB6612FNG dual motor driver, which can independently control two bidirectional DC motors or one bipolar stepper motor. A recommended motor voltage of 4.5 – 13.5 V and peak current output of 3 A per channel (1 A continuous) make this a great motor driver for low-power motors.

In a typical application, power connections are made on one side of the board and control connections are made on the other. All of the control inputs are internally pulled low. Each of the two motor channels has two direction control pins and a speed control pin that accepts a PWM input with a frequency of up to 100 kHz. The STBY pin must be driven high to take the driver out of standby mode.

(End quote)

I'm pretty sure this is a super "H-Bridge". I need to investigate whether it gives all the electrical isolation I want, to protect ucontroller from spikes from the motors.

Hope that's useful... sorry to "speak up" when my experience is limited, and one or the other might not suit your needs. I hope "experts" will chime in on the suitability or otherwise, 'cause I'm thinking of trying one or other for projects like yours that I want to undertake!

=== There's a bit about the sort of thing an H-bridge does at....

The L293 has a metal tab with a hole in it. Bolt on a heat sink. Use heat sink compound to get a good thermal connection between the chip and the metal. However:-

At 800mA, 6V, thats 4.8W

That is the power dissipated in the load it is NOT the power dissipated by the L293 chip. The power is found by multiplying the current from motor by the saturated on voltage of the transistors in the chip (from the data sheet). Then multiply this by 4 as there are two H bridges.

I don't know why you're talking about 800mA for 2 motors at 6V.

Specification of these motors clearly shows 733mA/motor at 6V. That is 1500mA or 1.5A at 6V. Also you want to run it at higher than 6V (which by the way should be ok, just reduces the life of the motor - read this ) then you should consider a motor driver that can handle more than 1.5A for 2 motors.

That carrier for TB6612FNG mentioned by tkbyd is an excellent choice. (Although, I don't know why he/she mentioned a servo controller, even though it is the best servo controller in the market, but clearly is not useful for controlling a motor). This driver with this carrier board, is designed very nicely and can handle all the current you need for your motors without any extra heat sink.