Author Topic: How to cool down a stepper motor?  (Read 7584 times)

0 Members and 1 Guest are viewing this topic.

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #25 on: December 20, 2020, 10:15:38 pm »
use a gpio (and resistor) connected to Vref to pull the reference voltage down a bit, reducing the current
No orthodox approach... do you have any link to provide an example where this solution has actually worked?
I'm quite worry about how external environmental temperature could make this value oscillating too much...
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4427
  • Country: dk
Re: How to cool down a stepper motor?
« Reply #26 on: December 20, 2020, 10:32:55 pm »
use a gpio (and resistor) connected to Vref to pull the reference voltage down a bit, reducing the current
No orthodox approach... do you have any link to provide an example where this solution has actually worked?
I'm quite worry about how external environmental temperature could make this value oscillating too much...

why wouldn't it work? it is just simple DC voltage that set the reference for the current limit. A potentiometer isn't exactly a
precision instrument either.
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 3273
  • Country: us
Re: How to cool down a stepper motor?
« Reply #27 on: December 21, 2020, 02:31:34 am »
Looking at that driver chip it just controls the current within a step, there is no variation according to the mode, for example when stationary, by the sounds of it in your app it could spend a fair amount of time stationary, in that case you could modulate the ENABLE input to reduce the power dissipation, for example 50% duty cycle would halve the power. I guess the frequency probably has to be low enough not to confuse its (A4983) intelligence so a few hundred hertz might be worth a shot but you need to avoid any mechanical resonance, of course it might end up comforting the drivers hand too  ::)
This sounds crazy, but could work. In this way I could decrease a little the current when full torque is not necessary.
As I wrote above, I'm just searching for a little margin in motor temperature to take me on the safe side. I think that even a 20% lower current should lower the temperature more or less of the same amount.

Anyway, now both Pololu and Sparkfun have migrated their products to the A4988 chip. As I see from the datasheet, the mechanism used to control the current is the same (PWM).

The most sophisticated stepper motors controllers I know of are from Trinamic. We developed some very precise controllers with the TMC5130, TMC5160 and TMC5072, they are offered in a small PCB called a BOB that makes it easy to mount and interface with. Our application used a Raspberry Pi, and these controllers mounted on to a HAT type PCB which plugged directly into the RPi.

These controllers allow various parameter tuning to achieve remarkably smooth motor/system operation with little vibration and no sound.

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8276
Re: How to cool down a stepper motor?
« Reply #28 on: December 21, 2020, 04:23:16 am »
What's even the point of cooling it down? There isn't anything heat sensitive in it. There isn't any electronics in it, just some wires and some metal and oil. Unless it is like 90 degrees hot, I dont see a reason why you want it cooled.
In fact, maybe it doesn't even get proper lubrication or the bushings in it don't work properly if it is not at design temperature.
I would agree with you. Furthermore, 99,9% of commercial stepper have a Class-B insulation. If I remember correctly, this means an heat resistance up to 110 °C.
Nevertheless, I wrote at two manufacturers and both have answered with the same karma: "max environment temperature MUST be max 50 °C". So, if you close your stepper in a box, that must be the max temperature inside your box.

In a hot summer day of August I think that you're going to crash that limit very easily. So any temperature grade saved is like gold for my outdoor application.
(I also plan to add some opening in my enclosing box somehow, to guarantee a minimal ventilation added to an external heatsink.)
The datasheet for your motor says maximum 80C rise with ambient temperature of 50C, that means an absolute temperature limit of 130C.

In other words, see how hot it gets in a normal 20C room, and you'll see how much extra margin you have. It is unlikely to be a problem.

I have some old printers with stepper motor drives, and there are labels on the motors that say "WARNING: HOT SURFACE! DO NOT TOUCH!" They heat up to over 100C when in use (hot enough to boil water), and also discolour the surrounding plastic over a few decades of use. I would be more concerned about the effects of those temperatures on other parts of your device than the motor itself.
 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #29 on: December 21, 2020, 08:56:42 am »
The most sophisticated stepper motors controllers I know of are from Trinamic. We developed some very precise controllers with the TMC5130, TMC5160 and TMC5072, they are offered in a small PCB called a BOB that makes it easy to mount and interface with. Our application used a Raspberry Pi, and these controllers mounted on to a HAT type PCB which plugged directly into the RPi.

