Printing in air after adding BLTouch

Basic Information:

Printer Model: Custom
MCU / Printerboard: BTT SKR 1.4
Host / SBC: Acer N281G mini-desktop
printer.log (79.6 KB)

Describe your issue:

I’ve recently added BLTouch without any other changes to the printer (the mount point and wires were already in place), and now it prints in air, like 0.2-0.3mm above where it should print, and it looks suspiciously like the 0.28mm variation I have in the bed mesh.

I’ve probably missed something in the guides, but I can’t figure out what.

I’m still using the Z endstop and the offset has been manually calibrated with feeler gauges to be at 0, did the same for probe calibration and I got the offset to within 0.05mm, measured by the probe at 1.255mm. The bed mesh, at printing temperature, has an average of 0.04 and a range between -0.0926 and 0.1875 – and this seems strange, because about a week ago I’ve printed a full sheet of plastic of 0.2mm and it printed flawlessly across the whole bed, so a 0.28 variation seems too big, granted I didn’t get all the way to the edges, I’ve left about 1cm.

I’ve went over some of the forum posts and tried some of the suggestions, but no luck so far. Any suggestions for what I should check?

Also, what is Z_OFFSET_APPLY_PROBE actually doing? What does “current Z Gcode offset” mean in this context? Is it related to the measured bed mesh values?

It puts the actual babystep settings to the printer.cfg. But it is worthless as long you don’t save it with SAVE_CONFIG.

