Hi, I have a simple setup of a L293DNE and a bipolar motor. I red they can get quite hot like mine does, and you should put a heatsink on it. But I am unsure if it is really about the heatsink or that my setup is incorrect. Don't get me wrong, the motor turns like it should. But just after a few seconds I have to turn it of because the heat.
Here is the schema that I use with the specs of supply and motor:
Sorry, I am not familiar with that chip, so I just peaked at the spec sheet and see that chip is rated at max of 1 amp and you're pulling half an amp? I would expect it to get pretty warm - when you say "hot" do you mean hot as in burn a blister hot? Or hot as I can hold my finger on it and feel it's hot?
A heat sink never hurts, but "IF" a chip requires a heatsink, there is "usually" a place to attach the heatsink. I didn't see one there.
Have you tried to measure voltage across the supply terminals when you operate the stepper?
I see from your schematic that the supply is rated at 12V/500mA. If the stepper pulls 400mA per phase this is no good. Depending on how you drive the stepper (I'm not hands on with the chip you use) this may have a negative impact on heat (e.g. voltage in drops, current increases).
Thanks for all the information.
I have read the links Grumpy_Mike provided which are very interesting.
But I don't fully understand what this all means. There is a total of 1.08W on
the chip, but how much can it handle? In the datasheet I see "Continuous total dissipation at 80°C case temerature" is 5000mW, is this the value to look at?
And let's say I do put up a heatsink, will it be ok to run the chip at 1.08W then or will it still be to much to handle?
That motor has a 5Ohm coil, and is designed to be driven by a more-sophisticated, current-controlled "chopper driver". Your L293D needs a different motor, with at least a 20Ohm coil, to operate safely at 12V (because you lose a couple of volts in the power transistors, the voltage across the motor will be in the range of about 9-10V) with the Enable inputs constantly on.
With a 5 Ohm coil you will be pulling 2A at 10V. Absolute maximum for the L293D is rated at 1.2A for 100us. No wonder the L293D gets hot - and beyond. What's saving your controller chip is probably your supply (500mA at 12V) which is likely to drop towards zero volts with such a load.
If you add a series resistor to each coil (e.g. 15R), it will drop as much as 6V at 400mA. That doesn't leave much power for the coils - so you're probably left with either finding a new stepper or a constant current stepper controller.
You could try driving the enable pins of the 293D from a PWM output. That might give you the equivalent of the "chopper" drive; I don't know if the Arduino PWM outputs will create appropriate width and frequency of pulses, though...
Ok so I tried it with a 5V input and the motor still turns quite good.
The L293D still gets hot but much slower this time and maybe even less hot than before. So now that the problem of too much energy is solved, I can try the heatsink.
So just a big lump of copper? Do I connect all the ground pins to that lump or one a piece? And I still need to connect it to the ground of the supply I suppose? I guess all the grounds to one lump and still to the supply, but I want to be sure before I break something.
So just a big lump of copper? Do I connect all the ground pins to that lump or one a piece?
Your goal with a heatsink is usually to maximize the exposed surface area for radiation or for conduction to passing air, and this is one of the "usual" cases (there's a special case where you have an occasional brief spike of energy, so you can dump it into a "big lump" and let it dissipate over time).
If you can attach some copper "wings" with a good thermal connection to the ground pins, that would probably be best. Failing that, try to attach a finned heatsink to the package with some thermal compound.
The L293D in the normal DIP package features enhanced thermal conductivity to the center GND pins (compared to an ordinary DIP chip), so the "ideal" heatsink connects intimately with those pins rather than just sitting on top of the package itself (ie it is designed to send heat out the pins, rather than out the package.) Here's a diagram from the datasheet showing what is probably the "ideal" heatsink for the L293D; in addition to the usual sheet of metal sitting on top of the IC, there are extra tabs to connect to those GND pins.
A more minimal heatsink consists simply of an extra-large area of copper on the PCB itself.
There is the sort of clip-on heatsink designed for chips (this one is specifically sold for use with the L293D, but I can't comment on how well it works):
And perhaps easiest to find are the stick-on heatsinks you can buy for cooling the chips inside your computer, although they tend to come in sets. Similar things can be found inside a lot of dead/discarded electronics equipment, and removed for re-used (however depressing it might be to have the major salvage for thousands of dollars worth of equipment be a $2 heatsink...) (that first TO220 heatsink from RadioShack actually looks pretty good.)
All of these would benefit "some" from careful mounting with thermal grease or special thermally conductive adhesives or pads, but pretty much any chunk of metal attached in any way whatsoever will be better than nothing.