These controllers allow various parameter tuning to achieve remarkably smooth motor/system operation with little vibration and no sound.

Hi, stuff from Trinamic is really cool stuff. I looked at it some weeks ago and I was impressed (they have also good "torquing" steppers too). It is still in my browser bookmark list.
As I understand Trinamic offers also a free integrated IDE for programming their drivers. Also a Linux version is available!

Honestly, I was intimidated from the large options they offer with their drivers, and I felt a little bit lost.

I have to write down an email to Trinamic guys and ask more info about my application. Decisively.
Also the prices seems quite reasonable.

 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #30 on: December 21, 2020, 09:10:35 am »
The datasheet for your motor says maximum 80C rise with ambient temperature of 50C, that means an absolute temperature limit of 130C.

In other words, see how hot it gets in a normal 20C room, and you'll see how much extra margin you have. It is unlikely to be a problem.

I have some old printers with stepper motor drives, and there are labels on the motors that say "WARNING: HOT SURFACE! DO NOT TOUCH!" They heat up to over 100C when in use (hot enough to boil water), and also discolour the surrounding plastic over a few decades of use. I would be more concerned about the effects of those temperatures on other parts of your device than the motor itself.

Hi, your direct experience make me feel much better. I second your observations and I think there is a lot of safety margin in temperatures even by adopting no particular countermeasures against the rise of temperature.
Anyway, I usually saw stepper motors operating in a "open-air" installation. Not protected by any enclosure box.

I have no idea what happens when the stepper is inside a box to protect hit from rain and water splashes. In this case the thermal exchange between air and the metal surface of the motor is greatly reduced, and I think that some heat-dissipation media should be provided.

For this reason I think that a layer of (not conductive) thermal paste between a face of the motor and a big alu-bracket should help. Also a layer of thermal past between the motor and the internal surface of an enclosing metal box could work as heat-sink.
What you think?

