Actuators & Control · Study deck

Stepper Motors: Drivers and Motion

This first route builds counted motion from motor fundamentals through drivers, current, and acceleration.

Motor Max is your guide for this deck.

steppermotors
Motor Max, the module guide, in a scene from this chapter.
iotclass.org

After studying this chapter

Learning objectives

You will be able to:

  • Explain: The photographs below make stepper motor (28byj-48 with uln2003 driver) a physical comparison: look for changes in package, exposed interfaces, mounting, scale, and service access before treating the forms as interchangeable.
  • Explain: Those features establish the mechanical interface and two-phase connection, but not a universal current limit; the actual winding current and driver cooling requirements must come from the motor and driver data.
  • Explain: Driving one diagonal switch pair sends current through a coil in one direction; driving the opposite diagonal pair reverses that current and swaps the coil's north/south polarity.
A 28BYJ-48 geared stepper motor connected by colored wires to a ULN2003 driver board
A 28BYJ-48 geared stepper motor connected by colored wires to a ULN2003 driver board
iotclass.org

Major section

Start With the Story

An actuator is a part that turns an electrical command into physical action.

  • Here the action is counted rotation, but a count sent by the controller is not proof that the shaft or label moved.
  • The local machine must stop safely even when its dashboard or wider network is late.
  • This opening does not choose a motor size or promise that open-loop counting is always enough.
  • Stepper motors fit that story when discrete movement and repeatability matter.
A green stepper motor rotor with a metallic shaft and end caps, showcasing its segmented design.
A green stepper motor rotor with a metallic shaft and end caps, showcasing its segmented design.
iotclass.org

Major section

How It Works: Stepper Motor Step-by-Step Operation

Think of a stepper motor like a clock's second hand that can only move to specific tick marks.

  • Step-by-step movement (can be jerky at low speeds).
  • The useful design question is whether the physical job needs counted position, continuous speed, integrated feedback, or a simple angle command, then whether the motor, driver, supply, wiring, and software can carry the required torque.
  • The driver board is not optional decoration; it translates low-power controller signals into the coil current sequence that makes the rotor align one step at a time.
Close-up of a stepper motor showing coiled copper wires, a central shaft, and colored wires bundled together.
Close-up of a stepper motor showing coiled copper wires, a central shaft, and colored wires bundled together.
iotclass.org

Major section

Checkpoint: Counted Motion

The counting math is only useful if the electronics can reverse and limit coil current correctly.

  • The next section makes that driver boundary explicit.
  • A stepper driver is the power spine between the microcontroller and the motor coils.
  • The controller pins are only logic signals; the driver contains transistor switches that route real coil current from the motor supply.
iotclass.org

Major section

Checkpoint: Counted Motion (continued)

Current through a coil creates a magnetic field, and changing the current path changes the field that pulls the rotor toward the next aligned position.

  • Driving one diagonal switch pair sends current through a coil in one direction; driving the opposite diagonal pair reverses that current and swaps the coil's north/south polarity.
  • Older dual H-bridge chips make that boundary visible.
  • You have now seen the coil sequence directly.
iotclass.org

Major section

28BYJ-48 with ULN2003

The photographs below make stepper motor (28byj-48 with uln2003 driver) a physical comparison: look for changes in package, exposed interfaces, mounting, scale, and service access before treating the forms as interchangeable.

  • They share a capability name, but packaging and installation change the electrical, mechanical, environmental, and maintenance constraints.
Close-up of a stepper motor showing internal coils, wires, and a central rotor, demonstrating its physical structure.
Close-up of a stepper motor showing internal coils, wires, and a central rotor, demonstrating its physical structure.
iotclass.org

Major section

NEMA 17 with A4988/DRV8825

For higher performance, NEMA 17 steppers with A4988 or DRV8825 drivers are a common choice.

  • Those features establish the mechanical interface and two-phase connection, but not a universal current limit; the actual winding current and driver cooling requirements must come from the motor and driver data.
  • Current limit adjustment.
A square black NEMA 17 stepper motor with output shaft and four-wire lead
A square black NEMA 17 stepper motor with output shaft and four-wire lead
iotclass.org

Deck summary

Key takeaways

An actuator is a part that turns an electrical command into physical action.

  • Think of a stepper motor like a clock's second hand that can only move to specific tick marks.
  • The counting math is only useful if the electronics can reverse and limit coil current correctly.
  • Current through a coil creates a magnetic field, and changing the current path changes the field that pulls the rotor toward the next aligned position.
  • The photographs below make stepper motor (28byj-48 with uln2003 driver) a physical comparison: look for changes in package, exposed interfaces, mounting, scale, and service access before treating the forms as interchangeable.
iotclass.org

Retrieval practice

Recall check 1 of 4

Motor Max says: answer from memory, then check your reasoning.

Q1What does microstepping chiefly change in a stepper driver?

AThe smoothness and command granularity of coil motion.
BThe motor shaft becomes immune to missed steps.
CThe motor gains unlimited holding torque.
DThe need for a current limit disappears.
Show answer

Answer: A The driver varies current between coils for smaller command steps.

iotclass.org

Retrieval practice

Recall check 2 of 4

Motor Max says: answer from memory, then check your reasoning.

Q2A stepper misses steps when it starts a heavy move. Which motion change should be tried first?

ARamp the step rate up and down within the stepper's measured torque margin.
BJump immediately to the final step rate because the controller will recover missed steps under the heavy load.
CRaise the microstep count and treat it as proof of extra available torque.
DIgnore the load and tune only the display timing while the motor misses steps.
Show answer

Answer: A A ramp helps the rotor follow the commanded motion.

iotclass.org

Retrieval practice

Recall check 3 of 4

Motor Max says: answer from memory, then check your reasoning.

Q3A 28BYJ-48 stepper motor uses full stepping at a nominal 2048 full steps per output revolution. How many full steps are needed to rotate 90 degrees?

A90 steps
B256 steps
C512 steps
D1024 steps
Show answer

Answer: C To calculate full steps for a target angle: full steps = (angle / 360) x full_steps_per_output_revolution.

iotclass.org

Retrieval practice

Recall check 4 of 4

Motor Max says: answer from memory, then check your reasoning.

Q4An AccelStepper move has a target, but the program calls run() only once. What must change?

AJump straight to full step rate and assume the single run call completes the move.
BCall run after reaching the target, because the target command advances the motor before run executes.
CRaise microstepping alone while leaving the start rate and call pattern unchanged.
DSet tested acceleration and call run repeatedly until the target move ends.
Show answer

Answer: D The library can ramp speed when its motion loop runs often enough.

iotclass.org

Print reference

Answers

Answer key.

  1. A · The driver varies current between coils for smaller command steps.
  2. A · A ramp helps the rotor follow the commanded motion.
  3. C · To calculate full steps for a target angle: full steps = (angle / 360) x full_steps_per_output_revolution.
  4. D · The library can ramp speed when its motion loop runs often enough.
iotclass.org