Issue with Klicky probe and independant z-Axis
-
I got my klicky probe working. It picks up fine and retracts it after use.
I can do a homing, it homes X, Y, then goes to the middle of the bed, goes to the pickup location of the Klicky, picks it up, moved back to the middle of the bed, then probes Z, goes to Klicky retract position, retracts it, and then moves in the front of the Klicky pickup position and waits there.BUT if I want to use it for independent Z-axis, i does homing first (G28), then DROPS off/RETRACTS the Klicky, picks it up again, and then stops. This RETRACT seems to confuse the following G30 command with error: "Error probe not attached - aborting", where as it already is attached again, but maybe too late.
Anything I can do about it? Like stopping G28 from retracting the probe after it's done probing Z in the middle of the bed?
G28 ; home ; while true G30 P0 X20 Y135 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X235 Y135 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors if abs(move.calibration.initial.deviation) < 0.01 || iterations > 3 break
M584 X0 Y1 Z2:4 E3 ; set drive mapping Dual Z-Axis M671 X-40:290 Y135:135 S4 ;Set the Z motor relative locations
Manually running the two G30 command from the console works fine.
-
-
@DIY-O-Sphere said in Issue with Klicky probe and independant z-Axis:
@izeman
https://forum.duet3d.com/topic/33529/euclid-probe-unnecessary-dockingThanks @DIY-O-Sphere. So this says that, if my bed.g should look like this, and it will work?
M401 ; deploy probe M561 ; cancels any bed-plane fitting G28 ; home while true G30 P0 X20 Y135 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X235 Y135 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors if abs(move.calibration.initial.deviation) < 0.01 || iterations > 3 break M402 ; retract probe
And then it will start by picking up the probe by M401, NOTE/REMEMBER that during the whole macro, until it's put back manually by M402 again?!
I post this here for documentation issues, as I hate forum posts that have been solved, but the OP forgot to post the final solution
-
@izeman said in Issue with Klicky probe and independant z-Axis:
And then it will start by picking up the probe by M401, NOTE/REMEMBER that during the whole macro, until it's put back manually by M402 again?!
Yes, that's how it should work. RRF maintains a count how many times the probe was asked to be deployed, either explicitly by M401 or implicitly by G30. When it is asked to retract the probe it decrements that count, and only does the retraction if the count has reached zero.
-
@dc42 said in Issue with Klicky probe and independant z-Axis:
@izeman said in Issue with Klicky probe and independant z-Axis:
And then it will start by picking up the probe by M401, NOTE/REMEMBER that during the whole macro, until it's put back manually by M402 again?!
Yes, that's how it should work. RRF maintains a count how many times the probe was asked to be deployed, either explicitly by M401 or implicitly by G30. When it is asked to retract the probe it decrements that count, and only does the retraction if the count has reached zero.
Tested it now back home. As you said: it SHOULD work that way. Unfortunately it doesn't. Calling G32 with the Klicky already attached it does work.
Calling it with Klicky DETACHED (the default situation), then it DEPLOYS the probe, and stops with the message
G32 Error probe not attached - aborting
Even though it IS ATTACHED when it send that message.
It seems RRF does NOT know all the time if the probe is attached?! Does it RESET the attached/detached state by itself if it detaches the probe by itself? Or do I always need to have M401 be followed by M402?
-
I'm trying to track down the issue, by calling G28, G32, M40[12] etc in all different combinations, and it seems there is something wrong with M40[12].
The probe is not attached, and I call M401. It picks up the probe, Z-Probe shows 0 in the webfrontend, but still the scripts spits out:
M401 Error probe not attached - aborting
after it has picked up the probe, and z-Probe clearly IS ZERO.
This is my deployprobe.g
; The deploy command for Z when using a dockable probe M564 H0 S0 if sensors.probes[0].value[0] != 0 var originX = {move.axes[0].userPosition} ; Store the X position before grabbing the probe. var originY = {move.axes[1].userPosition} ; Store the Y position before grabbing the probe. G1 X6.500 Y193.000 F999999 ; Move tool in front of dock G1 X6.500 Y243.000 F999999 ; Move tool in position where probe is mounted G1 X6.500 Y193.000 F999999 ; Move tool in front of dock if var.originX > 6.500 || var.originY > 193.000 ; Move the toolhead back to the position we came from G1 X{var.originX} Y{var.originY} F999999 M400 if sensors.probes[0].value[0] != 0 abort "Error probe not attached - aborting"
Do I maybe need some delay in the script?
EDIT: If I remove these the last two lines from the script (the ones checking for senors.probe.value unequal 0, then everything works.
-
@izeman yeah, add a G4 P200 before the final check to allow the IO to refresh.