Best practice in homing, z-tilt and bed-meshing

Hi everybody,

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:

  1. First of all, i clean the mesh profile to start with the characteristics of the bare metal and avoid leftover settings which may interfere.
  2. Second I home the axis, since this is the beginning at all.
  3. Next I perform a Z_Tilt to get the bed levelled, depending on the bare metal characteristics also.
  4. Now I load the bed mesh to have the ‘software’ corrections applied.
  5. 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?

Wow, did I jump into a black hole with my question?
Really nobody around, sharing his insights and/or thoughts?

I’m not an expert on bed mesh usage and I yet can’t say whether it needs to be loaded before or after the final Z homing.
I tend to the latter though…

Your sequence otherwise looks right to me.
Homing → Z-tilting and homing of Z again.
Z homing with slower second pass will increase accuracy.

Key for the Z tilt to work properly are exact measurements of the joint points and the respective probing points!
Check this with following posts:

However good practice is having bed meshes for the used bed temps.
You can perform this and store it in different mesh configs if needed.

Yes, and symmetry rules!

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.

Then maybe the final Z offset was wrong.
But if it works stay with it! :slight_smile:

How is that meant?

My final Z offset is the same as for the initial one and the Z_TILT.

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…

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.