Duet Maestro with 3 Z axis drives



  • Well, I've been trying to configure my Maestro to drive 3 Z motors. I've added the daughter board and have configured the three drives. It appears to work correctly, after some searching, I've managed to get the three drives to run at the same speed and they have all been configured as a single Z axis. Moving the Z in DWC has all three drives moving at the same speeds and direction.

    But, now my extruder does not work...more to the point, when I attempt to extrude, one of the Z drives being driven by the daughterboard moves. For some reason, that drive is being activated by both the Z axis and the extruder.

    I've been over the config.g file several times, along with other files and I'm not finding any cross definition that might account for this behaviour. Has anyone else tried to use a 3 drive Z with a Maestro? Is there something in the programming that might account for this behaviour? ideas?



  • most likely an error in M584

    but without your actual config how do you expect us to analyse the problem?



  • @dehidding as @Veti says, it's difficult to say what's wrong unless you give us something more to go on. At a guess, I'd say that you haven't taken notice of this from the Wiki

    Quote:
    VERY IMPORTANT! 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.

    So to get 3 motors mapped to the Z axis, you must have used motors which were assigned as extruders to start with, therefore you must also explicitly assign motors to extruders.



  • ; --- SECTION: GENERAL PREFERENCES ( ) ---

    M564 S1 H1 ; Enables Homing Requirement For Motor Activation and set axes limits

    ; --- SECTION: Z-PROBE & MESH COMPENSATION ---

    M98 Pmachine_zprobe.g ; configure the z probe

    M98 Pmachine_bedmesh.g ; configure the bed mesh

    G29 S1 ; Load heightmap after power cycle

    ; --- SECTION: DRIVES (MOVEMENT SECTION) & ENDSTOPS ---

    M667 S1 ; Enable coreXY mode
    M569 P0 S0 D3 V0 ; Drive 0 goes forwards, CoreXY_1, stealth chop, disable spread cycle
    M569 P1 S1 D3 V0 ; Drive 1 goes forwards, CoreXY_2, stealth chop, disable spread cycle
    M569 P2 S1 D3 V0 ; Drive 2 goes forwards, Z Motor, stealth chop, disable spread cycle
    M569 P3 S0 D3 V800 ; Drive 3 goes forwards, Left Extruder, stealth chop, spread cycle only on retractions basically)
    M569 P5 S1 D3 V0 ; Drive 5 goes forward, Z Motor 2, stealth chop, disable spread cycle
    M569 P6 S1 D3 V0 ; Drive 6 goes forward, Z Motor 3, stealth chop, disable spread cycle

    M584 X0 Y1 Z2:5:6 U5 V6 ; three Z motors connected to driver outputs 2, 5 and 6

    ;SET ENDSTOPS
    M574 X2 Y2 S1 ; Optical XY endstops, S1 is active high
    M574 Z2 S0 ; Mechanical Z, S0 is active low

    ;SET STEPPER CURRENT
    M906 X680 Y680 Z800 U800 V800 E500 I60 ; Set motor currents (mA) and idle current percentage

    ;SET STEPPER SPEED
    M201 X3000 Y3000 Z75 U75 V75 E150 ; Set accelerations (mm/s^2)
    M203 X9000 Y9000 Z700 U700 V700 E5000 ; Set maximum linear speeds
    M566 X350 Y350 Z50 U50 V50 E60 ; Set maximum instantaneous speed changes/jerk (mm/min)

    ;SET AXIS DIM
    M208 X0 Y0 Z-0.5 S1 ; Set axis min
    M208 X315 Y357 Z358 S0 ; Set axis max

    ;SET AXIS STEPS/mm
    M350 E16 ; Confirming default 1/16 microstepping mode for calculation, in case firmware default changes
    M92 X80 Y80 Z800 U800 V800 ; Set axis steps/mm
    M350 X32 Y32 Z32 U32 V32 ; Setting microstepping to 1/32.

    ;SET EXTRUDER STEPS/mm
    M350 E16 ; Confirming default 1/16 microstepping mode for calculation, in case firmware default changes
    M92 E213:197 ; Extruder microteps/mm Amazon Basic PETG 240°
    M350 E128 ; Set microstepping mode to 1/128.

    ;RECOMBINE 3 Z MOTORS to ONE
    M584 X0 Y1 Z2:5:6 P3 ; three Z motors connected to driver outputs 2, 5 and 6
    M671 X157.5:-65:375 Y400:-5:-5 S5 ; leadscrews at rear middle, front left and front right

    G21 ; Work in millimetres
    G90 ; Set to absolute coordinates...
    M84 S1 ; Set idle timeout

    ; --- SECTION: HEATERS, BED & THERMISTOR ---
    ; H0 is bed
    ; H1 is left heater
    ; H2 is right heater

    M570 H0 P25 T30 ; Allow heater to be off by as much as 30C for 25 seconds
    M570 H1 P15 T30 ; Allow heater to be off by as much as 30C for 15 seconds

    M305 P0 T100000 B4138 C0 R2200 ; Set thermistor + ADC parameters for heater 0, For heated Bed thermistor
    M305 P1 X501 R2200 ; Define left side extruder PT1000

    M307 H0 A78.9 C265.2 D9.5 S1.00 V24.0 B0 ; Forcing heated bed PID control after power-cycle. Basic bed heating auto-tune
    M307 H1 A309 C96 D5.2 S0.75 V24.1 B0 ; Set PID values use M303 auto-tune calibration settings

    M302 P1 ; Allow Cold extrudes

    ; --- MAX TEMP SET ---
    M143 H0 S120 ; Set maximum bed temperature to 120 C
    M143 H1 S280 ; Set maximum heater temperature to 280C for hot end

    ; --- SECTION: FANS ( ) ---

    M106 P0 S0 I0 F4 H-1 L0.3 ; Filter fan. Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100%
    M106 P1 S0 I0 F4 H-1 L0.3 ; Cold-Section fan. Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100%
    M106 P2 S0 I0 F4 H-1 L0.3 ; Nozzle fan. Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100%

    ; --- SECTION: TOOLS ( ) ---

    ; Remember! H0 is the heated bed!
    ; D0 is the first driver after movement (X, Y and Z) drives, which is left extruder

    M563 P0 D0 H1 F2 S"Extruder" ; Define tool 0, left side tool (single extruder)
    G10 P0 X0.0 Y0 Z0 ; Tool 0, set axis offsets
    G10 P0 S0 R0 ; Tool 0, set active (S0) and standy temp (R) of 0

    T0 ; Automatic tool select

    ; --- SECTION: NETWORKS (PROLOGUE & COMMUNCATIONS SECTION) ---
    M98 Pmachine_access.g ; set machine name and IP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; --- SECTION: MISCELLANEOUS ---

    M572 D0:1 S0.07 ; Extruder Pressure Advance
    ;M98 Pqc.g ; Do NOT uncomment unless you really know what you're doing



  • @dehidding said in Duet Maestro with 3 Z axis drives:

    M584 X0 Y1 Z2:5:6 U5 V6

    where are your E assignments?



  • @dehidding said in Duet Maestro with 3 Z axis drives:

    M350 X32 Y32 Z32 U32 V32

    why are you not using interpolation?

    Also
    M584 must come earlier in config.g than any M350 and M906 commands. If it creates new axes, it must also be earlier than any M92, M201, M203, M208, M350, M566, M574 , M667 and M669 commands.



  • @veti , that would be because I grabbed that code direct from the dozuki and didn't realize I needed to assign the extruder.

    Should be:
    M584 X0 Y1 Z2:5:6 U5 V6 E3:4



  • Adding the extruder definition and moving some things around seems to have solved the problem. Thanks.


 

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