Hello Guest it is December 26, 2024, 12:42:14 PM

Author Topic: Stepper Motors Heating Up  (Read 15173 times)

0 Members and 1 Guest are viewing this topic.

Stepper Motors Heating Up
« on: September 03, 2009, 12:53:21 AM »
Hello Everyone,

We've had our MicroMill DSLS 3000 System with Mach 3 for a couple of months now and I was wondering if someone could come up with a solution to prevent the stepper motors from heating up while the controller is on and not running a program?

After running a program we have to shut off the controller otherwise the steppers motors heat up (actually get quite hot in not too long of a time) which is probably because the stepper motors are in a holding position? Is there a M or Gcode command that I could place at the end of the program to release this holding torque and thus prevent the over heating problem?

I'm just assuming that's what causing the overheating of the stepper motors so please correct me if I'm wrong. Any help would be greatly appreciated.

Thanks in advance...
jessey

Offline Sam

*
  • *
  •  987 987
    • hillbillyhilton.com
Re: Stepper Motors Heating Up
« Reply #1 on: September 03, 2009, 01:30:43 AM »
Usually this is a feature of the motor drives, I do believe. The gecko 203 drives, for example, have an "auto current reduction" and is stated in the manual as such...

AUTO CURRENT REDUCTION: The G203V reduces motor phase current to 71% of the set current value 1 second after the last step pulse is sent. The G203V also changes to a special recirculating current mode to nearly eliminate motor heating.

"CONFIDENCE: it's the feeling you experience before you fully understand the situation."
Re: Stepper Motors Heating Up
« Reply #2 on: September 03, 2009, 01:34:46 AM »
Hello Everyone,

We've had our MicroMill DSLS 3000 System with Mach 3 for a couple of months now and I was wondering if someone could come up with a solution to prevent the stepper motors from heating up while the controller is on and not running a program?

After running a program we have to shut off the controller otherwise the steppers motors heat up (actually get quite hot in not too long of a time) which is probably because the stepper motors are in a holding position? Is there a M or Gcode command that I could place at the end of the program to release this holding torque and thus prevent the over heating problem?

I'm just assuming that's what causing the overheating of the stepper motors so please correct me if I'm wrong. Any help would be greatly appreciated.

Thanks in advance...
jessey

There is a big difference between getting hot and "overheating".  Stepper motors DO get hot.  That is a fact of life.  But they are designed to handle it.  Most are rated for 85C.  So if they're not getting hotter than that (and I bet they're nowhere near that), then they're fine.

Regards,
Ray L.
Regards,
Ray L.
Re: Stepper Motors Heating Up
« Reply #3 on: September 12, 2009, 02:55:08 AM »
Thanks Sam & Ray,

Sorry for not getting back to you sooner but I was away on vacation and just got back. I believe your right Ray about the overheating...

Thanks Again
jessey
Re: Stepper Motors Heating Up
« Reply #4 on: September 13, 2009, 12:30:02 AM »
Stepper motors are designed so they draw the same current- and generate the same heat- whether they're moving or not.
Steppers are rated largely on a thermal criteria of "what current causes an 80C rise above ambient temp?"  So, whenever driven by its specified current, you get an 80C temp rise, which is quite a lot, but it's "normal".  If you're watching your electric bill, this is mildly significant.

Usually this is a feature of the motor drives, I do believe. The gecko 203 drives, for example, have an "auto current reduction" and is stated in the manual as such...

AUTO CURRENT REDUCTION: The G203V reduces motor phase current to 71% of the set current value 1 second after the last step pulse is sent. The G203V also changes to a special recirculating current mode to nearly eliminate motor heating.

Yes Geckos do have a current-reduction mode, because stopped motors generally don't need to produce a lot of torque to hold a static position.  71% will reduce temp rise by 50%.  There's no "special recirculating current mode to nearly eliminate motor heating" though.  The motor heating is dominated by resistance losses, and all motor drives have to keep the coil current mostly DC in a position.  It's not pulsed.  Due to the inductive nature of the coil rapid changes in current are not possible and this idea would actually increase motor heating per unit of average current anyways since the heat generated is based on the square of current.

So motor heat is essentially I^2*R, and simultaneously lowering the current (and torque) in both phases is the only way to reduce heating.

