Sensing external torque on stepper when idling


I am looking at the feasibility of triggering a stepper motor by manually applying some torque on it. My use case would typically be for a motorized curtains system using a timing belt, where slightly pulling on the curtain would trigger the motorized closing/opening.
I am using a Nema17 with an A4988/TMC2209 driver. Although the TMC2209 has some stall detection capabilities, they only work above a certain speed (which is not zero).

Is there any possible approach to the problem ?

Thanks !

Normally stepper motors have no way to output data, only to receive it. It may be possible under some circumstances to detect the back EMF created in the stepper motor coils when it is not powered and the shaft is turned but I have never seen it mentioned.

You could but a strain gauge on the curtain cord - or on one of the pulleys that the cord runs over.


Yes, you most certainly could do that.

Note however, that it is not the torque on the stepper that you are detecting, but actual movement. If it is not powered then you can detect the voltages generated by movement. While the stepper driver is disabled it will automatically function as a bridge rectifier and you should be able to detect voltages changing on the stepper wires within the range of the supply voltage.