#Z Calibration with Klippain and KlickyProbe

1 messages · Page 1 of 1 (latest)

trim lance
#

I am upgrading my old hand-rolled config to use klippain, mainly because my Z calibration macros speak an older version of the klipper dialect. Moving to klippain means that I get the benefit of the rest of the community. After some trial and error creating my configuration I'm almost there. EXCEPT: I'm trying to set up Z calibration so my first layer gets set up correctly. I'm using KlickyProbe and a CW1 on my V2.4. I have all the hardware to build Tap (which would then eliminate the need for the Z calibration macros) but I still need to print out some parts. So for now I'm stuck with Klicky+Z calibration. I can successfully pick up the probe and do a QGL, and then put the probe back. The Z calibration tests the nozzle against the Z endstop, picks up the probe, then instead of testing the switch (inside the probe) against the Z endstop and then going to the center of the bed to find the Z offset it goes to the front right corner (like it's treating a relative position as an absolute).

Here's the [z_calibration] section from my overrides.cfg

[z_calibration]
nozzle_xy_position: 180, 254
switch_xy_offsets: -5, -23
switch_offset: 0.40

[bed_mesh]
zero_reference_position: 125, 125

I am trying to follow the chain of macros through and match up with what I had before but no luck. I've got a very minimal START_PRINT now:

[gcode_macro _USER_VARIABLES]
variable_startprint_actions: "tilt_calib", "z_offset", "bedmesh"
gcode: # do not remove this line

so I can just call the START_PRINT without needing any heat soaking (or even any G code for that matter). Could my problem be that my X min and Y min are negative?

[stepper_x]
position_min=-3
position_max=252
position_endstop=252
[stepper_y]
position_min=-5
position_max=258
position_endstop=258

Ideas?

trim lance
#

Aha!! I'm missing a switch_xy_position in my [z_calibration] section, and it's defaulting to -1, -1.

trim lance
#

Now I just need to figure out why it's not recognizing the probe, even though a QGL works correctly... more sleuthing through the klippain config files.

trim lance
#
21:42:44  $ calibrate_z
21:42:44  // Z Offset calibration
21:42:44  // Z Offset calibration
21:42:44  echo: Auto Z calibration...
21:42:44  echo: Auto Z calibration...
21:42:46  // probe at 183.000,259.000 is z=1.663250
21:42:46  // probe at 183.000,259.000 is z=1.663250
21:42:47  // probe at 183.000,259.000 is z=1.688250
21:42:47  // probe at 183.000,259.000 is z=1.688250
21:42:48  // probe at 183.000,259.000 is z=1.690750
21:42:49  // probe at 183.000,259.000 is z=1.692000
21:42:50  // probe: open
21:42:50  // Probe already attached!
21:42:50  // probe: open
21:42:54  !! No trigger on probe after full movement
21:42:54  !! No trigger on probe after full movement
21:43:00  $ query_probe
21:43:01  // probe: TRIGGERED

Welp. So after it's driven my probe into the bed, I then run a query_probe and the probe has triggered. My guess is the z_calibration.py code is looking at the Z endstop instead of the probe. I can't see how to tell it to use the probe instead. Still looking

trim lance
#

Aha!!! switch_xy_position is where to position the toolhead so that the body of the switch (not the switch plunger) can touch the Z endstop. So setting it to 125,125 was wrong (that should be the bed_xy_position)

So here's the relevant bit of my overrides.cfg for posterity

[z_calibration]
nozzle_xy_position = 183, 259
switch_xy_offsets = -5, -23
# This is nozzle_xy_position + switch_xy_offsets.
switch_xy_position = 178, 236
# This is where to probe in the middle of the bed.
bed_xy_position = 125,125
switch_offset = 0.40