I’m developing a motor controller based on a dsPIC33EP64MC504 from Microchip. The motor is a brushless permanent magnet synchronous motor of about 500W on 50V. The controller is based on an SVM algorithm from Microchip application notes. The bridge uses 6 MOSFETs SiR882ADP (100V) from Vishay. No speed nor current regulation is achieved meaning the motor is open loop controlled.
We‘ve first implemented a simple BLDC controller based on Hall effect sensors and it worked great. We’ve then decided to improve the control using a 1deg resolution encoder to achieve a sinusoidal control (for a later Vector Control and current control). Here we are facing some problems of exploding/burning/blowing MOSFETs at middle range power. I will not explain all the design choices and issues : we are working on it but I would like to investigate one soft/hard choice: the hardware current limitation strategy we've changed between the 2 designs.
The current limitation is an hardware dsPIC embedded function which overrides the PWM commands normally driven by the SVM based on an analog signal from current sensor.
- The first strategy (version 1): the bus current value controls the 3 PWMs (all MOSFETs are open as soon as the current limit is activated and overrides the PWM signals out from the SVM).
- The second one (version 2): the low side current of each half bridge controls each PWM independently: the corresponding half bridge is open in case of a current limit.
I understand that in the first strategy, the body diodes of the MOSFETs turn the driving bridge into a classical 6 diode rectifier: current is recharging our battery is that right? Anyway, this strategy seems really safe!
But what happen in the second case? Could the opening of only one half-bridge be the responsible for voltage overshoot and MOSFET destructions due to current loop behaving in a different way than in the first version? For example what happen in the case where the current limitation on PWM2 (the blue one) opens the corresponding half-bridge in the following condition ?
Thank you for your time and the answer you will give me (or not).