Sie sind auf Seite 1von 15

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.

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

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.

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 :

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].

Dimana :
TI = integral time
e = error (input dari unit control)
Kc = gain dari controller

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

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.

Transfer function
differential adalah :

dari

unit

control

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

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

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

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.

Start Timer

Ya
Echo=0

START

Tidak
Inisialisasi timer
Timer/counter=0

Tidak

Timer
Overflow?
Stop Timer

Set_kirim=1

Ya

Stop Timer
Timer Counter=255

Delay 5uS

Set_kirim=0

Data_us=timer/
counter
Tidak
Echo=1

Kirimdata_us
Ya
1

STOP

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.

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.

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
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 konstantakonstanta, yaitu: Kp, Ki, Kd. Dimana
diketahui bahwa Ki = 1/Ti dan Kd = Td.
Nilai Kp, Ki, Kd didapatkan dengan caracara mencoba-coba dengan berbagai nilai,
kemudian dipilih yang terbaik.
Rumus PID controller pada system
ini menggunakan program Visual Basic
adalah sebagai berikut:

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

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

Inisialisasi Port
Serial (UCSRA.7)

Baca Data
Serial

Ada Nilai?

Tidak

Ya
Simpan Nilai ke
EEPROM

Hitung Nilai dari


EEPROM

Tampilkan Nilai
ke LCD

Keluarkan ke
PortA (DAC)

STOP

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);
dikeluarkan ke PortA DAC
PORTA=DAC;
}

//nilai

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

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

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 nilainilai
yang
telah
diberikan
dapat
menghasilkan respon yang baik untuk
parameter kontrol level air. Tetapi masih
mengalami overshoot.

Gambar 4.14 Respon tuning parameter


kontrol PID sistem pengendalian level air
dengan Kp = 30, Ti = 3, Td = 10

15 cm

Tabel 4.6 Respon Parameter Kontrol Pid Dengan Metode Heuristik Untuk Pengendalian Level
Air.
Settling
Uji Metode Heuristik
Error
Steady
Set Point
Time
Berisolasi
(%)
State
Kp
Ti
Td
(detik)
Ya
Tidak
40
0
0
5,47%
8
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
dengan metode Heuristik yang lain dengan
Dari tabel respon uji dengan metode
nilai Kp, Ti dan Td yang berbeda-beda. Pada
Heuristik, dapat diperoleh beberapa
uji yang kedua dengan Kp = 40; Ti = 8 dan
karakteristik
performansinya.
Dengan
Td = 0, juga mengalami overshoot lebih
metode tuning trial and error (Heuristic
besar dari uji sebelumnya, dapat dilihat pada
methode) saat diberikan nilai Kp = 40; Ti =
tabel 4.6. Pada saat Kp = 40; Ti = 5; Td = 15
0 ; Td = 0 didapatkan settling time 8 detik
respon pengendalian sudah mulai lambat,
dengan error steady state 5,47% dan
karena memerlukan waktu yang lama untuk
memiliki overshoot. Kita melakukan uji
mencapai steady yaitu 15,9 detik dan

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

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.

Das könnte Ihnen auch gefallen