Stepper overheating in closed loop control

More
07 Dec 2021 13:51 #228530 by Ameone
Hi everyone,
Hope you are all doing well. I've a problem regarding overheating of a stepper motor.In particular, the machine is a three-axis printer with the addition of a fourth axis as an extruder. The extruder axis has a closed-loop signal to monitor the position through an optical encoder (mounted directly on the stepper motor for the axis). The loop is closed through a PID control, you can find both the hal and ini files attached.The motor tends to get extremely hot (cannot touch it) while the driver does not heat up. I've already set the current to the minimum value for the stepper driver (DM542T) and enabled half-current setting.   The printer is controlled through a MESA 7i80db board interfaced with a 7i76 which both controls the motors and reads the encoder.Do you have any suggestions on how to solve this issue?

Thanks
Attachments:

Please Log in or Create an account to join the conversation.

More
07 Dec 2021 16:42 #228545 by tommylight
What current is the motor rated for?
What is the minimum current set on the drive?
Not a software issue.
Extruder is always on during print working at relatively slow speeds, so heating is normal as long as you can keep the hand on the motors or up to 80C.
80C seems like very very hot to human hands, but it can not burn the skin for short periods of time.
Another way to check is smell the motor back side where the shaft hole is, if it does not stink as burning enamel, it is OK.

Please Log in or Create an account to join the conversation.

More
07 Dec 2021 18:27 #228558 by Ameone
The motor is rated for 1.2 A per phase @ 4V (model sy42sth47-1206b), while the current limit for the driver is 0.71 A RMS (1 A peak). The driver outputs 24 V. No smell coming out the motor but the motor is still too hot to keep hands on it.

Please Log in or Create an account to join the conversation.

More
07 Dec 2021 19:30 #228566 by tommylight
I would not worry to much ...

Please Log in or Create an account to join the conversation.

More
09 Dec 2021 08:19 #228690 by Ameone
The reason why I asked in the first place is that without the closed looped the motor does not heat as much. Do you think there could be something to be improved in the configuration? Maybe in the PID parameters? Thanks.

Please Log in or Create an account to join the conversation.

More
09 Dec 2021 12:43 #228697 by spumco
Not an expert, but my initial thought is that the drive is programmed to switch to half-current if there is no input command for some time value (.5ms or so).  When running open loop the drive drops the current - and motor heating - whenever it can.

With the external PID loop, the drive is constantly getting corrections - possibly a bit of a mismatch between encoder counts, step distance, and following error tolerance in the control.  This causes the half-current motor cooling drive feature to never kick in.

Check if the half-current feature is turned on in the drive - if so, that might partly confirm my guess.  This may be one of those times where closing the loop at the drive (i.e. an OEM closed loop) rather than back to LCNC is preferred.

Once you figure it out you can then decide if you even care - the motor may be hot but not TOO hot.

Please Log in or Create an account to join the conversation.

More
09 Dec 2021 16:04 #228706 by Todd Zuercher
I would think that a position commanded system should be able to be tuned so that it doesn't dither at rest with the right PID tuning (including an appropriately sized deadband.) My closed loop step/dir machine doesn't seem to dither at rest, but that is a true servo, not a closed loop stepper.

Please Log in or Create an account to join the conversation.

More
09 Dec 2021 16:06 #228707 by tommylight
Spumco might be on to something.
Try setting deadband to something like 2 or more encoder counts, that should be enough to let the current reduction kick in.

Please Log in or Create an account to join the conversation.

More
09 Dec 2021 16:15 #228709 by Todd Zuercher
Proper deadband size will depend on a couple of things. If step distance is equal to encoder count length, then 1.5-3x that should be enough. If encoder and step distances are not the same, then the deadband should be about 2x which ever is longer.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
09 Dec 2021 17:40 - 09 Dec 2021 17:43 #228720 by spumco

I would think that a position commanded system should be able to be tuned so that it doesn't dither at rest with the right PID tuning (including an appropriately sized deadband.) My closed loop step/dir machine doesn't seem to dither at rest, but that is a true servo, not a closed loop stepper.

 

Yep, should be able to tune out dithering on just about every closed-loop system.  And a stepper should be rock-solid at rest if the deadband is some multiple of full-step increments.

But the OP indicated this is for a 3D printer extruder, which is rotating more or less continuously.  About the only time it has to cool down is on travel /rapid moves and during retracts (or if a pressure advance type feature is enabled).  My guess is that these times help the motor cool down enough to perceive it if the current reduction kicks in.

Unless something really weird is going on the with drive...  My armchair diagnostic-Fu isn't strong without knowing the drive & motor specs.
Last edit: 09 Dec 2021 17:43 by spumco. Reason: Duh, re-read OP

Please Log in or Create an account to join the conversation.

Time to create page: 0.092 seconds
Powered by Kunena Forum