Bi Polar Stepper Motor With L293D and Arduino

58,194

39

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.

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

  • First Time Author

    First Time Author
  • Big and Small Contest

    Big and Small Contest
  • Toys Contest

    Toys Contest

17 Discussions

0
None
shivamp76

1 year ago

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

0
None
RehanM1

2 years ago

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

0
None
bisratssureshmali

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

0
None
nsharma25

2 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
0
None
120030117004

3 years ago

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

0
None
JuneV1

3 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

0
None
sk8raven

3 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
0
None
JaredE

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

0
None
MitchellO

3 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

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

0
None
Arman5592

4 years ago

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