IFOST 2010 Proceedings The Space Vector PM for Voltage Source Inverters Using Artiicial Neural Networks Based on FPGA Hong Hee Lee Phan Quoc Dzung Le Minh Phuong School of Electrical Engineering, HCMC University of Technology HCMC University of Technology University ofUlsan, Ulsan, Korea Ho Chi Minh City, Vietnam Ho Chi Minh City, Vietnam hhlee@mail.ulsan.ac.kr pqdung@hcmut.edu.vn Imphuong@hcmut.edu.vn Le Dinh Khoa Nguyen Truong Dan Vu HCMC University of Technology HCMC University of Technology Ho Chi Minh City, Vietnam Ho Chi Minh City, Vietnam khoaledinh@hcmut.edu.vn ntdanvu@gmail.com Abstract- This paper presents space vector PWM algorithm for six- switch three-phase inverters (SSTPI) using Artiicial Neural Networks (ANN) based on the ready-to-use ield-programmable VSI + -1 , gate array (FPGA) technology ANN is used to calculate ON-OFF time for six switches when given the angle and modulation index of required voltage space vector This approach has the advantage of very fast implementation of an Space Vector PWM Ud c (SVPWM) algorithm that can increase the converter switching Power system or Drive frequency, particularly when the ield-programmable-gate-array (FPGA) technology is used in the modulator This SVPWM is also validated experimentally using FPGA-XUP VIRTEX II PRO from Xilinx in SSTPI-IM system for under modulation mode and over modulation mode and 2, extended to six-step mode, especially for 40khz-switching-frequency case Kword: Space vector, Pulse-Width- Modulation, Artiicial M + + Neural Network, Voltage Source Inverter, undermodulation, Figure overmodulation I INTRODUCTION Tdeveloped strongly in power electronic ield in recent he applications of AN technique have been years In the past, a neural network was implemented in instantaneous curent control PWM [4-7] Nevertheless, current control PWM does not give optimum performance Several researches of ANN implementation of SVM had been worked out [3,2] Although this ANN-SVM controller has the advantage of fast calculation, the limitation of this approach is the dificulty of training in the overmodulation range with nonlinearity of modulation technique To avoid this spot, the proposed back-propagation-type feed-forward AN-SVM [12] successully has been trained by using two principal approaches: 1) Method of linear modulation between two limitary trajectories [8] (to overcome the diiculty of nonlinearity of overmodulation range) 2) Individual training strategy with Sub-nets (to overcome the complexity of SVM for modes: undermodulation, mode overmodulation 1, overmodulation mode 2) ANN-SVPWM FPGA BASED CONTROLLER NN- SVPM FPGA Bsed Controller for VSI Because of highly parallel property and more resource demand of AN, FPGA is suitable to implement for experiments In this study, the FPGA implementation algorithm for ANN-SVPWM is presented Real number calculation and activation unction for ANN have been considered well The algorithm permits the accuracy of ANN about le-3 because of 3-ractional-digit loating point number model Experimental results of three modulation regions show that the parallel property of AN is guaranteed The switching requency is increased up to 40 hz II SPACE-VECTOR PWM N UNDERMODULATION AND OVERMODULATION REGIONS REVIEW The SVM technique has been well discussed and developed in literature, and a number of authors [1], [8]-[10] have described its operation in the overmodulation Among these methods of modulation, method of modulation between trajectories [8] has the advantage of simplicity and linearity A Undermodulation (0 < M < 0.907) In the undermodulation, the rotating reference voltage remains within the hexagon The SVM strategy in this region is based on generating three consecutive switching voltage vectors in a sampling period (Ts) such that the average output voltage matches with the reference voltage The equations for 978-1-4244-9037-0/10/$26.00 ©2010 IEEE IFOST 2010 Proceedings efective duty cycle of the inverter switching states can be described as following: d,= 23 M sin(r13 -a) r (1) d,= 23 M sin( a) r do= I-d, -d, where dl - duty cycle (2tI/Ts) of switching vector that lags d2 - duty cycle (2t2/Ts) of switching vector that leads - duty cycle (2tofTs) of zero-switching vector * * M - modulation factor M = y IYIsw (y - magnitude of reference voltage vector, Ylsw - the peak value of six step voltage wave ) The timing intervals re obtained by multiplying duty cycles and period Tsl2 respectively vermodulation mode (0.907 < M < 0.952) * This mode strts when the reference voltage y exceeds the inscribable circle in the hexagon nd atteints the sides of the hexagon On the hexagon trajectoy, duty vanish: B d,"= 3cosa-sina h ,3cosa+sina (2) d,"=I-d, do"=0 d,= d,' + 1(d," -di) d, =d,' +1(d," -d,') do=0 Coeficient is determined similarly (4) where MI=0.952, M2=1 In overmodulation region, this approach has the advantage of simplicity in comparison with other conventional method [2] III 23 d, =-·0.907sinrI3-a ( ) r (3) 23 d, =-·0.907sin (a) r NEUL-NETWORK BASED SPACE VECTOR PWM The SYM algorithm will be used to obtain training data for developed -AN-SYPWM A Undermodulation Region Sub-net: For any command angle c/, the duty cycles d), d2, are given by (1) for sector 81• Similar duty cycles can be determined for all six sectors and the phase tum-on duty cycles can be calculated as [12]: ) dA-ON =2+;M' hIO (a (10) ' M (a ) dB-ON= 21 + ;h20 M (a ) dC-ON= + ;h30 where Applying theory of linear modulation within trajectoy, the fIrst trajectoy has been chosen with M = 0.907: (9) ' ' 1[- sin(r13 -a)-sinal ,)_ [- sin(r13 -a)+sinal hIO (a - [+sin(r13 _ a)+ sinal [+sin(r13 -a)-sinal 8=I, 8= 8= 3, 8= (11) * * h2o(a\ h3o(a ) are obtained similarly Then, hIO,2o,3o(a ) have been used for creating databases which are needed for training -oo d;=I-d, -d, The second one is the bounday of hexagon (2) Coeficient of modulation is deined as following: -30 (4) 1= M-M, M,-M, -SCO The duty cycles accordingly [8] are detemined as : d,=d,' +1(d,"-di) d,=d,' +1(d,"-d,') do=d; +1(-d;) vermodulation mode (0.952 (5) f10: tansig; 20: purelin; 30: purelin O=sqt3)2; bO=1/2 Figure < M < 1) In overmodulation mode 2, the reference vector y* increases urther up to six-step mode Applying theory of linear modulation within trajectory, the fIrst trajectoy has been chosen with M = 0.952 : _ 3cosa-sina d', - 3cosa+sina d,'=l-d, d;=0 (6) The second is divided in two cases: For 0�a�r16 : * undermodulation region Sub-net with one input (a ) and three outputs (hIO' h2o, h30)' The angle step is A two-layer network is used for implementing this Sub-net The sub-net is obtained by training (supervised) with trainlm unction - Levenberg -Marquardt algorithm, the acceptable lSI for training squared error is 10-4• The number of neurons of d n layer is 10 tansig neurons, the layer has purelin neurons So, the total number of neurons is 13 neurons (convergence obtained for 1077 epochs) B d,"=I;d,"=0;do"=0 (7) d,"= O;d,"=I;do"=0 (8) For r16�a�r13 : Accordingly [8], the duty cycles are described linearly as following: Undermodulation region subnet vermodulation model Sub-net The duty cycles d), d2, are calculated by (5) for sector 81• Ater several subtitutions, the duty cycles can be described as : ( ) [ K cosa-sina] ( )+ ' d, =K,smrl3-a +1-K,sm rl3-a K,cosa+sma K,cosa-sina] [ ' d,= K,cosa-sina +1-K,sma+ K,cosa+sma K,cosa+sma (12) do=l-d,-d, where 978-1-4244-9036-3/101$26.00 ©2010 IEEE IFOST 2010 Proceedings K, = Kl=3; ·0.907 r Duty cycles can be determined for all six sectors and the phase tum-on duty cycles can be calculated similar as (10)-(11) by subtituting (12) �+ � [hl1a {a' )+/.h'la {a' )] = � + � [hl1b (a' )+/.h'lb (a' )] = � + � [hl1' (a' )+/.h'k (a' )] dA_oN = dB_ON dC_ON (13) (1 ) 3cosa-sina + 3cosa-sina / 3cosa+ sina 3cosa+ sina 3cosa-si n a +/ 3cosa-sina d ,3cosa+sina 3cosa+sina =0 d1 -1 - For t/6 < [ ] (16) a;I3 : 3cosa-sina + 3cosa-sina d1 / 3cosa+sina 3cosa + sina 3cosa-sina cosa-si n a +/ d, =1 cosa + sina 3cosa + sina where -K,s1.O(r/3-a)-I+ K1cosa-si.na Klcosa+s1Oa' -K,sin(r/3-a)+1 Klcosa-sina Klcosa+sina' + K,s1o(/3 r -a)+ Klcosa-sina Klcosa+sina' Kl K,s1O(/3 r -a)-I+ cosa-si.na , Klcosa+s1Oa 8=1,6 (17) (14) -S2 8=2 8=3,4 32 8=5 and -SC2 12: ]2 S - A1 u -31 SC1 Figure 11: tansig; 21: purelin; 31: pure Ii n Wl=l2; bl=112 Figure Overnodulation mode region subnet 8=1,6 -I+ K,(sin(r 3-a)+sina), K cosa-si n a K,(s1O(r/3-a)+s1Oa)+ 1-2 , 8=2 Klcosa+s1.Oa h'la (a' ) = I-K,(sin(r/3-a)+sina), 8=3,4 K cosa-si n a -1+K,(s1O(r/3-a)+s1Oa)+2 , 8=5 Klcosa+s1.Oa (15) * * * * hllb(a ), h2lb(a ),h11e(a ), h2 1e(a ) are obtained similarly * Then, h11, 211, 11b, 21b, 11e, 21e (a ) have been used for creating databases which are needed for training overmodulation ' region Sub-net with one input (a ) and six outputs (h11a,h2Ia,hllb,h2Ib,hlle,h2Ie)' The angle step is degree A two-layer network is used for implementing this Sub-net The sub-net is obtained by training (supervised) with trainlm unction - Levenberg -Marquardt algorithm, the acceptable sl for training squared error is 10-4 The number of neurons of d layer is 20 tansig neurons, the 2n layer has purelin neurons So, the total number of neurons is 26 neurons (convergence obtained for 1016 epochs) vermodulation mode Sub-net The duty cycles in this mode dt d2, are given by (9) for sector 81 Ater several transformations, the duty cycles can be written as: - For < a;t/6 : dB_ON =hi2b (a' ) +/.h"b (a' ) dC_ON =h1" {a' ) +/.h,,, {a' ) 0, 8=1,6 cos a -si n a 8=2 cosa+sina' h'la (a' ) = 0.5,3 8=3,4 cosa-sina 8=5 cosa+sina and (19) 0, 8= 1,6 3cosa-sina f 1orO : a : f6 cosa + sina cosa-sina or f6<