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.

DRV8312, rare over-current error after motor starts up

Other Parts Discussed in Thread: DRV8312

Hello motor drivers Gurus,

I have a problem hard to tackle with my drv8312 and I was wondering if you had some inputs to help me out.

So I am working with a 24V motor 3Ph with block commutated control, the nominal speed of the motor is about 2600 elec. revolution / sec. The nominal current consumption is less than 1A without load . The driver circuit is inspired from the DRV8312-KIT.

In normal operation :

At full speed, I am using about 0.7A and motor and driver are cool.I think my PI controllers are correctly setup because it behaves correctly to abrupt load change and wide variation of the control input.

The b-emf (in blue) seems OK from my little experience working with these drivers :

The current waveform seems OK to me as well.

When the problem occurs (rarely) :

Rarely it occurs 10 seconds after starting up the motor, I get an over-current from the driver. The motor doesn't make any different noticeable noise. The motor speed ramps up normally but the current consumption is "huge". It can go up to 3A continuous before the driver shuts down. Here is a capture before the motor shuts down :

Different possibilities explored :

1/ I have checked the way I start-up the motor. I manually generate a sequence of pulse with fixed duty cycle until I complete one electrical revolution, then I toggle to fully PID controlled scheme. I have tried different pulse ramp-up profile but the problem persists. I have also tried to delay the toggling to full PID controller without success.

2/ Investigate the PI for current controller. I have tried several configurations without success. Before it crashes, I have noticed that my integral term is high... explaining the higher current consumption.

Any thoughts are welcome, let me know if you need any extra information to have a better understand of the problem. Thank you.

  • Cedric,

     I feel that there is some basic issue with 120 degree commutation sequence. In normal operating condition (first waveform of your post) even though voltage waveform appears to be fine but current waveform is not 100% correct. Current is flowing only during negative half of back-emf portion; during positive half current is always zero.

    Can you clarify, which type of sensor-less algorithm you are working i.e. Insta-spin BLDC or Traditional Trapezoidal based on back-emf zero crossing?

    Best Regards

    Milan-Motor Application Team

  • Hello Milan, I am working on a sensored trapezoidal control. I will double check my commutation sequence to verify the 120 degree error. Thanks for your help. I will keep you updated with the result for the posterity of the forum.

    EDIT :

    Milan, you nailed it ! There was a bug in my initialization of commutation sequence which depending on the current state of the motor at this time would trigger or not the "bug". Everything works better now. Thanks a lot for your help I really appreciate it. Have a good one.