Introduction: Tutorial for Arduino Mini DC Motor Driver Dual H-Bridge PWM Control (L293D)

Picture of Tutorial for Arduino Mini DC Motor Driver Dual H-Bridge PWM Control (L293D)

Description

Tutorial for Arduino Mini DC Motor Driver Dual H-Bridge PWM Control module is ideal for use in battery-powered smart car, toy cars, robots. Supply voltage 2V ~ 10V, can drive two DC motors or a 4-wire 2-phase stepper motors, can achieve forward rotation or reverse rotation, it is possible to adjust the rotation speed. Each can provide continuous current of 1.5A, peak current up to 2.5A, thermal protection and can be automatically restored. Use of imported original chip, built-in low on-resistance MOS switch, minimal heat, no heat sink, small size, low power consumption, is ideal for battery powered.

Specification

  • Module supply voltage: 2V-10V
  • Signal input voltage: 1.8-7V
  • Single working current: 1.5A
  • Peak current up to 2.5A
  • Low standby current (less than 0.1uA)
  • Built-in common conduction circuit, the input terminal vacant, the motor does not malfunction
  • Size: 24.7 * 21 * 7mm
  • Mounting hole diameter: 2 mm

Step 1: Material Needed

Picture of Material Needed

To do this tutorial, you will need to prepare all the following below:

1. Tutorial for Arduino Mini DC Motor Driver Dual H-Bridge PWM Control

2.Arduino Uno Board and USB

3. 2 DC Motors (any kind of DC motor can do)

4. Jumper Wires

5. Crocodile Clip (if needed)

Step 2: Pinout Details

Picture of Pinout Details
  • +/- to give power supply to the module and motor
  • IN1 IN2 to control Motor A
  • IN3 IN4 to control Motor B
  • Motor A to be connected to DC Motor 1
  • Motor B to be connected to DC Motor 2

Step 3: Hardware Installation

Picture of Hardware Installation

1. Tutorial for Arduino Mini DC Motor Driver Dual H-Bridge PWM Control to Arduino Uno

  • + to VIN
  • - to GND
  • IN1 to D12 (OR you can change to any Digital Pin available on your UNO)
  • IN2 to D11 (OR you can change to any Digital Pin available on your UNO)
  • IN3 to D7 (OR you can change to any Digital Pin available on your UNO)
  • IN4 to D6 (OR you can change to any Digital Pin available on your UNO)

2. Connect your DC Motor to pinout Motor A and Motor B (refer picturefor help)

3. Connect your Arduino Uno Board to your computer using USB Cables.

Step 4: Sample Source Code

Picture of Sample Source Code

This is a sample source code for the circuit. You can download, open and and upload it into your Arduino Uno Board. Make sure to go to tools > Port & Board. Select the correct board (Arduino/Genuino Uno) and port (refer to your own port COM#) before uploading the code.

Step 5: Serial Monitor

Picture of Serial Monitor

After you have succesfully upload it into you Arduino Uno Board. Go to tools > Serial Monitor and you will see as shown in the picture above printed on your serial monitor. Key-in number option (1, 2 OR 3) to start the operation!

Step 6: Result

Picture of Result
  • when user enter number '1', both dc motor start to rotate forward and serial monitor will print "Motor 1 forward, Motor 2 Forward".
  • when user enter number '2', both dc motor start to reverse and serial monitor will print "Motor 1 Reverse, Motor 2 Reverse"
  • when user enter number '3', both dc motor stop from rotating and serial monitor will print "Motor 1 Stop, Motor 2 Stop".

Step 7: Video

This video show how the DC motor function according to the sample source code attached in this tutorial.

Comments

uwezi (author)2017-03-18

Thank you for this documentations, however it's not a L293D chip on
these boards: the pinout does not match! But the manufacturer of these
boards has been very careful to strip down the chip markings... but the
L293D would not contain MOSFETs either... I found an image with complete chip code on Alibaba, it's either an MX130B or MX1308.

Scramblbot126 made it! (author)2017-01-06

Thank you so much!! I just used this in my robot!! You where super helpful!!

Scramblbot126 (author)2017-01-02

Great instructable!! Lots of detail!! Do you know if it's possible to change the speed? I have been considering buying one of the modules but need speed control. Thank you in advance.

mybotic (author)Scramblbot1262017-01-02

Yes, the speed can be control by connecting the PWM pin to IN1 to IN4. See the picture above inside tutorial. Thanks and have a nice day

Scramblbot126 (author)mybotic2017-01-03

Thanks a lot!!! I really appreciate it!!!

signOnthe (author)2016-11-14

Nice one for L293D. Thank you for your time.