Z offset changed after G31 use.
Posted: Mon Mar 04, 2024 11:12 am
Hi, I am having problems with my Z offset changing (Incrementing) following use of the G31 straight probe command.
Whenever my GCode call G31 I find that the measurements recorded are incorrect and my Z offset has incremented to a diffrent position. Over multiple G31 calls this turns into significant errors in the Z offset.
I have been using G31 to probe predetermined multiple X/Y positions over my work surfaces, taking the surface height measurements to offset/correct Gcode for cutting PCB's, Engraving etc.
I obviously need very shallow cuts for these types of operations so surface levelling is very important. However I am finding that I get incrementing errors in the stored
measurements and, on the code ending, I am left with a changed Z offset that matches the (final) probe measurement.
To show the effect I have run some G31 test code repeatedly at one X/Y position ... file testblock_probe_only.ngc attached.
The results of this are shown in file testblock_probed1.ngc attached.
The starting X/Y/Z offsets were all at zero and there were no other offsets applied.
The results file should show repeated measurements of X0.000 Y0.000 Z0.000 but it does not.
Instead I get a gradually incrementing value measured.
Also, on completion my Z offset has moved to match the final measured value in the test result. file.
To prove that my hardware is not missing or adding steps I placed a dial gauge on my Z axis and it shows that my axis movements are exactly as would be expected.
Any suggestions greatly appreciated.
Whenever my GCode call G31 I find that the measurements recorded are incorrect and my Z offset has incremented to a diffrent position. Over multiple G31 calls this turns into significant errors in the Z offset.
I have been using G31 to probe predetermined multiple X/Y positions over my work surfaces, taking the surface height measurements to offset/correct Gcode for cutting PCB's, Engraving etc.
I obviously need very shallow cuts for these types of operations so surface levelling is very important. However I am finding that I get incrementing errors in the stored
measurements and, on the code ending, I am left with a changed Z offset that matches the (final) probe measurement.
To show the effect I have run some G31 test code repeatedly at one X/Y position ... file testblock_probe_only.ngc attached.
The results of this are shown in file testblock_probed1.ngc attached.
The starting X/Y/Z offsets were all at zero and there were no other offsets applied.
The results file should show repeated measurements of X0.000 Y0.000 Z0.000 but it does not.
Instead I get a gradually incrementing value measured.
Also, on completion my Z offset has moved to match the final measured value in the test result. file.
To prove that my hardware is not missing or adding steps I placed a dial gauge on my Z axis and it shows that my axis movements are exactly as would be expected.
Any suggestions greatly appreciated.