Hello, I noticed my prints were coming out a little inaccurate, so I used my indicator dial to calibrate the rotation distance for 20mm movements in x/y/z. I ended up with values 39.95, 39.5, and 38.05 respectively. Now that I have that calibrated, I’m having an issue where the macros will crash into the x/y ends. How do I identify anywhere the macros are using a value too large or too small and adjust it?
Just to clarify, printing a 20x20x20 calibration cube now comes out +0.01mm in both x/y so the values I used above appear to be correct. Z is a little off, coming in at 20.3mm, so I might have had my gauge a little loose or something. I’ll have to redo that calibration and see if I get the same results.
Prints will ALWAYS measure larger than the model dimension. Your calipers hit the high spots not the “normal” boundary.
If we only talk about cubes it is fairly easy to demonstrate. Print 3 cubes, 15mm, 30mm and 45mm You’ll find they measure 15 + c, 30 + c and 45 + c. All c values will be very close to the same. If it was a rotation distance error the 45 should measure 45 + 3c. Do the regression you can solve for the slope. That is the real rotation distance error and it cannot be found by “calibrating” at a single distance.
Thinner layers will have less “overage”. You can trim some with the outer wall line width but you won’t like the undercut at the layer boundary.
Your extruder cannot “color inside the lines” because of the bulging cross section of each wall line. It is impossible to extrude a rectangle from a round hole. Modern slicer software does TRY to account for the bulge but it is an inexact science with variable layer heights, different filaments have different viscosity at different temperatures and exactly how big is the orifice at the tip of your nozzle? Is it actually round? perfectly centered?
Measuring moves directly with a dial indicator needs to account for hysteresis. This involves measuring the average of where the head stops after moves on both directions. An interesting exercise if you like that sort of thing but at the end of the day you want your pieces to be a specific size. Much more accurate to print and measure.
also, in the filament profile you can specify the shrinkage of the filament after cooling so the slicer can compensate for shrinkage by slightly oversizing objects
Before “calibration”:
Macro says go to 350 on the Y axis, Klipper calculates that it needs to turn the motor 350/40 turns. Motor turns 8.75 times and print head arrives at Y 350.
After “calibration”
Macro says go to 350 on the Y axis, Klipper calculates that it needs to turn the motor 350/39.5 turns. Motor turns 8.86 times and print head tries to go to Y 354 and hits the stop.
Note 1 turn = 3200 micro steps. 8.75 turns is actually 28,000 steps, 8.86 turns is 28,354.