kendali level air
TRANSCRIPT
KENDALI LEVEL AIR DENGAN MENGGUNAKAN PARAMETER PIDCONTROLLER
Dede Iskandar1, Yuda Bakti Zainal2
Teknik Elektro, Fakultas TeknikUniversitas Jenderal Achmad Yani Cimahi 40533
Email: [email protected]@gmail.com
Abstract:Proportional Integral Derivative (PID) controller is a feedback controllers that most
popular in the industrialized world. Can not be denied, until recently PID control is one of themost widely adopted strategy in controlling process variables in the industry. Based on thesurvey, 97% found the fact that the industry engaged in the process (such as chemical industry,pulp, food, oil and gas) using the PID as the main component in the control. PID is popularbecause its structure is simple, and easy tuning parameters are also very easy operation.On the basis of the author tries to give depth to water level control by using PID controllers,where the plant installed an ultrasonic sensor (Ping) to detect a level. The value generated bythe sensor is processed by a microcontroller (ATMega8535) then its value is sent to a computer,the computer (Visual Basic 6.0) was performed in the calculation of PID and PID calculationresults are then sent back to the microcontroller to be used to drive a motor pump to pump waterinto the reservoir .In the study tuning parameters Kp, Ti and Td with heuristic methods. Robust condition isobtained when the value of Kp = 30, Ti = 3 and Td = 10. The results of the control parametersare designed still have overshoot, but the isolation is very small, reaching 10,4 seconds settlingtime and steady state error 0,53%.
Keywords: PID controller, water level control, Microcontroller, Ping Ultrasonic.
1. PENDAHULUAN
1.1 Latar BelakangDunia industri terus berkembang
dengan sistem-sistem yang baru dalambidang manufaktur maupun energi,khususnya sistem kontrol. Saat ini banyaksekali ditawarkan suatu metode kontrol yangefektif dan mudah untuk diimplementasikan,salah satunya kontrol dengan sistem PID(Proporsional Integral Derivative).
Kepopuleran PID sebagai komponenkontrol proses dilatarbelakangi terutamaoleh kesederhanaan struktur, sertakemudahan dalam melakukan tuningparameter kontrolnya. Pada tingkatpengoperasian, seorang operator tidakdituntut untuk menguasai pengetahuan
matematika yang relative rumit, melainkanhanya dibutuhkan pengalaman lapangansaja.
Kontrol level air merupakan salahsatu dari sekian banyak system yang adadalam dunia industri. Selain sederhana,sistem tersebut banyak sekali digunakandalam dunia industri, misalnya: industrikimia, proses produksi minyak dan gas, danlain-lain. Dengan dukungan sistem SCADA,proses industri dapat dimonitoring dandikontrol dari jarak jauh, sehingga bisamenghemat biaya, waktu dan tenaga.SCADA akan semakin memberikangambaran tentang kondisi sebenarnya yangada dalam dunia industri.
Pada penelitian ini akan dilakukanperancangan miniatur kontrol level air,dengan menerapkan sensor ultrasonic untukmengukur ketinggian air dan pembuatansoftware untuk kontrol dan monitoringmenggunakan Visual Basic 6.0.
1.2 Perumusan MasalahPermasalahan pada penelitian ini
adalah:1. Bagaimana cara menerapkan sensor
ultrasonik untuk mengukur level air.2. Bagaimana membuat interface untuk
menggerakan pompa denganmenggunakan inverter.
3. Bagaimana membuat sebuah tampilan dikomputer untuk memonitoring danmenampilkan data akuisi denganmenggunakan Visual Basic 6.0.
4. Bagaimana implementasi PID kontrolerpada kendali level air.
1.3 Batasan MasalahAdapun hal-hal yang membatasi
Penelitian ini adalah:1. Kerja sistem adalah mempertahankan
level ketingian air pada posisi atau levelyang ditentukan dan dapat diatur.
2. Sistem dibuat dalam suatu modul berupaminiatur dengan ukuran tandon32x23x22 cm.
3. Pompa air yang digunakan dengansupply tegangan 3 fasa yang diaturmenggunakan inverter.
4. Sensor yang digunakan untukmendeteksi level air adalah sensorPing Ultrasonik yang bekerjaberdasarkan prinsip pemantulan danpenerimaan gelombang ultrasonik.
5. Sensor ping ultrasonik diletakkan di atastandon
6. Metode pengendalian yang digunakanadalah PID (Proporsional IntegralDerivatif) .
7. Metode tuning kontrol PID yangdigunakan adalah metode trial and error(heuristic method).
8. Mikrokontroler yang digunakan yaitumikrokontroler AVR ATMega8535 yangdiprogram menggunakan Code VisionAVR.
9. Program yang digunakan untuk kendalimenggunakan Microsoft Visual Basic6.0 yang dipasang pada komputer yangnantinya akan dikomunikasikan denganmikrokontroler.
1.4 TujuanAdapun tujuan yang ingin dicapai
dalam penelitian ini adalah:1. Membuat miniatur kendali level air yang
menyerupai modul dalam dunia industri.2. Membuat tampilan kendali dan data
akuisi dari Ms. Visual Basic 6.0 untuksuatu plant yang dikontrol olehMikrokontroler.
3. Membuat suatu sistem kontrol yangmenggunakan sistem kontrol PID yangmemiliki respon cepat dan memiliki nilaierror yang kecil.
4. Mencari parameter kontrol PID yangpaling baik dengan metode heuristik.
2. TEORI PENUNJANG
2.1 Aksi Kontroler PIDKontrol PID merupakan alat standar bagiotomasi industri. Fleksibilitas pada kontrolermembuat kontrol PID digunakan padabanyak situasi. Kontroller juga dapatdigunakan pada selective control maupunkonfigurasi kontroller yang lain. AlgoritmaPID dapat didefinisikan sebagai berikut:
dimana,u(t) = sinyal kontrole(t) = errorKc = gain kontrollerTI = integral timeTD = derivative time
Ada beberapa representasi daritransfer function PID controller : Transfer Function PID controller dalam
domain s dapat dinyatakan sebagaiberikut :
Dengan Kp, Ki , dan Kd masing –masing adalah gain P, I, dan D. Bentukdiatas dapat pula ditulis dalam bentuk lain,sebagai berikut :
Bila dinyatakan dalam domain waktu (t),PID controller dapat ditulis :
Pengendali Proporsional (P)Kontroler proporsional memiliki 2
parameter, pita proporsional (proportionalband) dan konstanta proporsional. Daerahkerja kontroler efektif dicerminkan oleh pitaproporsional [Gunterus,1994], sedangkankonstanta proporsional menunjukkan nilaifactor penguatan terhadap sinyal kesalahan,Kp. Hubungan antara proporsional band(PB) dengan konstanta proporsional (Kp)ditunjukkan secara oleh Persamaan berikut:
Dimana : PB = Proportional BandKp = Gain Proses
Diagram blok pengendali proportionalditujukkan seperti pada gambar 2.9 :
Gambar 2.1 Diagram Blok PengendaliProporsional
Penggunaan mode kontrol proporsionalharus memperhatikan hal – hal berikut :
jika nilai Kp kecil, mode kontrolproporsional hanya mampu melakukankoreksi kesalahan yang kecil, sehinggaakan menghasilkan respon sistem yanglambat.
jika nilai Kp dinaikkan, respon sistemmenunjukkan semakin cepat mencapaikeadaan stabilnya.
Namun jika nilai Kp diperbesar sehinggamencapai harga yang berlebihan, akanmengakibatkan system bekerja tidakstabil, atau respon sistem akanberosilasi.
Kontrol P (Proportional) selalu sebandingdengan besarnya input. Bentuk transferfunction dari kontrol P adalah
U = Kc . edimana ; Kc = gain kontrolproporsional
Pengendali Integral (I)Kontroller integral memiliki karakteristikseperti halnya sebuah integral. Keluarankontroller sangat dipengaruhi olehperubahan yang sebanding dengan nilaisinyal kesalahan. Keluaran kontroller inimerupakan jumlahan yang terus menerusdari perubahan masukannya. Kalau sinyalkesalahan tidak mengalami perubahan,keluaran akan menjaga keadaan sepertisebelum terjadinya perubahan masukan.Diagram blok mode kontrol integralditunjukkan oleh gambar 2.12.
Gambar 2.2 Diagram Blok PengendaliIntegral
Kontroler integral mempunyai beberapakarakteristik berikut ini: Keluaran kontroler butuh selang waktu
tertentu, sehingga kontroler integralcenderung memperlambat respon.
Ketika sinyal kesalahan berharga nol,keluaran kontroler akan bertahan padanilai sebelumnya.
Jika sinyal kesalahan tidak berharga nol,keluaran akan menunjukkan kenaikanatau penurunan yang dipengaruhi olehbesarnya sinyal kesalahan dan nilai Ki.
Konstanta integral Ki berharga besar,offset akan cepat hilang. Saat nilai Kibesar akan berakibat peningkatan osilasidari sinyal keluaran kontroller .
Transfer function dari unit control integraladalah :
Dimana :TI = integral timee = error (input dari unit control)Kc = gain dari controller
Pegendali Diffrensial (D)Keluaran kontroller differensial memilikisifat seperti halnya suatu operasi derivatif.Perubahan yang mendadak pada masukankontroller, akan mengakibatkan perubahanyang sangat besar dan cepat. Diagram blokpengendali difrensial ditunjukkan olehgambar 2.11.
Gambar 2.3 Diagram Blok PengendaliDiferensial
Karakteristik dari kontroller differensialadalah sebagai berikut: Kontroler ini tidak dapat menghasilkan
keluaran bila tidak ada perubahan atauerror sebagai sinyal kesalahan untukmasukannya.
Jika sinyal error berubah terhadapwaktu, maka keluaran yang dihasilkankontroller tergantung pada nilai Td danlaju perubahan sinyal kesalahan.
Kontroller differensial mempunyaikarakter untuk mendahului, sehinggakontroller ini dapat menghasilkankoreksi yang signifikan sebelumpembangkit error menjadi sangat besar.Jadi controller differensial dapatmengantisipasi pembangkit error,memberikan aksi yang bersifat korektif,dan cenderung meningkatkan stabilitassistem [Ogata, 1997].
Transfer function dari unit controldifferential adalah :
dimana,KC = gaine = errorTD = derivative timeUnit pengendali differensial yang
bersifat reaktif sangat tepat bagipengendalian temperatur karena mampubereaksi secara cepat terhadap perubahaninput. Sebaliknya mode control D tidakdapat dipakai untuk process variable yangberiak (mengandung noise) sepertipengendalian level dan flow, karena riak dangelombang akan dideferensialkan menjadipulsa-pulsa yang tidak beraturan. Akibatnya,control valve terbuka dan tertutup secaratidak beraturan dan sistem menjadi kacau.Selain itu, mode control D tidak dapatmegeluarkan output bila tidak adaperubahan input. Sehingga, control D tidakpernah dipakai sendirian. Unit control Dselalu dipakai dalam kombinasinya denganP dan I, menjadi mode control PD ataumode control PID.
Keluaran kontroller PID merupakanpenjumlahan dari keluaran kontrollerproporsional, kontroller integral dankontroller differensial. Gambar diatasmenunjukkan hubungan input dan outputpada mode control PID. Karakteristikkontroller PID sangat dipengaruhi olehkontribusi besar dari ketiga parameter P, I
dan D. Penngaturan nilai konstanta Kp, Ti,dan Td akan mengakibatkan penonjolan sifatdari masing-masing elemen.
Gambar 2.4 Diagram Blok Pengendali PID.Satu atau dua dari ketiga konstanta
tersebut dapat disetting lebih menonjoldibanding yang lain sehingga konstantayang menonjol itulah akan memberikankontribusi lebih dominan pada respon sistemsecara keseluruhan [Gunterus, 1994].Pengaruh nilai Kp, Ti dan Td pada responsistem adalah : Kp yang kecil akan membuat pengendali
menjadi sensitif dan cenderungmembawa loop berosilasi, sedangkan Kpyang besar akan meninggaakan offsetyang besar juga.
Ti yang kecil bermanfaat untukmenghilangkan offset tetapi jugacenderung membawa sistem menjadilebih sensitf dan lebih mudah berosilasi,seangkan Ti yang besar belum tentuefektif menghilangkan offset dan jugacenderung membuat sistem menjadilambat.
Td yang besar akan membawa unsur Dmenjadi lebih menonjol sehingga responcenderung cepat, sedangkan Td yangkecil kurang memberi nilai ekstra padasaat – saat awal.
2.2 Kontroler PID Diskrit
Kontroler Proporsional IntegralDerivatif (PID) adalah kontroler yangmenggabungkan kontroler proporsional,integral dan derivatif. Kontroler ini
direpresentasikan dengan persamaan sebagaiberikut:
dimana Kp adalah konstanta proporsional, Timenyatakan waktu integral dan Tdmenyatakan waktu derivatif. Persamaandiatas adalah persamaan dalam domainwaktu. Untuk memudahkan penulisan dalamprogram, maka persamaan diatasdikonversikan ke dalam bentuk diskrit,dengan menggunakan finite differential ordepertama yang direpresentasikan dalampersamaan berikut:
dan
Sehingga persamaannya menjadi:
Dimana:
Apabila,
Maka persamaan kontroler PID dalambentuk diskrit adalah sebagai berikut:
Dimana:Sn = Jumlah seluruh nilai error padainterval 0 hingga nTs
S n-1 = Sn sebelumnya,en = error sekarang,en-1 = error sebelumnya,mn = output sekarang.
3. PERANCANGAN
Dalam bab ini akan dijelaskanmengenai perancangan system secarakeseluruhan. Bab ini dibagi menjadi empat
bagian besar yaitu pada bagian pertamamembahas mengenai desain sistem,kemudian dilanjutkan dengan bagian keduayang menjelaskan mengenai perangkat keras(hardware) yang digunakan. Pada bagianketiga membahas mengenai perancanganmekanik, dan yang terakhir adalahperancangan perangkat lunak (software)yang digunakan untuk mengolah informasiyang didapat dari perangkat keras.
3.1 Desain SistemSystem kendali yang baik adalah
suatu system yang dapat melakukan suatuproses koreksi sendiri serta dapatmemperbaiki error pada system itu sendiri.Pada perancangan system kendali ini,digunakan rangkaian AVR ATMega8535yang berfungsi sebagai otak dari system ini.Untuk plantnya menggunakan sebuahpompa motor AC 3 phasa yang dikontrololeh debuah inverter altivar 12, sedangkanuntuk feedback-nya menggunakan sensorultrasonic yang nantinya akan dibandingkannilainya dengan besarnya set point. Secaragaris besar cara kerja alat ini dapat dilihatpada blok diagram dibawah ini:
Gambar 3.1. Blok Diagram System Secara Keseluruhan
Pembuatan kontrol PID ini bertujuanuntuk mengontrol sebuah plant. Plant disiniadalah sebuah pengendalian level air(pompa motor AC 3 phasa). Kontrol PID iniakan dihubungkan dengan beberaparangkaian lainnya supaya dapatmengendalikan level air yaitu denganmengatur kecepatan putaran pompa tersebut.Diantaranya adalah rangkaian DAC yangberfungsi untuk mengubah nilai digitalmenjadi nilai analog, sebuah inverter yangberfungsi untuk mengatur kecepatan putaranpompa motor, sebuah pompa motor ACyang digunakan untuk memompa air agarlevel air sesuai yang diinginkan, sebuah
sensor ultrasonic yang berfungsi mendeteksiketinggian level air, selain itu terdapat pularangkaian mikrokontroler dan rangkaianRS232 yang digunakan untukmenghubungkan alat ke komputer.
3.2 Perancangan HardwarePada perancangan hardware ini akan
dibagi menjadi beberapa bagian, diantaranyameliputi: Mikrokontroler, DAC (digital toanalog converter), Inverter altivar 12,Pompa motor AC 3 phasa, SensorUltrasonic, LCD, dan RS232.
3.2.1 Mikrokontroler
Modul Mikrokontroler inimerupakan bagian yang terpenting karenarangkaian ini adalah pengendali dariinput/output rangkaian lain, selain itu modulini terdiri dari rangkaian Clock dan Reset.
Pada pembuatan alat ini, digunakanmikrokontroler ATMega8535 yang memiliki8 kB flash memory yang membutuhkantegangan supply (Vcc) sebesar +5V danakan bekerja pada frekuensi oscillator yangdipakai. Mikrokontroler ini mempunyaioscillator internal yang dapat digunakansebagai penghasil clock yang menggerakanCPU. Oscillator yang digunakan yaituberupa oscillator Crystal, oscillator Crystalini dihubungkan pararel denganMikrokontroler ATmega8535.
Gambar 3.2 Sistem MinimumMikrokontroler
Pada sistem ini akan dipakaiOscillator Crystal dengan frekuensi 11,0592MHz dan dipakai dua buah kapasitor 22pfyang dihubungkan dengan XTAL 1 danXTAL 2 pada Mikrokontroler. PemilihanCrystal dengan frekuensi ini adalah denganpertimbangan agar lebih cepat dalammelakukan proses perhitungan.
Selain itu Mikrokontroler memilikisaluran reset aktif tinggi (High) sehinggasaluran reset ini harus dijaga agar tetapberada pada kondisi rendah (Low). Pin RST
digunakan untuk me-reset program (mulaikeadaan awal 0000H) dengan memberikansinyal high pada pin. Namun digunakansebuah resistor pull-down yang dihubungkandengan ground agar pin RST tidak beradapada kondisi mengambang (floating). Agarmikrokontroler direset pada saatdihubungkan dengan sumber tegangan,maka pin reset dihubungkan dengan VCCmelalui kapasitor 10nF.
Mikrokontrol ini diprogram denganmenggunakan bahasa pemrogramanCodeVision AVR. Pada mikrokontroler initerdapat pembagian port yang digunakansebagai kontrol yaitu: Port A, dihubungkan ke rangkaian DAC
0800. Port B, PB.0 dihubungkan ke sensor
ultrasonic. Port C, dihubungkan dengan LCD. Port D, PD.0 dan PD.1 digunakan untuk
komunikasi serial RS232 yangdihubungkan dengan komputer. PD.2dihubungkan dengan relay yangdigunakan untuk men-trigger inverter.
Berikut ini adalah gambar koneksiport ATMega 8535 dengan rangkaianlainnya:
Gambar 3.3 Koneksi Port ATMega 8535
3.2.2 DAC
Pada pembuatan rangkaian DAC inidigunakan sebuah IC DAC 0800 yangbekerja pada system 8 bit yang memiliki 16pin dan sebuah IC UA741CN 8 pin yangberfungsi untuk mengubah arus menjaditegangan. Besarnya tegangan yang akandihasilkan oleh DAC (tegangan yangdiinginkan sebesar 10V) dapat dihitungdengan perumusan sebagai berikut:
Vref / Rref = I(3.1)
Vref = 10VI = 2mA (datasheets)
Rref = Vref / IRref = 10V / 2mAjadi, Rref = 5 KΩ, RL = Rref
Berikut ini adalah gambar rangkaiandari DAC 0800:
Gambar 3.4 Rangkaian DAC 0800
Rangkaian DAC 0800 ini akandihubungkan dengan inverter altivar 12untuk mengontrol kecepatan pompa motorAC 3 phasa.
3.2.3 Sensor Ping UltrasonicSistem sensor ultrasonik digunakan
sebagai masukan dari proses pengontrolanrobot terbagi atas dua bagian, yaitu untukperangkat keras dan lunak (kontroller).1. Sensor Ultrasonic (Hardware)
Sensor ultrasonik menggunakanmodul jadi dari PARALLAX. Dengan 1buah pin kontrol yaitu sebuah pin I/O.
Gambar 3.7 PING))) Ultrasonic RangeFinder
Pada perancangan alat ini menggunakansensor ultrasonik yang dipasang pada bagianatas tandon yang digunakan untukmengamati perubahan level.
Sensor ultrasonik ini mengirim datake mikrokontroller secara terus-menerussehingga sensor ultrasonik akan aktif dalampengiriman data. Output dari modul iniberupa data pwm sehingga data jarak samadengan duty cycle dari sinyal output.Semakin jauh objek maka semakin besarduty cycle. Untuk mengaktifkan sensormaka modul diberi triger pulsa maka sensorakan mengeluarkan sinyal pwm dan dutycycle tersebut sebagai jarak objek dengansensor.2. Sensor Ultrasonic (Software)
Mikrokontroller memberikan sinyalpulsa high pada pin triger pulse input darisensor untuk mengaktifkan sensorultrasonik. Untuk menghitung lebar pulsemengunakan timer0. Timer0 aktif ketikaregister TCCR0B diisi dengan nilai 4H yangberarti bahwa timer berjalan denganfrekuensi 43,2 KHz. Pin echo pulse outputterhubung dengan pin-pin padamikrokontroler. Ketika pin echo pulseoutput high maka timer0 aktif dan ketika pinecho kembali bernilai low maka timer0dimatikan dan data TCNT0 diambil sebagaidata jarak. Sementara jika timer menghitungsampai terjadi overflow dan masuk ke dalaminterrupt overflow, maka jarak dianggapmaksimal, yaitu 255.
START
Inisialisasi timerTimer/counter=0
Set_kirim=1
Set_kirim=0
Echo=1
Delay 5uS
1
Ya
Tidak
1
Stop TimerTimer Counter=255
Stop Timer
Data_us=timer/counter
Start Timer
TimerOverflow?
Echo=0
Kirimdata_us
STOP
Ya
Tidak
Ya
Tidak
Gambar 3.8 Flowchart Kontrol SensorUltrasonik
Gambar 3.9 List Program SensorUltrasonik
Pin trigger dan echo dari modulultrasonik dihubungkan dengan PORTB.0pada mikrokontroler ATMega 8535. Pintrigger diberi sinyal ”high” minimal selama5us. Selanjutnya ditunggu sampai pin echomenjadi ”high”, yang menunjukkan bahwamodul sensor telah memancarkangelombang ultrasonik. Saat pin echoberubah menjadi ”high”, timer0 yangdigunakan untuk menghitung lebar pulsadijalankan. Selanjutnya ditunggu sampai pinecho kembali menjadi ”low” atau timer0
overflow. Data jarak dapat diambil padaregister TCNT0 yang merupakan registercounter untuk timer0. Bila timer0menghitung sampai terjadi overflow tetapipin echo tetap high, maka akan dianggapsebagai jarak maksimal, dan program akanmasuk ke dalam subrutin interrupt timer0overflow. Di dalam subrutin tersebut, timerakan dihentikan dan data dianggapmaksimal, yaitu 255. Selanjutnya datasensor dikirimkan melalui komunikasiserial.Perhitungan Pengukuran:a. Jarak = (Lebar Pulsa / 29.034uS)/2
(dalam cm),b. Dimana : 1/29.034 = 0.34442, sehingga :c. Jarak = (Lebar Pulsa x 0.034442)/2
(dalam cm)
Gambar 3.10 Lebar Pulsa Ultrasonik(datasheet)
3.2.4 Serial RS232Pada perancangan alat ini digunakan
fasilitas RS-232, dengan tujuan supaya alatini dapat berkomunikasi dengan komputer.Sedangkan perangkat yang digunakan untukdapat berkomunikasi dengan komputeradalah IC MAX 232. IC ini berfungsimengirimkan data yang sudah diproses olehmikrokontroler ke dalam komputer.
Berikut ini adalah rangkaian besertanilai-nilai kapasitor diambil dari datasheetMAXIM RS-232.
Gambar 3.14 Rangkaian RS-232Penggunaan serial port ini memilikibeberapa alasan, yaitu sebagaiberikut:
Dibutuhkan jumlah kabel yang lebihsedikit, hanya menggunakan 3 kabel,yaitu saluran Transmit Data, saluranReceive Data dan saluran Ground.
Kebanyakan mikrokontroler sudahdilengkapi dengan SCI (SerialComunication Interface) yang dapatdigunakan untuk komunikasi denganport serial komputer.
3.3 Perancangna MekanikPlant yang digunakan adalah
miniature kendali level air. Berikut inigambar mekaniknya:
Gambar 3.15 Bentuk Mekanik MiniaturKendali Level Air
Dimensi dari desain mekaniktersebut adalah 50x40x100 cm untukkerangkanya dan 32x23x22 cm untuktandonnya serta 50x36x30 cm untuk dimensibak penampung sumbernya.
3.4 Perancangan SoftwarePerancangan software merupakan
bagian yang menentukan bekerja atautidaknya sebuah alat, karena software iniberfungsi mengatur kerja suatu alat agardapat bekerja sesuai dengan keinginanpengguna. Dalam perancangan alat inipembuatan software dibagi dua, pertamapembuatan software yang ditulis padaVisual Basic 6.0 yang berfungsi untukmemonitoring dan mengeksekusi programkontrol PID, kedua pembuatan softwareyang ditulis pada Code Vision AVR yangkemudian akan diisikan ke dalammikrokontroler, mikrokontroler sendiriberfungsi mengatur kerja suatu system,termasuk Sensor Ultrasonic, LCD, DAC,dan RS232.
3.4.1 Program Visual Basic 6.0Program Visual Basic digunakan
untuk menerima pulsa yang dikirimkan olehmikrokontroler, kemudian pulsa tersebutdihitung untuk mendapatkan sebuah level airdari pulsa yang dikirimkan tersebut.
Setelah didapatkan data berupa levelair, data tersebut kemudian diproses denganmenggunakan perhitungan PID controllerdengan men-set nilai Kp, Ki, dan Kd,kemudian hasil dari perhitungan tersebutdikirimkan kembali ke mikrokontroler untukmengendalikan kecepatan pompa motor.
Flowchart dari program Visual Basicdapat dilihat pada gambar 3.16.
Gambar 3.16 Flowchart Program VisualBasic
Pengendalian level air dalam systemini menggunakan kontrol PID denganpemrograman Visual Basic. Aturanpenyepadanan alat control (controllertuning) menggunakan nilai penguatan/gainproporsional (Kp), waktu integral (Ti) danwaktu derivative (Td).
Untuk mendapatkan respon yangbaik yang dihasilkan oleh PID controllerharus diketahui nilai-nilai dari konstanta-konstanta, yaitu: Kp, Ki, Kd. Dimanadiketahui bahwa Ki = 1/Ti dan Kd = Td.Nilai Kp, Ki, Kd didapatkan dengan cara-cara mencoba-coba dengan berbagai nilai,kemudian dipilih yang terbaik.
Rumus PID controller pada systemini menggunakan program Visual Basicadalah sebagai berikut:
Private Sub pidloop()pv = MSComm1.inputdfilter = 10 'Nilai filter untuk
menurunkan efek derivatifinputd = pv + (inputlast - pv) * (rate /
60)inputlast = pvinputdf = inputdf + (inputd - inputdf)
* dfilter / 60output = (sp - inputdf) * (gain / 100)
+ feedback ‘Perhitungan PIDIf output > 100 Then ' batas output
antara 0 dan 100%output = 100
End IfIf output < 0 Thenoutput = 0
End Iffeedback = feedback - (feedback -
output) * reset / 60MSComm1.output = "" +
Chr$(output)End Sub
3.4.2 Program CodeVision AVR 2.05.3Berikut ini adalah flowchart dari
pengolahan data dari sensor yang kemudiandikirimkan ke komputer:
Gambar 3.17 Flowchart Program UntukKirim Data ke Komputer
Untuk listing program CodeVisionAVR dari flowchart tersebut adalah:while (1)
waktu=(count*0.090422453703703703703703703703704); //dari ultrasoniclevel=((40-
((waktu*0.3498)*1.7/2.5))*100);
sprintf(baris,"level=%3.2f cm ",level);//nilai ditampilkan ke LCD
lcd_gotoxy(0,1);lcd_puts(baris);delay_ms(500);lcd_clear();
printf("%4d",level); //nilai dikirim kekomputer
Berikut ini adalah flowchart daripengolahan data dari komputer kemudiandiproses dan dihitung oleh mikrokontrolerdan selanjutnya hasil dari perhitungantersebut dikeluarkan ke PortA yangdihubungkan dengan rangkaian DAC untukmenggerakkan pompa motor.
START
Simpan Nilai keEEPROM
Hitung Nilai dariEEPROM
Keluarkan kePortA (DAC)
Ada Nilai?
STOP
Inisialisasi PortSerial (UCSRA.7)
Baca DataSerial
Ya
Tidak
Tampilkan Nilaike LCD
Gambar 3.18 Flowchart Program UntukTerima Data dari Komputer
Untuk listing program CodeVisionAVR dari flowchart tersebut adalah:while (1)
while (UCSRA.7) //apakah ada data baru
yang belum dibaca dari komputer?data=UDR; //perubahan input dari
komputer disimpan didata EEPROMsprintf(tulis,"%3d",data); //nilai
ditampilkan ke LCDlcd_gotoxy(0,0);lcd_puts(tulis);
DAC=(data*255/100); //nilaidikeluarkan ke PortA DAC
PORTA=DAC;
4. ANALISA
4.1 Pengujian dan Analisa PerformansiTuning Parameter Kontrol PID
Simulasi dilakukan denganmemberikan masukan set point secara step.Hal ini bertujuan untuk mengetahui responsistem terhadap perubahan masukan setpoint. Tahap-tahap yang dilakukandisesuaikan dengan metode tuning trial anderror (Heuristic Methode), dimana tuningparameter pengendali dimulai dengan hanyamenggunakan pengendali P, kemudian baruditambahkan pengendali I dan terakhirditambahkan dengan pengendali D.Pemberian nilai parameter disesuaikandengan karakteristik respon sistem yangdiperoleh. Uji performansi yang pertamakali dilakukan adalah dengan memasukkaninput berupa besaran step yang dalam hal iniberupa nilai level.
Pengujian dan analisa dilakukanterhadap sistem yang menggunakanpengendalian PID yang diterapkan padaclose loop pengendalian level air. Untuk itukita mencoba memasukkan nilai Kp, Ti danTd sesuai dengan keinginan sampai
didapatkan hasil respon PID yang terbaikuntuk sistem pengendalian level air. Kitalihat hasil responnya dengan memasukkanparameter P kemudian ditambah I danterakhir ditambahkan D.
Pengujian untuk Kp = 30, Ti = 3, Td = 10
Gambar 4.14 Respon tuning parameterkontrol PID sistem pengendalian level air
dengan Kp = 30, Ti = 3, Td = 10
Dapat dilihat dari hasil responparameter kontrol PID diatas denganpemberian set point 15 cm pada 10,4 detiksudah steady. Dari semua uji dengan metodeHeuristik yang telah diberikan, nilai Kp =30, Ti = 3 dan Td = 10 memberikan hasilrespon yang terbaik daripada pemberiannilai Kp, Ti dan Td yang lain. Dengan nilai-nilai yang telah diberikan dapatmenghasilkan respon yang baik untukparameter kontrol level air. Tetapi masihmengalami overshoot.
Tabel 4.6 Respon Parameter Kontrol Pid Dengan Metode Heuristik Untuk Pengendalian LevelAir.
Set PointUji Metode Heuristik Error
(%)
SettlingTime
(detik)
SteadyState
BerisolasiKp Ti Td
15
cm
40 0 0 5,47% 8 Ya Tidak
40 8 0 1,67% - Tidak Ya40 6 20 0,2% 22,4 Ya Ya40 5 15 0,53% 15,9 Ya Ya40 4 13 0% 14,3 Ya Ya40 3 10 0,13% 11,8 Ya Kecil30 3 10 0,53% 10,4 Ya Sangat Kecil30 4 13 1% 13,8 Ya Kecil30 5 15 0,8% 17,9 Ya Ya30 6 20 0,8% 22,5 Ya Ya30 8 0 1,87% - Tidak Ya30 0 0 7,47% 7 Ya Tidak
Dari tabel respon uji dengan metodeHeuristik, dapat diperoleh beberapakarakteristik performansinya. Denganmetode tuning trial and error (Heuristicmethode) saat diberikan nilai Kp = 40; Ti =0 ; Td = 0 didapatkan settling time 8 detikdengan error steady state 5,47% danmemiliki overshoot. Kita melakukan uji
dengan metode Heuristik yang lain dengannilai Kp, Ti dan Td yang berbeda-beda. Padauji yang kedua dengan Kp = 40; Ti = 8 danTd = 0, juga mengalami overshoot lebihbesar dari uji sebelumnya, dapat dilihat padatabel 4.6. Pada saat Kp = 40; Ti = 5; Td = 15respon pengendalian sudah mulai lambat,karena memerlukan waktu yang lama untukmencapai steady yaitu 15,9 detik dan
overshoot yang bernilai kecil. Berikutnyanilai Kp = 40, Ti = 4 dan Td = 13 diperoleherror steady state 0 dan settling timememerlukan waktu yang lama 14,3 detik.Settling time pada detik ke-11,8 dengan Kp= 40; Ti = 3; Td = 10, terjadi overshoot danerror steady state 0,13%. Untuk Kp = 30; Ti= 6; Td = 20 pengendalian yang dirancangmasih mengalami overshoot dengan settlingtime pada detik ke-22,5.
Dari semua uji dengan metodeHeuristik Kp = 40; Ti = 3 dan Td = 10merupakan respon yang paling baik karenaovershoot kecil dan settling time masih besar11,8 detik tetapi error steady state 0,13%.Pada analisa ini dilakukan pengujiansebanyak 12 kali dengan merubah-ubah nilaiKp, Ti dan Td sehingga mendapatkan hasilyang terbaik. Dari hasil respon parameterkontrol PID untuk pengendalian level air,pengendalian yang baik adalah Kp = 30; Ti= 3; Td = 10. Dikatakan baik karenaovershoot kecil dengan settling time yangcukup cepat 10,4 detik. Karena jikadigunakan pengendalian P saja atau PI saja,sistem pengendalian ini belum baik. Karenamemiliki error yang tinggi dan berisolasi.tetapi untuk steady state-nya tidakmemerlukan waktu yang lama.
Uji tracking set pointSetelah melakukan uji dengan
metode Heuristik, kemudian dilakukan ujitracking set point menggunakan Kp = 30; Ti= 3 dan Td = 10 dengan level air yangbervariasi.
Gambar 4.20 Respon tuning parameterkontrol PID sistem pengendalian level air
dengan tracking set point.
Dari gambar 4.20 di atas didapatkanrespon parameter kontrol PID metodeHeuristik untuk mengendalikan level air.
Dari hasil respon di atas dapat dilihatbahwa parameter kontrol PID yang telahdirancang dapat menghasilkan respon yangbaik. Nilai Kp, Ti dan Td yang dipakaiuntuk uji tracking set point adalah Kp = 30,Ti = 3 dan Td = 10 karena dari hasil ujidengan metode Heuristik respon inimenghasilkan isolasi yang sangat kecil.Maka untuk uji tracking set pointmenggunakan nilai Kp, Ti dan Td yangsama. Dengan set point yang bervariasi,dimulai dari level air sebesar 15 cm.Parameter kontrol PID yang telah dirancangsudah baik tapi masih ada isolasi meskipunsangat kecil.
5. KESIMPULAN
Berdasarkan percobaan dan analisayang telah dilakukan, diperoleh kesimpulansebagai berikut:1. Penalaan parameter kendalil PID untuk
mengendalikan level air mampumemberikan respon pengendalian yangbaik dengan Kp = 30, Ti = 3 dan Td =10. Memiliki overshoot kecil dan errorsteady state = 3.
2. Dari hasil uji tracking set point denganKp = 30, Ti = 3 dan Ti = 10 parameterkendali PID yang telah dirancang bisamengikuti tracking set point denganbaik, meskipun masih memilikiovershoot.
3. Dengan menerapkan kontroler PID padasistem kontrol level air dapatmempercepat respon sistem terhadapperubahan sinyal input (set point) danmemperkecil sinyal kesalahan (error).
4. Dari percobaan dan analisa diketahuibahwa respon kontroler yang sesuaidengan yang diinginkan adalah denganmenggunakan elemen PID.
5. Untuk mengoperasikan PID controllersangatlah mudah, hanya melakukan
tuning parameternya dengan caramencoba-coba (trial and error) untukmenghasilkan sistem kontrol yangdiinginkan.
DAFTAR PUSTAKA
1. Retna Prasetya dan Catur Edi Widodo.Interfacing port parallel dan port serialkomputer dengan visual basic 6.0.Penerbit ANDI, Yogyakarta. 2004
2. Heri Andrianto. Pemrogramanmikrokontroler AVR ATMega16menggunakan bahasa C (CodeVisionAVR). Penerbit Informatika, Bandung.2008
3. M. Ary Heryanto, ST. dan Ir. WisnuAdi P. Pemrograman bahasa C untukMikrokontroler ATMega8535. PenerbitANDI, Yogyakarta. 2008
4. Syahban Rangkuti. MikrokontrolerATMEL AVR. Simulasi dan Praktekmenggunakan ISIS Proteus danCodeVision AVR. Penerbit Informatika,Bandung. 2011
5. Ranti Permatasari. Penalaan ParameterKontrol PID Dengan Metode Heuristic.Teknik Fisika ITS, Surabaya.
6. Thiang, Yohanes TDS, Andre Mulya.Pengaturan Level Ketinggian AirMenggunakan Kontrol PID. FakultasTeknologi Industri, Jurusan TeknikElektro, Universitas Kristen Petra.