Introduction: Bi Polar Stepper Motor With L293D and Arduino
Hi,
I had a Bi Polar stepper motor lying, which I'll be using to create a Dolly for my DSLR.
Components used:
- Arduino Uno
- Stepper Motor ML17A3 B (This is the model no printed on motor)
- Breadboard
- L293D
- 9v Battery Pack
- Some Jumper cables
To make the connections, follow the circuit diagram.
Step 1: Connections on Breadboard
The images show the step by step connections made on bread board. I started off with GND pins and then to the motor and then Arduino and finally the Battery Pack.
Step 2: Code
I used the code from Arduino IDE. I tried with stepper_OneRevolution and stepper_OneStepAtATime example and they worked fine. The code is listed below.
/*
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
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); }
Step 3: Final Testing
The testing video.
17 Discussions
3 years ago
what battery I have to use with nema17 and L293d...please I need this for my project...please
4 years ago
I tried this but my stepper motor is running without Motor supply votage
6 years ago on Introduction
Woah very neat! Thanks for sharing!
Reply 6 years ago on Introduction
Thanks MsSweetSatisfaction. This inspires me to share my creations.
Reply 4 years ago
hi am trying to move the stepper motor in case sensitive. i need to run the motor in the first 90degree and 180, 270,380 this is for both counter and clock wise direction can u help me pls
4 years ago
can you tell me what is the difference between l293d(st) and l293dne(texas instruments).because motor driver board which use l293d able to rotate the motor while l293dne cannot.
Reply 4 years ago
I checked the datasheet and the only difference I see in the specifications is that L239DNE has 4 output and L239D has 2 output. For more info you can check the data sheet.
http://www.mouser.in/ProductDetail/STMicroelectron...
http://www.mouser.in/ProductDetail/Texas-Instrumen...
Regards,
5 years ago
How much current require for l293d to operate the 1A rating stepper motor?
5 years ago
hi.. im making a automatic roof extension for rain. im using the same
components as listed above and a rain sensor can you help me make a
codes :( i have a hard time making the codes.. Please help Thank you
5 years ago on Introduction
I tried using pins 2,3,4,5 instead of 8,9,10,11 and its not working....plz help
thanksin advance
5 years ago on Introduction
What current does your motor use? For example, I want to control a stepper that takes 1.7 A, only that I don't know if the L293D can handle that...
Reply 5 years ago on Introduction
use L298 in that case
5 years ago on Introduction
Thanks. You forgot to include the stepper library in your sketch. Here is the corrected code:
/*
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); }
I have all these components and will try to build this thing.
5 years ago on Introduction
Hello this helps a lot, thank you. I have a project that requires me to make an elevator with three floors, and an emergency stop. Was wondering if you'd be able to help. Thank you
6 years ago on Introduction
from that code .. you can create a code for mini elevator using that IC ??
we have project please help us :'( .. can you teach me .. tnx
Reply 6 years ago
yes sure, you can build an elevator. share your exact requirement. i'' try to help as much as possible.
6 years ago
Nice ! I always wanted DIY drivers to reduce costs and space .