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: PH/EN MODE PROBLEM

Part Number: DRV8873

Hello,

I made PCB to run 2 brushed DC motors with 2 DRV8873HPWR H-bridge drivers. Device is in PH/EN MODE (DISABLE pin LOW, nSLEEP pin HIGH), and I use STM32F407 MCU to control it by pwm on EN pin and direction on PH pin.

Device gets hot very fast, that's the first problem. Second problem, when there is big change in pwm ducty cycle device just shuts down for example from 100% pwm duty cycle in forward direction, and I send 0 pwm and change direction, it doesn't do anything and nFAULT pin is LOW. But when I slowly increase pwm duty cycle (for example with 1ms delay between set pwm commands) and decrease it and then change direction, it works.

Is there a way to see which condition has occured, that set nFAULT pin to LOW, because in datasheet there is several conditions like overcurrent, high temperature etc?

Or do you have any idea how to solve this?

  • Hello,

    Are you using the DRV8873 evaluation board or your own custom board?

    Is there a way to see which condition has occured, that set nFAULT pin to LOW, because in datasheet there is several conditions like overcurrent, high temperature etc?

    Do you see the device resuming operation once the temperature decreases? in case of high temperatures, the device will disable the outputs and re-enable once the temperature is below a safe level. As for overcurrent, if you measure the nFAULT signal during the fault event, You will see the signal toggle between low and high if the overcurrent response is set to automatic retry (OCP_MODE=01b).

    can you send a waveform of the nFAULT signal?

  • Hello Slaven,

    Any updates from your side? Has your issue been resolved?

    Feel free to respond to this post if you require further assistance.

  • Sorry, I didn't have time to test it again. I use linear DC power supply and I'm pretty sure that overccurrent isn't a problem, as well as overtemperature because it has heatsink.

    It is custom designed PCB. I tried to monitor nFAULT signal but it just goes from high to low "in second" and nothing strange happens. I tried to reset error with nSLEEP pulse and it resets nFAULT (goes back to high), but device apparently goes to sleep for a 5 mircroseconds pulse and I can't do anything with it again.. Datasheet says that 5-20 us pulse is enough for nFAULT reset. As I the first problem occures when I try to send PWM duty cycle that is much lower or much higher then the one currently applied.

    Here is schematic.

  • Hi Slaven,

    Thank you for providing the update.

    I can't say for sure what the problem is right now. Let me take some more time to think about possible explanations for this issue. Tomorrow is a holiday in the US so I expect a reply from me by Monday of next week.

  • Hi Slaven,

    If you speed motor up and then switch driver to slow decay / brake mode for longer time an overcurrent may happen I guess.

    Motor windings will be shorted and current will equal to BEMF divided by windings resistance and Mosfets driver resistance.

    I would monitor motor current with oscilloscope current probe, in above mentioned situation current would flow

    just in motor windings but not from power supply.

    Regards,

    Grzegorz

  • Our office is closed today for a US holiday as Pablo mentioned.

  • Slaven,

    When you rapidly change direction or PWM duty cycle, you can get supply pumping that would cause the voltage on the supply to bounce and result in some unpredictable IC behavior. 

    https://e2e.ti.com/blogs_/b/industrial_strength/posts/art-of-stopping-the-motor-vm-pumping

    Please monitor your supply during this condition.  I don't think it is an OCP fault as that should be latched and the nFAULT will never recover...stuck low. 

    Regards,

    Ryan