probe edge with z probe -- preliminary solution & question
-
Hi ~,
as you may remember, I inquired recently about using the z probe to detect bed edges because I don't have a good way to install endstops on this machine and sensorless homing works only so-so on X but works well on Y.Some interesting observations while working on this:
- I really get an error from RRF when I try to probe the bed before X and Y are homed, hence I need to set X and Y to homed using G92.
M654 H0
is not sufficient (I'll eventually figure out how to home X reliably, but util then I cheat, see below). - using the z probe this way, the X offset of the probe is ignored (this is because it's not needed on the Ormerod this feature was invented for, where the X trigger is integrated in the Z arm fixture at the right offset).
- Trying to apply axis offsets using
G10 L1 X-30
fixes the reported position, but I can't move beyond the edge of the bed (because the machine still knows that's where the endstop is).
So my question is: With an endstop triggering 30mm "early", is there a way to not use G92 to set the position and still get the right positions AND full axis movement?
here is my axis, endstop, and probe definition from
config.g
:; Axis Limits M208 X-90 Y-90 Z0 S1 ; set axis minima M208 X90 Y90 Z200 S0 ; set axis maxima ; Endstops M574 X2 S3 ; configure sensorless endstop for high end on X M574 Y2 S3 ; configure sensorless endstop for high end on Y M574 Z1 S2 ; configure Z-probe endstop f or low end on Z ; Z-Probe M558 P5 C"!^e0stop" H5 F300 T6000 ; set Z probe type to switch and the dive height + speeds G31 P500 X-30 Y-15 Z2.805 ; set Z probe trigger value, offset and trigger height M557 X-85:59 Y-85:70 P5 ; define mesh grid
For testing, without touching the actual home*.g files, I wrote the folloing macro
homexwithzprobe
. Says what it does on the tin.; -- lie about print head location so I can probe Z ; -- dangerous! G92 X0 Y0 ; -- probe bed. If we can't, something is amiss. G30 if not move.axes[2].homed abort ; -- wait a hot second G4 S1 ; -- invert z probe compared to normal bed probing operations M558 P5 C"^e0stop" H5 F300 T6000 ; -- wait a hot second G4 S1 ; -- configure X to have z probe as endstop on the low end M574 X1 S2 ; -- absolute moves G90 ; -- go to low z value G0 Z1 ; -- relative moves G91 ; -- home towards low edge of the X bed G1 H1 X-200 F3000 G4 S1 ; -- move a bit onto the bed again G1 X10 F3000 ; -- re-home slowly G1 H1 X-200 F300 ; -- wait a hot second G4 S1 ; -- z probe X offset not applied, force position G92 X-60 ; -- re-set z probe to normal mode M558 P5 C"!^e0stop" H5 F300 T6000 G31 P500 X-30 Y-15 Z2.805 ; -- absolute mode G90 ; -- move to center of bed G0 X0 Z10 F1200 ; -- re-home Z for good measure G30
- I really get an error from RRF when I try to probe the bed before X and Y are homed, hence I need to set X and Y to homed using G92.