Sensorless homing

SKR v1.3 jumpers for TMC2209

Marlin sensoless homing related definitions

configuration.h

#define X_MIN_ENDSTOP_INVERTING false // false for TMC2209, true for TMC2130

#define Y_MIN_ENDSTOP_INVERTING false // false for TMC2209, true for TMC2130


configuration_adv.h

#define X_STALL_SENSITIVITY 140 // value varies according to the friction and moving weight in your system

#define Y_STALL_SENSITIVITY 140 // value varies according to the friction and moving weight in your system


#define X_CURRENT 800

#define X_CURRENT_HOME 400


#define Y_CURRENT 800

#define Y_CURRENT_HOME 400


Save changed parameters into EEPROM

The menu items in the display panel turns clicks into predefined G-code commands. It will be faster to debug to send G-codes directly from the console.

The same as other parameters, sensitivity values changed at the display should be saved into EEPROM (G-code M500 save settings). If not, the new values will disappear after reboot, and the last saved values or values written in the compiled binary will be applied.


TMC bump sensitivity

With TMC2209, the sensitivity value ranges from 0 to 255. Higher values means more sensitive, easier to be triggered and stop moving. Lower values means more possible to crash.

With TMC2130, the sensitivity value ranges from 63 to -64. Lower values means more sensitive.


M914 X140 Y140 ; set X & Y sensitivity to 140

M914 ; get current sensitivity

M500 ; save into EEPROM


TMC StealthChop mode is necessary for sensorless homing

Please check if these G-codes are in your slicer start script. By manually input them in the console you can experiment on the fly.


M569 S1 X Y ; switch to TMC StealthChop before sensorless homing

G28 ; home

M569 S0 X Y ; switch to TMC SpreadCycle after sensorless homing


Check current endstop status

Send G-code M119 (endstop status) in the console and see if the any states are wrong.