Printer Model: Anycubic Mega S
MCU / Printerboard: Trigorilla 0.0.2
Host / SBC RPI4
klippy.log klippy.zip (146.4 KB)
Describe your issue:
I cannot get my bed mesh working fine using bltouch. Testing it via an test object fails and also a manual test with a paper fails. The bltouch seems fine in general as creating mostly the same mesh after every probing but perhaps I doing something wring with z-tilt.
What is the standard workflow creating a mesh with z-tilt and homing?
Multiple Z stepper tilt adjustment. This feature enables independent adjustment of multiple z steppers (see the “stepper_z1” section) to adjust for tilt. If this section is present then a Z_TILT_ADJUST extended G-Code command becomes available.
[z_tilt]
#z_positions:
# A list of X, Y coordinates (one per line; subsequent lines
# indented) describing the location of each bed "pivot point". The
# "pivot point" is the point where the bed attaches to the given Z
# stepper. It is described using nozzle coordinates (the X, Y position
# of the nozzle if it could move directly above the point). The
# first entry corresponds to stepper_z, the second to stepper_z1,
# the third to stepper_z2, etc. This parameter must be provided.
#points:
# A list of X, Y coordinates (one per line; subsequent lines
# indented) that should be probed during a Z_TILT_ADJUST command.
# Specify coordinates of the nozzle and be sure the probe is above
# the bed at the given nozzle coordinates. This parameter must be
# provided.
#speed: 50
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
#horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5.
#retries: 0
# Number of times to retry if the probed points aren't within
# tolerance.
#retry_tolerance: 0
# If retries are enabled then retry if largest and smallest probed
# points differ more than retry_tolerance. Note the smallest unit of
# change here would be a single step. However if you are probing
# more points than steppers then you will likely have a fixed
# minimum value for the range of probed points which you can learn
# by observing command output.
Home Z → Z tilt (it invalidates the homing Z0, technically) → Create Bed Mesh.
The bed mesh would account for any changes that Z tilt added.
If you try to reuse the previous bed mesh, generally, you want to do homing second Z homing after Z tilt, to get the same reference point.
Spend some thoughts about the actual behaviour and it looks like a bug that the Z-Homing state is not reset after calling Z_TILT_CALIBRATE. Printing should be avoided if homing state is invalid.. I got bad prints and some scratches on the bed because of this that and it could be handled easily.
This understanding is not correct. The homing state is not invalid but you applied corrections to the system that slightly shifts the determined Z=0. As such you need to correct this.
Likely a lot of people would be very unhappy to read “Must home first” after each bed levelling operation.
Its not every bed level operation but z-tilt correction. If Z=0 shifts and I have to correct this it looks to me that Z-homing should be set to invalid. The time invested to get a nice and accurate print supported by bltouch became wasted because of the shift.
There should be a new parameter (optionally disabled) but if there is a shift it should reset Z homing state by default in my opinion. My printhead crashed into the bed rarely because of the shift but even if that was the case only 2-3 times it should be avoided by klipper by default (not forced to everybody).