You are on page 1of 6

-

The 30th Annual Conference of the IEEE Industrial Electronics Soclety, November 2 6,2004, Busan, Korea

A Simple and Ultra-Fast DSP-Based Space Vector PWM Algorithm and


its Implementation on a Two-Level Inverter Covering Undermodulation
and Overmodulation
Nicolau Pereira Filho', Joiio Onofre P.Pinto', Luiz E. Borges da Silva3,Bimal K. Bose'
'*2Dep.de Eng. Elktrica, Univ. Fed. de Mato Cross0 Sul, Campo Grande , Brasil, e-mail:nicolau@iee.efei.br,
jpinto@ieee.org
31nstitut0de Eng. Eldtrica, Universidade Federal de Itajubh, ItajubA, Brasil, e-mail: leborges@iee.efei.br
4Depar!ment of Electrical Enfieering, University of Tennessee, Knoxville, USA, e-mail: bbose@utk.edu
Abshaci - The paper proposes a simplified algorithm of
space vector modahtion(SVM) for a two-level voltage-fed
inverter. The algorithm I s faster and more flexible than any
other algorithm so far proposed in the literature. Another
relevant advantage of this approach is that a single algorithm
covers the undermodulation and overmodulation regions
including the
square-wave Operation with almost no
additional computation cost. The simplification of the
algorithm is achieved by exploring (1) the coupling between
the angle and amplitude of the command voltage vector in the
final result of the algorithm, (2) extrapolation of the
undermodulation strategy into the overmodulation region, (3)
reduction of the number of equations to calculate the
switching times, and (4) simplification of the sector
identificaiion strategy. As a result, the algorithm can be
implemented by using only basic mathematical operators
(addition, subtraction and mdtiplieation), Boolean logical
operators, and a small one-dimensional look-up table. This
simplified algorithm permits SVM implemontalion at higher
switching frequency without loosing any good features of the
conventional SVM algorithm. Matlab/Simulink simulation
results and laboratory experimental results using DSP type
TMS320FZ40 for a VoltslRz controlled induction motor drive
with 20 kBz switching frequency
indicate excellent
performance of the system.

I. INTRODUCTION
The dc-to-ac power conversion at variable frequency is
the basis of the modern variable speed ac motor drive
applications. In these applications, the pulse-widthmodulated (PWM) voltage-fed inverter P I ) is almost
universally used. The foed switching frequency and the
correspondingly well-defmed harmonic content make the
carrier-based P W M algorithms very popular. Among the
carrier-based PWM algorithms, space vector P W M
(SWWM) is well-accepted because of its superior
harmonic quality and extended linear range of operation
11,2]. Different from other carrier-based PWM algorithms
which modulate each of the three phase voltages
individually, S V P W M modulates the command voltage
vector as a whole. Basically, this algorithm aims to have the
average of the output voltage vector equal to the command
reference vector. Because of the nature of its sbategy,
SVPWM requires very complex on-line computation,
which usually limits its operation up to several lcHz of
switching ffequency. The difficulty increases when
operation in undermodulation and overmodulation regions
is required. In this case, different algorithms are required
for each region. An operation strategy for each region was
proposed in [3], where the overmodulation region was

fuaher subdivided into two regions, and consequently two


