Trouble with DRV8434S stall detection

Hey everyone,

I'm trying to use the built-in stall detection feature of the DRV8434S stepper motor driver to detect end-of-travel in a linear actuator I'm designing. The driver is able to drive the NEMA 17 motor I'm using perfectly well, and I'm able to use the SPI interface to set the drive current and microstepping levels. The problem comes when I try to read the TRQ_COUNT register, which corresponds to the mechanical load on the motor - it only reads 4095, the default value according to the datasheet.

I've ensured that all the requirements described by the datasheet for stall detection are met: The driver is in Smart Tune Ripple Control, EN_STL is 1, and no fault condition is present.

I've spent six hours trying to fix this problem - so far I've tried:

  • changing the STALL_TH register from its default of 3 to 50
  • Adding or removing the current limit
  • Changing the current decay mode
  • Changing the microstep mode
  • Changing the speed of the motor
  • Changing the ripple threshold, turning Spread Spectrum and Torque Scale on and off
  • Turning on Stall Representation (Causes the nFLT pin to go low during a stall, the pin stayed high when the motor was stalled)
  • Switching out the driver for a brand-new one
  • Activating the Stall Learn feature (never registered as a successful learn)
  • Probing the SPI connection with an oscilloscope to confirm that the correct address/data are being sent (they are, the device is returning all 1's for TRQ_COUNT)

I'm at a complete loss. Can anyone point out what I might be missing? I can't post on the TI forums for help, so you all are the best I've got. Thanks in advance!

I spent an entire year, designing new boards... to find a real time execution error..... One hardware signal was disregarded three years earlier...

Did You read this section in datasheet? Sensorless Stall Detection With the DRV8889-Q1

I'm too tired, too little focused, to plough through it right now.

Thanks for the reply!
I took a look at that document but I wasn't able to find any indication of why stall detection might not be working in my case. That document seems to list the same requirements as the DRV8434S, which are satisfied as far as I can tell. Is it possible there's some hidden requirement or edge case that I'm running into?

My hope was You would read it and see how they intend it to be accessed, used. Fault finding, FAQ, is seldomly provided.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.