Unfortunately, seems that nobody have an experience about how much time a commercial thermal paste can last when exposed to outdoor temperature...  :(
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4427
  • Country: dk
Re: How to cool down a stepper motor?
« Reply #31 on: December 21, 2020, 03:06:35 pm »
The datasheet for your motor says maximum 80C rise with ambient temperature of 50C, that means an absolute temperature limit of 130C.

In other words, see how hot it gets in a normal 20C room, and you'll see how much extra margin you have. It is unlikely to be a problem.

I have some old printers with stepper motor drives, and there are labels on the motors that say "WARNING: HOT SURFACE! DO NOT TOUCH!" They heat up to over 100C when in use (hot enough to boil water), and also discolour the surrounding plastic over a few decades of use. I would be more concerned about the effects of those temperatures on other parts of your device than the motor itself.

Hi, your direct experience make me feel much better. I second your observations and I think there is a lot of safety margin in temperatures even by adopting no particular countermeasures against the rise of temperature.
Anyway, I usually saw stepper motors operating in a "open-air" installation. Not protected by any enclosure box.

I have no idea what happens when the stepper is inside a box to protect hit from rain and water splashes. In this case the thermal exchange between air and the metal surface of the motor is greatly reduced, and I think that some heat-dissipation media should be provided.

For this reason I think that a layer of (not conductive) thermal paste between a face of the motor and a big alu-bracket should help. Also a layer of thermal past between the motor and the internal surface of an enclosing metal box could work as heat-sink.
What you think?

Unfortunately, seems that nobody have an experience about how much time a commercial thermal paste can last when exposed to outdoor temperature...  :(

thermal paste is usually exposed to the same or higher temperatures from the heatsink
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 3273
  • Country: us
Re: How to cool down a stepper motor?
« Reply #32 on: December 21, 2020, 03:12:55 pm »
The most sophisticated stepper motors controllers I know of are from Trinamic. We developed some very precise controllers with the TMC5130, TMC5160 and TMC5072, they are offered in a small PCB called a BOB that makes it easy to mount and interface with. Our application used a Raspberry Pi, and these controllers mounted on to a HAT type PCB which plugged directly into the RPi.

These controllers allow various parameter tuning to achieve remarkably smooth motor/system operation with little vibration and no sound.

Hi, stuff from Trinamic is really cool stuff. I looked at it some weeks ago and I was impressed (they have also good "torquing" steppers too). It is still in my browser bookmark list.
As I understand Trinamic offers also a free integrated IDE for programming their drivers. Also a Linux version is available!

Honestly, I was intimidated from the large options they offer with their drivers, and I felt a little bit lost.

I have to write down an email to Trinamic guys and ask more info about my application. Decisively.
Also the prices seems quite reasonable.

Yes they are very complex devices, and not easy to understand. Hopefully the Trinamic CS will be useful for you, they weren't for me since they knew I wasn't going to buy 1000 chips!! Used Python and the mentioned RPi.  SCI was interface to control them, this was for an ultra-precison linear THK rail used for focus stacking and required micron & sub-micron positioning. Motors were 400 step NEMA 11, 14 & 17 types depending on what was required. THK rails have 1mm pitch, so each motor step represents 2.5um, with micro-stepping each motor step is broken down into many micro steps, up to 256.

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: How to cool down a stepper motor?
« Reply #33 on: December 21, 2020, 06:03:16 pm »
steppers have much more torque than servos of the same size and the drive with modern ICs is dirt cheap

That hasn't been my experience. Servomotors can be very powerful, think how much torque you can get from a cheap cordless drill for example, that's just a little brushed motor which could just as easily have an encoder on the shaft to be a servomotor. Compared to a stepper of the same size it would be no contest. Friends of mine own a CNC machine shop and they have upgraded several old machines from steppers to servos and got dramatically improved performance, the servos are faster, smoother, quieter, and being closed loop they never skip steps.
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4427
  • Country: dk
Re: How to cool down a stepper motor?
« Reply #34 on: December 21, 2020, 06:39:10 pm »
steppers have much more torque than servos of the same size and the drive with modern ICs is dirt cheap

That hasn't been my experience. Servomotors can be very powerful, think how much torque you can get from a cheap cordless drill for example, that's just a little brushed motor which could just as easily have an encoder on the shaft to be a servomotor. Compared to a stepper of the same size it would be no contest. Friends of mine own a CNC machine shop and they have upgraded several old machines from steppers to servos and got dramatically improved performance, the servos are faster, smoother, quieter, and being closed loop they never skip steps.

the big torque from a cordless drill is because it is geared, probably something like 30:1

no doubt servos are usually better and faster but they often require gearing, you an also get "hybrids" that steppers used as servos, they are really just two-phase brushless motors after all
 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #35 on: December 22, 2020, 04:15:42 pm »
use a gpio (and resistor) connected to Vref to pull the reference voltage down a bit, reducing the current
No orthodox approach... do you have any link to provide an example where this solution has actually worked?
I'm quite worry about how external environmental temperature could make this value oscillating too much...

why wouldn't it work? it is just simple DC voltage that set the reference for the current limit. A potentiometer isn't exactly a
precision instrument either.
Uh! I think I got it. Do you mean to "digitally" lower the VCC voltage used by the potentiometer, yes?

(See schematic)
 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #36 on: December 22, 2020, 04:34:53 pm »
BTW, I have just ordered a cheappy/crappy/sloppy chinese infrared thermometer to evaluate your proposals about lowering the stepper temperature.

Please be patient with me... I bought the one here below on Aliexpress...  :palm:
Don't say it to my friends.

1136528-0

I thought that I need just a rough estimate of the motor surface temperature. Even an error of 7-8 Celsius degree will not kill me (I hope).
(Uh! It has also adjustable emissivity!)
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4427
  • Country: dk
Re: How to cool down a stepper motor?
« Reply #37 on: December 22, 2020, 05:26:24 pm »
use a gpio (and resistor) connected to Vref to pull the reference voltage down a bit, reducing the current
No orthodox approach... do you have any link to provide an example where this solution has actually worked?
I'm quite worry about how external environmental temperature could make this value oscillating too much...

why wouldn't it work? it is just simple DC voltage that set the reference for the current limit. A potentiometer isn't exactly a
precision instrument either.
Uh! I think I got it. Do you mean to "digitally" lower the VCC voltage used by the potentiometer, yes?

(See schematic)

just a gpio connected to TP1 via a resistor (and a diode if you want to play it safe), normally you have the
current set by the potentiometer if you drive the gpio low it'll pull reduce the vref reducing the current
 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #38 on: December 22, 2020, 05:31:32 pm »
 :-+
But I will test the PWM approach first.
 

Offline tszaboo

  • Super Contributor
  • ***
  • Posts: 7392
  • Country: nl
  • Current job: ATEX product design
Re: How to cool down a stepper motor?
« Reply #39 on: December 22, 2020, 06:07:30 pm »
What's even the point of cooling it down? There isn't anything heat sensitive in it. There isn't any electronics in it, just some wires and some metal and oil. Unless it is like 90 degrees hot, I dont see a reason why you want it cooled.
In fact, maybe it doesn't even get proper lubrication or the bushings in it don't work properly if it is not at design temperature.
I would agree with you. Furthermore, 99,9% of commercial stepper have a Class-B insulation. If I remember correctly, this means an heat resistance up to 110 °C.
Nevertheless, I wrote at two manufacturers and both have answered with the same karma: "max environment temperature MUST be max 50 °C". So, if you close your stepper in a box, that must be the max temperature inside your box.

In a hot summer day of August I think that you're going to crash that limit very easily. So any temperature grade saved is like gold for my outdoor application.
(I also plan to add some opening in my enclosing box somehow, to guarantee a minimal ventilation added to an external heatsink.)
You looked into this before asking, I appreciate that.
Can you install a 80mm fan in this enclosure to circulate the air, if it gets too hot? Even brand name solar inverters do this, I guess it is acceptable approach.
 

Offline fourtytwo42

  • Super Contributor
  • ***
  • Posts: 1185
  • Country: gb
  • Interested in all things green/ECO NOT political
Re: How to cool down a stepper motor?
« Reply #40 on: December 22, 2020, 07:58:28 pm »
:-+
But I will test the PWM approach first.
They are kinda the same :) If you imagine you want to reduce power while stationary for example you could either do it by modulating the enable signal with a pwm or the suggested play with the reference voltage. The IR temperature gizmo's are bloody wonderful, had one for years, essential workshop tool & easy to calibrate just point it at the sensor of a known thermometer! Hmm beware there quite wide angle so it's hard to measure a lower temperature small part amongst other hot ones but you get the hang of it after a while :) Of course peeps with lots of readies buy IR cameras!

