Printer Model: Custom CoreXY with 4x 8mm leadscrews for gantry leveling
MCU / Printerboard: Octopus V1.1/STMF466 klippy.zip (843.3 KB)
Making good progress on my custom printer but I have a question on setting the tolerance for quad_gantry_leveling - how do you come up with the value? I started with the same one as the Voron 2.4 (0.0075mm) but, while the printer was able to achieve this value, it took quite a number of retries (usually five or six) and it often wouldn’t hold in between operations.
Digging into the value, the 2.4 has 400 steps/mm (or each step is 0.0025mm) in the Z Axis while my printer, which uses 8mm leadscrews, has 25 steps/mm (or each step is 0.0400mm).
Now, if I use the Voron setting of a tolerance of 3 steps for the quad_gantry_leveling, my tolerance would be 0.12mm which feels high. I’m currently using 0.05mm which is quite stable and is generally held between Mesh Operations. Even if the value changes, I can get back to the tolerance value with one retry, which is what I expect - it seems reasonable (and it is more than one step) but I wanted to see if there was a standard approach for specifying the tolerance value.
The mesh measurement of the heated bed looks good (0.148mm varience across the bed):
You are completely right: Tolerances can not be set my basic technical data. Some set a tolerance of 0,005 (=5 microns!!! Noone can measure that with a 3D printer in real! You may have some numbers, saying “retry tolerance is 0,00Xmm” but it blows in pieces, if you start to measure it under real measuring conditions, look only at the temperature enlargement of ABS for 10K, sic!). If the measurement of the gantry should be taken serious, it should start only, if
a) Doors of the printer are closed (you do not have doors on your printer? So you are lost anyway)
b) Temperature inside your printing hardware is “stable” or constant (within what range?? You don’t know? So your are lost again!
That turns out, that you need some simplification to do something sensfull with this measurement.
My approach is, to heat the printer for 10 minutes before measuring and to use 0,02-0,05 mm as the exit criterion. Why? What overall tolerance of your workpiece do you want? Is this finally of any relevance? I print parts for technical applications, and the overall tolerance in my case (technically spoken: Allgemeintoleranzen [eat this, Google translate!!]) is 0,1mm (!!)
So if you stay slightly away from this (0,02-0,05mm) you should be save anyway. My voron takes 2 runs if it is “cold/new” (=I played around with the printhead by changing filament or so), and one go restarting a print.
You can doubleckeck if you increase the speed of the printer during measurement. The faster you are, the “more accurate” it seems to be tripple smile If you slow down the speed during measuring, you will never come to a solution … because temperature enlargement is much much larger than the 5 microns… Think of dX/dT, the temperature enlargement by tempearture change and ask yourself, if the change of temperature during print (or even during measurement, if you just press “start” at a cold printer) is 0 at some point in time (=never).
To answer your question:
No, there is no standard approch, but the worst approch is, to use values given by datasheets of manufacturers for some cheap microswitches, hold by a magnet, covered by plastics.
Using 0,05mm seems to be a reasonable value. If your first layer is off ±0,05mm it will work anyway.
Try to translate the german saying: “Wer viel misst, misst Mist”