I have three stepper motors. One Nema 17 - 2.4 ohm, the second smaller noname from color printer - 9.5 ohm and third the smallest noname from cdrom - 10.5 ohm.

I have connected them to arduino mega 2560 with ramps 1.4(set to 1/32 micro stepping) and drivers drv8825. See my previous question.

After some time (less than one minute) the first is cold. The second motor is hot. And the third is very hot. I can not even touch it.

What can I do to fix it.

  • 1
    $\begingroup$ there should be labels what they are rated for on the smaller motors. $\endgroup$ – Trish Mar 17 '19 at 11:42
  • 1
    $\begingroup$ see also: electronics.stackexchange.com/questions/164426/… $\endgroup$ – Trish Mar 17 '19 at 12:06
  • $\begingroup$ Add fans to the motors. $\endgroup$ – user77232 Mar 18 '19 at 13:34
  • 1
    $\begingroup$ Note that you should unlock your steppers when not in use. When an "idle" stepper gets hot, it's using energy to keep rigidly locked at a precise rotation (often for no good reason). $\endgroup$ – Davo Mar 18 '19 at 18:22
  • $\begingroup$ @Davo, they work constantly. $\endgroup$ – burtsevyg Mar 18 '19 at 23:32

The second motor is hot. And the third is very hot. I can not even touch it.

This is to some degree, completely normal and expected. From the datasheet for a typical NEMA 17 stepper, the rated temperature rise is 80 °C above ambient and the maximum operating temperature is 130 °C (implying an ambient temperature of 50 °C). It is normal that stepper motors (in general) get a bit hot.

"Too hot to touch" is still relatively cold. 60 °C is already too hot to touch, and that's only a 40 °C rise above a 20 °C ambient temperature.

You can reduce the temperature rise of the motors by reducing the current they receive. The stepper driver has a small potentiometer that can be turned to adjust the current, but keep in mind that doing so will also reduce the torque of the motors and thus they might skip steps if you reduce the current too much.

