This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRV8889-Q1: low temp. question

Part Number: DRV8889-Q1

Dear team,

Tests found that the DRV8889-Q1 cannot diagnose open circuit faults below -30 degrees Celsius, but it can still drive the motor. (Open circuit can be diagnosed at room temperature.)

The low temperature of -30 degrees is lower than the under-temperature warning threshold TUTW[-25 -10 5]. How to explain this problem?

  • A new problem was discovered. At a high temperature of 85 degrees, an open circuit will be falsely reported.

    Could you pls share the advice about  the influence of high and low temperatures on open circuit diagnosis? (Current threshold 30mA) 

    Thanks!

  • Hey Mingkang, 

    Can you give some specs of the motor you're using, including the resistance, inductance, and current rating of it? And are you changing the temperature of the motor and the wires from the motor to the board, or only changing the device temperature? 

    Is this on the customer board or our EVM? If they have an EVM in hand I'd love to see if it displays the same behavior or not.

    Have you checked with an oscilloscope and a current probe to verify that this behavior isn't correct? See the four angles that can cause false open-load fault

    I also found in this post: https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1211042/drv8889-q1-open-load-detection-and-tall-detection/4581647#4581647 that "There is a known issue with OL detection under the following conditions for this device. OL will not be detected when FSI < 0.96A and 1/64 or higher uSteps, FSI <= 1.5A and 1/128 & 1/256 uSteps. So for OL detect to work with the customers current setting we recommend to use 1/64 uSteps or lesser microsteps values 1/32, 1/16 etc.".  What is your microstep level?

    Best,

    Jacob

  • Thanks Jacob. I found my customer's error.

    When an under temperature warning occurs, my customer's software will set CLR_FLT to 1 after 10ms to clear the fault status register, and open load detection will not be triggered until the duration exceeds tol (75ms, when OL_TIME = 10b). Therefore, an open circuit fault will not be reported.
    My suggestions for improvement: the under temperature warning will be automatically cleared when the temperature is higher than the threshold, and there is no need to clear the fault status register. The open circuit detection time can also be configured through OL_TIME. Am I correct?

    Also, will clearing the fault register per CLR_FLT cause the OL detection to restart timing? Is OL detection affected by other registers?

  • Hey Mingkang,

    Ahh glad you found it.  Yes, agreed the undertemperature warning will auto-clear once temp rises above threshold.  

    The open circuit detection time can also be configured through OL_TIME

    OL_TIME is only adjustable for DRV8889A-Q1.  For your DRV8889-Q1 it is fixed to 200ms. 

    will clearing the fault register per CLR_FLT cause the OL detection to restart timing? Is OL detection affected by other register

    No, OL detection timing is independent of other registers or CLR_FLT.  If at any time the current drops below the threshold of ~30mA, a timer kicks off.  When the timer expires, the bit will be set.  If at any time during this period the current rises above the threshold, the time will be reset.

    Best,

    Jacob

  • Thanks Jacob. The device number they are using is DRV8889A-Q1

    So clearing the fault status register won't lead to invalid OL detection. 

    The OL detection is normal at room temperature and high temperature, but abnormal at low temp.. The only difference is temp. and nothing else changed. 

    The fact is when my customer didn't clear the fault register per CLR_FLT at low temp, the OL detection goes back to normal. 

    If the timing is independent, how could I explain the phenomenon to my customer?

  • Hi Mingkang,

    You mentioned "The fact is when my customer didn't clear the fault register per CLR_FLT at low temp, the OL detection goes back to normal.". How did the customer do a CLR_FLT? Can you verify the customer did not affect any other bits in the register CTRL4 while writing CLR_FLT = 1 especially not writing 0 to EN_OL and then making EN_OL = 1 again. 

    Was the CLR_FLT issued while the motor was running or while there were no STEP input pulses?

       

    Regards, Murugavel