In a hot summer day of August I think that you're going to crash that limit very easily. So any temperature grade saved is like gold for my outdoor application.
(I also plan to add some opening in my enclosing box somehow, to guarantee a minimal ventilation added to an external heatsink.)
One other small problem might be any electronics you include in the same box  :phew:
« Last Edit: December 22, 2020, 08:02:34 pm by fourtytwo42 »
 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #41 on: December 22, 2020, 09:18:28 pm »
Electronics will be in a separate box.  8)
« Last Edit: December 24, 2020, 01:05:38 pm by gimpo »
 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #42 on: December 28, 2020, 01:47:22 pm »
They are kinda the same :) If you imagine you want to reduce power while stationary for example you could either do it by modulating the enable signal with a pwm or the suggested play with the reference voltage.
UPDATE

I was playing today with the analogWrite() istruction of arduino. The PWM-approach doesn't work.  :'(

By using the BED (Big Easy Driver) the stepper is fully powered when the ENABLE pin is LOW. On the other hand, is unpowered when the pin is HIGH.
I tried different duty-cycles (5%, 10%, etc.) to keep the enable-pin a little bit above the 0 voltage to get a smaller current. Unfortunately the stepper rotates in an abnormal way, with a lot of forward-and-back movements, a lot of noise, etc.
In other words: a disaster. It is not usable in such conditions.

The stepper works normally and smoothly when the duty cycle is zero or 255. Other values make the BED getting "confused" ( I was using a Pro Mini Arduino with PWM frequency equal to 490Hz). I suppose for reasons you write above.

It's a sin... it would be very nice if I could digitally control and modulate the current to the stepper, not only to reduce the temperature, but also to provide a different intensity of the motor force (torque) in different situations. That would be a real "game changer" for my project.

Maybe I should migrate to another driver? At the moment I have no idea of what driver board allows to modulate/regulate the current by using an Arduino-like micro-controller.
« Last Edit: December 28, 2020, 01:51:41 pm by gimpo »
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4427
  • Country: dk
Re: How to cool down a stepper motor?
« Reply #43 on: December 28, 2020, 04:46:11 pm »
They are kinda the same :) If you imagine you want to reduce power while stationary for example you could either do it by modulating the enable signal with a pwm or the suggested play with the reference voltage.
UPDATE

