Multi-axis homed Z error



  • Good afternoon,

    I am building a coreXY with three Z axes, and with independent limit switches in Z max.

    The three Z motors and limit switches are connected in Duex5.

    The problem comes when doing the homing of Z, at the end of the code, I put the three axes back together in Z, but at the end of the homing Z, DWC gives an error message that the homing Z failed.

    It does all the homing Z process, but at the end it gives the homing Z error message, and the "homing Z" button does not turn blue.

    This is my homez.g file configuration

    ; Home 3 Independent Z-Axis Drives
    M400 ; Wait for movement to stop
    G91 ; relative positioning

    M584 X0 Y1 Z2 U3 V4 W5 A6 B7 P8
    G1 W500 A500 B500 F600 S1 ; lower all z motors until each corresponding z-stop reached
    M400 ; Wait for movement to stop

    G1 B-4 F300 S2 ; raise Z3 axis slowly (S2 Ignore endstops and ignore axis not homed)
    G1 B10 F300 S1 ; lower Z3 motor slowly until its endstop reached
    G1 B-4 F300 S2 ; raise Z3 axis slowly (S2 Ignore endstops and ignore axis not homed)
    M400 ; Wait for movement to stop

    G1 A-4 F300 S2 ; raise Z2 axis slowly (S2 Ignore endstops and ignore axis not homed)
    G1 A10 F300 S1 ; lower Z2 motor slowly until its endstop reached
    G1 A-4 F300 S2 ; raise Z2 axis slowly (S2 Ignore endstops and ignore axis not homed)
    M400 ; Wait for movement to stop

    G1 W-4 F300 S2 ; raise Z1 axis slowly (S2 Ignore endstops and ignore axis not homed)
    G1 W10 F300 S1 ; lower Z1 motor slowly until its endstop reached
    G1 W-4 F300 S2 ; raise Z1 axis slowly (S2 Ignore endstops and ignore axis not homed)
    M400 ; Wait for movement to stop

    ; This test move before combining axis works
    ;G1 W-50 A-50 B-50 F360 S2 ; raise Z1 axis slowly (S2 Ignore endstops and ignore axis not homed)

    M584 Z5:6:7 P3 ; combine z axis motors

    ;G1 Z-200 F600 S1 ; test raise all axis slowly

    G90 ; absolute positioning



  • This post is deleted!


  • Hi, I don´t know if it helpfull. But here the interesting config part.

    ; Mapping of Driver for X,Y, Z1-3, E1-3
    M584 X0 Y1 Z5:6:7 E3:4:8 ; three Z motors connected to driver outputs 5, 6 and 7 (U,V,W), driver 8 for E2
    M667 S1

    ; BLTouch - Heater 7
    M307 H7 A-1 C-1 D-1 ; Disable heater 7 to free up PWM channel 5 on the Duex board.
    ; BLTouch - FAN2 Ch 22
    ;M106 P2 I-1 ; Disable Fan2 Duet to free up PWM channel 22 on the Duet board.

    ; Define the X and Y coordinates of the leadscrews.
    M671 X8:360:162 Y370:370:5 S3

    ; Drives
    M569 P0 S0 ; Drive 0 goes backwards X
    M569 P1 S0 ; Drive 1 goes backwards Y
    M569 P3 S0 ; Drive 3 goes backwards E0 (E1)
    M569 P4 S0 ; Drive 4 goes backwards E1 (E2)
    M569 P5 S0 ; Drive 5 goes backwards Z1/U
    M569 P6 S0 ; Drive 6 goes backwards Z2 V
    M569 P7 S0 ; Drive 7 goes backwards Z3 W
    M569 P8 S0 ; Drive 8 goes backwards E2

    M350 X16 Y16 Z16:16:16 E16:16:16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z800:800:800 E97.24:97.24:97.24 ; Set steps per mm
    M566 X900 Y900 Z20:20:20 E990:990:990 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 Z800:800:800 E1600:1600:1600 ; Set maximum speeds (mm/min)
    M201 X500 Y500 Z400:400:400 E900:900:900 ; Set accelerations (mm/s^2)
    M906 X950 Y950 Z1200:1200:1200 E990:990:990 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X370 Y370 Z430 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y2 S1 ; Set X=low end Y= high end active high endstops

    ; Z-Probe
    M574 Z1 S2 ; Define Z1 to use Probe at low End. Home to Min. S2 = Z probe

    ; Depending on wich connection for BL-Touch is used
    M558 P9 H7 F500 T9000 X0 Y0 Z1 ; Set Z probe type 5 to bltouch (P5 as Betrue3D) and the heater (7) height + speeds (+ B1)
    G31 P25 X+25.7 Y+3 Z 1.471 ; <- <- <- Set Z probe trigger value (1-25, not 500), offset and trigger height (3fach-PH noMixing)
    M557 X45:325 Y25:325 S30 ; Define mesh grid



  • When uniting the Z axis in W, A, and B, the homing is correct, but when joining W, A, and B on a single Z axis, it is when I get the homing error message



  • @adri84dj How have you defined the motors in your config.g? Assuming you use 3 motors and they are on drivers 5,6 and 7 you probably need to use the format M584 Z5:6:7 W5 A6 B7. Actually you only need define two additional axes so M584 Z5:6:7 W6 A7. Then at the start of your home Z you simply use M584 Z5, then you can home Z, W and A independently then map Z back to 5:6:7 at the end of homing.


  • administrators

    @adri84dj said in Multi-axis homed Z error:

    It does all the homing Z process, but at the end it gives the homing Z error message, and the "homing Z" button does not turn blue.

    That's because you have homed axes A, B and W but not Z. I suggest you use one of the following solutions:

    • Create 2 new axes instead of 3, for example, W and A. Then home Z, W and A exactly as you currently home B, A and W.
    • Switch to RRF3 (we are about to release 3.0RC1), then you don't need to create any new axes.
    • Or use just one endstop switch and use the Z probe to do the individual leadscrew adjustment (there is a wiki page about this).


  • @dc42

    Since all three motors (W, A, B) are connected in drivers 5, 6, 7 of the duex5, I would like the limit switches to be connected in the duex5 as well.

    If I make the configuration that you suggest, (Z, W, A), the end of the road associated with Z should be connected to the Z port of Duet 2.

    Is there any way I can connect the three race finals on duex5, without having to switch to RRF3?

    Regards.



  • @adri84dj You can still have Z connected to driver 5 - see my post above.



  • @deckingman said in Multi-axis homed Z error:

    @adri84dj You can still have Z connected to driver 5 - see my post above.

    hello, and this is how I have it now, but the end of the race I have to connect to duet 2 to port Z


Log in to reply