Space Vector PWM Intro - Switchcraft
Space Vector PWM Intro - Switchcraft
Space Vector PWM Intro - Switchcraft
PROJECT BLOG
ABOUT
TIP JAR
SPACE VECTOR
PWM INTRO
M AY 1 , 2 0 1 7
BY YNGVE SOLBAKKEN
INTRODUCTION
Space Vector Pulse Width Modulation (SV-PWM) is a modulation
scheme used to apply a given voltage vector to a three-phased electric
motor (permanent magnet or induction machine).
The goal is to use a steady state DC-voltage and by the means of six
switches (e.g. transistors) emulate a three-phased sinusoidal
waveform where the frequency and amplitude is adjustable.
1. The only voltage level available is the DC-link voltage which can
be assumed constant (well, at least for sake of simplicity).
The three phased system is illustrated using two di erent, but equal
forms:
• A vector diagram showing all three phases and their vector sum
(space vector).
Each of the three binary digits refers to one bridge leg where the
value 1 indicates that the top transistor is closed whereas the value 0
indicates that the bottom transistor is closed.
All eight combinations and the resulting motor voltage and current
directions are shown below.
Press any image to enlarge.
v0 - 000 v1 - 001 v2 - 010 v3 - 011
SYNTHESIZING OUTPUT
VOLTAGE
So far it is only shown that the converter can output DC-link voltage
to the terminals and how each of the six usable vectors a ects
current- and voltage directions in the motor.
The two zero vectors \(v_0\) and \(v_7\) are also used to add dead
time to the switching pattern. This dead time reduces the voltage
magnitude and is necessary when the voltage reference magnitude
is less then 100%.
CONCEPT EXPLANATION
Let us take a breathing pause there. This gure contains a lot of
information, and to better explain di erent parts of it, I have
clipped out four di erent regions of it that will be explained below.
How these three values are intersected with the triangular wave will
directly translate to which switches we want to close and how long
we are keeping them closed.
At the angle in this example (46°), the rst dashed line is the red
one. Between the start of the three axes and the red line, there are no
active voltage vectors. All three control voltages in this region are
below the trig wave. This means that all switches are o . 000. Zero
vector \(v_0\).
Next section; between the red and the blue dashed line. The U-phase
control voltage is now above the trig line while the two others are
still below. This activates the U-switch. 001 there. Also called \
(v_1\).
Third section: between the blue and the green line. Now both U and
V is activated; 011 - \(v_3\).
Last section: All three switches are now active. This is 111, \(v_7\),
the second zero vector.
At every angle and magnitude, the same pattern will be seen; Zero
vector - basic vector - basic vector - zero vector. Repeat. The only
thing that change is the width (i.e. the on-time) of these sectors and
which of the six basic vectors are used.
Note that the on-time percentage is also displayed to the left of the
W-axis. When the desired amplitude is low, the zero vectors will
have an increased on-time and opposite when the amplitude is high.
This is controlled by a scaling factor called modulation index. If the
desired amplitude is higher than the trig wave, something called
over modulation occurs. This is explained later.
The thin line green line inside the space vector circle are visual aides
to illustrate that these two basic vectors do indeed form the desired
space vector as a vector sum.
The values to the left in the gure shows the angle, which sector we
are in and the weighing factors, \(x\) and \(y\), for each of the two
basic vectors. We will get back to those later.
Pay attention to that they are in opposite "phase" to each other, just
as two sine waves 90 degrees apart. When the left con guration has
completed its cycle, the right con guration is halfway.
This switching scheme also employs a nifty feature; only one switch
is changing state at the time. This reduce harmonics in the machine
and also reduces switching losses, a very important aspect to
consider when designing any type of power electronics.
SUMMARY
The by far most important part of the gure is the area below the
lowest axis (W). It shows the portion each basic vector is active for
each period \(T\). The percentage number is presented to the left of
that axis.
It can also be seen that every pattern starts and ends with a zero
vector, and that between every transition, only one switch is being
changed. This greatly reduces harmonics in the motor which cause
overheating and torque uctuations. Also, any current that is not
contributing to torque, or is necessary to maintain the required
magnetic eld, is unwanted. This is because the losses in the power
electronic components are current dependent and they translate to
heat which will stress the cooling system. Over-heating of
transistors and diodes are one of the main challenges when
designing power electronics today. The alternative is to design a
converter with higher current ratings, but this increases the price.
\begin{equation}
T = T_{v_1} + T_{v_3} + T_{v_0} + T_{v_7} = 35\% + 35\% +
15\% + 15\% = 100\%
\end{equation}
DETAILED EXAMPLE
PROBLEM:
• The drive has estimated that it needs to modulate a voltage
vector of 630 V at an angle of 38.3°:
\begin{equation}
\vec{v}_s^u=630\angle38.3^\circ
\end{equation}
where the subscript \(s\) denotes a stator frame reference (i.e., not
rotor) and the superscript \(u\) denotes that the angle reference (0°)
is at phase U (0°) .
• 38.3° lies between basic vector 1 (0°) and 3 (60°), so these are
the two we are going to utilize.
\begin{equation}
\vec{v}_s^u = \hat{V}_s \angle \theta_{v_s} = x \cdot v_3 + y
\cdot v_1
\end{equation}
where \(x\) and \(y\) are the unknown weighting factors for each
vector and \(v_1\) and \(v_3\) are the two basic vectors in use.
\begin{equation}
\mathfrak{R} \{\vec{v}_s^u\}
= \mathfrak{R}\{630\angle 38.3^\circ \}
= \mathfrak{R}\{x \cdot 975 \angle 60^\circ + y \cdot 975 \angle
0^\circ \}
\end{equation}
\begin{equation}
630\angle38.3^\circ = x \cdot 975 \cos{60^\circ} + y \cdot 975
\cos{0^\circ}
\end{equation}
\begin{equation}
630 \cdot 0.7848 = x \cdot 975 \cdot 0.5 + y \cdot 975 \cdot 1
\end{equation}
\begin{equation}
\label{eq:x}
494.409 = x \cdot 487.50 + y \cdot 975
\end{equation}
\begin{equation}
\mathfrak{I} \{\vec{v}_s^u\}
= \mathfrak{I} \{630\angle 38.3^\circ \}
= \mathfrak{I}\{x \cdot 975 \angle 60^\circ + y \cdot 975 \angle
0^\circ \}
\end{equation}
\begin{equation}
630\angle38.3^\circ = x \cdot 975 \sin{60^\circ} + y \cdot 975
\sin{0^\circ}
\end{equation}
\begin{equation}
630 \cdot 0.6198 = x \cdot 975 \cdot \frac{\sqrt{3}}{2} + y \cdot 975
\cdot 0
\end{equation}
\begin{equation}
\label{eq:y}
390.461 = x \cdot 844.37 + 0
\end{equation}
\begin{equation}
390.461 = x \cdot 844.37 + 0
\end{equation}
\begin{equation}
x=\frac{390.461}{844.37} = 0.4624
\end{equation}
\begin{equation}
494.409 = x \cdot 487.50 + y \cdot 975
\end{equation}
\begin{equation}
494.409 = 0.4624 \cdot 487.50 + y \cdot 975
\end{equation}
\begin{equation}
y=\frac{494.409-(0.4624 \cdot 487.50)}{975} = 0.2759
\end{equation}
\begin{equation}
\vec{v}_s^u
= \hat{V}_s \angle \theta_{v_s}
= x \cdot v_3 + y \cdot v_1
= 0.4624 \cdot 975 \angle 60^\circ + 0.2759 \cdot 975 \angle 0^\circ
= 629.999\angle38.297^\circ
\end{equation}
This result is pretty close to the original target, which was 630 V at
an angle of 38.3°
\begin{equation}
V_{grid, RMS} = 690 V_{RMS}
\end{equation}
\begin{equation}
V_{DC} = V_{grid, RMS} \times \sqrt{2} = 975.8 V
\end{equation}
\begin{equation}
\cfrac{3\sqrt{2}V_{RMS}}{\pi} = 931 V
\end{equation}
(for now we will stick with the rst one, and get back to the last one
later)
\begin{equation}
\left|v_{1-6}\right| = V_{DC}
\end{equation}
This is lower than the input voltage, but the reason for this is
apparent when looking at the hexagon; when alternating between to
adjacent basic vectors, we are averaging and in the process some of
the voltage is "lost".
What do we do now?
As just shown, we are faced with a challenge with too low output
voltage compared to what we really want. But we are also faced with
physical limitations. Which we are going to bend. Slightly.
\begin{equation}
V_{max,RMS} = \frac{V_{DC}}{2} \times \sqrt{3} \times \frac{1}
{\sqrt{2}} = 597 V
\end{equation}
which is exactly the same as we just stated a few paragraphs up, just
presented from a di erent perspective. And we still haven't touched
our problem besides illustrating that we need to go through the DC-
link ceiling somehow by approximately 15% to reach 690 V. This
might seem impossible; The ceiling represent a switching state
where the switches are on 100% of the time, while the oor
represent a zero on-time. So how can a switch be on more than 100%
or less than 0% ?
Well, the trick is that it's all hidden inside. By expanding the blue
curve above to its constituent sine waves (a.k.a Fourier expansion),
the following will appear:
The gure to the right illustrates all three phase voltages with third
harmonic injection.
Some might notice something odd with those curves; The black
third harmonic curve is common to all three phases. All three are
super positioned and are totally identical which means that the third
harmonic is now a common mode wave form. Now all parts of the
motor circuit will oscillate at three times the frequency with respect
to the DC-link.
Oh yeah. The whole third harmonic component goes away and the
winding doesn't even know about it.
Bazinga.
MODULATION INDEX, M
This is quite simply a factor used to scale the voltage. In the last
section it was shown that the output voltage can be scaled up to
115.4% by applying third harmonic injections. I.e. the modulation
index can span from 0 to 1.154
\begin{equation}
V_{max,RMS} = \frac{V_{DC}}{2} \times \sqrt{3} \times \frac{1}
{\sqrt{2}} \times m
\end{equation}
The inverter will cut pulses and distort (roughen up) the sinusoidal
wave more and more until a situation called six step occurs. In six
step operation, the inverter will stay at one basic vector at the time
and jump directly to the next basic vector and then to the next and
so forth. With 60 degree steps and square wave operation, the motor
will produce a lot for harmonics and probably feel really terrible.
Luckily, the motor inductance will lter (smoothen) the current to
avoid damage due to exessive cogging / torque ripple (remember, it
is the current that produces the torque - not the voltage).
When high currents are needed, such as when the motor is running
at full speed and full power, the current drawn from the grid is
substantial, causing the small DC resistance in the recti er diodes to
become huge voltage drops (Ohm's law there, folks).
Suddenly the DC-link voltage is no longer 975 V, but 900 V and at
full speed the motor requires full voltage in order to keep the motor
ux at rated value. At this voltage, a modulation index of 1.25 is
required, and this will create an ugly sine wave. Also, note that over-
modulation is no longer linear. It actually looks more like the
saturation region of a magnetizing curve, meaning that the
controller will have to amplify the modulation index in order to
achieve the desired (linearized) modulation level.
Due to the ugly sine wave, harmonics other than our designed third
harmonic start to appear. These can cause over heating of both rotor
and main windings along with acoustic noise (whining) and torque
ripples. Note that this applies to induction motors. Brushless DC-
machines are actually designed for this mode of operation
37 Comments
Newer / Older
We think some rights might be reserved, but we are not quite sure which.