DC Motors 101

Watch the video mini-lecture on DC motor control from Dr. Jordan

What types of DC motors are most common?

  • Brushed DC motors. Current flowing in one direction makes the motor turn one direction, and current flowing in the opposite direction makes the motor turn the opposite direction.
  • Stepper motors - provide absolute position control but require a special controller IC
  • Servo motors - PWM signal controls the position of the motor

How do I connect a brushed DC motor to a microcontroller?

DC motors are inductive loads and therefore cannot be directly connected to a microcontroller without damaging the microcontroller. There are two protection mechanisms that go into a successful motor interface:

  1. Back EMF / flyback diode - protects against current spikes that can damage a microcontroller. Use “rectifier” diodes (e.g., 1N400x series)
  2. H-bridge - switches current on or off to the motor, and changes the direction of the motor

The LMD18200 is a common off-the-shelf H-Bridge IC.

How do I change the speed of the motor?

Generate a Pulse Width Modulation (PWM) signal from your microcontroller and use it to control the H-bridge.

How does a stepper motor work?

See the excellent animated GIFs in the Stepper motor entry on Wikipedia

How do I connect a stepper motor to a microcontroller?

Use an off-the-shelf driver IC instead of trying to build your own driver. The DRV8825 is a common stepper motor control chip.