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
- Endstops
- Why is the Z position_endstop set to 0.5 in the default configs? - Z position_endstop specifies how far the nozzle is from the bed when the endstop triggers.
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.
see also Initial tests
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
- alternatively, then use
TESTZ Z=-.1
to adjust until head reach bed (as in paper test) - when complete
ACCEPT
- alternatively, then use
- 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
get_position (~ M114)
- absolute (G90) / relative (G91) coordinate
- move G1 X
Y Z
Bed level support
Auto Bed Mesh leveling
BED_MESH_CALIBRATE
- Initiates the probing procedure for Bed Mesh Calibration.BED_MESH_PROFILE SAVE=default
- save profile:- default profile is automatically loaded when Klipper starts.
BED_MESH_CLEAR
- Clear Mesh State
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.
- 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).
Final setup can be save with Z_OFFSET_APPLY_PROBE
. Requires a SAVE_CONFIG to take effect.