Anda di halaman 1dari 6

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


Abstrak Makalah ini menjelaskan tentang simulasi
dinamis dari mesin induksi pada sebuah Field-Programmable
Gate Array atau yang sering dikenal dengan FPGA. Dengan
menggunakan FPGA sebagai mesin hitung dapat
mempercepat simulasi bila dibandingkan menggunakan PC
biasa. Dalam buku dicontohkan sebuah percepatan bebas pada
mesin induksi yang diikuti oleh perubahan beban yang
bertahap yang kemudian digunakan sebagai acuan untuk
mendesain perhitungan diferensial RungeKutta (ODE /
ordinary differrential equation) pada FPGA. Hasil simulasi
dan kecepatan dalam mensimulasikan dengan FPGA
divalidasi kemudian dibandingkan dengan simulasi MATLAB/
Simulink.


I. Pendahuluan
Field- programmable gate array (FPGA) adalah
sebuah platform logika digital yang dapat dikonfigurasi
ulang yang memberikan kemudahan untuk melakukan
eksekusi paralel operasi bit sampai pada tingkat jutaan bit.
Penelitian sedang dilakukan untuk memodelkan dan
mensimulasikan secara real time bermacam-macam
komponen tenaga listrik dengan menggunakan FPGA
sebagai alat komputasi dan non - komputasi. Tujuannya
adalah untuk mengimplementasikan / menerapkan
sepenuhnya simulasi dinamis mesin induksi pada papan
FPGA. Bahkan apabila sebuah mesin induksi telah dipilih,
maka proses yang sama dapat juga digunakan untuk
mensimulasikan tipe lain dari mesin listrik. Dalam buku
dicontohkan sebuah percepatan bebas pada mesin induksi
yang diikuti oleh perubahan beban yang bertahap yang
kemudian digunakan sebagai acuan untuk mendesain
perhitungan diferensial RungeKutta RK4 (ODE / ordinary
differrential equation) pada FPGA.
Operasi individu matematik yang memerlukan
algoritma integrasi numerik umumnya sederhana(
penjumlahan dan perkalian ). Oleh karena itu, penerapan
perangkat keras ( hardware ) dapat meningkatkan efisiensi.
Selain itu, sistem yang kompleks memerlukan solusi secara
simultan. Oleh karena itu FPGA menjadi pilihan yang
menarik untuk mensimulasikan sistem energi dan tenaga
listrik yang sangat kompleks. Tulisan ini menyajikan
pekerjaan awal menuju suatu tujuan "akhir" dari sebuah
simualasi yang sangat fungsional dengan berbasis FPGA
seperti yang ditunjukkan pada gambar 1

