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 positioningM584 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 stopG1 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 stopG1 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 stopG1 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 E2M350 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.
-
@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).
-
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