G29 compensation not enough

  • Hello,
    I am using auto bed compensation as well as auto tramming with 2 z-screws on my corexy 3d printer with a bltouch.
    Since I switched to a layer-height of 0.1mm I am having trouble with the first layer. It is not consistent and prints do not stick in one corner.

    The G29 heightmap shows that this corner is lower than the rest of the bed. However the printer is not compensating enough.

    I search online and found several other threads of people with similar looking heightmaps and the same problem. Unfortunately I have not found a solution yet.
    Other People with similar issues:

    My heightmap:

    I have also attached the config files:
    config.g bed.g autotram.g homeall.g

  • This is a testprint (3 concentric squares, 0.1mm layerheight) I did. You can see that prints are not sticking in the back right corner.

  • Moderator

    Can the Z axis physically lower the nozzle low enough to actually touch the bed at that dip?

    I had an issue on an Ender 3 where the bed was cupped in the middle and the Z axis endstop mount physically prevented the z axis and therefore nozzle from lowering enough to reach the dip in the center of the bed.

    It looks like your bed is generally tilted to down towards the back. Have you tried physically correcting the tilt?

  • A few thoughts that you may or may not be aware of....

    You might want to run multiple iterations of your auto tram code rather than just one (check the adjustment made each time it should converge to very small changes). I typically run three iterations. One thing to check is that the two points you are using in your auto tram should have pretty much the same height in the height map, it is hard to be sure but that does not look to be the case in your map. Also it is important to follow the same steps when creating the height map as when applying it, so if you auto tram, home z, apply map, you must do auto tram, home z, build map. Doing auto tram build map (no home Z) may give you different results. Oh and the same applies to heating the bed, make sure you give it long enough to come up to full temperature all over the bed before you auto tram and generate the mesh, then do the same when you print. In your test print case if you just printed from cold (using the default code to heat the bed and wait for it to come up to temp), it may not have heated through by the time start to print, so if you generated the map after the bed had been heating for some time, the bed and map may not match.

  • Thank you guys for the suggestions I managed to find the issue. @Phaedrux I moved the zero point to the center of the bed (was front left) and it is also not compensating for spots that are too high. Also the auto tram error does not converge to zero (stays at approx 0.05mm) as suggested by @gloomyandy. I have noticed this earlier but I thought it was a setup issue (coordinates of leadscrew etc). I am using a macro to generate the mesh exactly the same way I start a print (with all home moves, heatup time etc) and the temperature sensor is mounted inside the aluminum buildplate.

    After verifying that the motors are spinning I used a dial indicator to measure if the bed is moving as well. Turns out it is not for movements under approx 0.1mm.

  • @shirnschall
    I had a problem similar to yours with one of the corners of the hot bed. In case it works for you or you haven't taken it into account, I had to set the fudge value (F) to 0.8 on the M671 Gcode for it to work properly. In my case my command is: M671 X-81.5: 415 Y100: 100 S2 F0.8

  • Update:
    after measuring the movement of each individual part of the z-axis gantry it looks like the leadscrew nuts are worn out. @1ri if the auto tram still does not converge after I replace the nuts I will try different fadge factors 🙂

Log in to reply