ChipCenter Questlink
SEARCH CHIPCENTER
Search Type:
Search for:




Knowledge Centers
Product Reviews
Data Sheets
Guides & Experts
News
International
Ask Us
Circuit Cellar Online
App Notes
NetSeminars
Careers
Resources
FAQ
EE Times Network
Electronics Group Sites


Making Motion
by Darren Ashby

My eldest son was elated when he got a Lego Mindstorms kit for Christmas a couple of years ago. For those who don't know, it is a ready-made robot kit based on, you guessed it, Legos. Now my wife claims I was much more excited that he was. I beg to differ, but we won't go into that now. The whole point of a robot is that it moves. The Lego kit uses little DC permanent magnet motors with gears and such to get along. Since this type of motor is so popular, I thought I might explain a little about DC permanent magnet motors and how to control them.

DC Motors
In my opinion, the DC PM motor is one of the easiest motors to understand. That is because it has a very linear torque/speed curve (more on that later). Let's start with some general background. A DC PM motor has an armature, brushes, and permanent magnets surrounding the armature. Here is a very simplified drawing.

Figure 1
Figure 1 - Simplified DC PM Motor

The armature is wound with loops of wire connected to a commutator that makes contact with the brushes as the motor rotates. The brushes energize the coils of wire as they pass under the magnets, creating a force that pushes against the permanent magnets and turns the armature. You should remember that current passing through a wire creates a magnetic field. Coiling or looping the wire simply strengthens and focuses that field. It is the electromagnetic field interacting with the permanent magnetic field that creates the force that turns the armature.

All DC motors have a parameter known as the voltage constant or Kv. It is in units of volts/rotation/time or volts divided by rotational velocity. This is usually pretty easy to measure - simply hook a voltmeter up to the leads of the motor, and spin the motor at a known speed, then take the voltage reading at that speed. Divide the voltage by the speed, and voilà, you have a voltage constant.

So why is the voltage constant important? Well, it turns out that DC PM motors are pretty linear. The speed of a DC motor without a load will follow this equation.

    Speed = V ÷ Kv

For example, if you had a motor with a 10 V/Krpm voltage constant, and you applied 20 V to it, it would be spinning at 2000 rpm. This is pretty cool, you can get a constant speed by simply outputting a constant voltage. Voltage sources are one of the first things we learn to make as engineers.

DC motors also have a parameter known as the torque constant or Kt (the torque constant is directly proportional to the voltage constant)1. The torque constant has units of force/current. In English units, it would be in oz/amp. That means for a given amount of current through the windings of the motor, there will be a proportional torque at the output shaft.

    Torque = I × Kt

This linearity makes the DC PM motor fairly easy to predict and control. But you will notice that I said it is proportional if there is no load on the unit. A DC motor will lose speed due to power losses in the windings. Take a look at an equivalent schematic of a DC PM motor.

Figure 2
Figure 2 - Equivalent Schematic of a DC PM Motor

Notice that there are three primary components: resistance, inductance, and a voltage source. The inductance is due to the coils in the motor. The voltage source is caused by the fact that the motor is a generator when the shaft is turned. The voltage across this source is proportional to the speed of the motor, and that is why I have put Kv next to it. So where is power lost in this circuit? I have labeled the resistor DTR or Dynamic Terminal Resistance. This lumps all the resistive losses into one - the windings, brushes, brush contact, and motor leads all add up to cause the motor to generate heat, and thus lose power. The lower this number, the more efficient the motor. Now the DTR will vary a little with speed as the brush contacts are affected by speed. But for the most part, you can consider it to be fairly constant.

Now let's rewrite the speed equation for the DC motor to take this into account.

    Speed = (V - I×DTR)÷Kv ,

where I is the current through the motor and V is the voltage across the motor leads. You can see that the DC motor will lose speed as the load increases on the motor and draws more current (remember it takes current to create torque). You can compensate for this behavior by adding back the amount of voltage lost across the resistor. If you have been in the motor/control world, you may have heard this referred to as IR compensation. It is really a self-explanatory term - measure the current, multiply it by DTR, and add that to the voltage across the motor leads, and you will compensate for the speed loss by heat in the resistor of the motor.

Often times these motors are connected up to gear boxes. Don't let that trip you up, remember that ½ the speed means twice the torque, and vise-versa. Another neat thing about the DC motor is

    Output Power = Shaft Speed × Torque .

If you convert speed into voltage, and torque into current with Kv and Kt, you will find that power also equals voltage × current. Now that's serendipity, it just seems to fit. You will have to wait till next time to talk about some different control topologies for the DC motor, it's late and the page is full.

"But what about the Lego Mindstorms?" you ask. Well, my boys and I have built quite a few projects, but my oldest son has lost interest a little since we couldn't seem to build a robot that would clean his room. I told him that I sincerely hope he can someday solve that particular problem, but till then it is up to him.

 


  1. These conversions are from DC Motors Speed Controls Servo Systems. I like to call it the pink motor book, and I highly recommend it for anyone who is working with DC motors.

    Kt = Kv[Nm/A; V/rad/s]
    Kt = 9.5493 × 10-3 × Kv[Nm/A ; V/Krpm]
    Kt = 1.3524 × Kv[oz-in/A ; V/Krpm]

Product Engineering Archive

Guides and Experts   Analog Avenue   EDA Tools   PLD   DSP   EDA   Embedded Systems   Power   Test
Click here to get your listing up.

Copyright © 2003 ChipCenter-QuestLink
About ChipCenter-Questlink  Contact Us  Privacy Statement   Advertising Information  FAQ