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:[email protected], [email protected] 31nstitut0 de Eng. Eldtrica, Universidade Federal de Itajubh, ItajubA, Brasil, e-mail: [email protected] 4Depar!ment of Electrical Enfieering, University of Tennessee, Knoxville, USA, e-mail: [email protected] Abshaci - The paper proposes a simplified algorithm of space vector modahtion(SVM) for a two-level voltage-fed inverter. The algorithm Is 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-width- modulated (PWM) voltage-fed inverter PI) is almost universally used. The foed switching frequency and the correspondingly well-defmed harmonic content make the carrier-based PWM algorithms very popular. Among the carrier-based PWM algorithms, space vector PWM (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, SVPWM 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 square- wave 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 mode 2 (0.952-<1 .O). Fig. 2(b) shows a reference vector for mode 1 overmodulation and the lower and upper 1224

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

Embed Size (px)

DESCRIPTION

ULTRA FAST SPWM

Citation preview

Page 1: A Simple and Ultra-Fast DSP-Based Space Vector PWM Algorithm And

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:[email protected], [email protected]

31nstitut0 de Eng. Eldtrica, Universidade Federal de Itajubh, ItajubA, Brasil, e-mail: [email protected] 4Depar!ment of Electrical Enfieering, University of Tennessee, Knoxville, USA, e-mail: [email protected]

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-width- modulated (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, SVPWM 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 square- wave 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 mode 2 (0.952-<1 .O). Fig. 2(b) shows a reference vector for mode 1 overmodulation and the lower and upper

1224

Page 2: A Simple and Ultra-Fast DSP-Based Space Vector PWM Algorithm And

(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:

'F

f* =!L- ( fa + 4 ) 2 where

t, th to = effective time for the lagging, leading and

T,= lif, = sampling time ( f, - swi tchg frequency) If - command or reference vector V+ = DC l i voltage a = angle of v' in a 60' sector.

zero switching vectors, respectively

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 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.

va v, (1 0 0 ) "a V,(1 0 0 ) v, V,(1 0 0 )

(a ) (b) ( c )

Fig. 2 - SVPWM operation regions (a) Undermodulation [O+n<0.907], (b) Overmodulation mode I [0.907+60.952], (c) Overmodulation mode 2

[0.952<m<l .O]

1225

Page 3: A Simple and Ultra-Fast DSP-Based Space Vector PWM Algorithm And

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.

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:

Calculate the phase turn-on and turn-off times directly, instead of calculating the effective times (tm tb and ta), and identify the sector to activate them.

Explore the decoupling between the angle and amplitude of the command voltage vector in the calculation of turn-on and 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:

Vd ,Vq I Sector identification

on six sectors -

Calculate the angle @*, a*

I

1 p.907 < m < 0.952

Calculate T,, TBON, T,,

Fig. 3. Flowchart for implementation of conventional algorithm

1226

Page 4: A Simple and Ultra-Fast DSP-Based Space Vector PWM Algorithm And

A. Simplicatioion of Sector Identification Strategv 1 S=1,4

S = 1,4

S=2,5

S = 3,6

I S = 2,s

S = 3,6

S=1,4

S = 2,5

> ( 2 ~ )

The simplification of the strategy for sector identification is also a key point of the simple and ultra-fast SVPWM algorithm. Basically, the proposed approach is an 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:

(2.a)

- A = Sign(%)

> (2b ) = Sign(&& - V,) (4)

and Tom = T, -TON because of symmetry. The eqn. (Z.a), for example, can be rewritten in the following general form:

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

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.

l I i , l l I l l

a 091 0.82 093 0.04 095 o.gs 087 0.98 om i M d u Y w n hdrr - m

Fig 4. Graph of compensation factor fc

c = - 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 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 idea behind the sector identification. On the other hand, the sector identification using the proposed approach is given by the equation

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.

Fig.5 - Simplification of sector identification

B. Saturation Function

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

Page 5: A Simple and Ultra-Fast DSP-Based Space Vector PWM Algorithm And

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, tb and 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.

DC link voltage (V,) Sampling time (K) Induction motor

W J q

Sector identification on three sectors

Calculate the g(Vd,Vg)

1 Determinate v", fc table 1

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 L2 Stator leak. inductance (LIS): 18.48 mH Rotor leak. inductance (Llr): 20.53 mH Magnetizing inductance (Lm): 225 mH Rotor Inertia (0: 0.01 155 Kg.m2 Fan Load ITL= d]: k 1.65~"

calculate and saturate (0 e Ts12)

0 Switch gates

Fig. 6. Flowchart for implementation of simplified SVM algorithm

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).

Time I

(c) Fig. 7 - Simulation results:

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

1228

Page 6: A Simple and Ultra-Fast DSP-Based Space Vector PWM Algorithm And

B. Experimental Results

The same drive system used for simulation was also implemented experimentally in the laboratory. The voltage- fed 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 vc) 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.

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.

1 flmV 5ms SAVE

W. REFERENCES [I]

[2]

I. Holtz, ‘Pulse width modulation for electric power conversion”,

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. 142- 150.

[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.

BOC. OflEEE,v. 8 2 , 1 9 9 4 , ~ 1194-1214.

41 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. 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. I. 0. P. Pinto, E. K. Bose, L. E. B. Silva aud M. P. Kazmierkowski, “A neural-network-based space-vector FWM maoUer for voltage- fed inverter induction motor drive” B E E Trans. I&Q Applicotiom, vok. 36, no. 6, Nov. 2000, pp. 1428-1636. 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

IS]

[6]

[7]

Trig -4mV CH2

I i I I I ~ I I l I I

(a)

lOmV 5ms SAVE

Trig -4mV CH2

F - l I I I Il-l

lOmV 5ms SAVE

(b)

(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

1229