probe_accuracy_test_suite.py
is a collection of tests to help checking probe accuracy, precision and drift under different conditions.
- 1 test, 30 samples at each bed mesh corners - check if there are issues with individual z drives.
- 20 tests, 10 samples at bed center - check consistency within normal measurements
- 1 test, 100 samples at bed center - check for drift
I'm making updates as I receive feedback from the community on what tests are actually useful
- 2022-06-09: Allow passing probe_accuracy parameters and generating statistics on repeatability tests
On your printer:
curl -sSL https://raw.githubusercontent.com/sporkus/probe_accuracy_tests/master/install.sh | bash
will clone/pull this repo and install the necessary python packages.
Use python3 ~/probe_accuracy_tests/probe_accuracy_test_suite.py --help
to see all the options.
- Run all three tests:
python3 ~/probe_accuracy_tests/probe_accuracy_test_suite.py
- Enable tests individually with
--corner
/-c
,--repeatability
/-r
,--drift
/-d
- Test parameters can be further specified:
- corner test, 10 samples each:
--corner 10
- 5 Repeatability tests:
--repeat 5
- 50 probe samples drift test:
--drift 50
- corner test, 10 samples each:
- add
--speedtest
to test a range of z-probe speed. Speed parameters are entered in interactive menu. - add
--force_dock
to force probe docking between tests to check docking issues. - add
--export_csv
to export data as csv. - add
--speed
/-retract
for probe speed/retract distance override. - add
--keep_first
to force keeping first probe sample even if it's configured to be dropped normally. - add
-output_dir
/-o
to change the output directory. Use this to save the graphs to a place easily accessible to you.
See requirements.txt
They will installed by installation script above. If they are not installed - they can be installed like this manually.
pip3 install -r requirements.txt
- Need klicky macros properly configured, so that homing/leveling/probe accuracy gcodes will pick up the probe safely.
- There was an issue that prevented running
PROBE_ACCURACY
near the front of the bed in klicky-macros.cfg. This was fixed on 2022/05/30. Please update your config file if you see this error msg:Must perform PROBE_ACCURACY with the probe above the BED!"
.
All graphs and data are saved to /tmp
. Enable csv export with --export_csv
flag.
Plot examples:
Terminal:
- The green area is the middle 50% range of your samples. The narrower this band is, the more precise your probe is.
- The red area falls outside of median +-0.005mm. If you have a lot of samples in the red area, you MAY have issue (but not necessarily).
- Graphs are fancy and helpful to find glaring issues, but it is unnecessary to chase the most perfect graphs.
- If your repeatability range is 0.1mm or less, it should be sufficient to produce a good bed mesh. Increasing probe sample count (set in
printer.cfg
>[probe]
>samples
) can help sometimes.
- Getting probe sample exceeding samples_tolerance error? Try increasing
[probe]:sample_tolerance
to 0.02. This has no effect on the actual accuracy of your probe. - On Voron V2 printers, the most common issue is loose z-belts. An example from a printer with loose belt will look like the below image: