Prosiding SENTIA 2009 – Politeknik Negeri Malang
Penerapan Algoritma Respon Immune pada Sistem Kontrol Suhu Sidik Nurcahyo, S.T. Teknik Elektro Pascasarjana Universitas Brawijaya Malang
[email protected] ABSTRAK Tulisan ini membahas penerapan algoritma Respon Immune pada Sistem Kontrol Suhu. Pembahasan dimulai dengan penurunan persamaan PID respon immune, diikuti dengan simulasi MATLAB, perancangan hardware mikrokontroler AVR-ATMega8 dan implementasi algoritma mengunakan open source compiler AVR-GCC 4.2.2. Hasil simulasi menunjukkan bahwa tanggapan waktu kontroler PID Respon Immune lebih baik daripada kontroler PID konvensional. Hasil pengujian terhadap prototipe menunjukan bahwa perubahan suhu 9 celcius dalam ruang terbuka dapat dicapai dalam waktu sekitar 16 detik dan error steady state nol (daya heater 25W). Kata kunci: respon immune, kontrol suhu, ATMega8. Jika sistem kekebalan diserang oleh penyakit (bakteri atau virus) maka MΦ (macrophages, jenis sel phagocytic) menangani bakteri tersebut. Elemenelemen penyakit diurai ke dalam antigen melalui hidrolisasi dan kemudian antigen dilepaskan keluar dari sel MΦ, yaitu menjadi molekul-molekul yang bisa larut dan sel B aktif. Antigen dapat juga mengabung molekul-molekul MHC (major histocompatibility complex) untuk menyatakan dirinya menjadi sel T melalui APC (antigenpresenting cell) dan akibatnya mengaktifkan sel T. Sel T terdiri atas CTL (cytotoxic T cells) dan sel regulatory T, sedangkan sel regulatory T dapat dikelompokkan ke dalam sel Th (helper T) dan Ts (suppressor T ). Th mengirim umpan balik posistip ke berbagai macam immunocytes dengan menggunakan cytokine yang dikeluarkan oleh sel Th. Sebagai contoh, sel Th memperluas aktivasi sel B dan meningkatkan jumlah sel CTL. Sel B dan sel CTL dapat bekerja secara terpisah pada setiap antigen. Ts menekan fungsi imunologi yang lain (sebagai contoh, menekan aktivasi sel B dan menurunkan jumlah CTL) untuk beraksi sebagai umpan balik negatip pada respon immune adaptip. Sehingga terlihat bahwa sel T memegang peranan penting dalam regulasi sistem respon immune adaptif secara keseluruhan. Sel-sel ini menetralisasi antigen dengan memperkuat aktivitas CTL dan menstimulasi sel B untuk menghasilkan lebih banyak antibodi. Set T dapat merespon antigen dengan cepat karena sel T naik secara simultan dengan naiknya antigen. Naiknya jumlah sel Th dapat memperkuat sel Ts. Sel Ts menghalangi aktivitas CTL, Th dan sel B. Bila antigen turun pada tingkat tertentu, pengaruh sel Ts melampaui pengaruh sel Th, dan akibatnya antibodi menurun. Akhirnya, sistem respon immune secara keseluruhan menjadi seimbang. Karena adanya kerjasama antara sistem perluasan dan pembatasan seperti ini sehinga sistem respon immune dapat melawan penyakit secara cepat dan menstabilkan dirinya. Setelah meng-kloning dan meng-expansi sel T dan sel B,
Suhu
merupakan besaran fisik yang cukup penting dan sering dijadikan sebagai parameter atau target suatu sistem. Umumnya, suhu diharapkan selalu tetap atau berubah dengan pola tertentu meskipun sistemnya mengalami gangguan yang mengancam stabilitas suhu. Cara paling ampuh untuk menstabilkan suhu adalah dengan cara memasang kontroler suhu pada sistem tersebut. Kontroler ini bekerja menurut mekanisme tertentu untuk meminimalkan error yaitu selisih antara suhu yang diinginkan dengan suhu yang terukur dalam sistem. Selain itu, kontroler juga harus berusaha untuk mempersingkat waktu pencapaian suhu yang diinginkan (setpoint). Mekanisme kontrol yang umum dipakai dalam implementasi kontroler meliputi: ON-OFF atau dua posisi, PID (Proporsional Integral Differential), Fuzzy, NeuroFuzzy dan ANN (Artificial neural network). Setiap metode tersebut memiliki unjuk kerja (performa) dan konsekuensi biaya yang berbeda-beda. Dalam tulisan ini akan dibahas metode kontrol yang cukup baru dan diyakini dapat diterapkan pada sistem kontrol suhu yaitu Algoritma Respon Immune. A. ALGORITMA RESPON IMMUNE Algoritma respon immune dibuat berdasarkan mekanisme immune yang terjadi pada sistem kekebalan makhluk hidup, seperti ditunjukan pada Gambar 1.
Gambar 1. Mekanisme immune pada sistem kekebalan
E-7
Prosiding SENTIA 2009 – Politeknik Negeri Malang
akan didapat perbedaan antara sel-sel T dan sel B yang kemudian dikirim ke dalam sel memori. Sel memori ini tidak tergabung dalam peperangan antara immunocyte dan antigen. Jika sel memori menemui antigen yang sama seperti yang didapati sebelumnya maka sel memori memasuki effect-cellular secara cepat yaitu aktivasi proliferation dan differentiation. Secara berurutan, effect-cellular menerapkan mekanisme immunity yang efisien. Berdasarkan mekanisme immune itu dan beberapa pengandaian dapat diturunkan hukum respon immune sebagai berikut [4]: 1. Besaran antigen: (k ) ( k 1) Tcytotoxic ( k d ) B ( k d ) ,
himpunan fuzzy output dibagi atas 9 sub-himpunan {PB, PM, PS, PT, Z, NT, NS, NM, NB} seperti ditunjukkan dalam Gambar 2.
Gambar 2. Himpunan fuzzy input dan output Berdasarkan pada ide utama respon immune dan himpunan fuzzy input-output tersebut dapat dibuat 25 rule seperti dalam Tabel 1.
d : dead time sel, Tcyto to xic : nilai CTL dan B adalah jumlah sel B.
Tabel 1. Rule fuzzy f u ( k ), u ( k ) [2]
2. Pengaruh sel T Helper untuk sel B: Thelp ( k ) K1 ( k ) dengan K 1 adalah konstan. 3. Pengaruh sel T suppressor untuk sel B: Tsup pres ( k )
K 2 Tcytotonic( k Tcytotonic( k
d) d
1)
2
(k )
Metode inferensi yang digunakan adalah metode Mamdani dan metode defuzzyfikasinya menggunakan metode centroid. Menurut rule diatas, dapat diperoleh tabel kontrol untuk menghitung seperti dalam Tabel 2.
4. Stimulasi total yang diterima oleh sel B: B ( k ) Thelp ( k ) Tsup pres ( k ) Jika dilakukan perbandingan antara mekanisme respon immune dengan mekanisme kontrol PID maka dapat diasumsikan error e(k) sebagai nilai antigen (k ) dan output kontroler u(k) sebagai stimulasi total yang diterima oleh sel B, B(k), sehingga dapat diperoleh hukum kontrol sebagai berikut [4]: U ( k ) K1 1 f u ( k ), u ( k ) e( k ) (1)
Tabel 2. Tabel control f u ( k ), u ( k ) [2]
dengan f u ( k ), u ( k )
Tcytotonic( k
d ) Tcytotonic( k
Implementasi Tabel 2. secara langsung ke dalam mikroprosesor dapat meningkatkan kecepatan proses secara significant jika dibandingkan dengan implementasi rumus fuzzy-defuzzy. Pada kontroler PID konvensional, startup dan shutdown sistem dapat menghasilkan akumulasi integral. Disini algoritma PID integral terpisah diimplementasikan untuk mencegah overshoot besar dan osilasi yang dibangkitkan oleh akumulasi integral tersebut. Prinsip utama dari algoritma PID integral terpisah adalah tidak seharusnya melakukan operasi integral hingga error kontrol telah diminimalkan pada tingkat tertentu. Algoritmanya adalah:
2
d 1) ,
K 2 / K1
berdasarkan asumsi 1: Tcytotonic ( k 1)
(k )
B(k
d)
Jika Pers. 1 diperlakukan sebagai kontroler PID non-linier (respon immune) maka parameter yang mempengaruhi kecepatan respon adalah K 1 , sedangkan parameter mengontrol stabilitas, overshoot dan fungsi-fungsi seperti waktu diferensial dan waktu integral pada kontroler PID tradisional. Karena f u ( k ), u ( k ) adalah fungsi
k
U (k )
nonlinier dan cara untuk menghitung Tcyto to n ic masih tidak jelas, algoritma fuzzy digunakan untuk mendekatinya. Algoritma fuzzy dalam paper ini memiliki 2 input u (k ) dan u (k ) , sebuah output
k p e( k ) e( k 1)
k d ' e( k ) 2 e ( k 1) e ( k
ki ' 2) / T
e( j ) T j 0
( 2)
Pengurangan U(k-1) pada kedua sisi persamaan ini akan menghasilkan algoritma kontrol PID integral terpisah incremental: (yang dibuat incremental integralnya saja)
f u ( k ), u ( k ) . Himpunan fuzzy input dibagi atas lima sub-himpunan {PB, PS, Z,NS, NB} dan
E-8
Prosiding SENTIA 2009 – Politeknik Negeri Malang
dikonfigurasi untuk dapat membaca suhu dalam range tertentu. Persyaratan ini mengharuskan pemasangan rangkaian level converter yang tersusun atas LM324 dan sinyal PWM yang dikeluarkan ATMega8 melalui pin-15 (OC1A). Potensiometer R1 digunakan sebagai device setpoint. Sinyal analog keluaran potensiometer R1 dan rangkaian sensor dibaca oleh ATMega8 melalui modul ADC, masingmasing pada channel 0 dan 1. Karena aktuator dalam sistem ini berupa beban AC, maka digunakan rangkaian driver AC berupa TRIAC dan optoisolasi MOC3020 yang diatur waktu konduksinya melalui pin-13. Sensor zerocross line 220VAC dibutuhkan untuk mengatur waktu konduksi TRIAC dan direalisasikan berupa resistor R7 yang terhubung ke modul input capture melalui pin-14.
k
U (k )
k p e( k ) e( k 1)
k d ' e( k ) 2 e ( k 1) e ( k
ki '
e( j ) T j 0
2) / T
U (k ) U (k 1) k p e(k ) e(k 1)
k i e( k )
k d e(k ) 2e(k 1) e(k 2)
(3)
dengan ki ki ' xT , k d k d ' T . Sehingga hukum kontrol PID respon immune dapat dinyatakan seperti Pers. 4. U ( k ) U ( k 1) K AIS k p K AIS k p
ki
k d e( k )
2 kd e k 1
K AIS k d e( k
2)
( 4)
C. IMPLEMENTASI SOFTWARE Sebelum membuat kode program untuk algoritma PID respon immune perlu disusun diagram alir (flowchart) seperti dalam Gambar 5.
f u ( k ), u ( k ) , dan dengan K AIS K1 1 adalah koefisien switch dari suku integral. Diagram blok sistem kontrol PID respon immune ditunjukkan pada Gambar 3.
mulai
Inisialisasi I/O
Gambar 3. Kontroler PID respon immune [2] Sesuai diagram blok tersebut terlihat bahwa sinyal kontrol untuk blok object (plant) dihasilkan oleh blok PID yang nilai penguatannya ditala menurut algoritma Respon Immune.
K1
46,2;
1
e
0, 2
0
e
0, 2
0,0012 ; ki
0,02; k d
21,3; Ts
0,001
yout=bacaADC(1) rin=bacaADC(0)
B. IMPLEMENTASI HARDWARE Hardware yang digunakan untuk implementasi algorima respon immune ditunjukkan pada Gambar 4.
f u ( k ), u ( k ) K AIS
K1 1
f u ( k ), u ( k )
Pers. 4
Tdly
f (u ( k ))
Tidak Exit?
Gambar 4. Hardware sistem kontrol suhu Algoritma PID respon immune (Pers.4) akan direalisasikan pada chip AVR ATMega8, yaitu mikrokontroler 8 bit 1 MIPS (maksimal 16 MHz) buatan ATMEL yang dilengkapi dengan modul ADC 10 bit 6 channel, 3 buah modul PWM, dan sebuah modul input capture[1]. Sensor suhu LM35
selesai
Gambar 5. Diagram alir sistem kontrol suhu Menurut diagram alir tersebut, mula-mula AVR mengkonfigurasi I/O, meliputi: konfigurasi modul E-9
Prosiding SENTIA 2009 – Politeknik Negeri Malang
PWM1A supaya menghasilkan sinyal PWM frekuensi 200kHz yang dikeluarkan melalui pin-15 (OC1A), konfigurasi ADC single conversion untuk membaca sinyal analog ADC0 dan ADC1, konfigurasi pin PD7 sebagai pin output untuk mengeluarkan sinyal aktivasi MOC3020, dan konfigurasi modul input capture ICP1 untuk mendeteksi terjadinya zerocross sinyal jala-jala VAC220V. Selanjutnya AVR menginisialisasi parameter kontroler, membaca sinyal keluaran sensor LM35 melalui rutin bacaADC(1) dan sinyal setpoint dari potensiometer R1 melalui rutin readADC(0) dan menghitung Pers. 4 serta waktu aktivasi (Tdly) MOC3020. Proses baca setpointsensor, hitung Pers.4 dan waktu aktivasi Tdly diulang secara terus menerus hingga sistem dimatikan untuk mengatur daya pada heater yang sesuai supaya suhu terukur sama dengan suhu setpoint. Berikut ini adalah potongan kode program untuk merealisasikan flowchar tersebut dan ditulis menurut sintak open source compiler AVR-GCC Versi 4.2.2. Realisasi berupa dua subrutin yaitu PID_Immune(..) dan fudu(..), masing-masing untuk menghitung Pers. 4 dan fuzzy-defuzzy f u ( k ), u ( k ) . Realisasi Tabel 2 juga ditunjukkan dalam susunan array 2 dimensi.[3]
if(iuk>2) iuk=2; if(iuk<-2) iuk=-2; if(iduk>2) iduk=2; if(iduk<-2) iduk=-2; iuk+=2; iduk+=2; return (int16_t) read_eeprom_word(&fuzzy_rule[iuk][iduk]); } //--- Representasi Tabel 2 dalam array 2 dim ------EEMEM uint16_t fuzzy_rule[5][5]= { {2330,1830,1340,840,138}, {1830,1000,500,0,-741}, {984,200,0,-200,-978} {748,0,-500,-1000,-1830}, {-125,-834,-1330,-1830,-2320} }; Kode program tersebut selanjutnya dikompilasi dan kemudian file biner hasil kompilasi dituliskan ke dalam chip AVR ATMega8 menggunakan downloader PonyProg2000. Tampilan program downloader ini ditunjukkan seperti dalam Gambar 6.
#define f_PLN 50 //frekuensi jala-jala #define hT_PLN 1e6/f_PLN //1/2 periode jala-jala //----------------------------------------//menghitung Pers. 4 dan waktu aktivasi MOC3020 uint16_t PID_Immune(struct PARAMS_T *p) { int16_t ek, K_AIS; uint16_t Tdly;
Gambar 6. Downloader AVR “PonyProg2000” D. HASIL DAN PEMBAHASAN Berikut ini ditunjukkan hasil simulasi MATLAB untuk membandingkan performa PID konvensional dan PID respon immune. Plant berupa 4A sistem orde-2 G ( s ) dengan A=91,2 2 s Bs A dan B=23, dan parameter dipilih berdasarkan metode Ziegler-Nichols, yaitu: K 1 46,2; 0,0012; k i 0,02; k d 21,3; Ts 0,001
ek=p->rin-p->yout; //hitung error K_IAS=p->K1*(1-p->eta*fudu(p->uk,p->uk_1)/1000);
if(abs(ek)<0.2) p->beta=1; else p->beta=0; p->uk=p->uk_1+K_AIS*(p->kp+ p->beta*p->ki+p->kd)*ek+ K_AIS*(p->kp-2*kd)*p->ek_1+ K_AIS*p->kd*p->ek_2; p->ek_2=p->ek_1; p->ek_1=ek; p->uk_1=p->uk;
dan
1
e
0,2
0
e
0,2
.
Hasil simulasinya ditunjukkan pada Gambar 7.
//hitung waktu aktivasi MOC3020 Tdly=(uint32_t) 65535-uk*hT_PLN/MAX_INT; return Tdly; } //-----fuzzy-defuzzy Tabel 2---------------int16_t fudu(int u, int u_1) { uint8 iuk,iduk; Gambar 7. Respon plant dengan 2 jenis kontroler
iuk=u/(MAX_INT/3); iduk=(u-u_1)/(MAX_INT/3);
(I.PID konvensional, II.PID respon immune, III.input)
E-10
Prosiding SENTIA 2009 – Politeknik Negeri Malang
Dalam simulasi ini, setpoint diberikan pada t=0s dan gangguan diberikan pada t=0,5s. Respon I memiliki lonjakan (overshoot) yang lebih besar dibandingkan dengan respon II. Demikian juga ketika gangguan diberikan, lonjakan (overshoot) Respon I tetap lebih besar tetapi kedua respon mampu kembali ke nilai setpoint-nya dengan error keadaan mantap sama dengan nol. Hardware rangkaian kontroler respon immune (Gambar 4) direalisasikan dalam bentuk prototipe seperti ditunjukkan dalam Gambar 8.
E. KESIMPULAN Berdasarkan hasil pengujian dapat disimpulkan hal-hal sebagai berikut: 1. Algoritma Respon Immune dapat diterapkan sebagai algoritma kontroler khususnya kontroler PID suhu. 2. Berdasarkan hasil perbadingan (benchmarking) antara PID konvensional dengan PID respon immune di dalam MATLAB, dapat disimpulkan bahwa PID Respon Immune memiliki performa lebih baik. F. PUSTAKA [1] Atmel, ATMega8 Datasheet, www.atmel.com [2] Cheng, Shu dan Chen, Te-Fang. 2005. Study of Digital High Power Switch Mode Power Supply Based on a New Fuzzy Immune Response PID Controller. International Journal of Information Technology, Vol.11 No.9. [3] Kernighan dan Dennis, ANSI C Programming Language, Prentice Hall. [4] Takahashi K,Yamada T., Application of an immune feedback mechanism to control systems. JSME International Journal, Series C (1998), pp. 184-191.
Gambar 8. Prototipe rangkaian kontrol suhu Pengujian terhadap prototipe untuk beberapa nilai setpoint menunjukkan bahwa error steady state selalu nol meskipun sensor suhu diletakkan pada ruang terbuka seperti terlihat dalam gambar tersebut. Waktu pencapaian keadaan mantap dari 30C menuju 39C sekitar 16 detik ketika actuator (heater) yang digunakan berupa lampu pijar 25W.
E-11