3. Modulation strategies for dual inverter: state of the art
3.2. Modulation techniques for two-level voltage source inverters
3.2.2. Space vector PWM
Space vector PWM algorithm generates simultaneously all three duty cycles from the calculations based on geometrical representation of vectors. Its major advantage is clearer insight, making it today’s most popular modulation method, although it turns into a drawback when comes to harmonic analysis of the results. The method is based on the fact that there are only few available switching states of the inverter, i.e. 23 = 8, denoted
{
V0,V1,..,V7}
in Fig. 9(a), since leg voltages can produce only two levels. For a balanced star load with isolated star point, it gives only five possible output voltages:⎭⎬
From the fact that voltage zero-sequence component is always zero a space-vector representation in αβ-plane corresponds to the abc-plane representation, as shown in Fig. 9. The amplitude of the maximum output voltage in linear region is the radius of the inscribed circle with magnitude:
)
performance. Sometimes this result is compared with fundamental harmonic in six-step (square, fundamental switching) mode:
)
that is not entirely correct since the quality is completely different - square mode has highly distorted output.
A. Calculation of the application times
The SVM principle decomposes reference V as a sum of the nearest three vectors (NTV) ∗
a*
V , V , and b* V . Due to the hexagon symmetry, the analysis can be restricted to one of the six o* big sectors, such is one with the vector V in Fig. 9(a). In the absolute units, the application ∗ times Ta and Tb, of active vectors V , a* V can be calculated as geometrical projections from Fig. b* size 2Vdc/3 to Vdc/ 3 . The reason is that application time is calculated comparing original vec-tors to 2Vdc/3, however relative vectors are expressed with respect to base voltage Vdc/ 3 .
Further, only relative unit vector reference v∗=vα∗ + jvβ∗ will be used. The obtained
Fig. 9. Space-vector switching representation for two-level star-connected load inverter (a) abc- and (b) αβ-domain.
application times in relative units with respect to TS are:
Taking into account symmetry of switching pattern for the minimization of harmonic and ripple content [2], SVM algorithm theoretically would finish here, since true SVPWM unit in DSP would require the application times as input data1. However, a more general case is carrier-based modulation unit that requires duty cycles, which still need to be calculated. Due to the redundancy of zero vector there is a degree of freedom to choose in following steps:
1. Determine the “minimum duty cycle” dmin,
2. Add tb to dmin in order to obtain “middle duty cycle” dmid, 3. Add ta to dmid in order to obtain “maximum duty cycle” dmax,
because all three duty cycle values will be compared to the same carrier. Due to the degree of freedom, there are countless possibilities among which the most applied patterns are:
• Continuous symmetrical zero placement commutation, with all three phases having one pulse in each switching period and equal v duration at the beginning/end and in the o middle of the half-switching period:
*
Particularly it can be noted that for
=0
v∗ , (22)
duty cycles are not zero but
dmin = dmid = dmax = 0.5, (23)
therefore disproportional to the modulation signal.
The same expression (21) can be obtained by setting equal v application times in both the o beginning/end and middle of the switching period:
min
1−dmax =d , (24)
Applying the algorithm gives
min
1 There are such SVM units which require application time, e.g. F2812 DSP with registers ACTRx and CMPRx.
dmax = 1, (27)
• discontinuous modulation with the minimum duty cycle always off
dmin = 0, (29)
and v only at the beginning/end of the switching period. o
min =0
• Discontinuous symmetrical modulation with 60º fixed switch period. It is a middle solution between previous two, and the duty cycles are obtained as a combination of (28) and (30).
Each of these two equations is applied for central 60º within 120º where they were applied solely. Therefore, zero vectors are present either in the beginning/end or in the middle of the switching period.
The obtained PWM patterns are presented in Fig. 10, together with pattern from the proportional (sinusoidal) modulation given for a comparison.
S1
Fig. 10. Switching patterns for some modulation types (a) proportional, (b) discontinuous dmax = 1, (c) continuous symmetrical, (d) discontinuous dmin = 0.
B. Determination of the sector
can be used to determine sector s of the hexagon:
)
This is the simplest way to determine the sector; however, with slower processors it was important to avoid usage of function arctangent as time-consumptive. Another solution is determination based on the component signs and tangent of the angle, like:
(uα ≥0) and (uβ >0) and ( 3uβ <uα), (33) which are simple, but repetitive and therefore require more program memory. The optimal solution is to introduce 2→3 transformation denoted Sc, to obtain six sectors instead of four quadrants inherent for αβ-coordinate system, [5].
⎥⎦
In the transform α- and β-axe are swapped compared to the inverse Clarke transform matrix C:
⎥⎦
as depicted in Fig. 11(a). The method is based on the well-known characteristic that projection to the axis of the vector is equivalent to the sum of the projections of its vector components. Using introduced coordinate system each sector is uniquely determined by the signs of the x-, y- and z-projection, as stated in Fig. 11(b). Furthermore, introducing “code” 1 for vx > 0 and “code” 0 for vx < 0, and different numbering of the sectors they can be coded with binary numbers, since there are 23 = 8 combinations and (0, 0, 0) and (1, 1, 1) are impossible. Regarding the other sectors, it is possible to calculate all the cases referred to the first sector, and to reassign calculated duty cycles in the transposed manner.
Sector number Fig. 11. Space representation in αβ and introduced xyz coordinate systems (a) Illustration of the projection vector
components and (b) New numeration (Arabic) and original (Roman numbers).
However relative application times for reference in sector different from sector I can be calculated directly. To calculate relative application time it should be calculated xyz-axis projection of the vector. E.g. to calculate tb simply note that vector vb becomes projected with 90° to the axis x. From the Fig. 9 and Fig. 12 values vx, vy, vz can be used for the calculation of the relative application times since they are making 30° angle with the abc-system same as 2Vdc/3 with respect to base voltage VBS = Vdc/ 3
b
x v t
v = β = ,
a
y v v t
v = * − * =
2 1 2
3 α β ,
b a
z v v t t
v =− * − * =− − 2
1 2
3 α β
(36)
and applied to the duty cycles calculation and their assignment:
y c b x
a
o t t v v d
d t − − =
− =
= −
= 2
1 2
1
min 2 ,
b x b
mid d t d v d
d = min + = min + = ,
a y mid a
mid t d v d
d
dmax = + = + =
(37)
Finally, it should be noted that the fact that depending whether the sector is even or odd application vectors denoted as va and vb alternatively swap places within the switching sequence. In the sector I the switching sequence having one commutation at a time is (000)-(100)-(110)-(111), corresponding to counterclockwise sense whereas for the sector II must be (000)-(010)-(110)-(111) corresponding to clockwise sense, with the reference to Fig. 9(a).