I’m wondering what the best strategy in using the capabilities of Klipper’s bed leveling tools might be.
I’ll show here what I currently do and try to explain my thoughts, why I do it this way. I’d like to invite you to add your experience and insights in finding the best practice in homing, z-tilt an bed-meshing as mentioned above.
I show a snippet of my [gcode_macro START] to show the order of my steps.
BED_MESH_CLEAR ; clear mesh profile
G28 ; home Axes
Z_TILT_ADJUST ; automated bed leveling
BED_MESH_PROFILE LOAD="default" ; load mesh profile
G28 Z ; home Z-axis again
Steps and thoughts in detail:
First of all, i clean the mesh profile to start with the characteristics of the bare metal and avoid leftover settings which may interfere.
Second I home the axis, since this is the beginning at all.
Next I perform a Z_Tilt to get the bed levelled, depending on the bare metal characteristics also.
Now I load the bed mesh to have the ‘software’ corrections applied.
To my observations the loading of the bed mesh changes the z-height at the spot, where the z-axis is homed, so I do it again to reach my intended height.
That looks o.k. on first sight, but I observe deviations in the appearance of the first layer indicating slight inconsistencies. Unsure where this deviations really occur i have the accuracy of the probe in mind. The procedures of measuring the bed mesh and z-tilting use a bunch of samples (five in my case) to minimize accuracy deviations, but the z-homing doesn’t! So this step might apply the maximum errorlevel the probe can deliver.
My questions are:
Might it be better to load the mesh in advance to Z_TILT and not to home again?
If not, is it possible to make the final homing procedure to use multiple samples?
Or, just not use the final homing and create a Z-offset (mine depends on bare metal after Z_TILT measured at homing position now) for the intended height, after the procedure has finished and apply that afterwards in general?
Yes, I already do that. But having a calculation out of five of those values would be pleasant.
To be honest, I just commented out the final homing sequence for experimental purpose. What should I say - it works for me. Everything looks quite more consistent on the first layer now.
I’ll keep that until something comes up to make me change it again.
Although Z=0 means the nozzle is barely touching the bed surface you might need an additional Z offset for proper printing and perfect model height.
The Z homing after the performed Z tilt might adjust the Z=0 in reference to the bed again.
In a perfect world where the nozzle is your probe it should not make a difference for homing Z before and after Z tilting as the beds pivot point should be in its center where the nozzle should be located during Z homing sequence too.
But as we often use probes with offsets in X and/or Y this will make a difference.
Hence you should perform a final Z homing and adapt necessary offsets to this reference then.
Yes, that is exactly what i did quite for a while, approaching to the ‘sweet’ hight my printer likes best. I figured it out to the 1/40 of a mm!
But in result the first layer depends one and only on the last homing. So if my probe delivers a large deviation in this final run, this is responsible in a large deviation compared to my ‘sweet’ height.
@koconnor
So, my proposal is to add the option to use multiple samples with the homing procedure (or create a separate function for ‘final homing’).
Do you know if it is possible to do a single probe per Z Tilt points, but have multiple probes per bed mesh probe points?
If so, I would like to do a single probe sample on each side of the bed for the tilt, but when I go to calibrate bed mesh, I would like to do 5 probe samples per point to get an average number.
I assume this could be accomplished with a macro, but I dont know where to start. I am hoping someone already has one made up that I could adjust the parameters for my dual Z setup.
My OEM ender5plus seemed to depend on the motors volunteering to stay synced. No couple belt, so it the process of rebuilding it, one of the things I added was a coupling belt, located about 15 mm above the base housing, between 2 ea 20 tooth sprockets, with the individual spans of 6mm belting each having its own tensioner, which by adjusting each can cause a difference in tilt, which can be adjusted to be pretty close to zero. One of the OEM motors is unplugged and the other replaced with the next size taller for a little more power since it is now doing ALL the work. Current adjusted to about the error in reading a mitotuyo digital caliper, future fine tuning by observing the bed mesh gfx for tilt. One solution to consider…