# 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
``````

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