Welcome to mirror list, hosted at ThFree Co, Russian Federation.

G029-mbl.md « _gcode - github.com/MarlinFirmware/MarlinDocumentation.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3280445c57cc74398b4e438a7f67db04fc81bfdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
---
tag: g029m1
title: Bed Leveling (Manual)
brief: Measure Z heights in a grid, enable leveling compensation
author: thinkyhead

requires: MESH_BED_LEVELING
group: calibration

related: [ M420, M421 ]
codes: [ G29 ]

notes:
- Requires the `MESH_BED_LEVELING` option in `Configuration.h`.
- Similar to `AUTO_BED_LEVELING_BILINEAR` with `PROBE_MANUALLY` but uses less SRAM.
- For automatic probe-based leveling enable one of the [`AUTO_BED_LEVELING_*`](/docs/configuration/configuration.html#bed-leveling) options instead.
- "[`G28`](/docs/gcode/G028.html) disables bed leveling. Follow with `M420 S` to turn leveling on, or use `RESTORE_LEVELING_AFTER_G28` to automatically keep leveling on after [`G28`](/docs/gcode/G028.html)."

parameters:
-
  tag: S
  optional: false
  values:
    -
      tag: 0
      description: Produce a mesh report (see examples below).
    -
      tag: 1
      description: Start probing mesh points.
    -
      tag: 2
      description: Probe the next mesh point.
    -
      tag: 3
      description: Manually modify a single point with `X` `Y` `Z` parameters. (See also [`M421`](/docs/gcode/M421.html).)
    -
      tag: 4
      description: Set a global Z offset. Positive values are away from the bed; negative values are closer.
    -
      tag: 5
      description: Reset and disable mesh.
-
  tag: I
  optional: true
  description: '**(Marlin 2.x)** With `S3`, the (0...n-1) X index of the mesh value to modify.'
  values:
    -
      tag: index
      type: int
-
  tag: J
  optional: true
  description: '**(Marlin 2.x)** With `S3`, the (0...n-1) Y index of the mesh value to modify.'
  values:
    -
      tag: index
      type: int
-
  tag: X
  optional: true
  description: '**(Marlin 1.x)** With `S3`, the (1...n) X count of the mesh value to modify.'
  values:
    -
      tag: count
      type: int
-
  tag: Y
  optional: true
  description: '**(Marlin 1.x)** With `S3`, the (1...n) Y count of the mesh value to modify.'
  values:
    -
      tag: count
      type: int
-
  tag: Z
  optional: true
  description: With `S3`, the new mesh Z value.
  values:
    -
      tag: linear
      type: float

examples:
-
  pre: 'S0 mesh report:'
  code:
    - |
      > G29 S0
      Num X,Y: 3,3
      Z offset: 0
      Measured points:
             0      1       2
      0 +0.011 -0.020  -0.026
      1 +0.017 +0.002  -0.019
      2 +0.022 -0.030  -0.013

-
  pre: '**(Marlin 1.x)** Modify some mesh points and view the new mesh:'
  code:
    - |
      > G29 S3 X3 Y3 Z0.042
      > G29 S3 X2 Y2 Z-0.666
      > G29 S0
      Num X,Y: 3,3
      Z offset: 0
      Measured points:
             0      1       2
      0 +0.011 -0.020  -0.026
      1 +0.017 -0.666  -0.019
      2 +0.022 -0.030  +0.042
-
  pre: '**(Marlin 2.x)** Modify some mesh points and view the new mesh:'
  code:
    - |
      > G29 S3 I2 J2 Z0.042
      > G29 S3 I1 J1 Z-0.666
      > G29 S0
      3x3 mesh. Z offset: 0
      Measured points:
             0      1       2
      0 +0.011 -0.020  -0.026
      1 +0.017 -0.666  -0.019
      2 +0.022 -0.030  +0.042
---

Mesh Bed Leveling (MBL) allows interactively measuring a Z height mesh without a bed probe. The only tool required is a piece of paper or a feeler gauge. MBL uses the mesh to compensate for variations in height across the bed.

**Mesh Bed Leveling from the host:**

1. Use `G29 S0` to get the current status and mesh. If there’s an existing mesh, you can send M420 S1 to use it.
2. Use `G29 S1` to move to the first point for Z adjustment.
3. Adjust Z so a piece of paper can just pass under the nozzle.
4. Use `G29 S2` to save the Z value and move to the next point.
5. Repeat steps 3-4 until completed.
6. Use [`M500`](/docs/gcode/M500.html) to save the mesh to EEPROM, if desired.

**Mesh Bed Leveling using an LCD controller:** (Requires `LCD_BED_LEVELING`)

1. Select `Level Bed` then choose `Level Bed` (not `Cancel`) in the sub-menu.
2. Wait for `Homing XYZ` to complete.
3. When `Click to Begin` appears, press the controller button to move to the first point.
4. Use the controller wheel to adjust Z so that a piece of paper can just pass under the nozzle.
5. Press the controller button to save the Z value and move to the next point.
6. Repeat steps 4-5 until completed.
7. Use `Control` > `Store memory` to save the mesh to EEPROM, if desired.