I edited my response while you were replying, so let me clarify my questions and reasoning.
A plane in 3 dimensions is defined by a minimum of 3 points. I realize that printer manufacturers sometimes use 2 steppers on the Z axis and (god forbid) sometimes one. But this can’t control tilt or twist in all directions.
Are you sure your bed is completely level in the Y axis direction (perpendicular to how your Z axis drives are)? With the current leadscrew setup it looks like you can only really level it in the x axis direction (using Z tilt that is).
I’m just trying to think of potential issues that might be causing what you’re describing.
I get what you are asking, but as far as my understanding, that only matters if you do manual leveling per corner… Is that not correct?
You are talking about this, right?
[bed_screws]
screw1: 35,45
screw1_name: front left
screw2: 375,45
screw2_name: front right
screw3: 375,375
screw3_name: back right
screw4: 35,375
screw4_name: back left
speed: 100
Arent these more of points of the bed for manual leveling like the knobs?
I’d just make sure that’s good because a tilt in the Y axis direction while theoretically minimal could cause it to be off when doing Z tilt.
Are you having the same issue when you run screw tilt adjust?
As in, does repeat running of it give you different results?
Or does it tell you that you need adjustments even after you adjusted?
I’m trying to narrow down any mechanical issues, if there is some slight binding on the rails it cause cause the bed to tilt which can throw off things and when moving up and down it could cause a skew which is what you see with the drifting probe measurements.
Cause keep in mind, we’re looking at .001-.003 difference here, which is TINY. Even a slight drag can cause that.
I dont use manual screws. I have solid mounts for the bed, so the bed is being leveled with the z tilt and then bed mesh.
As for it being a tiny amount, its more than enough to make the first layer messed up on one side either the left of the right.
The main issue is the bltouch values increase each time it probes, so the bed leveling and z tilt is never actually accurate. I just cant narrow down if this is from the z motors/drivers, or the signal on the bltouch is noisy from interference from the other wires. I never had this issue with Marlin, so this has been a non stop battle.
That’s my concern, you can’t level with z tilt alone as it only adjusts on your X axis.
Your Y axis could be slanted and you’d never know.
You’ll have to use the screw tilt adjust to get it reasonably level and then use Z tilt to fine tune it during the run.
If you really want to permenantly solve the issue the best way would be to install at least 1 more Z stepper but you’d probably have to redo the current layout because the best bet is for two to be at the corners on one side and the 3rd in the middle on the other side.
Think of it like having a table with only two legs, nothing stops it from falling “forward or backwards”
Meanwhile a 3 legged table can’t tilt on the Y axis (or rotate around X, however you want to look at it, it’s the same thing).
Kinematically speaking Z tilt with two steppers only handles pitch as shown below.
Yaw isn’t really a factor here because the bed is constrained from rotating around Z by the rails.
The rails can MINIMIZE the movement on Y (rotation around X) aka Roll as shown below, but it can’t prevent it… So you’ll have to compensate for that the best you can by using the screw adjusts to make sure your bed is as level as you can get it and hope the rails don’t bind at all.
As you can tell by the picture, if you have a stepper on the Y axis it could control the roll, the other steppers could control the pitch. While you’d think “theoretically” you could use two steppers to control this they’d be off center from each other and you’d end up with a skewed angled version of the issue you have now.
By controlling 3 points (Steppers) you can adjust the entire plane and ensure it’s exactly parallel to the probe.
With the settings I have, I can get bed level just fine once the z tilt successfully levels both z steppers. When I use lower tolerance values like everyone else, it will be too high or too low on left or right.
This is how it does when it has a good z tilt calibration and bed leveling using the .00001 tolerances.
Because I need a good first layer? It makes my life harder when I cant print large objects because of a bad first layer. If I lower the tolerance on the bltouch and z tilt, I cannot print large prints because the first layer is so screwed up where it is too high on one side and too low on the other. I have tried much lower values, but I cannot get proper bed leveling with those lower values.
Tell me what values to use, and I will do a test to show you how screwed up it gets.
Did you see the post where I showed the values increasing for each probe during the accuracy test? I showed the different tolerances and it shows how the values increase each time.
It shouldn’t matter, you should get the same results in multiple places regardless of tolerance. The tolerance just tells klipper to retry probing if the results are outside of that bounds of variance.
.001 should be fine, you can do that and .0001 and .00001 if you want to be thorough and we can compare but it shouldn’t make a difference.
Here is a text file of 4 corners probe accuracy. I still need to add a washer on the front left but I havent gotten around to it. Probe Accuracy 4 Corners.txt (3.1 KB)
Let me know if there are any other tests or adjust the printer.cfg in any way
The front left is a quarter of a mm higher than the the other corners.
and the front right is .03 mm higher than the back.
So your bed is sloped backwards and to the right.
I think I got that right, trying to visualize and calculate in my head. Your measurements at those 4 points should be as close to identical as you can get them.
That’s the FIRST step to having a good first layer.
Think about it this way, lets say you’re trying to achieve a .2 layer height.
You can’t because your front left is .23 mm higher than the rest of the bed.
You’ll struggle to get a .4 layer height with that cause your tilt is half the layer height.
For a start you should aim for being within .05mm on all corners.
Those amounts should be no problem for the bed leveling to take up though. This difference is across a 420mm bed, so this amount should be no problem for the bed leveling to handle it (which it did for some time now). Isn’t that what automatic bed leveling meshes are for?
I will put the washer in there and get it as close as I can get it, but i dont think I can get it as perfect as you think it should be.
Just a very quick observation, FWIW. Your config file has the following Z axis settings (as a side note, the convention in klipper is to assign values in the config file using colon and not equal sign):
microsteps = 32
rotation_distance = 8
and, implicitly, because full_steps_per_rotation is not defined in your config, you are using 200 steps per rev steppers.
This results in microstep resolution of 0.00125 mm. This means that with each microstep your Z axis will move 0.00125 mm. This is your best case theoretical Z axis resolution! In practice, the mechanical and sensor hysteresis and repeatability will be much much worse.
Therefore, when using 32 microsteps you should not, under any circumstances, request or expect tolerance tighter than two times that value. This would ideally be ~0.003 mm.
I tried 16, 32, 64 and tried with turning off interpolation and turning it on. The 32 microsteps is specifically being used because this gave me better results when I started having the issues with the probe values increasing.
I spent countless weeks troubleshooting, so everything I am currently using is what gave me best results and allowed me to get a good first layer and correct bed leveling mesh.
If you have a better idea, let me know, but chances are I already tried it.