rodw wrote: There are two ways you can automatically gather data in Linuxcnc ... The other way which is probably more useful for calibration is to save probe data into a file from within gcode.
That was the aim of my automatic leadscrew characterization project which was reported in
Possible error in logic of LinuxCNC homing with leadscrew compensation
. That report includes the G-code I produced to log leadscrew non-linearity data to a log file. I processed the logged data with some other scripts to turn it into proper charts with gnuplot, generating something like the calibration metrology report you would get from the manufacturer when buying a new precision ballscrew.
The charting was successful. Then I applied more scripts to generate compensation files for LinuxCNC, activated LinuxCNC compensation, and demonstrated that the basic idea works. I was able to refine some truly sloppy leadscrews into +/- 0.0005in open-loop repeatability.
This led to the disappointing conclusion that there are many other mechanical weakest-link factors that spoil the repeatability from holding up over time. The first factor is the need for extremely precise-repeatable closed-loop adaptive homing at start-up, which LinuxCNC is not yet plainly capable. I did manage to customize LinuxCNC to get sub-thou homing on start-ups. Then I found the other mechanical factors that frustrate long-term repeatability, even if you solve the homing and compensation functions perfectly.
I abandoned the open-loop compensation project and have developed the closed-loop adaptive-positioning method in run-time G-code, which actually works. The catch to that success is that the loop is closed in G-code, which means the logic has to be implemented in the CAM generation of G-code. Compensation (or adaptive positioning) is necessarily path-dependent due to never-zero backlash, and this is impossible to plan in CNC, it *must* be provisioned and solved in CAM where the path logistic and part geometry are knowable. So I spent another month implementing a proper CAM tool incorporating that adaptive run-time intelligence. It does work splendidly, positioning to the precision of the DRO scales via sloppy leadscrews. With homing and positioning solved to +/- 5 microns, I found what I hope is the last weakest-link devil-detail, which is automatic tool calibration. Everthing there is a factor: tools, toolholders, quick-change posts, fixtures. That's a lot of links in a weakest-link regime.