Here is my “take” on how Z offset is determined on Sovol printers with eddy current bed sensors.
Applies to the following printer models:
-
Zero
-
SV08 Max
-
(upgraded) SV08
Overview:
Sovol’s implementation of their eddy current sensor lowers the nozzle while “watching” the change in frequency from the eddy sensor. When the nozzle is free to move the frequency change is (almost) constant. When the nozzle touches the build surface the eddy current sensor frequency briefly stops changing. The Z motor is then reversed and the eddy frequency is again monitored. The frequency VS Z height is then processed to determine the Z height where the nozzle lifts off the bed.
A HARD CODED offset is then applied to the Z0 found above and becomes the Z0 value used to print. One can “tune” the Z offset by one of the following:
-
Edit the hard coded value in the [Z_offset_calibration] section of printer.cfg
-
Add a Z offset to the start g-code in their slicer
-
Add a Z offset to the [Start_print] macro in printer.cfg
Here is the section for the SV08Max:
[z_offset_calibration]
non_contact_probe:probe_eddy_current eddy
contact_probe:probe_eddy_current eddy
endstop_xy_position: 250,251
z_hop: 5
z_hop_speed: 10
internal_endstop_offset: -0.25
IMPORTANT NOTE: The way klipper handles “offsets” is by SUBTRACTING the offset from the original position. The offset MUST be negative or Z0 will be below the plate.
Further Information:
Read the forum posts for the Zero. It was the first implementation of this system. There is lots of information on Z offsets AND improved nozzle cleaning macros that applies to the 8Max and the upgrade to the 8.