Probe tripped during non-probe move

More
22 May 2025 15:20 #328920 by mc_cubus
Probe tripped during non-probe move was created by mc_cubus
Hi everyone,
I am pretty new to LinuxCNC and currently working on a setup where a light distance sensor is mounted on a XYZ stage. My goal is to approach an object along z-axis until the sensor reading enters a defined window (26 – 27 mm) and then scan the object along the x-axis, stopping the moment the sensor reading exits that same window.

My current approach was to use probe mechanism with G.38 moves.
The .hal file:
# — threshold generator at 26.5 mm (window center) —
loadrt constant    count=1
addf   constant.0  servo-thread
setp   constant.0.value    26.5
# — “near” comparator: output HIGH when |sensor-mm – 26.5| ≤ 0.5 —
loadrt near        count=1
addf   near.0      servo-thread
setp   near.0.difference  0.5
# — feed the threshold and the actual distance into near.0 —
net ref-26p5      constant.0.out  near.0.in1
net sensor-mm     scale.0.out     near.0.in2
# map the “in-window” bit to the probe input
net in-window  near.0.out  motion.probe-input

The G-code:
(Move to initial coordinates before probing)
G21
G90
G1 X357 Y31 Z-118 F4800
(Z-approach – stops instantly on entering 26…27 mm)
F600
G38.3 Z-190 F600   ; probe toward, stop on motion.probe-input=1 (no error)
(Dwell 1 s)
G4 P1
(X-scan – stops instantly on exiting 26…27 mm)
F600
G38.5 X300 F600   ; probe away, stop on motion.probe-input=0 (error)
M2             

When running the G-code, the probing along Z-axis works just fine and the movement stops the moment we enter the window. When probing along X-Axis starts, it moves for just a tiny bit (~0.2s) and then throws an error: Probe tripped during non-probe move.

The motion.motion-type has value 5 (which is Probing) during both G38 movements, so I don't know where the error comes from.

I'd greatly appreciate any insights into this issue!
Thanks in advance.

Please Log in or Create an account to join the conversation.

More
23 May 2025 19:25 #329003 by andypugh
Replied by andypugh on topic Probe tripped during non-probe move
You are right, this does seem odd.

It might help to log the motion type and the probe input in Halscope, to see if there is some dither in the probe input. Is the stated 0.2s enough time for the target to leave the sense area?

If a couple of ms delay is acceptable then you could potentially add a software debounce to the probe input signal, if noise on the input is the problem.

Please Log in or Create an account to join the conversation.

More
26 May 2025 17:46 - 26 May 2025 17:48 #329173 by npostma
Replied by npostma on topic Probe tripped during non-probe move
Hi,
I ran into this exact issue today as well while porting my routines to a new Mesa card setup. My typical workflow is:
  • Move down quickly until probe touch
  • Move up a bit
  • Move down slowly for precise touch
There seem to be two common causes for the "probe triggered during non-probe move" error:
  1. Speed-related signal bounce:
    Moving too fast (or sometimes too slow) can cause vibrations, which may result in the probe signal bouncing. This bounce can trigger the probe input at unexpected times.
  2. Not moving up far enough after the first probe:
    If you only move up 1mm after the first touch, the tool might not fully clear the touch plate, especially if there is any residual flex, springiness, or electrical noise. In my case, increasing the retraction distance to 3mm after the first touch, and making sure the upward move was at a reasonable speed, completely solved the problem.
Summary of what helped in my setup:
  • After the first probe touch, retract upwards by at least 3mm (instead of just 1mm)
  • Ensure the retract move is at a moderate speed (not too slow, not too fast)
  • Double-check wiring and mechanical play to minimize vibration
Hope this helps someone else with a similar setup! My routine before i do a touch-off:

O <touchplate_delicate> sub

#1 = 20        (touch plate dikte in mm)
#2 = -110      (Z-min limiet, uit .ini file)
#3 = [abs[#2] - #1]  (max travel distance)

G91            (relatieve coördinaten)
G21            (millimeters)

G38.2 Z-#3 F250   (probe snel naar beneden, tot plaat geraakt wordt)
G1 Z2 F250        (2 mm omhoog na contact, los van de plaat)
G38.2 Z-3 F50     (langzaam naar beneden, precieze touch)
G1 Z3 F100        (3 mm omhoog, zeker los van de plaat)

G90            (terug naar absolute coördinaten)

O <touchplate_delicate> endsub
M2
Last edit: 26 May 2025 17:48 by npostma.

Please Log in or Create an account to join the conversation.

Time to create page: 0.062 seconds
Powered by Kunena Forum