additional algorithms, (resulting in a total of three
algorithms) were required to cover under and
overmodulation regions. Simplifications of the strategy for
overmodulation were proposed in [4] and [5]. Both the
approaches use only one algorithm for the overmodulation
region. However, to achieve such simplification, the
harmonic quality in this region is somewhat sacrificed.
Regardless of any mentioned simplification in the
overmodulation range, if both undermodulation and
overmodulation ranges are required, then the SVPWM
implementation will require at least two algorithms: one for
the undermodulation and the other for overmodulation.
More recently, another approach [6j simplified the
SVPWM algorithm, proposing a saturation function, and
use of artificial neural network to unify the algorithms for
undermodulation and overmodulation regions.
This paper proposes a simplified algorithm of space
vector modulation for voltage-fed inverter. The simplified
algorithm is faster and more flexible than any algorithm so
far proposed in the literature. Another relevant advantage of
this approach is that a single algorithm covers the
undermodulation and overmodulation regions, and squarewave operation with almost no additional computation.
This simplified algorithm permits implementation of space
vector modulation at higher switching frequency.without
loosing any advantages of the conventional space
modulation algorithm.
11. SPACE VECTOR MODULATION

Fig. 1(a) shows a three-phase two-level voltage-fed


inverter, and (b) shows its eight switching states of which
six [VI(100) - V6 (lol)] are active state vectors to form a
hexagon, and two [Vo(OOO) and Y7(111)] are zero state
vectors that lie at the origin. A command voltage vector lf
is shown that lie in sector 1. The operation in
undermodulation and overmodulation is determined by the
modulation index m,which is defined as the ratio between
the magnitude of the command or reference voltage vector
and the peak value of the fundamental component of
square-wave voltage. The modulation index (m) varies
between 0 and 1. In the undermodulation region
(0=3n<0.907),
shown in Fig. 2(a), the reference voltage v*
remains within the hexagon. The overmodulation region is
subdivided into two modes: mode 1 (0.907<m<0.952) and
.O). Fig. 2(b) shows a reference vector
mode 2 (0.952-<1
for mode 1 overmodulation and the lower and upper

1224

(a)

(b)

Fig. 1 (a) 2-level voltage-fed inverter, (b) Switching states of the inverter
trajectory limits for this region. Fig. 2(c) shows operation
in overmodulation mode 2 and the corresponding trajectory
limits.

The effective times of the inverter switching states in


undermodulation region are given by the following
equation:

For overmodulation modes 1 and 2, the eqn. (1)


generalIy remains valid. However, it is necessary to
compensate the output fundamental voltage loss through
amplitude andlor angle modification [1][6].

In overmodulation mode 1, the amplitude is modified


fiom P to V,, and in overmodulation mode 2, besides the
amplitude modification, the angle is also modified from a*
to a*,.

Fig. 3 shows the flowchart for the conventional SWWM


algorithm, where V, and V, are the real and imaginary
'F

f*

=!L-

(fa

+4 )

where
t, th to = effective time for the lagging, leading and
zero switching vectors, respectively
T,= lif, = sampling time ( f, s w i t c h g frequency)

If - command or reference vector

components, respectively of Y*, B is the angular distance


from the Re axis in Fig. l(b) and a is the sector angle. It
can be seen that the computation steps of this algorithm are:
(1) sector identification; (2) calctdation of d and a*, (3)
calculation of the modulation index m, (4) calculation of
time intervals t,,, 16, and to, and ( 5 ) calculation of phase
switch turn-on times T A ~T ~B ~
, M
and, T c a ~(see eqn. (2))
depending on the sector location. Here, for example, Td.oN
= 1 means that switch SI.is on and otherwise S, is on.

V+ = DC l i voltage
a = angle of v' in a 60' sector.

va

v, (1 0 0 )

(a )

(a) Undermodulation [O+n<0.907],

"a

(b)

V,(1 0 0 )

v,

V,(1 0 0 )

(c)

Fig. 2 - SVPWM operation regions


(b)Overmodulation mode I [0.907+60.952], (c) Overmodulation mode 2

[0.952<m<l .O]

1225

Calculate the phase turn-on and turn-off times directly,


instead of calculating the effectivetimes (tm tb and ta),
and identify the sector to activate them.

Note that in Fig.3, there. are .three different algorithms to


.calculate t,,, tb and to in order to cover the whole operation
range, i. e., undermodulation, overmodulation mode I , and
overmodulation mode 2. This algorithm is very complex
and time consuming because (1) the equations to calculate
the effective times depend on the operation region, (2) the
phase switching times are calculated using the effective
times and the sector information, and (3) the method used
to identify the sector where the reference vector lies is
complex.

Explore the decoupling between the angle and


amplitude of the command voltage vector in the
calculation of turn-onand turn-off times.
Extrapolate the undermodulation region to go into the
overmodulation region ( with saturation function).
The first step towards the simplification of the SVPWM
algorithm is given by using the d q components. This
stmtegy simplifies the calculation of the sin(cc*) and sin(x/3
-a*) terms, avoiding the w e of look-up table. The
calculation of the tum-on switching times of the phases
becomes simpler, and are given by the following equation:

HI. SlMPLLFIED ULTRA-FAST SVM ALGORITtlM


The simplified algorithm proposed in this work is based
on the approach taken in [6].The main points proposed in
[6] are:

Vd ,Vq

Sector identification
on six sectors

Calculate the angle @*, a*

p.907 < m < 0.952

Calculate, ,T

TBON,
,T
,

Fig. 3. Flowchart for implementation of conventional algorithm

1226

S=1,4

A. Simplicatioion of Sector Identification Strategv

The

S = 2,s
S = 3,6

S=1,4

of

the

strategy

for

sector

improvement of the strategy given in [7].The sector is


determined by Boolean logical operations of the sign bit of
three functions of the reference vector d-q components, as
given by the following equation:
-

S = 2,5

simplification

(2.a) identification is also a key point of the simple and ultra-fast


SVPWM algorithm. Basically, the proposed approach is an

>

A = Sign(%)
= Sign(&&

(2b)

- V,)

c=

(4)

- V,

The sector identification given in I71 is done by using


the relation

N = A + 2.3 4.C
(5)
The simplification uses the similarities between the
sectors 1 and 4,2 and 5, and 3 and 6. This reduces the total
S=2,5 > ( 2 ~ ) number of sectors from 6 to 3, and therefore, only 2
conditional expressions (ifl are required for calculation of
g(Vd VJ, instead of 6, as proposed in [7]. Fig. 5 shows the
S = 3,6
idea behind the sector identification. On the other hand, the
sector identification using the proposed approach is given
by the equation
Tom = T, -TON because of symmetry.
S = 1,4

and

The eqn. (Z.a), for example, can be rewritten in the


following general form:

T"-m= ~ ( l + L . m & ) )

(3)

N* = ( A XOR C)+ 2.03 XOR C)

(6)

The sign function is implemented through a AND logical


operation, and the s u m operation is implemented with a bit
shift and an OR logical opemtion.

For operation in the linear region, the parameterf; is


unity, and the function g(F'dVJ is, in fact, the normalized
switching time. However, for operation in the
overmodulation region, fc is nonunity and nonlinear, and
assumes value depending on the angle and amplitude
compensation. The compensation factorf, was obtained on
the basis of [ 6 ] ,and can be stored as a small look-up table.
Fig. 4 shows f c as function of modulation index m.

Fig.5 - Simplification of sector identification

B. Saturation Function

091

0.82

093

0.04 0 9 5 o.gs
M d u Y w n hdrr m

087

0.98

om

Fig 4. Graph of compensation factorfc

The last stage before generation of device switching


signals is the saturation of the switching times at 0 or TJ2.
However, different from the approach proposed in [6],here
the saturation is done to the function (I+f,.g(Vd VJ) either
as 0 or 2. Therefore, since the multiplication by Ti4 is
made after the saturation, the switching frequency can be
easily changed in the source code by changing the
switching period T,.

1227

Fig.6 shows the flowchart for the simplified algorithm


proposed in this work. This algorithm is much simpler and
consumes much less computation time because (1) it i s
based directly on the switch turn-on times rather than the
effective times (t4, tband to), (2 ) the overmodulation modes
1 and 2 regions are obtained through extrapolation of the
undennodulation region, (3) uses a small look-up table for
correction of amplitude factor in overmodulation region,
and (4) the sector identification algorithm is much simpler.
WJq

A. Simulation Results

A model of the Volts/Hz induction motor drive using the


proposed S V M algorithm was developed using the
MATLAB/Simulink simulation program. Fig.7 shows the
phase currents of the motor in different operation
frequencies. Fig. 7(.a) shows the drive opemting h the
linear region at 50 Hz (m = 0.833). Fig. 7@) shows the
drive operating in the overmodufation mode 1 region at 56
Hz (m=0.933), and finally, Fig.7 (c) shows the drive
operating in the overmodulation mode 2 at 59 Hz
(m4.983).

Sector identification
on three sectors

Calculate the g(Vd,Vg)

1Determinate v",fc table 1

calculate and saturate (0 e Ts12)

0
Switch gates

Fig. 6. Flowchart for implementationof simplified SVM


algorithm

DC link voltage (V),


Sampling time (K)
Induction motor

300 V
50 pS
1 Hp, 230 V, 4-pole

frequency range:0 - 60 Hz
Power factor (full load): 85%
Eficiency: (full load): 85%
Stator resistance (Rs): 4.850 C l
Rotor resistance (Rr): 5.386 L
2
Stator leak. inductance (LIS): 18.48 mH
Rotor leak. inductance (Llr): 20.53 mH
Magnetizing inductance (Lm):225 mH
Rotor Inertia (0:0.01155 Kg.m2
Fan Load ITL= d]k
:1.65~"

Time I

(c)

Fig. 7 - Simulation results:


(a) phase current - 50 Hz,m = 0.833
(b) phase current - 56 Hz,m 0.933
(c) phase current - 59 Hz ,m = 0.983
5

1228

B. Experimental Results

41

The same drive system used for simulation was also


implemented experimentally in the laboratory. The voltagefed inverter was built using 6 IGBTs type IRGPCSOUD
(600 V, 27 A) and a three-phase bridge driver IR2130 ( 2.5
ps dead-time). The proposed simplified SVPWM
algorithm as well as the open-loop VoltdHz control were
implemented using a 16-bit fixed- point DSP type
TMS320F240. This DSP has a 50 ns instruction processing
time. The SWWM sampling time was 50 ps (1ROkHz).
The switching signals was generated through the six full
compare unit of the DSP. The look-up table compensation
factor
was composed by 256 elements. This number of
elements was enough to assure the DSP precision.
The execution time of the simplified SVPWM algorithm
took only 110 machine cycles (5.5 ps). The whole
algorithm, which includes open loop Volts/Hz control and
the simplified SVPWM algorithm took 217 machine cycles
(10.85 p).
Fig. 8 shows the experimental phase currents of the
drive at the same operation points as those in the
simulation study.Fig. S.(a) shows the drive operating in the
linear region at 50 H z (m = 0.833). Fig. 8(b) shows the
drive operating in the overmodulation mode 1 region at 56
Hz {=0.933), and finally, Fig.S(c) shows the drive
operating in the overmodulation mode 2 at 59 Hz
( ~ 0 . 9 8 3 )The
. experimental results compare well with the
simulation results except some noise spikes. Therefore, the
new SWWM approach is fully validated.

S. Bolognani and M. Ziglitti, Wove1 digital continuous conlml of


SVM inverters in the overmodulation range, lEEE Trmr. on Ind.
Appi., vol. 33, MarcWAprill997, pp. 525-530.

IS] D.C.Lee and G.M.Lee, A novel overmoduMion technique for space


vector PWM inverters, IEEE Trans. Power Elecfmnics, vol. 13. ,
Nov. 1998.p~.1144-1151.
[6] I. 0. P. Pinto, E.K.Bose, L. E.B. Silva aud M.P.Kazmierkowski,
A neural-network-based space-vector FWM maoUer for voltagefed inverter induction motor drive B E E Trans. I&Q
Applicotiom, vok. 36, no. 6, Nov. 2000, pp. 1428-1636.
[7] Zhenyu Yu, Space-Vector P W M With TMS32OC24xiF24x Using
Hardware add Software Determined Switching Patterns; Texas
Instruments Literame Number SPRA524.
[ti] B. K Bose, Modem RowerEleclroniw andRCDrives, Prentim
Hall, Upper Saddle River, 2002

vc)

Trig -4mV

lOmV

CH2

I I
5ms

SAVE

(a)
Trig -4mV

CH2

v. CONCLUSIONS
This paper proposes a new simple and ultra-fast space
vector PWM algorithm. The simplication of the SVPWM
algorithm is achieved by (1) coupling between the angle
and amplitude of the command voltage vector in the fmal
result of the algorithm, (2) the extrapolation of the
undermodulation strategy into the overmodulation region,
(3) the reduction of the number of equations to calculate the
switching times, and (4) the simplification of the sector
identification strategy. As a result, it is now possible to
implement SVPWM algorithm at a higher switching
frequency. The simulation and experimental results show
that the simplified algorithm works very well in under and
overmodulation regions at a much less computation cost
compared to that of the conventional algorithm. The
execution time of the SVM algorithm takes only 110
machine cycles (5.5 ps when using TMS320F240).
Although the results were given only for open-loop
Volts/Hz control, the same algorithm is also suitable for
vector-controlled induction motor drive.

W.REFERENCES
[I] I. Holtz, Pulse width modulation for electric power conversion,
BOC.
OflEEE,v. 8 2 , 1 9 9 4 , ~1194-1214.
[2] H.W. Van Der Broeck, H.C. Skudelny and G. Stanke, Analysis md
realization of a pulse widib modulator based on voltage space
vectors, IEEE Trans. on Ind. Appb, vol. 24, Jan./Feb. 1988, pp. 142150.

[3] J. Holtz, W.h f z k a t , M. Khsmbadkone. On continuous control of


PWM invertca in the overmodulation range including the six-step
mode, IEEE Trans. Power Electronics, vot. 8, October 1993. pp
546-553.

1229

F-l I
lOmV

I Il-l

5ms

SAVE

5ms

SAVE

(b)

1 flmV

(4
Fig. 8 Experimental results:
(a) phase current - 50 Hz,m = 0.833
(b) phase current - 56 Hz,m = 0.933
(c) phase current - 59 Hz,m = 0.983
Scales: Sms/div, 1Mdiv

You might also like