Bi Polar Stepper Motor With L293D and Arduino

60,018

40

17

About: I am a Project Management Analyst at a reputed brand. Electronics and Photography are my hobby which I pursue on my weekends.

Hi,

I had a Bi Polar stepper motor lying, which I'll be using to create a Dolly for my DSLR.

Components used:

  1. Arduino Uno
  2. Stepper Motor ML17A3 B (This is the model no printed on motor)
  3. Breadboard
  4. L293D
  5. 9v Battery Pack
  6. Some Jumper cables

To make the connections, follow the circuit diagram.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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.

2 People Made This Project!

Recommendations

  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

17 Discussions

None
shivamp76

2 years ago

what battery I have to use with nema17 and L293d...please I need this for my project...please

None
RehanM1

2 years ago

I tried this but my stepper motor is running without Motor supply votage

None
bisratssureshmali

Reply 3 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

None
nsharma25

3 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.

1 reply
None
120030117004

3 years ago

How much current require for l293d to operate the 1A rating stepper motor?

None
JuneV1

4 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

None
sk8raven

4 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...

1 reply
None
JaredE

4 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.

None
MitchellO

4 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

None
AkDisaster

4 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

1 reply
None
sureshmaliAkDisaster

Reply 4 years ago

yes sure, you can build an elevator. share your exact requirement. i'' try to help as much as possible.

None
Arman5592

5 years ago

Nice ! I always wanted DIY drivers to reduce costs and space .