Z Probe Configuration Tuning

The Neptune 4 Series of printers is equipped with a inductive sensor probe which can measure the position of the print head from the bed plate. Since it's and inductive probe it requires the metal bed plate to provide the inductance for the probe to sense. It's used for setting to set virtual z endstop, and if the plate isn't installed when the probe goes to home and set this position it will drive down into and gouge the magnetic bed material that fixes the build plate, so be sure it's always in place.

The probe is capable of measuring sub-micron distances and is also used to map the bed to map a bed mesh, and can be used to measure the distance the nozzle is from the plate, so it can also tell us if the bed is level, and more.

Normally the probe takes a number of readings and the choses the median value of the samples to determine the final product of the probed distance with the thinking that if you probe enough times you'd approach the actual distance through interpolation. However each addition probe reading takes time.

Both the klipper and Elegoo defaults allow for far more error tolerance than is respectable and it's configuration can be configured to produce better results, faster and with more accuracy using fewer probe readings.

We can improve probe accuracy by decreasing samples_tolerance which controls how much readings must agree. Its Klipper default is 0.100mm meaning you’re accepting probe results that are off by hundreds of microns while the probe is precise to under 0.00250mm, so a value of closer to 0.00500mm is much more reasonable and produces more accurate readings, at the expense of them potentially not agreeing. Readings might not agree if the plate isn't thermally stable and expanding or contracting, for example.

By increasing samples_tolerance_retries we can retry when readings don't agree to produce the acceptable finer tolerance.

We can reduce the probe count to just 2, as with the finer tolerance of the readings we just need those two values in close agreement.

Switch samples_result from Median to Average, to average the two readings for the final product, a median value for only two points has no meaning (three or more are required).

Change the following parameter's in printer.cfg's [probe] stanza as follows:

[probe]
speed: 10.0
samples: 2
samples_result: average
sample_retract_dist: 3.0
samples_tolerance:	0.0050
samples_tolerance_retries: 7