I was playing today with the analogWrite() istruction of arduino. The PWM-approach doesn't work.  :'(

By using the BED (Big Easy Driver) the stepper is fully powered when the ENABLE pin is LOW. On the other hand, is unpowered when the pin is HIGH.
I tried different duty-cycles (5%, 10%, etc.) to keep the enable-pin a little bit above the 0 voltage to get a smaller current. Unfortunately the stepper rotates in an abnormal way, with a lot of forward-and-back movements, a lot of noise, etc.
In other words: a disaster. It is not usable in such conditions.

The stepper works normally and smoothly when the duty cycle is zero or 255. Other values make the BED getting "confused" ( I was using a Pro Mini Arduino with PWM frequency equal to 490Hz). I suppose for reasons you write above.

It's a sin... it would be very nice if I could digitally control and modulate the current to the stepper, not only to reduce the temperature, but also to provide a different intensity of the motor force (torque) in different situations. That would be a real "game changer" for my project.

Maybe I should migrate to another driver? At the moment I have no idea of what driver board allows to modulate/regulate the current by using an Arduino-like micro-controller.

I'll try again: vary the Vref ...




 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #44 on: December 28, 2020, 06:11:07 pm »
If I put a resistor between TPI and ground (i.e. the pin of Arduino set to LOW), then it will be in parallel with the resistor of the potentiometer (10K).
So I think that a value of 50K for such resistor (R_ref) should lower the voltage of circa 16-20%, and the same should hold for the current.
Or I missed something?

« Last Edit: December 28, 2020, 06:38:00 pm by gimpo »
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13748
  • Country: gb
    • Mike's Electric Stuff
Re: How to cool down a stepper motor?
« Reply #45 on: December 28, 2020, 06:16:02 pm »
+1 for Trinamic drivers - they can be set  up to automatically reduce current when the motor isn't moving
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline gimpoTopic starter

  • Contributor
  • Posts: 39
  • Country: de
Re: How to cool down a stepper motor?
« Reply #46 on: December 28, 2020, 06:36:06 pm »
+1 for Trinamic drivers - they can be set  up to automatically reduce current when the motor isn't moving
Are you the devil? You're tempting me...  ;D
Anyway can a Trinamic driver programmatically lower the current sent to the windings? Or it is just a static configuration setup?
It would be fine if I could do that upon the input of an external sensor, or even a pressed button/switch.
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13748
  • Country: gb
    • Mike's Electric Stuff
Re: How to cool down a stepper motor?
« Reply #47 on: December 28, 2020, 06:54:46 pm »
+1 for Trinamic drivers - they can be set  up to automatically reduce current when the motor isn't moving
Are you the devil? You're tempting me...  ;D
Anyway can a Trinamic driver programmatically lower the current sent to the windings? Or it is just a static configuration setup?
It would be fine if I could do that upon the input of an external sensor, or even a pressed button/switch.
It's a while since I used one (TMC2130 ) -  a quick glance at the datasheet shows "coolstep - load-adaptive current control"  as well as a timeout (TPOWERDOWN register)  and hold/run current settings (IHOLD_IRUN register)
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: How to cool down a stepper motor?
« Reply #48 on: December 28, 2020, 07:26:39 pm »
If you really need to cool your stepper motor for instance because the ambient temperature is too high then you can add a watercooled coolingplate to the flange of the stepper.
You might have to make it yourself.
Something like this.
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 3273
  • Country: us
Re: How to cool down a stepper motor?
« Reply #49 on: December 28, 2020, 08:43:02 pm »
+1 for Trinamic drivers - they can be set  up to automatically reduce current when the motor isn't moving
Are you the devil? You're tempting me...  ;D
Anyway can a Trinamic driver programmatically lower the current sent to the windings? Or it is just a static configuration setup?
It would be fine if I could do that upon the input of an external sensor, or even a pressed button/switch.

You can program the static current and the run current, even use a mode that reduces the power when the motor is up to full speed. In addition you can utilize the motor & velocity profiling to optimize motor performance and minimize motor heat buildup. They even have a Stall Detect capability without a motor shaft encoder, although I haven't used that feature.

Spend some serious time studying the Trinamic data sheets to get an idea of what these controllers offer, they are the most advanced stepper motor controllers I am aware of.

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf