diff --git a/docs/Probe_Calibrate.md b/docs/Probe_Calibrate.md index fc03d929..3cb7513a 100644 --- a/docs/Probe_Calibrate.md +++ b/docs/Probe_Calibrate.md @@ -43,13 +43,17 @@ the new values take effect. # Calibrating probe Z offset -Providing an accurate probe Z offset is critical to obtaining high -quality prints. +Providing an accurate probe z_offset is critical to obtaining high +quality prints. The z_offset is the distance between the nozzle and +bed when the probe triggers. The Klipper `PROBE_CALIBRATE` tool can be +used to obtain this value - it will run an automatic probe to measure +the probe's Z trigger position and then start a manual probe to obtain +the nozzle Z height. The probe z_offset will then be calculated from +these measurements. Start by homing the printer and then move the head to a position near the center of the bed. Navigate to the OctoPrint terminal tab and run -the `PROBE_CALIBRATE` command to start Klipper's probe calibration -tool. +the `PROBE_CALIBRATE` command to start the tool. This tool will perform an automatic probe, then lift the head, move the nozzle over the location of the probe point, and start the manual @@ -65,3 +69,116 @@ results to the config file with: ``` SAVE_CONFIG ``` + +# Repeatability check + +After calibrating the probe X, Y, and Z offsets it is a good idea to +verify that the probe provides repeatable results. Start by homing the +printer and then move the head to a position near the center of the +bed. Navigate to the OctoPrint terminal tab and run the +`PROBE_ACCURACY` command. + +This command will run the probe ten times and produce output similar +to the following: +``` +Recv: // probe accuracy: at X:0.000 Y:0.000 Z:10.000 +Recv: // and read 10 times with speed of 5 mm/s +Recv: // probe at -0.003,0.005 is z=2.506948 +Recv: // probe at -0.003,0.005 is z=2.519448 +Recv: // probe at -0.003,0.005 is z=2.519448 +Recv: // probe at -0.003,0.005 is z=2.506948 +Recv: // probe at -0.003,0.005 is z=2.519448 +Recv: // probe at -0.003,0.005 is z=2.519448 +Recv: // probe at -0.003,0.005 is z=2.506948 +Recv: // probe at -0.003,0.005 is z=2.506948 +Recv: // probe at -0.003,0.005 is z=2.519448 +Recv: // probe at -0.003,0.005 is z=2.506948 +Recv: // probe accuracy results: maximum 2.506948, minimum 2.519448, average 2.513198, median 2.513198, standard deviation 0.006250 +``` + +Ideally the tool will report an identical maximum and minimum value. +(That is, ideally the probe obtains an identical result on all ten +probes.) However, it's normal for the minimum/maximum distance to +differ by one Z step_distance or up to 5 microns (.005mm). So, in the +above example, since the printer uses a Z step_distance of .0125, the +results would be considered normal. + +If the results of the test show a minimum and maximum distance that +differs by more than 25 microns (.025mm) then the probe does not have +sufficient accuracy for typical bed leveling procedures. It may be +possible to tune the probe speed and/or probe start height to improve +the repeatability of the probe. The `PROBE_ACCURACY` command allows +one to run tests with different parameters to see their impact - see +the [G-Codes document](G-Codes.md) for further details. If the probe +generally obtains repeatable results but has an occasional outlier, +then it may be possible to account for that by using multiple samples +on each probe - read the description of the probe `samples` config +parameters in the +[example-extras.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/example-extras.cfg) +file for more details. + +If new probe speed, samples count, or other settings are needed, then +update the printer.cfg file and issue a `RESTART` command. If so, it +is a good idea to +[calibrate the z_offset](#calibrating-probe-z-offset) again. If +repeatable results can not be obtained then don't use the probe for +bed leveling. Klipper has several manual probing tools that can be +used instead - see the [Bed Level document](Bed_Level.md) for further +details. + +# Location Bias Check + +Some probes can have a systemic bias that corrupts the results of the +probe at certain toolhead locations. For example, if the probe mount +tilts slightly when moving along the Y axis then it could result in +the probe reporting biased results at different Y positions. + +This is a common issue with probes on delta printers, however it can +occur on all printers. + +One can check for a location bias by using the `PROBE_CALIBRATE` +command to measuring the probe z_offset at various X and Y +locations. Ideally, the probe z_offset would be a constant value at +every printer location. + +For delta printers, try measuring the z_offset at a position near the +A tower, at a position near the B tower, and at a position near the C +tower. For cartesian, corexy, and similar printers, try measuring the +z_offset at positions near the four corners of the bed. + +Before starting this test, first calibrate the probe X, Y, and Z +offsets as described at the beginning of this document. Then home the +printer and navigate to the first XY position. Follow the steps at +[calibrating probe Z offset](#calibrating-probe-z-offset) to run the +`PROBE_CALIBRATE` command, `TESTZ` commands, and `ACCEPT` command, but +do not run `SAVE_CONFIG`. Note the reported z_offset found. Then +navigate to the other XY positions, repeat these `PROBE_CALIBRATE` +steps, and note the reported z_offset. + +If the difference between the minimum reported z_offset and the +maximum reported z_offset is greater than 25 microns (.025mm) then the +probe is not suitable for typical bed leveling procedures. See the +[Bed Level document](Bed_Level.md) for manual probe alternatives. + +# Temperature Bias + +Many probes have a systemic bias when probing at different +temperatures. For example, the probe may consistently trigger at a +lower height when the probe is at a higher temperature. + +It is recommended to run the bed leveling tools at a consistent +temperature to account for this bias. For example, either always run +the tools when the printer is at room temperature, or always run the +tools after the printer has obtained a consistent print temperature. +In either case, it is a good idea to wait several minutes after the +desired temperature is reached, so that the printer apparatus is +consistently at the desired temperature. + +To check for a temperature bias, start with the printer at room +temperature and then home the printer, move the head to a position +near the center of the bed, and run the `PROBE_ACCURACY` command. Note +the results. Then, without homing or disabling the stepper motors, +heat the printer nozzle and bed to printing temperature, and run the +`PROBE_ACCURACY` command again. Ideally, the command will report +identical results. As above, if the probe does have a temperature bias +then be careful to always use the probe at a consistent temperature.