Menu
- L293d Motor Driver Schematic
- L293d Motor Driver Ic Wikipedia
- L293d Motor Driver Circuit Diagram
- L293d Motor Driver Ic Datasheet
L293D IC is a typical Motor Driver IC which allows the DC motor to drive on any direction. This IC consists of 16-pins which are used to control a set of two DC motors instantaneously in any direction. The L293D is a dual-channel H-Bridge motor driver capable of driving a pair of DC motors or one stepper motor. That means it can individually drive up to two motors making it ideal for building two-wheel robot platforms. For more details please refer below datasheet.
Common DC gear head motors need current above 250mA. There are many integrated circuits like ATmega16 Microcontroller, 555 timer IC. But, IC 74 series cannot supply this amount of current. When the motor is directly connected to the o/p of the above ICs then, they might damaged. To overcome this problem, a motor control circuit is required, which can act as a bridge between the above motors and ICs (integrated circuits). There are various ways of making H-bridge motor control circuit such as using transistor, relays and using L293D/L298.
H-Bridge Circuit
A H bridge is an electronic circuit that allows a voltage to be applied across a load in any direction. H-bridge circuits are frequently used in robotics and many other applications to allow DC motors to run forward & backward. These motor control circuits are mostly used in different converters like DC-DC, DC-AC, AC-AC converters and many other types of power electronic converters. In specific, a bipolar stepper motor is always driven by a motor controller having two H-bridges
A H-bridge is fabricated with four switches like S1, S2, S3 and S4. When the S1 and S4 switches are closed, then a +ve voltage will be applied across the motor. By opening the switches S1 and S4 and closing the switches S2 and S3, this voltage is inverted, allowing invert operation of the motor.
Generally, the H-bridge motor driver circuit is used to reverse the direction of the motor and also to break the motor. When the motor comes to a sudden stop, as the terminals of the motor are shorted. Or let the motor run free to a stop, when the motor is detached from the circuit. The table below gives the different operations with the four switches corresponding to the above circuit.
L293D Motor Driver IC
L293D IC is a typical Motor Driver IC which allows the DC motor to drive on any direction. This IC consists of 16-pins which are used to control a set of two DC motors instantaneously in any direction. It means, by using a L293D IC we can control two DC motors. As well, this IC can drive small and quiet big motors.
This L293D IC works on the basic principle of H-bridge, this motor control circuit allows the voltage to be flowing in any direction. As we know that the voltage must be change the direction of being able to rotate the DC motor in both the directions. Hence, H-bridge circuit using L293D ICs are perfect for driving a motor. Single L293D IC consists of two H-bridge circuits inside which can rotate two DC motors separately. Generally, these circuits are used in robotics due to its size for controlling DC motors.
Pin Diagram of a L293D Motor Driver IC Controller
L293d Motor Driver Schematic
- Pin-1 (Enable 1-2): When the enable pin is high, then the left part of the IC will work otherwise it won’t work. This pin is also called as a master control pin.
- Pin-2 (Input-1): When the input pin is high, then the flow of current will be through output 1
- Pin-3 (Output-1): This output-1 pin must be connected to one of the terminals of the motor
- Pin4 &5: These pins are ground pins
- Pin-6 (Output-2): This pin must be connected to one of the terminals of the motor.
- Pin-7 (Input-2): When this pin is HIGH then the flow of current will be though output 2
- Pin-8 (Vcc2): This is the voltage pin which is used to supply the voltage to the motor.
- Pin-16 (Vss): This pin is the power source to the integrated circuit.
- Pin-15 (Input-4): When this pin is high, then the flow of current will be through output-4.
- Pin-14 (Output-4): This pin must be connected to one of the terminals of the motor
- Pin-12 & 13: These pins are ground pins
- Pin-11 (Output-3): This pin must be connected to one of the terminals of the motor.
- Pin-10 (Input-3): When this pin is high, then the flow of current will through output-3
- Pin-9 (Enable3-4): When this pin is high, then the right part of the IC will work & when it is low the right part of the IC won’t work. This pin is also called as a master control pin for the right part of the IC.
H Bridge Motor Control Circuit Using L293d IC
The IC LM293D consists of 4-i/p pins where, pin2 and 7 on the left side of the IC and Pin 10 and 15 on the right side of the IC. Left input pins on the IC will control the rotation of a motor. Here, the motor is connected across side and right i/p for the motor on the right hand side. This motor rotates based on the i/ps we provided across the input pins as Logic 0 and Logic 1.
Let’s consider, when a motor is connected to the o/p pins 3 and 6 on the left side of the IC. For rotating of the motor in clockwise direction, then the i/p pins have to be provided with Logic 0 and Logic 1.
When Pin-2= logic 1 & pin-7 = logic 0, then it rotates in clockwise direction.
Pin-2=logic 0 & Pin7=logic 1, then it rotates in anti clock direction
Pin-2= logic 0 & Pin7=logic 0, then it is idle (high impedance state)
Pin-2= logic 1 & Pin7=logic 1, then it is idle
Pin-2=logic 0 & Pin7=logic 1, then it rotates in anti clock direction
Pin-2= logic 0 & Pin7=logic 0, then it is idle (high impedance state)
Pin-2= logic 1 & Pin7=logic 1, then it is idle
In a similar way the motor can also operate across input pin-15 and pin-10 for the motor on the right hand side.
The L4293D motor driver IC deals with huge currents, due to this reason, this circuit uses a heat sink to decrease the heat. Therefore, there are 4-ground pins on the L293D IC. When we solder these pins on the PCB (printed circuit board), then we can get a huge metallic area between the ground pins where the heat can be produced.
This is all about H Bridge Motor Control Circuit Using L293d IC. These ICs are generally used in robotics. We hope that you have got a better understanding about the concept of H-bridge. Furthermore, any queries regarding H bridge motor driver IC l293d or electrical and electronic projects, please give your feedback in the comment section below. Here is a question for you, what is the purpose of moor driver IC?
Related Content
One of the easiest and inexpensive way to control stepper motors is to interface L293D Motor Driver IC with Arduino. It can control both speed and spinning direction of any Unipolar stepper motor like 28BYJ-48 or Bipolar stepper motor like NEMA 17.
If you want to learn the basics of L293D IC, below tutorial is invaluable. Consider reading (at least skimming) through this tutorial first.
Control DC Motors with L293D Motor Driver IC & ArduinoIf you are planning on assembling your new robot friend, you will eventually want to learn about controlling DC motors. One of the easiest and...
Controlling a Stepper Motor With an H-Bridge
L293d Motor Driver Ic Wikipedia
As L293D IC has two H-Bridges, each H-Bridge will drive one of the electromagnetic coils of a stepper motor.
By energizing these electromagnetic coils in a specific sequence, the shaft of a stepper can be moved forward or backward precisely in small steps.
However, the speed of a motor is determined by the how frequently these coils are energized.
Below image illustrates driving stepper with H-Bridge.
Driving Unipolar Stepper Motor (28BYJ-48)
In our first experiment, we are using 28BYJ-48 unipolar stepper rated at 5V. It offers 48 steps per revolution.
Before we start hooking the motor up with the chip, you will need to determine the A+, A-, B+ and B- wires on the motor you plan to use. The best way to do this is to check the datasheet of the motor. For our motor these are orange, pink, blue and yellow.
Note that we will not be using the common center connection(Red) in this experiment.
The center connection is merely used to energize either the left or right side of the coil, and get the effect of reversing the current flow without having to use a circuit that can reverse the current.
The connections are fairly simple. Start by connecting 5V output on Arduino to the Vcc2 & Vcc1 pins. Connect ground to ground.
You also need to connect both the ENA & ENB pins to 5V output so the the motor is always enabled.
Now, connect the input pins(IN1, IN2, IN3 and IN4) of the L293D IC to four digital output pins(12, 11, 10 and 9) on Arduino.
Finally, connect the stepper motor’s wires A+ (Orange), A- (Pink), B- (Yellow) and B+ (Blue) to the L293D’s output pins (Out4, Out3, Out2 & Out1) as shown in the illustration below.
Driving Bipolar Stepper Motor (NEMA 17)
In our next experiment, we are using NEMA 17 bipolar stepper rated at 12V. It offers 200 steps per revolution, and can operate at 60 RPM.
Before we start hooking the motor up with the chip, you will need to determine the A+, A-, B+ and B- wires on the motor you plan to use. The best way to do this is to check the datasheet of the motor. For our motor these are red, green, blue and yellow.
The connections are fairly simple. Start by connecting external 12V power supply to the Vcc2 pin and 5V output on Arduino to the Vcc1 pin. Make sure you common all the grounds in the circuit.
You also need to connect both the ENA & ENB pins to 5V output so the the motor is always enabled.
Now, connect the input pins(IN1, IN2, IN3 and IN4) of the L293D IC to four digital output pins(12, 11, 10 and 9) on Arduino.
Finally, connect the A+ (Red), A- (Green), B+ (Blue) and B- (Yellow) wires from the stepper motor to the L293D’s output pins (Out4, Out3, Out2 & Out1) as shown in the illustration below.
L293d Motor Driver Circuit Diagram
Arduino Code – Controlling Stepper Motor
The following sketch will give you complete understanding on how to control a unipolar or bipolar stepper motor with L293D chip and is same for both the motors except
stepsPerRevolution
parameter.Change this parameter as per your motor’s specification before trying the sketch out. For example, for NEMA 17 set it to 200 and for 28BYJ-48 set it to 48.
The sketch starts with including Arduino Stepper Library. The stepper library comes packaged with the Arduino IDE and takes care of sequencing the pulses we will be sending to our stepper motor.
After including the library we define a variable named
stepsPerRevolution
. As the name suggests it’s the number of steps per revolution that our motor is rated at. Change this parameter as per your motor’s specification. For example, for NEMA 17 set it to 200 and for 28BYJ-48 set it to 48.Next, we create an instance of the stepper library. It takes the steps per revolution of motor & Arduino pin connections as parameter.
In setup section of code, we set the speed of stepper motor by calling
setSpeed()
function and initialize the serial communication.L293d Motor Driver Ic Datasheet
In loop section of code, we simply call
step()
function which turns the motor a specific number of steps at a speed determined by setSpeed()
function. Passing a negative number to this function reverses the spinning direction of motor.