ROB-220 · Lesson 8 of 12 · 29 min
Electric motors: brushed DC, brushless and stepper
Sensors let a robot perceive; actuators let it act. The great majority of robot actuators are electric motors: they are clean, quiet, efficient, easy to control with the electronics of ROB-200 and available in every size from a few millimeters to the hundreds of kilowatts that drive excavators. This lesson develops the simple model that describes almost every motor, uses it to read motor curves and datasheets, and compares the three main types used in robots: brushed DC, brushless DC and steppers. Lesson 9 adds gearboxes, and lesson 12 puts both together to size a real actuator.
The DC motor model
A permanent-magnet DC motor converts current into torque and speed into voltage. Two constants capture the electromechanical conversion. The torque constant \( k_t \) says how much torque each ampere produces, and the back-EMF constant \( k_e \) says how much voltage the spinning motor generates per unit speed. In SI units, with torque in N·m, current in A, voltage in V and speed in rad/s, the two constants are numerically equal; datasheets that use mixed units hide this, so convert before calculating.
The third equation is the electrical side: the applied voltage V is shared between the winding resistance R, the winding inductance L and the back-EMF e. In steady state the inductance term vanishes. Combining the equations gives the motor's steady-state torque-speed relationship at a fixed voltage, a straight line:
The no-load speed \( \omega_0 \) occurs when the motor produces no torque, and the stall torque \( \tau_s \) when it is held still and draws the stall current \( V/R \). Mechanical output power \( P = \tau\omega \) is zero at both ends and peaks at half the stall torque and half the no-load speed. Efficiency peaks at a much lighter load, typically 10 to 20 % of stall torque, which is where motors should run continuously.
Worked problem
Reading a motor from its constants
A 24 V brushed DC motor has \( k_t = k_e = 0.050 \) N·m/A (V·s/rad) and \( R = 0.60 \) Ω. Find the no-load speed, stall current, stall torque and maximum output power.
Show solution
- No-load speed: \( \omega_0 = 24/0.050 = 480 \) rad/s \( = 480 \times 60/(2\pi) \approx 4580 \) rpm.
- Stall current: \( 24/0.60 = 40 \) A. Stall torque: \( 0.050 \times 40 = 2.0 \) N·m.
- Maximum power at half torque and half speed: \( 1.0 \times 240 = 240 \) W.
Answer: About 4,580 rpm unloaded, 40 A and 2.0 N·m at stall, and 240 W peak mechanical power. Real no-load speed is a little lower because of friction, and the motor cannot survive stall current for more than moments.
Heat: continuous and peak ratings
The torque-speed line describes what a motor can do instantaneously. What it can do continuously is limited by heat. The copper loss \( i^2R \) in the windings heats them, and the insulation has a maximum temperature, often 125 to 155 °C. Because loss rises with the square of current, and current is proportional to torque, doubling the torque quadruples the heating. Datasheets therefore give a continuous (rated) torque that the motor can sustain indefinitely at a stated ambient temperature, and a peak torque several times larger that it can deliver for seconds. Thermal resistance and time constant describe how quickly it heats up. For a robot whose load varies, the relevant figure is the root-mean-square (RMS) torque over the duty cycle, which lesson 12 uses to size motors.
Worked problem
Winding temperature rise
The motor above must hold 0.40 N·m continuously. Its winding-to-ambient thermal resistance is 3.5 K/W, and the winding resistance is 0.60 Ω. What is the temperature rise? What happens at 0.80 N·m?
Show solution
- Current at 0.40 N·m: \( 0.40/0.050 = 8.0 \) A. Loss: \( 8.0^2 \times 0.60 = 38.4 \) W.
- Temperature rise: \( 38.4 \times 3.5 = 134 \) K.
- At 0.80 N·m: 16 A, loss 154 W, rise 538 K, far beyond any insulation rating.
Answer: A rise of about 134 K, which in a 25 °C room puts the winding near 160 °C, at or above typical insulation limits. Doubling the torque would quadruple the heat. This motor's continuous torque is therefore well below 0.4 N·m without extra cooling, which is why gear reduction (lesson 9) is used to keep motor torque low.
Brushed DC motors
In a brushed DC motor, the windings are on the rotor and the magnets on the stator. Carbon brushes rubbing on a segmented commutator switch the current between rotor coils as it turns, so the torque always pushes in the same direction. Brushed motors are cheap and simple to drive: apply a DC voltage, through an H-bridge for direction and PWM for speed (ROB-200), and the motor runs. Their weaknesses all come from the brushes: wear and limited life, sparking that creates electrical noise and rules them out in explosive atmospheres, friction, and heat generated in the rotor where it is hard to remove. They remain common in toys, small grippers, low-cost hobby robots and automotive accessories.
Brushless DC and permanent-magnet synchronous motors
A brushless motor turns the arrangement inside out: the magnets are on the rotor and the windings on the stator, where heat escapes easily to the housing. Without a mechanical commutator, the drive electronics must switch the current between three phases at the right moments, using rotor position from Hall sensors, an encoder or a sensorless estimate from back-EMF. Simple six-step (trapezoidal) commutation gives some torque ripple; field-oriented control (FOC), which ROB-200 introduced, uses an encoder or a good estimator to keep the stator field exactly at right angles to the rotor field, giving smooth torque even at very low speeds. Motors designed for sinusoidal drive are often called permanent-magnet synchronous motors (PMSMs); in robotics both are casually called brushless or BLDC.
Brushless motors offer high efficiency, long life, high power density and excellent controllability, and they dominate modern robots: drone propulsion, robot arm joints, legged robots and electric vehicles. Two shapes are common. Inrunners have the rotor inside the stator and spin fast with low inertia. Outrunners, and the flat 'pancake' or frameless motors used in robot joints, have a large diameter, which increases torque because torque scales with the rotor's radius and area. Motor torque density depends strongly on diameter, and for this reason quasi-direct-drive legged robots use large-diameter, flat motors (lesson 10).
Brushless motor datasheets often quote a speed constant \( K_V \) in rpm per volt, especially for drone motors. It is simply the reciprocal of the back-EMF constant in mixed units: \( k_t \approx 60/(2\pi K_V) \) N·m/A, or about 9.55/\( K_V \).
Worked problem
From KV to torque constant
A drone motor is rated 900 KV and draws 18 A at full throttle. Estimate its torque constant and the torque it produces at 18 A. How fast would it spin unloaded on a 14.8 V battery?
Show solution
- \( k_t \approx 9.55/900 = 0.0106 \) N·m/A.
- Torque at 18 A: \( 0.0106 \times 18 = 0.19 \) N·m (ignoring losses).
- No-load speed: \( 900 \times 14.8 \approx 13\,300 \) rpm.
Answer: About 0.011 N·m/A, so roughly 0.19 N·m at 18 A, and around 13,300 rpm unloaded. High-KV motors spin fast with little torque per amp, low-KV motors the reverse.
Stepper motors
A stepper motor moves in fixed increments, typically 200 full steps per revolution (1.8° per step), as its driver energizes the coils in sequence. Because each pulse moves the shaft by a known angle, a stepper can position open-loop, without an encoder, which makes it popular in 3-D printers, camera sliders, small linear stages and laboratory automation. Microstepping drivers divide each full step into 16, 32 or more microsteps by shaping the coil currents, giving smoother motion, though the positional accuracy of microsteps is limited.
The catch is that open-loop positioning works only while the motor's torque exceeds the load. A stepper's torque falls steeply with speed, because the coil inductance stops the current from rising fully at high step rates, and if the load or acceleration demands more torque than is available, the rotor slips and loses steps, silently. The controller then no longer knows where the axis is. Steppers also draw full current even when stationary, so they run hot and are inefficient, and they can resonate at certain speeds. Closed-loop steppers with encoders, sometimes called hybrid servos, detect and correct lost steps.
| Motor type | Strengths | Weaknesses | Typical robot uses |
|---|---|---|---|
| Brushed DC | Cheap, simple drive, high starting torque | Brush wear, electrical noise, rotor heat | Toys, small grippers, hobby robots |
| Brushless DC / PMSM | Efficient, long life, high power density, smooth with FOC | Needs commutation electronics and position sensing | Arm joints, drones, legged robots, AMRs |
| Stepper | Open-loop positioning, holding torque, cheap | Torque falls with speed, lost steps, hot, resonance | 3-D printers, stages, lab automation |
| AC induction | Rugged, cheap, no magnets | Lower efficiency and torque density, needs a VFD | Conveyors, large industrial machines |
Reading a motor datasheet
Motor datasheets combine the quantities above with mechanical data. Look for nominal voltage, no-load speed and current, continuous (rated) torque and current, peak or stall torque, torque and speed constants, terminal resistance and inductance, rotor inertia, thermal resistances and time constants, and maximum winding temperature. The electrical time constant \( L/R \) sets how fast current, and therefore torque, can change; the mechanical time constant \( J R/(k_t k_e) \) sets how quickly the unloaded motor reaches speed. Both matter for the bandwidth of the control loops in ROB-300. Check the conditions for the continuous rating, such as ambient temperature, mounting on a heat-sinking flange and natural or forced cooling, because a motor mounted inside a sealed plastic robot body may manage only half of its catalog rating.
import numpy as np
V, kt, R = 24.0, 0.050, 0.60 # volts, N*m/A, ohms
tau = np.linspace(0, kt * V / R, 9) # torque from 0 to stall
w = V / kt - R / kt**2 * tau # rad/s (kt = ke in SI)
i = tau / kt
P_out = tau * w; P_in = V * i
eff = np.divide(P_out, P_in, out=np.zeros_like(P_out), where=P_in > 0)
print(" torque N*m rpm current A P_out W efficiency")
for t, s, c, p, e in zip(tau, w, i, P_out, eff):
print(f" {t:5.2f} {s*60/(2*np.pi):6.0f} {c:6.1f} {p:7.1f} {100*e:5.1f} %") torque N*m rpm current A P_out W efficiency
0.00 4584 0.0 0.0 0.0 %
0.25 4011 5.0 105.0 87.5 %
0.50 3438 10.0 180.0 75.0 %
0.75 2865 15.0 225.0 62.5 %
1.00 2292 20.0 240.0 50.0 %
1.25 1719 25.0 225.0 37.5 %
1.50 1146 30.0 180.0 25.0 %
1.75 573 35.0 105.0 12.5 %
2.00 0 40.0 0.0 0.0 %The table confirms the theory: power peaks at half the stall torque, while efficiency in this idealized model is highest at light load and falls linearly toward zero at stall. A real motor's friction and iron losses make efficiency fall again at very light loads, which produces the hump-shaped efficiency curve in the figure.
Common mistakes
MistakeMixing units when relating torque and back-EMF constants.
InsteadIn SI units (N·m/A and V·s/rad) the constants are equal; convert rpm and mixed units before using them.
MistakeSizing a motor by its stall or peak torque for continuous work.
InsteadContinuous capability is limited by heat; size by the RMS torque against the continuous rating.
MistakeAssuming a stepper motor always knows its position.
InsteadSteps are lost silently if the load exceeds the available torque; add an encoder or ample margin.
MistakeRunning a motor continuously near maximum power.
InsteadMaximum power occurs at half stall, where losses are large; run continuously near peak efficiency instead.
MistakeIgnoring mounting and cooling conditions behind a continuous rating.
InsteadRatings assume specific heat sinking and ambient temperature; derate for enclosed or hot installations.
Summary and key terms
- A DC motor obeys \( \tau = k_t i \) and \( e = k_e\omega \), with \( k_t = k_e \) in SI units.
- At fixed voltage, speed falls linearly from no-load speed to zero at stall torque.
- Mechanical power peaks at half stall torque; efficiency peaks at light load.
- Copper loss \( i^2R \) limits continuous torque; doubling torque quadruples heating.
- Brushed motors are simple but wear; brushless motors are efficient and dominate robots, using commutation and FOC.
- KV in rpm per volt relates to the torque constant as \( k_t \approx 9.55/K_V \).
- Steppers position open-loop but lose steps silently and lose torque at speed.
- Torque constant
- Torque produced per ampere of motor current.
- Back-EMF
- The voltage a spinning motor generates, proportional to speed.
- Stall torque
- The torque a motor produces at zero speed and full voltage.
- No-load speed
- The speed of an unloaded motor at a given voltage.
- Continuous torque
- The torque a motor can sustain indefinitely without overheating.
- Commutation
- Switching current between motor windings as the rotor turns.
- Brushless DC motor
- A motor with rotor magnets and stator windings commutated electronically.
- Field-oriented control
- A drive method that keeps stator current at the optimal angle to the rotor field.
- KV rating
- A motor's no-load speed per volt, in rpm per volt.
- Stepper motor
- A motor that moves in fixed angular steps as its coils are energized in sequence.
Practice problems
Work each problem on paper first, then reveal the answer to check.
A motor has \( k_t = 0.1 \) N·m/A. What torque does 5 A produce?
Show answer
0.5 N·m.
The same motor spins at 200 rad/s. What is its back-EMF?
Show answer
20 V.
A 12 V motor has R = 1.2 Ω and \( k_t = 0.03 \) N·m/A. What are its stall current and stall torque?
Show answer
10 A and 0.30 N·m.
What is its no-load speed in rad/s?
Show answer
\( 12/0.03 = 400 \) rad/s.
At what torque does it deliver maximum power?
Show answer
Half the stall torque, 0.15 N·m.
A motor runs at 6 A with R = 0.5 Ω. What is the copper loss?
Show answer
18 W.
By what factor does copper loss increase if torque triples?
Show answer
Nine times.
A motor is 1,400 KV. Estimate \( k_t \).
Show answer
\( 9.55/1400 \approx 0.0068 \) N·m/A.
How many degrees does a 200-step motor move per sixteenth microstep?
Show answer
\( 1.8°/16 = 0.1125° \).
Why do brushless motors cool better than brushed motors?
Show answer
Their windings are on the stator, which conducts heat directly to the housing.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.