IMPLEMENTASI ALGORITMA-2 ITERASI FIXED POINT QUADRATIC PROGRAMMING MODEL PREDICTIVE CONTROL PADA dsPIC 30F4011
Rod Jason Taylor, Arief Syaichu-Rohman
Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung email: bonifasiusrjt@yahoo.com
Abstrak - Model Predictive Control (MPC) memiliki ide dasar untuk menghasilkan nilai suatu masukan proses sebagai solusi masalah optimisasi yang real-time. Optimisasi tersebut dilakukan berdasar pada model suatu sistem. MPC sebagai teknologi advanced control telah diimplementasikan secara luas dalam kendalian-kendalian di industri yang pada umumnya memiliki respon yang cukup lambat. MPC digunakan untuk mengatasi masalah kontrol multivariabel di mana ada lebih dari satu variabel yang berefek signifikan pada proses. Pada tugas akhir ini akan diimplementasikan suatu algoritma Model Predictive Control yang lebih sederhana sehingga cukup efektif untuk diimplementasikan pada mikrokontroler, yaitu dsPIC 30F4011.
Kata Kunci : model predictive control, mikrokontroler,
real-time, advanced control
I. Pendahuluan
Kendalian-kendalian proses yang memiliki respon lambat menggunakan Model Predictive Control (MPC) sebagai teknologi advanced control dalam memperbaiki respon sistem. MPC sendiri pada awalnya digunakan di industri bahkan sebelum teori pendukungnya cukup ditemukan. Berbagai persyaratan, seperti faktor keamanan, spesifikasi produk, keramahan lingkungan, kondisi operasi, dan keuntungan optimasi, harus dipenuhi oleh suatu industri.
Salah satu metode yang digunakan untuk memenuhi kebutuhan diatas adalah MPC. Berbagai batasan (constraints) merupakan masalah yang sering dihadapi dalam permasalahan kontrol. Salah satu batasan yang ada antara lain adalah amplitude
constraint, yang menyatakan bahwa energi/sinyal yang
diberikan kepada suatu alat/kendalian tidaklah boleh melebihi nilai tertentu.
MPC memberikan solusi bagi permasalahan diatas dengan memberikan batasan hanya pada state tertentu kendalian dan horison waktu yang relatif terbatas, [t,t+T], dengan melakukan komputasi secara online atau on-the-fly calculation dan mencari strategi kendali optimum sampai waktu t+T.
Tujuan perhitungan yang disebutkan diatas adalah untuk meminimisasi kriteria performa dari suatu sistem sampai pada horizon tertentu di masa depan. Dalam tugas akhir ini implementasi MPC akan diterapkan pada mikrokontroller dsPIC30F4011 yang merupakan mikrokontroller 16 bit yang tergolong tinggi dalam kelas mikrokontroler bila dibandingkan dengan mikrokontroller jenis lainnya dari segi kemampuan komputasinya.
Penelitian ini dilakukan untuk melakukan implementasi algoritma-2 fixed point quadratic
programming Model Predictive Control pada
mikrokontroler dsPIC30F4011. Aplikasi algoritma pengendali Model Predictive Control tersebut akan digunakan sebagai pengendali suatu kendalian yang berupa kendalian analog berdasarkan fungsi alih yang ada. Dari hasil yang diperoleh akan ditunjukkan bahwa algoritma-2 fixed point quadratic programming Model
Predictive Control dapat melakukan proses kendali
dengan amplitude constraint sebagai perhatian utama.
II. Teori Model Predictive Control
II. 1 Pendekatan Teori Model Predictive Control
Model Predictive Control (MPC) mengacu pada
ide menghasilkan suatu nilai untuk suatu proses masukan sebagai solusi masalah optimisasi yang
real-time. Masalah tersebut dibangun berbasis pada model
proses tersebut dan pengukuran-pengukuran proses. MPC pada dasarnya memprediksi keluaran berikutnya dari suatu proses dalam suatu horizon tertentu dengan menggunakan masukan dan keluaran dari proses sebelumnya, kemudian melakukan perhitungan untuk menghasilkan sinyal kontrol dalam horizon kontrol tertentu untuk melakukan optimisasi, selanjutnya mengaplikasikan sinyal kontrol pertama dari deretan sinyal kontrol tersebut, dan proses tersebut akan terus berulang untuk mendapatkan hasil yang optimal.
Model Predictive Control bekerja dengan
berdasarkan pada prediksi dari perilaku proses yang dibuat berdasarkan model dari proses tersebut dan optimisasi perilaku proses dalam suatu horizon tertentu yang terbatas. Secara umum algoritma MPC dapat digambarkan sebagai berikut
1) Mengembangkan sebuah model proses.
2) Perhatikan situasi pada waktu t. Masukan proses sebelumnya (u) dan keluaran proses sebelumnya (y) telah diketahui. Perilaku selanjutnya dari proses diprediksi dengan asumsi bahwa model proses dan sinyal
kendali berikutnya ( , )
diketahui
3) Sinyal kendali uf ditentukan untuk menghasilkan perilaku proses yang diinginkan
4) Bagian awal dari sinyal kendali uf diaplikasikan pada interval (t,t+h)
5) Ubah waktu dari t+h dan ulangi prosedur dari langkah 2
II. 2 MPC Tracking
Misalkan diketahui kendalian sebagai berikut:
1 k k k k k x Ax Bu y Cx + = + = % % % ... (2.6)
Agar dapat mencapai suatu zero tracking error maka dibutuhkan integrator dengan bentuk
1
k k k
u =u− + Δu
yang ditambahkan pada kendalian.
Maka sekarang kendalian yang sudah ditambahkan integrator tersebut menjadi
1 1 k k k k k k k x x A x B u u y Cx + + ⎡ ⎤ =⎢ ⎥= + Δ ⎣ ⎦ = ... (2.7) dimana m 0 I A B A= ⎢⎡ ⎤⎥ ⎣ ⎦ % % , m I B B= ⎢ ⎥⎡ ⎤ ⎣ ⎦ % , dan 0 C= ⎣⎡C% ⎤⎦
Fungsi objektif didefinisikan sebagai berikut:
1 0 ( ) y y y y N T T T k N N k N k t k t k t k t t J e Q e e Qe u R u − + + + + + + = = +
∑
+ Δ Δ ... (2.8)dimana
e
k=
y
k−
w
k adalah keluaran tracking error.1 2 k k k N y y Y y + + + ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ M , 1 2 k k k N w w W w + + + ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ M , dan 1 1 k k d k N u u U u + + − Δ ⎡ ⎤ ⎢ Δ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢Δ ⎥ ⎣ ⎦ M
Dengan menggunakan variabel-variabel yang telah didefinisikan sebelumnya, kita mendapatkan
1 ( ) ( ) k d T T d d Y x U J J Y W Q Y W U RU = Φ + Γ = + − − + ... (2.9) dengan: 1 ( ) ( ) T k k k k J = y −w Q y −w ... (2.10) { }i
Q=diag Q , dengan Qi=Quntuk i = 1,2,...,N
{ }i
R=diag R , dengan Ri=Runtuk i = 1,2,...,N
[
]
2 2 m 1 2 1 0 ( I ) ( N ) N N i i CA CB CA CA C A B CA CA CA C =− A B ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ + ⎥ ⎢ ⎥ Φ = =⎢ ⎥= Φ Φ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣∑
⎦ % % % % % % % % % M M M % % % % % 1 2 0 0 0 0 0 N N CB CAB CB CA −B CA −B CAB CB ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ Γ = ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ L L M M O M M LUntuk sistem dengan batasan amplitudo, kita perlu mendefinisikan 1 1 d k U =DU−E u− =GX+DU 1 k k x X u W − ⎡ ⎤ ⎢ ⎥ = ⎢ ⎥ ⎢− ⎥ ⎣ ⎦ , G=
[
0 −E1 0]
, dan m m m m m m I 0 0 0 I I 0 0 0 0 I 0 0 0 I I D ⎡ ⎤ ⎢− ⎥ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ − ⎥ ⎣ ⎦ L L M M O M M L LSelanjutnya, kita mempunyai
[
1 2]
1 1 1 ( ) k k k x Y W DU E u W u Y W X U − − ⎡ ⎤ − = Φ Φ ⎢ ⎥+ Γ − − ⎣ ⎦ − = Φ + Γ dimana Φ = Φ[
1 (Φ − Γ2 E1) IN]
dan Γ = ΓDdengan menggunakan definisi tersebut diatas diperoleh bentuk lain dari fungsi objektif yaitu
1 1 1 1 ( ) ( ) ( ) ( ) ( ) 2 ( ) 2 T T T T T T x T T T T x x To J J X U Q X U GX DU R GX DU J J X Q X U MU U F X J J X Q G RG F M F− X J = + Φ + Γ Φ + Γ + + + = + Φ Φ + + = + Φ Φ + − + ... (2.13) dimana T T M= Γ Γ +Q D RD
[
1 2]
T T x F = Γ Φ +Q D RG= F F H 1 1 T T F =D Γ ΦQ 2 2 ( ) 1 T T T T F =D Γ Φ −Q D Γ Γ +Q R E T T H=D Γ QUntuk suatu fungsi objektif yang memiliki fungsi objektif dalam bentuk seperti pada persamaan (2.15).
0 0 1 ( ) ( ) 2 T To J = U−U M U−U
Persamaan (2.14) dapat menjadi persamaan (2.15)
dengan membuat 1
0 x
U = −M−F X.
Persoalan meminimalisasi U pada persamaan (2.15), dengan nilai U yang memiliki batasan, dapat dituangkan pada diagram blok seperti pada Gambar 2.6.
Gambar 2.1 Algoritma Minimalisasi Fungsi Objektif
Algoritm akhir ini ada
point quad Adapun Alg yang menja diagram blok Dimana Ψa saturasi dari a Ψ Secara mat dituliskan se V= V U = = dengan impl berikut: 1 k V+ dimana a Ψ adalah fungs Bila iterasi t U U II. 4 Implem Implem Control diat ini. Gambar 2 ma MPC ya alah salah sat
dratic progra goritma-2 ini adi Gambar 2 k tersendiri. Gambar 2.2 adalah fungsi aktuator. I = Ψ − ematis dari ebagai berikut ( ) ( aVs = Ψ = Ψ − 1 ( ) ( a s a s V V V M V− = Ψ = Ψ = + = lementasi itera 1= Ψa(Uo+(M ( ) :x = Ψ − =I: si non-linear ersebut konve * * 1 * 1 * ( o U V M U M V U − − = + − = + mentasi mentasi algor as dapat dilih 2.3 Implemen algo ang digunaka tu dari algorit amming, yait ekivalen deng 2.2 bila digam Algoritma-2[ non-linear y diagram blo t: ) s ( )s I V V − = Ψ − 1 ( ) o o U M I V V U − + − + asinya mengik 1 ) k) M− −I V ( )x x Ψ − ergen maka so * ) o o I V U − + ritma-2 Mod at pada Gamb ntasi MPC trac oritma-2 an dalam tug tma iterasi fix tu algoritma gan Gambar 2 mbarkan dala [12] yang merupak ok diatas dap s V. ) V
kuti bentuk seb
olusinya didap del Predicti bar 2.8 di baw cking dengan gas xed -2. 2.1 am kan pat bagai pat ive wah II II M se Fu be du Y se II m ga m m lih di Ka W W Sim ma W W II. Perancang II.1.1 Pemode Sebuah ke Multi Input M ebagai berikut = ) (s P ungsi transfer erikut ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ s Y s Y 2 1 ) ( ) ( Nampak b ua buah input Y1(s) dan Y2 ebagai berikut ) ( 1 s Y = ) ( 2 s Y = II.1.2 Simulas Pada tah menggunakan ambar 3.1. menggunakan M masukan 1 dan
hat pada gamb
Gambar 3.1
Karakterist ilihat pada tab arakteristik Waktu tunda Waktu naik mpangan aksimum Waktu puncak Waktu tunak ... ( ... ( gan Sistem elan Kendalia endalian mul Multi Output t: ⎢ ⎣ ⎡ − + 3 6 1 10 1 s r tersebut kem ⎢ ⎣ ⎡ − + = ⎦ ⎤ s 6 1 10 1 bahwa fungsi t U1(s) dan U 2(s) yang m t ) ( 1 10 6 1 s U s+ = ( 1 10 3 1 S U s+ − = si Kendalian
hap ini sim simulink pad Hasil ya MATLAB un n masukan 2 bar 3.2 1Kendalian pa tik respon wa bel 3.1. Kelu 6.94 70 0 70 30 (2.16) (2.17) an Multivaria ltivariabel de t dengan fun ⎥ ⎦ ⎤ − 4 5 mudian dijaba
( )
( )
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ − s U s U 2 1 4 3 5 6 transfer terse U2(s) dan dua masing-masing 1 10 5 ) s+ − 1 10 4 ) s S + + mulasi kend da MATLAB ang diperol ntuk keluaran 2 sebesar 1 vo ada Simulink M ktu kendalian uaran 1 45 detik detik 0% detik detik abel engan sistem ngsi transfer arkan sebagai ⎥ ⎦ ⎤ ebut memiliki a buah output g dijabarkan ) ( 2 s U ) ( 2 s U dalian akan seperti pada leh dengan Y1(s) dengan olt dapat kitaMATLAB n analog dapat Keluaran 2 6.945 detik 70 detik 0% 70 detik 30 detik m r i i t n n a n n a t
Tabel 3.1 Karakteristik respon waktu kendalian analog
III.2 Perancangan Kendalian Analog
Fungsi transfer kendalian Multi Input Multi
Output yang akan dirancang dapat dituliskan sebagai
berikut
( )
( )
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ S U S U s G s G s G s G S Y S Y 2 1 22 21 12 11 2 1 ) ( ) ( ) ( ) ( ) ( ) ( (3.4)Perancangan kendalian analog ini menggunakan pemodelan bentuk state space yang akan mempermudah implementasinya ke dalam bentuk diskrit.
Suatu fungsi transfer kendalian sistem Multi Input
Multi Output ) ( ) ( ) ( ) ( ) ( 11 1 12 2 1 s G s U s G s U s Y = + ) ( ) ( ) ( ) ( ) ( 21 1 22 2 2 s G s U s G s U s Y = + (3.5)
Kemudian dapat dijabarkan ke dalam bentuk yang menunjukkan elemen-elemen input dan pengaruhnya terhadap output sebagai berikut
) ( ) ( ) ( 11 1 11 s G s U s Y = ) ( ) ( ) ( 12 2 12 s G s U s Y = ) ( ) ( ) ( 21 1 21 s G s U s Y = ) ( ) ( ) ( 22 2 22 s G s U s Y = (3.6)
Terdapat 4 buah state yang akan digunakan dalam analisis ini sehingga bentuk state space dapat dituliskan sebagai berikut
(3.7) (3.8) (3.9) (3.10) (3.11) (3.12) (3.13) (3.14) Pemodelan state space kontinu kendalian sistem
Multi Input Multi Output secara keseluruhan dapat
dituliskan sebagai berikut:
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + + + + k k k k k k k k k k U U B B B B X X X X A A A A X X X X 2 1 22 21 12 11 22 21 12 11 22 21 12 11 1 22 1 21 1 12 1 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (3.15) ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ k k k k k k U U D D D D X X X X C C C C s Y s Y 2 1 22 21 12 11 22 21 12 11 22 21 12 11 2 1 0 0 0 0 ) ( ) (
Untuk fungsi transfer yang akan digunakan dalam penelitian tugas akhir, kita dapatkan nilai dari matriks A, B, C dan D sebagai berikut:
[ ]
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 9900 . 0 0 0 0 0 9900 . 0 0 0 0 0 9900 . 0 0 0 0 0 9900 . 0 A [ ] ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 9950 . 0 0 0 9950 . 0 9950 . 0 0 0 9950 . 0 B[ ]
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − − = 4000 . 0 3000 . 0 0 0 0 0 5000 . 0 4000 . 0 C[ ]
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 0 0 0 0 DDengan demikian persamaan state space kendalian kontinu dapat diperoleh sebagai berikut
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + + + + k k k k k k k k k k U U X X X X X X X X 2 1 22 21 12 11 1 22 1 21 1 12 1 11 9950 . 0 0 0 9950 . 0 9950 . 0 0 0 9950 . 0 9900 . 0 0 0 0 0 9900 . 0 0 0 0 0 9900 . 0 0 0 0 0 9900 . 0 ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − − = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ k k k k X X X X s Y s Y 22 21 12 11 2 1 4000 . 0 3000 . 0 0 0 0 0 5000 . 0 4000 . 0 ) ( ) (
Dengan menggunakan bentuk modal kanonik dapat diperoleh kendalian keseluruhan seperti pada gambar 3.3.
Gambar 3.2 Blok diagram kendalian analog
Karakteristik respon waktu kendalian state space dapat dilihat pada tabel 3.2.
Karakteristik Keluaran 1 Keluaran 2 Waktu tunda 6.927 detik 6.912 detik
Waktu naik 70 detik 70 detik
Simpangan
maksimum 0% 0%
Waktu puncak 70 detik 70 detik
Waktu tunak 30 detik 30 detik
Tabel 3.2 Karakteristik respon waktu kendalian state
space
III.3 Perancangan Model Predictive Control Menggunakan Simulink
Tujuan dari simulasi ini adalah untuk menentukan nilai horizon yang optimal untuk nilai iterasi yang terbatas.
Adapun blok diagram untuk simulasi ini adalah sebagai berikut
Gambar 3.3 diagram blok sistem dengan algoritma-2
MPC pada Simulink
Pada simulasi ini digunakan parameter-parameter sebagai berikut
Waktu sampling (Ts) = 1 detik.
1 =
Q danR=0.1 Set point 1 = 0.6 Set point 2 = 0.8
Waktu simulasi=400 detik
Nilai-nilai matriks yang menjadi dasar perhitungan algoritma-2 Model Predictive Control ini dikalkulasikan pada m-file (HitungMatriksPlant.m dan MPCtrackingMatriks.m) yang terlampir pada lampiran A. Tujuan dari simulasi simulink ini adalah untuk mendapatkan respon waktu sistem dan sinyal kendali yang dihasilkan. Dalam simulasi ini dilakukan perhitungan untuk nilai horizon 1, 2, 3, 4 dan 5. Waktu sampling yang digunakan adalah 1 detik dengan masukan 1 dan masukan 2 masing-masing 0.6 dan 0.8.
Hasil respon waktu sistem dan sinyal kendali untuk horizon 3 dapat dilihat pada gambar 3.7, dan 3.8.
Gambar 3.4 Respon waktu Model Predictive Control horizon 3
Gambar 3.5 Sinyal kendali Model Predictive Control horizon 3
III.4 Perancangan MPC Menggunakan m-file pada MATLAB
Perancangan MPC menggunakan m-file pada MATLAB, yang dalam hal ini adalah algoritma 2, bertujuan untuk mempermudah implementasi MPC algoritma 2 pada perangkat keras, yaitu dsPIC30F4011. Pertama-tama yang harus dilakukan adalah melihat respon waktu yang dihasilkan oleh m-file dan membandingkannya dengan hasil yang diperoleh pada simulink pada tahapan sebelumnya.. Hal yang sangat menentukan dalam pertimbangan ini adalah banyaknya iterasi maksimal yang dilakukan untuk hasil yang terbaik.
Hasil plot dari respon sistem, sinyal kendali, dan jumlah iterasi horizon 3 dapat dilihat dibawah ini.
z 1 Unit Delay Subtract1 Subtract Scope1 Scope Saturation K*u Gain4 K*u Gain3 K*u Gain2 K*u Gain1 K*u Gain y(n)=Cx(n)+Du(n) x(n+1)=Ax(n)+Bu(n) Discrete State-Space Wref Constant Add1 Add 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 p 0 5 10 15 20 25 30 35 40 45 50 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 k*T
Gambar 3.6 Gambar 3.7 Gambar 3.8 III.5 Desain Setelah diperlukan u perangkat ke yang akan mencapai ha 0 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 c ont rol led out put s 0 5 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 c o nt ro l i n put s 0 5 0 50 100 150 200 250 300 350 400 450 500 it eras i 6 Respon wak hor 7 Sinyal kenda hor 8 Jumlah itera hor n Diagram Al diketahui jum untuk horizon
eras, akan dila ditanam pad al ini, diperluk
10 15 20
10 15 20
10 15 20
ktu Model Pre rizon 3
ali Model Pre rizon 3
asi Model Pred rizon 3 lir MPC mlah iterasi m n yang akan d akukan peranc da perangkat kan desain dia
25 30 35 k*Ts 25 30 35 k*T s 25 30 35 k*Ts dictive Contro dictive Contro dictive Contro maksimum ya digunakan dala cangan progra t keras. Unt agram alir MP 40 45 50 40 45 50 40 45 50 ol ol ol ang am am tuk C. K Sa D II Gamba Keterangan: aturasi: ead zone: a Ψ = Ψ Gambar 3 II. 6 Pengkod ar 3.9 Diagram I Ψ − Inisialisasi Update variable xk=xkp dan uk_=uk START Hitung U0 Algoritma 2 MPC sebanyak 481 kali Hitung uk (2 sinyal pertama Uk) dan berikan ke plant Sensor Variabel State dan Peroleh Xkbar 3.10 Diagram dean Pengend m blok sistem Tunggu hingga waktu sampling terpenuhi alir algoritma
dali pada dsPI
utuh
a-2 MPC
Pengkodean pengendali pada dsPIC menggunakan tipe bilangan float, yaitu tipe bilangan yang mendukung presentasi pecahan bertanda 32 bit. Penggunaan tipe bilangan ini, berbeda dengan aplikasi MPC di mikrokontroler lainnya, dikarenakan perhitungan yang dapat dilakukan oleh dsPIC30F4011 sudah cukup mupuni dalam perhitungan bilangan float.
IV. Pengujian dan Analisis
IV. 1 Pengujian Sistem dengan Menggunakan MPLAB IDE
Pengujian ini dilakukan dengan menganalisis kevalidan program per langkah dalam perhitungannya dengan hasil yang diperoleh pada MATLAB.
Output yang diperoleh untuk iterasi pertama adalah sebagai berikut
Var MATLAB MPLAB IDE Selisih U0 1.60936490732904 1.6094000 0.00003509267096 1.58373313311493 1.5837000 0.00003313311493 2.20384075672157 2.2038000 0.00004075672157 2.27243535454212 2.2724000 0.00003535454212 2.34778661073599 2.3478000 0.00001338926400 2.44856580563569 2.4486000 0.00003419436430 Vk_ -0.08518398508410 -0.0852524 0.00006841491590 0.00000000000000 0.0000000 0.00000000000000 -0.21517988339323 -0.2150757 0.00010418339322 -0.24188425278404 -0.2416842 0.00020005278404 0.00000000000000 0.0000000 0.00000000000000 -0.02442089756277 -0.0245086 0.00008770243723
Tabel 4.1 Perbandingan hasil MATLAB dan MPLAB IDE
IV.2 Pengujian Kecepatan Respon Sistem IV.2.1 Menaikkan dan menurunkan Horizon
Waktu Naik (detik) Horizon 1 Horizon 3 Horizon 5 Horizon 10 Output 1 14.66 14.78 15.51 15.55 Output 2 14.71 14.76 15.49 15.52
Tabel 4.2 Perbandingan waktu naik perubahan horizon
IV.2.2 Menaikkan Batas Saturasi Waktu
Naik (detik)
Saturasi 1 Saturasi 2 Saturasi 10
Output1 14.78 6.372 5.702
Output 2 14.77 6.391 5.699
Tabel 4.3 Perbandingan waktu naik perubahan batas saturasi
Dari pengujian batas saturasi diperoleh bahwa MPC adalah optimal untuk kendalian yang menjadi perhatian.
IV.3 Pengujian Waktu Iterasi, Waktu Komunikasi, Waktu Total Sistem
Instruction Cycles Waktu Inisialisasi 603 163.636364µs Sekali looping tanpa komunikasi serial 1659898 450.447218 ms Sampai titik sebelum kirim data serial 1660501 450.610855 ms
Tabel 4.4 Jumlah instruction cycles dan beberapa waktu pengukuran Baudrate (bps) Delay (ms) Jeda Waktu Rata‐ rata (s) Jeda Waktu Max (s) 9600 80 1.1394 1.2180 19200 70 0.9471 0.9690 55 0.8941 0.9380 57600 25 0.8837 0.9380 20 0.8924 0.9530 115200 75 0.9797 1.0470 41 0.8877 0.9370 20 0.8675 1.1090
Tabel 4.5 Pengaruh baudrate dan delay pada waktu jeda maksimum dan jeda rata-rata
Wakt u Jeda Rata‐ rata Waktu Jeda Maksi mum Waktu Iterasi Waktu Komuni kasi Rata‐ rata Waktu Komunik asi Maksimu m Baudrate 9600, delay 80 ms 1.139 4 s 1.2180 s 450.44 7218 ms 0.68895 3 s 0.767553 s
Tabel 4.6 Perhitungan waktu komunikasi rata-rata dan maksimum
Baudrate (bps) Delay (ms) Waktu Rata‐ rata (s) Waktu Max (s) 9600 80 1.1391 1.2182 19200 70 0.9472 0.9692 55 0.8942 0.9382 57600 25 0.8838 0.9382 20 0.8925 0.9532 115200 75 0.9798 1.0472 41 0.8878 0.9371 20 0.8676 1.1091
Tabel 4.7 Perbandingan waktu total rata-rata dan maksimum beberapa baudrate pada sistem
IV.4 Pengujian Sistem dengan Waktu Cuplik Rendah Output 1 Output 2 Waktu cuplik 1 Waktu cuplik 0.1 Waktu cuplik 1 Waktu cuplik 0.1 Waktu Naik 14.77 detik 13.44 detik 14.76 detik 13.45detik Waktu Tunda 4.594 detik 3.4 detik 6.086 detik 5.338 detik Simpangan maksimum (overshoot) 0.0083 0.0201 0.0131 0.0318 Waktu Puncak 17 detik 15.25 detik 17.01 detik 15.3 detik Waktu Tunak 17 detik 15.25 detik 17.01 detik 15.3 detik
Tabel 4.8 Perbandingan karakteristik respon sistem dengan waktu cuplik berbeda
IV.3 Pengujian Sistem dengan Kendalian pada MATLAB
Tujuan dari pengujian sistem dengan kendalian pada MATLAB adalah untuk memperoleh respon sistem yang mirip dengan apa yang telah diperoleh pada simulasi MATLAB baik dengan m-file maupun dengan simulink.
Output yang diberikan dari pengujian ini adalah sebagai berikut:
Sinyal kendali:
Gambar 4.1 Plot sinyal kendali Output:
Gambar 4.2 Plot keluaran yk
IV. 3 Analisis
Perbandingan pada tabel 4.1 menunjukkan adanya perbedaan nilai yang cukup siknifikan. Hal ini disebabkan karena pada MPLAB terjadi pembulatan sampai 6 angka penting belakang koma, karena tipe bilangan yang digunakan dalam program adalah
float(32 bit), sedangkan tipe bilangan dalam
perhitungan di MATLAB adalah double (64 bit). Hal ini dapat kita lihat mudah dalam penggalan perintah pada MATLAB yang ditampilkan dalam format short sebagai berikut: >> a=1.2363446789 a = 1.2363 >> a=1.2363546789 a = 1.2364
Nampak bahwa hasil perhitungan yang akan diberikan dalam perhitungan algoritma yang ada pada m-file dengan format short adalah seperti di atas.
Hal ini tidak terjadi pada perhitungan dalam mikrokontroler dsPIC 30F4011, yang dalam hal ini
0 5 10 15 20 25 30 35 40 45 50 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 c o n tr o l in p u ts k*T s 0 5 10 15 20 25 30 35 40 45 50 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 c o nt ro lled out p u ts k*Ts
ini dapat kita lihat pada simulasi sederhana sebagai berikut:
Gambar 4.3 MPLAB IDE
Terlihat bahwa angka dibulatkan tepat pada angka ke-6 di belakang koma. Hal inilah yang menjadi penyebab adanya perbedaan perhitungan antara MATLAB dan simulasi pada MPLAB IDE.
Perbandingan keduanya dapat lebih jelas lagi pada tampilan berikut ini:
Gambar 4.4 Perhitungan pada MATLAB
Gambar 4.5 Perhitungan pada MPLAB IDE Meskipun demikian, hasil plot variabel-variabel yang berpengaruh dalam perhitungan yang diperoleh di antara keduanya adalah sama. Hal ini dapat dilihat antara hasil yang diperoleh pada Simulink MATLAB (gambar 3.20 dan 3.21), m-file MATLAB (gambar 3.36 dan 3.37) maupun MPLAB IDE (gambar 4.2 dan 4.3). Hal ini menunjukkan bahwa algoritma-2
quadratic programming yang telah ditanam dalam
mikrokontroller dsPIC 30F4011 sudah sesuai dengan yang seharusnya.
V. Penutup V. 1 Kesimpulan
Setelah dilakukan berbagai tahapan dalam tugas akhir ini yang meliputi proses perancangan, implementasi, pengujian, dan analisis, maka dapat diambil kesimpulan sebagai berikut:
¾ dsPIC30F4011 merupakan jenis mikrokontroller yang memiliki spesifikasi yang tinggi yang mampu mengimplementasikan algoritma Model
Predictive Control dengan baik pada kendalian
MIMO dalam perhitungan floating point.
¾ Horizon 3 adalah cukup untuk kendalian pada tugas akhir ini dalam implementasi algoritma MPC dengan dsPIC30F4011.
¾ Waktu respon sistem yang memiliki MPC sebagai algoritma dalam meminimalkan indeks kerja sangatlah tergantung oleh batas saturasi (amplitude
constraint) kendalian.
¾ Tingkat horizon dan waktu cuplik tidak mempengaruhi respon sistem secara siknifikan dalam hal waktu naik. Semakin tinggi horizon semakin tinggi tingkat komputasi yang harus dilakukan, dan semakin kecil waktu cuplik semakin tinggi resolusi respon sistem yang dihasilkan.
V. 2 Saran
Beberapa hal yang sekiranya perlu dilakukan sebagai tahapan pengembangan lebih lanjut, antara lain: ¾ Penggunaan buffer kirim dan terima secara
software dengan jumlah yang cukup untuk
menekan waktu komputasi.
¾ Pengembangan selanjutnya dapat dilakukan realisasi kendalian yang ada dengan pengendali yang telah dicapai melalui tugas akhir ini.
¾ Kendalian MIMO dengan jumlah input dan ouput lebih dari 2.
DAFTAR PUSTAKA
[1] Franklin, G. F. dan J. D. Powell, and A. Emami-Naeni (1997), Feedback Control on Dynamic
Systems, 3rd ed, Addison Wesley, New York.
[2] Gorinevsky, Dimitry. Model Predictive Control:
The Concept, Stanford University.
www.stanford.edu/class/ee392m/Lecture14_MP C2.pdf.
[3] Ogata, Katsuhiko (1995), Discrete Time Control
System, 2nd ed, Prentice-Hall, New Jersey. [4] Ogata, Katsuhiko (1997), Modern Control
Engineering, 3rd ed, Prentice-Hall, New Jersey [5] Syaichu-Rohman, Arief, and Middleton, Richard
H. Convergence Study of Some Fixed Point
Iteration QP Algorithms. In Proceedings of the
43rd Conference on Decision and Control. Paradise Island, Bahamas.
[6] Syaichu-Rohman, Arief. Plant Performance
Optimization. The 6th Asian Control Conference. July 18-21, 2006. Inna Grand Bali Beach Hotel, Sanur, Bali, Indonesia.
[7] ______________(2005), Datasheet:
[8] ______________(2006), Datasheet: dsPIC30F
Family Reference Manual 70046E, Microchip
[9] ______________(2006), Datasheet: Getting
Started with dsPIC, Microchip
[10] ______________(2007), Datasheet: dsPICDEM