I don't know about your controller though, I know there are ways to disable some controllers.  It would probably involve wiring one of the binary outputs (like those used for for coolant on/off) to the controller's Enable pin, and then G-code might be able to control it.  However, it might be possible to lose your exact home position.  For one, MICROSTEPS are counted inside the controller, not Mach.  So it might be 7 of 10 microsteps between step 156 and step 157, if the controller is disabled it may or may not remember its last position.  Hopefully it would (but if you cut supply power, it's gone for sure).   But if it does reset the internal microstep counter, it'll move the rotor to step 156 or step 157. 
« Last Edit: September 13, 2009, 12:38:22 AM by MechanoMan »
Re: Stepper Motors Heating Up
« Reply #5 on: September 13, 2009, 05:05:58 AM »
Thanks MechanoMan,

Thanks for your explanation on the stepper motors. I'm just trying some of the programs in the wizard of Mach 3 trying to understand how to write or modify the wizard programs. I'm a complete newbie so I need all the help I can get. There are so many questions I could ask now but I'll play with what I have for a while before bothering the forum here until I understand the code better. But I do have one question that you touched on briefly in your reply to my overheating question.

As far as I understand G54 is a command that I place in my program after I set the  home position for that command. Please correct me if I'm wrong but this is how I'm setting the G54:

I open the MDI Alt2 screen in Mach 3.
(jog mode in constant) Jog the work piece in the vice so the 1/4'' end mill is just above the work piece (block of wood for now) then (jog mode in step) jog down to approximently 2 thousands above the work piece using a piece of paper then zero out the Z axis.

Do the same with the end mill at the bottom left of the work piece on the X and Y axis's and using the paper then enter -.125 for both the X and Y axis's.

Then enter into the INPUT command line G54 and enter.
Then I enter G00 X0 Y0 and enter and the table moves to the home position which seems to work ok.

Now when I turn off Mach 3 and the controller and turn them back on at a later time it looses the home position. I thought it should remember the home position. I am also placing G54 in the beginning of my programs. Do I have to set the home position each and every time I turn on the Mach 3 program and controller?

Any comments about that?

Thanks in advance
jessey
 
Re: Stepper Motors Heating Up
« Reply #6 on: September 13, 2009, 07:22:05 AM »
Well, I'm just getting used to the intricacies of offsets myself.
G54 is selecting Work Offset #1.  There 254 work offsets available.

If I understand correctly, there's 2 important offsets: the work offset values, and the "temporary" G92 offsets (and G52, which sets the same offset).  G92 offsets are relative to what's already offset in the WO.  G92 can be "canceled" entirely, which just sets the G92 offset to zeros, but it won't affect the current WO.  And changing WO#'s won't change the G92.

When you go to the DRO and hit "Zero X", that changes the Work Offset for X for whichever set of offets you've got active.  If you manually enter something into the DRO, that also changes the WO.

And there's the Machine Coordinates, which AFAIK nothing changes except actual movement commands.  If you jog around without the controller on, or with "Offline" clicked, or "use" the knobs on the machine's axes, it gets out of sync with the machine (if it ever was in sync).   Sometimes the Machine Coods can get downright insane if you're testing something with the controller off.  Now as long as you've got offsets set, that won't actually matter, unless the G53 mode, or G28 gets invoked.  Some CAM software automatically puts in a G53 move at the start and end just to mess with your world.  Since you only set Offsets, the actual Machine Coords that G53 or G28 are trying to move to could be anywhere.  I've had it try to slice through the stock, table, or run the axis into the column.  Surprise!

I don't get the Machine Coordinate thing.  AFAIK it was meant to be set with Home switches on the machine, but in the absence of those, there are the aforementioned ways to screw it up, but no simple way to FIX it.  I tried and Mach3 won't let you enter a value, outside of going into Offline mode (or physically turning off the power on the controller), zeroing the offsets, and telling it to move to zero, which is not an instantaneous process, it actually has to step the "move".  With the Smoothstepper and G540, even this is impossible, the SS plugin ignores the Offline status and  it'll Mach3 will E-stop itself if the G540 is off.

Look under the Diagnostics (Alt-F7) tab to see what's going on and what operation changes what and how the current "coordinate" is calculated.

Anyhow, for height, use a caliper to measure paper thickness.  Say it's 5 mil.  Slow-jog the Z-height at dead-slow speed until the paper just barely slides free.  Enter the WO Z as +0.005 in, because the tool tip is exactly 5 mils over the surface.

I think Fixture Save does the saving you're looking for.  But I don't usually keep work chucked and exit Mach anyways.  In fact, with microstepping controllers, if you cycle power on the controller it's impossible to retain the exact position, although on a Taig the error experienced from forgetting the fractional step of the microstep index is only +/- 0.000125 in, which is really really small.

And just to prepare you: at first glance, G-code appears to be a horribly ill-conceived language.  Guess what, it IS.  It's archaic.  People will say it was because it was written for low-capacity machines with little RAM, which was never the cause of the problem.  Such things as substituting A,B,C for X,Y,Z parameters, insanely bad Modal commands, etc were added ad-hoc by machine operators with no sense of logical programming at all, and the hardware could actually be simpler with a smarter implementation.  BUT, you've just gotta accept it.  It's a standard for now.  The only reason I mention it is that, many times, you're gonna look at it over and over and say "well, that looks pointless/stupid/crazy/ineffective, I must be reading it wrong".  No, just read what it says for the command, exactly, literally.
« Last Edit: September 13, 2009, 07:34:23 AM by MechanoMan »
Re: Stepper Motors Heating Up
« Reply #7 on: September 13, 2009, 10:55:38 AM »
Thanks MechanoMan,

Thanks for your explanation on the stepper motors. I'm just trying some of the programs in the wizard of Mach 3 trying to understand how to write or modify the wizard programs. I'm a complete newbie so I need all the help I can get. There are so many questions I could ask now but I'll play with what I have for a while before bothering the forum here until I understand the code better. But I do have one question that you touched on briefly in your reply to my overheating question.

As far as I understand G54 is a command that I place in my program after I set the  home position for that command. Please correct me if I'm wrong but this is how I'm setting the G54:

I open the MDI Alt2 screen in Mach 3.
(jog mode in constant) Jog the work piece in the vice so the 1/4'' end mill is just above the work piece (block of wood for now) then (jog mode in step) jog down to approximently 2 thousands above the work piece using a piece of paper then zero out the Z axis.

Do the same with the end mill at the bottom left of the work piece on the X and Y axis's and using the paper then enter -.125 for both the X and Y axis's.

Then enter into the INPUT command line G54 and enter.
Then I enter G00 X0 Y0 and enter and the table moves to the home position which seems to work ok.

Now when I turn off Mach 3 and the controller and turn them back on at a later time it looses the home position. I thought it should remember the home position. I am also placing G54 in the beginning of my programs. Do I have to set the home position each and every time I turn on the Mach 3 program and controller?

Any comments about that?

Thanks in advance
jessey
 

I'm not sure you're description is quite right, as I can't see it behaving the way you describe.  When using fixtures, you want to select the fixture, then set your zeroes IN that fixture.  So, if you want to use G55, move the machine to your zero position, select G55, *then* zero your DROs.

When Mach exits, it will save all current fixture offsets, if you tell it to.  G54, however, is treated differently.  The G54 offsets are not saved.  Why this is, I do not know.  However, there is an option, in Config->GeneralConfig to load the G54 offsets from G59.253 on startup.  I get around this two ways:  Either don't use G54, or, before exiting Mach, move the machine to 0,0 in G54.  Then, when I restart, just re-zero the DROs before moving the machine.  If using steppers, you may be off by a few microsteps.  Generally, though, I just use G55-59.

Regards,
Ray L.
Regards,
Ray L.
Re: Stepper Motors Heating Up
« Reply #8 on: February 01, 2016, 09:41:51 AM »
I'm new here, but I wanted to thank you because I was worried about the same issue. My 'hot' motors were well within the 80 deg rise.

Greg

Offline RICH

*
  • *
  •  7,427 7,427
Re: Stepper Motors Heating Up
« Reply #9 on: February 01, 2016, 08:37:17 PM »
Motor Heating:
I have left  mine on  for a day and they didn't get  hot. Hot ( human reference ) starts at =140deg F such that you can't hold your hand on the motor. You can get burnt. I can run them for hours and they only get warm.
All depends on the motor, how it's wired, and of course the drive ( amps & current reduction if used).

WORK OFFSETS

G54 is the default Work Offset when Mach starts.  
Forget all the other stuff and keep it simple for now.
Define actual Machine Coordinate 0,0,0 to Mach ( it's now referenced / homed...whatever jargon you want to accept).
So the controller knows where your Home is, now the controller  needs to know where the work / part/ stock is.
If not at MC=0,0,0 then it is away home and you need to define that to Mach.
You move to some point / datum / location on the work /part stock from Home and that distance from
home to the work is called a Work Offset which is from Home to work and can be G54, ETC.
G92 is a legacy command and is the reverse of G54, and G54 replaced it. Never use the two together.
A G52 is a datum /  offset from the Work Offset Datum.
SEE ATTACHED PIC

How does it all make sense...... well it depends on how you work and the machines configuration I guess.
BTW, the lathe is different in that you can Zero out the MC to 0,0 at anytime and it does save the G54 is so desired.

In general hopefully correct,
RICH

MODIFIED: Added pic
« Last Edit: February 02, 2016, 06:41:29 AM by RICH »