L293 Motor Driver

W. Durfee, Dec-07


The L293 is an integrated circuit motor driver that can be used for simultaneous, bi-directional control of two small motors. Small means small. The L293 is limited to 600 mA, but in reality can only handle much small currents unless you have done some serious heat sinking to keep the case temperature down. Unsure about whether the L293 will work with your motor? Hook up the circuit and run your motor while keeping your finger on the chip. If it gets too hot to touch, you can't use it with your motor. (Note to ME2011 students: The L293 should be OK for your small motor but is not OK for your gear motor.)

The L293 comes in a standard 16-pin, dual-in line integrated circuit package. There is an L293 and an L293D part number. Pick the "D" version because it has built in flyback diodes to minimize inductive voltage spikes. The L293D can be purchased for somewhere between $2 and $3 (quantity one) from www.mouser.com (PN 511-L293D) or www.digikey.com (PN 296-9518-5-ND). For complete information, consult the Unitrode L293 data sheet (PDF file, 626Kb).

A more recent, improved specification, pin-for-pin compatible chip is recommended for new designs: the TI SN754410NE motor driver. Available from mouser.com, Mouser part number 595-SN754410NE, $1.88. Data sheet (PDF file, 172Kb).

The pinout for the L293 in the 16-pin package is shown below in top view. Pin 1 is at the top left when the notch in the package faces up. Note that the names for pin functions may be slightly different than what is shown in the following diagrams.

The following schematic shows how to connect the L293 to your motor and the Stamp. Each motor takes 3 Stamp pins. If you are only using one motor, leave pins 9, 10, 11, 12, 13, 14, and 15 empty.

Assume you have only one motor connected with the enable tied to Stamp Pin 0, and the two direction controls tied to Stamp Pins 1 and 2.

Here is a table describing the control pin functions.

ENABLE
DIRA
DIRB
Function
H
H
L
Turn right
H
L
H
Turn left
H
L/H
L/H
Fast stop
L
either
either
Slow stop

 

And here is a short sample program that exercises the L293.

'L293 demo code. Pin0=enable, Pin1 & Pin2 = direction

'-----bidirectional example

high 0: high 1: low 2
for b0 = 1 to 10
  toggle 1: toggle 2: pause 500
next
low 1: low 2
low 0
pause 5000

'-----fast/slow stop example

high 0: high 1: low 2
pause 1000
low 0
pause 5000
high 0: high 1: low 2
pause 1000
low 1
pause 5000


'-----PWM example, full speed for 1 sec, then slow

high 0:high 1:low 2
pause 1000
low 1: pause 1000
high 1
for b0 = 1 to 50
  high 0: pause 1
  low 0:  pause 100
next

low 1
pause 5000

end

Notes

  1. You can save on some Stamp pins by connecting the Enable pin to +5V and just using the direction pins to change directions and turn the motor on and off. That means you only need two Stamp pins per motor. Put one pin high and the other low for one direction, reverse the state of the pins for the other direction and put both pins low to turn the motor off. Or, if you add an inverter IC, run one stamp pin to DIRA and to the input of the inverter. Run the output of the inverter to DIRB so that it is always in opposite state as DIRA. This Stamp pin will now give you direction control. Run a second Stamp pin to the Enable. Use this Stamp pin to turn the motor on or off or to do PWM speed control.
  2. Put your finger on top of the L293 when running the motor to see if it is getting too hot.
  3. The L293 ground goes to both the battery minus and to the Stamp GND.
  4. The L293 has an automatic thermal shutdown which means the chip will stop working if it gets too hot.
  5. You can use the L293 to drive relays and solenoids. Just connect the relay coil or solenoid between one of the driver outputs (pins 3, 6, 11, or 14) and ground and turn it on or off with the control pin (pins 2, 7, 10, 15). This is handy because you could run one bidirectional motor and two relays using just 4 Stamp pins and a single L293.
  6. The L293 is made by several companies. Use these links to get more information and other versions of the L293 data sheet: Texas Instruments (who bought Unitrode) and STS Thomson (who made the original part....I think)