Stepper Motor Driver Board overheating, wiring issue?

I have several stepper motors driver boards driving this motor

3D Printer Nema 17 Stepper Motor 59Ncm(84oz.in) 2A 17HS19-2004S

And this board

I am running the basic stepper sketch (rotate 360 & reverse).

The L298N is getting crazy hot. It runs for 5 seconds perfectly then it gets a little choppy and after 17 seconds the motor stops.

This has happened on two different driver boards (one from Drok and Banggood).

I have tried several motor connection combinations. The motor either stutters (with little movement) or does work but gets the L298 hot and shuts down within 10 seconds.

I am feeding 12v in. There is no load on the motor.

What is causing all the driver boards from overheating?

The motor? The wiring combo? Input voltage?

Is it normal for the l298 chip to get so hot, even when the motor is idle?

Thoughts?

See attached

The L298 is completely unsuitable for that stepper motor. You need a specialized stepper motor driver. If the motor required less than 2 amps I would suggest something like the Pololu DRV8825 but for a 2 amp motor you really need a stepper driver that can provide at least 3 amps so you have a comfortable marging. Unfortunately they are a lot more expensive.

The reason the L298 is overheating is because the coil resistance of the motor is only 1.4 ohms so it is trying to take about 8 amps from your 12v supply. If it could, of course the motor would be destroyed. The specialist drivers can limit the current to protect the motor. They also take a lot of the computational load from the Arduino.

...R
Stepper Motor Basics
Simple Stepper Code

I fully agree with Robin2's advices.

Is it normal for the l298 chip to get so hot, even when the motor is idle?

When the motor is idle the current being driven through it is the highest compared to all operational situations when it is turning. If you have to go for a bigger driver, have a look at the datasheets and go for a driver which throttles down the current automatically (typically to 1/3) when the motor doesn't get any steps. Saves energy and the stepper's life will be increased.

Note:
Only works when your application doesn't require full torque even when the motor is idle.

Thanks for the quick response.

Great write up.

I missed this concept initially
"Stepper motors pretty much draw their full current all the time, even when they are stationary - that is how they resist being moved from their present position. "

which makes total sense. I falsely thought it would pull more amps based on load.

I also missed the amp rating was per coil. So I was putting 4A through the L298 which probably could only safely handle about a third of the amp rating. That explains the heating issue for sure!


I have ordered 5 DRV8825. Since these only use 2 outputs from my 8266 it is a superior solution for that reason alone. Thanks for that info.

So according to the spec, I can go 1.5a per coil without a sink.

  1. comparing 2 motors

a) 85oz 0.64a 15ohm 12v 17HS24-0644S $13 42x42x60
b) 92oz 1.20a 6ohm 12v 17HS24-1206s $15 42x42x60 500g

"Generally speaking the motors with low coil resistance and high currents (and low nominal voltages) will be most suitable for higher speeds"

so the 85oz motor @ 15ohm will have slower rpm than the 92oz @ 6 ohm at 12v?

links

a)http://www.omc-stepperonline.com/nema-17-60ncm85ozin-064a-bipolar-stepper-motor-17hs240644s-p-19.html

b)http://www.omc-stepperonline.com/unipolar-steppernema-17--motor-65ncm92ozin12a-17hs241206s-p-20.html

  1. Which motor would you choose from the 2 motors listed (assume 7oz torque difference is negligible) for use with the DRV8825? Assume rpm speed is important?

The tradeoff
A) has lower amps but slower and
B) is faster but is right at the safe amp threshold of the DRV8825?

I think the answer is (B) since I want a faster speed, get a few ounces of increased torque and am within 80% of the rating and could slap on a small heat sink if I have to.

Thanks again.

I would use the motor that takes 1.2 amps per coil. That should be no problem for the DRV8825 - its amp ratings are also "per coil"

But make sure to set the current limit correctly or your 12v supply will likely destroy your motor. If you need higher speeds then 24v would be better. I think the DRV8825 is OK with 35 or 40v.

...R

I would of missed the current limiting issue and destroyed everything.

I watched the pololu vid on current limiting (excellent vid).

Thanks Robin again. You definitely saved me time and money!

So according to the spec, I can go 1.5a per coil without a sink

Even that the DRV8825 are specified like this -> I always have my drv8825 actively cooled (beginning at 0.8A already). Those devices get really really HOT if you don't cool them.

I think their lifetime will thank you if you cool them actively.

Current limit settings:
Are you aware that - depending on the DRV8825 seller - those drivers are not all the same and might not react like the original ones of Pololu when it comes to current limit settings?

I have written a little instruction how to set the current limits of A4988 and DRV8825; users have added some valuable information, so here is the link:
http://forum.arduino.cc/index.php?topic=415724.0

Thanks. Things are working great. Polulu has a great vid on setting the current. I set my reference voltage at .7v which sets a current limit of 1.4a.

One word of warning for anybody new to polulu drivers. Don't skip the 100uf cap between the vmot & gnd. I toasted my first driver thinking I could skip it during initial testing. You can't. The plug in voltage spike fried the driver immediately.

1000+uF is a much better value too - at over an amp 100uF only handles spikes with sub-millisecond
duration. Lots of decoupling is also going to reduce noise on the power leads.