Stepper Rated I: Peak I vs RMS I



  • I am thinking about the rated current. This refers to constant current drivers amd limiting motor temp to manufacturers max temp (often 80C?) doesn't it? If we set the peak current to 1A on our chopper drivers how close to that is the RMS current? If there is an appreciable difference does a stepper on a chopper drive generate less heat than the same motor driven by a constant current driver? Slightly less torque in a constant speed move?

    With that on mind is it only controller and mounting (ie stepper temp) concerns that would stop you setting the current set point as the rated current?

    From a testing perspective testing motor temps during a run at the advised 85% rated current and stepping the limit up slowly is obviously wiser than jumping straight to full current.

    If your moumting in PLA then this will ultimately dictate the limit before the max stepper temperature is reached.

    Another thread triggered me to revisit my current settings on my ormerod 2. It has 1.33A steppers amd had been set to 800mA, whereas 85% would be more like 1.13A...


  • administrators

    The difficulty is that the rated current for a stepper motor is normally specified with both windings energised, which is how stepper motors are normally run when using full steps. So a motor rated at 1.33A can have up to 1.33A flowing through both windings simultaneously.

    When using microstepping, it's different. If you set the peak current to 1.33A then in the full step positions, one winding will carry 1.33A and the other winding will carry no current. In the half step positions, each winding carries 1.33A divided by sqrt(2). The net result is that if we ignore change in winding resistance with temperature, at all step positions the total power dissipation in the motor will be half what it would be if we were running the motor with full steps at 1.33A in each phase.

    So it's tempting to assume that when using microstepping, you could increase the peak current per phase to 1.33 * sqrt(2). This would give the same total power dissipation as running with full steps at rated current. However, at the full step positions, all this power will be dissipated in just one of the windings, instead of being shared equally between both windings. So the heat generated will have less surface area to escape from, and the winding that is energised will get hotter than in the full step case, even if the motor as a whole does not.

    In conclusion:

    • If a motor is rated at 1.33A (for full steps with both phases energised), it is safe to run it with microstepping at 1.33A peak, at which it will generate half of the heat that it would in the full step case.
    • It is probably safe to run the motor at a little more than 1.33A peak.
    • Running the motor at sqrt(2) * 1.33A is probably not safe (because all the heat generation will be concentrated in one winding) unless the stepper driver implements standstill current reduction. Unfortunately the TMC2660 drivers don't support this in hardware, and its difficult to implement in a fail-safe way in firmware.


  • Hi Wes,

    My take on it is that setting the motor current to 85% of max rated is just a safe level to protect the motor windings and so forth. I'd say that we need to set the current high so that we have the maximum torque available. It's not my field of expertise but I'd have thought that the actual motor temperature is as much a function of the work it's doing as it is a function of the maximum supply current (could be wrong on that).

    For what it's worth, I use 2 Amp motors with the current set to 1700 mA and I'm throwing 4kgs of mass in X and Y. Admittedly it's a coreXYUV so employs 4 motors but for 45 degree infill, only two would be employed so 2 kgs per motor and I use travel speed of 350mm/sec.

    I do use printed mounts and did have a problem with the plastic softening such that the belt tension acting on the motor shaft caused the mount to distort but that was after 30 plus hours of continuous printing. I'd dearly like to replace the mounts with aluminium ones but they are complicated and I don't have metal fabrication facilities available so they would be expensive. What I do is monitor the motor temperatures with a bead thermistor stuck to the motor body. Then I have heat sinks and small 40mm fans attached to the top of the motors. These are set to run in thermostatic mode coming on at 40 degrees C with full power at 50 degrees C. It takes many hours of continuous printing before any of them come on and even after 20 plus hours of continuous printing, they barley run at anything like half speed, often just running for a few minutes then turning off again as the motor body temperature hovers around 40 degrees C.

    Edit. Sorry DC, I was typing at the same time.



  • Thanks for the information guys. Been way laid from the machines for a couple of days but will be back on them tomorrow!


Log in to reply