L293D Motor Driver/Servo Shield for Arduino. The L293D is a dual-channel H-Bridge motor driver capable of driving a pair of DC motors or single stepper motor.( find out a wide range of motors at solicstores.in). As the shield comes with two L293D motor driver chipsets, that means it can individually drive up to four DC motors making it ideal. This Arduino Compatible Motor Driver Shield is a full featured product that it can be used to drive 4 DC motor or two 4 wire stepper and two 5v servos. It has DC motor and stepper drive with L293D, L293D is a monolithic integrated, high voltage, high current, 4 channel drivers.
On COVID-19 lockdown days, I came across several motor driver modules in my scrap box in the attic – surprisingly most of them are unused Chinese modules. The L293 Arduino Motor Driver Shield, in particular, is extremely elegant, and I wanted to see how to play with that gem. Well, I figured it’s about time that I shared my own experiences with the L293 Arduino Motor Driver Shield. This is not intended to be an in-depth tutorial as there is plenty of information already out there. I’ve just presented briefly how it’s enough to inspire me!
L293 motor driver shield
Quite often you’ll need a full-featured motor shield for your Arduino based mechatronics projects as such a compact shield can control a number of everyday dc motors, servo motors, and stepper motors. Besides such devoted dc motor shields will help you to drive certain solenoids and electromechanical actuators. Perfect for most mechatronics projects!
The motor driver shield comes with two L293D dual-channel H-Bridge motor ICs, so it can individually drive up to four dc motors. The shield offers a total of four H-Bridges and each H-bridge can deliver up to 600mA drive current to the dc motor. The next key component of the motor shield is the 74HC595 shift register IC that extends 4 digital pins of the Arduino to the 8 direction control pins of the L293D ICs. This is the official (Adafruit) schematic drawing of the motor shield.
Note that the output channels of both the L293D ICs are broken out to the edge of the motor shield with two 5-pin screw terminals (M1-M2-M3-M4)to connect four dc motors having voltages between 4.5V to 25V DC. You can also connect two bipolar stepper motors to output terminals – one to M1-M2 and other to M3-M4. In case of unipolar stepper motors, you can connect the center taps of both stepper motors to the Gnd terminal. Moreover, the motor shield puts out the 16-bit PWM output lines to a pair of 3-pin headers to which you can connect two standard servo motors.
On a side note, a serious drawback while working with motors is the large amounts of electrical noise they generate. The motor noise can interfere with the rest of the electronics and can even spoil delicate/sensitive components. Capacitors are usually the most basic but effective way to suppress motor noise, and as such here I urged you to use at least one 100nF ceramic capacitor across the motor terminals. For the neatest noise suppression, you can use three capacitors for one motor – one across the power supply terminals and one from each terminal to the motor case.
This topic is nothing new and there’re already quite a few good posts on the web on this. But I thought I would try to provide a short note on how to filter out the electrical noise from motors in electronic circuits.
First off, keep in mind that the electrical noise generated by a dc motor falls into two categories – electromagnetic interference and the electrical noise generated on the power rails. To suppress the level of electromagnetic interference, motors should be placed as far away from sensitive circuits as physically possible. Further, the metal enclosure (shell) of the motor must be properly grounded. The electromagnetic interference (RFI) can also be coupled into the circuit, but this type of interference (common-mode interference) can be minimized effectively via a simple low-pass filter.
When it comes to the electrical noise on the power rails, filtering at the power source is needed. This can be done by including a ‘beefy’ capacitor across the power terminals. Following scope, capture denotes the noise at the battery terminal when a small toy car dc motor is powered directly by a 4.8V battery pack (Thanks to Kerry D. Wong). See, the noise level is quite severe and the noise Vpp level cut through 3V at times, which is high enough to cause malfunction especially in digital/logic circuits.
The example circuit shown next is tailored for filtering out dc motor electrical noise in bidirectional motor drivers. The values for the inductors (hundreds of mH) and capacitors (hundreds of nF) used in the schematic can be varied empirically to achieve optimum results. Needless to say, there’re several precautions you can take to help minimize the effects of motor electric noise on your system. Practice makes perfect!
To sum up, with adequate shielding, grounding, and correct filtering practices the electrical noise generated by a dc motor can be reduced to a level that is ‘invisible’ for even the most sensitive electronic circuits. Office for mac 2016 tpb.
Play safe with your ideas
Getting back to the principal theme, a terminal block with a jumper is included in the motor shield to power the motors. Note that an Arduino can only give a few hundred mA on the 5V Arduino header. So, I strongly recommend to use an appropriate dc supply for the dc/stepper motors in use (the servo ports are internally powered and does not use an external power supply). That is to say, simply plug in the 9VDC supply for the Arduino board into its dc input jack, and connect the dc/stepper motor supply to the external power block (EXT_PWR) of the motor shield. Always ensure that the power supply selection jumper (PWR) is removed from the motor shield. Remember, the stepper and dc motor connections will not work if the onboard green indicator LED is not lit brightly!
Before using the L293D motor driver shield with Arduino IDE, you need to install the AFMotor library. This Adafruit library contains the requisite commands to control dc, stepper and servo motors. However, driving servos with the motor driver shield is pretty easy as the motor driver shield actually breaks out Arduino’s 16-bit PWM output pins 9 and 10 to the edge of the shield with two 3-pin ‘servo’ headers. Since you’re using the onboard PWM pins, the sketch works with the built-in Arduino Servo library. The aforesaid AFMotor library can be downloaded from here
About my initial tryout
My first try was with the “MotorTest” example sketch included in the AFMotor library (see below). Obviously here you need to declare the motor port number to which the motor is wired. For port M1 write 1, for M2 write 2 and so on. Also if you want to connect multiple motors to the motor driver shield, you need to create a separate object for each motor.
For the quick test, I used a small dc motor (5V/100mA) of a desktop USB fan, wired to M4 screw connector of the motor driver shield. One 6F22 9V rechargeable battery is used to power the entire setup – Arduino Uno + L293 motor driver shield – at that time, and it worked the right way (watch the quick test video).
And, see the casual lab snaps:
The proposed mechatronics hobby project centered on this L293 Arduino Motor Driver Shield (v1.0) is mostly ready, and I am now waiting for a few to supplementary parts to arrive in the next few weeks. I will document my build and post the final results in the near future. Good luck with developing your own ideas and creating your own systems. See you again soon!
The long list of credits & references includes:
L293D Piggyback Introduction
Months before, I pubished a post about H Bridge and L293D Motor Driver IC – What a H-bridge and L293D motor is and how to use it to control DC motors. If you are interested, please feel free to check out the post.
In this post, I will tell you aboutL293D piggybacksoldering; how you can drive multiple motors or high current motors using piggybacking L293D motor Driver IC; High Current DC Motor Driver.
This Project is Sponsored by UTSource. UTSource is a professional electronic components supplier.
The Story Goes Like This
I was building a 6 Wheel Drive RC Car with Suspension as a hobby project. I used to make a lot of wheeled robot so I already had some PCBs I designed with Arduino Pro Mini, HC12 wireless module and an L293D motor Driver IC.
All my previous robots where 3 wheeled or 4 wheeled and most of them had 2 or a maximum of 4 simple DC motors. So I didn’t had to worry about the current. But this was the first time I was dealing with 6 high speed DC motors on the same robot. These motors draw around 350 mA.
I assembled the robot, connected all the motors in one side to the output of Motor 1 of the motor driver IC; similarly I did with the other side. Everything was perfect.
The problem started when I pushed the throttle. The bot moved like a tortoise and the motors made a humming sound. When I touched the IC, it was scorching. Single L293D was not able to provide enough current to drive all the DC motors.
But in the end, I managed to use the same PCB to drive the robot without any lag or heating up the IC. How I solved this issue? Let us take a deeper dive and learn more about L293D Piggyback.
L293D Dual H-Bridge Motor Driver IC
L293D is a reduced type of H Bridge circuit as an IC that utilizes the previously mentioned H Bridge circuit. It is an IC with 8 pins on each side (16 pins altogether) which contains 2 free H Bridge circuits, which implies, we can control two motors separately utilizing a Single IC. L293D is a Motor driver or Motor Driver IC which permits DC motors to drive on either direction.
As mentioned earlier, in an L293D IC, there are two H Bridge circuits. The left side of the IC deals with one H Bridge (One Motor) and the right side deals with the other. There is a pin called ‘Enable Pin’ for both the H Bridge Circuits. The H bridge will work only if the Enable Pin is set to Logic 1. Due to the high current flowing through the circuit, there are 4 ground pins employed in this IC.
L293d Datasheet Arduino
L293D and its Limitations
Of course L293D is the most widely used motor driver IC among hobbyists and engineers to drive DC motors in their projects. They are H Bridge circuits which can be used to control the direction as well as speed of the
But there are certain limitations to this L293D IC when it comes to High Load or High Current Motors. One of them is peak Current.
Check out the above piece of datasheet. The maximum current it can provide over a single channel is 600 mA (1.2A Peak). With this current, L293D cannot drive multiple DC motors or high current motors.
Since most of the PCBs are originally designed to work with L293D, you wont be able to use them for driving high current motors.
The Workaround – Path to A High Current DC Motor Driver
You could either use another motor driver IC – L298N – The Big Brother of L293D which can handle an output current of upto 2A. But the pin-out is entirely different and so you wont be able to mount them in the place of L293D.
Well guys, my solution was pretty simple. Put one on top of the other and solder them in parallel. Yes, a High Current DC Motor Driver. Believe me guys, it worked like a charm.
L293D piggyback configuration is an Easy Way to Double (or in my case triple) The Current as well as the power of L293D Motor driver IC to drive high torque/ high current motor/ high resistance load. (This strategy should work for any L293D chips). L293D Piggyback is a speedy and simple technique to double the current output to the motor.
L293d Spec Sheet
So the entire thought is to solder another L293D chip straightforwardly over the present one. Pin to Pin. This puts the two chips in
In my case, I had 3 L293D ICs soldered on top which will act as a High Current DC Motor Driver so as to drive 6
Top Arduino Projects You can Try this Summer Vacation
Here is a list of the latest Arduino Projects 2019 implementing newer sensors and boards, which can be followed easily and are really interesting to implement you can try this summer vacation.
L293d Motor Driver Ic
Top Robotics Projects You can Try this Summer Vacation
Here is a list of the latest Robotics Projects for 2019 based on Raspberry Pi Arduino Projects 2019 implementing newer sensors and boards, which can be followed easily and are really interesting to implement you can try this summer vacation.
Did you find this page useful? Help us to improve by rating this page.
L293d Motor Driver Arduino Pdf