ACTUATORS - DC MOTORS TUTORIAL
From the start, DC motors seem quite simple. Apply a voltage to both terminals, and
weeeeeeee it spins. But what if you want to control which direction the motor spins?
Correct, you reverse the wires. Now what if you want the motor to spin at half that speed?
You would use less voltage. But how would you get a robot to do those things autonomously?
How would you know what voltage a motor should get? Why not
50V instead of 12V? What about motor overheating? Operating motors can be much more
complicated than you think.
You probably know that DC motors are non-polarized - meaning that you can reverse voltage
without any bad things happening.
Typical DC motors are rated from about 6V-12V. The larger ones are often 24V or more. But for
the purposes of a robot, you probably will stay in the 6V-12V range. So why do
motors operate at different voltages? As we all know (or should), voltage is directly
related to motor torque. More voltage, higher the torque. But don't go running your
motor at 100V cause thats just not nice. A DC motor is rated at the voltage it is most
efficient at running. If you apply too few volts, it just wont work. If you apply too much,
it will overheat and the coils will melt. So the general rule is, try to apply as
close to the rated voltage of the motor as you can. Also, although a 24V motor might be stronger,
do you really want your robot to carry a 24V battery (which is heavier and bigger) around?
My recommendation is do not surpass 12V motors unless you really really need the torque.
As with all circuitry, you must pay attention to current. Too little, and it just won't work.
Too much, and you have meltdown. When buying a motor, there are two current ratings you should pay
attention to. The first is operating current. This is the average amount of current the
motor is expected to draw under a typical torque. Multiply this number by the rated voltage
and you will get the average power draw required to run the motor. The other current rating
which you need to pay attention to is the stall current. This is when you power up the
motor, but you put enough torque on it to force it to stop rotating. This is the maximum amount
of current the motor will ever draw, and hence the maximum amount of power too. So you must
design all control circuitry capable of handling this stall current. Also, if you plan to constantly
run your motor, or run it higher than the rated voltage, it is wise to heat sink your
motor to keep the coils from melting.
How high of a voltage can you over apply to a motor? Well, all motors are (or at least should be)
rated at a certain wattage. Wattage is energy. Innefficieny of energy conversion directly relates to heat
output. Too much heat, the motor coils melt. So the manufacturers of [higher quality] motors know how much wattage
will cause motor failure, and post this on the motor spec sheets. Do experimental tests to see how much
current your motor will draw at a desired voltage.
The equation is:
Power (watts) = Voltage * Current
There is a special case for DC motors that change directions. To reverse the direction
of the motor, you must also reverse the voltage. However the motor has a built up inductance
and momentum which resists this voltage change. So for the short period of time it
takes for the motor to reverse direction, there is a large power spike. The voltage will spike
double the operating voltage. The current will go to around stall current. The moral of this is
design your robot power regulation circuitry properly to handle any voltage spikes.
When buying a DC motor, there are two torque value ratings which you must pay attention to.
The first is operating torque. This is the torque the motor was designed to give. Usually
it is the listed torque value. The other rated value is stall torque. This is the
torque required to stop the motor from rotating. You normally would want to design using only
the operating torque value, but there are occasions when you want to know how far you can
push your motor. If you are designing a wheeled robot, good torque means good acceleration.
My personal rule is if you have 2 motors on your robot, make sure the stall torque on each
is enough to lift the weight of your entire robot times your wheel radius. Always favor
torque over velocity.
Remember, as stated above, your torque ratings can change depending on the voltage applied.
So if you need a little more torque to crush that cute kitten, going 20% above the rated
motor voltage value is fairly safe (for you, not the kitten).
Just remember that this is less efficient, and that you should heat sink your motor.
Velocity is very complex when it comes to DC motors. The general rule is, motors run the most
efficient when run at the highest possible speeds. Obviously however this is not possible.
There are times we want our robot to run slowly.
So first you want gearing - this way the motor can run fast, yet you can still get good torque
out of it. Unfortunately gearing automatically reduces efficiency no higher
than about 90%. So include a 90% speed and torque reduction for every gear meshing when you calculate gearing.
For example, if you have 3 spur gears, therefore meshing together twice, you will get a 90% x 90% = 81% efficiency.
The voltage and applied torque resistance obviously also affects speed.
The most important of DC motor control techniques is the H-Bridge.
After you have your H-Bridge hooked up to your motor, to determine your wheel velocity/position you must use an
encoder. And lastly, you should read up on good
DC Motor Braking methods.
Place small microfarad capacitors across motor leads to extend motor life. This works really
well with noisy and other el-cheapo motors, almost doubling motor life. However there is much less
improvement using this technique with the more expensive higher end motors. For a more advanced
method on how to choose a motor for your specific robot, check out my tutorial
on robot dynamics.