BiLinear bed leveling

  • My G29 command reports



    +0.178 +0.281 +0.830
    -0.614 -0.012 +0.371
    -1.208 -0.849 -0.351


    So 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.668


    Finally the leveling process was found here
    But the question remains. The value -0.572 corresponds close to 0,0 ?


    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?

    @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.

  • 0scar

    0scar Correct answer

    4 years ago

    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.999993


    Running 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.999993


    Running 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.999662


    From 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