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.

DRV8873: Out2 intermittingly driving high

Part Number: DRV8873

Hi Team,

Our customer is using a DRV8873 in hardware independent mode to run a 24DCV ~0.7A running motor. However, they encountered some issue with this device during testing. According to the customer,

After some life testing the driver seems to be unexpectedly and intermittingly driving Out2 high for exactly 0.5 seconds, then the driver continues functioning as expected. During this time I am monitoring several voltages and nothing seems out of sync, except for IN2 (low) and Out2 (high).

• nFault is high and never is driven low
o This should mean that the internal protections are not triggering; Undervoltage, Overcurrent, Thermal, Open load.
• IN2 is confirmed to be low during the intermittent time where Out2 unexpectedly goes high.
o At this time IN1 is high and Out1 is high
• VCP is always measuring ~ VM+5
• VM is always measuring 23VDC
• DVDD is always measuring ~ 5VDC
• Current draw is .7A (measured through IPROPI)
• Slightly elevated ambient temperature 200F/93C

The fact this unexpected function occurs for exactly 0.5 seconds then resumes has me quite perplexed. Based on my measurements, I am not sure what else other than the internal pre-driver or MOSFETs could be at fault and why.

The driver has about 225 hours of total ON time at %60 duty cycle.
The issue of Out2 driving high when IN2 is low, propagated at about 200 hours of ON time.

Thank you for your support!



  • Follow up -

    I just recreated the issue with a second driver, this time 

    • There was only30 minutes of ON time with the driver.
    • The driver was in ambient air temperature. 
    • There was a thermocouple on the case of the driver that measured 89F.
    • It was driving the same DC brush motor as the first driver. 
  • Hi Danilo, Brendan,

    Thank you for posting to the forum.

    I have a few questions to help me investigate your issue:

    1. Can you provide a waveform showing IN1, IN2, OUT1, OUT2? Please show the 0.5s period where OUT2 is HIGH.
    2. Does this issue always occur after some time? or is it more at random?
    3. Have you tried replacing the faulty IC with a new one on the same board? Does the issue go away?
    4. Have you tried placing the faulty IC on a new board?
    1. I don’t have a waveform. It happens so intermittently that I haven’t been able to capture it with an oscilloscope. I do have low frequency measurements from a DAQ that shows IN2 low during the period OUT2 is high.
    2. I am running te IC/motor for about ~3 seconds at a time, and it is occurring 0.05% of time in those 3 second runs.
    3. Yes, a second IC did the same thing immediately. However a third IC seems so be OK at the moment.
    4. I have not tried the IC on a second board (unfortunately, I damaged the leads unsoldering)

  • Hello,

    Thanks for providing the information.

    Since soldering a new IC to the board has the same issues, I'm inclined to believe that the IC might not be the causing the issue. However, since a third IC does not have the same issue, we will have to investigate a little more to confirm is the IC is the culprit or not.

    I am running te IC/motor for about ~3 seconds at a time, and it is occurring 0.05% of time in those 3 second runs.

    Can you clarify what you mean by this statement? Are you seeing the 0.5s OUT2 high multiple times in the 3s run? does it seem to repeat at a fixed rate?

    One explanation could be that there is a short on OUT2 to VM for the 0.5s duration. If this is the case, the device should trigger an over-current protection fault is the output current jumps above 10-A for longer than 3us. It would be interesting to observe the current on OUT2 during this 0.5s period. Are you able to take this measurement?

    Are you driving two independent loads or do you have one load connected across the two outputs?

  • Thank you, I appreciate all the help.

    I run the motor in intervals of 3 second on/2 seconds off, let’s call this a cycle. It will take about 2,000 cycles to propagate 1 of these instances. (1/2000 = .05% chance.) It does not appear to reproduce at a fix rate. This will also happen on both IN1/Out1 and IN2/Out2, however much more frequently on IN2/Out2.

    I am measuring IPROPIs at this time in the same method as described above, it is converted it to current for graphing purposes. I added these IPROPI measurements and well as the nFault measurement to the graph. (I didn’t included these at first because the graph gets messy quick). Voltage is on the left axis of the graph, current is on the right axis.  Current does spike, I suspected that is a result of the motor breaking. Note the slow DAQ measurement likely didn’t catch a peak current.

    nFault never goes low, so I didn’t believe it was a ic protection issue. (Undervoltage, Overcurrent, Thermal, Open load)

    It is just one independent load across the outputs, a DC brush motor.

    Does the 0.5s duration mean anything to you? That is the most consistent factor in this that I have no explanation for.

  • Hi,

    I don't have a clear explanation for the 0.5s duration. If this were to be caused by an unexpected short, I expect the duration when both outputs are high to be more random.

    Is there a specific reason for driving the motor with independent control? When using independent half-bridge control we don't recommend tying OUT1 and OUT2 together (like in your case), the half bridges may be out of synchronization in this configuration and any mismatch in the input commands can momentarily result in shoot-through condition. If you plan on connecting one load across OUT1 and OUT2, I recommend using the PWM control mode. Can you try switching to PWM control mode and try to see if the issue goes away?

  • I am sorry, maybe I misspoke. I am driving per the typical application, except hardware not SPI.

     Pg.15 & 40

    I have some new information but still one major question..

    The third ic propagated the same function.

    It appears my microcontroller program is playing a significant role here.  I was able to make the time duration change and then with further program modifications I have not seen the issue reoccur.  

    Long story short is that; it appears that a brief bad signal input and/or noise (unrelated to Hdriver) may result in the microcontroller driving IN1 and IN2 high breaking the motor for that time delay of 0.5 seconds. So the function (Out1 & Out2 High) I am seeing with the motor driver IC is completely plausible based on programing and transient unpredictable noise.

    What I cannot explain and that is completely baffling me is; why during that 0.5 second period when Out2 is high is IN2 measuring low? The reason I was measuring IN1 and IN2 was to tell me to focus on the microcontroller or the driver IC. Because IN2 is measuring low while Out2 was high, my focus was on the driver IC. I see no issues with my measurement setup of IN1 and IN2 this time.

    Thank you again for all your help. 

  • Hi,

    Thank you for the confirmation and information.

    Can you confirm how you configured the MODE pin (pin3)? Sharing your schematic might be easier for me to understand your set-up. Can you share your schematic for the motor driver?

    It could be possible that a mismatch in the IN1 and IN2 signals or noise from the micro-controller caused the driver to go into a weird state where the output goes HIGH for 0.5s.

    Do you have a DRV8873EVM? if you do, it would be good to disconnect the on-board MCU of the EVM and control the driver with your MCU. If the issue shows up, then it could mean something from the MCU side is causing the issue. From my time using the DRV8873EVM, I have not experience this issue.

    Since you are not PWMing the input signals, can you disconnect the INx signals from the MCU and connect a 3.3V external supply to IN1 and short IN2 to GND. Does the issue still occur? If not, them it could mean something else is causing the outputs to go HIGH.

  • Hello,

    Any updates from your side? has the issue been resolved?

  • Just a quick follow up.

    I had some PCBs fabricated and now with this new board set up, the issue never propagated again.

    I am ultimately unsure what was causing my initial troubles but everything is working as it should now.

    Thank you for all your help!

  • bb,

    I'm glad the issue has been resolved.