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.

Fault condition of DRV 8814

Other Parts Discussed in Thread: DRV8840, DRV8412, DRV8814, DRV8301

Hi all,

I am using DRV 8814 motor driver for DC motor, I am using an external PWM signal to enable pins. I am facing a problem that whenever the phase of motor is changed continuously the motor goes in fault condition. I have checked possible errors but I am not getting why it is happening, What can be the problem?

Thanks in advance

Sujit

  •  Hi Sujit,

    Changing phase abruptly on a DC motor is kind of a hazardous condition for the system. When the motor is running in one direction and then you flip the direction, current will definitely spike up. This is because once current goes below zero, now you have a current directly proportional to that as given by the power supply voltage plus the stored energy on the motor winding (or BACK EMF). As a result, depending on the motor, the power supply and the torque parameters at the moment of the direction reversal, current may spike to higher than OCP levels. This is the fault you are getting.

    If you get this fault, there are a few things you can try to eliminate it. Some of them are easier to implement than others, although to be honest the right thing to do is to not change the direction abruptly, but instead ramp down and then ramp up on the opposing direction. If this is a Servo System and you want to control position, you will be better off by PWMing the PHASE which allows you to apply a proportional inverse torque while that is not detrimental to the system.

    Possible solutions:

    1. Limit the current somewhere else than on the device. This may be done at the power supply, although most of the time it implies it is then the power supply that which will fault.

    2. Use a larger H bridge. If you still need to abruptly change direction, you can use the DRV8840 which is pretty much the same as the DRV8814 but with both H bridges connected in parallel. Now you have a single H bridge with up to 5A of current. If I am not mistaken, OCP is set to around 6A, so this gives you some head room. If the motor still requires more current than this and an OCP fault is generated, then you can try DRV8412 or DRV8432 which can go up to 25A. If this is still not enough, you can try a DRV8301 with external FETs. Since you can size the FETs to your needs, you could make this a 100A transient application. I am assuming this should be more than plenty, considering we started with a DRV8814.

    3. Control the speed of the motor before changing direction. This is the preferred method. Instead of just changing the direcion, ramp down, change direction and then ramp up. By definition, there should be no overccurent here.

    Hope one of these solutions work out for you. Best regards,

    Jose Quinones

  • Jose:

    We are now successfully running the motors without getting fault line high. We used the option 3 as mentioned by you. Thanks for the detailed analysis you did.

    Now we had a different problem. We ran a DC geared motor at 0.5 - 1.2 Amps continuously for about 15 minutes and our driver got overheated and finally damaged. Our circuit is required to drive a robotic arm with different torque and speed condition at different angular position for which we are changing the ADC input to the reference pins and PWM inputs to the motor enable pins of DRV8814, while putting the 2 bit DAC inputs at 100%. The circuit had its inner Ground plane connected to the PowerPAD through vias as suggested in PowerPAD heat dissipation documentation.

    We are required to handle the fault condition by resetting the driver through microcontroller when it happens as we cannot afford to leave the motor in free wheeling condition in case of fault due to some safety considerations.

    Please suggest what could be the possible causes.