Auto leveling with Marlin and RAMPS 1.4 does not work
I configured Marlin 1.1.3 for auto-leveling with a fix mounted sensor connected to the Z end-stop pin.
I have the following settings in my config:
#define X_PROBE_OFFSET_FROM_EXTRUDER 25
#define Y_PROBE_OFFSET_FROM_EXTRUDER 20
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
#define GRID_MAX_POINTS_X 7
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// The Z probe minimum outer margin (to validate G29 parameters).
#define MIN_PROBE_EDGE 10
// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION 25
#define RIGHT_PROBE_BED_POSITION 150
#define FRONT_PROBE_BED_POSITION 30
#define BACK_PROBE_BED_POSITION 180
M111 S38to enable LEVELING+INFO+ERROR debugging.
Then I enter
G28to home all axes and then enter
G29to start auto-leveling.
The auto-leveling starts successfully and after finishing I see the scan grid in console:
12:41:35.983 : Bilinear Leveling Grid:
12:41:35.983 : 0 1 2 3 4 5 6
12:41:35.983 : 0 -3.127 -3.405 -3.405 -3.292 -3.595 -3.487 -3.537
12:41:35.983 : 1 -3.110 -3.367 -3.337 -3.220 -3.470 -3.350 -3.365
12:41:35.983 : 2 -3.138 -3.367 -3.330 -3.215 -3.442 -3.345 -3.385
12:41:35.984 : 3 -3.013 -3.225 -3.182 -3.047 -3.225 -3.132 -3.150
12:41:35.984 : 4 -2.970 -3.165 -3.097 -2.972 -3.160 -3.045 -3.065
12:41:35.984 : 5 -2.875 -3.075 -3.005 -2.847 -2.990 -2.872 -2.875
12:41:35.984 : 6 -2.680 -2.845 -2.755 -2.615 -2.753 -2.617 -2.622
12:41:35.985 : G29 uncorrected Z:10.00
12:41:35.985 : corrected Z:12.85
12:41:35.985 : <<< gcode_G29
12:41:35.985 : X:120.00 Y:160.00 Z:12.85 E:0.00 Count X:9600 Y:12800 Z:4000
12:41:35.985 : current_position=(120.00, 160.00, 12.85) : sync_plan_position
So the auto-leveling scanning seems to be successful.
Here is a visual of the leveling grid (but upside down to make it easier to view):
Naturally I DO NOT enter
G28after the scanning.
G0 Z1to down nozzle almost to table. But when I enter for example
G0 X25 Y30and look at level and then I enter
G0 X150 Y150I see the big difference between nozzle levels relatively to table. So it seems that height compensation does not work. I expect that Z axis would lift up or down depending on auto-leveling results but Z motor do not work when I move X/Y.
By the way I tried 3 point autoleveling. It was pretty rough but Z axis corrected it's level when I moved axes using
And to avoid questions "why my table is inclined so much?" I deliberately inclined the table to be sure that auto leveling works. By the way, I tried different
Z_PROBE_OFFSET_FROM_EXTRUDERso the current 0 setting is not actual but situation is the same with any value of this option.
What I am doing wrong?
hmm, i didn' thought abot it, will check
btw what software did you use to visualize the mesh?
I created the visualization using Excel.
Sergey Kravchenko Correct answer5 years ago
Bed leveling is disabled by default. So the mesh was scanned but is not apllied after G29 command. To apply the mesh we need to enable bed leveling using
License under CC-BY-SA with attribution
Content dated before 7/24/2021 11:53 AM
markshancock 5 years ago
I plotted your leveling grid and the axis that is opposite your incline is going up and down quite a bit. Could your table be wobbling/rocking and this is throwing off the auto-level?