Servo Z-Probe - Unable to retract because still in contact with bed after beeing triggered

Basic Information:

Printer Model: Fabtotum
MCU / Printerboard: RAMPS like “Totumduino”
Host / SBC: Raspberry Pi 3B
klippy.log
klippy(1).log (2.2 MB)

Describe your issue:

I successfully implemented control for a servo controlled Z-Probe installed in the X-carriage. It is basically a needle with one end attached to the servo. By successful I mean I am able to manually retract and extend the probe to the desired angle. The endstop is triggering upon contact.

However, when probing for example using PROBE command or PROBE_CALIBRATE command the bed and probe are still in contact when the probe is triggered. So the servo is not able to retract the probe. I would expect the head to lift a small amount for the probe to be freely movable.

I tried to lift the head a small amount within the probe end-gcode. But this way i get an error when probing with PROBE_CALIBRATE stating something like “Z axis moved before probe end”.

I looked at the probe sample config.
I scanned through the documentation reference.

Being aware that this type of probe is quite primitive, I can’t believe there is no clean solution for that. Any suggestions from the community?

Hello @groomit !

Any chance you could attach the klippy.log to your next post?

Sure thing, here you go.
Did not have physical access to the printer to turn it on and download
klippy(1).log (2.2 MB)
upon posting.

Not sure that I fully understand but sounds a bit like BTT’s MicroProbe. The relevant settings are:

[output_pin probe_enable]
pin: P2.0
value: 0

[gcode_macro Probe_Deploy]
gcode:
    SET_PIN PIN=probe_enable VALUE=1

[gcode_macro Probe_Stow]
gcode:
    SET_PIN PIN=probe_enable VALUE=0

[probe]
pin: !P1.27
deactivate_on_each_sample: False
...
activate_gcode:
    Probe_Deploy
    G4 P500 # Allow 500 milliseconds for the probe to deploy
deactivate_gcode:
    Probe_Stow

Thanks for your reply. Not quite the same. The BTT, like the BLTouch has a linear motion.
On my Setup there is a servo inside the carriage that that moves a needle probe from 0° (retracted) to 90° (extended). It’s a rotating movement. Think of it like one leg of a scissor.

So in order to retract, the probe needs to be rotated back to its 0° position. Because the bed is still touching the probe, the servo is not able to move it.

I wasn’t very clear, sorry: I’m not referring to the motion but to the process flow of the probing.

Klipper by default has a sample_retract_dist of 2 mm, so it should backoff after each probe trigger. It is not clear, why it does not do it in your case.
Does setting deactivate_on_each_sample: false change anything?

I wasn’t very clear, sorry: I’m not referring to the motion but to the process flow of the probing.

Ah I see.
Unfortunately it does not change anything.
z-homing - probe stuck to bed

Are you sure you are getting a trigger signal?

Yes I’m sure. You can see that the bed triggers the probe, then backs off and approaches the probe slower again. Standard homing procedure.
Query_probe returns triggered, when the probe is pushed.

Sorry, no further idea.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.