Closed PresleyHudson closed 5 months ago
Im having the same issue, i think the solution is to have the start gcode like this: SET_GCODE_OFFSET Z=0 # I dont know if this is needed BED_MESH_CLEAR # I dont know if this is needed
M117 Homing
G90 # use Absolute Positioning
SMARTHOME # Home neded axes, Z allways
Attach_Probe
Z_TILT_ADJUST
Dock_Probe
CLEAN_NOZZLE #run clean nozzle macro
Attach_Probe
CALIBRATE_Z
Dock_Probe # before i´ve done the mesh directly without docking the probe and now docking all works fine for me
BED_MESH_CALIBRATE
BED_MESH_PROFILE Load=default
M117 Purge
LINE_PURGE
For me the solution was to Dock the probe after CALIBRATE_Z and pickup again for BED_MESH_CALIBRATE.
Did you test the offset before starting a print? Was that correct? Otherwise, I would check the PRINT_START macro as @Asiak3 suggested. The reset of the offset is not needed, as the plugin does this anyway. But clearing any mesh, calculating the z offset and probing a new mesh (if needed).
If I understand correctly, yes I believe I tested the offset before starting a print using a 0.2mm feeler gauge and I believe it was fine.
in the mean time I have just been running with the offset that was calibrated not running it every print, it has been great. once I get the revo and im swapping nozzles I will look into this again.
i also forgot to mention that i since i added to the bed_mesh section the
zero_reference_position: # (An optional X,Y coordinate that specifies the location on the bed where Z = 0. When this option is specified the mesh will be offset so that zero Z adjustment occurs at this location. The default is no zero reference.)
it seams to have improved. i dont know if it was the store probe action in between or the zero_reference_position
[bed_mesh] speed: 150 horizontal_move_z: 6 mesh_min: 10, 10 #45, 10 #25, 10 mesh_max: 220, 199 #205, 217 probe_count: 7, 7 mesh_pps: 2,2 algorithm: bicubic fade_start: 0.8 fade_end: 10 fade_target: 0 zero_reference_position: 117, 117
I have the same problem. I am using KAMP and a klicky probe. I just swapped to another buildplate and now it is 0.4 to high. If I do a z_calibrate it is spot on. So there has to be something wrong in my config. Has anyone found the problem?
Here is my PRINT_START
[gcode_macro PRINT_START]
gcode:
# This part fetches data from your slicer. Such as bed temp, extruder temp, chamber temp and size of your printer.
{% set target_bed = params.BED|int %}
{% set target_extruder = params.EXTRUDER|int %}
{% set target_chamber = params.CHAMBER|default("40")|int %}
{% set x_wait = printer.toolhead.axis_maximum.x|float / 2 %}
{% set y_wait = printer.toolhead.axis_maximum.y|float / 2 %}
# Homes the printer, sets absolute positioning and updates the Stealthburner leds.
STATUS_HOMING # Sets SB-leds to homing-mode
G28 # Full home (XYZ)
G90 # Absolut position
## Uncomment for bed mesh (1 of 2)
BED_MESH_CLEAR # Clears old saved bed mesh (if any)
# Checks if the bed temp is higher than 90c - if so then trigger a heatsoak.
{% if params.BED|int > 90 %}
SET_DISPLAY_TEXT MSG="Bed: {target_bed}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
M106 S255 # Turns on the PT-fan
## Uncomment if you have a Nevermore.
SET_FAN_SPEED FAN=Nevermore SPEED=1 # Turns on the nevermore
G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed
M190 S{target_bed} # Sets the target temp for the bed
SET_DISPLAY_TEXT MSG="Heatsoak: {target_chamber}c" # Displays info
#TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={target_chamber} # Waits for chamber to reach desired temp
# If the bed temp is not over 90c, then it skips the heatsoak and just heats up to set temp with a 5min soak
{% else %}
SET_DISPLAY_TEXT MSG="Bed: {target_bed}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed
M190 S{target_bed} # Sets the target temp for the bed
#SET_DISPLAY_TEXT MSG="Soak for 5min" # Displays info
#G4 P300000 # Waits 5 min for the bedtemp to stabilize
{% endif %}
# Heating nozzle to 150 degrees. This helps with getting a correct Z-home
SET_DISPLAY_TEXT MSG="Hotend: 150c" # Displays info
M109 S150 # Heats the nozzle to 150c
## Uncomment for V2 (Quad gantry level AKA QGL)
Attach_Probe_Lock
SET_DISPLAY_TEXT MSG="QGL" # Displays info
STATUS_LEVELING # Sets SB-leds to leveling-mode
quad_gantry_level # Levels the buildplate via QGL
G28 Z # Homes Z again after QGL
## Uncomment for Klicky auto-z
CALIBRATE_Z # Calibrates Z-offset with klicky
SET_DISPLAY_TEXT MSG="Z-offset" # Displays info
#Uncomment for bed mesh (2 of 2)
SET_DISPLAY_TEXT MSG="Bed mesh" # Displays info
STATUS_MESHING # Sets SB-leds to bed mesh-mode
bed_mesh_calibrate # Starts bed mesh
Dock_Probe_Unlock
# Heats up the nozzle up to target via data from slicer
SET_DISPLAY_TEXT MSG="Hotend: {target_extruder}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
SMART_PARK
#G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed
M107 # Turns off partcooling fan
M109 S{target_extruder} # Heats the nozzle to printing temp
# Gets ready to print by doing a purge line and updating the SB-leds
SET_DISPLAY_TEXT MSG="Printer goes brr" # Displays info
STATUS_PRINTING
VORON_PURGE
# Sets SB-leds to printing-mode
#G0 X{x_wait - 50} Y4 F10000 # Moves to starting point
#G0 Z0.4 # Raises Z to 0.4
#G91 # Incremental positioning
#G1 X100 E20 F1000 # Purge line
#CLEAN_NOZZLE
G90
The PRINT_START macro seems to be ok.
It's important to define the zero_reference_position in your mesh configuration (e.g. the middle of the bed).
But, if you use KAMP or any other adaptive bed mesh, then you need to call the CALIBRATE_Z with the BED_POSITION parameter with the current zero_reference_position used by the adaptive mesh.
Could you please give me an example? I am using KAMP with adaptive bed mesh. I have no idea how to do what you wrote, but it seems like it is something that is fast to implement.
tir. 21. nov. 2023, 20:36 skrev Titus Meyer @.***>:
The PRINT_START macro seems to be ok.
It's important to define the zero_reference_position in your mesh configuration (e.g. the middle of the bed).
But, if you use KAMP or any other adaptive bed mesh, then you need to call the CALIBRATE_Z with the BED_POSITION parameter with the current zero_reference_position used by the adaptive mesh.
— Reply to this email directly, view it on GitHub https://github.com/protoloft/klipper_z_calibration/issues/127#issuecomment-1821564313, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7EXWVLHOZYHYVX5QLMRZ53YFT7ETAVCNFSM6AAAAAA7IRD5P2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRRGU3DIMZRGM . You are receiving this because you commented.Message ID: @.***>
I have never dealt with KAMP or adaptive mesh. I even don't use mesh at all. But, this should be documented in KAMP. You will see that it works correctly if the z calibration is always done in the center of the current (smaller) mesh.
I was not aware of this zero_reference_position option I needed to set for use of probe and endstop for z. I will get this added and test again.
Edit after adding zero_reference_position it is no longer printing way above the build plate. thank you for your help. though one more question, does the calibration change anything in the config? or does it set the offset, per print?
I'm glad it's working now. The calibration adds a gcode offset. It's nothing permanent.
Sorry to bring this back up again, been having trouble getting it to be consistent it seems to keep raising up on me even when I make adjustments I believe should lower it.
I did miss the part about using BED_POSITION, should the CALIBRATE_Z be ran after making the bed mesh with bed_position?
I have thought I have followed all the tutorials I've found but not getting the same results...
I think I've got it working more consistently now,
I'm running my Bed Mesh (KAMP) before the Calibrate Z and have added the BED_POSITION Param with the same cords as the zero reference point like you had said before (and in the documentation) but I had missed
I recently got Klicky and an endstop pin setup to get z calibration set up. I spent the day working though it to get everything I needed, I went to start a print and it is printing way above my build plate it thinks its at 0.2 but it is not and when only homing it is correct.
when manually measuring the z offset it was closer to the Probe value, or the formula alone without subtracting from Probe. one thing I was wondering was where the Probe value was pulled from?
the position of my z endstop is 4.1 and like i had said before when i home and move it to z 0.2 its measured correct with feeler gauge