Stepper Motor drive from Arduino
In this tutorial we will show you how to connect a bipolar stepper motor to an Arduino Uno board. The stepper motor we are using is the Sparkfun Stepper Motor but you can use any other 4-wire bipolar stepper motor.
Because a stepper motor draws a higher current than the Arduino processor can handle we are going to use a Quad half H-Bridge chip to control the stepper motor. The popular Texas Instruments SN754410 chip is ideal for this.
The Arduino Stepper library will work directly with this chip without any code modifications, so it is just a simple matter of wiring it up as per the diagram below.
Once all wired up, load one of the example stepper motor sketches. The One-Revolution sketch is shown below which turns the stepper motor one revolution in one direction, then one revolution in the other direction.
/* Stepper Motor Control - one revolution This program drives a unipolar or bipolar stepper motor. The motor is attached to digital pins 8 - 11 of the Arduino. The motor should revolve one revolution in one direction, then one revolution in the other direction. Created 11 Mar. 2007 Modified 30 Nov. 2009 by Tom Igoe */ #include <Stepper.h> const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution // for your motor // initialize the stepper library on pins 8 through 11: Stepper myStepper(stepsPerRevolution, 8,9,10,11); void setup() { // set the speed at 60 rpm: myStepper.setSpeed(60); // initialize the serial port: Serial.begin(9600);}void loop() { // step one revolution in one direction: Serial.println("clockwise"); myStepper.step(stepsPerRevolution); delay(500); // step one revolution in the other direction: Serial.println("counterclockwise"); myStepper.step(-stepsPerRevolution); delay(500); }
For more detail: Stepper Motor drive from Arduino