After banging my head on why the probed mesh was so far from actual bed profile on two separate printers (following this thread), I gave up and tried a different approach.
Alongised @Arksine and his great work on the [Experimental mesh leveling] topic(Experimental mesh leveling changes) I verified that the printer was actually following the rigth path and was compensating what it assumed being the correct mesh. Everything worked induvidually, yet nothing worked as expected.
While running a probe repeatabilty test on my A10M, I noticed something. Here’s the values
TEST 1 probe accuracy results: maximum 0.011514, minimum -0.000986, range 0.012500, average 0.008264, median 0.009014, standard deviation 0.003717 11:42:28 probe at 220.000,95.000 is z=0.009014 11:42:25 probe at 220.000,95.000 is z=0.011514 11:42:23 probe at 220.000,95.000 is z=0.009014 11:42:20 probe at 220.000,95.000 is z=0.011514 11:42:18 probe at 220.000,95.000 is z=0.011514 11:42:15 probe at 220.000,95.000 is z=0.009014 11:42:12 probe at 220.000,95.000 is z=0.009014 11:42:10 probe at 220.000,95.000 is z=0.009014 11:42:07 probe at 220.000,95.000 is z=0.004014 11:42:05 probe at 220.000,95.000 is z=-0.000986 11:42:02 PROBE_ACCURACY at X:220.000 Y:95.000 Z:5.007 (samples=10 retract=2.000 speed=5.0 lift_speed=5.0)
Notice how it triggers at the same 2 values (z=0.009014 and z=0.011514) every time? It does not output an in-between value, always the two of them - more tests in the attached file.
Probe test result.txt (2.2 KB)
Now, I find this behavior really strange, and utterly different from what Marlin receives during test probing. For instance, getting rounded values is a perfectly normal thing for Klipper, but getting the uncertainty down to 0.001mm? That’s too much for the hardware. I’ve got a well-tuned machine, but this far over the precision it can reach, and the repeatiabilty too.
I verified cross-tested it on my CR-10S, and got a similarly homogeneous result:
14:20:33 probe accuracy results: maximum 1.837500, minimum 1.815000, range 0.022500, average 1.825000, median 1.825000, standard deviation 0.005916 14:20:33 probe at 170.000,140.000 is z=1.825000 14:20:30 probe at 170.000,140.000 is z=1.825000 14:20:27 probe at 170.000,140.000 is z=1.825000 14:20:24 probe at 170.000,140.000 is z=1.825000 14:20:22 probe at 170.000,140.000 is z=1.837500 14:20:19 probe at 170.000,140.000 is z=1.832500 14:20:16 probe at 170.000,140.000 is z=1.822500 14:20:14 probe at 170.000,140.000 is z=1.822500 14:20:11 probe at 170.000,140.000 is z=1.820000 14:20:08 probe at 170.000,140.000 is z=1.815000 14:20:05 PROBE_ACCURACY at X:170.000 Y:140.000 Z:10.000 (samples=10 retract=2.000 speed=5.0 lift_speed=5.0) 14:20:05 probe_test
There are a lot of reapeted values that are exactly the same.
To weed out any possible bias, I tried two different BLtouch sensors on both printers, and even a good 3DTouch clone. All of them yield the same consistency. I will now go down a manual probing spree to check if it actually solvesa nything.
I would probably deem this worth investigating: because there’s absolutely no chance that a BLTouch can reproduce consistently exact values across different probing sessions.
Cheers, and thank you for your time!