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:
[email protected] 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.
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.
Kata Kunci : model predictive control, mikrokontroler, real-time, advanced control
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 realtime. 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.
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.
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
1
Untuk sistem dengan batasan amplitudo, kita perlu mendefinisikan
II. 2 MPC Tracking Misalkan diketahui kendalian sebagai berikut:
U d = DU − E1uk −1 = GX + DU
% + Bu % xk +1 = Ax k k % y = Cx k
... (2.6) ⎡ xk ⎤ , G = [ 0 − E1 ⎢ ⎥ X = ⎢uk −1 ⎥ ⎢⎣ −W ⎥⎦ 0 L 0 0⎤ ⎡ Im ⎢− I ⎥ I 0 0 L ⎢ m m ⎥ D=⎢ M M O M M⎥ ⎢ ⎥ 0 L Im 0⎥ ⎢ 0 ⎢⎣ 0 0 L − I m I m ⎥⎦
k
Agar dapat mencapai suatu zero tracking error maka dibutuhkan integrator dengan bentuk uk = uk −1 + Δuk
yang ditambahkan pada kendalian. Maka sekarang kendalian yang sudah ditambahkan integrator tersebut menjadi
0]
,
dan
Selanjutnya, kita mempunyai
⎡x ⎤ xk +1 = ⎢ k +1 ⎥ = A xk + BΔuk ⎣ uk ⎦ yk = Cxk
⎡ x(2.7) ⎤ ... Y − W = [ Φ1 Φ 2 ] ⎢ k ⎥ + Γ ( DU − E1uk −1 ) − W u ⎣ k −1 ⎦ Y − W = Φ X + ΓU
dimana Φ = [ Φ1 (Φ2 − ΓE1 ) I N ] dan Γ = ΓD
dimana ⎡ B% ⎤ , dan ⎡ A% B% ⎤ , C = ⎡⎣C% A=⎢ ⎥ B=⎢ ⎥ I 0 I ⎣ m⎦ m⎦ ⎣
0⎤⎦
dengan menggunakan definisi tersebut diatas diperoleh bentuk lain dari fungsi objektif yaitu
Fungsi objektif didefinisikan sebagai berikut: J = J1 + (ΦX + ΓU )T Q(ΦX + ΓU ) + (GX + DU )T R(GX + DU )
J =e
T k +Ny
dimana
QN y ek + N y +
N y −1
∑ (e t =0
T k +t
J = J1 + X T (ΦT QΦ) X + U T MU + 2U T Fx X
Qek +t + Δu R Δuk + t ) T k +t
−1 T (2.8) J = J1 + X T (ΦT QΦ + GT RG... −F x M Fx ) X + 2 J To
... (2.13)
ek = yk − wk adalah keluaran tracking error.
dimana M = ΓT QΓ + DT RD
⎡ Δuk ⎤ ⎡ yk +1 ⎤ ⎡ wk +1 ⎤ ⎢ Δu ⎥ ⎢y ⎥, ⎢ w ⎥ , dan k +1 ⎥ Ud = ⎢ Y = ⎢ k +2 ⎥ W = ⎢ k +2 ⎥ ⎢ M ⎥ ⎢ M ⎥ ⎢ M ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ yk + N ⎦ ⎣ Δuk + N −1 ⎦ ⎣ wk + N ⎦
Fx = ΓT QΦ + DT RG = [ F1
F2 = DT ΓT QΦ 2 − DT (ΓT QΓ + R ) E1 H = D T ΓT Q
Y = Φxk + ΓU d
... (2.9) Untuk suatu fungsi objektif yang memiliki fungsi objektif dalam bentuk seperti pada persamaan (2.15).
J = J1 + (Y − W )T Q(Y − W ) + U dT RU d
dengan:
J To =
J1 = ( yk − wk ) Q ( yk − wk ) T
R = diag{Ri } , dengan Ri = R untuk i = 1,2,...,N
0 ⎡ CB ⎢ CAB CB Γ=⎢ ⎢ M M ⎢ N −1 N −2 CA B CA B ⎣
L L
1 (U − U 0 )T M (U − U 0 ) 2 ... (2.10)
Persamaan (2.14) dapat menjadi persamaan (2.15) dengan membuat U 0 = − M −1 Fx X .
Q = diag{Qi } , dengan Qi = Q untuk i = 1,2,...,N
⎤ ⎥ ⎥ ⎥ = [ Φ1 Φ 2 ] ⎥ N −1 C% (∑ i =0 A% i ) B% ⎥⎦
H]
F1 = DT ΓT QΦ1
Dengan menggunakan variabel-variabel yang telah didefinisikan sebelumnya, kita mendapatkan
%% ⎡ CA ⎤ ⎡ CA ⎢ CA2 ⎥ ⎢ CA % %2 ⎥=⎢ Φ=⎢ ⎢ M ⎥ ⎢ M ⎢ N ⎥ ⎢ % %N ⎣CA ⎦ ⎢⎣CA
F2
Persoalan meminimalisasi U pada persamaan (2.15), dengan nilai U yang memiliki batasan, dapat dituangkan pada diagram blok seperti pada Gambar 2.6.
%% CB % % C ( A + I m ) B% M
0 ⎤ 0 ⎥⎥ O M M ⎥ ⎥ L CAB CB ⎦ 0 0
Gambar 2.1 Algoritma Minimalisasi Fungsi Objektif II. 3 Algoritma-2
2
Algoritm ma MPC yaang digunakaan dalam tuggas akhir ini adaalah salah sattu dari algorittma iterasi fixxed point quaddratic prograamming, yaittu algoritma-2. Adapun Alggoritma-2 ini ekivalen denggan Gambar 2.1 2 yang menjaadi Gambar 2.2 2 bila digam mbarkan dalaam diagram blokk tersendiri.
IIII. Perancanggan Sistem IIII.1.1 Pemodeelan Kendaliaan Multivaria abel Sebuah keendalian mulltivariabel deengan sistem m Multi M Input Multi M Outputt dengan fun ngsi transferr seebagai berikutt: P (s ) =
⎡ 6 − 5⎤ 1 10 s + 1 ⎢⎣ − 3 4 ⎥⎦
Fu ungsi transferr tersebut kem mudian dijabaarkan sebagaii beerikut ⎡Y1 ( s ) ⎤ ⎡ 6 − 5⎤ ⎡U 1 (s )⎤ 1 ⎢Y ( s )⎥ = 10s + 1 ⎢− 3 4 ⎥ ⎢U (s )⎥ ⎣ ⎦⎣ 2 ⎦ ⎣ 2 ⎦
[ Gambar 2.2 Algoritma-2[12]
Nampak bahwa b fungsi transfer terseebut memilikii du ua buah inputt U1(s) dan U2(s) dan duaa buah outputt Y1(s) dan Y2(s) yang m masing-masing g dijabarkann seebagai berikutt
a fungsi non-linear yang y merupakkan Dimana Ψ adalah saturasi dari aktuator. Ψa = Ψ − I
Y1 ( s ) =
Secara matematis dari diagram blook diatas dappat dituliskan seebagai berikutt:
6 5 U 1...( s((2.16) ) − U 2 (s) 10 s + 1 10 s + 1
Y2 ( s) = −
3 4 U 1 (S ) + U 2 (s) 10s + 1 10s + 1
V = Ψ a (Vs ) = ( Ψ − I )Vs = Ψ (Vs ) − Vs .
V = Ψ a (Vs ) = Ψ a (U o + ( M −1 − I )V )
IIII.1.2 Simulassi Kendalian
U = Vs + V = M −1V + U o
Pada tahhap ini sim mulasi kend dalian akann menggunakan m simulink padda MATLAB seperti padaa gaambar 3.1. Hasil yaang diperolleh dengann menggunakan m M MATLAB unntuk keluaran Y1(s) dengann masukan m 1 dann masukan 2 sebesar 1 vo olt dapat kitaa ... ((2.17) lih hat pada gambbar 3.2
dengan impllementasi iteraasinya mengikkuti bentuk sebbagai berikut: Vk +1 = Ψ a (U o + ( M −1 − I )Vk )
dimana Ψ a ( x) := Ψ − I := Ψ ( x) − x
adalah fungssi non-linear Bila iterasi tersebut konveergen maka soolusinya didappat U * = V * + ( M −1 − I )V * + U o U * = M −1V * + U o
II. 4 Implem mentasi Implem mentasi algorritma-2 Moddel Predictiive Control diatas dapat dilihat pada Gambbar 2.8 di baw wah ini.
Gambar 3.11Kendalian paada Simulink MATLAB M Karakteristtik respon waktu kendalian n analog dapatt diilihat pada tabbel 3.1.
Gambar 2.3 2 Implemenntasi MPC traccking dengan algooritma-2
3
Kaarakteristik
Keluuaran 1
Keluaran 2
Waktu W tunda
6.9445 detik
6.945 detik
Waktu W naik
70 detik
70 detik
Sim mpangan maaksimum
00%
0%
Waktu W puncak
70 detik
70 detik
Waktu W tunak
30 detik
30 detik
Tabel 3.1 Karakteristik respon waktu kendalian analog ⎡Y1 ( s ) ⎤ ⎡C11 ⎢Y ( s )⎥ = ⎢ 0 ⎣ 2 ⎦ ⎣
III.2 Perancangan Kendalian Analog Fungsi transfer kendalian Multi Input Multi Output yang akan dirancang dapat dituliskan sebagai berikut
C12 0
0 C 21
⎡ X 11 k ⎤ ⎥ ⎢ 0 ⎤ ⎢ X 12 k ⎥ ⎡ D11 + ⎥ C 22 ⎦ ⎢ X 21 k ⎥ ⎢⎣ D21 ⎥ ⎢ ⎢⎣ X 22 k ⎥⎦
D12 ⎤ ⎡U 1 k ⎤ ⎥ ⎢ D22 ⎥⎦ ⎣U 2 k ⎦
Untuk fungsi transfer yang akan digunakan dalam penelitian tugas akhir, kita dapatkan nilai dari matriks A, B, C dan D sebagai berikut:(3.4)
⎡Y1 ( S ) ⎤ ⎡G11 ( s ) G12 ( s) ⎤ ⎡U 1 (S )⎤ ⎢Y ( S )⎥ = ⎢G ( s) G ( s)⎥ ⎢U (S )⎥ 22 ⎦⎣ 2 ⎦ ⎣ 2 ⎦ ⎣ 21
0 0 0 ⎤ ⎡0.9900 ⎢ 0 0.9900 0 0 ⎥⎥ [A] = ⎢ ⎢ 0 0 0.9900 0 ⎥ ⎢ ⎥ 0 0 0 0 . 9900 ⎣ ⎦
Perancangan kendalian analog ini menggunakan pemodelan bentuk state space yang akan mempermudah implementasinya ke dalam bentuk diskrit.
0 ⎤ ⎡0.9950 ⎥ ⎢ 0 0 . 9950 ⎥ [B ] = ⎢ ⎢0.9950 0 ⎥ ⎥ ⎢ 0.9950 ⎦ ⎣ 0
Suatu fungsi transfer kendalian sistem Multi Input Multi Output Y1 ( s ) = G11 ( s ) U 1 ( s ) + G12 ( s ) U 2 ( s ) Y2 ( s ) = G 21 ( s ) U 1 ( s ) + G 22 ( s ) U 2 ( s )
[C ] = ⎡⎢
Kemudian dapat dijabarkan ke dalam bentuk yang menunjukkan elemen-elemen input dan pengaruhnya terhadap output sebagai berikut
[D ] = ⎡⎢
0.4000 − 0.5000 (3.5)0 0 ⎤ − 0.3000 0.4000⎥⎦ 0 ⎣ 0 0 0⎤ ⎥ ⎣0 0 ⎦
Y11 ( s) = G11 ( s ) U 1 ( s ) Y12 ( s) = G12 ( s) U 2 ( s)
Dengan demikian persamaan state space kendalian kontinu dapat diperoleh sebagai berikut
Y21 ( s ) = G 21 ( s ) U 1 ( s )
Y22 ( s) = G22 ( s) U 2 ( s )
(3.6)
⎡ X 11 k +1 ⎤ ⎡0.9900 0 0 0 ⎤ ⎢X ⎥ ⎢ 0.9900 0 0 ⎥⎥ ⎢ 12 k +1 ⎥ = ⎢ 0 ⎢ X 21 k +1 ⎥ ⎢ 0 0 0.9900 0 ⎥ ⎢ ⎥ ⎢ ⎥ 0 0 0.9900⎦ ⎣⎢ X 22 k +1 ⎦⎥ ⎣ 0
Terdapat 4 buah state yang akan digunakan dalam analisis ini sehingga bentuk state space dapat dituliskan sebagai berikut
⎡ X 11 k ⎤ ⎡0.9950 0 ⎤ ⎢X ⎥ ⎢ 0.9950⎥⎥ ⎡U 1 k ⎤ ⎢ 12 k ⎥ + ⎢ 0 ⎥ ⎢ ⎢ X 21 k ⎥ ⎢0.9950 0 ⎥ ⎣U 2 k ⎦ ⎢ ⎥ ⎢ ⎥ X 0 0 . 9950 ⎦ ⎣⎢ 22 k ⎦⎥ ⎣
(3.7)
⎡ X 11 k ⎤ ⎥ ⎢ 0 (3.8) 0 ⎤ ⎢ X 12 k ⎥ ⎡Y1 ( s ) ⎤ ⎡0.4000 − 0.5000 ⎢Y ( s )⎥ = ⎢ 0 ⎥ − 0.3000 0.4000⎦ ⎢ X 21 k ⎥ 0 ⎣ 2 ⎦ ⎣ ⎥ ⎢ (3.9) ⎢⎣ X 22 k ⎥⎦
Dengan menggunakan (3.10) bentuk modal kanonik dapat diperoleh kendalian keseluruhan seperti pada (3.11) gambar 3.3. (3.12) (3.13) (3.14) Pemodelan state space kontinu kendalian sistem Multi Input Multi Output secara keseluruhan dapat dituliskan sebagai berikut: ⎡ X 11 k +1 ⎤ ⎡ A11 ⎢X ⎥ ⎢ ⎢ 12 k +1 ⎥ = ⎢ 0 ⎢ X 21 k +1 ⎥ ⎢ 0 ⎢ ⎥ ⎢ ⎣⎢ X 22 k +1 ⎦⎥ ⎣ 0
0
0
A12 0
0 A21
0
0
0 ⎤ 0 ⎥⎥ 0 ⎥ ⎥ A22 ⎦
⎡ X 11 k ⎤ ⎡ B11 ⎢X ⎥ ⎢ ⎢ 12 k ⎥ + ⎢ 0 ⎢ X 21 k ⎥ ⎢ B21 ⎢ ⎥ ⎢ ⎣⎢ X 22 k ⎦⎥ ⎣ 0
0 ⎤ B12 ⎥⎥ ⎡U 1 k ⎤ ⎢ ⎥ 0 ⎥ ⎣U 2 k ⎦ ⎥ B22 ⎦
(3.15) Gambar 3.2 Blok diagram kendalian analog
Karakteristik respon waktu kendalian state space dapat dilihat pada tabel 3.2.
4
Karakteristik
Keluaran 1
Keluaran 2
Waktu tunda
6.927 detik
6.912 detik
0.9
Waktu naik
70 detik
70 detik
0.8
Simpangan maksimum
0%
0%
Waktu puncak
70 detik
70 detik
Waktu tunak
30 detik
30 detik
0.7
p
0.6 0.5 0.4 0.3
Tabel 3.2 Karakteristik respon waktu kendalian state space III.3 Perancangan Model Menggunakan Simulink
Predictive
0.2 0.1
Control
Gambar 3.4 Respon waktu Model Predictive Control horizon 3
Tujuan dari simulasi ini adalah untuk menentukan nilai horizon yang optimal untuk nilai iterasi yang terbatas.
1
Adapun blok diagram untuk simulasi ini adalah sebagai berikut Wref Constant
0.95
0.9
K*u
K*u
Gain
Add1
Subtract Add
Saturation
K*u
Gain2
Scope1
0.85
Subtract1
K*u
Gain3
0.8
Gain1 K*u Scope
Gain4
y(n)=Cx(n)+Du(n) x(n+1)=Ax(n)+Bu(n) Discrete State-Space
0.75
1 z Unit Delay
0.7
Gambar 3.3 diagram blok sistem dengan algoritma-2 MPC pada Simulink
0.65
Pada simulasi ini digunakan parameter-parameter sebagai berikut
5
10
15
20
25 k*T
30
35
40
45
50
III.4 Perancangan MPC Menggunakan m-file pada MATLAB
Waktu sampling (Ts) = 1 detik. Q =1
0
Gambar 3.5 Sinyal kendali Model Predictive Control horizon 3
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.
dan R = 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 plot dari respon sistem, sinyal kendali, dan jumlah iterasi horizon 3 dapat dilihat dibawah ini.
Hasil respon waktu sistem dan sinyal kendali untuk horizon 3 dapat dilihat pada gambar 3.7, dan 3.8.
5
0.9 0.8 0.7
controlled outputs
0.6 0.5 0.4 0.3
Gambaar 3.9 Diagram m blok sistem utuh
0.2
Keterangan: K
0.1 0
0
5
10
15
20
25 k*Ts
30
35
40
45
Saaturasi:
50
Gambar 3.66 Respon wakktu Model Predictive Controol horrizon 3 Dead zone:
1
Ψa = Ψ − I
0.95
control inputs
0.9
0.85
0.8 START
0.75
0.7
0.65
0
5
10
15
20
25 k*Ts
30
35
40
45
Inisialisasi
50
Gambar 3.77 Sinyal kendaali Model Predictive Controol horrizon 3
Sensor Variabel State dan Peroleh Xkbar
500 450 400 350
Hitung U0
iterasi
300 250 200 150 Algoritma 2 MPC sebanyak 481 kali
100
Tunggu hingga waktu sampling terpenuhi
50 0
0
5
10
15
20
25 k*Ts
30
35
40
45
50 Hitung uk (2 sinyal pertama Uk) dan berikan ke plant
Gambar 3.88 Jumlah iteraasi Model Preddictive Controol horrizon 3 III.5 Desain n Diagram Allir MPC
Update variable xk=xkp dan uk_=uk
Setelah diketahui jum mlah iterasi maksimum m yaang diperlukan untuk u horizonn yang akan digunakan d dalaam perangkat keeras, akan dilaakukan peranccangan prograam yang akan ditanam padda perangkatt keras. Unttuk mencapai haal ini, diperlukkan desain diaagram alir MPC.
Gambar 3.10 3 Diagram alir algoritmaa-2 MPC IIII. 6 Pengkod dean Pengend dali pada dsPIIC
6
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.
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
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
Selisih
IDE 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
-0.08518398508410
-0.0852524
0.00006841491590
0.00000000000000
0.0000000
-0.21517988339323
U0
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)
0.00000000000000
9600
80
1.1394
1.2180
-0.2150757
0.00010418339322
19200
70
0.9471
0.9690
-0.24188425278404
-0.2416842
0.00020005278404
55
0.8941
0.9380
0.00000000000000
0.0000000
0.00000000000000
-0.02442089756277
-0.0245086
0.00008770243723
25
0.8837
0.9380
20
0.8924
0.9530
75
0.9797
1.0470
IV.2 Pengujian Kecepatan Respon Sistem
41
0.8877
0.9370
IV.2.1 Menaikkan dan menurunkan Horizon
20
0.8675
1.1090
Vk_
57600
Tabel 4.1 Perbandingan hasil MATLAB dan MPLAB IDE
Horizon 3
Horizon 5
115200
Horizon 10
Waktu Naik (detik)
Horizon 1
Output 1
14.66
14.78
15.51
15.55
Output 2
14.71
14.76
15.49
15.52
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
1.139 4 s
1.2180 s
450.44 7218 ms
0.68895 3 s
0.767553 s
Tabel 4.2 Perbandingan waktu naik perubahan horizon
Baudrate 9600, delay 80 ms
IV.2.2 Menaikkan Batas Saturasi
Tabel 4.6 Perhitungan waktu komunikasi rata-rata dan maksimum
Waktu Naik (detik)
Saturasi 1
Saturasi 2
Saturasi 10
7
1
Baudrate (bps)
Delay (ms)
Waktu Rata‐ rata (s)
Waktu Max (s)
0.95
0.9
80
1.1391
1.2182
19200
70
0.9472
0.9692
55
0.8942
0.9382
0.75
25
0.8838
0.9382
0.7
20
0.8925
0.9532
0.65
75
0.9798
1.0472
41
0.8878
0.9371
20
0.8676
1.1091
57600
115200
control inputs
9600
0.85
0.8
0
5
10
15
20
25 k*Ts
30
35
40
45
50
45
50
Gambar 4.1 Plot sinyal kendali Output: 0.9
Tabel 4.7 Perbandingan waktu total rata-rata dan maksimum beberapa baudrate pada sistem
0.8 0.7
IV.4 Pengujian Sistem dengan Waktu Cuplik Rendah Output 1
controlled outputs
0.6
Output 2
Waktu Waktu Waktu cuplik cuplik cuplik 1 1 0.1
Waktu cuplik 0.1
14.77 detik
13.44 detik
14.76 detik
13.45detik
4.594 detik
3.4 detik
6.086 detik
5.338 detik
Simpangan 0.0083 0.0201 0.0131 maksimum (overshoot)
0.0318
0.5 0.4 0.3 0.2 0.1
Waktu Naik Waktu Tunda
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
0
0
5
10
15
20
25 k*Ts
30
35
40
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:
Tabel 4.8 Perbandingan karakteristik respon sistem dengan waktu cuplik berbeda
>> a=1.2363446789 IV.3 Pengujian Sistem dengan Kendalian pada MATLAB
a= 1.2363
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.
>> 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.
Output yang diberikan dari pengujian ini adalah sebagai berikut: Sinyal kendali:
Hal ini tidak terjadi pada perhitungan dalam mikrokontroler dsPIC 30F4011, yang dalam hal ini diwakilkan dalam program simulasi MPLAB IDE. Hal
8
ini dapat kita lihat pada simulasi sederhana sebagai berikut:
¾
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.
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:
V. 2 Saran Beberapa hal yang sekiranya perlu dilakukan sebagai tahapan pengembangan lebih lanjut, antara lain: ¾ ¾ ¾ Gambar 4.4 Perhitungan pada MATLAB
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
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.
[1]
Franklin, G. F. dan J. D. Powell, and A. EmamiNaeni (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: dspic30f4011, Microchip
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.
9
[8]
[9]
______________(2006), Datasheet: dsPIC30F Family Reference Manual 70046E, Microchip
[10]
______________(2006), Datasheet: Getting Started with dsPIC, Microchip
10
______________(2007), Datasheet: dsPICDEM 2 Users Guide, Microchip