Z-Homing via endstops vs. Mesh Bed Compensation
Lasko last edited by Lasko
i can't find the settings for auto levelling the bed as I want it:
I have a CoreXY-Printer with 3 independent Z-Leadscrews. Every Z-Axis has an endstop at its top position (z=0). What I am trying to do:
Step: Home all axes with the use of the endstops:
This works, and even a manually heavy tilted bed is levelled by individually moving all 3 Z-
Axes until all endstops are active.
Step: After the "rough" bed levelling via the endstops (Step 1), I want to use a BL-Touch-Sensor
to create a .csv Map. This works as well. Right now, in the heightmap I can see that the
Bed is tilted in one direction. This should be caused by small height differences of the
Step: If i activate Mesh Bed compensation, i can see that the bed moves up and down if i move
the Hotend along the y-axis. It does what it should do, but I want the bed to detect that it
is still tilted after endstop homing and correct its 3 z-axes accordingly after heightmap
creation. Instead of the z-correction while moving in the xy-plane, i want the bed to level
itself before printing.
So is this only possible, if i just use homing via z-Probe( BL-Touch) instead of endstop homing?
Of course i can adapt the endstop positions, but this would be the more elegant way to go in my eyes.
aidar last edited by
In case it's not already clear from reading the linked doc, you will need to add some gcode to the config.g to tell the firmware where your leadscrews are physically, and then you will need to add some gcode to a macro, probably bed.g (G32), to probe near those lead screws and effect the tilt correction. You can then carry on with a G29 to map the bed surface.
Lasko last edited by
Ok, thank you for your answers.
So, it seems that I have to use the G30 command to auto-level the bed.
I hoped there is a way to use the Mesh Bed Compensation Data to level the bed in the 2 directions (e.g. with a least square algorithm). By that I mean not to use the Mesh Bed Compensation only while moving the Hotend by adapting the bed-height but to level the bed as good as possible by turning the 3 z-motors individually before printing.
By that I mean not to use the Mesh Bed Compensation only while moving the Hotend by adapting the bed-height but to level the bed as good as possible by turning the 3 z-motors individually before printing.
Mesh Bed Levelling doesn’t work that way. It’s role is to compensate for any unevenness in the bed, once it is already on a level plane. It doesn’t automatically level the bed plane; the three point bed levelling does that. You can certainly use the information from the mesh levelling to level the bed plane manually, but you have a probe that can do that!
Why put the endstops at the top of the Z axes? You have the probe to provide setting Z endstop and datum, as well as bed plane levelling and mesh compensation (if it’s even necessary). Better to put the Z endstops at the bottom of the axis, then if you lose power mid-print, you can home to them on restart, when you can’t home to the top of the axis or with the probe, because the print would be in the way. You can even use the probe to set the Z endstops offsets very accurately, so you don’t even need to probe.
Lasko last edited by
Thank you for those informations Ian!
I joined the "development" of this 3D-Printer as part of a student thesis. It might really be the best option to revisit the positioning of the endstops that was done before. I never thought about the power-off-mid-print situation. Thank you for your reply!
Maybe i even find a way to use the Mesh Data. This way I would already have something i could write into my thesis