What does Z-offset do?

Hi all,

I just got my TAZ6 and I’m trying to fix a bulge on the lowest few layers. The calibration instructions for the Z-offset says to print the calibration octopus and measure the thickness of the skirt and adjust the Z-offset until it is 0.325-0.45mm. Mine is about 0.35mm no matter how I change the Z-offset. The factory setting was -1.2 and I’ve tried anything between -1.1 and -1.4 and it has absolutely no effect on the skirt thickness. Am I misunderstanding how this should work?

Edit: There is also another thing I don’t understand: The auto-leveling doesn’t seem to work. The z-values it spits out are very repeatable, and I’ve verified that they are correct by running the nozzle over the pads after power-up, without running a auto-level. However, if I, after the auto-level has completed, cancel the job and run the head over to next to the pads, the actual height varies substantially. For example, if I run to Z=0.25, the head is 0.20mm above at the plate by the X-Y- pad, but 0.43mm above by the X+Y- one. I’d assume a constant offset here could be the Z-offset, but the fact that the head height differs near the different pads must mean the auto level didn’t work correctly. I’ve verified that the pads are clean and have no debris between them and the plate.

If I power up the TAZ connected to Cura, one of the things it prints is

< echo:Eqn coefficients:
< echo:a: -0.000234 b: 0.000057 d: 1.838720

Does this mean that there is some auto-level information pre-programmed from the factory? This is not at all what I get when I run the auto-level myself. (I get basically the same magnitudes but opposite signs on a and b.)

More edit: I found it is possible to set the equation coefficients manually using G27. If I do this, I can take out the offset between the X-Y- and X+Y- pads by setting the A-value to -height_difference/280, and same for the X-Y+ pad and the B-value. The problem seems to be that these values overcompensate the X+Y+ pad, which means the plate is not a plane, it’s twisted. Since we have four data points it seems it would be better to, rather than fitting a plane, linearly interpolate between the four points. That way it would also account for twist.

Even more edits: It appears that Marlin can do a mesh-based bed interpolation, judging by https://github.com/MarlinFirmware/Marlin/blob/RC/Marlin/Marlin_main.cpp. The Marlin at http://devel.lulzbot.com/TAZ/Olive/software/firmware/Marlin_Oliveoil_Tilapia_v1.0.2.21_f90d3ef/Marlin/Marlin_main.cpp, however, does not seem to have that option. Is the TAZ using a forked Marlin that does not have these features?

Auto level on the Taz doe not actually move your bed to level it. It’s more like a “virtual” auto-leveling: It probes the 4 corners and measures each height, then calculates what the bed heights should be across the printbed, and applies a correction factor to the print head as it moves across the bed.

If you are finding the 2 left side heights are significantly different from the right side heights, that’s an indication that the 2 z-axis lead screws are out of whack. (for example, if the screw on one end got cranked up a bit in relation to the other. This lifts one end of the x-carriage up in relation to the other - making more work for your Taz to apply a larger auto-level correction.

Yuo could try searching this forum for “X carriage alignment” or something similar to figure out how to correct this.

1 Like