Bi Polar Stepper Motor With L293D and Arduino

56,165

39

17

Published

Introduction: Bi Polar Stepper Motor With L293D and Arduino

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

  • Microcontroller Contest

    Microcontroller Contest
  • Casting Contest

    Casting Contest
  • Make it Move Contest

    Make it Move Contest
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

17 Comments

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

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

Thanks MsSweetSatisfaction. This inspires me to share my creations.

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

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

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

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

I tried using pins 2,3,4,5 instead of 8,9,10,11 and its not working....plz help

thanksin advance

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

use L298 in that case

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.

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

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

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

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