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

    M906 and rated current for steppers

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    6
    1.1k
    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.
    • piperswundefined
      pipersw
      last edited by pipersw

      Hi,
      Newbie question about M906 and rated current steppers.

      I have a corexy with dual Z steppers with these specifications:

      NEMA 17
      Dimensions: 42.3x42.3x48mm
      Bipolar
      Voltage: 2,8 V
      step: 200
      angle: 1,8° (+/-5%)
      holding torque: 50N.cm
      Resistance/phase: 1,65 Ohm per phase
      Inductance/phase: 2,8 mH per phase
      Current/phase: 1,68 A per phase

      For the BMG extruder:
      NEMA 17
      Dimensions: 42.3x42.3x25mm
      Bipolar
      Voltage: 2,7 V
      step: 400
      angle: 0.9°
      Resistance/phase: N/A
      Inductance/phase: N/A
      Current/phase: 1,4 A per phase

      Should I have to put the rated current or 85% of rated current for all motor ?

      M906 X1700 Y1700 Z1700 E1400 I30
      or
      M906 X1300 Y1300 Z1300 E1200 I30

      the motor mounts are in ABS, with 50° max internal enclosure temperature

      thx

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by Phaedrux

        Here's what I do.

        I use M906 to set the full rated current for the motor, and then I use M913 to set the current to my desired percentage. https://duet3d.dozuki.com/Wiki/Gcode#Section_M913_Set_motor_percentage_of_normal_current

        That way when I use M913 I know that I'm getting the actual percentage that I set, rather than a percentage of a percentage that you'd get if you set M906 to 85% of the rated current to begin with. Make sense?

        For example:

        M906 X2000 Y2000 Z2000 E1400 I15 ; Set motor max currents (mA) and motor idle factor in per cent
        M913 X75 Y75 Z75 E80	 set X Y Z E motors to % of their max current
        

        Z-Bot CoreXY Build | Thingiverse Profile

        dc42undefined 1 Reply Last reply Reply Quote 1
        • dc42undefined
          dc42 administrators @Phaedrux
          last edited by

          @phaedrux said in M906 and rated current for steppers:

          Here's what I do.

          I use M906 to set the full rated current for the motor, and then I use M913 to set the current to my desired percentage. https://duet3d.dozuki.com/Wiki/Gcode#Section_M913_Set_motor_percentage_of_normal_current

          That way when I use M913 I know that I'm getting the actual percentage that I set, rather than a percentage of a percentage that you'd get if you set M906 to 85% of the rated current to begin with. Make sense?

          For example:

          M906 X2000 Y2000 Z2000 E1400 I15 ; Set motor max currents (mA) and motor idle factor in per cent
          M913 X75 Y75 Z75 E80	 set X Y Z E motors to % of their max current
          

          The snag with doing that is that if you use M913 to reduce current e.g. while homing, you need to know what M913 value to set it back to afterwards. Whereas if you use M906 to set the current you normally want to use (typically between 60% and 85% of rated current), then if you do use M913 to reduce current temporarily, you know that you have to restore it to 100%.

          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

          Phaedruxundefined 1 Reply Last reply Reply Quote 1
          • Phaedruxundefined
            Phaedrux Moderator @dc42
            last edited by

            @dc42 Just to complete the loop, I actually have a few small macros that set the M913 current for different scenarios and are called as needed and I only have a single place to change the actual values.

            MotorCurrentsHoming.g
            MotorCurrentsPrinting.g
            MotorCurrentsDefault.g

            They just contain a M913 command.

            Z-Bot CoreXY Build | Thingiverse Profile

            Exerqtorundefined 1 Reply Last reply Reply Quote 1
            • Exerqtorundefined
              Exerqtor @Phaedrux
              last edited by

              @Phaedrux said in M906 and rated current for steppers:

              @dc42 Just to complete the loop, I actually have a few small macros that set the M913 current for different scenarios and are called as needed and I only have a single place to change the actual values.

              MotorCurrentsHoming.g
              MotorCurrentsPrinting.g
              MotorCurrentsDefault.g

              They just contain a M913 command.

              A little late to the party, but i'm setting up to do the same as you atm, and i'm curious what percentages you are using in homing, printing & default?

              Phaedruxundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @Exerqtor
                last edited by

                @Exerqtor

                ; 0:/sys/CurrentsHoming.g
                ; Used to set motor currents for homing
                ;
                M913 X40 Y40 Z55					
                
                ; 0:/sys/CurrentsNormal.g
                ; Used to set normal motor current
                ; Make sure these values match those in config.g
                M913 X75 Y75 Z75 E75
                
                ; 0:/sys/CurrentsPrint.g
                ; Used to set normal motor current
                ; Make sure these values match those in config.g
                M913 X85 Y85 Z85 E85					
                

                The percentage that you use for homing will depend on how much current you need to still have reliable movement without stalling/binding. It may also help to reduce acceleration and jerk during homing for the same reason.

                Z-Bot CoreXY Build | Thingiverse Profile

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