Adjusting the Z is inconsistent

I have a Snap Maker 2.0 A350, and I noticed that when I’m completing the final step in leveling the bed (setting the Z axis), it doesn’t move up and down consistently.

I’ll lower it by .5mm until it gets good and close, then a few taps lower by 0.1, and then the last adjustment at 0.05. The thing is… sometimes I hit a point where it’s just ever so slightly too close, and when that happens I go up 0.05, then back down 0.05, and it’s in a different position than before.

Anymore, I purposely put it a bit too close (not enough to dig into the bed or anything) back off 0.05, then closer by 0.05, then back again, then away again, and I do this until it’s somewhere that feels good with the calibration card.

I’ve noticed this too, but figured it was from my nozzle not being completely clean before starting leveling, I always just do a bunch of swipes of the calibration card to knock off any final bits of junk off.

However, when I was noticing consistency issues, I’d always been at the point of moving in .05mm increments At .1, I get pretty consistent tensions when moving up and back.

This is due to backlash in the linear module. The carriage is driven by a lead screw and there is some play in the nut which is driven when the lead screw spins.

When you back off 0.05mm and then go forward 0.05mm and repeat this process, the machines zoffset isnt really improving, as far as the machine is aware you are just moving it back and forth by exactly 0.05mm even though in reality it may actually being moving by 0.04mm for example.

I’ve been thinking about the backlash in the SM2 recently.

Normally, when dealing with backlash (e.g. a lathe cross slide screw, or a mill table screw) you eliminate backlash: move away from the part to build up backlash, then move in towards the part to remove it, set zero, and from then on move only inward so that backlash is not a consideration.

When calibrating the SM2, the Z axis is moved down until it is at the correct height, which is then saved.

When printing, the Z axis is moved up as the layers build. The SM2 starts by lowering the Z axis to the saved Z offset, but from there it is reversing direction, meaning that backlash has to be taken up before the Z axis carriages will actually move upwards. There is a gcode for backlash compensation, though admittedly I haven’t checked if this is in the Luban or Cura setup code.

Is this something we should be worried about? It might explain why so many people are having trouble getting a good first layer, and why I often have to tweak Z offset during the beginning of the print.

I was under the impression that SM used a ball screw until I disassembled the modules to clean and lube them. They can be tightened for greater accuracy but that would cause more wear on the nylon bushing.
I make sure that I never finish a leveling adjustment by raising it. The final move is always down. I think that should provide some continuity in the leveling.

Right, the final move is always down, and that takes care of the backlash during the leveling. But during the printing, the head is moved down to the origin, and from there is moved up.

This makes me wonder if it might not be better to end the calibration on an up move - though doing that would pretty much require a dial indicator to determine when the backlash is taken up.

I was looking at the g-code list and there is one for backlash compensation. I’m going to look and see what it’s about.

In theory maybe, but in real world use does it really matter?
I always watch my first layer and adjust from there.
When you’re doing the final step in calibrating you’re really just verifying for the SM how far away the sensor has been from the bed.

I set my z one step less than SM recommended (what they describe as pull/no push) If I go too far and its too tight then I back off one and ignore if it’s not measuring the same now. (I have pretty good repeatability from home)
Then for PLA I tend to bump it up .05 and watch my first layer. For petg I’ve found it likes less squish and go another .5 to .1. For tpu I leave at 0. It likes to have the first layer squished.

Figure out what works for you and your machine that gives you consistency and go with that. Consistency and repeatability is the key.


The only thing that has worked for me so far is unplugging the A350 and getting on with my life. But that’s another conversation :wink: