L293D Motor Shield Upgrade for the High-Torque Stepper Motor

In this tutorial we will learn how to use a high-torque stepper motor with the L293D motor drive shield.
I used a high torque stepper motor with the L293D motor driver, so the L293D integration overheated. The cause is high current requirement.
I modified the L293D Motor driver shield to solve this problem.

The L293D Motor Drive Shield is a card that allows you to control up to 4 DC motors or 2 stepper motors (unipolar or bipolar) in addition to 2 servo motors mounted on Arduino.


Required Hardware

L293D Motor Drive Shield -- https://goo.gl/YMQSj1
L293D DIP IC -- https://goo.gl/BNKFkD
High-Torque Stepper Motor -- https://goo.gl/Nyyoqv
Arduino Uno R3 Atmega16U2 -- https://goo.gl/RcRmi1
Jumper Wires -- https://goo.gl/94xaTi

Soldering Tool Kit -- https://goo.gl/2oZhtu
Soldering Stand -- https://goo.gl/2n8gds
Solder Wire -- https://goo.gl/FC7W6o
USB 3.0 Hub -- https://goo.gl/U8wou4

Deals and Promotion

Deals Electronics -- https://goo.gl/eepuZs
Deals Toys & Hobbies -- https://goo.gl/nEc1oi
Deals Cell Phone -- https://goo.gl/f3eScP
Deals Computer & Networking -- https://goo.gl/RWR1tK


Get the Library -- https://goo.gl/ZGDAnX

Get the Code
// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!

#include <AFMotor.h>

// Connect a stepper motor with 48 steps per revolution (7.5 degree)
// to motor port #2 (M3 and M4)
AF_Stepper motor(48, 1);

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Stepper test!");

  motor.setSpeed(10);  // 10 rpm   

void loop() {
  /*Serial.println("Single coil steps");
  motor.step(100, FORWARD, SINGLE); 
  motor.step(100, BACKWARD, SINGLE); 

  Serial.println("Double coil steps");
  motor.step(100, FORWARD, DOUBLE); 
  motor.step(100, BACKWARD, DOUBLE);*/

  /*Serial.println("Interleave coil steps");
  motor.step(100, FORWARD, INTERLEAVE); 
  motor.step(100, BACKWARD, INTERLEAVE); */

  Serial.println("Micrsostep steps");
  motor.step(100, FORWARD, MICROSTEP); 
  //motor.step(100, BACKWARD, MICROSTEP);