Other Parts Discussed in Thread: DRV8434AEVM, , DRV8889-Q1
I have 5 DRV8434S drivers in a daisy chain configuration driving 5 NEMA 17 stepper motors. I'm experimenting with the stall learning process at various motor speeds. So far I've focused on a single driver in the chain (a linear axis on the machine it's driving). I have a script that iterates over various speeds performing the following steps at each speed: turn on the motor, give it time to get up to speed, enable the STL_LRN bit, then stall the motor and wait for the STL_LRN_OK bit to go high or for 5 seconds to pass (whichever happens first). While the motor is running, I'm also monitoring the TRQ_COUNT registers. At 256RPM (.41 inches/second on the linear axis its driving) the TRQ_COUNT is in the 150-190 range while running (upper TRQ_COUNT bits are all 0), then drops significantly once stalled. At 262RPM (.42 inches/second on the linear axis it's driving), the TRQ_COUNT jumps to the 4070-4080 range (all the upper bits, bits 0-3 of the CTRL9 register, go high). Once stalled, TRQ_COUNT drops to about the 4015-4040 range, but the learning process never completes and my 5 second timeout happens. Any speed faster than that exhibits similar behavior (our machine goes up to 1 inch/second). The motor seems well within its speed/torque limitations. It seems like the upper bits of TRQ_COUNT are incorrectly going high. What could be causing this?