BiLinear bed leveling
My G29 command reports
+0.178 +0.281 +0.830
-0.614 -0.012 +0.371
-1.208 -0.849 -0.351So should I tighten up the screw of the bed, close to 0,0 position or loosen it?
I have a feeling that when I loosen it, it gets away from zero and I expect the opposite to happen.
For bed leveling i use a capacitive probe and after playing around with the screws here is the result
+0.406 +0.127 +0.411
-0.161 -0.007 -0.041
-0.572 -0.652 -0.668Finally the leveling process was found here
But the question remains. The value-0.572
corresponds close to0,0
?@cmm it reports Marlin bugfix-2.0.x and no extra arguments are sent
Could you please add by edit (in your question) how you level your bed? If done correctly by heating bed and nozzle, using a plain A4 paper, and regularly homing Z, should not lead to such a matrix. Note that auto leveling is not magic, you need to provide a bed as level as possible.
Would a perfectly aligned bed give the identity matrix?
No, but a far better one than that. Sensor accuracy prevents the matrix to be unity.
@0scar can you please check the update?
@Oscar , I see from an answer below that two matrices are printed. One is a sampling of the height at nine points, and the other is the transform matrix that multiplies an [x y z] vector to make a corrected [x y z] vector. A perfectly aligned bed would be a 3x3 array of samples of zeros. The transformation matrix would be the identity matrix. I now understand that the OP is providing the sample array, ot the the transform matrix.
@cmm Correct! That verbose option of the G29 command is very useful for additional information.
Proper leveling using plain "A4" or "Letter" paper is recommended. Level the bed by first homing all axes, then level each corner and at mid-span. In between leveling (by dragging the nozzle head from one to another position, beware of the hot nozzle!) redirect the nozzle to "Z=0" or home Z and instruct the printer to go to "Z=0".
Note that capacitive probe sensors are inaccurate, they tend to be influenced by the humidity of air.
Running Marlin Firmware and instructing a
G29
trough a terminal gives me something in the region of the unity matrix:Recv: Bed Level Correction Matrix:
Recv: +0.999994 +0.000000 -0.003585
Recv: +0.000003 +1.000000 +0.000823
Recv: +0.003585 -0.000823 +0.999993Running the command
G29 P3 V4
gives:NOTE:
P
Set the size of the grid that will be probed (P x P points)V
Set the verbose level (0-4)
Recv: G29 Auto Bed Leveling
Recv: Bed X: 25.000 Y: 22.000 Z: 0.138
Recv: Bed X: 109.000 Y: 22.000 Z: 0.071
Recv: Bed X: 193.000 Y: 22.000 Z: -0.842
Recv: Bed X: 193.000 Y: 97.000 Z: -0.427
Recv: Bed X: 109.000 Y: 97.000 Z: 0.083
Recv: Bed X: 25.000 Y: 97.000 Z: 0.086
Recv: Bed X: 25.000 Y: 172.000 Z: 0.004
Recv: Bed X: 109.000 Y: 172.000 Z: 0.019
Recv: Bed X: 193.000 Y: 172.000 Z: -0.297
Recv: Eqn coefficients: a: -0.00356075 b: 0.00080090 d: 2.38097906
Recv: Mean of sampled points: 2.07054519
Recv:
Recv: Bed Height Topography:
Recv: +--- BACK --+
Recv: | |
Recv: L | (+) | R
Recv: E | | I
Recv: F | (-) N (+) | G
Recv: T | | H
Recv: | (-) | T
Recv: | |
Recv: O-- FRONT --+
Recv: (0,0)
Recv: 0.13385 0.14866 -0.16731
Recv: 0.21531 0.21284 -0.29814
Recv: 0.26715 0.20050 -0.71286
Recv:
Recv: Corrected Bed Height vs. Bed Topology:
Recv: 0.12837 0.44228 0.42541
Recv: 0.26990 0.56653 0.35465
Recv: 0.38180 0.61425 0.00000
Recv:
Recv: Bed Level Correction Matrix:
Recv: +0.999994 +0.000000 -0.003561
Recv: +0.000003 +1.000000 +0.000801
Recv: +0.003561 -0.000801 +0.999993Running the command
G29 P3 V4
again, but now with my vernier on the bed (opposite to the side of the origin, on the right side of the bed; vernier under probing points 3 and 4), gives:Recv: G29 Auto Bed Leveling
Recv: Bed X: 25.000 Y: 22.000 Z: -0.003
Recv: Bed X: 109.000 Y: 22.000 Z: -0.050
Recv: Bed X: 193.000 Y: 22.000 Z: **5.709**
Recv: Bed X: 193.000 Y: 97.000 Z: **5.892**
Recv: Bed X: 109.000 Y: 97.000 Z: 0.007
Recv: Bed X: 25.000 Y: 97.000 Z: 0.039
Recv: Bed X: 25.000 Y: 172.000 Z: -0.023
Recv: Bed X: 109.000 Y: 172.000 Z: 0.017
Recv: Bed X: 193.000 Y: 172.000 Z: -0.329
Recv: Eqn coefficients: a: 0.02233918 b: -0.01331358 d: 2.30744504
Recv: Mean of sampled points: 3.45099973
Recv:
Recv: Bed Height Topography:
Recv: +--- BACK --+
Recv: | |
Recv: L | (+) | R
Recv: E | | I
Recv: F | (-) N (+) | G
Recv: T | | H
Recv: | (-) | T
Recv: | |
Recv: O-- FRONT --+
Recv: (0,0)
Recv: -1.27376 -1.23426 -1.57986
Recv: -1.21205 -1.24414 4.64083
Recv: -1.25401 -1.30091 4.45816
Recv:
Recv: Corrected Bed Height vs. Bed Topology:
Recv: 4.05814 2.22162 0.00000
Recv: 3.12192 1.21381 5.22275
Recv: 2.08203 0.15910 4.04215
Recv:
Recv: Bed Level Correction Matrix:
Recv: +0.999750 +0.000000 +0.022334
Recv: +0.000297 +0.999911 -0.013306
Recv: -0.022332 +0.013309 +0.999662From the snippets you can see that the topology is printed in the output. You also see the vernier of about 4.5 mm comming back in the matrices. But the 4.5 mm thickness of the vernier is not easily found in the correction matrix!
The answer to your question is that the origin is in the lower left of the matrix, so you need to loosen the origin screw in the first example (this matrix shows you that the bed is highest at the right-back and lowest at the origin at the left-front). Your second example shows that the whole bed is tilted downwards to the front.
This works **only** if the bed is truly flat. I've seen cases where someone tightens the four corner-screws too much and the bed becomes a convex surface (highest in the middle, even though all 4 corners are at the same level). So be careful!
@CarlWitthoft Yes, over tightening is not good as it can deform the bed, especially the thin aluminium heat beds. Personally I use 3 mm thick beds. Level must therefore be also checked at intermediate points (I referred to mid-span in the answer to indicate that, but I'm not native in English, sorry for the misunderstanding).
License under CC-BY-SA with attribution
Content dated before 7/24/2021 11:53 AM
cmm 3 years ago
What firmware are you using? There are several variations on the G29 command for different firmware. You have the marlin tag set, but it would help to put that information in the question. Are there arguments to the G29 command?