Get answers and suggestions for various questions from here

How to understand SVPWM in depth?


SVPWM can be said to be the most commonly used inverter method for modern AC motor control. Most of the textbooks are directly involved in the details of space vector synthesis, sector division, switching time calculation, etc., leading many people to know. I don't know why. Today, let's not talk about the details, let's take a look at the big outline of what SVPWM is all about.

First, start with the simplest waveforms

  • Square wave Fourier series expansion

For amplitude 1, a period of the square wave, which is the Fourier series expansion:

So the amplitude of its fundamental wave is:

It can be seen that the amplitude of the fundamental wave is square wave amplitude , about 1.27 times.

  • Trapezoidal Fourier series expansion

There are many trapezoidal wave shapes. For the sake of simplicity, the trapezoidal wave constant time and the change time are equal. For amplitude 1, a period of a specific trapezoidal wave, which is the Fourier series expansion:

So the fundamental amplitude is:

It can be seen that the amplitude of the fundamental wave is square wave amplitude , about 1.15 times.

  • Sine wave Fourier series expansion

The sine wave is simple, and the fundamental wave is the sine wave itself, so the amplitude remains the same.

  • Triangular wave Fourier series expansion

For amplitude 1, period of the triangular wave, its Fourier series expansion as:

So the fundamental amplitude is:

It can be seen that the amplitude of the fundamental wave is square wave amplitude , about 0.81 times.

It can be seen that for square wave, trapezoidal wave, sine wave and triangular wave with constant amplitude of 1, the amplitude of the fundamental wave is 1.27, 1.15, 1 and 0.81, respectively, and the fundamental wave amplitude of square wave is the largest, triangular wave The smallest.

Therefore, intuitively speaking, for signals with limited amplitude, if we want the maximum amplitude of the fundamental wave, square wave is the best choice. Now let's go one step further. Assuming that there is a motor inverter with a limited phase voltage amplitude, how can we get the maximum phase voltage fundamental?

According to our previous analysis, the preference is definitely a square wave, at which time the fundamental wave can be amplified to 1.27 times. But if you do this, you will have problems. Where is the difficulty? - If we look closely at the Fourier series expansion of the square wave, we will find that in order to obtain the ideal square wave, the superposition of all odd harmonics is required . From the knowledge of electrical engineering, we know that the harmonics of 3 times and their multiples have no effect on the line voltage, and have no effect on the synthetic magnetomotive force. It is good, but the other 5, 7, 11, 13, etc. Trouble, it will cause fluctuations in motor torque.

The triangular wave must have been ruled out because its fundamental wave has not been amplified, it has been reduced, and the voltage utilization rate is too low.

It seems that only the trapezoidal wave is left. According to our previous analysis, for the trapezoidal wave with the same range and variation interval, the fundamental wave is amplified to 1.15 times, which seems to be acceptable. But the trapezoidal wave also has a problem, and its harmonics are also more. In addition to the multiple of 3, there are 25 times, 49 times, 64 times, etc. What should we do? - Haha, for the mathematician, it needs to be rigorous. For the engineer, as long as it is easy to use, we will retreat to the next level. Is it similar to the trapezoidal wave?

We know that most motors are three-phase, the winding space is 120° electrical angle configuration, the third harmonic of the phase voltage does not affect the line voltage, and does not affect the synthetic magnetomotive force . For the sake of simplicity, we assume that a voltage waveform (approximately trapezoidal wave) consists only of the fundamental and third harmonics:

Assuming that the amplitude of restrictions or 1, our problem is transformed into the meet when the maximum problem. This mathematics problem must be solved by mathematicians. We use the conclusions they give directly: when , the maximum value can be obtained , namely:

It's all formulas, not intuitive enough, draw a picture to show it:

It can be seen that it is not an ideal trapezoidal wave, but it is similar to a trapezoidal wave, which is saddle-shaped. How much is the amplitude of the fundamental wave amplified at this time? —— .

Of course, we can also change to a cosine function representation:

which is:

Second, how to inject the third harmonic

We know that modern AC motors are controlled by PWM chopping. The typical inverter block diagram is as follows:

The desired voltage of the three-phase winding is realized by the closing and breaking of the six triodes. For the A-phase winding, the potential difference between the point A and the power supply ground point O when the upper tube Q1 is turned on is the point A when the lower tube Q4 is turned on. the power supply ground point O potential difference is ; for B, C are also two windings. The switching signal of the triode can be obtained as follows:

Because the three-phase sinusoidal modulating wave signal, this time , , the fundamental wave amplitude maximum value is the maximum value .

Now we inject the modulated wave into the ideal third harmonic, namely:

We found that the foregoing analysis, this case , , the fundamental wave which is the maximum of the maximum amplitude .

When the modulated wave is only a sine wave, it is the legendary SPWM. When the modulated wave is a sine wave and the ideal third harmonic is added, it is the legendary SVPWM.

As we said before, if we injected the appropriate third harmonic, we can get a signal with a larger fundamental amplitude. How can we inject the third harmonic? The easiest way is to compare the size - the maximum and minimum method, assuming our ideal phase voltage is:

