DRV8846: Identifying motor stall from the driver current profile

Part Number: DRV8846
Other Parts Discussed in Thread: DRV8889-Q1, DRV8434S, DRV8462

Tool/software:

Hello,

We are using a DRV8846 to drive a small stepper motor. In our application, the MCU must detect when the motor stalls, so we implemented a current-sensing mechanism on the VM pin of the driver (high-side shunt resistor with an INA138NA amplifier).

During PCB validation, we probed the amplifier output with an oscilloscope, but the result showed almost no difference between the motor running and stalled (the difference is minimal and very hard for the MCU to detect).

Is it even possible to identify a stall using the current profile or RMS value?

If it is possible, what could be the issue?

For reference, the motor we are using is:

  • Type: Bipolar stepper motor

  • Winding: 12 V, 100% duty cycle

  • Resistance: 40 Ω

Thanks in advance

  • Hi,

    Thanks for your post.

    We are using a DRV8846 to drive a small stepper motor. In our application, the MCU must detect when the motor stalls, so we implemented a current-sensing mechanism on the VM pin of the driver (high-side shunt resistor with an INA138NA amplifier).

    Unlike brushed DC (BDC) motors, a stepper motor current will not change when the motor stalls. Monitoring current will not allow stall detection. In stepper motors stall detection is done by evaluating or computing the back EMF (BEMF) or the effects of BEMF. TI stepper drivers such as the DRV8889-Q1, DRV8434S, DRV8462/8461/8452 implement stall detection with this approach. See application note, https://www.ti.com/lit/an/slvaei3/slvaei3.pdf.

    Regards, Murugavel