- User Interfaces
- Qtvcp
- QtDragon M6 Remap Tool Measurement - Inconsistent/Wrong Offsets with VersaProbe
QtDragon M6 Remap Tool Measurement - Inconsistent/Wrong Offsets with VersaProbe
- melayate
- Offline
- New Member
-
Less
More
- Posts: 8
- Thank you received: 2
24 Nov 2025 07:24 #339120
by melayate
QtDragon M6 Remap Tool Measurement - Inconsistent/Wrong Offsets with VersaProbe was created by melayate
I’m setting up automatic tool measurement on a 6-axis CNC mill using QtDragon with VersaProbe and running into calculation errors. The M6 remap executes successfully but produces incorrect/inconsistent tool offsets.
Machine Configuration:
• LinuxCNC 2.9.7
• GUI: QtDragon 1.4
• Interface: Mesa 7i96s Ethernet
• Axes: 6-axis (dual X gantry: X1, X2, Y, Z, A, B rotary)
• Tool change: Manual (no ATC)
• Fixed tool setter at machine coordinates X=397, Y=680, Z=-100mm
• Touch plate height: 41.54mm
• Actual physical tool length difference: ~22mm
What Works:
✓ M6 remap executes without hanging
✓ Machine moves to tool setter position correctly
✓ Probe successfully touches tool setter
✓ Returns to safe position
✓ tool-prepare-loopback HAL connection working
The Problem:
Tool offsets in the tool table are completely wrong and inconsistent:
Test Run 1:
• Tool 1: -29.113mm
• Tool 2: -7.077mm
• Difference: 22mm ✓ (correct!)
Test Run 2 (same tools, same setup):
• Tool 1: 0.070mm
• Tool 2: -22.105mm
• Difference: 22mm ✓ (correct!)
The relative difference is consistently correct (22mm), but the absolute values shift by 30-50mm between runs. Sometimes offsets are even positive when they should be negative.
My Workflow:
1. Home all axes
2. Clear all tool offsets (set Z to 0.0)
3. Jog tool to table surface, run G10 L20 P1 Z0 (set G54 Z=0)
4. Run T1 M6 - measures Tool 1
5. Run T2 M6 - measures Tool 2
6. Check tool table - offsets are wrongQuestions:
1. Should I be using G10 L1 (absolute) or G10 L10 (relative) for tool offset?
2. Is capturing #5420 before switching to G91 the correct way to get machine Z position?
3. After probing in G91 mode, is #5063 the incremental distance traveled, or does it contain machine coordinates?
4. Should the calculation be:
• probe_machine_z - probe_height (current), or
• tool_setter_Z - probe_machine_z + probe_height, or
• Something else entirely?
1. I’ve read that some people use Tool 99 as a reference probe - is that required, or should direct tool measurement work?
Related threads I’ve studied:
• forum.linuxcnc.org/40-subroutines-and-ngcgui/52490-remap-m6-tool-setter
• forum.linuxcnc.org/qtvcp/51138-qtdragonhd-tool-sensor-help-for-a-maker-space
Any help would be greatly appreciated! I can provide additional config files or testing results if needed.
5_axis.ini (VersaProbe section):
[VERSA_TOOLSETTER]
X = 397.000
Y = 680.000
Z = -100
Z_MAX_CLEAR = -50
MAXPROBE = 80
custom_postgui.hal:
net probe-in => qtdragon.led-probe
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-prep-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
qt_auto_probe_tool.ngc (key sections):
# Line 54: Clear offset before measurement
G10 L1 P#<tool> Z0
# Lines 56-57: Move to tool setter
G53 G0 X[#<_ini[VERSA_TOOLSETTER]X>] Y[#<_ini[VERSA_TOOLSETTER]Y>]
G53 G0 Z[#<_ini[VERSA_TOOLSETTER]Z>]
# Line 61: Capture starting Z (attempted fix)
#<start_machine_z> = #5420
# Line 63: Switch to incremental mode
G91
# Lines 64-71: First probe (fast)
G38.3 Z- #<_ini[VERSA_TOOLSETTER]MAXPROBE>
G0 Z #<_hal[qtversaprobe.backoffdist]>
# Lines 75-78: Second probe (slow)
G38.3 Z- [#<_hal[qtversaprobe.backoffdist]> *1.2]
# Lines 79-80: Calculate machine Z position
#<probe_distance> = #5063
#<probe_machine_z> = [#<start_machine_z> + #<probe_distance>]
# Line 82: Return to absolute mode
G90
# Line 88: Set tool offset (THIS IS WHERE THE PROBLEM IS)
G10 L1 P#<tool> Z[#<probe_machine_z> - #<_hal[qtversaprobe.probeheight]> + #<_hal[qtversaprobe.blockheight]>]
Machine Configuration:
• LinuxCNC 2.9.7
• GUI: QtDragon 1.4
• Interface: Mesa 7i96s Ethernet
• Axes: 6-axis (dual X gantry: X1, X2, Y, Z, A, B rotary)
• Tool change: Manual (no ATC)
• Fixed tool setter at machine coordinates X=397, Y=680, Z=-100mm
• Touch plate height: 41.54mm
• Actual physical tool length difference: ~22mm
What Works:
✓ M6 remap executes without hanging
✓ Machine moves to tool setter position correctly
✓ Probe successfully touches tool setter
✓ Returns to safe position
✓ tool-prepare-loopback HAL connection working
The Problem:
Tool offsets in the tool table are completely wrong and inconsistent:
Test Run 1:
• Tool 1: -29.113mm
• Tool 2: -7.077mm
• Difference: 22mm ✓ (correct!)
Test Run 2 (same tools, same setup):
• Tool 1: 0.070mm
• Tool 2: -22.105mm
• Difference: 22mm ✓ (correct!)
The relative difference is consistently correct (22mm), but the absolute values shift by 30-50mm between runs. Sometimes offsets are even positive when they should be negative.
My Workflow:
1. Home all axes
2. Clear all tool offsets (set Z to 0.0)
3. Jog tool to table surface, run G10 L20 P1 Z0 (set G54 Z=0)
4. Run T1 M6 - measures Tool 1
5. Run T2 M6 - measures Tool 2
6. Check tool table - offsets are wrongQuestions:
1. Should I be using G10 L1 (absolute) or G10 L10 (relative) for tool offset?
2. Is capturing #5420 before switching to G91 the correct way to get machine Z position?
3. After probing in G91 mode, is #5063 the incremental distance traveled, or does it contain machine coordinates?
4. Should the calculation be:
• probe_machine_z - probe_height (current), or
• tool_setter_Z - probe_machine_z + probe_height, or
• Something else entirely?
1. I’ve read that some people use Tool 99 as a reference probe - is that required, or should direct tool measurement work?
Related threads I’ve studied:
• forum.linuxcnc.org/40-subroutines-and-ngcgui/52490-remap-m6-tool-setter
• forum.linuxcnc.org/qtvcp/51138-qtdragonhd-tool-sensor-help-for-a-maker-space
Any help would be greatly appreciated! I can provide additional config files or testing results if needed.
5_axis.ini (VersaProbe section):
[VERSA_TOOLSETTER]
X = 397.000
Y = 680.000
Z = -100
Z_MAX_CLEAR = -50
MAXPROBE = 80
custom_postgui.hal:
net probe-in => qtdragon.led-probe
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-prep-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
qt_auto_probe_tool.ngc (key sections):
# Line 54: Clear offset before measurement
G10 L1 P#<tool> Z0
# Lines 56-57: Move to tool setter
G53 G0 X[#<_ini[VERSA_TOOLSETTER]X>] Y[#<_ini[VERSA_TOOLSETTER]Y>]
G53 G0 Z[#<_ini[VERSA_TOOLSETTER]Z>]
# Line 61: Capture starting Z (attempted fix)
#<start_machine_z> = #5420
# Line 63: Switch to incremental mode
G91
# Lines 64-71: First probe (fast)
G38.3 Z- #<_ini[VERSA_TOOLSETTER]MAXPROBE>
G0 Z #<_hal[qtversaprobe.backoffdist]>
# Lines 75-78: Second probe (slow)
G38.3 Z- [#<_hal[qtversaprobe.backoffdist]> *1.2]
# Lines 79-80: Calculate machine Z position
#<probe_distance> = #5063
#<probe_machine_z> = [#<start_machine_z> + #<probe_distance>]
# Line 82: Return to absolute mode
G90
# Line 88: Set tool offset (THIS IS WHERE THE PROBLEM IS)
G10 L1 P#<tool> Z[#<probe_machine_z> - #<_hal[qtversaprobe.probeheight]> + #<_hal[qtversaprobe.blockheight]>]
Please Log in or Create an account to join the conversation.
- melayate
- Offline
- New Member
-
Less
More
- Posts: 8
- Thank you received: 2
24 Nov 2025 19:15 #339167
by melayate
Replied by melayate on topic QtDragon M6 Remap Tool Measurement - Inconsistent/Wrong Offsets with VersaProbe
So sorry that meant around 22mm
Please Log in or Create an account to join the conversation.
- melayate
- Offline
- New Member
-
Less
More
- Posts: 8
- Thank you received: 2
24 Nov 2025 20:03 - 24 Nov 2025 21:00 #339171
by melayate
Replied by melayate on topic QtDragon M6 Remap Tool Measurement - Inconsistent/Wrong Offsets with VersaProbe
attached are my config files. I have been trying for over a week to get the remap to work, I don't know what am I doing wrong. thank you!
Last edit: 24 Nov 2025 21:00 by melayate.
Please Log in or Create an account to join the conversation.
- Thllll
- Offline
- Junior Member
-
Less
More
- Posts: 22
- Thank you received: 2
01 Jan 2026 02:55 #340822
by Thllll
Replied by Thllll on topic QtDragon M6 Remap Tool Measurement - Inconsistent/Wrong Offsets with VersaProbe
Same thing happening to me, nearly the same setup too, did you ever find a solution?
Please Log in or Create an account to join the conversation.
- Sneaky
-
- Away
- New Member
-
Less
More
- Posts: 17
- Thank you received: 3
18 Jul 2026 07:48 #347822
by Sneaky
Replied by Sneaky on topic QtDragon M6 Remap Tool Measurement - Inconsistent/Wrong Offsets with VersaProbe
Only because I have been having strange issues.......
I notice at the end of your .ini file you have [PROBE]
USE_PROBE = basicprobe
Yet in the first post you say you are using Versaprobe.
I believe (without checking the destructions) that you "should" change that line from basicprobe to versaprobe, have you tried this?
Replying as much to help myself as you
I notice at the end of your .ini file you have [PROBE]
USE_PROBE = basicprobe
Yet in the first post you say you are using Versaprobe.
I believe (without checking the destructions) that you "should" change that line from basicprobe to versaprobe, have you tried this?
Replying as much to help myself as you
Please Log in or Create an account to join the conversation.
Moderators: cmorley
- User Interfaces
- Qtvcp
- QtDragon M6 Remap Tool Measurement - Inconsistent/Wrong Offsets with VersaProbe
Time to create page: 0.214 seconds