View
21
Download
6
Category
Preview:
Citation preview
DESAIN KENDALI PID DENGAN METODA
ZIEGLER-NICHOLS DAN COHEN-COON
MENGGUNAKAN MATLAB DAN ARDUINO
PADA PLANT LEVEL AIR
Laporan ini disusun untuk memenuhi salah satu syarat
mata kuliah Sistem Kendali Digital
Diploma III Program Studi Teknik Elektronika
Jurusan Teknik Elektro
Oleh
Fauzan Fauziansyah
131311045
POLITEKNIK NEGERI BANDUNG
2015
i
ABSTRAK
Kendali level air biasa ditemui di dunia industri, salah satunya digunakan
pada penentuan level air pengisian tangki. Dengan adanya kendali level air,
pengisian air yang berlebih bisa diatasi. Salah satu cara merancang kendali level
air bisa dengan menggunakan kendali PID (Proportional Integral Derivative).
Dalam merancang kendali PID, dibutuhkan nilai-nilai Kp, Ki, dan Kd. Nilai-nilai
tersebut bisa didapatkan dengan menggunakan metoda Ziegler-Nichols dan
metoda Cohen-Coon. Setiap metoda memiliki ciri yang berbeda, sehingga respon
yang dihasilkan pasti akan berbeda pula. Untuk mengetes metoda mana yang
paling cocok untuk digunakan, hasil desain setiap metoda langsung direalisasikan
ke plant level air dengan menggunakan matlab dan arduino. Metoda Ziegler-
Nichols tipe 1 merupakan metoda terbaik untuk kendali level air karena respon
yang dihasilkan sesuai dengan yang diinginkan sebelumnya. Pengaplikasian
metoda ini bisa digunakan nantinya saat memasuki dunia kerja, sehingga
kesalahan-kesalahan yang terjadi dalam pengisian air ke dalam tangki bisa
diminimalisir.
Kata kunci : Kendali level air, kendali PID, Ziegler-Nichols, Cohen-Coon
ii
ABSTRACT
Water level control is usually found in the industrial world, one of them is
used in determining the water level filling the tank. With the water level control,
filling excessive water can be solved. One of the way to design water level control
can use PID (Proportional Integral Derivative) controller. In designing the PID
controller, the values of Kp, Ki, and Kd are needed. The values can be obtained
by using Ziegler-Nichols and Cohen-Coon method. Each method has different
characteristic, so that the result of the response would be different anyway. For
testing the method which is most suitable to be used, the result of each method
design directly realized to the water level plant using matlab and arduino.
Ziegler-Nichols type 1 method is the best method for water level control because
the result of the response is suitable that expected before. Application of this
method can be used later when entering the world of work, so the errors that
occur in filling the water into the tank can be minimized.
Keywords : Water level control, PID controller, Ziegler-Nichols, Cohen-Coon
iii
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Allah SWT atas berkat dan
karunia-Nyalah laporan akhir praktikum Sistem Kendali Digital yang berjudul,
“Desain Kendali PID dengan Metoda Ziegler-Nichols dan Cohen-Coon
menggunakan Matlab dan Arduino pada Plant Level Air” ini dapat diselesaikan
dengan tepat waktu.
Ada kendala dan kesulitan dalam pembuatan laporan ini dan penulis tidak
bisa menyelesaikan sendiri tanpa bantuan dari berbagai pihak. Pada kesempatan
ini penulis mengucapkan terimakasih kepada :
1. Allah SWT yang selalu memberikan rahmat dan hidayah-Nya sehingga
penulis bisa menyelesaikan laporan akhir praktikum Sistem Kendali Digital
ini.
2. Kedua orang tua yang telah membantu secara moril maupun materil sehingga
laporan ini dapat terselesaikan.
3. Bapak Feriyonika, ST., MSc.Eng. selaku dosen mata kuliah Sistem Kendali
Digital yang telah memberikan bimbingan selama praktikum.
4. Ibu Iyom dan Pak Tete yang telah membantu memfasilitasi kebutuhan selama
praktikum di lab kendali.
5. Dessy Erdinsyah Putri dan Ahmad Fajar Munawar selaku partner kelompok
yang telah bekerja sama selama praktikum.
6. Rekan-rekan kelas 2B D3 Teknik Elektronika 2013 yang telah sama-sama
berjuang selama praktikum.
7. Semua pihak yang telah membantu dan mendukung yang tidak bisa penulis
sebutkan satu persatu.
Penulis memanjatkan doa semoga segala bimbingan, bantuan, dorongan,
dan semangat yang diberikan kepada penulis akan mendapat pahala dari Allah
SWT.
iv
Banyak kekurangan dari laporan ini dan penulis mengharapkan komentar
yang membangun agar laporan selanjutnya bisa lebih baik. Semoga laporan ini
bermanfaat bagi para pembaca.
Bandung, Juli 2015
Penulis
v
DAFTAR ISI
ABSTRAK ........................................................................................................... i
ABSTRACT ....................................................................................................... ii
KATA PENGANTAR ...................................................................................... iii
DAFTAR ISI ...................................................................................................... v
DAFTAR TABEL ............................................................................................ vii
DAFTAR GAMBAR ....................................................................................... viii
BAB I PENDAHULUAN ................................................................................... 1
BAB II LANDASAN TEORI ............................................................................. 3
2.1 Kendali PID (Proportional Integral Derivative) ......................................... 3
2.1.1 Sistem Kendali PID .......................................................................... 3
2.1.2 Cara Mentuning Manual Parameter PID .......................................... 4
2.2 Metoda Ziegler-Nichols ............................................................................... 4
2.2.1 Ziegler-Nichols tipe 1 (open loop) ................................................... 4
2.2.2 Ziegler-Nichols tipe 2 (closed loop)................................................. 5
2.3 Metoda Cohen-Coon .................................................................................... 6
2.4 Plant Level Air ............................................................................................. 8
BAB III PERANCANGAN ................................................................................ 9
3.1 Konfigurasi Plant Closed Loop ................................................................... 9
3.2 Desain dengan Ziegler-Nichols tipe 1 ........................................................ 10
3.2.1 Respon Closed Loop....................................................................... 10
3.2.2 Proses Desain ................................................................................. 11
3.3 Desain dengan Ziegler-Nichols tipe 2 ........................................................ 12
3.3.1 Respon Closed Loop....................................................................... 12
3.3.2 Proses Desain ................................................................................. 13
3.4 Desain dengan Cohen-Coon ...................................................................... 14
3.4.1 Respon Closed Loop....................................................................... 14
3.4.2 Proses Desain ................................................................................. 15
3.5 Konfigurasi Plant untuk Script Matlab dan Arduino ................................. 16
3.6 Script Matlab .............................................................................................. 17
3.6.1 Flowchart Script Matlab ................................................................. 18
3.6.2 Script Matlab .................................................................................. 19
3.7 Script Arduino ............................................................................................ 20
3.7.1 Flowchart Script Arduino ............................................................... 21
3.7.2 Script Arduino ................................................................................ 22
vi
BAB IV HASIL DAN ANALISA .................................................................... 25
4.1 Hasil Desain Metoda Ziegler-Nichols tipe 1 ............................................. 25
4.1.1 Hasil Desain ................................................................................... 25
4.1.2 Hasil Tuning ................................................................................... 25
4.2 Hasil Desain Metoda Ziegler-Nichols tipe 2 ............................................. 26
4.2.1 Hasil Desain ................................................................................... 26
4.2.2 Hasil Tuning ................................................................................... 27
4.2.3 Hasil Tuning dengan Mengubah-ubah Setpoint ............................. 27
4.3 Hasil Desain Metoda Cohen-Coon ............................................................ 28
4.3.1 Hasil Desain ................................................................................... 28
4.4 Analisa Metoda ZN tipe 1, ZN tipe 2, dan Cohen-Coon ........................... 29
4.5 Hasil Respon Script Matlab ....................................................................... 29
4.5.1 Hasil Respon .................................................................................. 29
4.5.2 Hasil Respon saat diberi gangguan ................................................ 29
4.6 Hasil Respon Script Arduino ..................................................................... 30
4.6.1 Realisasi pada Plant ....................................................................... 30
4.6.2 Tampilan LCD................................................................................ 30
BAB V KESIMPULAN DAN SARAN ............................................................ 32
5.1 Kesimpulan ................................................................................................ 32
5.2 Saran .......................................................................................................... 32
DAFTAR PUSTAKA ....................................................................................... 33
vii
DAFTAR TABEL
Tabel II.1 Tabel parameter PID .......................................................................... 4
Tabel II.2 Tabel parameter PID untuk ZN tipe 1 ................................................ 5
Tabel II.3 Tabel parameter PID untuk ZN tipe 2 ................................................ 6
Tabel II.4 Tabel parameter PID untuk Cohen-Coon ........................................... 7
viii
DAFTAR GAMBAR
Gambar I.1 Macam-macam toren air .................................................................. 1
Gambar II.1 Blok diagram sistem kendali PID ................................................... 3
Gambar II.2 Sistem diberi input step .................................................................. 4
Gambar II.3 Proses desain penentuan parameter L dan T .................................. 5
Gambar II.4 Sistem closed loop dengan menggunakan Kp saja ......................... 5
Gambar II.5 Proses desain menentukan parameter Pcr ....................................... 6
Gambar II.6 Sistem open loop diberi input step ................................................. 6
Gambar II.7 Sinyal steady-state kembali diberi input step ................................. 7
Gambar II.8 Proses desain menentukan parameter gp, τ, dan τd ......................... 7
Gambar II.9 Plant level air.................................................................................. 8
Gambar III.1 Konfigurasi plant closed loop ....................................................... 9
Gambar III.2 Blok simulink closed loop ZN tipe 1 .......................................... 10
Gambar III.3 Respon closed loop ZN tipe 1 ..................................................... 10
Gambar III.4 Proses desain dengan metoda ZN tipe 1...................................... 11
Gambar III.5 Blok simulink closed loop ZN tipe 2 .......................................... 12
Gambar III.6 Respon closed loop ZN tipe 2 ..................................................... 12
Gambar III.7 Proses desain dengan metoda ZN tipe 2...................................... 13
Gambar III.8 Blok simulink closed loop Cohen-Coon ..................................... 14
Gambar III.9 Respon closed loop Cohen-Coon ................................................ 15
Gambar III.10 Proses desain dengan metoda Cohen-Coon .............................. 15
Gambar III.11 Konfigurasi plant untuk script matlab dan arduino .................. 17
Gambar III.12 Penggunaan potensiometer sebagai setpoint ............................. 17
Gambar III.13 Flowchart script matlab ............................................................. 18
Gambar III.14 Arduino dengan shield dan LCD ............................................... 20
Gambar III.15 Flowtchart script arduino .......................................................... 21
Gambar IV.1 Blok simulink hasil desain ZN tipe 1 .......................................... 25
Gambar IV.2 Respon hasil desain ZN tipe 1..................................................... 25
Gambar IV.3 Respon hasil tuning ZN tipe 1..................................................... 26
Gambar IV.4 Blok simulink hasil desain ZN tipe 2 .......................................... 26
ix
Gambar IV.5 Respon hasil desain ZN tipe 2..................................................... 27
Gambar IV.6 Respon hasil tuning ZN tipe 2..................................................... 27
Gambar IV.7 Respon hasil tuning ZN tipe 2 dengan merubah setpoint ........... 28
Gambar IV.8 Blok simulink hasil desain Cohen-Coon ..................................... 28
Gambar IV.9 Respon hasil desain Cohen-Coon ............................................... 28
Gambar IV.10 Hasil respon dengan script matlab ............................................ 29
Gambar IV.11 Hasil respon dengan script matlab saat diberi gangguan .......... 29
Gambar IV.12 Realisasi pada plant dengan stand alone controller ................. 30
Gambar IV.13 Tampilan LCD untuk setpoint 2,5 mbar ................................... 31
Gambar IV.14 Tampilan LCD untuk setpoint 5 mbar ...................................... 31
1
BAB I
PENDAHULUAN
Perkembangan fasilitas-fasilitas umum di sekitar kita semakin maju. Hal-
hal praktis mulai muncul bermunculan seiring dengan kesibukan-kesibukan yang
dihadapi manusia. Salah satu contoh fasilitas tersebut adalah adanya tangki
penampungan air. Selain di dunia industri, rumah-rumah di sekitar pun sekarang
ada yang memakai tangki penampungan air. Tangki penampungan air atau sering
disebut toren sangat umum dipakai di perumahan. Fungsinya cukup vital sebagai
cadangan air yang siap digunakan untuk kebutuhan rumah tangga sehari-hari,
terutama bila terjadi masalah dengan pompa air atau karena pemadaman listrik[1].
Macam-macam toren air ditunjukan pada gambar I.1.
Gambar I.1 Macam-macam toren air
Umumnya toren air dikontrol secara otomatis oleh suatu mekanisme
pengaturan yang akan mengisi air bila volume air tinggal sedikit dan
menghentikannya bila sudah penuh[2]. Cukup merepotkan bila kontrol pengisian
air dilakukan manual oleh penghuni rumah. Karena selain harus menunggu sekian
2
lama sampai air mulai naik hingga keluar di keran air, juga air yang sudah penuh
berpotensi terbuang disebabkan penghuni rumah lupa untuk mematikan pompa
air.
Saat ini banyak sekali ditawarkan sistem kontrol yang efektif dan mudah
untuk diimplementasikan. Salah satunya kontrol dengan sistem PID (Proportional
Integral Derivative)[3]. Kepopuleran PID sebagai komponen kontrol
dilatarbelakangi terutama oleh kesederhanaan struktur, serta kemudahan dalam
melakukan tuning parameter kontrolnya.
Pada praktikum kali ini, akan dilakukan pengendalian plant level air
dengan menggunakan sistem kendali PID. Dalam sistem kendali PID dibutuhkan
nilai-nilai Kp, Ki, dan Kd yang bisa didapatkan dengan menggunakan beberapa
metoda seperti Ziegler-Nichols dan Cohen-Coon. Setelah nilai Kp, Ki, dan Kd
didapatkan, selanjutnya langsung direalisasikan ke modul PID dan plant level air
untuk dilihat respon yang dihasilkan. Namun nilai Kp, Ki, dan Kd yang didapat
dari beberapa metoda tersebut merupakan nilai-nilai pendekatan sehingga masih
harus dilakukan manual tuning untuk menghasilkan respon yang diinginkan. Hasil
respon yang menggunakan modul PID merupakan respon kontinyu, kemudian
dengan menggunakan script matlab sinyal kontinyu diubah menjadi sinyal digital.
Setelah sistem kendali sudah sesuai dengan yang diinginkan, script matlab
diterjemahkan ke dalam script arduino sehingga saat proses pengendalian tidak
lagi menggunakan komputer atau laptop, namun ditambahkan LCD pada arduino
untuk melihat respon yang dihasilkan.
3
BAB II
LANDASAN TEORI
2.1 Kendali PID (Proportional Integral Derivative)
2.1.1 Sistem Kendali PID
Sistem kendali PID (Proportional Integral Derivative) merupakan
kontroler untuk menentukan presisi suatu sistem instrumentasi dengan
karakteristik adanya umpan balik (feedback) pada sistem tesebut[4].
Sistem kendali PID terdiri dari tiga buah cara pengaturan yaitu kontrol P
(Proportional), D (Derivative) dan I (Integral), dengan masing-masing
memiliki kelebihan dan kekurangan. Dalam implementasinya masing-
masing cara dapat bekerja sendiri maupun digabung. Blok diagram sistem
kendali PID ditunjukan pada gambar II.1.
Gambar II.1 Blog diagram sistem kendali PID
Adapun persamaan sistem kendali PID adalah :
𝑃𝐼𝐷 = 𝐾𝑝. 𝑒 𝑡 + 𝐾𝑖 𝑒 𝑡 𝑑𝑡 + 𝐾𝑑𝑑𝑒(𝑡)
𝑑𝑡
Dengan :
PID = output dari kendali PID
Kp = konstanta proporsional
Ki = Kp/Ti
Ti = konstanta integral
Kd = Kp.Td
Td = konstanta derivatif
e(t) = error
4
Dalam perancangan sistem kendali PID yang perlu dilakukan
adalah mengatur parameter P, I atau D agar tanggapan sinyal keluaran
sistem terhadap masukan tertentu sebagaimana yang diinginkan.
2.1.2 Cara Mentuning Manual Parameter PID
Cara mentuning parameter-parameter PID bisa dilakukan dengan
melihat tabel parameter PID. Dengan menganalisa respon yang dihasilkan,
nilai-nilai Kp, Ki, dan Kd bisa diubah-ubah sesuai dengan tabel. Tabel
parameter PID ditunjukan pada tabel II.1.
Tabel II.1 Tabel parameter PID
2.2 Metoda Ziegler-Nichols
Salah satu metoda mencari parameter-parameter PID adalah dengan
metoda Ziegler-Nichols[5]. Metoda ini memilki 2 tipe, yaitu tipe 1 (open
loop) dan tipe 2 (closed loop)[6].
2.2.1 Ziegler-Nichols tipe 1 (open loop)
Dalam metoda ini, digunakan sistem open loop. Sistem diberi input
step sehingga respon open loop terbentuk.
Gambar II.2 Sistem diberi input step
Dari respon open loop yang dihasilkan, parameter-paramter ZN
tipe 1 (L dan T) dapat didapatkan. Proses desain menentukan parameter L
dan T ditunjukan pada gambar II.3.
5
Gambar II.3 Proses desain penentuan parameter L dan T
Setalah parameter L dan T didapatkan, nilai-nilai Kp, Ti, dan Td
bisa dicari dengan menggunakan rumus-rumus parameter PID untuk
metoda ZN tipe 1. Tabel II.2 menunjukan tabel parameter PID untuk ZN
tipe 1.
Tabel II.2 Tabel parameter PID untuk ZN tipe 1
2.2.2 Ziegler-Nichols tipe 2 (closed loop)
Dalam metoda ZN tipe 2, digunakan sistem closed loop. Namun
yang digunakan hanya Kp saja. Sistem dibuat hingga berosilasi terus
menerus dengan mengatur besarnya nilai Kp.
Gambar II.4 Sistem closed loop dengan menggunakan Kp saja
Besarnya nilai Kp saat respon sistem berosilasi terus menerus
merupakan nilai Kcr. Dari respon yang dihasilkan, parameter lain ZN tipe
2 selain Kcr, yaitu Pcr dapat dicari. Proses desain menentukan parameter
Pcr ditunjukan pada gambar II.5.
6
Gambar II.5 Proses desain menentukan parameter Pcr
Setelah parameter Kcr dan Pcr didapatkan, nilai-nilai Kp, Ti, dan
Td bisa dihitung dengan menggunakan rumus-rumus parameter PID untuk
ZN tipe 2. Tabel II.3 menunjukan tabel parameter PID untuk ZN tipe 2.
Tabel II.3 Tabel parameter PID untuk ZN tipe 2
2.3 Metoda Cohen-Coon
Dalam menentukan parameter-parameter PID tidak hanya dengan
metoda Ziegler-Nichols saja. Ada metoda lain untuk menentukan parameter-
parameter tersebut. Metoda tersebut adalah metoda Cohen-Coon. Cohen-
Coon biasanya hanya digunakan untuk sistem open loop[7]. Cohen-Coon bisa
dipakai untuk plant yang memiliki deadtime yang besar[8].
Sistem open loop diberi input step sampai respon mencapai titik
steady-state.
Gambar II.6 Sistem open loop diberi input step
Setelah respon mencapai steady-state, respon kembali diberi input
step. Sinyal perubahan yang dihasilkan adalah sinyal yang akan dipakai untuk
mendesain.
7
Gambar II.7 Sinyal steady-state kembali diberi input step
Dalam proses penentuan parameter PID dengan metoda Cohen-Coon,
perubahan sinyal saat diberi input step yang kedua merupakan sinyal yang
digunakan untuk proses desain. Gambar II.8 menunjukan proses penentuan
parameter-parameter gp, τ, dan τd.
Gambar II.8 Proses desain menentukan parameter gp, τ, dan τd
Dimana gp dicari dengan menggunakan rumus,
gp = 𝐶ℎ𝑎𝑛𝑔𝑒 𝑖𝑛 𝑃𝑉
𝐶ℎ𝑎𝑛𝑔𝑒 𝑖𝑛 𝐶𝑂
Setelah parameter-parameter gp, τ, dan τd didapatkan, nilai-nilai Kp,
Ti, dan Td bisa dihitung dengan rumus-rumus parameter PID untuk Cohen-
Coon. Tabel parameter PID untuk Cohen-Coon ditunjukan pada tabel II.4.
Tabel II.4 Tabel parameter PID untuk Cohen-Coon
8
2.4 Plant Level Air
Plant level air terdiri dari tangki level air, pompa air, dan sensor.
Ketinggian air/level air ditentukan oleh satuan mbar (milibar). Terdapat 2
pilihan untuk pengaturan keluaran sensornya, pertama 0,2V/mbar dan kedua
0,66V/mbar. Gambar II.9 menunjukan gambar plant level air.
Gambar II.9 Plant level air
9
BAB III
PERANCANGAN
Perancangan sistem dilakukan dengan beberapa tahapan, dimulai dari
mendesain PID dengan metoda Ziegler-Nichols tipe 1, tipe 2, dan metoda Cohen-
Coon. Dari ketiga metoda tersebut, parameter PID dengan hasil respon terbaik
digunakan dalam script matlab dan script arduino.
3.1 Konfigurasi Plant closed loop
Dalam melakukan proses desain kendali PID dengan metoda ZN tipe
1 dan CC, sistem yang dibuat adalah sistem open loop. Namun untuk plant
level air tidak bisa digunakan sistem open loop karena air yang mengisi
tangki bisa melebihi kapasitas tangki airnya. Sehingga untuk melakukan
proses desain kendali PID harus dibuat sistem closed loop.
Untuk proses desain kendali PID dengan metoda ZN tipe 2 sistem di
buat closed loop. Dengan demikian, ketiga metoda tersebut menggunakan
sistem closed loop. Konfigurasi plant closed loop ditunjukan pada gambar
III.1.
Gambar III.1 Konfigurasi plant closed loop
10
3.2 Desain dengan Ziegler-Nichols tipe 1
3.2.1 Respon closed loop
Setelah sistem closed loop dibuat, sistem dihubungkan dengan
arduino-matlab dengan blok simulink seperti pada gambar III.2.
Gambar III.2 Blok simulink closed loop ZN tipe 1
Untuk sinyal dari setpoint harus menggunakan pembagi tegangan
sebelum masuk ke arduino. Lalu di blok simulink dikalikan lagi dengan 2
untuk mengembalikan ke sinyal semula. Kemudian, karena yang
dikendalikan level air maka keluaran yang diharapkan adalah dalam satuan
mbar (bukan tegangan). Sehingga dikalikan lagi dengan 5 karena keluaran
sensornya sebesar 0.2V/mbar. Artinya setiap tegangan 1V sebanding
dengan 5 mbar level air. Gambar III.3 menunjukan respon closed loop ZN
tipe 1.
Waktu (s)
Gambar III.3 Respon closed loop ZN tipe 1
Leve
l air
(mb
ar)
11
Untuk waktu pada Matlab berbeda dengan waktu sebenarnya.
Karena akan di realisasikan ke plant, maka yang digunakan adalah waktu
sebenarnya. Perbandingan waktu Matlab dengan waktu sebenarnya adalah
500 waktu Matlab sama dengan 50 detik waktu sebenarnya. Artinya setiap
1 detik waktu sebenarnya sebanding dengan 10 waktu Matlab.
3.2.2 Proses desain
Setelah respon closed loop didapat, langkah selanjutnya yaitu
melakukan proses desain menggunakan metoda ZN tipe 1, seperti yang
ditunjukan pada gambar III.4.
Waktu (s)
Gambar III.4 Proses desain dengan metoda ZN tipe 1
L = 1053-1000 = 53
T = 1833 – 1053 = 780
Nilai L dan T yang didapat dikonversikan ke waktu sebenarnya. Menjadi,
L = 5,3 dan T = 78
Setelah nilai L dan T didapat, dimasukan ke rumus-rumus PID untuk
Ziegler-Nichols tipe-1. Maka akan didapat.
𝐾𝑝 = 1,2 ×𝑇
𝐿= 1,2 ×
78
5,4= 17,33
𝑇𝑖 = 2𝐿 = 2 × 5,3 = 10,6
𝑇𝑑 = 0,5𝐿 = 0,5 × 5,3 = 2,65
Leve
l air
(mb
ar)
12
3.3 Desain dengan Ziegler-Nichols tipe 2
3.3.1 Respon closed loop
Setelah sistem closed loop dibuat, sistem dihubungkan dengan
arduino-matlab dengan blok simulink seperti pada gambar III.5.
Gambar III.5 Blok simulink closed loop ZN tipe 2
Karena yang dikendalikan adalah plant level air maka keluaran
yang diharapkan adalah dalam satuan mbar (bukan tegangan). Sehingga
dikalikan lagi dengan 2,5 karena keluaran sensornya sebesar 0,4V/mbar
(seharusnya 0,2V/mbar). Artinya setiap tegangan 1V sebanding dengan
2,5 mbar level air. Pada blok PID, nilai Ti dan Td di off-kan. Nilai Kp
diatur sampai respon yang dihasilkan berosilasi terus menerus. Respon
closed loop dengan metoda ZN tipe 2 ditunjukan pada gambar III.6.
Waktu (s)
Gambar III.6 Respon closed loop ZN tipe 2
Leve
l air
(mb
ar)
13
Untuk waktu pada Matlab berbeda dengan waktu sebenarnya.
Karena akan di realisasikan ke plant, maka yang digunakan adalah waktu
sebenarnya. Perbandingan waktu Matlab dengan waktu sebenarnya adalah
100 waktu Matlab sama dengan 9 detik waktu sebenarnya. Artinya setiap 1
detik waktu sebenarnya sebanding dengan 11,11 waktu Matlab.
3.3.2 Proses desain
Setelah didapat respon closed loop, langkah selanjutnya yaitu
melakukan proses desain menggunakan ZN tipe-2, seperti ditunjukan pada
gambar III.7.
Waktu (s)
Gambar III.7 Proses desain dengan metoda ZN tipe 2
Nilai Kp saat respon berosilasi terus menerus merupakan nilai Kcr.
Namun nilai yang tertulis pada blok PID tidak sepenuhnya akurat.
Sehingga untuk mendapat nilai yang akurat, nilai Kcr dicari dengan
menghitung perbandingan nilai keluaran dengan nilai masukannya.
Vin = 30mV
Vout = 5,23V
Kcr= 5,23/0,03
Kcr = 174,3
Pcr = x1-x0 = 31,22-16,32 = 14,9
Nilai Pcr dikonversikan ke waktu sebenarnya.
Pcr=14,9/11,11
Pcr = 1,341134113
Leve
l air
(mb
ar)
14
Setelah nilai Pcr dan Kcr didapat, dimasukan ke rumus-rumus PID untuk
Ziegler-Nichols tipe-2. Maka akan didapat.
𝐾𝑝 = 0,6𝐾𝑐𝑟 = 0,6 × 174,3 = 104,58
𝑇𝑖 = 0,5𝑃𝑐𝑟 = 0,5 × 1,34 = 0,67
𝑇𝑑 = 0,125𝑃𝑐𝑟 = 0,125 × 1,34 = 0,167
3.4 Desain dengan Cohen-Coon
3.4.1 Respon closed loop
Setelah sistem closed loop dibuat, sistem dihubungkan dengan
arduino-matlab dengan blok simulink seperti pada gambar III.8.
Gambar III.8 Blok simulink closed loop Cohen-Coon
Karena yang dikendalikan adalah plant level air maka keluaran
yang diharapkan adalah dalam satuan mbar (bukan tegangan). Sehingga
dikalikan lagi dengan 2,5 karena keluaran sensornya sebesar 0,4V/mbar
(seharusnya 0,2V/mbar). Artinya setiap tegangan 1V sebanding dengan
2,5 mbar level air. Pada blok PID, nilai Ti dan Td di off-kan. Nilai Kp
diatur menjadi 1, diberi setpoint pertama. Setelah simulink di run tunggu
respon mencapai steady-state, kemudian respon kembali diberi setpoint
yang lebih tinggi dari setpoint pertama sehingga terlihat perubahan
responnya, maka akan didapat closed loop respon seperti gambar III.9.
15
Waktu (s)
Gambar III.9 Respon closed loop Cohen-Coon
Untuk waktu pada Matlab berbeda dengan waktu sebenarnya.
Karena akan di realisasikan ke plant, maka yang digunakan adalah waktu
sebenarnya. Perbandingan waktu Matlab dengan waktu sebenarnya adalah
100 waktu Matlab sama dengan 9 detik waktu sebenarnya. Artinya setiap 1
detik waktu sebenarnya sebanding dengan 11,11 waktu Matlab.
3.4.2 Proses desain
Setelah didapat respon closed loop, langkah selanjutnya yaitu
melakukan proses desain menggunakan Cohen-Coon, seperti ditunjukan
pada gambar III.10.
Waktu (s)
Gambar III.10 Proses desain dengan metoda Cohen-Coon
Dengan metoda Cohen-Coon dapat diperoleh nilai-nilai :
A = Perubahan PV = 7,82-3,068 = 4,212
B = Perubahan CO = 12,04-7,633 = 4,407
gp = 𝐴
𝐵 =
4,212
4,407 = 0,9557522124
Leve
l air
(mb
ar)
Leve
l air
(mb
ar)
16
τd = 954,7-951,1 = 3,6
Dikonversikan ke waktu sebenarnya
τd = 3,6/11,11 = 0,3240324032
τ 0,63*A = 0,63*4,212 = 2,65356
jika diukur dari Y = 0,
τ 3,6+2,65356 = 6,25356
τ = 1209-954,7 = 254,3
Dikonversikan ke waktu sebenarnya
τ = 254,3/11,11 = 22,88928893
Setelah nilai-nilai gp, τd, dan τ didapat, dimasukan ke rumus-rumus PID
untuk Cohen-Coon. Maka akan didapat.
𝐾𝑐 =1,35
𝑔𝑝 τ
τd+ 0,185 =
1,35
0,956
22,89
0,32+ 0,185 = 100,04
𝑇𝑖 = 2,5τd ×τ + 0,185τd
τ + 0,611τd= 2,5 × 0,32 ×
22,89 + 0,185 × 0,32
22,89 + 0,611 × 0,32= 0,81
𝑇𝑑 = 0,37τd ×τ
τ + 0,185τd= 0,37 × 0,32 ×
22,89
22,89 + 0,185 × 0,32
= 0,12
3.5 Konfigurasi Plant untuk Script Matlab dan Arduino
Modul PID bukan digunakan sebagai pengendali, tetapi hanya
dibutuhkan Kp-nya saja sebagai pengali 2. Output PID yang masuk ke
arduino dibatasi dari 0-10V. Namun tegangan arduino maksimal hanya 5V,
sehingga pada program output PID dibagi 2. Lalu output arduino dimasukan
ke modul PID untuk dikembalikan lagi ke nilai sebenarnya (dikali 2). Setelah
itu baru ke modul amplifier dan ke plant level air. Gambar III.11 menunjukan
konfigurasi plant untuk script matlab dan arduino.
Set point yang digunakan bukan berupa modul set point, namun
menggunakan potensiometer dengan tegangan dari arduino (0-5V), seperti
ditunjukan pada gambar III.12.
17
Gambar III.11 Konfigurasi plant untuk script matlab dan arduino
Gambar III.12 Penggunaan potensiometer sebagai setpoint
3.6 Script Matlab
Setelah dilakukan proses desain kendali PID dengan menggunakan 3
metoda di atas, nilai-nilai Kp, Ti, dan Td setelah dilakukan manual tuning
yang menghasilkan respon terbaik atau sesuai dengan yang diinginkan
digunakan dalam script matlab dan arduino. Metoda yang menghasilkan
respon terbaik yaitu metoda Ziegler-Nichols tipe 1 dengan nilai-nilai Kp =
30; Ti = 10,6; Td = 0,02.
Untuk menentukan time sampling, dilakukan perbandingan antara
waktu matlab dengan waktu sebenarnya. Didapat bahwa 100 detik waktu
matlab sama dengan 5 detik waktu sebenarnya, sehingga time sampling yang
digunakan sebesar 0,05 detik.
18
3.6.1 Flowchart script matlab
Sebelum membuat script, terlebih dahulu dibuat flowchart
programnya. Gambar III.13 menunjukan flowchart script matlab.
Gambar III.13 Flowchart script matlab
START
INISIALISASI Menetukan nilai time
sampling, Kp, Ki, Kd, error awal differensial
dan integral, koneksikan arduino-matlab, set pin
input-output arduino
START = 1
Baca setpoint, process value Cari error, error integral, dan
error differensial
Hitung PID
Batasi agar tidak
>10 dan <0
Kirim hasil perhitungan PID ke pin output
Plot respon
Set Error sebelum = error
Error integral sebelum = error integral
Start = 1
FINISH
Ya
Tidak
19
3.6.2 Script matlab
Setelah flowchart dibuat, script matlab dibuat sesuai dengan flowchart.
clf Ts = 0.05; pinMode(a,6,'output') pinMode(a,13,'output') digitalWrite(a,13,1);
Kp = 30; Ki = 2.83; Kd = 0.6;
error_sebelum = 0; errorI_sebelumnya = 0;
y1=0; y2=0; t=0; x=0;
start = digitalRead(a,10); while(start==1) x=x+1;
SP = analogRead(a,0); SP = SP*0.0049; PV = analogRead(a,5); PV = PV*0.0049;
error = SP-PV;
errorI_sekarang = ((error + error_sebelum)/2)*Ts; errorI = (errorI_sekarang) + (errorI_sebelumnya);
errorD = (error - error_sebelum)/Ts;
outP = Kp*error; outI = Ki*errorI; outD = Kd*errorD; outPID = outP + outI + outD;
if outPID > 10 outPID = 10; else outPID=outPID; end
if outPID < 0 outPID = 0; else outPID=outPID; end
20
outPID=outPID/2; outPID = round(outPID*51);
analogWrite(a,6,outPID);
y1 = [y1,SP]; y2 = [y2,PV]; t = [t,x]; plot(t,y1,t,y2); axis([0 x+100 0 3]); grid drawnow; error_sebelum=error; errorI_sebelumnya=errorI;
start = digitalRead(a,10); end analogWrite(a,6,0);
3.7 Script Arduino
Script arduino tidak berbeda dengan script matlab, yang berbeda
hanya bahasa yang digunakannya. Dalam membuat script arduino, tinggal
menerjemahkan script matlab menjadi script arduino. Selebihnya, seperti
besarnya nilai time sampling, Kp, Ti, dan Td cara menghitung error,
menghitung PID sama saja.
Fungsi dari digunakannya script matlab yaitu agar membuat sistem
yang dibuat terlihat seperti sistem kendali sebenarnya. Dengan tanpa adanya
komputer, hanya arduino saja yang berfungsi sebagai embedded system
ditambah dengan LCD sebagai tampilan Proccess Value (PV) dan Set Point
(SP). Hal ini dinamakan stand alone controller. Gambar III.14 menunjukan
tampilan arduino sebagai embedded system ditambah dengan shield dan LCD.
Gambar III.14 Arduino dengan shield dan LCD
21
3.7.1 Flowchart script arduino
Sama halnya dengan script matlab, script arduino juga harus dibuat
flowchart terlebih dahulu sebelum dibuat programnya. Gambar III.15
menunjukan flowchat script arduino.
Gambar III.15 Flowtchart script arduino
START
INISIALISASI Menetukan nilai time
sampling, Kp, Ki, Kd, error awal differensial
dan integral, nama-nama variabel, set pin input-
output arduino
Baca setpoint, process value Cari error, error integral, dan
error differensial
Hitung PID
Batasi agar tidak
>10 dan <0
Kirim hasil perhitungan PID ke pin output
Tampilkan ke LCD
Set Error sebelum = error
Error integral sebelum = error integral
X=n?
FINISH
Tentukan banyaknya pengulangan
X=0:n
Ya
Tidak
22
3.7.2 Script arduino
Setelah flowchart dibuat, script arduino dibuat sesuai dengan flowchart.
#include <LiquidCrystal.h>
int output = 6; //untuk menset pin 6 sebagai output
float Ts = 0.05; //waktu sampling
// Nilai Kp, Ti,Td
float Kp = 30;
float Ti = 10.6;
float Td = 0.02;
// Definisi variabel untuk perhitungan PID
float Setpoint, Feedback, Setpoint1, Feedback1;
float error;
float errorD, errorD1;
float errorI, errorIsekarang, errorIsekarang1, errorIsekarang2;
float outP, outI, outD, outPIDsebelum;
float errorsebelum = 0;
float errorIsebelum = 0;
int outPID;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// put your setup code here, to run once:
pinMode(6,OUTPUT);
lcd.begin(16,2);
}
void loop() {
// put your main code here, to run repeatedly:
Setpoint = analogRead(A0); //baca setpoint dari potensio
Setpoint1 = (Setpoint*0.0049)/0.3;
//Membatasi nilai agar setpoint tidak >3 atau <0
if(Setpoint1>=10)
{
Setpoint1=10;
}
else
23
{
Setpoint1=Setpoint1;
}
Feedback = analogRead(A4); //baca umpan balik
Feedback1 = (Feedback*0.0049)/0.3;
//Hitung error
error = Setpoint1 - Feedback1;
//Menghitung error Integral
errorIsekarang = error + errorsebelum;
errorIsekarang1 = errorIsekarang/2;
errorIsekarang2 = errorIsekarang1*Ts;
errorI = errorIsekarang2 + errorIsebelum;
//Menghitung error Diferensial
errorD1 = error - errorsebelum;
errorD = errorD1/Ts;
//Kendali PID
outP = Kp*error;
outI = (Kp/Ti)*errorI;
outD = (Kp*Td)*errorD;
outPIDsebelum = outP + outI + outD;
outPID=outPIDsebelum ;
//Membatasi nilai agar PID tidak >10 atau <0
if(outPID>=10)
{
outPID=10;
}
else if(outPID<=0)
{
outPID=0;
}
else
{
outPID=outPID;
24
}
outPID = (outPID*0.5)*51;
//Menuliskan hasil perhitungan PID ke pin 6
analogWrite(6,outPID);
errorsebelum=error;
errorIsebelum=errorI;
//Menuliskan ke LCD
lcd.setCursor(0,0);
lcd.print("SP=");
lcd.setCursor(4,0);
lcd.print(Setpoint1);
lcd.setCursor(10,0);
lcd.print("mbar");
lcd.setCursor(0,1);
lcd.print("PV=");
lcd.setCursor(4,1);
lcd.print(Feedback1);
lcd.setCursor(10,1);
lcd.print("mbar");
delay(500);
}
25
BAB IV
HASIL DAN ANALISA
4.1 Hasil Desain Metoda Ziegler-Nichols tipe 1
4.1.1 Hasil desain
Setelah didapat nilai-nilai Kp, Ti, dan Td, nilai-nilai tersebut
direalisasikan ke modul PID. Lalu dihubungkan kembali dengan arduino-
matlab dengan blok simulink seperti pada gambar IV.1 dan respon hasil
desain ditunjukan pada gambar IV.2.
Gambar IV.1 Blok simulink hasil desain ZN tipe 1
Waktu (s)
Gambar IV.2 Respon hasil desain ZN tipe 1
4.1.2 Hasil tuning
Untuk mendapat respon sesuai yang diinginkan, nilai-nilai Kp, Ti,
dan Td diubah-ubah sesuai dengan tabel parameter PID. Nilai-nilai yang
diubah yaitu Kp menjadi 30 dan Td menjadi 0,02 sedangkan nilai Ti tetap.
Nilai Kp diubah (dinaikkan) maksudnya adalah mengurangi rise time agar
Leve
l air
(mb
ar)
26
air yang masuk ke tangki tidak terlalu cepat. Lalu nilai Td diubah
(dikurangi) hampir mendekati 0 maksudnya adalah untuk menghilangkan
tekanan dari pompa air, agar air mengisi tangki secara smooth. Respon
hasil tuning ditunjukan pada gambar IV.3.
Waktu (s)
Gambar IV.3 Respon hasil tuning ZN tipe 1
4.2 Hasil Desain Metoda Ziegler-Nichols tipe 2
4.2.1 Hasil desain
Setelah didapat nilai-nilai Kp, Ti, dan Td, nilai-nilai tersebut
direalisasikan ke modul PID. Lalu dihubungkan kembali dengan arduino-
matlab dengan blok simulink seperti pada gambar IV.4 dan respon hasil
desain ditunjukan pada gambar IV.5.
Gambar IV.4 Blok simulink hasil desain ZN tipe 2
Leve
l air
(mb
ar)
27
Waktu (s)
Gambar IV.5 Respon hasil desain ZN tipe 2
4.2.2 Hasil tuning
Untuk mendapat respon sesuai yang diinginkan, nilai-nilai Kp, Ti,
dan Td diubah-ubah sesuai dengan tabel parameter PID. Nilai-nilai yang
diubah yaitu Td menjadi mendekati 0 (nol) atau Td dimatikan. Maksudnya
adalah untuk mengurangi tekanan dari pompa agar air mengisi tangki
secara smooth. Gambar IV.6 menunjukan respon hasil tuning.
Waktu (s)
Gambar IV.6 Respon hasil tuning ZN tipe 2
4.2.3 Hasil tuning dengan mengubah-ubah setpoint
Setelah respon hasil tuning didapat, dicoba dengan mengubah-ubah
setpoint dan melihat respon yang terjadi. Saat setpoint dinaikan dari nilai
sebelumnya, respon yang terjadi sesuai dengan hasil tuning, akan tetapi
saat setpoint diturunkan dari nilai sebelumnya, responnya lambat saat
menuju ke setpoint yang diinginkan. Hal itu dikarenakan kecepatan
pengosongan tangki dipengaruhi oleh valve. Respon hasil tuning dengan
mengubah-ubah setpoint ditunjukan pada gambar IV.7.
Leve
l air
(mb
ar)
Leve
l air
(mb
ar)
28
Waktu (s)
Gambar IV.7 Respon hasil tuning ZN tipe 2 dengan merubah setpoint
4.3 Hasil Desain Metoda Cohen-Coon
4.3.1 Hasil desain
Setelah didapat nilai-nilai Kc/Kp, Ti, dan Td, nilai-nilai tersebut
direalisasikan ke modul PID. Untuk nilai Kc harus dibagi 2 agar sistem
tidak terlalu berosilasi. Kc = 100,0387431/2 = 50,01937153
Lalu dihubungkan kembali dengan arduino-matlab dengan blok simulink
seperti gambar IV.8 dan respon hasil desain ditunjukan pada gambar IV.9.
Gambar IV.8 Blok simulink hasil desain Cohen-Coon
Waktu (s)
Gambar IV.9 Respon hasil desain Cohen-Coon
Leve
l air
(mb
ar)
Leve
l air
(mb
ar)
29
4.4 Analisa Metoda ZN tipe 1, ZN tipe 2, dan Cohen-Coon
Setelah dicoba melakukan proses desain dengan menggunakan metoda
ZN tipe 1, ZN tipe 2, dan Cohen-Coon ternyata menghasilkan respon yang
berbeda-beda. Dilihat dari responnya, metoda ZN tipe 1 menghasilkan respon
yang paling baik dibandingkan dengan metoda ZN tipe 2 dan Cohen-Coon.
Sehingga parameter-parameter Kp, Ti, dan Td yang didapat dari metoda ZN
tipe 1 akan digunakan untuk script matlab dan script arduino. Besarnya nilai
Kp = 30; Ti = 10,6; Td = 0,02.
4.5 Hasil Respon Script Matlab
4.5.1 Hasil Respon
Gambar IV.10 menunjukan hasil respon dengan script matlab.
Waktu (s)
Gambar IV.10 Hasil respon dengan script matlab
4.5.2 Hasil Respon saat diberi gangguan
Hasil respon dengan script matlab saat diberi gangguan ditunjukan pada
gambar IV.11.
Waktu (s)
Gambar IV.11 Hasil respon dengan script matlab saat diberi gangguan
Ke
luar
an
(V)
Ke
luar
an
(V)
30
Saat plant diberi ganggun dengan membuka atau menutup valve,
respon akan naik saat valve ditutup namun akan kembali ke titik steady-
state. Lalu saat valve dibuka, respon turun namun akan kembali ke titik
steady-state. Hal ini menunjukan bahwa sistem kendali level air ini
tangguh.
4.6 Hasil Respon Script Arduino
4.6.1 Realisasi pada plant
Realisasi pada plant untuk ditampilkan di LCD pada arduino
ditambahkan dengan shield arduino dan LCD. Catu daya arduino tidak
dari laptop, tetapi menggunakan adaptor charger handphone. Sehingga
sistem tidak lagi menggunakan komputer atau stand alone controller.
Gambar IV.12 menunjukan realisasi pada plant dengan stand alone
controller.
Gambar IV.12 Realisasi pada plant dengan stand alone controller
4.6.2 Tampilan LCD
Setelah program berhasil dijalankan, dan tampilan LCD berjalan
dengan baik. Setpoint pertama diatur di ketinggian 2,5 mbar. Sebelum air
mencapai titik stabil di ketinggian 2,5 mbar, terjadi overshoot terlebih
dahulu. Gambar IV.13 menunjukan tampilan LCD untuk setpoint 2,5
mbar.
31
Gambar IV.13 Tampilan LCD untuk setpoint 2,5 mbar
Kemudian setpoint dinaikan menjadi 5 mbar. Sama halnya dengan
setpoint 2,5 mbar, sebelum air mencapai titik stabil di 5 mbar, terjadi
overshoot terlebih dahulu. Tampilan LCD untuk setpoint 5 mbar
ditunjukan pada gambar IV.14.
Gambar IV.14 Tampilan LCD untuk setpoint 5 mbar
Gambar yang diambil hanya sampel saja, karena pada
kenyataannya nilai PV naik turun akibat adanya goncangan yang
disebabkan oleh pompa air.
32
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari sepanjang praktikum yang dilakukan, dapat disimpulkan bahwa :
a. Dalam merancang sistem kendali level air, bisa menggunakan kendali
PID yang nilai-nilai Kp, Ti, dan Td dicari dengan 3 metoda yang berbeda,
yaitu Ziegler-Nichols tipe 1, Ziegler-Nichols tipe 2, dan Cohen-Coon.
b. Sistem kendali yang dibuat dengan ketiga metoda tersebut merupakan
sistem kendali kontinyu.
c. Dari ketiga metoda tersebut memiliki kelebihan dan kekurangan masing-
masing. Dilihat dari respon yang dihasilkan, metoda Ziegler-Nichols tipe
1 merupakan metoda yang menghasilkan respon terbaik pada plant level
air dengan nilai Kp = 30; Ti = 10,6; Td = 0,02.
d. Nilai-nilai Kp, Ti, dan Td yang diperoleh dari metoda Ziegler-Nichols
tipe 1 digunakan untuk sistem kendali digital dengan script matlab dan
script arduino.
e. Pada script matlab masih menggunakan komputer/laptop untuk
mengamati responnya. Sedangkan pada script arduino, respon yang
dihasilkan diamati dengan tampilan LCD sehingga tidak lagi
menggunakan komputer/laptop yang disebut dengan stand alone
controller.
5.2 Saran
Untuk penyempurnaan dan pengembangan praktikum ke depannya, diberikan
saran-saran sebagai berikut.
a. Dalam proses melakukan desain lebih teliti lagi dalam pembuatan garis-
garis pada sinyal yang didesain.
b. Perbanyak latihan dalam melakukan manual tuning agar respon yang
dihasilkan sesuai dengan yang diinginkan.
33
DAFTAR PUSTAKA
[1] "Kontrol Level Tangki Air",
https://irfanramadhan4.wordpress.com/2012/03/27/kontrol-level-tangki-air/
(diakses tanggal 6 Juli 2015)
[2] "Cara Kerja Kontrol Level Tangki Air",
http://www.instalasilistrikrumah.com/cara-kerja-kontrol-level-tangki-air/
(diakses tanggal 6 Juli 2015)
[3] Iskandar, Dede dan Yuda Bakti Zainal. "Kendali Level Air dengan
menggunakan Parameter PID Controller". Bandung: Universitas Jenderal
Achmad Yani.
[4] "Pengertian Kendali PID",
http://catatan-elektro.blogspot.com/2011/11/pengertian-kendali-pid.html
(diakses tanggal 7 Juli 2015)
[5] "Pengenalan Metode Ziegler-Nichols pada Perancangan Kontroler pada PID".
http://www.elektroindonesia.com/elektro/tutor12.html (diakses tanggal 7
Juli 2015)
[6] Bakar, Suheri dan Feriyonika."Desain Kendali PID dengan Ziegler-Nichols".
(Gambar hidup)
[7] "Metoda Tuning Ziegler-Nichols",
http://instrumentationsystem.blogspot.com/2011/05/metoda-tuning-ziegler-
nichols.html (diakses tanggal 7 Juli 2015)
[8] Feriyonika. "Desain Kendali PID dengan Cohen dan Coon (CC)". (Gambar
hidup)
Recommended