• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Setting motor current higher than rated current?

Scheduled Pinned Locked Moved
Duet Hardware and wiring
6
18
3.5k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    wilriker
    last edited by wilriker 9 Oct 2018, 20:01 10 Sept 2018, 08:10

    I don't see an issue with the drivers as long as they are cooled (if necessary at all - depends on the actual current value).

    Your motors might get damaged if their temperature exceeds certain values. Worst-case would be that the heat will demagnetize the magnets - and this is pretty fatal for your motors. I though cannot tell you at which temperature this will happen and for how long it has to maintain this temperature.

    But as @dragonn already said most motors (I have seen) are rated for a temperature rise of about 85°C over room temperature. So if you keep them at a max of 80-90°C you should be fine - don't sue me though if it kills your motors. 😉

    See @RCarlyle's post below for a detailed explanation of what will happen.

    Manuel
    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
    with probably always latest firmware/DWC (incl. betas or self-compiled)
    My Tool Collection

    1 Reply Last reply Reply Quote 0
    • undefined
      RCarlyle
      last edited by 10 Sept 2018, 17:39

      Ok, back up, there’s some bad info here.

      Typical NEMA 17 hybrid steppers used in 3D printers use “class B” insulation in the coils, which is rated to 130C. At this temperature, the motor should last on the order of >10,000 hours before failing. Every 10C you exceed the coil rating can be VERY LOOSELY APPROXIMATED to reduce the motor life in half. So at 160C coil temp the motor may only last ~1000 hours which is less than printers are generally expected to last. (This is not guaranteed and you should not base any plans on this.)

      The motor’s rated current ultimately comes from the 130C coil temp rating value and some assumptions about the motor’s ability to shed heat:

      • Standard -10C safety factor (run coils at 120C actual)
      • Ambient temperature is 50C
      • Motor is horizontal and open to free air convection on five sides
      • Driver doesn’t do anything screwy that causes excessive heating due to excessive high-frequency switching

      What happens in this scenario is that the coils heat up to 120C, and shed heat to the stator/housing, so the stator heats up to perhaps 80-90C, and then sheds heat to the 50C air. Heat flows from hotter to colder so these temperature deltas are required to cool the motor.

      To be clear: under these conditions, the motor run at rated current will last a loooong time. You don’t need to run it at 60-90% of rated current for the motor’s sake. That is done to protect fingers and plastic mounting hardware.

      At 71% of rated current, the motor’s temp rise above ambient will be half.
      At 141% of rated current, the motor’s temp rise above ambient will be double.

      For standard motor conditions, the coil temp rise is 120-50=70C. That much temperature delta is required to drive heat-shedding to the environment and reach equilibrium.

      If you cool the motor more aggressively, such as attaching fans or heatsinks or watercooling blocks, you can safely run higher than rated current.

      If your ambient temp is less than 50C, you can safely run higher than rated current.

      So, what’s a safe motor current? Depends on your setup. 110% is often going to be completely fine. 140% will definitely fry the coils if you don’t provide aggressive motor cooling.

      Say you want to run the motor in 30C air with a heatsink glued on and you’re willing to add some risk of premature failure. Maybe here we can tolerate 105C of coil temperature rise above ambient versus the design temp rise of 70C above ambient. That means you get 50% more temp delta and thus 50% more heat shedding. So the coils can be run at sqrt(1.5)=122% rated current. The motor will be way too hot to touch, but in theory, it will perform fine at that temp.

      Rotor demagnetization really isn’t much of an issue. Hybrid steppers run fine with weak permanent magnets. The magnet isn’t producing torque, it’s just steering the electromagnetic flux produced by the coils through the motor so it spins in a consistent direction.

      undefined undefined 2 Replies Last reply 10 Sept 2018, 20:03 Reply Quote 5
      • undefined
        wilriker @RCarlyle
        last edited by wilriker 9 Oct 2018, 20:03 10 Sept 2018, 20:03

        @rcarlyle Thank you, this is some really great explanation and useful information! 👍

        I'm gonna put you on my list of experts under the section for motors. 😉

        Manuel
        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
        with probably always latest firmware/DWC (incl. betas or self-compiled)
        My Tool Collection

        1 Reply Last reply Reply Quote 0
        • undefined
          fcwilt @RCarlyle
          last edited by 10 Sept 2018, 21:14

          @rcarlyle said in Setting motor current higher than rated current?:

          Rotor demagnetization really isn’t much of an issue. Hybrid steppers run fine with weak permanent magnets. The magnet isn’t producing torque...

          I don't think that is entirely accurate.

          My understanding is that permanent magnet steppers can have greater torque when moving and they have holding torque in contrast to steppers which do not use permanent magnets.

          So, yes, if the permanent magnets were weakened they would run ok but not without some loss of performance.

          I could be wrong - my learning all comes from books.

          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          undefined 1 Reply Last reply 11 Sept 2018, 01:12 Reply Quote 0
          • undefined
            jml @fcwilt
            last edited by 10 Sept 2018, 22:09

            @fcwilt Replacing the motors crossed my mind but will require redesign of a couple things (its pretty tight the way it is now).

            My motor rated current is 1200mA. So at 1200mA, it got to over 60C. I'd rather have it get to 45C max just to save from any burning sensations. But setting it to 1100mA was what it was at before, but I want more power. But due to Duet 2's firmware, it sounds like I cannot set the current to anything in between 1100 and 1200.

            @RCarlyle Excellent information. I will consider actively cooling the motors so I can run at 1300mA or 1400mA while keeping them below 45C.

            1 Reply Last reply Reply Quote 0
            • undefined
              RCarlyle @fcwilt
              last edited by 11 Sept 2018, 01:12

              @fcwilt sort of. Hybrid steppers (which contain permanent magnets) produce higher torque per unit motor volume than “permanent magnet” steppers (which also contain permanent magnets) and “variable reluctance” steppers (which do NOT contain permanent magnets). But these all use different mechanisms of stepping.

              1. VR stepper: electromagnets pull on an iron bar or cross to align the iron rotor poles with the electromagnet stator poles
              2. PM stepper: electromagnet stator poles push/pull on a permanent magnet rotor
              3. Hybrid stepper: electromagnet stator poles pull on iron rotor poles to try to align their respective cog teeth, but the permanent magnet forces the flux to route in a particular direction so a specific set of cog teeth try to align and the motor doesn’t accidentally spin backwards

              The hybrid stepper DOES require a permanent magnet in the rotor in order to work with only two phases — VR steppers need three phases to rotate in a known direction — but the hybrid stepper magnet contributes little torque on its own since coil fields aren’t directly pushing/pulling on the PM field.

              Weaker permanent magnets mean a little less torque, but also less back-emf so the motor can run faster.

              In any case, at typical running temps, rotor demagnetization is more or less reversible, since we’re not exceeding the curie temp. So the magnet recovers its strength (less some hysteresis) upon cooling.

              undefined 1 Reply Last reply 11 Sept 2018, 08:30 Reply Quote 0
              • undefined
                wilriker @RCarlyle
                last edited by 11 Sept 2018, 08:30

                @rcarlyle said in Setting motor current higher than rated current?:

                In any case, at typical running temps, rotor demagnetization is more or less reversible, since we’re not exceeding the curie temp.

                Just out of curiosity: do you know what the Curie temperature for an average hybrid stepper motor would be?

                Manuel
                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                with probably always latest firmware/DWC (incl. betas or self-compiled)
                My Tool Collection

                1 Reply Last reply Reply Quote 0
                • undefined
                  dc42 administrators
                  last edited by dc42 9 Nov 2018, 11:03 11 Sept 2018, 11:02

                  There is a complication. The rated current of a stepper motor is normally stated with both coils energised at that current. Whereas when microstepping, we only energise one coil at full current at a time.

                  A simplistic view would be at as long as you don't set the Duet to x1 microstepping, you can safely set the current to 1.414 times the rated current, because that current in one coil will give the same total power dissipation as the rated current in both coils. However, in this case at the half step positions, all that heat will be generated in one coil instead of being split evenly between both coils.

                  So I think we can say that when the motor is moving at a few full steps per second or faster and using greater than x1 microstepping, you could safely run the motors with the current set at up to at 1.414 times rated current. But when the motor is at standstill, you should not use such a high current; although you are probably safe to go a little above the rated current by 10% or possibly 20%.

                  The drivers on the Duet 2 WiFi/Ethernet do not have automatic standstill current reduction, so it's not easy to enforce a lower standstill current. The drivers on the Duet Maestro do.

                  HTH David

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  undefined undefined undefined 3 Replies Last reply 11 Sept 2018, 11:06 Reply Quote 0
                  • undefined
                    wilriker @dc42
                    last edited by 11 Sept 2018, 11:06

                    @dc42 said in Setting motor current higher than rated current?:

                    The drivers on the Duet 2 WiFi/Ethernet do not have automatic standstill current reduction, so it's not easy to enforce a lower standstill current.

                    Next best thing would be to tune stallGuard+coolStep to have the drivers automatically reduce current if there is a low load. But it might be very fiddly to configure and is definitely something to rely on too much.

                    Manuel
                    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                    with probably always latest firmware/DWC (incl. betas or self-compiled)
                    My Tool Collection

                    undefined 1 Reply Last reply 11 Sept 2018, 11:21 Reply Quote 0
                    • undefined
                      dc42 administrators @wilriker
                      last edited by 11 Sept 2018, 11:21

                      @wilriker said in Setting motor current higher than rated current?:

                      @dc42 said in Setting motor current higher than rated current?:

                      The drivers on the Duet 2 WiFi/Ethernet do not have automatic standstill current reduction, so it's not easy to enforce a lower standstill current.

                      Next best thing would be to tune stallGuard+coolStep to have the drivers automatically reduce current if there is a low load. But it might be very fiddly to configure and is definitely something to rely on too much.

                      You can already do this, see the M915 T parameter.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      undefined 1 Reply Last reply 11 Sept 2018, 11:23 Reply Quote 0
                      • undefined
                        wilriker @dc42
                        last edited by wilriker 9 Nov 2018, 11:23 11 Sept 2018, 11:23

                        @dc42 I know that it can be done (I have this on my todo list for a long time now). I just meant it can be a little bit hard to configure (as stallGuard usually is if one wants to get it right) and therefore I would not consider it a safe method to avoid overheating of motors.

                        Manuel
                        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                        with probably always latest firmware/DWC (incl. betas or self-compiled)
                        My Tool Collection

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          jml @dc42
                          last edited by 11 Sept 2018, 18:50

                          @dc42 Does that mean the Z motor would typically get hotter since it is at a standstill more often than X and Z during a print?

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            RCarlyle @dc42
                            last edited by 11 Sept 2018, 19:31

                            @dc42 If you pick up a random stepper datasheet, it will most likely give you:

                            • rated current assuming ONE coil is energized at that current
                            • rated holding torque with BOTH coils at the rated current (which will overheat the motor)

                            This is obviously stupid and unhelpful in our particular application, but manufacturers do it this way to make their motors look more powerful. And for some applications (like intermittent load-positioning with standstill current reduction) it is a perfectly reasonable way to rate the motor.

                            Unfortunately, different stepper manufacturers do this different ways, so it's kind of a pot-shoot unless you're accustomed to a particular manufacturer's datasheets. For example, I know Kysan and Moons provide two-coils-on-100% holding torques and one-coil-on-100% rated currents.

                            1 Reply Last reply Reply Quote 0
                            15 out of 18
                            • First post
                              15/18
                              Last post
                            Unless otherwise noted, all forum content is licensed under CC-BY-SA