We take

Called the common mode voltage signal, the specific waveform is as follows:

Then you can easily get the new modulation wave as:

Draw a picture more obvious:

It can be seen that the modulated wave is saddle-shaped, but is it the ideal third harmonic? Let's take another picture and look at it:

It can be seen that the modulation wave at this time is close to the ideal waveform, but still not, how can we get the ideal third harmonic injection? - SVPWM control based on a circular magnetic field.

Third, what is a circular flux and circular voltage

How to quickly understand the permanent magnet synchronous motor in the article ? In the article, we introduce the working principle of permanent magnet synchronous motor.

J Pan: How to quickly understand permanent magnet synchronous motors?

The reason why the motor can rotate is because the two magnetic fields of the stator and the rotor interact, and when the magnetic field is continuously rotated, a fixed rotational torque is generated. To generate a rotating magnetic field, there must be a "rotating" current; to generate a "rotating" current, there must be a "rotating" voltage; at the same time, the rotating magnetic field will also produce a "rotating" flux linkage, the schematic of which is as follows:

In the above figure, the voltage, current and flux are all vectors of rotation, and the rotation speed is completely the same and the phase is different. The mathematical expression is as follows:

  • Voltage vector :
  • Current vector :
  • Magnetic chain vector :

We know that the external voltage of the circuit is equal to the sum of the resistance loss voltage and the coil induced voltage, written in mathematical form:

Since in most cases, the voltage loss generated by the resistor is much smaller than the induced voltage, it is temporarily ignored for the sake of simplicity:

which is:

Visible, by controlling the voltage to control the stator flux , and thus control the torque of the motor. How do you control the voltage of the motor?

Assume that the phase voltage fundamentals of the three-phase windings of the motor are:

When the three-phase windings differ by 120° in space, the total equivalent voltage is:

Continue to simplify:

That is, what we ultimately want is a rotating voltage - how can we get the rotating voltage? Take out our inverter block diagram with load again:

Since each branch (such as Q1, Q4) can only have one tube open at a time, we can use three-position switch to indicate the opening and closing of all tubes. For example, [1 0 0] means Q1 is on, Q3 is off. Q5, Q4, Q6, and Q2 are opposite to Q1, Q3, and Q5, respectively. Obviously we can get 8 different combinations of on and off. For each combination, we can use the formula according to the formula.

To calculate the equivalent voltage vector, pay attention to the following figure:

By calculation, we know that two of these eight equivalent voltage vectors are zero vectors ([0 0 0], [1 1 1]), because these two combinations represent that the upper three tubes are completely closed, or The next three tubes are fully closed. The remaining six combinations form six spatially uniform voltage vectors with a maximum of the combined voltage .

The problem is coming. I want a rotating magnetic field. The result is only six discrete voltage vectors. How can this be done? - Hard to come, soft, embarrassing, equivalent, for example, I want to run to the southeast, but the runway only to the east and south, what should I do? Then I will run east and run south for a while! This is the idea of ​​SVPWM based on a circular magnetic field, that is, any voltage vector can be equivalent to two of the six discrete voltages. As for the sector judgments written on most books, the conversion time is all researching. The equivalent is more efficient. If you are interested, you can read the related books. We only quote the conclusion: the maximum circular radius that can be linearly equivalent is also easy to derive.

Now let's assume that we know how to be equivalent, so why do we say that this can inject three ideal harmonics? ——When we calculate the appropriate amount of discrete voltage, we use the phase voltage (the voltage at the winding end relative to the neutral point N). In the second part, we calculate the voltage relative to the power ground point when using the PWM chopping. The two are slightly different. For the sake of simplicity, we use the voltage relative to the grounding point. The conversion method is as follows:


If you don't understand why the sum of the three-phase voltages is zero, take a look at Kirchhoff's current law and Ohm's law!

Then the total combined voltage is:


It can be seen that the neutral point is used as the reference and the power supply point is used as the reference expression.

Note: In this case , , is the PWM chopping signal, i.e. either , or , determined by the particular modulation wave waveform.

Earlier we said that the maximum amplitude of the voltage vector can be linear equivalent is , we assume , at this time , , it should be like?

Let's assume:

And , , , at this time, what should A and B be?

Ignore more than 3 harmonics first, obviously:


Then you can ask:


Therefore, the phase voltage approximates an ideal saddle voltage, and its modulated wave is approximately a trapezoidal wave injected into the ideal third harmonic.

The above is a formula derivation, a bit cumbersome, let's take a look at the SVPWM module that comes with MATLAB to see if this is the case.

First create the following simulink model:

The SVPWM module is a self-contained module of simulink. Searching for SVPWM in the help help of MATLAB can find the model, of course, the Xiaobian has changed a bit.

The voltage of the three-phase bridges A, B, and C relative to the power ground point is filtered:

The circular voltage of its output is:

If the frequency of the carrier (triangle carrier) is small, the voltage waveform will deteriorate:

When the carrier is lowered again, the circular voltage becomes six variants:

Of course, if the carrier frequency is too high, the switching loss of the triode is relatively large. In general, the 5K-10K is a better choice.