Dual Z Setup - Single Motor Movement Headache

  • Hi guys,

    I'm fairly new to Duet, so to say this was a steep learning curve, is a small understatement... 🙂 . Very frustrating, but sticking with it!

    Anyhow, after some exsessive reading, and trial and error (and some head banging, cause I can do it myself, yeah right), I now have succesfully homed X, and Y, and partly Z....

    A little context...

    My setup is a CoreXY dual Z, setup using drives 2 & 4 for independant homing, with independant endstops for both. The plan is to use the DC42 IR Probe for Auto Bed COmpensation eventually, but I need to get the homing sorted first.

    I'm runing of the latest Duet Wifi with the latest firmware (2.03 (2019-06-13b2)), and have a 24v PSU to drive the lot. After the initial RRF config, I started changing the config to fit my setup, and so far so good, or so I thought.

    Just for reference, this is what my config.g file looks like (so-far)

    ; Motor remapping for dual Z
    M584 X0 Y1 Z2:4 U4 E3 P3 					; Driver 0 For X, 1 for Y, Z=2:4 U=4, Extruder 3, P3=Don't show Virtual drive
    ; Physical Drive connection
    M569 P0 S1 					; Drive 0 X
    M569 P1 S1 					; Drive 1 Y
    M569 P2 S1 					; 1st z-motor (original Z)
    M569 P3 S1 					; Extruder0
    M569 P4 S1 					; 2nd Z-motor - Normally used as Extruder 1
    M350 X16 Y16 Z16:16 U16 E16 I1                     		; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z2560.00:2560.00 U2560.00 			; Steps per mm for XY and Z2:4 +U4
    M92 E420.00          						; Set steps per mm for extruder
    M566 X900.00 Y900.00 Z12.00:12.00 U12.00 E120.00         	; Set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00:180.00 U180.00 E1200.00     	; Set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z200.00:200.00 U200.00 E250.00         	; Set accelerations (mm/s^2)
    M906 X1920.00 Y1920.00 Z1200.00:1200.00 U1200.00 I0		; Motor currents (mA) and motor idle factor % for XYZ
    M906 E800.00 I50 						; Set extruder current (mA) and motor idle factor in %
    M84 S30                                     			; Set idle timeout
    ; Axis Limits
    M208 X0 Y0 Z0 S1                            ; Set axis minima
    M208 X300 Y300 Z290 U290 S0                      ; Set axis maxima
    ; Endstops
    M574 X1 Y2 Z2 U2 S0                          ; 1=Min, 2=Max, S0=NO, S1=NC

    As mentioned, homing X&Y is no great issue (although I need to sort the motor hum, which I will do later). With the inclusion of the Z axis moving when homing X & Y (move Z up/down), all appears to be ok, this is till I home Z.... this is my current homez.g file

    G91 				; Relative mode;M584 Z2				; Split Z into 2 (Z+U)
    G1 Z250 U250 F2000 S1 		; Move up to 250mm in the +Z direction. S1 to stop if endstop is triggered
    G1 Z-2 U-2 F600 S2 		; Move 2mm in the -Z direction - S2 = If containing axis letters: offset will be added to the pause coordinates
    G1 Z3 U3 F100 S1 		; Move slowly 3mm in the +Z direction, stopping at the homing switch
    M584 Z2:4 			; Join U to Z again (pay attention to drive numbers used)
    G1 Z-5 F3000 			; Move back again 5mm in the -Z direction
    G90 				; Back to absolute mode


    When I come to home Z, for some strange reason, only one of the Z motors with move. Now, this is not a big deal when the the bed is close to the endstops, but when they're not, this skews the bed, and binds the motors. So much so, that I have to restart the Duet. I've swapped the motors, the cables, everythign I can think of (I think), but nothing seems to have any impact.

    I must be missing something trivial somewhere, but like anything else, the more I look at it, the less I see....

    ANY help would be greatly appreaciated (before I have to go off to A&E for concussion damage 😉 )

    Thanks guys!!!

  • administrators

    Near the start of your homez.g file you need to unhide the U axis, or else the U parameter in the G1 S1 command won't be recognised. Do this using M584 P4. Hide the U axis afterwards by adding the P3 parameter to the M584 command later on in homez.g.

  • OMG, DC42, thank you so much!! Tired it, and ureka. Homing Z!!

    Thanks you!

Log in to reply