I have a DRV8312 on my board which drives a 48V motor with 2.5mH inductance. I have developed the board and firmware using a test motor and everything was fine.
When I tried the board with different but identical motors, some of them failed at a certain speed every time. At the point of failure, the driver outputs appear to go high impedance causing the motor to slow down. It then attempts to restart after a period which changes with different motors and at this point I get a failure due to the current demand (current limit set to 5.8A by 47k resistor).
The first image below shows the failure with the 6 input signals on 8 - 13, the fault signal on 14, the outputs on 1 - 3 and the output 1 current on 4. The second image zooms in on the moment of failure.
Some glitches can be seen on channel 12 which appear to be scope pickup from channel 10 (See below image with an analogue probe on the channel 12 signal). These happen on working motors as well failing motors and I do not suspect them of causing this issue. They are not passed through to the output.
After checking the input signals, the voltage rails, the boost voltages and the Hall inputs and finding all good I found that increasing the PWM frequency reduced the fault. From 20K, I increased the frequency incrementally to 60K at which point my batch of 6 motors all worked.
Can anyone help me understand why the DRV8312 is failing for some motors, why it gives no fault signal at the moment of failure, why it attempts to restart after an indeterminate period and how the PWM frequency is related to the fault?