One step at a time
Stepper motors, due to their unique design, can be controlled to a high degree of accuracy without any feedback mechanisms. The shaft of a stepper, mounted with a series of magnets, is controlled by a series of electromagnetic coils that are charged positively and negatively in a specific sequence, precisely moving it forward or backward in small "steps".
There are two types of steppers, Unipolars and Bipolars, and it is very important to know which type you are working with. For each of the motors, there is a different circuit. The example code will control both kinds of motors. See the unipolar and bipolar motor schematics for information on how to wire up your motor.
In this example the motor will step one step at a time, very slowly. You can use this to test that you've got the four wires of your stepper wired to the correct pins. If wired correctly, all steps should be in the same direction. You may also use this sketch to count the number of steps that your motor does in one revolution.
The stepper is controlled by with digital pins 8, 9, 10, and 11 for either unipolar or bipolar motors. The Arduino board will connect to a U2004 Darlington Array if you're using a unipolar stepper or a SN754410NE H-Bridge if you have a bipolar motor.
Hardware Required
Arduino Board
stepper motor
U2004 Darlington Array (if using a unipolar stepper)
SN754410ne H-Bridge (if using a bipolar stepper)
power supply appropriate for your particular stepper
hook-up wires
breadboard
Circuits
Below you'll find circuits for both unipolar and bipolar steppers. In either case, it is best to power your stepper motors from an external supply, as they draw too much to be powered directly from your Arduino board.
Note: Both circuits below are four wire configurations. Two wire configurations will not work with the code provided.
Unipolar Stepper Circuit and schematic
Unipolar Motor Knob Circuit
image developed using Fritzing. For more circuit examples, see the Fritzing project page
Unipolar Motor Knob Schematic
Bipolar Stepper Circuit and schematic
Bipolar Motor Knob Circuit
image developed using Fritzing. For more circuit examples, see the Fritzing project page
Bipolar Motor Knob Schematic
Code
For both unipolar and bipolar steppers
See also
Stepper myStepper = Stepper(steps, pin1, pin2, pin3, pin4)
MotorKnob - Moves the shaft according to the position of the knob of a potentiometer.
StepperOneRevolution - Turn the shaft one revolution clockwise and one counterclockwise.
StepperSpeedControl - The stepping speed is controlled by a potentiometer.
Last revision 1028/08/23 by SM