[Solved] Multiple independent Z motors and Motor current

• thanks dc

but the command is before the others
; Drives
M584 X0 Y1 Z2:4 ; Two Z motors connected to driver outputs 2 and 4
M569 P0 S0 ; Drive 0 goes backwards
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S0 ; Drive 2 goes backwards
M569 P3 S0 ; Drive 3 goes backwards
M569 P4 S0 ; Drive 4 goes backwards (Z2 in the E1)
M569 P0 V118 ; Stealthchop2 till about 78 mm/sec
M569 P1 V118 ; Stealthchop2 till about 78 mm/sec
M569 P2 V118 ; Stealthchop2 till about 78 mm/sec
M569 P3 D2 ; Extruder in Spreadcyle
M569 P4 V118 ; Stealthchop2 till about 78 mm/sec
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z1600 E414 ; Set steps per mm
M566 X900 Y900 Z12 E240 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000 Y18000 Z180 E3000 ; Set maximum speeds (mm/min)
M201 X3000 Y3000 Z250 E10000 ; Set accelerations (mm/s^2)
M906 X1200 Y1200 Z800 E1200 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M671 X-75:295 Y110:110 S0.5 ; leadscrews at mid left, and mid right

Issuing M906 Produces
Motor current (mA) - X:1200, Y:1200, Z:800, E:1200:1200:1200:1200, idle factor 30%
So the second Z is at 1200 mA.

• Don’t you need to set the current, speeds, accelerations, jerk and steps per mm for the other axis by assigning it to a different axis. I think the next one is U. There is a section about setting up multi z axis and it explains it there. I can post an excerpt from my config file when I get back to my computer it a couple of hours. I am running 4 z motors

• See the part of https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping that is emphasized in bold text.

• @Veti

Here is an excerpt from my config. This is when I was running the three z axis motors

; Drives

M569 P0 S1 ; Drive 0 goes forwards X Axis
M569 P1 S0 ; Drive 1 goes forwards Y Axis
M569 P2 S0 ; Drive 2 goes forwards Z Axis FL
M569 P3 S1 ; Drive 3 goes forwards Z Axis RC
M569 P4 S0 ; Drive 4 goes forwards Z Axis FR
M569 P5 S1 ; Drive 5 goes forwards Extruder

; Motor remapping for dual Z

M584 X0 Y1 Z2:3:4 U3 V4 E5 P5 ; Driver 0 For X, 1 for Y, Z=2:3:4 U3 V4, Extruder 5
M350 X16 Y16 Z16:16:16 U16 V16 I1 ; Configure microstepping with interpolation
M350 E8 ; Set Extruder to 8x Microstepping with no interpolation
M92 X80 Y80 Z400:400:400 U400 V400 E1900 ; Set steps per mm 2149.14
M566 X60 Y60 Z20:20:20 U20 V20 E6 ; Set maximum instantaneous speed changes (mm/min)
M203 X10000 Y10000 Z800:800:800 U800 V800 E3600 ; Set maximum speeds (mm/min)
M201 X3000 Y3000 Z250:250:250 U250 V250 E120 ; Set accelerations (mm/s^2)
M906 X1000 Y1000 Z1850:1850:1850 U1850 V1850 E600 I75 ; Set motor currents (mA) and motor idle factor in %
M84 S30 ; Set idle timeout

You will see that I had to put the U and V values in for each axis as in theory they are another axis that is then bound with the M584 command.

• @samlogan87

thanks sam.

that also looks like a workaround like mine.
what is your output of the M906 command?

• @veti Aren't you missing to explicitly assign the motor of your extruder / E:3 in your M584 command, to remove the 4 from its default assignment ?

https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping
Assigning a drive using M584 does not remove its old assignment. Therefore, if you assign a drive that defaults to being an extruder drive, you should also assign the extruder drives explicitly as in the above example. Failure to do so may result in unexpected behaviour.

• Hi @Veti

My M906 command is there

Regards,
Sam

• @scachi

thanks that was it.

• @scachi

thanks that was it.

...which is why there is that bold text in the description of M584 on the GCodes wiki page.

• yes sometimes you need another pair of eyes to double check your config

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.