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: OPEN Fault issue

Part Number: DRV8889-Q1

Hi,

I used DRV8889 to drive the motor to rotate forward and then reverse immediately, and an Open Load Fault occurred. Test result is as below

However, 200ms before the Fault occurs, the motor current is not lower than 30mA, which means that there is no condition to trigger Open Load.
So I want to ask, what else might trigger Open Load?

It was confirmed through the SPI message that the FAULT pull Low was caused by Open Load, but there was no abnormality in the two sets of output currents of DRV8889. Is there any other phenomenon that may cause Open Load fault?

Thanks & best regards,

  • Hi David, 

    Can you please probe the DIR signal and share a similar scopeshot again? 

    Also, please tell me the register bit setting for OL_TIME. For further explanation on OL_TIME, please refer to the data sheet Electrical Characteristics table (pg 8), and Open Load Detection Section 7.3.11.4 (pg 35). This would assist me with the debug process. 

    Regards, 

    Karan

  • Hi David,

    See below section from the datasheet. Looks like at the STEP of direction reversal you may have stopped the forward motion at either one of those four electrical angles where one of the coils was zero. See also Table 7-3. Relative Current and Step Directions in the datasheet page-17 for A and B currents for each microstep.

    There is also one more condition that could falsely report OL. This is not related to the behavior you encountered. See below.

    Regards, Murugavel

  • Hi Karan,

    This is normally picture

    This is faullt occurred

    Thanks & best regards,

  • Hi Murugavel,

    The setting of MICROSTEP_MODE is the default value. The default value is Full_step mode. Will this cause OPEN_Load fault?

    "This situation does not arise in full-step mode, because the coil currents are never zero."

    OPEN_Load fault occurs, how to determine whether it is caused by 0°, 90°, 180° or 270° electrical angles?

    Thanks & best regards,

  • Hi David, can you please share the setting of the OL_TIME register?

    Regards,

    Karan

  • Hi Karan,

    OL_TIME is defaul value. OL_TIME: 00b ( 200ms)

    Thanks & best regards,

  • Hi David, can you please probe the following and share the scopeshot:

    Current waveform where motor was rotating in the forward direction for some time, DIR signal was changed, and fault occured.

    Please probe STEP signal, DIR signal, AOUT1, and nFAULT. 

    Additionally, can you tell us the value of the itrip setting? It looks like the current is sinusoidal in the first scopeshot you have shared. This should not be the case if you are using fullstep mode.

    Regards,

    Karan

  • Hi Karan,

    Work normally :

    Fault occurred

    After IFS decision, Itrip has been confirmed. Is itrip setting the setting of IFS?

    Could you tell us how to set the itrip setting?

    Thanks & best regards,

  • Hi David, 

    Yes, Itrip and Ifs are the same. My mistake, I should have said Ifs. To set Ifs, set a value for the TRQ_DAC through the TRQ_DAC register (see the register map section in the datasheet) and apply a VREF voltage. Ifs will be set according to the equation you have shown.

    Can you please tell me the peak value of motor current from the o-scope?

    Based on the waveforms you have shared, I believe you stop giving step pulses when DIR is changed. This results in the motor current stopping at a certain value. If the motor current value at that point is more than 30mA, it will not detect open load. But if it is below 30mA, open load will be detected.

    Also, can you please share your register settings? I am trying to understand why the motor current is sinusoidal when you are using full step mode. 

    Regards,
    Karan

  • Hi Karan,

    1. OL_TIME: 200ms
    2. MICROSTEP_MODE is not Full_step mode, it is 1/32 step.


    3. IFS current: 160mA

    When the STEP signal stops (the motor stops operating), the MCU will write to the registers of DRV8889 TRQ_DAC (0110 62.5%) and SLEW_RATE (01 10.8V/us). Then a OPEN_LOAD fault will occur.

    Can you help me find out what causes OPEN_LOAD Fault? is there a solution to fix it?

    Thanks & best regards,

  • David, 

    Please give me two days to respond to this. Thanks.

    -Karan

  • Hi Karan,

    Is there a way to determine the position of the rotor using the value in the register?

    Thanks & best regards,

  • Hi David, 

    No, the DRV8889-Q1 does not have a register that counts the number of steps the motor has moved, to assist with rotor position estimation.

    About the previous answer, I have asked a senior member to help me out with this question. I will get back to you on that soon.

    Regards,
    Karan

  • Hi Karan,

    RnD has to confirm the rotor position. The position is not at 0,90,180,270. 

    Thanks & best regards,

  • Hey David,

    Interesting to see it occurring outside of 0/90/180/270°.  

    One way to verify it is when OL_A or OL_B is reported, move the motor one more micro-step away. If OL_A doesn't be reported on the new step. The original OL_A is not true. Note that OLD is Report-Only, so you are fine to add into your code ignoring the OLD on direction change. 

    In your table above, the "24" microsteps, what does that mean?  Our device does not have 1/24 microstep, only 1/16 and 1/32 (and others).  

    In this image below, it looks to me like the motor current is at 0 at the time you stop or change direction.  It looks like you complete ~56 full electrical cycles, ending at 0 current.  Am I incorrect?   

    Open load detection won't work when current is at these spots (red arrows):

    Best,

    Jacob

  • Hi Jacob

    The value of Microstep is the count of STEP

    “ you are fine to add into your code ignoring the OLD on direction change. "
    Does this solve the problem of OPEN_LOAD Fault? Why?

    Thanks & best regards,

  • Hey David,

    “ you are fine to add into your code ignoring the OLD on direction change. "
    Does this solve the problem of OPEN_LOAD Fault? Why?

    The OPEN_LOAD fault is Report Only, meaning that all the H-bridges and the rest of the device is still working normally, nothing is disabled.  

  • Hi Jacob and Karan,

    Is there any recommended process (register setting) after DRV8889 turns on or before DRV8889 turns off?

    Is there any recommended process (register setting)  in direction changing  (forward -> reverse, reverse -> forward)?

    Thanks and best regards,

  • David,

    Please refer to the application section in the datasheet for example settings. It also shows a detailed design procedure.

    In all the fault scopeshots you have provided, the sine wave approaches 0° except the second one. I assume this is what is causing the fault as explained above. In the first fault scopeshot image, the wave is at 90° which leads me to believe that the other output is at 0°. I recommend that you verify this by zooming in to the current waveform. Feel free to share with me if this is not the case.

    As Jacob has pointed out, the OL detection fault is status-only. It will not stop the driver operation. 

    Let us know if you have any more questions.

    Regards,
    Karan

  • Hi Jacob,

    According to your suggestion (add into your code ignoring the OLD on direction change),

    is there a chance that there will be a fault that cannot be determined?

    End customer will require RnD to do a risk assessment.

    Thanks & best regards,

  • Hey David,

    No, all the conditions that can result in a fault are shown in Table 7-10 Fault Condition Summary

    Best,

    Jacob