A confusion about the FOC algorithm

Hello everyone, I have a question: when using the sine mode to drive the BLDC motor, by changing the duty cycle of different phase PWM to equivalent a phase voltage to the voltage we need, but when all phase PWM levels are low at the same time, all low side MOS are on at the same time, the motor three-phase is equivalent to short circuit, which will not cause the motor to slow down?

Hi,

This will block the motor aggressively if you do it while spinning.

Yeah, I know what you said. What I am tangled with is that when the motor is rotating normally, because the three-way pwm duty cycle is not 100%, there will be a situation where the three control signals are 0, and the three-way low-side mos will be on at the same time, hindering the motor rotation and causing deceleration. Or is this an inevitable problem?

It’s never all 0
https://skills.microchip.com/zero-sequence-modulation-for-three-phase-motors/690574

You probably refer to all the phase being low during the svpwm switching, that’s v0, it happens for a very short time.
Look at the comments here somebody asked the same question

Yes, in the principle of svpwm, the time of a cycle is subtracted from the time of T1 and T2 to get the time of T0, but combined with the actual control, the T0 time will cause the upper arm or lower arm of the three-phase half-bridge to open all, and the three-phase motor is short-connected together, which will not cause the motor to slow down? But the time in a control cycle other than T1 and T2 can only be filled with zero vectors, so in a period, the deceleration of the motor is inevitable? Or I misunderstood, the upper arm or lower arm of the three-phase half-bridge open all will not affect the motor speed in a short time

Hi @techHappyWater,

It is true that the FETs of the different phases switch synchronously. They have different duty-cycles, but the PWM is “centre aligned” so this means the on-time and the off-time of each half-bridge will overlap.

But this is not a problem because the switching frequency of the PWM is very fast - several kHz. The motor is an inductive load which “smooths” this fast-changing voltage into an analog “average” - in this way the PWM output by the driver becomes a sinusoidal current waveform. The motor sees only this analog “average” - as long as the switching is happening quickly.

If the PWM waveform were to “freeze” with all the lower FETs open for a longer time, then the motor would “see” it’s phases as being grounded, and would begin to break as the current quickly decays. But it takes time for this to happen, so as long as the PWM is switching quickly, the motor doesn’t break.

I think I understand, because the motor is inductive load, even if a phase voltage is briefly changed during the rotation process, due to the existence of inductance, the motor winding needs a certain time to reach the target voltage, so the current in the winding is continuously changed at high frequency.
However, after the low-side MOS is fully switched on for a long time, and the energy consumption in the inductor is completed, the motor will quickly slow down and stop
I don’t know if I’m taking this the right way

1 Like

Yes, that’s an excellent summary!

1 Like

Get it!! Thank you very much!!!