TOKOVNO VODENJE TRIFAZNEGA MOTORJA S FPGA VEZJEM Horvat Robert, Jezernik Karel Univerza v Mariboru, FERI, Maribor, Slovenija Kjučne besede: dogodkovno vodenje, histereznik, napetostni vektor, napetostni sektor, FPGA vezje Izvleček: V delu je opisana primerjava histereznega in dogodkovnega tokovnega vodenja trifaznega motorja. Primerjali smo dogodkovno vodenje s tremi in dvema aktivnima napetostnima vektorjema. Prikazane so prednosti in slabosti histereznih regulatorjev pred linearnimi. Ocenjevanje uporabnosti različnih metod je prikazano glede na valovitost izhodnega toka in število preklopov tranzistorskega mostu, kar neposredno vpliva na stikalne izgube pretvornika. Tokovna regulacija je preizkušena na eksperimentalnem modelu s FPGA vezjem, ki ga programiramo s pomočjo VHDL kode z orodjem ISE. FPGA vezje je polje programabilnih logičnih vrat. Logična vrata omogočajo dogodkovno vodenje, ki ni vezano na čas urinega cikla. V delu so predstavljene še vse ostale prednosti FPGA vezja v primerjavi z DSP sistemom. Current direction of three-phase motor with FPGA circuit Key words: event direction, hysteresis, voltage vector, voltage sector, FPGA circuit Abstract: In this paper difference of conventional and event driven AC current control of AC motor is described. We compare of the use three and two voltage vectors in discrete event current control. Assessment of usability of different procedures is showed considering waviness of output current and number of overlaps. Current regulation is tested on experimental model with FPGA (field-programmable gate arrays) circuit. FPGA is allowing event drive that is independently from clock. The paper presents new embedded switching control properties of FPGA-based techniques. Simple implementation makes concept of switching control very attractive in power electronic systems, like control of inverter. Results are showing that discrete event control with three active voltage vectors is proper that conventional hysteresis control because of lesser number of overlaps and less waviness of output current. Discrete event control with just two active voltage vectors allowing lesser number of overlaps, considering of method with three active voltage vectors, but increase waviness of output current. 1. Uvod Za implementacijo zelo hitrih sistemov, kjer frekvenca delovanja digitalnega signalnega procesorja (DSP) ne zadostuje več, vedno pogosteje uporabljamo polja programabilnih logičnih vrat (Field-programmable gate array -FPGA). Prednost FPGA vezja glede na DSP sistem je v paralelnem načinu izvajanja, ki omogoča, da se vsi procesi izvajajo istočasno, torej s številom procesov ne vplivamo na frekvenco delovanja. Pri DSP sistemih (zaporedni način izvajanja) se s kompleksnostjo programa (večje število vrstic) zmanjšuje frekvenca delovanja. Na ta način lahko s FPGA vezjem dosegamo 100 krat višje frekvence delovanja. FPGA je elektronsko vezje sestavljeno iz logičnih vrat, kar je zelo primerno za dogodkovno vodenje. O dogodko-vnem vodenju govorimo takrat, ko za spremembo izhodnega stanja ne potrebujemo čas urinega cikla, ampak se to zgodi takoj, ko imamo pogoj za drugo stanje. Primer takšnega vodenja so logična vrata. Pri logičnih vratih (Slika 1) se izhodno stanje OUT spremeni glede na vrednosti IN1 in IN2, ne da bi za to potrebovali čas (urin cikel). IN1 IN2 OUT Slika 1. Logična vrata AND 10 Slabost FPGA vezja pa predstavlja izvajanje računskih operacij. Za razliko od DSP sistema, kjer računamo s CPU enoto, se pri FPGA vezju računa s celimi števili (fix point). Oba sistema je možno reprogramirati. Poleg vseh zgoraj opisanih lastnosti, pa FPGA vezje predstavlja tudi ekonomsko zanimivo orodje, ki je finančno zelo ugodno, programska oprema pa je brezplačno na voljo na spletu. V nadaljevanju je opisana tokovna regulacija trifaznega motorja s pomočjo histereznega regulatorja. Opisane so lastnosti histereznega regulatorja, kot tudi princip dogodkovnega tokovnega vodenja. Simulacijsko dobljeni rezultati obravnavajo primerjavo med konvencionalnem histereznem vodenjem in dogodkovnim tokovnim vodenjem. Z dvema ali tremi aktivnimi vektorji. Rezultati prikazujejo vpliv različnih možnosti preklapljanja na valovitost toka in hitrost preklapljanja tranzistorjev. 2. Eksperimentalni model Za izvedbo eksperimenta uporabimo razvojno ploščo Nex-ys Digilent, ki je namenjena izvajanju algoritmov s pomočjo VHDL kode, ki jo programiramo s pomočjo orodja ISE. Testna plošča vsebuje 100 prosto dostopnih vhodno izhodnih lokacij, 8 stikal, 8 LED, 4 tipke in 4 sedem segmentni LED prikazovalnik,.. (Slika 2). Programiranje plošče Nex-ys izvajamo enostavno in hitro s pomočjo osebnega računalnika, ki ga s ploščo povežemo preko USB komunikacije. Slika 2. Blokovni diagram Nexys Digilent Uporabljamo lahko izvedbo vezja z 400.000 ali 1.000.000 logičnimi vrati. 3. Primerjava linearnih in histereznih regulatorjev Slabost linearnih regulatorjev je predvsem v tem, da so njihove zmožnosti odvisne od ujemanja nastavljenih parametrov regulatorja z dejanskimi parametri motorja. Z uporabo linearnih regulatorjev se težko izognemo sledilnemu pogrešku, še posebej pri motorjih z nizko električno časovno konstanto. Histerezni regulatorji spadajo med nelinearne regulatorje in se največkrat uporabljajo predvsem zaradi svojih dobrih lastnosti. Prednosti histereznih regulatorjev je v enostavni izvedbi, visoki robustnosti, zelo dobri dinamiki (omejen je z hitrostjo stikalnega pretvornika in časovno konstanto bremena), odpravlja pa tudi sledilni pogre-šek. Seveda pa ima histerezni regulator tudi slabosti, kot so spremenljiva stikalna frekvenca in možnost pojava limit-nih ciklov. Pojav limitnih ciklov povzroča zelo visoke stikalne frekvence, kar povzroča večje izgube in v skrajnem primeru tudi uničenje stikalnega pretvornika. 4. Stikalni pretvornik Za izvedbo tokovnega vodenja izmeničnih motorjev potrebujemo električni izvor, ki mu lahko poleg amplitude spreminjamo tudi frekvenco in fazo. Takšen izvor dobimo s pretvorniki, ki pretvarjajo enosmerni v izmenični izvor. Izvor enosmerne napetosti lahko dobimo direktno iz akumulatorske baterije ali z usmerjanjem omrežne napetosti. V primeru, da motor deluje v generatorskem režimu je potrebno biti pozoren na vračanje energije v enosmerni vir. Za manjše moči se lahko zanesemo kar na zaviralni upor, sicer pa moramo uporabiti tranzistorski usmernik, ki energijo vrača nazaj v omrežje. Napetostni stikalni pretvornik za napajanje trifaznih motorjev je sestavljen iz enosmerne zbiralke Udc (enosmerni izvor s konstantno napetostjo DC) in šest polprevodniških stikalnih elementov (Slika 3). V vsaki od treh vej pretvornika je lahko v prevodnem stanju le en tranzistor, saj bi sicer prišlo do kratkega stika. Slika 3. Trifazni izmenični most za vodenje izmeničnega motorja Za preprečevanje kratkega stika uporabljamo zaščitno logiko, ki implementira mrtve čase. Mrtvi čas predstavlja časovni interval med izklopom enega in vklopom drugega tranzistorja v eni veji. Tako lahko s šestimi stikalnimi elementi realiziramo osem različnih stikalnih stanj (Tabela 1). Tabela 1: Statorska napetost pri različnih stikalnih stanjih SI S2 S3 Usl l/s2 Us3 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 -Ude 3 --Ude 3 --Ude 3 1 1 0 -Ude i -Ude 3 -hjde 3 0 1 0 --Ude 3 -Ude 3 --Ude 3 0 1 1 --Ude 3 -Ude 3 -Ude 3 0 0 1 --Ude 3 --Ude 3 -Ude 3 1 0 1 -Ude 3 --We 3 -Ude 3 Glede na dovoljena stikalna stanja generiramo fazne napetosti (Tabela 1). Stanje 0 pomeni, da stikalni element ni v prevodnem stanju, stanje 1 pa pomeni, da je v prevodnem stanju. Fazne napetosti določimo tako, da predpostavimo, da imamo breme (motor) popolnoma simetrično v zvezdo vezano simetrično breme z omsko in induktivno komponento. Z vektorsko vsoto faznih napetosti us1, us2, us3 oziroma trifazno-dvofazno transformacijo (Clarkova transformacija ) dobimo v dvofaznem (a,b) sistemu osem napetostih vektorjev. u, sb. ri_i_ii 2 2 .22. (1) Od osmih napetostnih vektorjev ima šest vektorjev (V1 - V6) dolžino napetosti enosmerne zbiralke Udc, medtem ko sta vektorja V0 in V7 ničelna vektorja z dolžino 0 (Slika 4). tb oToA S1,S2, o 1 1 VD.V7 \vi a ; ^ /f^f \ /10 0 5. Primerjava konvencionalnega z dogodkovnim histereznim vodenjem Pri konvencionalnem tokovnem histereznem vodenju so najpogosteje uporabljeni dvo-nivojski histerezniki s konstantno histerezo. Samo delovanje dvo-nivojskega histe-reznika si lahko predstavimo s pomočjo diagrama stanj, kjer vidimo, da lahko ima izhod histereznika dve stanji 0 ali 1 (Slika 5). Za prehod iz enega v drugo stanje je potrebno doseči pogoj, ki pa je odvisen od širine histereze. Ko smo v stanju y=1, mora vhodni signal doseči manjšo vrednost od '-h' , da se pomaknemo v stanje y=0. Da lahko pridemo iz stanja y=0 v stanje y=1, pa mora vhodna vrednost preseči vrednost 'h'. X— y Y=1 r Y=0 h h ^ x>h x<-h - Slika 4. Šest aktivnih in dva ničelna vektorja v a-b koordinatnem sistemu V dvofaznem a-b sistemu dobimo s pomočjo osmih različnih stanj stikalnih elementov vrednosti napetosti Usa in Usb (Tabela 2). Tabela 2: Statorska napetost pri različnih stikalnih stanjih v a-b koordinatnem sistemu SJ S2 S3 Usa Usb Vektor napetosti 0 0 0 0 0 0 1 1 1 0 0 V7 1 0 0 Ude 0 VI 1 1 0 -Ude 2 ^'Udc 2 V2 0 1 0 --Ude 2 ^'Udc 2 V3 0 1 1 -Ude 0 V4 0 0 1 --Ude 2 -^Udc 2 V5 1 0 1 -Ude 2 -^Udc 2 V6 Slika 5. Delovanje dvo-nivojskega histereznika V našem primeru je izhod posameznega histereznega regulatorja yhi krmilni signal za tranzistorski stikali v pripadajoči veji pretvornika (Slika 6). _eM IsS ei2 m_SI, 4(h2_S3 m S4 S5 S6 Napetostni pretvornik _i3_ Slika 6. Blokovna shema konvencionalnega tokovnega vodenja Stanje stikal v i-ti veji pretvornika je odvisno od tokovnega pogreška e„ in velikosti širine nastavljene histereze. Če je rezultat i^i -4- <-h, potem je i-ta faza motorja priključena na pozitivni priključek enosmernega vira (prevaja zgornji tranzistor). Če pa je rezultat r,, >h, potem je i-ta faza motorja priključena na negativni priključek enosmernega vira (prevaja spodnji tranzistor). Glede na referenčno vrednost vidimo, da dejanski tok niha okoli referenčnega za velikost histereze. Tako lahko določimo valovi-tost toka, ki je v tem primeru enaka dvojni širini histereze 2h (Slika 7). Takšen način vodenja lahko izvedemo tudi s pomočjo vpo-gledne tabele, pri čemer so vhodi v tabelo, ustrezno uteženi in sešteti, izhodi iz histereznih regulatorjev. Na izhodu tabele dobimo ustrezne krmilne signale za stikala S1 do S6, oziroma napetostne vektorje (Tabela 3). t Slika 7. Referenčni in dejanski tok ter časovni potek preklopov stikala Tabela 3: Določanje napetostnega vektorja iz izhodnih stanj histereznikov Takšno histerezno vodenje je zelo preprosto in ne vsebuje zapletenih matematičnih operacij. Pri tem vodenju ne potrebujemo niti modulatorja, saj izhodi histereznikov neposredno krmilijo stikalni pretvornik. Zaradi vseh teh lastnosti pri histereznem vodenju ne potrebujemo zmogljivega mikroprocesorja, digitalnega signalnega procesorja ali kompleksnih električnih vezij. Poleg teh prednosti velja izpostaviti tudi dobro robustnost, neodvisnost delovanja od spremembe parametrov bremena, visoka dinamika in odsotnost sledilnega pogreška. Slaba lastnost pa je spremenljiva stikalna frekvenca, ki lahko povzroči tudi limitne cikle, ki pa povečujejo večje izgube pretvornika. Prav zaradi teh slabih lastnosti uvedemo dogodkovno histerezno vodenje. 6. Dogodkovno histerezno vodenje Ko govorimo od dogodkovnem vodenju je potrebno najprej razložiti pojem dogodek. Opisano konvencionalno histerezno vodenje s tremi dvo-nivojskimi histereznimi regulatorji na statorskih tokovih lahko razumemo kot preprost primer dogodkovnega vodenja. Histerezni regulator v i-ti fazi detektira dva dogodka in sicer tokovni pogrešek je večji od histereze h in tokovni pogrešek je manjši od histereze -h. Na podlagi teh dogodkov pride do preklopa med tran-zistorskima stikaloma v i-ti veji napetostnega pretvornika. Da bi lahko znižali število preklopov in odpravili limitne cikle bi morali nadzorovano preklapljati med napetostnimi vektorji. Z dogodkovnim vodenjem, ki temelji na konvencion-alni izvedbi histereznega vodenja, zagotovimo nadzorovano preklapljanje med napetostnimi vektorji z novega dogodka, ki daje informacijo o napetostnem sektorju, v kater- em se nahaja vektor referenčne napetosti «;. To realiziramo tako, da vektor referenčne napetosti, ki predstavlja izhode tokovnih regulatorjev, realiziramo s pomočjo različnih časov dveh sosednjih aktivnih in ničelnima vektorjema. Katera dva aktivna vektorja bomo izbrali, pa določimo s pomočjo napetostnega sektorja v katerem se nahaja vektor referenčne napetosti. Izhod histereznikov yn prav tako določa napetostni sektor, ki ga realizira napetostni pretvornik. Vendar pa imamo sedaj dodaten pogoj (stanje referenčne napetosti), ki odloči kateri vektorji bodo realizirani. 7. Dogodkovno histerezno vodenje s tremi aktivnimi vektorji Aktivni so lahko le tisti trije vektorji, ki so znotraj referenčnega napetostnega sektorja (Slika 8). / 7\ _ II Ifl C s D) 0) V4 Slika 8. Napetostni vektorji in sektorji pri dogodkovnem vodenju s tremi aktivnimi vektorji Slika 9. Predznaki napetosti prve, druge in tretje faze pri treh aktivnih vektorjih Napetostni sektor kodiramo s spremenljivko SignUs in predstavlja kar predznak faznih napetosti Ko spremenljivke SignUs ustrezno utežimo in seštejemo dobimo: SignUs = + + (2) Na ta način lahko izdelamo tabelo, ki nam prikazuje napetostne vektorje, ki jih uporabljamo v posameznem sektorju (Tabela 4). Tabela 4: Trije aktivni vektorji v posameznem sektorju Tabela 5: Dva aktivna vektorja v posameznem sektorju Napetositni sektor SisiiUs Napetosifni vektorji Sektor 1 4 V0,V1,V2,V6,V7 Sektor 2 6 V0,V1,V2,V3,V7 Sektor 3 2 V0.V2,V3.V4.V7 Sektor 4 V0,V3.V4.V?.V7 Sektor 5 1 V0,V4,V?,V6,V7 Sektor 6 5 V0,V1,V5,V6,V7 Napetof;tni sektor SisnUs Napetostni vektorji Sektor 1 4 VO, V2, V7 Sektor 2 6 VO, V2, V3, V7 Sektor i 2 VO, V3, V4, V7 Sektor 4 3 VO, V4, V5, V7 Sektor ? 1 VO, V5, V6. V7 Sektor 6 5 VO, VI, V6. V7 Za stanja, ki so prepovedana pa uporabimo kar ničelne vektorje V0 ali V7. 8. Dogodkovno histerezno vodenje z dvema aktivnima vektorjema Aktivna sta lahko le tista dva vektorja ki se nahajata znotraj referenčnega napetostnega sektorja, ki je zamaknjen za 30°. S tem dosežemo da lahko v sektorju 1 uporabljamo samo dva napetostna vektorja V1 in V2. SignUs=6 Sektor 2 SektorS SgnUs=1 Slika 10. Napetostni vektorji in sektorji pri dogodkovnem vodenju z dvema aktivnima vektorjema 4i9nUs3=A ^ Slika 11. Predznaki napetosti prve, druge in tretje faze pri dveh aktivnih vektorjih Napetostni sektor ponovno kodiramo s spremenljivko Sig-nUs, ki sedaj predstavlja predznak faznih napetosti **5**, ki so zamaknjene za 30°. Spremenljivke SignUs ponovno ustrezno utežimo in seštejemo. Na ta način lahko izdelamo novo tabelo, ki nam prikazuje aktivne vektorje, ki jih uporabljamo v posameznem sektorju (Tabela 5). 9. Rezultati simulacij in eksperimenta Izvedeni so bili simulacijski rezultati na dveh različnih bremenih. Za simulacijsko orodje smo uporabili Matlab Simulink. SIG_I1,I2,I3 w_ref L Hitrostni ] bSU Sinusni generatotf Amp ^ US1 US2 US3 Delta I R L Slika 12.Blokovna shema dogodkovnega vodenja s tremi aktivnimi vektorji (Tabela 4) w_ref L Sinusni SIG 11,12,13 p generatot t SIG_U US1 US2 US3 R L n j J3_ Slika 13.Blokovna shema dogodkovnega vodenja z dvema aktivnima vektorjema (Tabela 5) Uporabili smo RL breme s parametri Rs=5Q in Ls=1mH. Izmerili smo odzive tokov pri frekvenci 20Hz, amplitudi toka 0.4A in velikostjo histereze 20mA. Iz grafov je razvidno, da lahko s pomočjo dogodkovnega vodenja s tremi aktivnimi vektorji dosežemo zmanjšanje števila preklopov iz 14250 na samo 5606. Pri dogodkovnem vodenju z dvema aktivnima vektorjema pa število preklopov reduciramo na vrednost 3779. Ker so te meritve samo v eni delovni točki, smo naredili še meritve pri različnih referenčnih amplitudah toka (0.1A do 1.5A). Rezultati prikazujejo srednje število preklopov in srednji kvadratični pogrešek na časovno enoto 1ms. Srednje število preklopov definirano kot (3) Spremenljivka SP pa predstavlja število preklopov napetostnega vektorja. Srednji kvadratični pogrešek definiramo kot n=l kjer N predstavlja število odtipkov. (4) Zanesljivost simulacijskih rezultatov smo preverili tudi na eksperimentalnem modelu s pomočjo RL bremena. Rezultati eksperimentalnega modela (FPGA vezje) se ujemajo s simulacijskimi. 10. Sklep Iz zgoraj podanih rezultatov je razvidno, da glede na kon-vencionalno histerezno vodenje pri dogodkovnem vodenju vsekakor zmanjšamo število preklopov v enakem časovnem intervalu. Vendar pa moramo biti pozorni tudi na valovitost toka, ki se zaradi manjšega števila preklopov poveča. Zato smo izvedli tudi analizo srednjega kvadratičnega pogreška, kjer vidimo, da pri dogodkovnem vodenju s tremi aktivnimi vektorji srednji kvadratični pogre- šek celo zmanjšamo. V primeru dogodkovnega vodenja z dvema aktivnima vektorjema pa se manjše število preklopov pozna že tudi na srednjem kvadratičnem pogrešku, ki se precej poveča. Tako lahko zaključimo z ugotovitvijo da je za zmanjšanje izgub zaradi velikega števila preklopov pri histereznem tokovnem vodenju smiselno uporabiti metodo dogodkovnega vodenja, ki pa mora vsebovati vsaj tri aktivne vektorje, ker se pri manj aktivnih vektorjih začne povečevati srednji kvadratični pogrešek. Literatura /1/ Frank Vahid, Roman Lysecky, VHDL for digital design, University of California, Riverside, University of Arizona, 2007 /2/ Digilent Nexys Board Reference Manual, Februar 2007 /3/ Pong P. Chu, FPGA prototyping by vhdl examples, Cleveland State University, 2008 /4/ Drago Dolinar, Gorazd Štumberger, Modeliranje in vodenje ele-ktromehanskih sistemov, 2. izdaja, Maribor: FERI, 2004 S//ka 14.Primerjava rezultatov konvencionalnega in dogodkovnega vodenja z dvema in tremi aktivnimi vektorji /5/ Ramadge P JG, Wonham W M, The Control of Discrete Event Systems, IEEE Tran. Ind. Electronics, 1989 /6/ C. Rossi, A. Tonielli, Robust Current Controller for Three-Phase Inverter using Finite State Automation, IEEE Tran. Ind. Electronics, Vol. 42, No.2, pp. 169-178, 1998 /7/ A. Polic, K Jezernik, Matrix based Event-Driven Approach for Current Control design of VSI, Proc. Of ISIE'05, Dubrovnik, pp. 917-922, Piscataway, New Jersej, IEEE, 2005 /8/ A. Tilli, A. Tonielli, Sequentional Design of Hysteresis Current Controller for Three-Phase Inverter, IEEE, Tran. Ind. Electronics, Vol. 45, No. 5, pp. 771-781, 1998 /9/ S. Berto, A.Paccagnella, M. Ceschia, S. Bolognani, M. Zigliot-to, Potential and pitfalls of FPGA application in inverter drives - a case study, IEEE, Int. Conf. on Industrial Technology, ICIT'03, Vol.1, pp. 500-505, Dec. 2003 /10/ P.J.G., Ramadge, W.M. Wonham, The Control of Discrete Event Systems, Proceedings of the IEEE, Vol. 77, No. 1, pp. 81-99, 1989 /11/ E. Monmasson, M. N. Cirstea, FPGA Design Methodology for Industrial Control Systems - A Review, IEEE Trans. On Industrial Electronics, pp. 1824-1842, 2007 /12/ K. Zhou, D. Wang, Relationship Between Space-Vector Modulation and Three-Phase Carried-Based PWM: A Comprehensive Analysis, IEEE Transaction on Industrial Electronics, Vol. 49, No. 1, pp. 410-420, 2002 /13/ J. Boecker, Discrete-Event Converter Control, Proc. Of EPE, Toulouse, France, 2003 /14/ A. Polič, M. Rodič, K Jezernik, Matrix Based Approach to Overall Functionality Description of Drives, Proc. Of EPE-PEMC, Riga, Latvia, 2004 /15/ A. Polič, K Jezernik, Closed-Loop Matrix based Model of Discrete Event Systems for machine logic control design, IEEE Trans. Industrial Informatics, Vol. 1, No. 1, pp. 39-46, 2005 Robert Horvat, uni. dipl. inž., Tel.: 00 386 2 220 7311, Fax: 00 386 2 220 7315, e-mail: robert.horvat@uni-mb.si redni prof. dr. Karel Jezernik Tel.: 00 386 2 220 7300, Fax: 00 386 2 220 7315, e-mail: karel.jezernik@uni-mb.si Univerza v Mariboru, FERI, Smetanova ulica 17, 2000 Maribor, Slovenija Prispelo (Arrived): 10.07.2009 Sprejeto (Accepted): 09.03.2010