M906 and rated current for steppers



  • 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



  • 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
    

  • administrators

    @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%.



  • @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.


Log in to reply