This project is focused on designing and making our own L293D Motor Driver Module / Board that can be used for driving two DC Motor or one Stepper Motor or Solenoids. Motor Driver boards are widely used in Arduino, Raspberry Pi and other Mechatronics projects. This project / Driver Board is compatible with any microcontroller or microprocessor with 5V Logic. The focus of the project is to use cheap and readily available components to make a Motor Driver Module / Board with a L293D Driver IC. This IC supports 600mA of continuous current for each channel. Even though it can take 1.2A peak current per channel it is not recommended to load the IC as it can overheat. It is recommened to use L298 Motor Driver Module / Board design available in this website .
For this project, it is good to have basic knowledge of PCB designing and soldering components. This is not a very difficult project to do. A basic understanding of electronics is also benefitial to identify components and correctly assemble them.
Hardware bill of materials
Below is the list of materials that I have used for the project. It is highly encouraged to buy them directly from the link below or add them to cart.
- Soldering Station / Soldering Iron
- Soldering Flux
- Soldering Wire
- PCB Helping Hands
- 7805 x 1
- 47uf Capacitor x 2
- 100nf Capacitor x 2
- 3mm LED x 1
- 330Ω Resistor x 1
- Male 2.54mm Header Connector x 1
- 01×03 Screw Terminal Connector x 3
- L293D IC
- 1N4007 Diode x 8
Software bill of materials
The L293D are quadruple high-current half-H drivers. The L293D is designed to provide bidirectional drive currents of up to 600-mA at voltages from 4.5 V to 36 V. Both devices are designed to drive inductive loads such as relays, solenoids, dc and bipolar stepping motors, as well as other high-current/high-voltage loads in positive-supply applications. All inputs are TTL compatible. Each output is a complete totem-pole drive circuit, with a Darlington transistor sink and a pseudoDarlington source. Drivers are enabled in pairs, with drivers 1 and 2 enabled by 1,2EN and drivers 3 and 4 enabled by 3,4EN. When an enable input is high, the associated drivers are enabled, and their outputs are active and in phase with their inputs. When the enable input is low, those drivers are disabled, and their outputs are off and in the high-impedance state. With the proper data inputs, each pair of drivers forms a full-H (or bridge) reversible drive suitable for solenoid or motor applications.
L293D is transistor based so it loses a lot of power as heat. It is typically 60-70% Efficient. If you are making a power critical project it is recommended to use CMOS Mosfet based Motor Driver they are much more efficient.
The motor speed in these below examples can be controlled by switching the drivers with pulse width modulated squarewaves. This approach is particularly suitable for microcontroller control. PWM generated from Arduino is one of the popular way to control the RPM of the motors.
PWM control signal can be applied to either the channel input or the appropriate enable input. In both cases the recirculation path is through the suppression diode and motor, giving a fairly slow decay. From a practical point of view it is preferable to control the channel input because the circuit response is faster. This is very convenient because each channel has an independent input. The situation is different for bidirectional motors driven by a bridge. In this case the two alternatives have different effects. If the channel inputs are driven by the PWM signal, with suitable logic, the recirculation path is through a diode, the motor and a transistor, giving a slow decay. On theother hand, if the enable input is controlled the recirculation path is from ground to supply through two diodes and the winding. This path gives a faster decay.
EAGLE is an electronic design automation (EDA) application with schematic capture, printed circuit board (PCB) layout, auto-router and computer-aided manufacturing (CAM) features. EAGLE and is developed by CadSoft Computer GmbH later in 2016 it was acquired by Autodesk Inc.
KiCad (pronounced “Key-CAD”) is a free software suite for electronic design automation (EDA). It facilitates the design of schematics for electronic circuits and their conversion to PCB designs. It features an integrated environment for schematic capture and PCB layout design and also has tools within the package to create a bill of materials, artwork, Gerber files, and 3D views of the PCB and its components.
The below schematic is simple and doesn’t involve any complex circuitry. First the schematic is designed in KiCad. The files are available for download at the end of the page. The schematic is divided in two major section one with the Power and the other with the Motor Driver IC.
The power section involves a LDO Voltage Regulator 7805. This provides stable 5V for the microcontroller. Recommended Input is 7V to 12V. Higher voltage is not recommeneded as 7805 will heat up much faster and can damage itself without a proper heatsink.
The Motor Driver section has the L293D IC with all the pin connections and other necessary passsive electronics. Four Supression Diodes are used for each motor to handel Back EMF. L293D has two power input one for driving the motors and one for logic operations. Filter Capacitors are added for both of the power input. A LED indicator is also added to glow when power is received at the board. This reduces debugging efforts when used in a project with multiple boards and hardware.
The PCB Layout is completely designed in KiCad. A 3D view / render of the PCB is also available in KiCad. The L293D Motor Driver Module is designed to improve usability of the module itself.
This particular project brings out learning about PCB design, component choices, cost of product, planning and many more. Best thing about this project is it encourages DIY and Maker culture which is an amazing thing by itself. I encourage everyone to do this project and make your own Modules and Boards for their projects.
Scope of Improvement
I have mentioned this project as v1.0 as there are so many things to improve in this project. One of the main improvements that can be done is to use all SMD Components to reduce the formfactor, mounting holes, reverse polarity protection, etc.
Thanks for reading this project, I highly appreciate your time and effort.