Homing (Klipper) - Z Offset

Mid pleasures and palaces though we may roam
Be it ever so humble, there’s no place like home
Home! Sweet Home!

Homing

[safe_z_home]
home_xy_position: 0, 0
z_hop: 10

Probe calibration

Please note that Z Offest calibration is performed at room temperature, with heatbed and hotend heaters off (set to 0). Ensure that there is no filament on the nozzle before calibrating Z Offset. You may want to heat the hotend, clear the nozzle and/or unload the filament and let it cool down before proceeding.

BL-Touch

It is mandatory to define pinout and z_offset.

caption

[bltouch]
sensor_pin: ^PC14
control_pin: PA1
z_offset: 2.345

see also Initial tests

[bltouch]
BLTOUCH_DEBUG COMMAND=pin_down
BLTOUCH_DEBUG COMMAND=pin_up

Setting the probe offset

  • for X & Y offset: align on target with PROBE: issuing will trigger the use of BLTouch at current position to probe Z-level, and stop when BlTouch trigger. This is a way to easily find x & y offset.

  • Z offset
    • PROBE_CALIBRATE at room temperature
    • this is integrated into fluidd which make it very easy
    • and finally SAVE_CONFIG to integrate the value in config files
  • Repeatability check - it is a good idea to verify that the probe provides repeatable results. see PROBE_ACCURACY. If the difference between the minimum reported z_offset and the maximum reported z_offset is greater than 25 microns (.025mm) then the probe is not suitable for typical bed leveling procedures.

  • endstop_phase - The stepper phase adjusted endstop mechanism can use the precision of the stepper motors to improve the precision of the endstop switches. see ENDSTOP_PHASE_CALIBRATE

Usefull GCODE

  • get_position (~ M114)
  • absolute (G90) / relative (G91) coordinate
  • move G1 X Y Z

Bed level support

Auto Bed Mesh leveling

output can be vizualised with OctoPrint-BedLevelVisualizer and BED_MESH_OUTPUT gcode.

Manual leveling

The secret to getting good bed leveling with bed leveling screws is to utilize the printer’s high precision motion system during the bed leveling process itself.

Custom Prepare menu ender3:

  • BED_SCREWS_ADJUST - start the tool
  • paper test on each selected screw points
  • accept => screw is ok (no adjustement necessary)
  • adjusted => screw was adjusted (and may have impact others)
  • abort => exit tool

Z Offset & First layer

This involves running a print, observing the first layer going down, and adjusting your Z offset (“baby stepping”) up and down until you have the perfect level of squish. This is easier with an LCD but can also be done without.

see tune menu in klipper which call SET_GCODE_OFFSET

SET_GCODE_OFFSET

This is commonly used to virtually change the Z bed offset or to set nozzle XY offsets when switching extruders. For example, if “SET_GCODE_OFFSET Z=0.2” is sent, then future G-Code moves will have 0.2mm added to their Z height. If the X_ADJUST style parameters are used, then the adjustment will be added to any existing offset (eg, “SET_GCODE_OFFSET Z=-0.2” followed by “SET_GCODE_OFFSET Z_ADJUST=0.3” would result in a total Z offset of 0.1).

SET_GCODE_OFFSET Z_ADJUST=0.1

Final setup can be save with Z_OFFSET_APPLY_PROBE. Requires a SAVE_CONFIG to take effect.

see also

Written on September 3, 2021, Last update on June 17, 2023
klipper 3dprinter calibration