EnVision Workshop

EnVision Workshop

Topic 07: DC, Servo and Stepper Motors

There are three basic types of motors that are useful for simple Arduino projects. They are DC motors, servo motors and stepper motors. DC motors are the simplest type. When powered, they can free-run at different speeds clockwise or counterclockwise. Servo motors are greared DC motors with a small electronic circuit inside that allow them to rotate to about 180 degrees clockwise and counterclockwise. Stepper motors are the most complex of these three types of motors and they can be made to turn in discreet steps, one step at a time with for example 200 steps for a single revolution. Stepper motors require an additional small controller to allow them to work. Stepper motors can also be run to turn clockwise or counterclockwise.

We will use motors from Adafruit. These are the Adafruit DC motor. An Adafruit tutorial on using a DC motor with Arduino can be found here. Here is Wiki on how DC motors work.

DC motor

The Adafruit micro-servo motor. An Adafruit tutorial on using a micro-servo motor with Arduino can be found here. Here is Wiki on how Servo motors work (including a video taking a servo motor apart).

Servo Motor

The Adafruit stepper motor. Here is Wiki on how Stepper motors work.

Stepper Motor

To make stepper motors work with Arduino requires a stepper motor driver. We will use a simple Adafruit stepper motor driver.

Stepper motor driver

A stepper motor driver is required to control a stepper motor because stepper motors may require more current than an Arduino microcontroller can deliver directly and the driver boards or chips will protect the Arduino from harmful voltage spikes from a motor. However, it is still very easy to run a stepper motor with Arduino when using the stepper motor driver. Here is the Adafruit tutorial for using the stepper motor driver.

Go to Topic 08.