[Solved] Multiple independent Z motors and Motor current
-
The entry for M584 on the GCodes wiki page states that you must put the M584 command earlier in config.g than several other commands, including M906.
-
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 rightIssuing 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.
-
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 timeoutYou 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.
-
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. -
-
thanks that was it.
-
@veti said in Multiple independent Z motors and Motor current:
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