Skip to content
This repository was archived by the owner on Feb 8, 2024. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 59 additions & 9 deletions docs/support/howto/homing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,67 @@ travel\_\*, offset\_\*, and home\_\* (not in this section, see the
They can all be positive or negative. Here is a quick run-down of what
is happening internally:

#. Travel the distance and direction set in travel\_\*. If an end stop
is found, stop.
#. If your machine is a delta, switch to cartesian mode.
#. Travel the distance in the opposite direction set in travel\_\*. If an end stop is found, stop.
#. Move away the distance found in backoff\_distance\_\*, then hit the
end stop once more, slower.
#. Move the distance set in offset\_\*, opposite of travel\_\*. The
offset\_\* sign is thus typically the same as the travel\_\* sign.
#. If the values in home\_\* is 0, the routine is done and the position
is 0, 0, 0.
#. If there are values in home\_\*, use those values in the G92 command,
so that the printer will then move to that point, changing the
position.
#. Set position to -1 * offset\_\*.
#. If your machine is a delta, switch back to delta mode.
#. Move to home\_\*.

The subtle point to keep in mind when configuring these is that what matters is where your extruder is relative to your bed, not what's moving to get it there. When the extruder is over the front left corner of the printer, it's at X=0, Y=0. It might get there because the extruder moved left and forward, or your extruder could be fixed and the bed moved right and backward instead. The end result is the same - extruder is over the front left corner.

This means that for a traditional cartesian where the extruder moves in X and Y and the bed moves in Z, your config might look like...
::
[Geometry]
offset_x = -0.23 # X endstop triggers when the hotend is to the *right* (X+) of the bed
offset_y = -0.216 # Y endstop triggers when the hotend is to the *rear* (Y+) of the bed
offset_z = 0.00278 # Z endstop triggers when the bed is at the top of the printer (in this case, it's so high it would hit the hotend if the hotend were in the way)

# Travel should be roughly the total distance your axes can travel
travel_x = -0.26 # hotend needs to move *right* (X+) to find its endstop, so negative
travel_y = -0.26 # hotend needs to move *back* (Y+) to find its endstop, so negative
travel_z = 0.21 # bed needs to move up towards the hotend (Z-) to find its endstop, so positive

[Homing]
home_x = 0.229 # move a bit in from the X endstop at X=0.230
home_y = 0.100 # move to the middle of the Y axis (endstop was as Y=0.216)
home_z = 0.01 # move the bed back down

For a Printrbot-like cartesian where the bed moves in X and the extruder moves in Y and Z, your config might look like...
::
[Geometry]
offset_x = 0.0 # X endstop triggers when the hotend is to the *left* (X=0) of the bed
offset_y = -0.150 # Y endstop triggers when the hotend is to the *rear* (Y+) of the bed
offset_z = -0.000176 # Z endstop triggers when the hotend is just above (but not touching) the bed

# Travel should be roughly the total distance your axes can travel
travel_x = 0.16 # hotend needs to move *left* (which is really bed moving right) (X-) to find its endstop, so positive
travel_y = -0.16 # hotend needs to move *back* (Y+) to find its endstop, so negative
travel_z = 0.16 # hotend needs to move *down* towards the bed (Z-) to find its endstop, so positive

[Homing]
home_x = 0.075 # move to the middle of the X axis
home_y = 0.075 # move to the middle of the Y axis
home_z = 0.01 # move a bit up

For a Delta, you would typically have something like...
::
[Geometry]
offset_x = -0.250 # endstops are at the top of the towers, so the offsets are negative
offset_y = -0.250
offset_z = -0.250

# Travel should be roughly the height of your printer
# Endstops are at the tops of the towers, so these values are negative
travel_x = -0.5
travel_y = -0.5
travel_z = -0.5

[Homing]
home_x = 0
home_y = 0
home_z = 0.200 # home to the center, but keep the effector near the top of the printer


Offset\_\* does homing in Cartesian space, so for a delta, the values,
Expand Down