I’ve ran BED_MESH_CALIBRATE & PROBE_CALIBRATE again (and intentionally did a -0.05mm, then tried Z_OFFSET_APPLY_PROBE, but it doesn’t see any offset. And as I said before before, the nozzle doesn’t need any offset, it’s spot on, so, probably Z_OFFSET_APPLY_PROBE is not what I’m looking for

Send: PROBE_CALIBRATE
Recv: // probe at 90.000,90.000 is z=1.312500
Recv: // Starting manual Z probe. Use TESTZ to adjust position.
Recv: // Finish with ACCEPT or ABORT command.
Recv: // Z position: ?????? --> 6.313 <-- ??????
Recv: ok
Send: TESTZ Z=-6.313
Recv: // Z position: ?????? --> 0.000 <-- 6.313
Recv: ok
[...]
Send: TESTZ Z=-0.1
Recv: // Z position: ?????? --> -0.050 <-- 0.050
Recv: ok
Send: ACCEPT
Recv: // bltouch: z_offset: 1.362
Recv: // The SAVE_CONFIG command will update the printer config file
Recv: // with the above and restart the printer.
Recv: ok
Send: Z_OFFSET_APPLY_PROBE
Recv: // Nothing to do: Z Offset is 0

What does your mesh tell you for the position where you calibrated the probe? This should be close to zero, when you calibrated your Z-Nozzle to zero on this spot.

0.28mm is normal unless you have a very fine milled bed. Given the accuracy of the BLTouch and a 200mm bed this seems Ok for me.

I have just ran PROBE_CALIBRATE again, a feeler gauge of 0.05mm fits under the nozzle when the Z position is at 0.06mm

Send: PROBE_CALIBRATE
Recv: // probe at -10.000,0.000 is z=1.527500
Recv: // Starting manual Z probe. Use TESTZ to adjust position.
Recv: // Finish with ACCEPT or ABORT command.
Recv: // Z position: ?????? --> 6.527 <-- ??????
Recv: ok
[...]
Send: TESTZ Z=-6.517
Recv: // Z position: ?????? --> 0.010 <-- 6.527
Recv: ok
[...]
Send: TESTZ Z=+0.05
Recv: // Z position: 0.010 --> 0.060 <-- 6.527

@WeissNicht, I misread your message, the mesh says: 0.005000.

Ok, so the probing seems to be Ok.

Might be an issue with your slicersettings.

Thanks for suggesting the slicer, I just noticed something after building a new plate with nine 20mm disks at 0.2mm thickness. It’s the same as the old one I had, the only difference is that the slicer changed the order in which the disks are printed. and it happened to print the problematic area at the end, where in the old gcode, it printed it at the start of the print, and I never got past the first 3 problematic disks.

Here’s the layout of the plate:

There are 9 disks, and 25 points where the bed mesh is probed, the 3 disks that are outside of the measuring grid (encircled in blue) are also on the high side of the mesh and are the ones with visible defects in the print.

Screenshot_20240918_001454

I have a hunch this is related to the algorithm used to calculate the mesh, where the height is increased because it assumes the bed is warped towards the end, maybe a different algorithm will help here. (I’m now looking into this)

This time I noticed the Z height on the display going to 0.38mm, which goes well with my assumptions. Last time I didn’t see the value because I was busy looking at the failing print.

Just setting the algorithm to bicubic didn’t help, though this might suggest that it probably should, because I had 25 points:

Lagrange interpolation is capped at 6 probed points as oscillation tends to occur with a larger number of samples

Adding a zero_reference_position also didn’t change much, since the average value of the mesh is 0.03.

EDIT: I also had a very low z velocity and acceleration, I’ve removed that config, but there was no change.

I have a hunch that the area is NOT higher than other areas as it displays in the mesh (the right side), probably because the heated PCB has the connector there and the traces are different. I’ll need to get my hands on a dialer gauge to check if that is the case.

I’ve tried marking that area as a faulty_region and it reduced the variation in the mesh by about 40%, down to 0.16mm. But that area is still higher than most other places and it’s printed at 0.32 instead of 0.20 and nothing sticks to the bed… oh, and this offset is spot on with the 0.118147 measured for the mesh.

I might be able to rotate the bed 180°, because on the other side I have a strip of about 15mm of dead space, because of gantry.

EDIT: Is there a way to probe the same point multiple times while making the mesh and take the average?

What kind of printer is this?

For example, on 2.4-Vorons you´re likely to experience what you see in your test print with the disks, when the X-gantry is twisted slightly (It will raise the nozzle on one side and lower it on the other in X-direction).
Unfortunately the mesh will look ok, when the BL-Touch is closer to the x-gantry than the nozzle.

Reference:
Rail Misalignment Causing Twist | Voron Documentation (vorondesign.com)

Concerning the Disk-Testprint; I suppose there is a mechanical issue; causing the Nozzle-ZOffset to be increasing from XMin to XMax.

Wow, thanks! That seems to be it, I would have never figured this one on my own.

I just spun in-place one of the x-rods by 90° and the variation in the mesh went down to 0.1275mm on the full bed (including the problematic area). After that change, the bed was inclined:

I’ve raised one side by a motor step, and the variation in the mesh went down to exactly 0.097611mm, and this with the mesh covering the whole bed and the heatbed running.

I’ve repeated the bed mesh calibration 8 times, and all measured variations were within 0.02 of a mm of each other.


It’s an i3 style printer made from a spare extruder+hotend assembly (no X carriage) and some spare motors, to which I’ve added some 2040 profiles, 8mm rods, threaded rods and custom designed PETG parts - I’ve spent many months trying to make the parts in FreeCad and learning about 3d printers.

I’ll have to replace the rod, but I’m pleased for now. The latest disks turned out excellent, I just had to lower the Z-endstop trigger a bit, to get the nozzle closer to the bed. – this is a custom part that uses a screw to tweak the z-offset.

1 Like

You´re welcome. ;-).

On heavy toolheads, those 8mm rods tend to bend slightly overtime.

One thing you could try is to implement something similiar to VoronTap; with this you would always have the bed-to-Nozzle offset measured at every measured meshpoint.
Or If only the X-axis tend to have this issue, you could position the BLTouch with zero X-Offset next to the nozzle on the toolhead (in this case the Z-Motors could induce an offset)

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.