Stepper Motor Thermal Coefficient

You’ve probably seen this exchange on whatever DIY 3D printing forum you monitor:

  1. My stepper motors get scorching hot, what should I do?
  2. Turn down the current!
  3. That worked great, but …
  4. … now all my objects have a shift in the middle.
  5. Your motor is losing steps: turn up the current!
  6. Uh, right.
NEMA 17 Stepper on cloth
NEMA 17 Stepper on cloth

So, with that setup on the bench, I ran a simple experiment with current, temperature, and heat transfer. Most DIY 3D printers have stepper motors attached to a plywood chassis or plastic holder, so the first data point comes from a motor with no mechanical thermal path to the outside world (which is the Basement Laboratory at 14 °C ambient).

Running at about 1200 step/s with a winding current of 1 A peak from a 24 A supply, the motor stabilized at 52 °C = 125 °F after half an hour.

Both windings have a 2 Ω resistance and carry 1 A peak = 0.7 A rms, so the total power dissipation is:

2 × [(1 A / √2)2 × 2 Ω] = 2 W

That’s the same power produced with the motor stopped at a full step position, where the peak current flows in a single winding and the other winding carries zero current:

(1 A)2 × 2 Ω = 2 W

The temperature rise suggests a thermal coefficient of about 19 °C/W = (52 °C – 14 °C) / 2 W.

The next current setting on the driver is 1.46 A, which doubles the power dissipation to 4.3 W. Assuming a large number of linearities, that would cook the motor at 82 °C = 180 °F above ambient. Even though the motor could probably withstand that temperature, for what should be obvious reasons I didn’t go there.

Instead, I parked the motor atop a big CPU heatsink harvested from an obsolete PC, sans thermal compound, mechanical fitting, and anything more secure than gravity holding it in place:

NEMA 17 Stepper on Heatsink
NEMA 17 Stepper on Heatsink

The results:

Ambient 14 °C
Winding 2 ohm
A pk A rms Power W Case °C °C/W amb °C/W incr
1.00 0.71 2.0 28 7.0 7.0
1.46 1.03 4.3 42 6.6 6.2
1.91 1.35 7.3 63 6.7 6.9

The thermal coefficients represent the combination of all interfaces from motor case to ambient, but the case and heatsink stabilized to about the same temperature, so the main limit (as always) will be heat transfer to ambient air. Obviously, the heatsink sits in the wrong orientation with little-to-no air flow, not to mention that the butt end of a stepper motor isn’t precisely machined and has plenty of air between the two surfaces. Improving all that would be in the nature of fine tuning and should substantially lower the coefficient.

What’s of interest: just perching the motor on a big chunk of aluminum dropped the case temperature 24 °C without no further effort.

Blowing air over the case (probably) won’t be nearly as effective. Epoxy-ing a liquid-cooled cold plate to the end cap would improve the situation beyond all reasonable bounds, plus confer extreme geek cred.

Hmmm, the Warehouse Wing does have some copper tubing…

16 thoughts on “Stepper Motor Thermal Coefficient

    1. Channelling the true spirit of DIY 3D printing: “If it’s made of aluminium, the inside is starting to melt.”

  1. On MiseryBot, as I kept pushing the currents to the steppers up, the motors got really hot. The motor that is under the bottom panel was pretty much enclosed and got silly hot. I used a strip of double sided tape to mount a spare 60mm fan (nothing special) about 3/4″ away from the stepper. There was no shroud or anything. That extra airflow seemed to keep the stepper much cooler.

    As long as you are all set up to measure, could you give the forced air bit a try?

    1. all set up to measure

      Having not cough cleared off the bench, I’ll give it a whirl for you… more later!

  2. “If it’s made of aluminium, the inside is starting to melt.”

    The ABS “lowrider” axis did melt due to me jamming too much current into that stepper ;)

    1. The ABS “lowrider” axis did melt

      Now that PLA is the plastic of choice, I’m seeing more mention of printed structural members warping and melting.

      There’s a time and a place for everything, no matter how wonderful 3D printing may be, and parts enduring lengthy periods of high stress with high temperatures aren’t suitable for thermoplastics…

  3. OK, extreme geek credibility aside, why not attach a heat sink on the back of the motor and point a muffin fan at it?

    Oh my, trying to get back up to speed on Linux. I dug a spare 10G drive from a 486 spare-parts machine and got a free 8G partition. Somehow, when I copy the Slackware distribution, I’m getting on the wrong drive, and filling my space on that one.

    1. attach a heat sink on the back of the motor and point a muffin fan at it?

      That’d work, but heat transfer to air through a 1.5 inch square heatsink is so inefficient. There’s a good reason CPU heatsinks are now the size of doorknobs…

      I’m not sure liquid cooling the motors makes any sense, but running them in an insulated box doesn’t work well and I’m not happy about slinging fans back and forth along the axes. A few more numbers should help…

      1. If I’m reading the rest of the notes correctly, the motor is in an insulated (more or less) box under the rest of the TOM. I’d consider a whacking great muffin fan (or two) at one end, as large a heat sink as I dared on the traveling motor, and the vent/intake on the other side. More or less what I had to do for a clay drying box. I kept the dimensions such that the air flow was laminar over the heaters (light bulbs) and over the clay bits. It works.

        Not sure I’d worry about ducting air to the heat sink. Doable, but that route lies madness. OTOH, you could consider silicone heat sink oil and submerge the assembly for another version of liquid cooling. What could possibly go wrong? [grin]

        1. under the rest of the TOM

          The TOM’s Y-axis motor lives under the acrylic deck where it gets some air flow from the power supply fan, but the worst problem is the X-axis motor: it’s in a small wood compartment with zero ventilation. That post shows a bottom view with the lower cover off and a top view of the pulley. The compartment is inside the Y axis stage, which also contains various rods and doodads, so there’s no room for anything around it or inside it.

          Many things can and have gone wrong with that setup… [sigh]

  4. I looked at the picture. [Urk!] Hmm, makes one wonder about an XY linear stepper. Electroglas used to put them out by the carload, but the electronics was rather bulky, and the system expensive. For the insane/interested, search Electroglas 1034X prober.

    1. an XY linear stepper

      I had never heard of a Sawyer motor before, but that is a really neat idea… for an application where cost is almost no object! Multiple XY drivers floating on an air bearing platen: what’s not to like?

      DIY 3D printing has definitely smacked into the CNC wall. It needs more positioning accuracy & repeatability than rubbery materials can provide, better control software than fits in an Arduino, higher power than you can get without serious engineering, and lower product cost than makes sense… it’s a tough challenge.

Comments are closed.