Basic Information:
Printer Model: Voron Trident 300mm
MCU / Printerboard: Octopus 1.1
klippy.log
klippy-log.zip (1.2 MB)
Describe your issue:
Setup
I’ve recently built a Voron Trident 300mm and having a problem with my bed mesh.
I have a Klicky proble and klipper_z_calibration plugin.
My bed is relatively flat, but I think extrusions are not exactly parallel, so I get a bed mesh looking like this:
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# -0.035625, -0.046250, -0.025000, -0.040000, -0.013125
#*# -0.033750, -0.037500, 0.001875, -0.017500, -0.047500
#*# -0.006875, -0.008125, 0.000000, 0.008750, -0.036875
#*# -0.007500, -0.007500, 0.008750, -0.001875, -0.001250
#*# 0.041875, 0.033750, 0.003125, 0.020000, -0.001875
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = bicubic
#*# tension = 0.5
#*# min_x = 5.0
#*# max_x = 295.0
#*# min_y = 25.0
#*# max_y = 295.0
Range is 0.089 which I think it not great, but also not terrible for 300mm bed (I think). At one point it was 0.05, but it’s gotten worse after some prints. I can work on adjusting it, but my problem is that bed mesh doesn’t seem to compensate properly in my case.
Bed mesh configuration:
[bed_mesh]
speed: 270
zero_reference_position: 150,160
horizontal_move_z: 7
mesh_min: 5, 25
mesh_max: 295, 295
probe_count: 5, 5
mesh_pps: 2, 2
algorithm: bicubic
bicubic_tension: 0.5
To test bed leveling a have this macro which replicates what runs at the beginning of each print.
[gcode_macro LEVEL_TEST]
gcode:
BED_MESH_CLEAR
G28
Z_TILT_ADJUST
CALIBRATE_Z
BED_MESH_CALIBRATE
The problem
The bed mesh doesn’t compensate for differences in height as I would expect.
On the left side the nozzle is always higher than on the right one.
I did a paper test in the middle of the bed (zero_reference_position
) to find a relative height when paper meets some resistance. It’s not meant to measure the actual height, but to compare different points on the bed.
My understanding is that if I now set Z to 0.05 at any point of the bed it should be similar to the center of the bed, but this is not what’s happening.
For example:
Z Offset after z_calibrate is -0.093
:
Coordinates | Paper resistance Z height | Bed mesh adjustment | Toolhead Z | Mesh helped |
---|---|---|---|---|
150,160 | 0.05 | 0 | -0.042875 | |
5,295 | 0.0 | 0.042 | -0.051000 | |
77.50,25.00 | 0.06 | -0.046 | -0.079125 | |
222.50,25 | 0.11 | -0.04 | -0.022875 | |
222.50,295 | 0.07 | 0.02 | -0.002875 |
I can see that the bed mesh adjustments are being applied, for example:
0.11 - 0.093(z offset) -0.04(bed adjustment) = -0.023 (rounded up -0.022875
).
The problem is that the distance to the bed is not adjusted properly.
For example for coordinate 5,295
I would be better off without bed mesh adjusting at all, because then I would get toolhead position of .05 −.093 = -0.043
when setting 0.05
height when paper has some resistance. With bed mesh compensation I had to decrease to z height to 0
to counteract the bed mesh compensation.
Here are the same coordinates with bed mesh cleared:
Coordinates | Paper resistance Z height | Toolhead Z | Mesh needed |
---|---|---|---|
150,160 | 0.05 | – | |
5,295 | 0.05 | -0.042875 | |
77.50,25.00 | 0.01 | -0.082875 | |
222.50,25 | 0.06 | -0.032875 | |
222.50,295 | 0.09 | -0.002875 |
So from 4 coordinates sampled 2 were fixed by the bed mesh, but 2 made worse.
Without mesh 2 coordinates which mesh “corrected” were good without mesh, but 2 coordinates which were good with mesh are now incorrect.
I’m not sure what is causing this.
- Clearly the mesh is applied correctly based on the adjustments.
- The coordinates I tested manually are coming from
probed
tooltips on “Heightmap” visualisation, so this is where bed mesh actually probed. - Klicky probe offsets are setup correctly. To double-check I navigated hotend to
222.50,25
, marked the spot on the bed and checked that the Klicky probe touched that spot with the switch. - Measured offsets check out, for example:
probe at 152.000,140.000 is z=5.977750 => 150,160 zero reference
probe at 224.500,5.000 is z=5.936500 => 222.5,25 −0.04125
probe at 79.500,5.000 is z=5.937750 => 77.50,25 -0.04
In case of 77.50,25.00
it was a correct adjustment, but in case of 222.5,25
that adjustment wasn’t needed.
How can it be that 150,160
and 222.5,25
are the same distance from the hotend, but the probe reports as if 222.5,25
is lower.
The results are very consistent, I’ve run a lot of meshes and they all give basically the same result.
Any ideas what might be causing this?
Can this be some weird hardware fault I don’t understand? It’s likely, since I’ve just assembled the machine, but I can’t understand this behavior.
Any ideas would be much appreciated!