Infinite Endstop Usage
Precautions
Prerequisites
- All of the following must be met:
- The motherboard must support the
DIAGfunction - The driver must support
DIAGsignal output - The corresponding endstop port must not have any device connected!
Motherboard Compatibility Check
Fly Motherboard Support Classification:
| Type | Support Status | Representative Models | Operation Requirements |
|---|---|---|---|
| Class A | Directly Connected by Default | Super/Gemini/CDY/E3 Series | ✅ Directly use the endstop interface |
| Class B | Jumper Required to Enable | D/C/Pro-X10/Micro Series | ⚡ Must install DIAG jumper cap |
| Class C | Not Supported at All | Fly-F407ZG | ❌ Cannot use infinite endstop function |
Confirmation Method:
- Check the motherboard markings: Look for a jumper header labeled
DIAG- Refer to the schematic: Confirm the
DIAGsignal connection on the driver interface- For most motherboards,
Drive0corresponds toio0,Drive1toio1, and so forth for the infinite endstop.
|
|
Driver Compatibility Check
Note
TMC5160,TMC2240, andTMC2130have twoDIAGpins- You need to check the corresponding product documentation or consult customer service to confirm.
| Driver Model | Compatibility | DIAG Pin | 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 to 63 # -64 is most sensitive, 63 is least sensitive |
| TMC2240 | ✅ Supported | Dual Pins | Must select diag pin | -64 to 63 # -64 is most sensitive, 63 is least sensitive |
| TMC2130 | ✅ Supported | Dual Pins | Must select diag pin | -64 to 63 # -64 is most sensitive, 63 is least sensitive |
| TMC2208 | ❌ Not Supported | - | Cannot use infinite endstop function | Cannot use infinite endstop function |
| TMC2660 | ❌ Not Supported | - | Cannot use infinite endstop function | Cannot use infinite endstop function |
| LV8729 | ❌ Not Supported | - | Cannot use infinite endstop function | Cannot use infinite endstop function |
Identification Key Points:
- For dual-pin drivers, you must consult the corresponding manual to confirm the function pins
- Some drivers support the
DIAGfunction, but cannot be used if the corresponding pins are not soldered.
Configuration Explanation
- The corresponding driver model and axis need to be modified.
- On some machines, when using infinite endstop homing, the retraction can cause homing failure. In this case, set
homing_retract_dist:to0.
Reference Configuration
tmc2209_stepper_xneeds to be changed to the corresponding driver model.- The
xinstepper_xrepresents it is for thexaxis. If it's theyaxis, change it tostepper_y.
- TMC2209 Reference Configuration
- TMC5160 Reference Configuration
- TMC2130 Reference Configuration
- TMC2240 Reference Configuration
- Please note that the pins in the configuration below are just for reference; use the actual ones.
^must be added to thediag_pin:configuration, otherwise, homing will fail.- The value in
driver_SGTHRS:needs to be tested and set by yourself. 255 is the most sensitive value, 0 is the least sensitive.[stepper_x]endstop_pin: tmc2209_stepper_x:virtual_endstopposition_endstop: 0[tmc2209 stepper_x]diag_pin: ^PD9driver_SGTHRS: 100
- Please note that the pins in the configuration below are just for reference; use the actual ones.
- You need to check the corresponding product manual to determine whether to use
diag0_pin:ordiag1_pin:. ^!must be added to thediag1_pin:configuration, otherwise, homing will fail.- The value in
driver_SGT:needs to be tested and set by yourself. -64 is the most sensitive value, 63 is the least sensitive.[stepper_y]endstop_pin: tmc5160_stepper_y:virtual_endstopposition_endstop: 0[tmc5160 stepper_y]diag1_pin: ^!PD9driver_SGT: 1
- Please note that the pins in the configuration below are just for reference; use the actual ones.
- You need to check the corresponding product manual to determine whether to use
diag0_pin:ordiag1_pin:. ^!must be added to thediag1_pin:configuration, otherwise, homing will fail.- The value in
driver_SGT:needs to be tested and set by yourself. -64 is the most sensitive value, 63 is the least sensitive.[stepper_y]endstop_pin: tmc2130_stepper_y:virtual_endstopposition_endstop: 0[tmc2130 stepper_y]diag1_pin: ^!PD9driver_SGT: 1
- Please note that the pins in the configuration below are just for reference; use the actual ones.
- You need to check the corresponding product manual to determine whether to use
diag0_pin:ordiag1_pin:. ^!must be added to thediag1_pin:configuration, otherwise, homing will fail.- The value in
driver_SGT:needs to be tested and set by yourself. -64 is the most sensitive value, 63 is the least sensitive.[stepper_x]endstop_pin: tmc2240_stepper_x:virtual_endstopposition_endstop: 0[tmc2240 stepper_x]diag1_pin: ^!PD9driver_SGT: 1
Testing Sensitivity
-
Step 1
-
Enter the commands below in the web console.
-
Slowly move the toolhead to the middle of the machine. Use the
SET_TMC_FIELDcommand to set the 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 command below in the web console.
G28 X
- Confirm that the X-axis does not move at all or stops moving immediately.
- If it hasn't started moving, immediately issue the command below.
M112
- Check that the wiring or configuration of the corresponding
DIAG PINpin might be incorrect and must be corrected before proceeding.
- Enter the command below in the web console.
-
Step 3
- Next, continuously decrease 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 involves decreasing SGTHRS. For other drivers, adjustment involves increasing sgt.
- Next, continuously decrease the sensitivity set by
-
Step 4
- Once you have tested a suitable value where it stops on a dime after homing, remember the current value.
- If there is a bang or click at maximum sensitivity, the homing speed might be too low, the driver current might be too low, or this axis might not be suitable for sensorless homing.
- Open
printer.cfgand update the corresponding sensitivity configuration.
Loading...