Technical details: Note that stepper motor drivers used in 3D printers are constant current drivers, and the little potentiometer controls the current. If you had not paid much attention to this potentiometer, the drivers might all have been set for the same constant current of $1.0\ \text A$. The stepper driver would (to achieve the same constant current) send a higher voltage to the higher resistance motors. This would imply a power dissipation of $2.4\ \text W$ in the Nema 17, and a power dissipation of $10.5\ \text W$ in the small stepper. $2.4\ \text W$ in the Nema 17 would only heat it up by about $20\ °\text C$ above ambient. A dissipation of $10\ \text W$ in the small stepper, which also has much less surface area to dissipate the power, would heat it up by a lot (and probably, given that you didn't fry it, the current was set lower -- or a technical peculiarity limited the current given that the motor likely also has very low inductance).

  • 1
    $\begingroup$ 2 of his motors are not NEMA 17 but salvaged from other machines. $\endgroup$ – Trish Mar 17 '19 at 11:36
  • 1
    $\begingroup$ Stepper motors, in general, may be rated to operate at higher temperatures. "Too hot to touch" could still be completely normal. I am just using that datasheet (for a NEMA17) as one example of how hot steppers can normally get. $\endgroup$ – Tom van der Zanden Mar 17 '19 at 11:53
  • 1
    $\begingroup$ true. note though that a typical CD-drive Stepper with 5V/10 Ohm is like 20 (or 24) steps per turn... $\endgroup$ – Trish Mar 17 '19 at 12:04
  • $\begingroup$ Thank you! I need to check it. $\endgroup$ – burtsevyg Mar 17 '19 at 21:36
  • 1
    $\begingroup$ @Trish A reference voltage of 0.65V translates to a current of 1.2A, so the current has been reduced to around 300-500mA for the small motor and 500-700mA for the large one. $\endgroup$ – Tom van der Zanden Mar 19 '19 at 7:23

Unless you have changed the factory stepper driver settings, they will all be set to deliver the same CURRENT to the motors. Stepper drivers operate as constant current supplies, so the voltage supply does not determine the power sent to the motor.

The power dissipation in a circuit is the current squared times the resistance. $P = I^2 R$. Because the current is constant, the 10.5-ohm motor will dissipate over four (4) times the power of the 2.4-ohm motor and will get much hotter more quickly.


Problem statement

Your RAMPs board is supplying your drivers all with similar voltages, with the basic settings calculated for a NEMA 17.

So, we got different Resistances R, so why do they heat differently?

Physics background: energy transformation and dissipation

Resistance can be described as "friction of electrons in the conductor" to some degree. When electrons flow through a wire, then a current $I$ is trying to equalize a potential difference $U$. A flowing current transforms the kinetic energy of the electrons ($\propto U$) into an electromagnetic field and heat from the resistance. The electromagnetic field then is used to spin a rotor together with the magnets in the motor, which transforms the energy in the field into kinetic energy again. The end result is, that the kinetic energy of the electrons is transformed into the motion of the motor and heat.

Can we get the Current?

OR: "What if there was no driver?"

How does Resistance figure into all this? Well, Ohms Law is there: $U=RI$. With it, one can solve how much current I flows through an aperture of known resistance R and voltage U. The operation of the circuits that contain a CD stepper motor is usually 5 V, while 12 V is used for NEMA 17 and the typical steppers from Printer/scanner combos.

Those results wouldn't match the currents they are operated on as the motors are supplied via a motor driver chipset. We can look up the spec sheets to get a short glimpse of how they might dissipate heat in both constant voltage and constant current setups. Most stepper driver adjusts the voltage so we get constant current but there might be some cases one wants constant voltage. To estimate their heat generation, one needs...

Joules Formula of electric Heating

Constant Voltage case

Joules Formula of electric heating is written as $H=I^2Rt$, which gives us Energy in Joules. We can make it easier on us and drop the time to get the derivate power of electric heating. $P=\frac{H}{t}= I^2\ R= U \ I=\frac {U^2} {R}$

  • $P={12\ \text V}\times {0.4\ \text A}=4.8\ \text {W}$
  • $P=\frac{144\ \text V^2}{9.5\ \Omega}=15.14\ \text {W}$
  • $P=\frac{25\ \text V^2}{10\ \Omega}=2.5\ \text {W}$

if we throw 12 V at the poor small stepper though...

  • $P=\frac{144\ \text V^2}{10\ \Omega}=14.4\ \text {W}$

How did the small one survive this torture? I have no idea!

Constant Current case

Now, that is pretty much "constant voltage" but the stepper drivers used try to give always a set constant current to the motors. For most motors I have found, this is apparently in the area around 0.5 A, which gives us a better estimation

  • $P={0.25\ \text A^2}\times {2.4\ \Omega}=0.6\ \text {W}$
  • $P={0.25\ \text A^2}\times {9.5\ \Omega}=2.375\ \text {W}$
  • $P={0.25\ \text A^2}\times {10.5\ \Omega}=2.625\ \text {W}$

If they all are operated at the same, set current (with adjusted voltage to match that), we get about a factor 4 for the heat generation on the middle and 4.3 on the CD stepper. Even with a higher current, the factors for heat dissipation are what is really interesting here.

Heating and temperature

Another small part of the answer is the mass of the motor and when it was touched. The thermal energy $E_T$ in a whole object is not directly equal to the temperature $T$ of the object, it is just proportional to it but also the specific heat capacity $c$ of the body... all in all we get for an amount of energy $Q$ deposited in an object $\text Q = \text m\ \text c\ \Delta\text T$.

Assuming that c is equal for the motors, one can do a quick estimation with typical weights via $\Delta\text T \propto \frac H m$

A typical NEMA 17 motor weighs about 280 grams while the typical CD-drive stepper (PL15S-020-PNA9) weighs 19 grams.

You see, the smaller steppers not only dissipates more heat, it also heats up faster than the chunky NEMA 17. The reason why after a short time the smaller one with not that much more heating than the big one felt considerably hotter is, that there is less mass that needs to be heated up: it might be already at its maximum temperature while the middle one still is heating up.

All in all

This is not a marlin issue but one from your material choice. Getting all similar motors makes motion control all the much easier, but you are not necessarily in danger of burning the motors.

To cool the motors...

  • figure out what current I the smaller motors want to be operated on and adjust your setup to that, so to stay safe.
    • there are potentiometers for this on most boards.
  • mount a heatsink on the motors, increasing their effective thermal mass and their ability to dissipate the heat to the room around by increasing the surface area.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.