Something thing I’ve found in testing is that I cant rely on the results of PROBE_ACCURACY
at these small scales.
This is a plot of the absolute Z values of a batch of 50 probes:
There is a very clear upward trend line there. The range
is still very small, around 3 microns. But both the range
and the standard deviation
metrics that PROBE_ACCURACY
reports make the underlying assumption that everything about the machine is static. I.e. no thermal expansion, no hysteresis etc. That there is 1 true constant z value for all probes. What I’m seeing tells me this isn’t the case.
So I have an alternate metric I’d like to propose, based on the idea that we don’t actually probe in the same spot 50 times. What we really want to do is probe in 1 spot until we have a good enough idea of the z value there. Really what we want to know is: if I took 1 more probe how different would it be from the last one?
Probes taken close together in time should be consistent. So I take the delta between each pair of probes and average them. I’m calling it average delta
. For the above plot this value is about 0.6 microns. This tells you how your probe performs in a way that range
and standard deviation
are trying to get at but they can be put off by other stuff happening in the printer.
e.g. lets say I do something intentionally bad and kick the heater on and immediately start PROBE_ACCURACY
:
// probe accuracy results: maximum -0.083073, minimum -0.113505,
range 0.030431, average -0.098200, median -0.097071,
standard deviation 0.009945, average delta: 0.003381
This says that we have a probe with a range
of 30 microns and a standard deviation
of 10 microns which is usually bad. But average delta
is only 3 microns indicating something in the printer was moving around.
When standard deviation
and average delta
are close it means that the machine was relatively stable:
// probe accuracy results: maximum -0.118461, minimum -0.120276,
range 0.001815, average -0.119642, median -0.119738,
standard deviation 0.000512, average delta: 0.000569