Stepper motor full, half and microstepping: step angle, torque and missed steps
A stepper motor moves in fixed angular increments: a 1.8° motor takes 360 / 1.8 = 200 full steps per revolution. Half-stepping doubles that to 400, and microstepping divides each step further by splitting the current between the two phases, trading some torque per microstep for smoother, finer motion. No feedback is needed as long as the motor never misses a step.
Step angle and steps per revolution
A stepper motor is built so that its rotor has a number of preferred positions, defined by the teeth on the rotor and stator. Energizing the windings in a sequence moves the rotor from one position to the next. The step angle is the motion per full step.
steps per revolution = 360° / step angle
- 1.8°: 200 steps per revolution (the most common hybrid stepper)
- 0.9°: 400 steps per revolution
- 7.5°: 48 steps per revolution (small permanent-magnet can-stack motors)
Speed follows directly from the pulse rate. For a full-step drive, the speed in rpm is step rate × step angle / 6, where the step rate is in pulses per second. A 1.8° motor stepped at 1,000 pulses per second turns at 1,000 × 1.8 / 6 = 300 rpm.
Full, half and microstepping
A common hybrid stepper has two windings, A and B. The drive controls the current in each, and the rotor aligns with the resulting magnetic field.
Full step. Each step moves the field by 90 electrical degrees. In two-phase-on mode both windings are energized every step, which gives the highest torque. One-phase-on (wave) drive energizes only one winding at a time and gives about 30% less torque.
Half step. The sequence alternates between one phase on and two phases on. It doubles the resolution and gives smoother low-speed motion, but torque alternates slightly between steps because two phases produce more torque than one.
Microstepping. The drive sets the currents in the two windings to approximate sine and cosine waves, for example IA = I × cos θ and IB = I × sin θ. The rotor aligns with a field that points anywhere between the full-step positions. With 1/16 microstepping, one full step is split into 16 positions, so a 1.8° motor gets 3,200 positions per revolution.
Microstepping reduces vibration and noise a lot, but it does not give a proportional increase in accuracy. The holding torque falls roughly as the sine of the displacement from the target, so near a microstep position the restoring torque is small, and friction and load can leave the rotor a little short of it. Typical motors have a position accuracy of about 5% of a full step, so use microstepping for smoothness first and resolution second.
Holding torque and pull-out torque
Holding torque is the torque a motor can resist at standstill when the windings carry rated current, the figure on the datasheet. A stepper has this torque even when stationary, which is why a stepper holds its position without any feedback, and why it draws full current and heats up while idle.
Once the motor turns, the available torque falls with speed. Each winding is an inductor, and it takes time for the drive voltage to push current in and out of it. At higher step rates, the current does not reach its target before the next step, so the torque drops. The curve of maximum torque against step rate is the pull-out torque curve. The pull-in curve, lower than it, is the largest rate at which the motor can start from rest without ramping.
A higher supply voltage, compared with the winding's rated voltage (rated current × resistance), lets the current rise faster and pushes the curve out to higher speed. That is why stepper drives use chopper current control with a supply of several times the rated winding voltage.
Missed steps and resonance
A stepper in open loop has no way to know that it has lost a step. Three things cause it:
- Overload: the load torque is greater than the available torque at that step rate, so the rotor cannot follow the field and slips by a whole number of steps. A stalled motor makes a growling noise.
- Too fast an acceleration: the step rate rises faster than the rotor can accelerate. The cure is a ramp, which increases the pulse rate gradually.
- Resonance: the rotor and its load form a spring-mass system with a natural frequency, often in the low hundreds of full steps per second or below. If the step rate coincides with it, the rotor oscillates more and more and can lose steps. Microstepping, damping, and moving quickly through the resonant speed are the usual remedies.
Because the position is the sum of all the steps counted, a single lost step stays as an error until the axis is homed again. Machines using steppers therefore have limit switches and a homing routine, and add an encoder when missing steps would be costly.
Open-loop positioning and a worked example
Because the number of steps maps directly to angle, a stepper can position a load precisely without a sensor, as long as torque margin is kept. For a leadscrew axis:
steps per mm = (full steps per revolution × microsteps) / lead
Take a 1.8° motor (200 steps per revolution) driving a leadscrew with a lead of 8 mm per revolution, with the driver set to 1/16 microstepping.
1. Steps per revolution at the driver: 200 × 16 = 3,200. 2. Steps per millimetre: 3,200 / 8 = 400. 3. Theoretical resolution: 1 / 400 = 0.0025 mm, or 2.5 µm per microstep. 4. A move of 120 mm needs 120 × 400 = 48,000 pulses. 5. At a feed rate of 50 mm/s, the leadscrew turns at 50 / 8 = 6.25 revolutions per second, which is 375 rpm, and the pulse rate is 50 × 400 = 20,000 pulses per second.
The last number is why high microstepping and high speed do not go together: the controller must generate 20 kHz, and at that speed a real motor has little torque left. In practice, you pick the microstep setting for smoothness and the pulse rate it implies for the speed you need.
How the simulator models a stepper motor
Curvo Studio's stepper motor simulator is a compact educational model of a motor and chopper drive. It has no microstepping setting: you enter the step angle on the nameplate and the model uses it as the motor's step, with the steps per revolution shown as a hint beneath the nameplate fields. Rotor speed is exactly step rate × step angle / 6, because a stepper follows its pulse train.
Torque is modelled as follows. The drive regulates the winding to rated current whenever the supply voltage can reach it, giving a torque ceiling equal to the holding torque. The available torque then rolls off as the step rate rises, around a corner rate that depends on the supply voltage relative to the rated winding voltage (rated current × winding resistance, shown as a hint). If the load torque exceeds the available torque, the motor is flagged as missing steps. At zero step rate with the supply on, the motor holds position with full current. The model does not include resonance or an explicit pull-in curve.
Try it in the stepper motor simulator
Open the stepper motor simulator and try these experiments.
- Set the Step rate to 0 with the Supply voltage on. The motor holds still but still draws phase current.
- Raise the Step rate and read the Rotor speed. Check it against step rate × step angle / 6.
- Watch the Available torque readout fall as the step rate rises, and compare it with the Torque readout, which is the load torque.
- Raise the Mechanical load slider, which is a percentage of the holding torque, until the state switches to Missed steps.
- Raise the Supply voltage and see the available torque at high step rates recover.
- Change the Step angle in the nameplate, for example from 1.8° to 0.9°, and note how the steps-per-revolution hint and the rotor speed at a given step rate change.
- Switch Direction between CW and CCW.
Try it in the simulator
Frequently asked questions
- How many steps per revolution does a 1.8° stepper motor have?
- 200 full steps per revolution, because 360° / 1.8° = 200. With 1/16 microstepping the driver divides each step into 16 positions, giving 3,200 per revolution.
- What is the difference between full-step, half-step and microstepping?
- Full step moves the rotor one step angle per pulse. Half-step alternates between one and two phases on and doubles the positions per revolution. Microstepping sets the winding currents to sine and cosine values so the rotor can stop between full-step positions, giving smoother motion and finer resolution.
- What is holding torque?
- Holding torque is the maximum torque the motor can resist with its windings energized at rated current and the shaft stationary. It is the main number on a stepper datasheet. It does not apply when the motor is turning, where the available torque is lower.
- Why does a stepper motor lose torque at high speed?
- The windings are inductive, so the current takes time to reach its target in each step. At high step rates it falls short and the torque falls. A higher supply voltage and a chopper drive help, but the torque still drops as speed rises.
- Why does a stepper motor miss steps?
- Because the load torque exceeds the available torque at that speed, because the step rate was ramped up too quickly, or because the step rate sits at a resonance. In open loop, nothing detects the lost steps, so the position error stays until the axis is homed again.
- Does microstepping make a stepper motor more accurate?
- Only partly. It makes motion smoother and quieter and gives finer commanded positions, but the torque at a microstep position is small, so friction can leave the rotor short of it. Real accuracy is a few percent of a full step, not the nominal microstep size.