BLDC control with SVPWM technique, harmonics problem...

Thread Starter

Gazmend Alia

Joined Feb 27, 2018
3
Hi All,

I want to ask something related to the control of a BLDC motor using the SpaceVectorPWM technique.

I am controlling it by Field Oriented Control algorithm, which has two PI loops inside each other. As I was struggling with the determination of the PI coefficients, I decided to check how the inverter ( bridge with 6 NMOS ) and the motor themselves behave. So I took put the control loop and applied constant id ( direct current, which should be 0 ) and a constant iq ( quadrature current ). I have noticed something which I did not expect and has been baffling me these days.

I noticed that every time the SVPWM module changes sector, it injects a small square wave to the system, which then messes up everything related to the control.

Has anyone experienced something like that?

I know that it might be hard to understand it from the explanation, but feel free to ask me anything.

It is a very specific issue, but hopefully someone knows what I am talking about.

Thanks...
 

avayan

Joined Oct 30, 2015
38
Are you talking about what some people call the "demagnetization" current? A picture of this "squarewave" would come in handy. Intriguingly, however, FOC should not have any demagnetization factor as all three phases are always being PWM'd. Demagnetization of a phase when changing sectors applies to six sector trapezoidal commutator because on every sector change, there is a phase who had a current and is now floating. Since an inductor can't change its current abruptly, this current must go somewhere. The result is the voltage goes up and the current find an alternate path, usually this being a free wheeling diode.

Maybe what you are experiencing is the moment in which your SVM and the corresponding phase is switching from a PWM duty cycle of higher duty to lower duty, in which case the current from the motor may prefer to flow through the alternate path causing the pulse until the motor's BEMF stabilizes.
 

Thread Starter

Gazmend Alia

Joined Feb 27, 2018
3
Hi avayan,

First, thanks for the reply...

Second, attached you will see a picture which shows the voltages in Volts and the speed in rpm.

Untitled.png
 

Thread Starter

Gazmend Alia

Joined Feb 27, 2018
3
As you see, every time the SVPWM changes sector, I see this step. In addition, what is also more baffling for me, there are this two other smaller steps which appear in between.

I have noticed that having a smaller time step of the PWM generator, which means changing the resolution, which means switching closure to the perfect point in time, makes this steps smaller.

Regarding the demagnetization current, which flows through the diodes of the MOSFETs, I believe it is a normal process, since the currents has to flow somewhere. I do not understand why they should cause any such issue. On top of that, the current is flowing through the diodes every switching period, so why not have a constant noise? I have this noise only when the sector changes and twice in between (which I have not still found to what it is related).

Concerning the point of the current willing to take the diode path instead of the transistor one, I don't understand very well what you mean by that. I can not see why the current would not flow through the normal path, when the path is opened.

Thanks again for the reply....

I am looking forward to your reply again and hopefully understand what is going on....
 

avayan

Joined Oct 30, 2015
38
Well, these diagrams are nothing like what I am used to see. BTW, I am not an FOC expert. I have dabbled with it, albeit my main expertise is in sensorless commutation with BEMF trapezoidal and a little bit here and there with sine wave commutation through SVM tables.

With that being said...

What I meant by the current taking the "wrong path" is probably hard to explain with words, but most importantly it would only apply if you are changing from high speeds to low speeds. And this happens if you are using the Half H bridge in complementary mode. In other words, all FETs are switching as opposed to only one of them. The reason is that when you change the motor speed command, the motor's BEMF fights the command and now you get a braking action where the motor's BEMF pushes a current into the power supply which in essence is negative to the power supply current. In some applications this is pretty bad!

But re-reading your first post it becomes apparent that what you are doing is basically operating the motor in Torque mode. That is, you are regulating the current (to a reference iq), but not the speed. Since the speed is not being regulated, I wonder if motor constructions discrepancies are causing these jumps in speed. Perhaps it would be worthwhile to try and reduce the Iq PI gains and see if that helps.

This unfortunately does not necessarily answer why sector changes cause the jumps. Other things I would look at would be whether the motor has a sinusoidal or trapezoidal BEMF, or whether the motor stiction is so severe that it may be imposing mechanical torque ripple points. Both of these would impose differences in actuation which would be tied to the motor sectors throughout its electrical revolution.

Hope this somehow helps!
 
Top