My combat robot uses an L298N as it's main driver. That thing is having its maximum current rating pushed through it all the time, and is dealing with digital (on/off) motor control at 12V. And it doesn't get hot in the slightest. I even removed the heatsink for the sake of weight reduction (-5g) and it's still only slightly warm.
Why is my L298N staying cool while everyone seems to complain about how "inefficient" and "hot" they are? It's not like I'm pushing a small amount of power through them.
The only thing that comes to mind is braking. A lot of motor control code applies power to both terminals of the motor as a brake. Because I'm using geared motor, the output shaft stops immediately after power being taken away, meaning I don't need to actually "brake". If that didn't make sense, basically my "motor stop" code looks like:
Yes, shame on me for not using arrays. Nevertheless, while motors are in the state of power on both sides, they start drawing obscene amounts of current that I suppose could heat up the L298N, but mine never actually enter this "braking" state. So is this why my L298N doesn't get hot? Are L298Ns getting hot just a myth? I need help figuring these things out.
A decent logic level MOSFET would work with much less voltage drop.
H-bridges and MOSFETs get hot when they are working in the linear region,
between full OFF and full on. If you only switch them from time to time,
that is not a problem, but could become one, if PWM is used.
Depends on the current - the dissipation in the chip goes with the square of the average current through it. Using it with a 6V motor compared to a 12V motor of the same power would lead to 4 times the dissipation, for instance.
These darlington-based motor drivers are really designed for higher voltages and lower currents, for instance 18, 24, 36V. Lots of people try to use them at 5 or 6V and discover that they have a limited tolerance for current...