Gambar 1. Konsep simulasi berbasis FPGA
Disini, model mesin induksi ini dirancang menggunakan
Very High Speed Intregated Circuit Hardware Description
Language atau yang sering dikenal dengan VHDL kemudian
disintesis dan diverivikasi menggunakan Xilinx Intregated
Software Environment (ISE) dan diimplementasikan pada
FPGA board menggunakan Xilinx Embedded Development
Kit (EDK)
II. Me-Model-kan Mesin Induksi / Induction
Machine Model
Persamaan orde 5 dari model mesin induksi sangkar bajing
(squirel cage ) pada kerangka referensi yang statis adalah
sebagai berikut [9]:
) (
's
qr m
s
qs s
s
qs s
s
qs
i L i L p i R v + + = (1)
) (
's
dr m
s
ds s
s
ds s
s
ds
i L i L p i R v + + = (2)
) ( ) ( 0
' ' ' ' ' ' s
qs m
s
qr r
s
ds m
s
dr r r
s
qr r
i L i L p i L i L i R + + + = (3)
) ( ) ( 0
' ' ' ' ' ' s
ds m
s
dr r
s
qs m
s
qr r r
s
dr r
i L i L p i L i L i R + + + + = (4)
) (
2
L e r
T T
j
p
p = (5)
) ( 75 . 0
' ' s
qr
s
ds
s
dr
s
qs m e
i i i i PL T = (6)
dimana
dt
d
p =
adalah operator diferrensial;
s
R dan
'
r
R adalah
resistansi stator dan rotor.;
s
L dan
'
r
L adalah induktansi
stator dan rotor;
m
L adalah induktansi pemagnetan;
s
qs
v dan
s
ds
v adalah tegangan qd- axes pada stator;
s
qs
i dan
s
ds
i adalah
arus qd-axes stator;
s
qr
i
'
dan
s
dr
i
'
adalah arus qd-axes rotor;


Gambar 2. Simulasi Mesin Induksi menggunakan FPGA

Te adalah torsi elektromagnetis; T
L
adalah torsi beban; r
adalah kecepatan angular listrik rotor; P adalah jumlah pole
(kutub); dan J adalah total inertia rotor.
Persamaan diatas digunakan untuk mensimulasikan
mesin induksi percepatan bebas/free acceleration (dimana
T
L
= 0 ) kemudian diberikan perubahan beban secara
bertahap/steped (dimana T
L
di step menuju nilai ratingnya).
Mesin induksi dieksitasi oleh tegangan sinusoidal tiga fasa
seimbang yang ditulis dalam variabel qd- axes seperti
berikut :
(
(
(
(
(
(

+

(
(
(
(
(
(


=
(
(
(
(

)
3
2
cos(
)
3
2
cos(
) cos(
2
1
2
1
2
1
3
1
3
1
0
3
1
3
1
3
2
0

t V
t V
t V
v
v
v
e s
e s
e s
s
s
ds
s
qs (7)
(
(
(

=
0
) sin(
) cos(
t V
t V
e s
e s


Dengan catatan bahwa tegangan pada sumbu nol adalah
nol dan dapat diabaikan untuk kasus ini.

III. FPGA IMPLEMENTATION
A. Arsitektur Simulasi / Simulation Architecture
Respon Transient dari sebuah mesin listrik dapat
didapat dengan algoritma integrasi numerik RK4[10]. Ini
adalah algoritma numerik yang betahap yang berdasarkan
pada perhitungan numerik yang sederhana (penjumlahan
dan perkalian) untuk kemudian diimplementasikan pada
FPGA. Pada metode RK4 ( Runge Kutta ) nilai awal (px
= f (t ,x) ,x(t
0
) = x
0
) diuraikan menjadi sebagai berikut
) 2 2 (
6
4 3 2 1 1
k k k k
h
x x
n n
+ + + + =

................ (8)
h t t
n n
+ =
1
........................................................ (9)
Dimana
n
x adalah perkiraan RK4 dari x (t
n
) (solusi
eksak), h adalah waktu step, dan


k
1
= f ) , (
1 1 n n
x t ..................................... (10)
k
2
= f (t
n-1
+ 0.5h, x
n-1
+ 0.5hk
1
) ......... (11)
k
3
= f (t
n-1
+ 0.5h, x
n-1
+ 0.5hk
2
).......... (12)
k
4
= f (t
n-1
+ h, x
n-1
+ hk
3
) ................... (13)

dari (1) (6), sistem ODE dapat dinyatakan dalam bentuk
px = f (t , x ) dengan
pi = Ai + B
s
qds
v ...................................................... (14)
p
r
=
J
L P
m
2
375 . 0
(
s
qs
i
s
dr
i'
s
ds
i
s
qr
i
'
) -
j
P
2
T
L
........... (15)
dimana
i = | | , '
T
s
dr
s
ds
s
qs
i i i
| | ,
T
s
ds
s
qs
s
qds
v v v =



dan = 1
' 2
r s m
L L L . Variabel tetapnya adalah
s
qs
i ,
s
ds
i ,
s
qr
i
'
,
s
dr
i' ,dan
r
. Variabel masukan (input) adalah
s
qs
v ,
s
ds
v , dan T
L
. Variabel Output adalah T
e
diberikan oleh
persamaan (6). Disini hanya nilai output yang dipilih
sebagai contoh untuk mengetahui tahap komputasi
perhitungan yang tergantung pada bentuk model.
Seperti yang terlihat pada gambar 2, empat buah fungsi
digunakan untuk menyusun model dari sebuah mesin
induksi. Modul tegangan input pada stator Stator Voltage
Input berperan untuk generasi
s
qs
v dan
s
ds
v . Modul ODE
Functiondan Vector Update merupakan penyelesaian dari
RK4. Modul Torque melakukan perhitungan output(6).
Modul- modul ini sebelumnya telah dikembangkan
menggunakan VHDL pada ModelSim [11], yang
merupakan tool/ piranti untuk verifikasi dan simulasi bagi
desain VHDL. Semua variabel dan parameter dinyatakan
sebagai nilai yang tetap dengan 24 bits menyatakan bagian
yang utuh dan 32 bits menyatakan bagian bagian yang
terpisah. Hal ini memberikan batas numerik yang dapat
menampung setiap variabel yang ada pada simulasi, dengan
resolusi 2
-32
.
Setiap iterasi RK4 yang diitunjukkan pada gambar 3
terdiri atas 6 tahapan. Modul ODE Function melakukan
evaluasi persamaan (14) dan (15). Modul Vector Update
bertanggungjawab merubah nilai x pada f(t, x) selama tahap
2, 3, dan 4, juga perhitungan persamaan (8) pada step ke 5.
Karena
s
qs
v dan
s
ds
v pada persamaan (14) bergantung pada
waktu t, Modul Stator Voltage Input harus melakukan
generasi secara tepat
s
qs
v dan
s
ds
v sebagai masukan pada
modul ODE Function. Khususnya
s
qs
v ) 5 . 0 (
1
h t
n
+


dan
s
ds
v ) 5 . 0 (
1
h t
n
+

digenerasikan (generate) selama step 1


dan disimpan untuk digunakan oleh modul ODE function
pada tahap 2 dan tahap 3, sedangkan
s
qs
v ) (
1
h t
n
+

dan
s
ds
v ) (
1
h t
n
+

digenerasi (generate) selama pada tahap 3 dan


disimpan untuk digunakan pada modul ODE Function
dalam tahap 4 dan tahap 1 pada iterasi selanjutnya. Perlu
diketauhi bahwa modul Stator Voltage Inputdan modul
ODE Function dieksekusi/ dijalankan secara paralel pada
step1. Sebaliknya, modul ODE Function dan modul
Vector Update dieksekusi secara serial karena input yang
satu bergantung pada output yang lainnya.
Untuk mendesain fungsi sinusoidal yang terdapat pada
modul Stator Voltage Input, disertakan look- up tabel.
Nilai dari sin (x) didapat dari 1000 element panjang pada
look up tabel, sedangkan cos (x) didapat dari tabel yang
sama menggunakan offset / ditambah /2 ,yang sesuai
dengan ditambah 250 untuk mencari indeks offset dalam
look up tabel. Seperti yang ditunjukkan pada Gambar 4,
sinyal START (aktif high) menyalakan blok fungsi sincos
dan sinyal DONE (aktif high) menandakan selesainya
operasi. Operasi dialikasokan dalam 6 clock siklus sebagai
berikut :
1. menghitung x 1/2 (operasi perkalian);
2. mendapatkan bagian kecil dari
2
1
x
: x
f
;
3. menghitung Nx
f
, dimana N = 1000 ;
4. mencari sin (|x|) dari look up tabel, dimana indeks
adalah bagian integer dari Nx
f
: xi ;
5. mendapatkan cos (x) dari look up tabel, dengan
indeks xi + 250; sementara itu penentuan nilai dari
sin (x) menyesuaikan sin (|x|) dan tanda dari x ;
6. menuliskan nilai sin (x) dan cos (x) pada port
output.
Modul ODE Function yang ditunjukan pada Gambar 5
terdiri atas 3 blok. Blok Matrix Calculation yang
menghasilkan Matrikx A(=
4 4
] [
ij
a ) pada pers. (14)

Gambar 3. Proses Iterasi RK4

Gambar 4. blok fungsi sin-cos
diimplementasikan menggunakan satu pengali dan satu
pengurang. Element (a
21
, a
23
, a
32
, a
34
) pada A, yang
dikalikan dengan r didapat dari multiplier. Empat element
lain (a
12
, a
14
, a
41
, a
43
) yang juga berhubungan dengan r
didapatkan dari subtracter karena masing-masing adalah
lawan dari pembentuk hasil perkalian.
Element lainnnya tetap disimpan karena merupakan suatu
konstanta. Evaluasi persamaan (14) dijalankan oleh blok
Equation Group yang diimplementasikan menggunakan 5
tahapan struktur perkalian dan penjumlah seperti yang
terlihat pada Gambar 6 [12], [13]. Evaluasi persamaan (15)
dijalankan (executed) oleh blok 5th Equation yang
diimplementasikan menggunakan sebuah pengali
(multiplier)dan sebuah penjumlah (adder).

Gambar 5. ODE Function Module

Gambar 6. 5 Stage pipeline structure dan operasinya

Finite State Machine (FSM) [14], yang terlihat pada
Gambar 7 didesain untuk mengkoordinasi ketiga blok ini
(Matrix Calculation, Equation group, 5
th
Equation). Sinyal
START dan DONE (juga ditunjukkan pada Gambar 5)
berhubungan dengan modul utama ODE Function.
Masing- masing blok internal memiliki sinyal operasi-start
(START_x) dan operasi-selesai (DONE_x), dimana x dapat
berupa M (Matrix Calculation blok), G (Equation
Group blok), E (5th Equation). Sebagai contoh,
START_M diaktifkan (START_M = 1) maka START
akan aktif. Setelah menyelesaikan matrix calculation, blok
Equation Group dan blok5th Equation di eksekusi secara
paralel (START_G dan START_E aktif pada saat yang
bersamaan) karena dua blok ini jelas terpisah. Perhatikan
bahwa jumlah clock cycle dibutuhkan untuk modul ODE
Function bukan 14 = 8 + 6 (seperti terlihat pada Gambar 5)
tetapi 17 = 6 + 8 + 3 (seperti yang terlihat pada Gambar 3.),
karena FSM memberikan 3 clock tambahan. FSM yang
sama juga digunakan untuk mengkoordinasi kerja 4 (empat)
modul dalam Gambar 2., dan menambah 12 clock cycle per
iterasi, sehingga jumlah total clock cycle per iterasi adalah
121 = 17 + 9 +...+ 9 + 5 + 12 (lihat Gambar 3).

Gambar 7. State diagram dari FSM untuk modul fungsi ODE


B. Synthesis and Implementation
Setelah fungsi dan hasil dari semua modul yang
didesain dengan menggunakan VHDL divalidasi dengan
ModelSim, kemudian digunakan Xilinx ISE untuk
mengembangkan (to develope), synthesize dan verifikasi.
Target dari perangkat FPGA adalah Xylinx Virtex-5
XC5VLX110T. Post place dan route report yang
mempresentasikan FPGA hardware resources usage seperti
yang terlihat pada Tabel 1, dan frekuensi maksimum sinyal
clock yang dapat diterapkan adalah 89.735 MHz.
Umumnya, penggunaan hardware FPGA resources akan
meningkat seiring kompleknya model tersebut. Pelu
diperhatikan bahwa seluruh desain untuk model mesin harus
tepat (fit) dengan batas resources dari target FPGA device.
Akibatnya, FPGA dengan hardware resource yang lebih
banyak harus dipilih atau desain dari model mesin harus
diubah agar sesuai dengan persyaratan FPGA.
Sistem yang telah jadi terintegrasi pada sebuah papan
developmen XUPV5-LX110T [16], dengan fitur
XC5VLX110T device. Disamping blok logika FPGA, alat
ini memiliki soft prosesor Embedded MicroBlaze yang
softwarenya ditulis dalam C. Xilinx EDK digunakan untuk
mendesain software dan hardware dari alat ini. Arsitektur
dari sistem tertanam (embedded system) ini dapat terlihat
pada Gambar 8. Model mesin yang diimplementasikan pada
FPGA hardware ditunjukkan dengan plb_machine.
Software saling bertukar data dengan plb_machine melalui
CoreConnect Processor Local Bus (PLB) dinotasikan
dengan mb_plb. MicroBlaze adalah perangkat (device)
master pada mb_plb, sedangkan device yang lainnya
berada pada slave. MicroBlaze membangkitkan sinyal
clock, dan bertanggungjawab untuk mengkoordinasi
pertukaran data antara software dan hardware FPGA.
Ketika sistem di nyalakan, MicroBlaze mengirim sinyal
awal (initialization signal) dan nilai kedudukan awal (initial
state values) ke plb_machine. Kemudian menjalankan

Gambar 8. Implementation architecture

simulasi dan memulai controlling eksekusi dari iterasi,
mengirim/update data input (misal T
L
) ke plb_machine
pada awal tiap tahap perhitungan. Data output simulasi
(contoh x
n
dan Te) disimpan didalam register plb_machine
sesegera setelah interasi komplit/selesai. Ketika iterasi
selanjutnya berjalan di FPGA, MicroBlaze membaca data
dari register dan menulisnya pada memory DDR2 yang
tertanam(embedded) pada development board melalui
mb_plb. Dengan kata lain, eksekusi iterasi n + 1 dalam
plb_machine berlangsung secara paralel dengan
pengiriman data dari iterasi ke n ke memori.

IV. Simulation Result / Hasil Simulasi
Parameter dari mesin induksi dan tegangan sumber
yang digunakan untuk simulasi dapat dilihat pada Tabel II.
Berdasarkan pada option / pilihan yang disediakan Xilinx
EDK, frekuensi clock Processor-Bus di set ke 66.67 MHz,
sebuah nilai yang lebih kecil dari frekuensi clock
maksimum (89.735MHz) di dalam post-place dan route
report pada Xilinx ISE. Waktu step simulasi (time step) h
adalah 10
-4
s. Pada implementasi sederhana ini, data simulasi
didapatkan kembali dari memori pada akhir tiap simulasi
menggunakan Xilinx Microprocessor Debugger. Model
mesin sama yang sudah eksak juga diimplementasikan
dalam Matlab/Simulink. Verifikasi hasil dari implementasi
FPGA dibandingkan dengan simulasi Simulink
menggunakan ODE23tb dengan waktu step maximum 10
-5
s.
Gambar 9 menunjukkan respon transient dari ke lima
variabel dan torsi elektromagnetik selama percepatan bebas
(free acceleration) kemudian diberi beban step (pada t = 1s)
dari FPGA dan Simulink. Hasil dari FPGA bertumpang
tindih pada gelombang hasil Simulink, dan tidak dapat
dibedakan.
Untuk membedakan kecepatan simulasi, kita
menjalankannya menggunakan algoritma integrasi ODE45
dan ODE23 Simulink dengan ukuran maksimum step 10
-4
s,
karena keduanya implementasi dari algoritma Runge Kutta,
sekalipun pada variabel step alami. Kecepatan simulasi
dapat ditingkatkan menggunakan mode Accelerator pada
Simulink, yang menggantikan intrepretasi code normal
dengan compile code. Waktu simulasi pada komputer Intel

Core2 Duo 2.2 GHz adalah 2.7 s untuk ODE45 dan 2.0 s
untuk ODE23. Waktu simulasi FPGA 36.6 ms, yang
merepresentasikan kecepatan magnitude menigkat dua orde.
Waktu simulasi akan menurun jika frekuensi clock di set ke
nilai yang lebih tinggi, jika time step h ditingkatkan, atau
jika algoritma integrasi yang lebih rendah digunakan.

V. Conclusion
Makalah ini menyajikan implementasi FPGA pada
sebuag simulasi dinamis mesin induksi, menggunakan
algoritma integrasi numerik RK4. Semua model mesin telah
dikembangkan (develope) menggunakan VHDL, disintesis,
dan diimplementasikan pada FPGA board. Desain VHDL
yang optimal sebaiknya ekonomis bagi FPGA haraware,
khususnya jika model memiliki kompleksitas yang tinggi.
Perbandingan antara hasil simulasi FPGA dan Simulink
menunjukkan kevalidan dari implemenatsi ini. Kecepatan
simulasi menguat dua orde magnitude menunjukkan
keuntungan FPGA dibanding simulasi berbasis PC. FPGA
memberikan kemungkinan untuk mensimulasikan sistem
tenaga listrik dan elektronika daya yang lebih kompleks
karena FPGA lebih flexibel, memiliki kecepatan proses
yang tinggi dan mampu untuk memparalelkan perhitungan
integrasi numerik.

Anda mungkin juga menyukai