Sensorless Homing Usage
Important Notes
Prerequisites
- All of the following conditions must be met simultaneously:
- The motherboard supports the
DIAGfunction. - The driver supports
DIAGsignal output. - The corresponding endstop port must not have any device connected!
Motherboard Compatibility Check
Fly Motherboard Support Categories:
| Type | Support Status | Representative Models | Operation Requirement |
|---|---|---|---|
| Type A | Default Direct Connection | Super/Gemini/CDY/E3 Series | ✅ Use endstop port directly |
| Type B | Requires Jumper Enable | D/C/Pro-X10/Micro Series | ⚡ Must install DIAG jumper |
| Type C | Not Supported | Fly-F407ZG | ❌ Cannot use sensorless homing |
Confirmation Method:
- Check motherboard labeling: Look for a jumper socket labeled
DIAG.- Consult the schematic: Confirm the
DIAGsignal connection for the driver interface.- For most motherboards, sensorless homing mapping is
Drive0toio0,Drive1toio1, and so on.
|
|
Driver Compatibility Check
Tip
TMC5160,TMC2240, andTMC2130have twoDIAGpins.- You need to check the corresponding product documentation or consult customer service to confirm.
| Driver Model | Compatibility | DIAG Pin(s) | Configuration Requirement | Sensitivity Requirement |
|---|---|---|---|---|
| TMC2209 | ✅ Supported | Single Pin | Use directly | 0-255 # 255 is most sensitive, 0 is least sensitive |
| TMC5160 | ✅ Supported | Dual Pins | Must select diag pin | -64 63 # -64 is most sensitive, 63 is least sensitive |
| TMC2240 | ✅ Supported | Dual Pins | Must select diag pin | -64 63 # -64 is most sensitive, 63 is least sensitive |
| TMC2130 | ✅ Supported | Dual Pins | Must select diag pin | -64 63 # -64 is most sensitive, 63 is least sensitive |
| TMC2208 | ❌ Not Supported | - | Cannot use sensorless homing | Cannot use sensorless homing |
| TMC2660 | ❌ Not Supported | - | Cannot use sensorless homing | Cannot use sensorless homing |
| LV8729 | ❌ Not Supported | - | Cannot use sensorless homing | Cannot use sensorless homing |
Identification Points:
- For dual-pin drivers, you must consult the corresponding manual to confirm the functional pin.
- Some drivers support the
DIAGfunction, but if the corresponding header pins are not soldered, it cannot be used.
Configuration Instructions
- You need to modify the configuration for the corresponding driver model and axis.
- For some machines using sensorless homing, retraction may cause homing to fail. You need to set
homing_retract_dist:to0.
Reference Configuration
tmc2209_stepper_xneeds to be changed to the corresponding driver model.stepper_xindicates the X-axis. For the Y-axis, change it tostepper_y.
- TMC2209 Reference Config
- TMC5160 Reference Config
- TMC2130 Reference Config
- TMC2240 Reference Config
- Note: The pins in the configuration below are for reference only; use the actual pins.
- The
diag_pin:configuration must include^, otherwise homing will fail. - The value in
driver_SGTHRS:needs to be tested and set by yourself. 255 is the most sensitive, 0 is the least sensitive.[stepper_x]
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 0
[tmc2209 stepper_x]
diag_pin: ^PD9
driver_SGTHRS: 100
- Note: The pins in the configuration below are for reference only; use the actual pins.
- You need to consult the corresponding product manual to determine whether to use
diag0_pin:ordiag1_pin:. - The
diag1_pin:configuration must include^!, otherwise homing will fail. - The value in
driver_SGT:needs to be tested and set by yourself. -64 is the most sensitive, 63 is the least sensitive.[stepper_y]
endstop_pin: tmc5160_stepper_y:virtual_endstop
position_endstop: 0
[tmc5160 stepper_y]
diag1_pin: ^!PD9
driver_SGT: 1
- Note: The pins in the configuration below are for reference only; use the actual pins.
- You need to consult the corresponding product manual to determine whether to use
diag0_pin:ordiag1_pin:. - The
diag1_pin:configuration must include^!, otherwise homing will fail. - The value in
driver_SGT:needs to be tested and set by yourself. -64 is the most sensitive, 63 is the least sensitive.[stepper_y]
endstop_pin: tmc2130_stepper_y:virtual_endstop
position_endstop: 0
[tmc2130 stepper_y]
diag1_pin: ^!PD9
driver_SGT: 1
- Note: The pins in the configuration below are for reference only; use the actual pins.
- You need to consult the corresponding product manual to determine whether to use
diag0_pin:ordiag1_pin:. - The
diag1_pin:configuration must include^!, otherwise homing will fail. - The value in
driver_SGT:needs to be tested and set by yourself. -64 is the most sensitive, 63 is the least sensitive.[stepper_x]
endstop_pin: tmc2240_stepper_x:virtual_endstop
position_endstop: 0
[tmc2240 stepper_x]
diag1_pin: ^!PD9
driver_SGT: 1
Testing Sensitivity
-
Step 1
-
Enter the following command in the web console.
-
Slowly move the print head to the middle of the machine. Use the
SET_TMC_FIELDcommand to set sensitivity. -
For
TMC2209, use the command below (modify the axis you are testing).SET_TMC_FIELD STEPPER=stepper_x FIELD=SGTHRS VALUE=255 -
For
TMC5160,TMC2240, andTMC2130, use the command below (modify the axis you are testing).SET_TMC_FIELD STEPPER=stepper_x FIELD=sgt VALUE=-64
-
-
Step 2
- Enter the following command in the web console.
G28 X - Confirm the X-axis does not move at all or stops moving quickly.
- If it moves without notification, immediately issue the following command.
M112 - Check the wiring or configuration of the corresponding
DIAG PIN. There may be an error that must be corrected before proceeding.
- Enter the following command in the web console.
-
Step 3
- Next, continuously lower the sensitivity set by
VALUE, and run theSET_TMC_FIELDandG28 X0commands again. - Find the highest sensitivity that allows the carriage to successfully move all the way to the end and stop.
- For TMC2209 drivers, adjustment means decreasing SGTHRS. For other drivers, adjustment means increasing sgt.
- Next, continuously lower the sensitivity set by
-
Step 4
- Once you have tested and found a suitable value where homing stops immediately upon touch, remember the current value.
- If there is a crash or clicking sound at maximum sensitivity, the homing speed may be too low, the driver current may be too low, or the axis may not be suitable for sensorless homing.
- Open
printer.cfgand update the corresponding sensitivity configuration.
Loading...