simulasi dinamis mesin listrik pada fpga board

Upload: rezon-arif-b

Post on 10-Jul-2015

114 views

Category:

Documents


0 download

DESCRIPTION

penulisan ulang makalah dengan judul asli Dynamic Simulation of Electric Machines on FPGA Boards. pemodelan mesin induksi

TRANSCRIPT

Simulasi Dinamis Mesin Listrik pada FPGA Board Hao Chen, Song Sun, Dionysios C. Aliprantis, and Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University, Ames, IA 50011 USA Dialih bahasa ulang oleh Rezon Arif B_L2F008082 Jurusan Teknik Elektro - Fakultas Teknik, Universitas Diponegoro AbstrakMakalahinimenjelaskantentangsimulasi dinamisdarimesininduksipadasebuahField-Programmable GateArrayatauyangseringdikenaldenganFPGA.Dengan menggunakanFPGAsebagaimesinhitungdapat mempercepatsimulasibiladibandingkanmenggunakanPC biasa. Dalam buku dicontohkan sebuah percepatan bebas pada mesininduksiyangdiikutiolehperubahanbebanyang bertahapyangkemudiandigunakansebagaiacuanuntuk mendesainperhitungandiferensialRungeKutta(ODE/ ordinarydifferrentialequation)padaFPGA.Hasilsimulasi dankecepatandalammensimulasikandenganFPGA divalidasi kemudian dibandingkan dengan simulasi MATLAB/ Simulink. I. Pendahuluan Field-programmablegatearray(FPGA)adalah sebuahplatformlogikadigitalyangdapatdikonfigurasi ulangyangmemberikankemudahanuntukmelakukan eksekusiparaleloperasibitsampaipadatingkatjutaanbit. Penelitiansedangdilakukanuntukmemodelkandan mensimulasikansecararealtimebermacam-macam komponentenagalistrikdenganmenggunakanFPGA sebagaialatkomputasidannon-komputasi.Tujuannya adalahuntukmengimplementasikan/menerapkan sepenuhnyasimulasidinamismesininduksipadapapan FPGA.Bahkanapabilasebuahmesininduksitelahdipilih, makaprosesyangsamadapatjugadigunakanuntuk mensimulasikantipelaindarimesinlistrik.Dalambuku dicontohkansebuahpercepatanbebaspadamesininduksi yangdiikutiolehperubahanbebanyangbertahapyang kemudiandigunakansebagaiacuanuntukmendesain perhitungandiferensialRungeKuttaRK4(ODE/ordinary differrential equation) pada FPGA. Operasiindividumatematikyangmemerlukanalgoritmaintegrasinumerikumumnyasederhana( penjumlahandanperkalian).Olehkarenaitu,penerapan perangkatkeras(hardware)dapatmeningkatkanefisiensi. Selainitu,sistemyangkompleksmemerlukansolusisecara simultan.OlehkarenaituFPGAmenjadipilihanyang menarikuntukmensimulasikansistemenergidantenaga listrikyangsangatkompleks.Tulisaninimenyajikan pekerjaanawalmenujusuatutujuan"akhir"darisebuah simualasiyangsangatfungsionaldenganberbasisFPGA seperti yang ditunjukkan pada gambar 1 Gambar 1. Konsep simulasi berbasis FPGA Disini,modelmesininduksiinidirancangmenggunakan VeryHighSpeedIntregatedCircuitHardwareDescription Language atau yang sering dikenal dengan VHDL kemudian disintesisdandiverivikasimenggunakanXilinxIntregated SoftwareEnvironment(ISE)dandiimplementasikanpada FPGAboardmenggunakanXilinxEmbeddedDevelopment Kit (EDK)II.Me-Model-kan Mesin Induksi / Induction Machine Model Persamaanorde5darimodelmesininduksisangkarbajing (squirelcage)padakerangkareferensiyangstatisadalah sebagai berikut [9]: ) ('sqr msqs ssqs ssqsi L i L p i R v + + = (1) ) ('sdr msds ssds ssdsi L i L p i R v + + = (2) ) ( ) ( 0' ' ' ' ' ' sqs msqr rsds msdr r rsqr ri L i L p i L i L i R + + + = (3) ) ( ) ( 0' ' ' ' ' ' sds msdr rsqs msqr r rsdr ri L i L p i L i L i R + + + + = (4) ) (2L e rT Tjpp = (5) ) ( 75 . 0' ' sqrsdssdrsqs m ei i i i PL T = (6) dimanadtdp =adalahoperatordiferrensial;sR dan 'rR adalah resistansistatordanrotor.; sL dan'rL adalahinduktansi stator dan rotor; mL adalah induktansi pemagnetan; sqsv dan sdsv adalah tegangan qd- axes pada stator; sqsi dan sdsiadalah arus qd-axes stator; sqri'dan sdri'adalah arus qd-axes rotor; Gambar 2. Simulasi Mesin Induksi menggunakan FPGA Teadalahtorsielektromagnetis;TLadalahtorsibeban; r adalahkecepatan angularlistrik rotor;P adalah jumlah pole (kutub); dan J adalah total inertia rotor.Persamaandiatasdigunakanuntukmensimulasikan mesininduksipercepatanbebas/freeacceleration(dimanaTL =0)kemudiandiberikanperubahanbebansecara bertahap/steped (dimana TL di step menuju nilai ratingnya). Mesininduksidieksitasiolehtegangansinusoidaltigafasa seimbangyangditulisdalamvariabelqd-axesseperti berikut : (((((((

+ (((((((

=(((((

)32cos()32cos() cos(212121313103131320t Vt Vt Vvvve se se sssdssqs (7) ((((

=0) sin() cos(t Vt Ve se s Dengan catatan bahwa tegangan pada sumbu nol adalah nol dan dapat diabaikan untuk kasus ini. III.FPGA IMPLEMENTATION A.Arsitektur Simulasi / Simulation Architecture ResponTransientdarisebuahmesinlistrikdapat didapatdenganalgoritmaintegrasinumerikRK4[10].Ini adalahalgoritmanumerikyangbetahapyangberdasarkan padaperhitungannumerikyangsederhana(penjumlahan danperkalian)untukkemudiandiimplementasikanpada FPGA. Pada metode RK4 ( Runge Kutta) nilai awal (px = f (t ,x) ,x(t0) = x0) diuraikan menjadi sebagai berikut ) 2 2 (64 3 2 1 1k k k khx xn n+ + + + =................ (8) h t tn n+ =1........................................................ (9) Dimana nx adalahperkiraanRK4darix(tn)(solusi eksak), h adalah waktu step, dan k1 = f ) , (1 1 n nx t ..................................... (10) k2 = f (t n-1+0.5h,xn-1+0.5hk1) ......... (11) k3 = f (t n-1+0.5h,xn-1+0.5hk2).......... (12) k4 = f (t n-1+h,xn-1+hk3) ................... (13) dari(1)(6),sistemODEdapatdinyatakandalambentuk px = f (t , x ) denganpi = Ai+Bsqdsv ...................................................... (14) pr = JL Pm2375 . 0 (sqsisdri'sdsi sqri')- jP2TL ........... (15) dimanai =| | , 'Tsdrsdssqsi i i| | ,Tsdssqssqdsv v v = dan = 1 ' 2r s mL L L .Variabel tetapnya adalah sqsi , sdsi , sqri', sdri' ,danr .Variabelmasukan(input)adalah sqsv , sdsv ,danTL .VariabelOutputadalahTe diberikanoleh persamaan(6).Disinihanyanilaioutputyangdipilih sebagaicontohuntukmengetahuitahapkomputasi perhitungan yang tergantung pada bentuk model. Sepertiyangterlihatpadagambar2,empatbuahfungsi digunakanuntukmenyusunmodeldarisebuahmesin induksi.ModulteganganinputpadastatorStatorVoltage Inputberperanuntukgenerasi sqsv dan sdsv .ModulODE Functiondan Vector Update merupakan penyelesaian dari RK4.ModulTorquemelakukanperhitunganoutput(6). Modul-modulinisebelumnyatelahdikembangkan menggunakanVHDLpadaModelSim[11],yang merupakantool/pirantiuntukverifikasidansimulasibagi desainVHDL.Semuavariabeldanparameterdinyatakan sebagainilaiyangtetapdengan24bitsmenyatakanbagian yangutuhdan32bitsmenyatakanbagianbagianyang terpisah.Halinimemberikanbatasnumerikyangdapat menampungsetiapvariabelyangadapada simulasi, dengan resolusi 2-32 .SetiapiterasiRK4yangdiitunjukkanpadagambar3 terdiriatas6tahapan.ModulODEFunctionmelakukan evaluasipersamaan(14)dan(15).ModulVectorUpdate bertanggungjawabmerubah nilai x pada f(t, x) selama tahap 2, 3, dan 4, juga perhitunganpersamaan (8) pada stepke 5. Karena sqsv dan sdsv padapersamaan(14)bergantungpada waktut,ModulStatorVoltageInputharusmelakukan generasisecaratepat sqsv dan sdsv sebagaimasukanpada modulODEFunction.Khususnya sqsv ) 5 . 0 (1h tn+ dansdsv ) 5 . 0 (1h tn+digenerasikan(generate)selamastep1 dan disimpanuntuk digunakanolehmodulODEfunction padatahap2dantahap3,sedangkan sqsv ) (1h tn+dan sdsv ) (1h tn+ digenerasi (generate) selama pada tahap 3 dan disimpanuntukdigunakanpadamodulODEFunction dalamtahap4dantahap1padaiterasiselanjutnya.Perlu diketauhibahwamodulStatorVoltageInputdanmodul ODEFunctiondieksekusi/dijalankansecaraparalelpada step1.Sebaliknya,modulODEFunctiondanmodul Vector Update dieksekusisecaraserial karena inputyang satu bergantung pada output yang lainnya.Untukmendesainfungsisinusoidalyangterdapatpada modulStatorVoltageInput,disertakanlook-uptabel. Nilaidarisin(x)didapatdari1000elementpanjangpada lookuptabel,sedangkancos(x)didapatdaritabelyang samamenggunakanoffset/ditambah/2,yangsesuai denganditambah250untukmencariindeksoffsetdalam lookuptabel.SepertiyangditunjukkanpadaGambar4, sinyalSTART(aktifhigh)menyalakanblokfungsisincos dansinyalDONE(aktifhigh)menandakanselesainya operasi.Operasidialikasokandalam6clocksiklussebagai berikut : 1.menghitung x 1/2 (operasi perkalian); 2.mendapatkan bagian kecil dari 21x: xf ; 3.menghitung Nxf, dimana N = 1000 ; 4.mencarisin(|x|)darilookuptabel,dimanaindeks adalah bagian integer dari Nxf : xi ; 5.mendapatkancos(x)darilookuptabel,dengan indeks xi + 250; sementaraitu penentuan nilai dari sin (x) menyesuaikan sin (|x|) dan tanda dari x ; 6.menuliskannilaisin(x)dancos(x)padaport output.ModulODEFunctionyangditunjukanpadaGambar5 terdiriatas3blok.BlokMatrixCalculationyang menghasilkan Matrikx A(=4 4] [ ija ) pada pers. (14) Gambar 3. Proses Iterasi RK4 Gambar 4. blok fungsi sin-cos diimplementasikanmenggunakansatupengalidansatu pengurang.Element(a21,a23,a32,a34)padaA,yang dikalikan dengan r didapat dari multiplier. Empatelement lain(a12,a14,a41,a43)yangjugaberhubungandenganr didapatkandarisubtracterkarenamasing-masingadalah lawan dari pembentuk hasil perkalian. Elementlainnnyatetapdisimpankarenamerupakansuatu konstanta.Evaluasipersamaan(14)dijalankanolehblok EquationGroupyangdiimplementasikanmenggunakan 5 tahapanstrukturperkaliandanpenjumlahsepertiyang terlihatpadaGambar6[12],[13]. Evaluasipersamaan(15) dijalankan(executed)olehblok5thEquationyang diimplementasikanmenggunakansebuahpengali (multiplier)dan sebuah penjumlah (adder). Gambar 5. ODE Function Module Gambar 6. 5 Stage pipeline structure dan operasinya FiniteStateMachine(FSM)[14],yangterlihatpada Gambar7didesainuntukmengkoordinasiketigablokini (MatrixCalculation,Equationgroup,5thEquation).Sinyal STARTdanDONE(jugaditunjukkanpadaGambar5) berhubungandenganmodulutamaODEFunction. Masing-masingblokinternalmemilikisinyaloperasi-start (START_x) dan operasi-selesai (DONE_x), dimana x dapat berupaM(MatrixCalculationblok),G(Equation Groupblok),E(5thEquation).Sebagaicontoh, START_Mdiaktifkan(START_M=1)makaSTART akanaktif.Setelahmenyelesaikanmatrixcalculation,blok Equation Group dan blok5th Equation di eksekusi secara paralel(START_GdanSTART_Eaktifpadasaatyang bersamaan)karenaduablokinijelasterpisah.Perhatikan bahwajumlahclockcycledibutuhkanuntukmodulODE Function bukan 14 = 8 + 6 (seperti terlihat pada Gambar 5) tetapi 17 = 6 + 8 + 3 (seperti yang terlihat pada Gambar 3.), karenaFSMmemberikan3clocktambahan.FSMyang sama juga digunakan untuk mengkoordinasi kerja 4 (empat) modul dalam Gambar 2., dan menambah 12 clock cycle per iterasi,sehinggajumlahtotalclockcycleperiterasiadalah 121 = 17 + 9 +...+ 9 + 5 + 12 (lihat Gambar 3). Gambar 7. State diagram dari FSM untuk modul fungsi ODE B.Synthesis and Implementation Setelahfungsidanhasildarisemuamodulyang didesaindenganmenggunakanVHDLdivalidasidengan ModelSim,kemudiandigunakanXilinxISEuntuk mengembangkan(todevelope),synthesizedanverifikasi. TargetdariperangkatFPGAadalahXylinxVirtex-5 XC5VLX110T.Postplacedanroutereportyang mempresentasikanFPGAhardwareresourcesusageseperti yangterlihatpadaTabel1,danfrekuensimaksimumsinyal clockyangdapatditerapkanadalah89.735MHz. Umumnya,penggunaanhardwareFPGAresourcesakan meningkatseiringkompleknyamodeltersebut.Pelu diperhatikan bahwa seluruh desain untuk model mesin harus tepat(fit)denganbatasresourcesdaritargetFPGAdevice. Akibatnya,FPGAdenganhardwareresourceyanglebih banyakharusdipilihataudesaindarimodelmesinharus diubah agar sesuai dengan persyaratan FPGA. Sistemyangtelahjaditerintegrasipadasebuahpapan developmenXUPV5-LX110T[16],denganfitur XC5VLX110Tdevice.DisampingbloklogikaFPGA,alat inimemilikisoftprosesorEmbeddedMicroBlazeyang softwarenyaditulisdalamC.XilinxEDKdigunakanuntuk mendesainsoftwaredanhardwaredarialatini.Arsitektur darisistemtertanam(embeddedsystem)inidapatterlihat pada Gambar 8. Model mesin yang diimplementasikan pada FPGAhardwareditunjukkandenganplb_machine. Software saling bertukar data dengan plb_machine melalui CoreConnectProcessorLocalBus(PLB)dinotasikan denganmb_plb.MicroBlazeadalahperangkat(device) masterpadamb_plb,sedangkandeviceyanglainnya beradapadaslave.MicroBlazemembangkitkansinyal clock,danbertanggungjawabuntukmengkoordinasi pertukaran data antara software dan hardware FPGA. Ketika sistem di nyalakan, MicroBlaze mengirim sinyal awal (initialization signal) dan nilaikedudukan awal (initial state values) ke plb_machine. Kemudian menjalankan Gambar 8. Implementation architecture simulasidanmemulaicontrollingeksekusidariiterasi, mengirim/updatedatainput(misalTL)keplb_machine padaawaltiaptahapperhitungan.Dataoutputsimulasi (contoh xn dan Te) disimpan didalam register plb_machine sesegerasetelahinterasikomplit/selesai.Ketikaiterasi selanjutnyaberjalandiFPGA,MicroBlazemembacadata dariregisterdanmenulisnyapadamemoryDDR2yang tertanam(embedded)padadevelopmentboardmelalui mb_plb.Dengankatalain,eksekusiiterasin+1dalamplb_machineberlangsungsecaraparaleldengan pengiriman data dari iterasi ke n ke memori. IV.Simulation Result / Hasil SimulasiParameterdarimesininduksidantegangansumber yangdigunakanuntuksimulasidapatdilihatpadaTabelII. Berdasarkanpadaoption/pilihanyangdisediakanXilinx EDK,frekuensiclockProcessor-Busdisetke66.67MHz, sebuahnilaiyanglebihkecildarifrekuensiclock maksimum(89.735MHz)didalampost-placedanroute reportpadaXilinxISE.Waktustepsimulasi(timestep)h adalah 10-4s. Pada implementasi sederhana ini, data simulasi didapatkankembalidarimemoripadaakhirtiapsimulasi menggunakanXilinxMicroprocessorDebugger.Model mesinsamayangsudaheksakjugadiimplementasikan dalamMatlab/Simulink.Verifikasihasildariimplementasi FPGAdibandingkandengansimulasiSimulink menggunakan ODE23tb dengan waktu step maximum 10-5 s. Gambar9menunjukkanrespontransientdarikelima variabeldantorsielektromagnetikselamapercepatanbebas (free acceleration) kemudian diberi beban step (pada t = 1s) dariFPGAdanSimulink.HasildariFPGAbertumpang tindihpadagelombanghasilSimulink,dantidakdapat dibedakan. Untukmembedakankecepatansimulasi,kita menjalankannyamenggunakanalgoritmaintegrasiODE45 dan ODE23 Simulink dengan ukuran maksimum step 10-4 s, karenakeduanya implementasidari algoritmaRungeKutta, sekalipunpadavariabelstepalami.Kecepatansimulasi dapatditingkatkanmenggunakanmodeAcceleratorpada Simulink,yangmenggantikanintrepretasicodenormal dengan compile code. Waktu simulasi pada komputer Intel Core2Duo2.2GHzadalah2.7suntukODE45dan2.0s untukODE23.WaktusimulasiFPGA36.6ms,yang merepresentasikan kecepatan magnitude menigkat dua orde. Waktu simulasi akanmenurun jika frekuensi clock di set ke nilaiyanglebihtinggi,jikatimestephditingkatkan,atau jika algoritma integrasi yang lebih rendah digunakan. V.Conclusion MakalahinimenyajikanimplementasiFPGApada sebuagsimulasidinamismesininduksi,menggunakan algoritma integrasi numerik RK4. Semua model mesin telah dikembangkan(develope)menggunakanVHDL,disintesis, dandiimplementasikanpadaFPGAboard.DesainVHDL yangoptimalsebaiknyaekonomisbagiFPGAharaware, khususnyajikamodelmemilikikompleksitasyangtinggi. PerbandinganantarahasilsimulasiFPGAdanSimulink menunjukkankevalidandariimplemenatsiini.Kecepatan simulasimenguatduaordemagnitudemenunjukkan keuntunganFPGAdibandingsimulasiberbasisPC.FPGA memberikankemungkinanuntukmensimulasikansistem tenagalistrikdanelektronikadayayanglebihkompleks karenaFPGAlebihflexibel,memilikikecepatanproses yangtinggidanmampuuntukmemparalelkanperhitungan integrasi numerik.