1. KENDALI LEVEL AIR DENGAN MENGGUNAKAN PARAMETER PID
CONTROLLER
Dede Iskandar1
, Yuda Bakti Zainal2
Teknik Elektro, Fakultas Teknik
Universitas Jenderal Achmad Yani Cimahi 40533
Email: iskandardotm@gmail.com
yudazainal@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 the
most widely adopted strategy in controlling process variables in the industry. Based on the
survey, 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 popular
because 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 by
the 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 calculation
results are then sent back to the microcontroller to be used to drive a motor pump to pump water
into the reservoir .
In the study tuning parameters Kp, Ti and Td with heuristic methods. Robust condition is
obtained when the value of Kp = 30, Ti = 3 and Td = 10. The results of the control parameters
are designed still have overshoot, but the isolation is very small, reaching 10,4 seconds settling
time and steady state error 0,53%.
Keywords: PID controller, water level control, Microcontroller, Ping Ultrasonic.
1. PENDAHULUAN
1.1 Latar Belakang
Dunia industri terus berkembang
dengan sistem-sistem yang baru dalam
bidang manufaktur maupun energi,
khususnya sistem kontrol. Saat ini banyak
sekali ditawarkan suatu metode kontrol yang
efektif dan mudah untuk diimplementasikan,
salah satunya kontrol dengan sistem PID
(Proporsional Integral Derivative).
Kepopuleran PID sebagai komponen
kontrol proses dilatarbelakangi terutama
oleh kesederhanaan struktur, serta
kemudahan dalam melakukan tuning
parameter kontrolnya. Pada tingkat
pengoperasian, seorang operator tidak
dituntut untuk menguasai pengetahuan
matematika yang relative rumit, melainkan
hanya dibutuhkan pengalaman lapangan
saja.
Kontrol level air merupakan salah
satu dari sekian banyak system yang ada
dalam dunia industri. Selain sederhana,
sistem tersebut banyak sekali digunakan
dalam dunia industri, misalnya: industri
kimia, proses produksi minyak dan gas, dan
lain-lain. Dengan dukungan sistem SCADA,
proses industri dapat dimonitoring dan
dikontrol dari jarak jauh, sehingga bisa
menghemat biaya, waktu dan tenaga.
SCADA akan semakin memberikan
gambaran tentang kondisi sebenarnya yang
ada dalam dunia industri.
2. Pada penelitian ini akan dilakukan
perancangan miniatur kontrol level air,
dengan menerapkan sensor ultrasonic untuk
mengukur ketinggian air dan pembuatan
software untuk kontrol dan monitoring
menggunakan Visual Basic 6.0.
1.2 Perumusan Masalah
Permasalahan pada penelitian ini
adalah:
1. Bagaimana cara menerapkan sensor
ultrasonik untuk mengukur level air.
2. Bagaimana membuat interface untuk
menggerakan pompa dengan
menggunakan inverter.
3. Bagaimana membuat sebuah tampilan di
komputer untuk memonitoring dan
menampilkan data akuisi dengan
menggunakan Visual Basic 6.0.
4. Bagaimana implementasi PID kontroler
pada kendali level air.
1.3 Batasan Masalah
Adapun hal-hal yang membatasi
Penelitian ini adalah:
1. Kerja sistem adalah mempertahankan
level ketingian air pada posisi atau level
yang ditentukan dan dapat diatur.
2. Sistem dibuat dalam suatu modul berupa
miniatur dengan ukuran tandon
32x23x22 cm.
3. Pompa air yang digunakan dengan
supply tegangan 3 fasa yang diatur
menggunakan inverter.
4. Sensor yang digunakan untuk
mendeteksi level air adalah sensor
Ping Ultrasonik yang bekerja
berdasarkan prinsip pemantulan dan
penerimaan gelombang ultrasonik.
5. Sensor ping ultrasonik diletakkan di atas
tandon
6. Metode pengendalian yang digunakan
adalah PID (Proporsional Integral
Derivatif) .
7. Metode tuning kontrol PID yang
digunakan adalah metode trial and error
(heuristic method).
8. Mikrokontroler yang digunakan yaitu
mikrokontroler AVR ATMega8535 yang
diprogram menggunakan Code Vision
AVR.
9. Program yang digunakan untuk kendali
menggunakan Microsoft Visual Basic
6.0 yang dipasang pada komputer yang
nantinya akan dikomunikasikan dengan
mikrokontroler.
1.4 Tujuan
Adapun 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 untuk
suatu plant yang dikontrol oleh
Mikrokontroler.
3. Membuat suatu sistem kontrol yang
menggunakan sistem kontrol PID yang
memiliki respon cepat dan memiliki nilai
error yang kecil.
4. Mencari parameter kontrol PID yang
paling baik dengan metode heuristik.
2. TEORI PENUNJANG
2.1 Aksi Kontroler PID
Kontrol PID merupakan alat standar bagi
otomasi industri. Fleksibilitas pada kontroler
membuat kontrol PID digunakan pada
banyak situasi. Kontroller juga dapat
digunakan pada selective control maupun
konfigurasi kontroller yang lain. Algoritma
PID dapat didefinisikan sebagai berikut:
dimana,
u(t) = sinyal kontrol
e(t) = error
Kc = gain kontroller
TI = integral time
TD = derivative time
3. Ada beberapa representasi dari
transfer function PID controller :
Transfer Function PID controller dalam
domain s dapat dinyatakan sebagai
berikut :
Dengan Kp, Ki , dan Kd masing –
masing adalah gain P, I, dan D. Bentuk
diatas 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 (proportional
band) dan konstanta proporsional. Daerah
kerja kontroler efektif dicerminkan oleh pita
proporsional [Gunterus,1994], sedangkan
konstanta proporsional menunjukkan nilai
factor penguatan terhadap sinyal kesalahan,
Kp. Hubungan antara proporsional band
(PB) dengan konstanta proporsional (Kp)
ditunjukkan secara oleh Persamaan berikut:
Dimana : PB = Proportional Band
Kp = Gain Proses
Diagram blok pengendali proportional
ditujukkan seperti pada gambar 2.9 :
Gambar 2.1 Diagram Blok Pengendali
Proporsional
Penggunaan mode kontrol proporsional
harus memperhatikan hal – hal berikut :
jika nilai Kp kecil, mode kontrol
proporsional hanya mampu melakukan
koreksi kesalahan yang kecil, sehingga
akan menghasilkan respon sistem yang
lambat.
jika nilai Kp dinaikkan, respon sistem
menunjukkan semakin cepat mencapai
keadaan stabilnya.
Namun jika nilai Kp diperbesar sehingga
mencapai harga yang berlebihan, akan
mengakibatkan system bekerja tidak
stabil, atau respon sistem akan
berosilasi.
Kontrol P (Proportional) selalu sebanding
dengan besarnya input. Bentuk transfer
function dari kontrol P adalah
U = Kc . e
dimana ; Kc = gain kontrol
proporsional
Pengendali Integral (I)
Kontroller integral memiliki karakteristik
seperti halnya sebuah integral. Keluaran
kontroller sangat dipengaruhi oleh
perubahan yang sebanding dengan nilai
sinyal kesalahan. Keluaran kontroller ini
merupakan jumlahan yang terus menerus
dari perubahan masukannya. Kalau sinyal
kesalahan tidak mengalami perubahan,
keluaran akan menjaga keadaan seperti
sebelum terjadinya perubahan masukan.
Diagram blok mode kontrol integral
ditunjukkan oleh gambar 2.12.
Gambar 2.2 Diagram Blok Pengendali
Integral
Kontroler integral mempunyai beberapa
karakteristik berikut ini:
Keluaran kontroler butuh selang waktu
tertentu, sehingga kontroler integral
cenderung memperlambat respon.
4. Ketika sinyal kesalahan berharga nol,
keluaran kontroler akan bertahan pada
nilai sebelumnya.
Jika sinyal kesalahan tidak berharga nol,
keluaran akan menunjukkan kenaikan
atau penurunan yang dipengaruhi oleh
besarnya sinyal kesalahan dan nilai Ki.
Konstanta integral Ki berharga besar,
offset akan cepat hilang. Saat nilai Ki
besar akan berakibat peningkatan osilasi
dari sinyal keluaran kontroller .
Transfer function dari unit control integral
adalah :
Dimana :
TI = integral time
e = error (input dari unit control)
Kc = gain dari controller
Pegendali Diffrensial (D)
Keluaran kontroller differensial memiliki
sifat seperti halnya suatu operasi derivatif.
Perubahan yang mendadak pada masukan
kontroller, akan mengakibatkan perubahan
yang sangat besar dan cepat. Diagram blok
pengendali difrensial ditunjukkan oleh
gambar 2.11.
Gambar 2.3 Diagram Blok Pengendali
Diferensial
Karakteristik dari kontroller differensial
adalah sebagai berikut:
Kontroler ini tidak dapat menghasilkan
keluaran bila tidak ada perubahan atau
error sebagai sinyal kesalahan untuk
masukannya.
Jika sinyal error berubah terhadap
waktu, maka keluaran yang dihasilkan
kontroller tergantung pada nilai Td dan
laju perubahan sinyal kesalahan.
Kontroller differensial mempunyai
karakter untuk mendahului, sehingga
kontroller ini dapat menghasilkan
koreksi yang signifikan sebelum
pembangkit error menjadi sangat besar.
Jadi controller differensial dapat
mengantisipasi pembangkit error,
memberikan aksi yang bersifat korektif,
dan cenderung meningkatkan stabilitas
sistem [Ogata, 1997].
Transfer function dari unit control
differential adalah :
dimana,
KC = gain
e = error
TD = derivative time
Unit pengendali differensial yang
bersifat reaktif sangat tepat bagi
pengendalian temperatur karena mampu
bereaksi secara cepat terhadap perubahan
input. Sebaliknya mode control D tidak
dapat dipakai untuk process variable yang
beriak (mengandung noise) seperti
pengendalian level dan flow, karena riak dan
gelombang akan dideferensialkan menjadi
pulsa-pulsa yang tidak beraturan. Akibatnya,
control valve terbuka dan tertutup secara
tidak beraturan dan sistem menjadi kacau.
Selain itu, mode control D tidak dapat
megeluarkan output bila tidak ada
perubahan input. Sehingga, control D tidak
pernah dipakai sendirian. Unit control D
selalu dipakai dalam kombinasinya dengan
P dan I, menjadi mode control PD atau
mode control PID.
Keluaran kontroller PID merupakan
penjumlahan dari keluaran kontroller
proporsional, kontroller integral dan
kontroller differensial. Gambar diatas
menunjukkan hubungan input dan output
pada mode control PID. Karakteristik
kontroller PID sangat dipengaruhi oleh
kontribusi besar dari ketiga parameter P, I
5. dan D. Penngaturan nilai konstanta Kp, Ti,
dan Td akan mengakibatkan penonjolan sifat
dari masing-masing elemen.
Gambar 2.4 Diagram Blok Pengendali PID.
Satu atau dua dari ketiga konstanta
tersebut dapat disetting lebih menonjol
dibanding yang lain sehingga konstanta
yang menonjol itulah akan memberikan
kontribusi lebih dominan pada respon sistem
secara keseluruhan [Gunterus, 1994].
Pengaruh nilai Kp, Ti dan Td pada respon
sistem adalah :
Kp yang kecil akan membuat pengendali
menjadi sensitif dan cenderung
membawa loop berosilasi, sedangkan Kp
yang besar akan meninggaakan offset
yang besar juga.
Ti yang kecil bermanfaat untuk
menghilangkan offset tetapi juga
cenderung membawa sistem menjadi
lebih sensitf dan lebih mudah berosilasi,
seangkan Ti yang besar belum tentu
efektif menghilangkan offset dan juga
cenderung membuat sistem menjadi
lambat.
Td yang besar akan membawa unsur D
menjadi lebih menonjol sehingga respon
cenderung cepat, sedangkan Td yang
kecil kurang memberi nilai ekstra pada
saat – saat awal.
2.2 Kontroler PID Diskrit
Kontroler Proporsional Integral
Derivatif (PID) adalah kontroler yang
menggabungkan kontroler proporsional,
integral dan derivatif. Kontroler ini
direpresentasikan dengan persamaan sebagai
berikut:
dimana Kp adalah konstanta proporsional, Ti
menyatakan waktu integral dan Td
menyatakan waktu derivatif. Persamaan
diatas adalah persamaan dalam domain
waktu. Untuk memudahkan penulisan dalam
program, maka persamaan diatas
dikonversikan ke dalam bentuk diskrit,
dengan menggunakan finite differential orde
pertama yang direpresentasikan dalam
persamaan berikut:
dan
Sehingga persamaannya menjadi:
Dimana:
Apabila,
Maka persamaan kontroler PID dalam
bentuk diskrit adalah sebagai berikut:
Dimana:
Sn = Jumlah seluruh nilai error pada
interval 0 hingga nTs
S n-1 = Sn sebelumnya,
en = error sekarang,
en-1 = error sebelumnya,
mn = output sekarang.
3. PERANCANGAN
Dalam bab ini akan dijelaskan
mengenai perancangan system secara
keseluruhan. Bab ini dibagi menjadi empat
6. bagian besar yaitu pada bagian pertama
membahas mengenai desain sistem,
kemudian dilanjutkan dengan bagian kedua
yang menjelaskan mengenai perangkat keras
(hardware) yang digunakan. Pada bagian
ketiga membahas mengenai perancangan
mekanik, dan yang terakhir adalah
perancangan perangkat lunak (software)
yang digunakan untuk mengolah informasi
yang didapat dari perangkat keras.
3.1 Desain Sistem
System kendali yang baik adalah
suatu system yang dapat melakukan suatu
proses koreksi sendiri serta dapat
memperbaiki error pada system itu sendiri.
Pada perancangan system kendali ini,
digunakan rangkaian AVR ATMega8535
yang berfungsi sebagai otak dari system ini.
Untuk plantnya menggunakan sebuah
pompa motor AC 3 phasa yang dikontrol
oleh debuah inverter altivar 12, sedangkan
untuk feedback-nya menggunakan sensor
ultrasonic yang nantinya akan dibandingkan
nilainya dengan besarnya set point. Secara
garis besar cara kerja alat ini dapat dilihat
pada blok diagram dibawah ini:
Gambar 3.1. Blok Diagram System Secara Keseluruhan
Pembuatan kontrol PID ini bertujuan
untuk mengontrol sebuah plant. Plant disini
adalah sebuah pengendalian level air
(pompa motor AC 3 phasa). Kontrol PID ini
akan dihubungkan dengan beberapa
rangkaian lainnya supaya dapat
mengendalikan level air yaitu dengan
mengatur kecepatan putaran pompa tersebut.
Diantaranya adalah rangkaian DAC yang
berfungsi untuk mengubah nilai digital
menjadi nilai analog, sebuah inverter yang
berfungsi untuk mengatur kecepatan putaran
pompa motor, sebuah pompa motor AC
yang digunakan untuk memompa air agar
level air sesuai yang diinginkan, sebuah
sensor ultrasonic yang berfungsi mendeteksi
ketinggian level air, selain itu terdapat pula
rangkaian mikrokontroler dan rangkaian
RS232 yang digunakan untuk
menghubungkan alat ke komputer.
3.2 Perancangan Hardware
Pada perancangan hardware ini akan
dibagi menjadi beberapa bagian, diantaranya
meliputi: Mikrokontroler, DAC (digital to
analog converter), Inverter altivar 12,
Pompa motor AC 3 phasa, Sensor
Ultrasonic, LCD, dan RS232.
3.2.1 Mikrokontroler
7. Modul Mikrokontroler ini
merupakan bagian yang terpenting karena
rangkaian ini adalah pengendali dari
input/output rangkaian lain, selain itu modul
ini terdiri dari rangkaian Clock dan Reset.
Pada pembuatan alat ini, digunakan
mikrokontroler ATMega8535 yang memiliki
8 kB flash memory yang membutuhkan
tegangan supply (Vcc) sebesar +5V dan
akan bekerja pada frekuensi oscillator yang
dipakai. Mikrokontroler ini mempunyai
oscillator internal yang dapat digunakan
sebagai penghasil clock yang menggerakan
CPU. Oscillator yang digunakan yaitu
berupa oscillator Crystal, oscillator Crystal
ini dihubungkan pararel dengan
Mikrokontroler ATmega8535.
Gambar 3.2 Sistem Minimum
Mikrokontroler
Pada sistem ini akan dipakai
Oscillator Crystal dengan frekuensi 11,0592
MHz dan dipakai dua buah kapasitor 22pf
yang dihubungkan dengan XTAL 1 dan
XTAL 2 pada Mikrokontroler. Pemilihan
Crystal dengan frekuensi ini adalah dengan
pertimbangan agar lebih cepat dalam
melakukan proses perhitungan.
Selain itu Mikrokontroler memiliki
saluran reset aktif tinggi (High) sehingga
saluran reset ini harus dijaga agar tetap
berada pada kondisi rendah (Low). Pin RST
digunakan untuk me-reset program (mulai
keadaan awal 0000H) dengan memberikan
sinyal high pada pin. Namun digunakan
sebuah resistor pull-down yang dihubungkan
dengan ground agar pin RST tidak berada
pada kondisi mengambang (floating). Agar
mikrokontroler direset pada saat
dihubungkan dengan sumber tegangan,
maka pin reset dihubungkan dengan VCC
melalui kapasitor 10nF.
Mikrokontrol ini diprogram dengan
menggunakan bahasa pemrograman
CodeVision AVR. Pada mikrokontroler ini
terdapat pembagian port yang digunakan
sebagai 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 yang
dihubungkan dengan komputer. PD.2
dihubungkan dengan relay yang
digunakan untuk men-trigger inverter.
Berikut ini adalah gambar koneksi
port ATMega 8535 dengan rangkaian
lainnya:
Gambar 3.3 Koneksi Port ATMega 8535
3.2.2 DAC
8. Pada pembuatan rangkaian DAC ini
digunakan sebuah IC DAC 0800 yang
bekerja pada system 8 bit yang memiliki 16
pin dan sebuah IC UA741CN 8 pin yang
berfungsi untuk mengubah arus menjadi
tegangan. Besarnya tegangan yang akan
dihasilkan oleh DAC (tegangan yang
diinginkan sebesar 10V) dapat dihitung
dengan perumusan sebagai berikut:
Vref / Rref = I
(3.1)
Vref = 10V
I = 2mA (datasheets)
Rref = Vref / I
Rref = 10V / 2mA
jadi, Rref = 5 KΩ, RL = Rref
Berikut ini adalah gambar rangkaian
dari DAC 0800:
Gambar 3.4 Rangkaian DAC 0800
Rangkaian DAC 0800 ini akan
dihubungkan dengan inverter altivar 12
untuk mengontrol kecepatan pompa motor
AC 3 phasa.
3.2.3 Sensor Ping Ultrasonic
Sistem sensor ultrasonik digunakan
sebagai masukan dari proses pengontrolan
robot terbagi atas dua bagian, yaitu untuk
perangkat keras dan lunak (kontroller).
1. Sensor Ultrasonic (Hardware)
Sensor ultrasonik menggunakan
modul jadi dari PARALLAX. Dengan 1
buah pin kontrol yaitu sebuah pin I/O.
Gambar 3.7 PING))) Ultrasonic Range
Finder
Pada perancangan alat ini menggunakan
sensor ultrasonik yang dipasang pada bagian
atas tandon yang digunakan untuk
mengamati perubahan level.
Sensor ultrasonik ini mengirim data
ke mikrokontroller secara terus-menerus
sehingga sensor ultrasonik akan aktif dalam
pengiriman data. Output dari modul ini
berupa data pwm sehingga data jarak sama
dengan duty cycle dari sinyal output.
Semakin jauh objek maka semakin besar
duty cycle. Untuk mengaktifkan sensor
maka modul diberi triger pulsa maka sensor
akan mengeluarkan sinyal pwm dan duty
cycle tersebut sebagai jarak objek dengan
sensor.
2. Sensor Ultrasonic (Software)
Mikrokontroller memberikan sinyal
pulsa high pada pin triger pulse input dari
sensor untuk mengaktifkan sensor
ultrasonik. Untuk menghitung lebar pulse
mengunakan timer0. Timer0 aktif ketika
register TCCR0B diisi dengan nilai 4H yang
berarti bahwa timer berjalan dengan
frekuensi 43,2 KHz. Pin echo pulse output
terhubung dengan pin-pin pada
mikrokontroler. Ketika pin echo pulse
output high maka timer0 aktif dan ketika pin
echo kembali bernilai low maka timer0
dimatikan dan data TCNT0 diambil sebagai
data jarak. Sementara jika timer menghitung
sampai terjadi overflow dan masuk ke dalam
interrupt overflow, maka jarak dianggap
maksimal, yaitu 255.
9. START
Inisialisasi timer
Timer/counter=0
Set_kirim=1
Set_kirim=0
Echo=1
Delay 5uS
1
Ya
Tidak
1
Stop Timer
Timer Counter=255
Stop Timer
Data_us=timer/
counter
Start Timer
Timer
Overflow?
Echo=0
Kirimdata_us
STOP
Ya
Tidak
Ya
Tidak
Gambar 3.8 Flowchart Kontrol Sensor
Ultrasonik
Gambar 3.9 List Program Sensor
Ultrasonik
Pin trigger dan echo dari modul
ultrasonik dihubungkan dengan PORTB.0
pada mikrokontroler ATMega 8535. Pin
trigger diberi sinyal ”high” minimal selama
5us. Selanjutnya ditunggu sampai pin echo
menjadi ”high”, yang menunjukkan bahwa
modul sensor telah memancarkan
gelombang ultrasonik. Saat pin echo
berubah menjadi ”high”, timer0 yang
digunakan untuk menghitung lebar pulsa
dijalankan. Selanjutnya ditunggu sampai pin
echo kembali menjadi ”low” atau timer0
overflow. Data jarak dapat diambil pada
register TCNT0 yang merupakan register
counter untuk timer0. Bila timer0
menghitung sampai terjadi overflow tetapi
pin echo tetap high, maka akan dianggap
sebagai jarak maksimal, dan program akan
masuk ke dalam subrutin interrupt timer0
overflow. Di dalam subrutin tersebut, timer
akan dihentikan dan data dianggap
maksimal, yaitu 255. Selanjutnya data
sensor dikirimkan melalui komunikasi
serial.
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 RS232
Pada perancangan alat ini digunakan
fasilitas RS-232, dengan tujuan supaya alat
ini dapat berkomunikasi dengan komputer.
Sedangkan perangkat yang digunakan untuk
dapat berkomunikasi dengan komputer
adalah IC MAX 232. IC ini berfungsi
mengirimkan data yang sudah diproses oleh
mikrokontroler ke dalam komputer.
10. Berikut ini adalah rangkaian beserta
nilai-nilai kapasitor diambil dari datasheet
MAXIM RS-232.
Gambar 3.14 Rangkaian RS-232
Penggunaan serial port ini memiliki
beberapa alasan, yaitu sebagai
berikut:
Dibutuhkan jumlah kabel yang lebih
sedikit, hanya menggunakan 3 kabel,
yaitu saluran Transmit Data, saluran
Receive Data dan saluran Ground.
Kebanyakan mikrokontroler sudah
dilengkapi dengan SCI (Serial
Comunication Interface) yang dapat
digunakan untuk komunikasi dengan
port serial komputer.
3.3 Perancangna Mekanik
Plant yang digunakan adalah
miniature kendali level air. Berikut ini
gambar mekaniknya:
Gambar 3.15 Bentuk Mekanik Miniatur
Kendali Level Air
Dimensi dari desain mekanik
tersebut adalah 50x40x100 cm untuk
kerangkanya dan 32x23x22 cm untuk
tandonnya serta 50x36x30 cm untuk dimensi
bak penampung sumbernya.
3.4 Perancangan Software
Perancangan software merupakan
bagian yang menentukan bekerja atau
tidaknya sebuah alat, karena software ini
berfungsi mengatur kerja suatu alat agar
dapat bekerja sesuai dengan keinginan
pengguna. Dalam perancangan alat ini
pembuatan software dibagi dua, pertama
pembuatan software yang ditulis pada
Visual Basic 6.0 yang berfungsi untuk
memonitoring dan mengeksekusi program
kontrol PID, kedua pembuatan software
yang ditulis pada Code Vision AVR yang
kemudian akan diisikan ke dalam
mikrokontroler, mikrokontroler sendiri
berfungsi mengatur kerja suatu system,
termasuk Sensor Ultrasonic, LCD, DAC,
dan RS232.
3.4.1 Program Visual Basic 6.0
Program Visual Basic digunakan
untuk menerima pulsa yang dikirimkan oleh
mikrokontroler, kemudian pulsa tersebut
dihitung untuk mendapatkan sebuah level air
dari pulsa yang dikirimkan tersebut.
Setelah didapatkan data berupa level
air, data tersebut kemudian diproses dengan
menggunakan perhitungan PID controller
dengan men-set nilai Kp, Ki, dan Kd,
kemudian hasil dari perhitungan tersebut
dikirimkan kembali ke mikrokontroler untuk
mengendalikan kecepatan pompa motor.
Flowchart dari program Visual Basic
dapat dilihat pada gambar 3.16.
11. Gambar 3.16 Flowchart Program Visual
Basic
Pengendalian level air dalam system
ini menggunakan kontrol PID dengan
pemrograman Visual Basic. Aturan
penyepadanan alat control (controller
tuning) menggunakan nilai penguatan/gain
proporsional (Kp), waktu integral (Ti) dan
waktu derivative (Td).
Untuk mendapatkan respon yang
baik yang dihasilkan oleh PID controller
harus diketahui nilai-nilai dari konstanta-
konstanta, yaitu: Kp, Ki, Kd. Dimana
diketahui 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 system
ini menggunakan program Visual Basic
adalah sebagai berikut:
Private Sub pidloop()
pv = MSComm1.input
dfilter = 10 'Nilai filter untuk
menurunkan efek derivatif
inputd = pv + (inputlast - pv) * (rate /
60)
inputlast = pv
inputdf = inputdf + (inputd - inputdf)
* dfilter / 60
output = (sp - inputdf) * (gain / 100)
+ feedback ‘Perhitungan PID
If output > 100 Then ' batas output
antara 0 dan 100%
output = 100
End If
If output < 0 Then
output = 0
End If
feedback = feedback - (feedback -
output) * reset / 60
MSComm1.output = "" +
Chr$(output)
End Sub
3.4.2 Program CodeVision AVR 2.05.3
Berikut ini adalah flowchart dari
pengolahan data dari sensor yang kemudian
dikirimkan ke komputer:
Gambar 3.17 Flowchart Program Untuk
Kirim Data ke Komputer
12. Untuk listing program CodeVision
AVR dari flowchart tersebut adalah:
while (1)
{
waktu=(count*0.090422453703703703
703703703703704); //dari ultrasonic
level=((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 ke
komputer
}
Berikut ini adalah flowchart dari
pengolahan data dari komputer kemudian
diproses dan dihitung oleh mikrokontroler
dan selanjutnya hasil dari perhitungan
tersebut dikeluarkan ke PortA yang
dihubungkan dengan rangkaian DAC untuk
menggerakkan pompa motor.
START
Simpan Nilai ke
EEPROM
Hitung Nilai dari
EEPROM
Keluarkan ke
PortA (DAC)
Ada Nilai?
STOP
Inisialisasi Port
Serial (UCSRA.7)
Baca Data
Serial
Ya
Tidak
Tampilkan Nilai
ke LCD
Gambar 3.18 Flowchart Program Untuk
Terima Data dari Komputer
Untuk listing program CodeVision
AVR 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 EEPROM
}
sprintf(tulis,"%3d",data); //nilai
ditampilkan ke LCD
lcd_gotoxy(0,0);
lcd_puts(tulis);
DAC=(data*255/100); //nilai
dikeluarkan ke PortA DAC
PORTA=DAC;
}
4. ANALISA
4.1 Pengujian dan Analisa Performansi
Tuning Parameter Kontrol PID
Simulasi dilakukan dengan
memberikan masukan set point secara step.
Hal ini bertujuan untuk mengetahui respon
sistem terhadap perubahan masukan set
point. Tahap-tahap yang dilakukan
disesuaikan dengan metode tuning trial and
error (Heuristic Methode), dimana tuning
parameter pengendali dimulai dengan hanya
menggunakan pengendali P, kemudian baru
ditambahkan pengendali I dan terakhir
ditambahkan dengan pengendali D.
Pemberian nilai parameter disesuaikan
dengan karakteristik respon sistem yang
diperoleh. Uji performansi yang pertama
kali dilakukan adalah dengan memasukkan
input berupa besaran step yang dalam hal ini
berupa nilai level.
Pengujian dan analisa dilakukan
terhadap sistem yang menggunakan
pengendalian PID yang diterapkan pada
close loop pengendalian level air. Untuk itu
kita mencoba memasukkan nilai Kp, Ti dan
Td sesuai dengan keinginan sampai
13. didapatkan hasil respon PID yang terbaik
untuk sistem pengendalian level air. Kita
lihat hasil responnya dengan memasukkan
parameter P kemudian ditambah I dan
terakhir ditambahkan D.
Pengujian untuk Kp = 30, Ti = 3, Td = 10
Gambar 4.14 Respon tuning parameter
kontrol PID sistem pengendalian level air
dengan Kp = 30, Ti = 3, Td = 10
Dapat dilihat dari hasil respon
parameter kontrol PID diatas dengan
pemberian set point 15 cm pada 10,4 detik
sudah steady. Dari semua uji dengan metode
Heuristik yang telah diberikan, nilai Kp =
30, Ti = 3 dan Td = 10 memberikan hasil
respon yang terbaik daripada pemberian
nilai Kp, Ti dan Td yang lain. Dengan nilai-
nilai yang telah diberikan dapat
menghasilkan respon yang baik untuk
parameter kontrol level air. Tetapi masih
mengalami overshoot.
Tabel 4.6 Respon Parameter Kontrol Pid Dengan Metode Heuristik Untuk Pengendalian Level
Air.
Set Point
Uji Metode Heuristik Error
(%)
Settling
Time
(detik)
Steady
State
Berisolasi
Kp Ti Td
15cm
40 0 0 5,47% 8 Ya Tidak
40 8 0 1,67% - Tidak Ya
40 6 20 0,2% 22,4 Ya Ya
40 5 15 0,53% 15,9 Ya Ya
40 4 13 0% 14,3 Ya Ya
40 3 10 0,13% 11,8 Ya Kecil
30 3 10 0,53% 10,4 Ya Sangat Kecil
30 4 13 1% 13,8 Ya Kecil
30 5 15 0,8% 17,9 Ya Ya
30 6 20 0,8% 22,5 Ya Ya
30 8 0 1,87% - Tidak Ya
30 0 0 7,47% 7 Ya Tidak
Dari tabel respon uji dengan metode
Heuristik, dapat diperoleh beberapa
karakteristik performansinya. Dengan
metode tuning trial and error (Heuristic
methode) saat diberikan nilai Kp = 40; Ti =
0 ; Td = 0 didapatkan settling time 8 detik
dengan error steady state 5,47% dan
memiliki overshoot. Kita melakukan uji
dengan metode Heuristik yang lain dengan
nilai Kp, Ti dan Td yang berbeda-beda. Pada
uji yang kedua dengan Kp = 40; Ti = 8 dan
Td = 0, juga mengalami overshoot lebih
besar dari uji sebelumnya, dapat dilihat pada
tabel 4.6. Pada saat Kp = 40; Ti = 5; Td = 15
respon pengendalian sudah mulai lambat,
karena memerlukan waktu yang lama untuk
mencapai steady yaitu 15,9 detik dan
14. overshoot yang bernilai kecil. Berikutnya
nilai Kp = 40, Ti = 4 dan Td = 13 diperoleh
error steady state 0 dan settling time
memerlukan waktu yang lama 14,3 detik.
Settling time pada detik ke-11,8 dengan Kp
= 40; Ti = 3; Td = 10, terjadi overshoot dan
error steady state 0,13%. Untuk Kp = 30; Ti
= 6; Td = 20 pengendalian yang dirancang
masih mengalami overshoot dengan settling
time pada detik ke-22,5.
Dari semua uji dengan metode
Heuristik Kp = 40; Ti = 3 dan Td = 10
merupakan respon yang paling baik karena
overshoot kecil dan settling time masih besar
11,8 detik tetapi error steady state 0,13%.
Pada analisa ini dilakukan pengujian
sebanyak 12 kali dengan merubah-ubah nilai
Kp, Ti dan Td sehingga mendapatkan hasil
yang terbaik. Dari hasil respon parameter
kontrol PID untuk pengendalian level air,
pengendalian yang baik adalah Kp = 30; Ti
= 3; Td = 10. Dikatakan baik karena
overshoot kecil dengan settling time yang
cukup cepat 10,4 detik. Karena jika
digunakan pengendalian P saja atau PI saja,
sistem pengendalian ini belum baik. Karena
memiliki error yang tinggi dan berisolasi.
tetapi untuk steady state-nya tidak
memerlukan waktu yang lama.
Uji tracking set point
Setelah melakukan uji dengan
metode Heuristik, kemudian dilakukan uji
tracking set point menggunakan Kp = 30; Ti
= 3 dan Td = 10 dengan level air yang
bervariasi.
Gambar 4.20 Respon tuning parameter
kontrol PID sistem pengendalian level air
dengan tracking set point.
Dari gambar 4.20 di atas didapatkan
respon parameter kontrol PID metode
Heuristik untuk mengendalikan level air.
Dari hasil respon di atas dapat dilihat
bahwa parameter kontrol PID yang telah
dirancang dapat menghasilkan respon yang
baik. Nilai Kp, Ti dan Td yang dipakai
untuk uji tracking set point adalah Kp = 30,
Ti = 3 dan Td = 10 karena dari hasil uji
dengan metode Heuristik respon ini
menghasilkan isolasi yang sangat kecil.
Maka untuk uji tracking set point
menggunakan nilai Kp, Ti dan Td yang
sama. Dengan set point yang bervariasi,
dimulai dari level air sebesar 15 cm.
Parameter kontrol PID yang telah dirancang
sudah baik tapi masih ada isolasi meskipun
sangat kecil.
5. KESIMPULAN
Berdasarkan percobaan dan analisa
yang telah dilakukan, diperoleh kesimpulan
sebagai berikut:
1. Penalaan parameter kendalil PID untuk
mengendalikan level air mampu
memberikan respon pengendalian yang
baik dengan Kp = 30, Ti = 3 dan Td =
10. Memiliki overshoot kecil dan error
steady state = 3.
2. Dari hasil uji tracking set point dengan
Kp = 30, Ti = 3 dan Ti = 10 parameter
kendali PID yang telah dirancang bisa
mengikuti tracking set point dengan
baik, meskipun masih memiliki
overshoot.
3. Dengan menerapkan kontroler PID pada
sistem kontrol level air dapat
mempercepat respon sistem terhadap
perubahan sinyal input (set point) dan
memperkecil sinyal kesalahan (error).
4. Dari percobaan dan analisa diketahui
bahwa respon kontroler yang sesuai
dengan yang diinginkan adalah dengan
menggunakan elemen PID.
5. Untuk mengoperasikan PID controller
sangatlah mudah, hanya melakukan
15. tuning parameternya dengan cara
mencoba-coba (trial and error) untuk
menghasilkan sistem kontrol yang
diinginkan.
DAFTAR PUSTAKA
1. Retna Prasetya dan Catur Edi Widodo.
Interfacing port parallel dan port serial
komputer dengan visual basic 6.0.
Penerbit ANDI, Yogyakarta. 2004
2. Heri Andrianto. Pemrograman
mikrokontroler AVR ATMega16
menggunakan bahasa C (CodeVision
AVR). Penerbit Informatika, Bandung.
2008
3. M. Ary Heryanto, ST. dan Ir. Wisnu
Adi P. Pemrograman bahasa C untuk
Mikrokontroler ATMega8535. Penerbit
ANDI, Yogyakarta. 2008
4. Syahban Rangkuti. Mikrokontroler
ATMEL AVR. Simulasi dan Praktek
menggunakan ISIS Proteus dan
CodeVision AVR. Penerbit Informatika,
Bandung. 2011
5. Ranti Permatasari. Penalaan Parameter
Kontrol PID Dengan Metode Heuristic.
Teknik Fisika ITS, Surabaya.
6. Thiang, Yohanes TDS, Andre Mulya.
Pengaturan Level Ketinggian Air
Menggunakan Kontrol PID. Fakultas
Teknologi Industri, Jurusan Teknik
Elektro, Universitas Kristen Petra.