As far as I understand the “sensorless homing” feature of TMC2209 drivers works like this:
- stepper moves towards 0 in X or Y direction
- TMC2209 reports back the current used by the stepper
- when the current reaches a certain threshold is means that the stepper has reached an obstacle (the end of the axis). This would be considered the 0 position.
It works for X and Y because a high accuracy is not needed, but it’s not accurate enough for Z.
I was thinking, why don’t we use it for Z, but as a safety feature and not as endstop?
Basically set some current threshold which would not trigger when a regular probing is done, but would trigger when a toolhead/nozzle is ramming into the build plate. This would essentially prevent a lot of mechanical failures when a probe fails or coordinates are not set correctly. Or you accidentally start a print and forget to remove the previous print
Surely I’m not the first to come up with this idea. Is it something that can be configured with Klipper out of the box?
Is anything preventing an implementation of this in theory?