Skip to main content

Site Navigation

Your Account

Choose Language

Help

Revision to Bed levelling using multiple independent Z motors

David Crocker

If your bed is not perfectly flat or the gantry sags a little when the head is over the middle of the bed, the process will cause a small shift in the Z=0 position. To correct this, if you are using the Z probe to do Z homing, you can just re-home Z at the end of your bed.g file.
 
== Recommendations ==

* If you have 3 or 4 Z motors, in bed.g use at least one probe point close to each leadscrew.
* If you have just 2 Z motors, one at each end of the X axis, then set the Y coordinates of the leadscrews in the M671 command to be equal (the value doesn't matter, so you can use zero). Use at least two probe points, one at each end of the X axis. All your probe points should have the same Y coordinate, which should be at or near the middle of the printable range.

==
Example for 3 motors ==
== Recommendations ==

* If you have 3 or 4 Z motors, in bed.g use at least one probe point close to each leadscrew.
* If you have just 2 Z motors, one at each end of the X axis, then set the Y coordinates of the leadscrews in the M671 command to be equal (the value doesn't matter, so you can use zero). Use at least two probe points, one at each end of the X axis. All your probe points should have the same Y coordinate, which should be at or near the middle of the printable range.

==
Example for 3 motors ==
 
File config.g:
[code]
G28 ; home
M401 ; deploy Z probe (omit if using bltouch)
M401 ; deploy Z probe (omit if using bltouch)
G30 P0 X20 Y190 Z-99999 ; probe near a leadscrew
G30 P1 X180 Y190 Z-99999 ; probe near a leadscrew
G30 P2 X100 Y10 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors
M402 ; retract probe (omit if using bltouch)
[/code]

== Example for 2 motors ==

File config.g:

[code]
...
M584 X0 Y1 Z2:4 ; two Z motors connected to driver outputs Z and E1
M671 X-20:220 Y0:0 S0.5 ; leadscrews at left and right of X axis
M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200
...
[/code]

File bed.g:

[code]
G28 ; home
M401 ; deploy Z probe (omit if using bltouch)
G30 P0 X20 Y100 Z-99999 ; probe near a leadscrew, half way along Y axis
G30 P1 X180 Y100 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
M402 ; retract probe (omit if using bltouch)
M402 ; retract probe (omit if using bltouch)
[/code]

== Example for 2 motors ==

File config.g:

[code]
...
M584 X0 Y1 Z2:4 ; two Z motors connected to driver outputs Z and E1
M671 X-20:220 Y0:0 S0.5 ; leadscrews at left and right of X axis
M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200
...
[/code]

File bed.g:

[code]
G28 ; home
M401 ; deploy Z probe (omit if using bltouch)
G30 P0 X20 Y100 Z-99999 ; probe near a leadscrew, half way along Y axis
G30 P1 X180 Y100 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
M402 ; retract probe (omit if using bltouch)
[/code]

To undo the changes made by this version, click 'Revert Changes.' This will automatically restore the previous version of this guide.

Revert Changes