Automatic tilt correction of bed mesh



  • Re: Update mesh tilt on every print?

    So after RRFW 3.0 came out I decided to revisit my attempts to correct the tilt of the bed mesh before each print. When I remove a print, it can pull one corner of the bed out of adjustment. The only way I have of fixing this right now (if I want to keep using my G29 bed mesh) is to run G29 over again and, if the bed is really out of whack, adjust it and run G29 again. With a large number of sample points, this takes a long time. Marlin firmware's Unified Bed Leveling (UBL) feature has a quick and easy way of doing this that I used when I had a marlin board. The G29 J parameter does this:

    [J<int>] 	
    
    Grid (or 3-Point) leveling:
    
        These options calculate a plane and adjust the existing mesh to the bed tilt.
        If a value is provided, probe a grid with the given number of points, squared.
        With no value, probe 3 points to find the plane of the bed.
    

    Okay, now that the recap is out of the way, I've experimented with G30 in my beg.g file but it does not correct the tilt of the mesh and has has no effect on my heightmap.csv file. I have this in my bed.g:

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v2.0.3 on Wed Sep 11 2019 16:05:54 GMT-0700 (Pacific Daylight Time)
    ;M561 ; clear any bed transform
    ;G29  ; probe the bed and enable compensation
    M98 Pdeployprobe.g
    G30 P0 X80 Y60 Z-99999 ; probe near first leadscrew
    G30 P1 X80 Y210 Z-99999 ; probe near second leadscrew
    G30 P2 X230 Y220 Z-99999 ; probe near third leadscrew
    G30 P3 X230 Y60 Z-99999 S4 ; probe near third leadscrew
    M98 Pretractprobe.g
    

    I haven't seen any other references anywhere to something like a tilt correction feature, and in my original thread we never really came to a conclusion as to whether this was possible or if new code would need to be written.
    Has anything changed that would make this possible? If not, is it something you guys would consider adding?
    Thanks so much



  • Could you post a photo of how your bed is fitted to your machine? Of if it's a prebuilt one, a link to info about it?



  • Hi,

    The bed.g file you posted is configured to level the bed on a printer with four Z steppers loaded near the four corners of the bed.

    Does you printer have that?

    You also mentioned your height map file was not changed. That is because this bed.g file doesn't do that.

    The command G29 is use to create the height map.

    Also instead of using M98 to run the deploy/retract macros you can use M401 or M402.

    Frederick



  • @jay_s_uk it's a creality ender 4 (with considerable modification) but it just has the 4 spring loaded screws that hold the bed down.
    You can see 2 of the screws here. The springs go above the support platform but below the hotbed, and the hotbed is screwed down up against those springs so it's sort of "floating." On top of the hotbed I have a sheet of glass to level things out, then a magnetic pad with a spring steel build plate. I also have some insulation under the hotbed.
    IMG_20200330_140828.jpg
    This pic is a bit older, but the important stuff is the same.
    IMG_20191118_105231.jpg
    You can sort of see the way it's laid out in this image
    alt text
    @fcwilt
    I do not have 4 z steppers. I know G29 creates the height map, but I want to correct the height map without having to run G29 again.



  • @osterac said in Automatic tilt correction of bed mesh:

    I do not have 4 z steppers. I know G29 creates the height map, but I want to correct the height map without having to run G29 again.

    The only way I know of to "correct" a height map is to run G29 and create a new one.

    Frederick



  • have you tried doing a manual levelling routine so it tells you how much to screw the screws in and out to get the bed level?
    I use one on my flsun cube.

    m671 x15:250:15:250 y25:25:260:260 P0.5
    
    G30 P0 X10 Y25 Z-99999 ; probe near an adjusting screw
    G30 P1 X245 Y25 Z-99999 ; probe near an adjusting screw
    G30 P2 X10 Y230 Z-99999 ; probe near an adjusting screw
    G30 P3 X245 Y230 Z-99999 S4 ; probe near an adjusting screw
    
    G28 Z
    

    I probe above each of the 4 screw locations (or as close as possible) and then the software tells me how many turns up or down each screw requires.
    The probe points must match the order of the locations defined in M671


  • Moderator

    @osterac said in Automatic tilt correction of bed mesh:

    The G29 J parameter does this:

    I believe this is on the wish list for implementation already.


Log in to reply