COREXY Homing issues
-
Hello everybody,
I am currently setting RRF 3.4 up on my Voron 0.1.
I run into some issues with the axis and homing X and Y:-
When I home X (to max position 120mm), it does the first bump into the endstop, goes back 5mm then ram the endstop and causing a slight movement in -Y. I have to hit "emergency stop", never been able to home this axis.
-
When I home Y (to max position 120mm), the first bump into the endstop is good, then it goes to Y80 while the X axis is moving toward its Lowest position.. It then does bump correctly in the endstop and considering the Homing OK.
Config.g:
General
M550 P"Voron 0.1" ; set hostname; Network
M552 S1 ; configure WiFi adapter
M586 P0 S1 ; configure HTTP
M586 P1 S1 ; configure FTP; Smart Drivers
;M569 P0.0 S1 D2 ; driver 0.0 goes forwards (X axis)
;M569 P0.1 S0 D2 ; driver 0.1 goes forwards (Y axis)
;M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Z axis)
;M569 P0.3 S1 D2 ; driver 0.3 goes forwards (extruder 0)M569 P0.0 S1 D3 V20 ; physical drive 0.0 goes forwards
M569 P0.1 S1 D3 V20 ; physical drive 0.1 goes forwards
M569 P0.2 S1 D3 V20 ; physical drive 0.2 goes forwards
M569 P0.3 S1 D3 V20; Kinematics
M669 K1 ; configure CoreXY kinematics
M667 S1;; Motor Idle Current Reduction
M906 I30 ; set motor current idle factor
M84 S30 ; set motor current idle timeout; Axes
M584 X0.0 Y0.1 Z0.2 ; set axis mapping
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M906 X800 Y800 Z800 ; set axis driver currents
M92 X80 Y80 Z400 ; configure steps per mm
M208 X0:120 Y0:120 Z0:120 ; set minimum and maximum axis limits
M566 X900 Y900 Z25 ; set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z180 ; set maximum speeds (mm/min)
M201 X500 Y500 Z30 ; set accelerations (mm/s^2); Extruders
M584 E0.3 ; set extruder mapping
M350 E16 I1 ; configure microstepping with interpolation
M906 E1000 ; set extruder driver currents
M92 E735 ; configure steps per mm
M566 E120 ; set maximum instantaneous speed changes (mm/min)
M203 E3600 ; set maximum speeds (mm/min)
M201 E250 ; set accelerations (mm/s^2); Probes
;M558 K0 P0 H5 F120 T6000 ; configure manual probe via slot #0
;G31 P500 X0 Y0 Z0.7 ; set Z probe trigger value, offset and trigger height; Endstops
M574 X2 P"io0.in" S1 ; configure X axis endstop
M574 Y2 P"io1.in" S1 ; configure Y axis endstop
M574 Z1 P"io2.in" S1 ; configure Z axis endstop; Mesh Bed Compensation
M557 X25:95 Y25:95 S40:40 ; define grid for mesh bed compensation; Sensors
M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0
M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1; Heaters
M950 H0 C"out0" T0 ; create heater #0
M143 H0 P0 T0 C0 S115 A0 ; configure heater monitor #0 for heater #0
M307 H0 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #0
M950 H1 C"out1" T1 ; create heater #1
M143 H1 P0 T1 C0 S290 A0 ; configure heater monitor #0 for heater #1
M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1; Heated beds
M140 P0 H0 ; configure heated bed #0; Fans
M950 F0 C"out6" ; create fan #0
M106 P0 S0 L0 X1 B0.1 ; configure fan #0
M950 F1 C"out5" ; create fan #1
M106 P1 S0 B0.1 H1 T20 ; configure fan #1
;M950 F2 C"out5" ; create fan #2
;M106 P2 S0 L0 X1 B0.1 ; configure fan #2; Tools
M563 P0 D0 H1 F0 ; create tool #0
M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C; Miscellaneous
M501 ; load saved parameters from non-volatile memoryHomex.g
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2+6 on Fri Feb 23 2024 20:05:47 GMT+0100 (heure normale d’Europe centrale); lift Z
G91 ; relative positioning
G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; home X
var maxTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm
G1 H1 X120 F600 ; coarse home in the -X direction
G1 H2 X-5 F600 ; move back 5mm
G1 H1 X120 F300 ; fine home in the -X direction
G1 H2 Z-5 F6000 ; lower Z againHomey.g
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2+6 on Fri Feb 23 2024 20:05:47 GMT+0100 (heure normale d’Europe centrale); lift Z
G91 ; relative positioning
G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; home Y
var maxTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm
G1 H1 Y120 F600 ; coarse home in the -Y direction
G1 H2 Y-5 F3000 ; move back 5mm
G1 H1 Y120 F500 ; fine home in the -Y direction
G1 H2 Z-5 F6000 ; lower Z againThank you in advance for any help you can provide.
-
-
your homex.gnand homey.g dontatch what you describe, they look like normal homing sequences to me. do you have homeall.g as well? if yes, please share.
If a sudden stop of the X motion jumps your y motion, it's likely a mechanical issue (skewed X gantry or issues with (uneven) belt tension).
-
@oliof
Hi
The homeall only bump the y Axis on its max position until I shutdown the printer.
Here is the Homeall.g; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2+6 on Fri Feb 23 2024 14:10:44 GMT+0100 (heure normale d’Europe centrale); lift Z
G91 ; relative positioning
G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; home XY
var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm
var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm
G91 ; relative positioning
G1 H1 X{var.xTravel} Y{var.yTravel} F600 ; coarse home
G1 H1 X{var.xTravel} F600 ; coarse home in the +X direction
G1 H1 Y{var.yTravel} F600 ; coarse home in the +Y direction
G1 H2 X-5 Y-5 F6000 ; move back 5mm
G1 H1 X{var.xTravel} Y{var.yTravel} F300 ; fine home
G1 H1 X{var.xTravel} F300 ; fine home in the +X direction
G1 H1 Y{var.yTravel} F300 ; fine home in the +Y direction
G90 ; absolute positioning; home Z
var zTravel = move.axes[2].max - move.axes[2].min + 5 ; calculate how far Z can travel plus 5mm
G91 ; relative positioning
G1 H1 Z{-var.zTravel} F600 ; coarse home in the -Z direction
G1 H2 Z5 F6000 ; move back 5mm
G1 H1 Z-10 F300 ; fine home in the -Z direction
G90 ; absolute positioningBelts Tensions are very similar,
Skew is around '0.9%) EDIT 0.9° according to various skew tests done this week with marlin -
I have solved my issue
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2+6 on Fri Feb 23 2024 20:05:47 GMT+0100 (heure normale d’Europe centrale); lift Z
G91 ; relative positioning
G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; home X
G91
var maxTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm
G1 H1 X{var.maxTravel} F600 ; coarse home in the +X direction
G1 H1 X-5 F6000 ; move back 5mm
G1 H1 X{var.maxTravel} F300 ; fine home in the +X direction
; relative positioning
G1 H2 Z-5 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning ; lower Z again; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2+6 on Fri Feb 23 2024 20:05:47 GMT+0100 (heure normale d’Europe centrale); lift Z
G91 ; relative positioning
G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; home Y
var maxTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm
G1 H1 Y{var.maxTravel} F600 ; coarse home in the +Y direction
G1 H1 Y-5 F3000 ; move back 5mm
G1 H1 Y{var.maxTravel} F500 ; fine home in the +Y direction
G91 ; relative positioning
G1 H1 Z-5 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; Configuration file for RepRapFirmware on Duet 3 Mini 5+ WiFi
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2+6 on Fri Feb 23 2024 14:10:43 GMT+0100 (heure normale d’Europe centrale); General
M550 P"Voron 0.1" ; set hostname; Network
M552 S1 ; configure WiFi adapter
M586 P0 S1 ; configure HTTP
M586 P1 S1 ; configure FTP; Smart Drivers
;M569 P0.0 S1 D2 ; driver 0.0 goes forwards (X axis)
;M569 P0.1 S0 D2 ; driver 0.1 goes forwards (Y axis)
;M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Z axis)
;M569 P0.3 S1 D2 ; driver 0.3 goes forwards (extruder 0)M569 P0.0 S0 D3 V20 ; physical drive 0.0 goes forwards
M569 P0.1 S0 D3 V20 ; physical drive 0.1 goes forwards
M569 P0.2 S1 D3 V20 ; physical drive 0.2 goes forwards
M569 P0.3 S1 D3 V20; Kinematics
M669 K1 ; configure CoreXY kinematics
M667 S1;; Motor Idle Current Reduction
M906 I30 ; set motor current idle factor
M84 S30 ; set motor current idle timeout; Axes
M584 X0.1 Y0.0 Z0.2 ; set axis mapping
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M906 X800 Y800 Z800 ; set axis driver currents
M92 X80 Y80 Z400 ; configure steps per mm
M208 X0:120 Y0:120 Z0:120 ; set minimum and maximum axis limits
M566 X900 Y900 Z25 ; set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z180 ; set maximum speeds (mm/min)
M201 X500 Y500 Z30 ; set accelerations (mm/s^2); Extruders
M584 E0.3 ; set extruder mapping
M350 E16 I1 ; configure microstepping with interpolation
M906 E1000 ; set extruder driver currents
M92 E735 ; configure steps per mm
M566 E120 ; set maximum instantaneous speed changes (mm/min)
M203 E3600 ; set maximum speeds (mm/min)
M201 E250 ; set accelerations (mm/s^2); Probes
;M558 K0 P0 H5 F120 T6000 ; configure manual probe via slot #0
;G31 P500 X0 Y0 Z0.7 ; set Z probe trigger value, offset and trigger height; Endstops
M574 X2 P"io0.in" S1 ; configure X axis endstop
M574 Y2 P"io1.in" S1 ; configure Y axis endstop
M574 Z1 P"io2.in" S1 ; configure Z axis endstop; Mesh Bed Compensation
M557 X25:95 Y25:95 S40:40 ; define grid for mesh bed compensation; Sensors
M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0
M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1; Heaters
M950 H0 C"out0" T0 ; create heater #0
M143 H0 P0 T0 C0 S115 A0 ; configure heater monitor #0 for heater #0
M307 H0 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #0
M950 H1 C"out1" T1 ; create heater #1
M143 H1 P0 T1 C0 S290 A0 ; configure heater monitor #0 for heater #1
M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1; Heated beds
M140 P0 H0 ; configure heated bed #0; Fans
M950 F0 C"out6" ; create fan #0
M106 P0 S0 L0 X1 B0.1 ; configure fan #0
M950 F1 C"out5" ; create fan #1
M106 P1 S0 B0.1 H1 T20 ; configure fan #1
;M950 F2 C"out5" ; create fan #2
;M106 P2 S0 L0 X1 B0.1 ; configure fan #2; Tools
M563 P0 D0 H1 F0 ; create tool #0
M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C; Miscellaneous
M501 ; load saved parameters from non-volatile memory -
@Pierrelito said in COREXY Homing issues:
G1 H1 X-5 F6000 ; move back 5mm
Don't use H1 on your back off move. The H1 means to move until an endstop switch is triggered. Just leave the H off entirely, or use H0 if you want to be specific.
-
@Pierrelito I'd also avoid the use of
G1 H2 X-5 Y-5 F6000 ; move back 5mm
as well at that point your axis is homed so you can just use a normal (H0) move to back away from the endstop. H2 means use an individual motor move, which I'm not sure you want with a corexy printer.