Anda di halaman 1dari 115

TUGAS AKHIR

KENDALI PID UNTUK MENGATUR LEBIH DARI


SATU VARIABEL PADA PEMODELAN HEATER
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma

disusun oleh:
PRADU MAS WIBOWO
NIM: 045114058
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2009

i
FINAL PROJECT

MULTI VARIABEL PID CONTROLER FOR


HEATER MODELING

In partial fulfilment of the requirements


for the degree of Sarjana Teknik
Electrical Engineering Study Program
Electrical Engineering Departement
Science and Technology Faculty Sanata Dharma University

PRADU MAS WIBOWO


NIM : 045114058

ELECTRICAL ENGINEERING STUDY PROGRAM


ELECTRICAL ENGINEERING DEPARTMENT
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2009

ii
iii
iv
LEMBAR PERNYATAAN KEASLIAN KARYA

“Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini
tidak memuat karya atau bagian karya orang lain,
kecuali yang telah disebutkan dalam kutipan dan daftar pustaka,
sebagaimana layaknya karya ilmiah.”

Yogyakarta, 06 April 2009


Penulis,

Pradu mas wibowo

v
HALAMAN MOTTO

1.Mazmur Daud. TUHAN adalah gembalaku, takkan kekurangan aku.


2 Ia membaringkan aku di padang yang berumput hijau,
Ia membimbing aku ke air yang tenang
; 3 Ia menyegarkan jiwaku.
Ia menuntun aku di jalan yang benar oleh karena nama-Nya.
4 Sekalipun aku berjalan dalam lembah kekelaman,
aku tidak takut bahaya,
sebab Engkau besertaku;
gada-Mu dan tongkat-Mu, itulah yang menghibur aku.
5 Engkau menyediakan hidangan bagiku, di hadapan lawanku; Engkau mengurapi kepalaku dengan
minyak; pialaku penuh melimpah. 6 Kebajikan dan kemurahan belaka akan mengikuti aku, seumur
hidupku; dan aku akan diam dalam rumah TUHAN sepanjang masa.
Mazmur: 23

Impossible is nothing

HALAMAN PERSEMBAHAN

Kupersembahkan Karya ini Kepada :


Bapa Putra Dan Roh Kudus, Teman sekaligus Ayah ku
Yang sudah memberikan segalanya bagi ku, Tuhan Yesus

Kedua orang tua ku Mama dan Papa


Yang selalu Mendoakan aku Dan Memebrikan Dukungan Moral dan Sepiritual

Kedua Adik – adik ku Neneng dan Rini yang Paling aku Sayangi
Dan
Seseorang Yang Telah Mengisi Hati ku,istriku Mei Li
Dan anak ku james

vi
INTISARI

Sebagian besar kontrol dalam industri yang berkenaan dengan proses tidak hanya
mengendalikan satu variabel saja, melainkan kombinasi dari beberapa variabel input dan
output sehingga dibutuhkan sistem pengendalian yang handal. Kontrol PID
(Proportional-Integral-Derivative) merupakan salah satu metode pengendalian yang
sering digunakan dalam sistem kendali. Penelitian ini bertujuan untuk memperkecil
gangguan unjuk kerja kontrol PID multivariabel dengan sistem decoupler. Pada penelitian
ini kontrol PID digunakan untuk mengendalikan pompa air dan heater air.

Perancangan kontrol PID menggunakan metode kurva reaksi dan kontroler disusun
secara paralel. Kontrol PID dibuat dengan basis algoritma PID digital dengan
menggunakan pemrograman bahasa C. Unjuk kerja kontroler ini dibandingkan
berdasarkan pada tiga parameter yaitu: waktu tunda, waktu naik, steady state error.

Hasil dari penelitian ini merupakan output kontrol PID yang stabil dan waktu
penanganan gangguan kontrol PID yang lebih cepat saat kontrol diberi gangguan yang
berasal dari luar sistem. Kontrol PID dengan decoupler memiliki waktu perbaikan yang
lebih cepat saat sistem diberi gangguan dari luar dengan SSE <5% pada pemodelan
heater. Kontrol PID tanpa decoupler memiliki waktu perbaikan yang lebih lama saat
sistem diberi gangguan dari luar dengan SSE <5% pada pemodelan heater
Kata kunci : PID digital,multivariabel , sistem decoupler

vii
ABSTRACT

Mostly control in respective industry with the process not only control just one
variable, but combination from some variable of input and output so that required a
reliable operation system. PID (Proportional-Integral-Derivative) control is one of
controlling methods that is usually used in control system. This research has a purpose to
minimize the trouble of multivariabel PID control used decoupler system for this
research is used to control the pump and heater.

PID control design which uses curve reaction method and controller are arranged
in parallel form. PID control is made based on PID digital algorithm use C langguage
programming. The performance of these controllers are compared based on three
parameters : delay time, rise time steady state error.

The result of this research represent the stabel output of PID control and faster
handling time , when control given disturban from out of system heater modeling. PID
control use decoupler has shorter delay and rise time when control given disturban from
out of system heater modeling with SSE < 5%. PID control which is unused decoupler
system has longer delay and rise time when control given disturban from out of system
heater modeling with SSE < 5% .

Keyword : Digital PID,multivariabel, decoupler system

viii
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Pradu Mas Wibowo
Nomor Mahasiswa : 045114058

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan


Universitas Sanata Dharma karya ilmiah saya yang berjudul :
KENDALI PID UNTUK MENGATUR LEBIH DARI
SATU VARIABEL PADA PEMODELAN HEATER
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam
bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara
terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan
akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya
selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal : 06 April 2009

Yang menyatakan

( Pradu Mas Wibowo )

ix
KATA PENGANTAR

Puji dan syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa yang telah

melimpahkan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir

berjudul “Kendali PID untuk mengatur lebih dari satu variabel input output pada

pemodelan heater (Multivariabel PID Controler for Heater Modeling)”.

Tugas akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana

Teknik pada Jurusan Teknik Elektro Universitas Sanata Dharma Yogyakarta. Penulisan

tugas akhir ini didasarkan pada hasil - hasil yang penulis dapatkan selama proses

perancangan, pembuatan, pengujian dan pengamatan alat.

penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Ibu Wuri Harini, S.T., M.T., selaku Pembimbing I yang telah membimbing penulis.

2. Bapak Martanto, S.T., M.T.sebagai pembimbing akademik penulis dan Bapak

Ir.Tjendro yang telah banyak memotivasi penulis .

3. Bapak Pius Yozy Merucahyo, S.T., M.T. dan Bapak Petrus Setyo Prabowo, S.T.

sebagai penguji saat ujian kolokium, Bapak Djoko Untoro Suwarno,S.Si.,M.T yang

telah memberikan banyak masukan pada proposal tugas akhir penulis.

4. Bapak dan ibu dosen, Bapak laboran dan teman – teman angkatan 2004 teknik

elektro.

5. Bapak Aris Sukardjito dan seluruh karyawan/wati Sekretariat Fakultas Teknik

Penulis sangat mengharapkan kritik dan saran yang dapat menyempurnakan tulisan.

Semoga tulisan ini dapat memberi manfaat bagi pembaca.

Yogyakarat 06 April 2009

x
Pradu Mas Wibowo

Halaman

Halaman judul dalam bahasa Indonesia............................................. ....................... i

Halaman judul dalam bahasa Inggris......................................................................... ii

Lembar pengesahan oleh pembimbing...................................................................... iii

Lembar pengesahan oleh penguji...............................................................................iv

Lembar pernaytaan keaslian karya.............................................................................v

Halaman Persembahan dan moto hidup..................................................................... vi

INTISARI.................................................................................................................. vii

ABSTRACT............................................................................................................... viii

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH…………….. ix

KATA PENGANTAR............................................................................................... iix

DAFTAR ISI............................................................................................................. iiix

BAB I : PENDAHULUAN.......................................................................................1

1.1. Judul....................................................................................................... 1

1.2. Latar belakang........................................................................................1

1.3. Tujuan dan Manfaat............................................................................... 2

1.4. Batasan masalah..................................................................................... 2

1.5. Metodologi penelitian............................................................................. 3

1.6. Sistem penulisan ................................................................................... 3

BAB II: DASAR TEORI.......................................................................................... 5

2.1 Komponen sensor suhu dan sensor level………………………………. 6

xi
2.1.1 LM 35 [2]………………………………………………………… 6

2.1.2 Senssor Level Potensiometer [3]………………………………… 7

2.2 Penguat Beda dan Penguat Inverting [4]………………………………. 7

2.2.1 Rangkaian Penguat beda (Diferensial)……………………….. 7

2.2.2 Penguat Inverting…………………………………………….. 8

2.3 Pembagi Tegangan dan Zero Crossing Detector ……………………… 9

2.3.1 Rangkaian Pembagi tegangan……………………………………. 9

2.3.2 Zero Crosing Detector (ZCD) [5]………………………………... 9

2.4 Mikrokontroler ATmega 32(L) [6]…………………………………….. 11

A. Program Memory…………………………………………………… 11

B. Data Memory...…………….……………………………………….. 12

C. EEPROM Data Memory...……….………………………………… 13

D.Register I/O……………... ………………………………………….. 14

E. Intrupsi…..………………………………………………………….. 15

F. Timer...…………………………………...…………………………..18

G. ADC…………………………….…………………………………... 21

2.5 Metode Ziegler-Nichols pada Kontroler PID [7] ……………………... 24

2.5.1 Pendahuluan……………………………………………………… 25

2.5.2 Kontroler PID……………………………………………………..25

2.5.3 Penalaan Parameter Kontrol PID………………………………… 27

2.5.4 Metode Zigeler-Nichols………………………………………….. 27

2.5.5 Metode Kurva Reaksi……………………………………………. 28

xii
2.6 Kendali PID Digital [8]………………………………………………… 29

2.8 Piranti Input Output [9]………………………………………………… 31

2.9 Thyristor [10]………………………………………............................... 34

A. Pengenalan…..……………………………………………………… 34

B. Struktur Dasar...…………………………………………………….. 35

C. Simbol Thyristor………………….………………………………… 35

D.Porses Penyalaan………... ………………………………………….. 37

2.10 Decoupler[11]………………………………………………………… 37

2.10.1 Variabel…………………………………………………………. 37

2.10.2 Open loop gain………………………………………………….. 38

2.10.3 Close loop gain…………………………………………………. 38

2.10.4 Relative gain……………………………………………………. 39

BAB III : PERANCANGAN..................................................................................... 41

3.1 Plant dan Aktuator……………………………………………………... 42

3.1.1 Tangki A…………………………………………………………. 43

3.1.2 Tangki B…………………………………………………………..43

3.1.3 Driver level dan suhu…………………………………………….. 44

3.2 Sensor, Pengkondisi sinyal dan Zero Crrossing Detector……………... 44

3.2.1 Sensor Suhu dan pengkondisi sinyal…………………………….. 44

3.2.2 Sensor level dan pengkondisi sinyal……………………………... 47

3.2.3 Zero Crrossing Detector (ZCD)………………………………….. 50

3.3 Perancangan Decoupler Level dan Suhu air…………………………… 50

3.4 Perancangan Kontrol PID ……………………………………………... 57

xiii
3.5 Perancangan Input OutPut……………………………………………... 59

3.6 Perancangan Software…………………………………………………. 60

BAB IV : HASIL DAN PEMBAHASA........................................................ ........... 62

4.1 Model Pengendali Heater………………………………………………. 62

4.2 Prinsip dan Cara kerja………………………………………………….. 63

4.2.1 Analisa Perangkat Keras……………………………………... 65

4.2.2 Analisa Perangkat Lunak…………………………………….. 66

A.Inisialisasi………………………………………………...66

B.Set point...................................................... ……………... 67

C.Baca sensor……………………………….……………... 68

D.Perhitungan dan hasil perhitungan………. ……………... 69

E.Penggunaan fungsi – fungsi……………………………... 70

4.3 Data hasil Precobaan…………………………………………………… 71

4.3.1 Karakteristik sensor level……………………………………. 71

4.3.2 Karakteristik sensor suhu…………………………………….. 71

4.3.3 Hasil penalaan dengan PID…………………………………... 72

A. SetPoint 6 cm…………………………………………………… 72

B.Setpoint 9 cm…………………………………………………….. 73

C.Setpoint 12 cm…………………………………………………… 74

D. Setpoint suhu 50° C……………………………………………... 76

E. Setpoint suhu 70° C………………………………………........... 77

F. Setpoint suhu 90° C………………………………………........... 78

4.4 Decoupler dan gangguan pengendalian dari luar sistem………………. 79

xiv
4.5 Sistem tanpa decoupler dan gangguan pengendalian dari luar ……….. 80

BAB V : KESIMPULAN DAN SARAN................................................................. 83

Kesimpulan dan Saran............................................................................... 83

DAFTAR PUSTAKA................................................................................................ 84

Lampiran................................................................................................................... L1

Lampiran.................................................................................................................... L2

Lampiran.................................................................................................................... L3

Lampiran.................................................................................................................... L4

Lampiran.................................................................................................................... L5

xv
DAFTAR GAMBAR Halaman

Gambar 2.1 Sensor LM 35 tampak bawah.................................................................6

Gambar 2.2 Sensor Level…………………………………………...........................7

Gambar 2.3 Penguat Diferensial…………………………………………….……... 7

Gambar 2.4 Konfigurasi penguat inverting………………………………............... 8

Gambar 2.5 Konfigurasi pembagi tegangan……………………………………….. 9

Gambar 2.6 ZCD…………………………………………………………...............10

Gambar 2.7 ATmega 32(L)…………………………………………………………11

Gambar 2.8 Program memory………………………………………………………. 12

Gambar 2.9 Peta data memory…………………………………………………….. 12

Gambar 2.10 SREG…………………………………………………………………. 13

Gambar 2.11 Intrupsi………………………………………………………………... 15

Gambar 2.12 MCUCR / MCU Control Register…………………………………... 16

Gambar 2.13 Blok Diagram Timer 16 Bit…………………………………………... 19

Gambar 2.14 Timer/Counter1 Register………………………………………….… 19

Gambar 2.15 TIMSK & TIFR……………………………………………………... 19

Gambar 2.16 TIFR Timer/Counter interrupt flag…………………………….……. 20

Gambar 2.17 TCCR1B……………………..………………………………….……21

Gambar 2.18 Blok diagram kontroler PID analog…………………………………. 26

Gambar 2.19 fungsi waktu sinyal keluaran masukan untuk kontroller PID ……… 26

xvi
Gambar 2.20 Kurva respons tangga satuan 25 % lonjakan maksimum…………… 27

Gambar 2.21 Respon tangga satuan sistem…………………………………………28

Gambar 2.22 Kurva Respons berbentuk S…………………………………………. 28

Gambar 2.23 Blok diagram kendali digital……………………………………….... 30

Gambar 2.24 Tampilan LCD dan kaki – kakinya……………….............................. 31

Gambar 2.25 Skematik ke mikrokontroler………………………………….……... 31

Gambar 2.26 Tiga sambungan pn………………………………………….. ……... 35

Gambar 2.27 Simbol Thyristor…………………………………………….. ……... 35

Gambar 2.28 Grafik karakteristik………………………………………….. ……... 36

Gambar 2.29 Interaksi dua variabel yang dikendalikan…………………….……....38

Gambar 2.30 Decoupler……………………………………………………. ………40

Gambar 3.1. Alur perancangan model heater……………………………… ……... 41

Gambar 3.2 Plant dan aktuator…………………………………………………….. 42

Gambar 3.3 Tangki A……………………………………………………….…....... 43

Gambar 3.4 Tangki B……………………………………………………….……... 43

Gambar 3.5 Rangkaian Driver……………………………………………............... 44

Gambar 3.6. Pengkondisi sinyal suhu……………………………………………… 45

Gambar 3.7 Simulasi batas bawah pengkondisi sinyal suhu………………………. 46

Gambar 3.8 Simulasi batas atas pengkondisi sinyal suhu…………………………..46

Gambar 3.9 Rangkaian buffer noninverting………………………………………...46

Gambar 3.10 Perbandingan V sensor level dan V penguatan…………………….. 47

Gambar 3.11 Pengkondisi sinyal level……………………………………………..48

Gambar 3.12 Simulasi batas bawah level………………………………………….. 49

Gambar 3.13 Pengkondisi sinyal batas atas sensor level…………………………... 49

Gambar 3.14 ZCD…………………………………………………………………..50

xvii
Gambar 3.15 Simulasi ZCD…………………………………………………….….. 50

Gambar 3.16 Kenaikan level saat heater off…...……………….............................. 51

Gambar 3.17 Penurunan level pada heater 100 %..................................................... 51

Gambar 3.18 Penurunan suhu akibat motor 100%.................................................... 51

Gambar 3.19 Kenaikan suhu pada motor konstan…………………………………. 52

Gambar 3.20 Interaksi dua variabel………………………………………………... 52

Gambar 3.21 Decoupler…………………………………………............................. 56

Gambar 3.22 Perancangan PID multivariabel……………………………………... 57

Gambar 3.23 ATmega 32…………………………………………………………... 60

Gambar 3.24 Diagram alir program sistem LCD…………………………………. 60

Gambar 3.25 Diagram alir program sinkronisasi…………………………………... 61

Gambar 3.26 Diagram alir kendali PID digital…………………………………….. 61

Gambar 4.1 Pemodelan heater………………………………….............................. 62

Gambar 4.2.Kotak pengendali……………………………………………………... 62

Gambar 4.3.Driver Triac dan MOC 3020…………………………………………. 63

Gambar 4.4. Tampilan awal LCD………………………………………………….. 63

Gambar 4.5. Memasukan set-point ………………………………………………... 64

Gambar 4.6. Validasi data yang dimasukan………………………………………...64

Gambar 4.7 Karakteristik sensor level……………………………………………... 71

Gambar 4.8 Karakteristik sensor suhu……………………………………………... 71

Gambar 4.90 Kurva tanggapan transient pada set point 6cm……………………….72

Gambar 4.10 Kurva tanggapan transient pada set point 9cm……………………….73

Gambar 4.11 Kurva tanggapan transient pada set point 12cm……………………...74

Gambar 4.12 Kurva tanggapan transient pada set point 50°C …………………….. 76

Gambar 4.13 Kurva tanggapan transient pada set point 70°C …………………….. 77

xviii
Gambar 4.14 Kurva tanggapan transient pada set point 90°C …………………….. 78

Gambar 4.15 Grafik suhu dan level dengan sistem decoupler…………………….. 80

Gambar 4.16 Grafik suhu dan level dengan tanpa sistem decoupler……………… 81

DAFTAR TABEL Halaman

Tabel 2.1 Konfigurasi Port.........................................................................................14

Tabel 2.2 Interrupt Vector pada ATmega 32………………………………………... 15

Tabel 2.3 MCUCR / MCU Control Register………………………………………. 16

Tabel 2.4 Sleep Mode……………………………………………………. ……... 16

Tabel 2.5 Interrupt 1 (INT1)…………………………………………………….. 17

Tabel 2.6 Interrupt 0 (INT0)……………………………………………………. 17

Tabel 2.7 TIMSK / Timer/Counter Interrupt Mask Register………………………. 20

Tabel 2.8 TIFR……………………………………………………………………... 20

Tabel 2.9 Clock Select bits1………………………………………………………... 21

Tabel 2.10 ADMUX………………………………………………………………. 22

Tabel 2.11 ADLAR 0……………………………………………………………….23

Tabel 2.12 ADLAR 1……………………………………………………………… 23

Tabel 2.13 SFIOR………………………………………………………………….. 23

Tabel 2.14 ADCSRA………………………………………………………………. 24

Tabel 2.15 Penalaan paramater PID dengan metode kurva reaksi …………………29

Tabel 2.16 Pin dan Fungsi…………………………………………………………. 32

Tabel 2.17 Antarmuka LCD dan mikrokontroler………………….......................... 34

Tabel 2.18 Gain open loop………………………………………………………… 39

Tabel 2.19 Relatif Gain…………………………………………………………….. 40

xix
Tabel 3.1 Bentuk matrik 2x2………………………………………………………. 55

Tabel 3.2 Bentuk matrik 2x2 perhitungan realtif gain……………………………... 55

Tabel 4.1 Perbedaan nilai antara perancangan dan pengukuran ………….............. 65

Tabel 4.2 Hasil pengujian alat untuk level 6 cm…………………………………… 72

Tabel 4.3 Hasil pengujian alat untuk level 9 cm……………………....................... 74

Tabel 4.4 Hasil pengujian alat untuk level 12 cm……………………….................. 75

Tabel 4.5 Hasil pengujian alat untuk suhu 50° C………………………………….. 76

Tabel 4.6 Hasil pengujian alat untuk suhu 70° C………………………………….. 77

Tabel 4.7 Hasil pengujian alat untuk suhu 90° C…………………………………. 78

Tabel 4.8 Hasil pengujian sistem…………………………………………............... 79

Tabel 4.9 Perbandingan penggunaan decoupler……………………………............ 81

xx
xxi
1

BAB I

PENDAHULUAN

1.1 Judul

Kendali PID untuk mengatur lebih dari satu variabel input output pada pemodelan

heater (Multivariabel PID Controler for Heater Modeling)

1.2 Latar Belakang Masalah

Perkembangan ilmu dan pengetahuan yang semakin cepat baik di dunia, maupun di

Indonesia sendiri yang disertai dengan perkembangan ilmu – ilmu teknik kontrol baru

ataupun pengembangan dari ilmu teknik kontrol yang sudah ada ,memegang peranan

penting dalam kehidupan. Teknik kontrol automatik sangat diperlukan pada pesawat

ruang angkasa, sistem kemudi pesawat , pengendalian rudal, juga dalam proses industri .

Ada berbagai macam sistem kontrol dasar berdasarkan perkembangannya yaitu,

kontrol dua posisi , on dan off saja, kontrol proposional (P) , kontrol integral (I), kontrol

proposional integral (PI), kontrol proposional dan derivatif (PD), dan kontrol proposional

integral derivatif (PID). Di samping itu terdapat beberapa aksi kontrol lain seperti teknik

kontrol terprogram (PLC) dan teknik kontrol fuzzy [1]

Proposional Integral Derivatif atau yang sering dikenal dengan PID merupakan salah

satu teknik control close loop yang paling tua namun masih digunakan sampai sekarang

karena teknik kontrol PID ini memiliki keunikan tersendiri terhadap setiap plant yang

dikontrol dan dapat diaplikasikan dengan berbagai macam media baik secara analog yaitu

dengan menggunakan rangkaian elektronik biasa atau diaplikasikan secara digital yaitu

dengan menggunakan bahasa pemrograman mikrokontroler.


2

Sebagian besar sistem kontrol dalam industri yang berkenaan dengan proses seperti

suhu , tekanan, aliran, level ketinggian tidak hanya mengendalikan satu variabel input

atau output saja pada suatu plant, melainkan kombinasi dari beberapa variabel input dan

output. Supaya variabel input satu dengan yang lain tidak saling terganggu diperlukan

decoupler sebagai salah satu sistem yang mengaturnya. Pada perancangan ini akan

dirancang kendali PID berbasis mikrokontroler untuk mengendalikan dua variabel , level

ketinggian dan suhu pada sebuah model heater.

1.3 Tujuan dan Manfaat

Tujuan penelitian ini adalah:

1. Membuat perangkat keras pemodelan heater pada sebuah tangki

2. Membuat perangkat lunak untuk proses pengendalian suhu dan level pada set

point tertentu.

3. Mengaplikasikan kendali PID digital untuk pengendalian lebih dari satu variabel.

Diharapkan penelitian ini dapat memberikan manfaat:

1. Penelitian ini diharapakan dapat dijadikan acuan dalam mengembangkan model

PID controler multivariabel lebih dari 1 variabel.

2. Penelitian ini diharapkan dapat menjadi bahan referensi pembelajaran PID

controler pada sektor industri berkenaan dengan proses.

1.4 Batasan Masalah

Pembahasan MULTIVARIABEL INPUT OUTPUT PID CONTROLER FOR HEATER

MODELING ini lebih diarahkan dan difokuskan pada hal – hal sebagai berikut:

1. Berbasis mikrokontroler AT Mega 32 sebagai seluruh proses perhitungan PID dan

decoupler
3

2. Hanya digunakan pada plant dengan ukuran panjang 25 cm lebar 24 cm dan tinggi

30 cm dengan model heater atau pemanas air

3. Suhu yang dikontrol berkisar 50 sampai 90 derajat celcius dengan ketinggian air

maksimum 13 cm

4. Penggunaan sistem heater sumber AC dan pompa Sumber AC tegangan PLN.

1.5 Metodologi Penelitian

Agar dapat melakukan perancangan alat dengan baik, maka penulis membutuhkan

masukan serta referensi yang didapatkan dengan metode :

1. Setudi kepustakaan yang mencakup literatur-literatur, gambar-gambar dan manual.

2. Perancangan hardware dan software.

3. Pembuatan hardware dan software berdasarkan hasil perancangan.

4. Pengujian hardware dan software.

5. Pengambilan data dari hardware dan software yang telah dibuat.

6. Pembuatan laporan.

1.6 Sistem Penulisan

BAB I : PENDAHULUAN

BAB ini berisi latar belakang penelitian, tujuan dan manfaat penelitian, batasan

masalah, metodologi penelitian dan sistematika penulisan.

BAB II : DASAR TEORI

BAB ini berisi studi pustaka tentang landasan teori penelitian: Triac, sensor suhu ,

sensor potensiometer, pengkondisi sinyal , dan Mikrokontroler AT Mega 32.

BAB III : RANCANGAN PENELITIAN

BAB ini berisi tentang diagram blok perancangan perangkat keras (hardware) dan

perangkat lunak (software) yang akan dibuat.


4

BAB IV : HASIL DAN PEMBAHASAN

BAB ini berisi hasil perancangan, pengujian, analisis data dan pembahasan

BAB V: KESIMPULAN DAN SARAN

BAB ini berisi tentang kesimpulan dan saran penulis tentang alat yang dibuat.
5

BAB II

DASAR TEORI
Dalam sebuah industri plant tidak hanya digunakan untuk keperluan satu

parameter pemrosesan tetapi bisa lebih dari satu pemrosesan misalnya proses

pengendalian suhu dan level . Oleh karena itu diperlukan teknik pengendalian yang tepat

agar tidak terjadi gangguan proses pengendalian.

Kendali PID digital multivariabel merupakan teknik pengendalian secara close loop

dengan mengkombinasikan dua atau lebih besaran yang diukur dalam hal ini adalah suhu

air dan level air bertujuan meminimalkan gangguan antara satu besaran dan yang lainya

saat terjadi gangguan salah satu variabel besaran yang dikendalikan.

Sebagai dasar dari penelitian ini akan membahas:

1. Komponen sensor suhu dan sensor level

2. Penguat beda dan penguat inverting

3. Pembagi tegangan dan Zero Crossing Detector

4. Mikrokontroler

5. Tuning PID metode Ziegler – Nichols

6. Kendali PID digital

7. Piranti input dan output

8. Thyristor

9. Decoupler

Pada bab ini akan dibahas juga dasar- dasar penggunaan rangkaian dan rumus –

rumus dalam perhitungan yang akan digunakan pada bab tiga saat melakukan

perancangan terutama penentuan koefisien PID dan sistem decoupler dua variabel input

dan dua variabel output.


6

2.1 Komponen Sensor Suhu dan Sensor Level

2.1.1 LM 35 [2]

Sensor LM 35 merupakan jenis sensor yang bisa langsung diaplikasikan untuk

melakukan pengukuran suhu, keluaran sensor adalah tegangan (V) dengan resolusi 10 mV

untuk satu derajat celcius.

Gambar 2.1. Sensor LM 35 tampak bawah

LM 35 memiliki kelebihan-kelebihan sebagai berikut :

1. Dikalibrasi langsung dalam celcius

2. Memiliki faktor skala linear + 10.0 mV/°C

3. Memiliki ketepatan 0,5°C pada suhu + 25°C

4. Jangkauan maksimal suhu - 55° sampai +150°C

5. Cocok untuk aplikasi jarak jauh

6. Bekerja pada tegangan catu 4 sampai 30 Volt

7. Memiliki arus drain kurang dari 60 uA

8. Pemanasan sendiri yang lambat (low self – heating), 0,08°C di udara

9. Ketidaklinearan hanya sekitar ±1 - 4°C

10. Memiliki impedansi keluaran yang kecil, 0,1 W untuk beban 1 mA.
7

2.1.2 Sensor Level Potensiometer [3]

Merupakan variabel resistor yang dimodifikasi dengan menggunakan tangkai dan

pelampung serta diberikan tegangan sehingga setiap perputaran potensio menjadi

pembagi tegangan dan hasil pembagi tegangan tersebut yang dimanfaatkan.

Gambar 2.2 Sensor Level

2.2 Penguat Beda dan Penguat Inverting [4]

2.2.1 Rangkaian Penguat Beda (Diferensial)

Penguat beda atau penguat diferensial digunakan untuk mengurangkan sinyal

masukan dari sinyal masukan yang lainya guna mendapatkan nilai kalibrasi yang sesuai

atau mencari nilai tegangan diharapkan Vo adalah:

Vo =
R2
[V 2 − V 1] ……………………………………………...………(2.1)
R1

Gambar 2.3 Penguat Diferensial


8

2.2.2 Penguat Inverting

Tegangan masukan Vin menggerakkan masukan pembalik melalui resistor RA . Ini

akan menghasilkan tegangan masukan pembalik V1. Tegangan masukan diperkuat oleh

perolehan tegangan kalang terbuka untuk menghasilkan tegangan keluaran yang

dibalikkan. Tegangan keluaran kemudian diumpanbalikkan ke masukan melalui resistor

umpan balik RB. Ini menghasilkan umpan balik negatif karena keluarannya berbeda 1800

dengan masukan. Dengan kata lain, setiap perubahan pada V1 dihasilkan oleh tegangan

masukan yang berlawanan dengan sinyal keluaran

Tegangan keluaran penguat inverting ditunjukkan pada persamaan 2.2.

RB
VO = − R × Vin …………………….…………………… (2.2)
A

RB

Vee
4
8
1

RA
2 -
V1 6
3 +
Vin Vo
CA3130
U1
7
5

Vcc

Gambar 2.4 Konfigurasi penguat inverting


9

2.3 Pembagi Tegangan dan Zero Crossing Detector

2.3.1 Rangkaian Pembagi Tegangan

Rangkaian pembagi tegangan merupakan rangkaian yang terdiri dari resistor yang

dikonfigurasikan seperti pada gambar 2.5. Vout ditentukan dengan persamaan 2.5

R2
Vout = xVCC …………………………………………….….. (2.3)
R1 + R2
VCC

R1

Vout

R2

Gambar 2.5 Konfigurasi pembagi tegangan

2.3.2 Zero Crosing Detector (ZCD) [5]

Merupakan sebuah sistem yang digunakan untuk mendeteksi awal nilai dan akhir nilai

satu , pada sebuah gelombang sinus ZCD akan mengeluarkan logika tinggi ketika

gelombang sinus bernilai tinggi sampai nol ,dan akan berlogika 0 saat gelombang sinus

berada pada nilai negatif prinsipnya bekerja seperti komparataor dan menggunakan

masukan positif sebagai input sinyalnya.

Vi
I1 = ……………………………………………………….(2.4)
R1
10

Gambar 2.6 ZCD.

gambar ZCD yang sudah dimodifikasi karena keluaran ZCD + saturasi maka dibatasi

dengan zener supaya besarnya keluaran ZCD dapat langsung diolah secara digital. ZCD

digunakan untuk sinkronisasi PWM saat mengendalikan aktuator.

2.4 Mikrokontroler ATmega 32(L) [6]

Mikrokontroler AVR menggunakan teknologi RISC semua instruksi berukuran 16

bit sebagian besar dieksekusi dalam 1 siklus clock

Fitur yang tersedia pada ATmega 32 adalah :

• Frekuensi clock maksimum 16 MHz

• Jalur I/O 32 buah, yang terbagi dalam PortA, PortB, PortC dan PortD

• Analog to Digital Converter 10 bit sebanyak 8 input

• Timer/Counter sebanyak 3 buah

• Watchdog Timer dengan osilator internal

• SRAM sebesar 2 K byte

• Memori Flash sebesar 32 K byte dengan kemampuan read while write

• Interrupt internal maupun eksternal

• EEPROM sebesar 1024 byte yang dapat diprogram saat operasi

• Analog Comparator
11

Gambar 2.7 ATmega 32(L)

ATmega 32 memiliki dua jenis memori yaitu Data Memory dan Program Memory

ditambah satu fitur tambahan EEPROM Memory untuk penyimpan data.

A. Program Memory

ATmega 32 memiliki On-Chip In-System Reprogrammable Flash Memory untuk

menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua

bagian yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section

digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan

pada saat AVR reset atau pertama kali diaktifkan. Application Flash Section digunakan

untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalankan

program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori

Boot Flash Section dapat diprogram dari 128 word sampai 1024 word tergantung setting

pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program

pada Application Flash Section juga sudah aman.


12

Gambar 2.8 Program memory

B. Data Memory

Gambar berikut menunjukkan peta memori SRAM pada ATmega 32. Terdapat 608

lokasi alamat data memori.

96 lokasi alamat digunakan untuk Register File dan I/O Memory sementara 512 lokasi

alamat lainnya digunakan untuk internal data SRAM. Register File terdiri dari 32

general purpose working register, I/O register terdiri dari 64 register.

Gambar 2.9 Peta data memory


13

C. EEPROM Data Memory

ATmega 32 memiliki EEPROM sebesar 1024 byte untuk menyimpan data.

Lokasinya terpisah dengan sistem address register, data register dan control register

yang dibuat khusus untuk EEPROM.

Status Register (SREG)

Status Register adalah register yang memberikan informasi yang dihasilkan

dari eksekusi instuksi aritmatika. Informasi ini berguna untuk mencari alternatif alur

program sesuai dengan kondisi yang dihadapi.

Gambar 2.10 SREG

Bit 7 – I : Global Interrupt Enable

Jika bit Global Interrupt Enable diset, maka fasilitas interupsi dapat dijalankan.

Bit ini akan clear ketika ada interrupt yang dipicu dari hardware. Setelah

program interrupt dieksekusi, maka bit ini harus di set kembali dengan instruksi

SEI.

Bit 6 – T : Bit Copy Storage

Instruksi bit copy BLD dan BST menggunakan bit T sebagai sumber atau tujuan

dalam operasi bit.

Bit 5 – H : Half Carry Flag

Bit 4 – S : Sign Bit

Bit S merupakan hasil exlusive or dari Negative Flag N dan Two’s Complement

Overflow Flag V.

Bit 3 – V : Two’s Complement Overflow Flag

Digunakan dalam operasi aritmatika


14

Bit 2 – N : Negative Flag

Jika operasi aritmatika menghasilkan bilangan negatif, maka bit ini akan set.

Bit 1 – Z : Zero Flag

Jika operasi aritmatika menghasilkan bilangan nol, maka bit ini akan set

D. Register I/O

Setiap port ATmega 32 terdiri dari 3 register I/O yaitu DDRx, Portx dan PINx.

DDRx (Data Direction Register), register DDRx digunakan untuk memilih arah pin. Jika

DDRx = 1 maka Pxn sebagai pin output ,jika DDRx = 0 maka Pxn sebagai input.

Portx (Port Data Register)Register Portx digunakan untuk 2 keperluan yaitu untuk jalur

output atau untuk mengaktifkan resistor pullup. Portx berfungsi sebagai output jika DDRx =

1 maka jika Portxn = 1 maka pin Pxn akan berlogika high. Jika Portxn = 0 maka pin Pxn

akan berlogika low. Portx berfungsi untuk mengaktifkan resistor pull up jika DDRx = 0

maka jika Portxn = 1 maka pin Pxn sebagai pin input dengan resistor pull up. Jika Portxn

= 0 maka pin Pxn sebagai output tanpa resistor pull up.

Tabel 2.1 Konfigurasi Port

DDR xn Port xn I/O Pull Up Keterangan


0 0 Input no Tri sate Z
0 1 Input yes Pull up aktif
1 0 Output no Output low
1 1 Output no Output high

Catatan :

x menunjukkan nama port (A,B,C,D)

n menunjukkan nomor bit (0,1,2,3,4,5,6,7)

Nilai awal (initial value) seluruh register I/O adalah 00h.

• PINx (Port Input Pin Address) Digunakan sebagai register input


15

E. Interupsi

kondisi yang memaksa mikrokontroler menghentikan sementara eksekusi program

utama untuk mengeksekusi rutin interrupt tertentu Interrupt Service Routine (ISR)

Setelah melaksanakan ISR secara lengkap, maka mikrokontroler akan kembali

melanjutkan eksekusi program utama yang tadi ditinggalkan.

Gambar 2.11 Intrupsi

Tabel 2.2 Interrupt Vector pada ATmega 32


16

Intrupsi AT Mega 32 merupakan jenis intrupsi yang menggunakan sistem prioritas

yaitu mengeksekusi vektor utama .Sesuai dengan prioritas vektor tersebut pada tabel di

atas vektor intrupsi Reset merupakan vektor prioritas utama

Gambar 2.12 MCUCR / MCU Control Register

Tabel 2.3 MCUCR

Bit Symbol Function

7,5,4 SM2..0 Sleep Mode Select Bits . Digunakan

untuk memilih mode sleep MCU

Tabel 2.4 Sleep Mode

SM2 SM1 SM0 Sleep Mode

0 0 0 Idle

0 0 1 ADC Noise Reduc

0 1 0 Power-down

0 1 1 Power-save

1 0 0 Reserved

1 0 1 Reserved

1 1 0 Standby

1 1 1 Extended Standby

SE Sleep Enable. Digunakan untuk mengaktifkan mode Sleep .


17

Tabel 2.5 Interrupt 1 (INT1).

ISC11 ISC10 Description

0 0 logika 0 pada pin INT 1 menyebabkan intrupsi

0 1 perubahan logika pada pin INT 1 menyebabkan

intrupsi

1 0 perubahan kondisi 1 ke 0 di INT 1 menyebabkan

intrupsi

1 1 perubahan kondisi 0 ke 1 di INT 1 menyebabkan

intrupsi

ISC01, ISC00 Interrupt Sense Control 0 Bit. Digunakan untuk memilih jenis pulsa

trigger External

Tabel 2.6 Interrupt 0 (INT0).

ISC01 ISC00 Description

0 0 logika 0 pada pin INT 0 menyebabkan intrupsi

0 1 perubahan logika pada pin INT 0 menyebabkan

intrupsi

1 0 perubahan kondisi 1 ke 0 di INT 0 menyebabkan

intrupsi

1 1 perubahan kondisi 0 ke 1 di INT 0 menyebabkan

intrupsi
18

F. Timer

Timer pada dasarnya hanya menghitung pulsa clock. Frekuensi pulsa clock yang

dihitung tersebut bisa sama dengan frekuensi crystal yang dipasang dan dapat

diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024. Berikut

penjelasannya .Sebuah AVR menggunakan crystal dengan frekuensi 8 MHz dan timer

yang digunakan adalah timer 16 bit, maka maksimum waktu timer yang bisa dihasilkan

adalah :

TMAX = 1/fCLK x (FFFFh+1)………………………..……………….(2.5)

= 0.12Sx 65536

= 0.008192 s

Untuk menghasilkan waktu timer yang lebih lama dapat digunakan prescaler, misalnya

1024, maka maksimum waktu timer yang bisa dihasilkan adalah :

TMAX = 1/fCLK x (FFFFh+1) x N……………………………………(2.6)

= 0.125uS x 65536 x 1024

= 8.388608 s

ketika presacaler digunakan, waktu timer dapat diperpanjang namun tingkat

ketelitiannya menjadi turun. Misalnya dengan prescaler 1024 nilai timer akan

bertambah 1 setiap kelipatan 1024 pulsa dan membutuhkan waktu 1/fCLK x 1024 =

0.125us x 1024 = 128 us d i bandingkan tingkat resolusi ini jika tanpa precsaler

(0.125us).

Timer 16 Bit Normal Mode, pada mode normal, TCNT1 akan menghitung naik dan

membangkitkan interrupt Timer/Counter 1 ketika nilainya berubah dari 0xFFFF ke

0x0000. untuk menggunakan timer cukup dengan memasukkan nilai yang diinginkan ke

TCNT1 dan menunggu sampai terjadi interrupt. yang digunakan pada timer yang
19

menghitung mundur. Untuk timer yang menghitung maju, maka harus memasukkan nilai

65536-(timer value) ke dalam TCNT1.

Gambar 2.13 Blok Diagram Timer 16 Bit

Timer/Counter1 Register digunakan untuk menyimpan nilai timer yang diinginkan.

TCNT1 dibagi menjadi 2 register 8 bit yaitu TCNT1H dan TCNT1L.

Gambar 2.14 Timer/Counter1 Register

Timer Interrupt Mask Register (TIMSK) dan Timer Interrupt Flag (TIFR)

Gambar 2.15 TIMSK & TIFR

Register digunakan untuk mengendalikan interrupt mana yang diaktifkan dengan

cara melakukan setting pada TIMSK dan untuk mengetahui interrupt mana yang sedang

terjadi.
20

Tabel 2.7 TIMSK / Timer/Counter Interrupt Mask Register

Bit Symbol Fuction

7 OCIE2 Timer/Counter2 Output Compare Match Interrupt Enable .

6 TOIE2 Timer/Counter2 Overflow Interrupt Enable.

5 TICIE1 Timer1 Input Capture Interrupt Enable

4 OCIE1A Timer/Counter1A Output Compare Match Interrupt Enable .

3 OCIE1B Timer/Counter1B Output Compare Match Interrupt Enable .

2 TOIE1 Timer/Counter1 Overflow Interrupt Enable.

4 OCIE0 Timer/Counter0 Output Compare Match Interrupt Enable .

0 TOIE0 Timer/Counter0 Overflow Interrupt Enable.

Gambar 2.16 TIFR / Timer/Counter Interrupt Flag Register

Tabel 2.8 TIFR

Bit Symbol Fuction

7 OCF2 Output Compare Flag2.

6 TOV2 Timer/Counter2 Overflow Flag.

5 ICF1 Timer1 Input Capture Interrupt Flag

4 OCF1A Output Compare Flag1A.

3 OCF1B Output Compare Flag1B.

2 TOV1 Timer/Counter1 Overflow Flag.

4 OCF0 Output Compare Flag0.

0 TOV0 Timer/Counter0 Overflow Flag.


21

Timer/Counter1 Control Register B digunakan untuk mengatur mode timer,

prescaler dan pilihan lainnya.

Gambar 2.17 TCCR1B

CS12..10: Clock Select bits ;

Tiga bit pemilih prescaler timer/counter 1 dan hubungannya dengan clock eksternal

pada pin T1.

Tabel 2.9 Clock Select bits

Bahasa Pemrograman pada jenis mikrokontroler ATmega 32(L) ini menggunakan

sofeware CodeVision dengan bahasa pemrograman C untuk menuliskan program IC

sebelum diubah ke dalam ekstensi heksa.

G. ADC (Analog to digital Converter)

Merupakan fasilitas mikrokontroler yang digunakan untuk membaca data analog dan

mengubah menjadi data digital.

ADC mikrokontroler ini memiliki fitur:

1. Resolusi 10 bit dan 8 bit

2. 0.5 LSB integral tidak linear


22

3. Ketepatan mutlak ± 2 LSB

4. Waktu konversi 65 – 250 µS

5. Delapan kanal masukan

6. Tegangan revferensi internal 2,56 V

7. Dapat bekerja secara free running atau saat diperlukan saja

8. Selang tegangan masukan dari 0 – 5 VCC

9. Intrupsi dapat dibangkitka setelah konversi selesai

Inisialisasi ADC meliputi proses penentuan clock ADC pemilihan saluran tegangan

referensi ADC , format keluaran data dan mode pembacaan. Register yang menangani

ADC internal ini adalah ADMUX berfungsi menentukan tegangan referensi ADC,

format data keluaran , dan pemilihan jalur masukan Komponen ADMUX dapat dilihat

pada tabel 2.9. Register SFIOR berfungsi untuk mengatur sumber picu konversi ADC.

Komponen register ini dapat dilihat pada tabel 2.12, Regiter ADCSRA berfungsi

melakukan manajemen sinyal control dan status dari ADC, komponen bitnya dapat dilihat

pada tabel 2.14

Tabel 2.10 ADMUX

Bit 7 6 5 4 3 2 1 0

ADMUX REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0

R/W

REFS (1:0) (Reference Selection Bit), digunakan sebagai pemilih sumber tegangan

referensi dari ADC . ADLAR (ADC Left Adjust Result) digunakan untuk menentukan

konfigurasi isi dari register ADCH dan ADL sebagai tempat menyimpan hasil konversi.
23

Tabel 2.11 ADLAR 0

Bit 15 14 14 12 11 10 9 8

- - - - - - ADC9 ADC8

ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0

Bit 7 6 5 4 3 2 1 0

Tabel 2.12 ADLAR 1

Bit 15 14 14 12 11 10 9 8

ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2

ADC1 ADC0 - - - - - -

Bit 7 6 5 4 3 2 1 0

ADTS(2:0) (ADC Auto Triger Source) untuk menentukan mode dari ADC yang

digunakan. ADEN (ADC Enable) berfungsi untuk mengaktifkan ADC jika bernilai satu .

ADSC (ADC Start Converstion) akan bernilai nol jika selesai mengkonversi dan bernilai

satu jika ingin memulai konversi.

ADATE (ADC Auto Triger Enable), berhubungan dengan bit (ADTS) pada register

SFIOR . Jika bernilai satu maka menyebabkan triger otomatis akan aktif. ADIF (ADC

Intrrupt Flag) bit ini akan aktif , jika konversi telah selesai dan dapat memicu interupsi ,

selama fasilitas interupsi diaktifkan.

Tabel 2.13 SFIOR

Bit 7 6 5 4 3 2 1 0

SFIOR ADTS2 ADTS1 ADTS0 - ACME PUD PSR2 PSR10

R/W R/W R/W R/W R R/W R/W R/W R/W


24

Tabel 2.14 ADCSRA

Bit 7 6 5 4 3 2 1 0

ADCSRA ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0

R/W R/W R/W R/W R/W R/W R/W R/W R/W

Jika ADIE (ADC Interrupt Enable) bernilai bit 1 pada SREG 1 dan terjadi picuan dari

bit ADIF, maka rutin intrupsi ADC akan dijalankan.

ADPS (2:0) ( ADC Prescaler Select Bits) mendifinisikan faktor pembagi dari sumber

clock ADC .Resolusi untuk 10 bit ADC dirumuskan :

Resolusi (V) = Vref / 2 n n = resolusi ADC. …………………….(2.7)

Sedangkan Vref merupakan nilai tegangan referensi maksimal yang diberikan untuk

penggunaan ADC.

2.5 Metode Ziegler-Nichols pada Perancangan Kontroler PID [7]

Penalaan parameter kontroler PID (Proporsional Integral Diferensial) selalu didasari

atas tinjauan terhadap karakteristik yang diatur (Plant). Dengan demikian betapapun

rumitnya suatu plant, perilaku plant tersebut harus diketahui terlebih dahulu sebelum

penalaan parameter PID dilakukan.

Karena penyusunan model matematik plant tidak mudah, maka dikembangkan suatu

metode eksperimental. Metode ini didasarkan pada reaksi plant yang dikenai suatu

perubahan. Dengan menggunakan metode itu model matematik perilaku plant tidak

diperlukan lagi, karena dengan menggunakan data yang berupa kurva keluaran, penalaan

kontroler PID telah dapat dilakukan.


25

2.5.1 Pendahuluan

Keberadaan kontroler dalam sebuah sistem kontrol mempunyai kontribusi yang besar

terhadap prilaku sistem. Pada prinsipnya hal itu disebabkan oleh tidak dapat diubahnya

komponen penyusun sistem tersebut. Artinya, karakteristik plant harus diterima

sebagaimana adanya, sehingga perubahan perilaku sistem hanya dapat dilakukan melalui

penambahan suatu sub sistem, yaitu kontroler. Salah satu tugas komponen kontroler

adalah mereduksi sinyal kesalahan, yaitu perbedaan antara sinyal setting dan sinyal

aktual. Hal ini sesuai dengan tujuan sistem kontrol adalah mendapatkan sinyal aktual

senantiasa (diinginkan) sama dengan sinyal setting. Semakin cepat reaksi sistem

mengikuti sinyal aktual dan semakin kecil kesalahan yang terjadi, semakin baik kinerja

sistem kontrol yang diterapkan.

Apabila perbedaan antara nilai setting dengan nilai keluaran relatif besar, maka

kontroler yang baik seharusnya mampu mengamati perbedaan ini untuk segera

menghasilkan sinyal keluaran untuk mempengaruhi plant. Dengan demikian sistem secara

cepat mengubah keluaran plant sampai diperoleh selisih antara setting dengan besaran

yang diatur sekecil mungkin

2.5.2 Kontroler PID

Setiap kekurangan dan kelebihan dari masing-masing kontroler P, I dan D dapat saling

menutupi dengan menggabungkan ketiganya secara paralel menjadi kontroler proposional

plus integral plus diferensial (kontroller PID). Elemen-elemen kontroller P, I dan D


26

masing-masing secara keseluruhan bertujuan untuk mempercepat reaksi sebuah sistem,

menghilangkan offset dan menghasilkan perubahan awal yang besar.

Gambar 2.18 Blok diagram kontroler PID analog

Keluaran kontroller PID merupakan jumlahan dari keluaran kontroler proporsional,

keluaran kontroler integral. Gambar 2.18 menunjukkan hubungan tersebut.

Gambar 2.19 Hubungan dalam fungsi waktu antara sinyal keluaran dengan masukan

untuk kontroller PID

Karakteristik kontroler PID sangat dipengaruhi oleh kontribusi besar dari ketiga

parameter P, I dan D. Penyetelan konstanta Kp, Ti, dan Td akan mengakibatkan

penonjolan sifat dari masing-masing elemen. Satu atau dua dari ketiga konstanta tersebut
27

dapat disetel lebih menonjol dibanding yang lain. Konstanta yang menonjol itulah akan

memberikan kontribusi pengaruh pada respon sistem secara keseluruhan .

2.5.3 Penalaan Paramater Kontroler PID

Penalaan parameter kontroller PID selalu didasari atas tinjauan terhadap karakteristik

yang diatur (Plant). Dengan demikian betapapun rumitnya suatu plant, perilaku plant

tersebut harus diketahui terlebih dahulu sebelum penalaan parameter PID itu dilakukan.

Karena penyusunan model matematik plant tidak mudah, maka dikembangkan suatu

metode eksperimental. Metode ini didasarkan pada reaksi plant yang dikenai suatu

perubahan. Dengan menggunakan metode itu model matematik perilaku plant tidak

diperlukan lagi, karena dengan menggunakan data yang berupa kurva keluaran, penalaan

kontroler PID telah dapat dilakukan. Penalaan bertujuan untuk mendapatkan kinerja

sistem sesuai spesifikasi perancangan. Ogata menyatakan hal itu sebagai alat control

(controller tuning) metode pendekatan eksperimen yang akan digunakan adalah Ziegler-

Nichols .

2.5.4 Metode Ziegler-Nichols

Ziegler-Nichols pertama kali memperkenalkan metodenya pada tahun 1942. Metode

ini memiliki dua cara, metode osilasi dan kurva reaksi. Kedua metode ditujukan untuk

menghasilkan respon sistem dengan lonjakan maksimum sebesar 25%.

Gambar 2.20 Kurva respons tangga satuan yang memperlihatkan 25 % lonjakan


28

2.5.5 Metode Kurva Reaksi

Metode ini didasarkan terhadap reaksi sistem untaian terbuka. Plant sebagai untaian

terbuka dikenai sinyal fungsi tangga satuan. Kalau plant minimal tidak mengandung

unsur integrator ataupun pole-pole kompleks, reaksi sistem akan berbentuk S. Gambar

2.22 menunjukkan kurva berbentuk S tersebut. Kelemahan metode ini terletak pada

ketidak mampuan untuk plant integrator maupun plant yang memiliki pole kompleks.

Gambar 2.21 Respon tangga satuan sistem

Gambar 2.22 Kurva Respons berbentuk S.

Kurva berbentuk-s mempunyai dua konstanta, waktu mati (dead time) L dan waktu

tunda T. Dari gambar 2.22 terlihat bahwa kurva reaksi berubah naik, setelah selang waktu

L. Sedangkan waktu tunda menggambarkan perubahan kurva setelah mencapai 66% dari
29

keadaan mantapnya. Pada kurva dibuat suatu garis yang bersinggungan dengan garis

kurva. Garis singgung itu akan memotong dengan sumbu absis dan garis maksimum.

Perpotongan garis singgung dengan sumbu absis merupakan ukuran waktu mati, dan

perpotongan dengan garis maksimum merupakan waktu tunda yang diukur dari titik

waktu L.

Penalaan parameter PID didasarkan perolehan kedua konstanta itu. Zeigler dan

Nichols melakukan eksperimen dan menyarankan parameter penyetelan nilai Kp, Ti, dan

Td dengan didasarkan pada kedua parameter tersebut. Tabel 2.15 merupakan rumusan

penalaan parameter PID berdasarkan cara kurva reaksi.

Tabel 2.15 Penalaan paramater PID dengan metode kurva reaksi

Tipe Kp Ti Td

Kontroler

P T/L ~ 0

PI 0,9 T/L L/0.3 0

PID 1,2 T/L 2L 0,5L

2.6 Kendali PID Digital [8]

Kontroler adalah komponen yang berfungsi mengurangi sinyal kesalahan . Tipe

kontroler yang paling populer adalah kontroler PID .

Elemen – elemen kontroler P , I dan D masing – masing secara keseluruhan bertujuan

untuk mempercepat reaksi sebuah sistem , menghilangkan offset dan menghasilkan

perubahan awal yang besar.


30

Fungsi utama dari kontroler digital sama dengan kontroler analog .Perbedaan yang

utama yaitu konroler digital tidak dapat menerima sinyal analog langsung. Dengan

keterbatasan tersebut maka diperlukan ADC untuk mengubah sinyal analog ke bentuk

digital dalam bentuk bilangan biner dan sebaliknya DAC untuk mengubah data digital

menjadi data analog. Gambar 2. 23 memperlihatkan blok diagram sebuah kendali digital.

Pada kendali PID digital untuk memperoses algoritma PID dengan cara yang efisien

maka proses dari integral dan diferensial diubah ke dalam bentuk aljabar yang ringkas.

Bentuk aljabar yang digunakan adalah perkalian , pembagian , penjumlahan dan

pengurangan dengan mengacu pada algoritma kontroler analog.

Gambar 2.23 Blok diagram kendali digital

Transfer function dari sistem berdasarkan gambar di atas

u ⎛ 1 ⎞
( s ) = H ( s ) = Kp⎜⎜1 + + Td s ⎟⎟ ………………………………………….(2.8)
s ⎝ Ti s ⎠

Dalam domain waktu:

⎛ 1
t
de(t ) ⎞
u (t ) = KP⎜⎜ e(t )
⎝ Ti s ∫
0
e(t ) dt + Td
dt
⎟ ……………………………….(2.9)


31

Karena data E(n+1) adalah data yang akan datang dan belum tersedia , maka

perhitungan data yang akan datang digunkan data yang saat ini E(n) jika n adalah t untuk

setiap sampel waktu maka persamaan diskritnya :

i = nT
KD
V(n)= K p E(n)+ K I T ∑ E (i ) + [ E (n) − E (n − 1)] ……………………(2.10)
i =0 T

Kp + T Kp + Td
Dengan Ki = dan Kd = T = waktu sampling
Ti T

Dengan hasil penyederhanaan nilai sigma (2.9) maka di peroleh:

U(n)= u (n-1) + Kp ( e(n)- e(n-1) )+ Kie(n)+Kd(e(n)-2e(n-1)+e(n-2))...…(2.11)

2.8 Piranti Input Output [9]

Gambar 2.24 Tampilan LCD dan kaki – kakinya

Tampilan LCD merupakan karakter dengan resolusi dua baris dan masing masing

baris terdapat enam belas karakter yang bisa digunakan sesuai dengan data yang

dituliskan kedalam mikrokontroler internal LCD tersebut.

Gambar 2.25 Skematik ke mikrokontroler


32

Tabel 2.16 Pin dan Fungsi

PIN Name Function


1 VSS Ground voltage
2 VCC +5V
3 VEE Contrast voltage
Register Select
4 RS 0 = Instruction Register
1 = Data Register
Read/ Write, to choose write or read mode
5 R/W 0 = write mode
1 = read mode
Enable
6 E 0 = start to lacht data to LCD character
1= disable
7 DB0 LSB
8 DB1 -
9 DB2 -
10 DB3 -
11 DB4 -
12 DB5 -
13 DB6 -
14 DB7 MSB
15 BPL Back Plane Light
16 GND Ground voltage

Display karakter pada LCD diatur oleh pin EN, RS dan RW ,jalur EN dinamakan

Enable. Jalur ini digunakan untuk memberitahu LCD bahwa sedang mengirimkan sebuah

data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika

low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain

telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah waktu tertentu ( sesuai

dengan datasheet dari LCD tersebut ) dan berikutnya set EN ke logika low “0” lagi.

Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan dianggap
33

sebagi sebua perintah atau instruksi khusus ( seperti clear screen, posisi kursor dll ).

Ketika RS berlogika high “1”, data yang dikirim adalah data teks yang akan ditampilkan

pada tampilan LCD.

Bus data terdiri dari 4 atau 8 jalur ( bergantung pada mode operasi yang dipilih oleh

user ). Pada data 8 bit, jalur diacukan sebagai DB0 s/d DB7 jalur data

Karena menggunakan bahasa C dan sudah terdapat file LCD.h sebagi header file yang

akan disertakan kedalam mikrokontroler maka penulisan tampilan LCD menjadi lebih

mudah. Beberapa perintah dasar yang harus dipahami adalah :

lcd_init(X);

merupakan perintah untuk menginisialisasi berapa banyak ruang karakter yang akan

dipesankan nilai X maksimal adalah 16 untuk LCD 2 x16.

lcd_clear();

Perintah ini digunakan untuk menghapus tampilan dan Ram sementara LCD

sprintf(lcd_buffer,"PID Digital\nFor Heater");

Perintah ini digunakan untuk menuliskan karakter, yang terdapat dalam tanda kurung

petik dua ke dalam LCD. \n digunakan untuk memindahkan tulisan ke baris dua yang

ada dibawah..

lcd_puts(lcd_buffer);

Perintah ini digunakan untuk memasukan nilai – nilai ke dalam register tunggu sebelum

ditampilkan LCD .

Lcd_gotoxy(x,y);

Perintah yang digunakan untuk meletakan kursor pada baris x, kolom y. x dan y adalah

nilai yang besarnya 0 sampi 15.

sprintf(lcd_buffer,"SetPoint Level\nLevel:%uCm",B);
34

Perintah berikut akan menampilkan tulisan “ SetPoint Level” pada baris atas LCD dan

“Level:…..Cm” pada baris bawah. %u digunakan untuk menampilkan nilai dari variabel

B . Karena menggunakan file header LCD.h pada Codevision makan untuk koneksi

antarmuka LCD dan mikrokontroler juga harus disesuaikan seperti pada tabel berikut:

Tabel 2.17 Antarmuka LCD dan mikrokontroler

PIN LCD Keterangan PIN Mikrokontroler Keterangan

1 GND 11 GND

2 +5V 10 VCC

4 RS 22 Port C.0

5 RD 23 Port C.1

6 EN 24 Port C.2

11 D4 26 Port C.4

12 D5 27 Port C.5

13 D6 28 Port C.6

14 D7 29 Port C.7

Jalur data yang digunakan sebanyak 4 bit dan dalam 1 port sudah bisa mencukupi

kebutuhan antarmuka LCD 2x16 karakter ini. Sehingga dapat menghempat penggunaan

port pada AT mega 32.

2.9 THYRISTOR [10]

A. Pengenalan

Thyristor biasanya disebut ( penyearah semi penghantar terkendali / SCR )

penyearah. Merupakan salah satu bagian dari power device yang mampu menangani daya

yang besar. Konstruksinya terdiri dari empat lapisan sambungan pn. Thyristor bekerja
35

seperti saklar yang dapat dinyalakan dengan mengendalikan terminal “gate”-nya tetapi

tidak dapat dimatikan melalui terminal “gate”.

B. Struktur Dasar

Gambar 2.26 Tiga sambungan pn

Gambar 2.27 Simbol Thyristor

C. Simbol Thyristor

z Gambar diatas menunjukkan penampang melintang Thyristor yang terdiri dari

empat lapisan semikonduktor pn.

z Thyristor merupakan device semikonduktor paling besar.

z Dari simbol diatas dapat diketahui bahwa Thyristor adalah dioda penyearah yang

terkendali melalui gate.


36

Gambar 2.28 Grafik karakteristik

z Grafik mirip grafik karakteristik dioda; saat mendapat bias balik akan

menghantarkan arus yang sangat kecil hingga terjadi kebocoran .

z Tegangan reverse maksimum ( maximum reverse working voltage ) disingkat

VRWM dapat mencapai 7000 Volt. Pada saat bias reverse terjadi arus bocor reverse

bias yang sangat kecil yang disebut reverse curent

( IR ).

z Keadaan forward blocking terjadi ketika tegangan anoda diberi tegangan lebih

positif daripada tegangan katoda pada gambar 2.26 ,sambungan pn J1 dan J3

berada pada keadaan bias maju. Namun sambungan J2 dalam keadaan bias balik (

off state ) dan arus bocor dikenal sebagai arus off – state ID.

z Jika tegangan VAK ditingkatkan sampai mencapai nilai tertentu, sambungan J2

akan bocor ( avalanche breakdown ). Nilai tertentu tersebut dinamakan forward

breakdown voltage, VBO. Pada saat itu akan terjadi arus anode yang besar yang

berarti thyristor menghantar.

z Arus anode harus lebih besar dari holding current IH, agar diperoleh cukup banyak

muatan bebas yang melewati sambungan – sambungan sehingga devais tetap

menghantar. Jika tidak maka devais akan kembali pada keadaan forward blocking.
37

z Thyristor juga dapat dibuat menghantar dengan cara meningkatkan VAK ( dapat

merusak thyristor ). Dalam prakteknya VAK diberikan pada batas bawah nilai VBO

dan thyristor dihidupkan dengan memberikan sinyal positif antara gerbang dan

katoda.

D. Proses Penyalaan ( Turn – On Process )

Ada beberapa cara menyalakan thyristor seperti berikut:

Cahaya.

Jika cahaya diijinkan mengenai sambungan thyristor, pasangan elektron – hole

akan meningkat. Cara ini dapat dilakukan dengan membiarkan mengenai waffer

thyristor.

Arus gerbang.

Jika suatu thyristor diberi tegangan maju, injeksi arus pada gerbang dengan

memberi tegangan positif gerbang – katoda akan membuat thyristor on. Ketika

arus gerbang ditingkatkan maka tegangan forward blocking akan menurun.

2.10 Decoupler[11]

Untuk mengurangi interaksi di antara dua masukan variabel yang dikendalikan

atau mengeliminasi gangguan interaksi tersebut dibutuhkan sebuah sistem yang tepat,

yaitu mengunakan decoupling.

Dalam perancangan decoupler harus mendifiniskan hal – hal seperti berikut:

2.10.1 Variabel

Merupakan banyaknya variabel yang akan dikendalikan pada sebuah sistem proses

sehingga terdapat keluaran yang terpengaruh antara variabel satu dengan yang lainnya.
38

M1 C1
K11

K12

K21

M2 K22
C2

Gambar 2.29 Interaksi dua variabel yang dikendalikan

2.10.2 Open Loop Gain (K i j )

Merupakan perbandingan penguatan kontroler variabel i terhadap masukan ke j bila

manipulated variabel yang lain konstan.

∆ C1
K11 = …………………………………………………………(2.12)
∆ M1
M2

∆ C1
K12 = ……………………………………………………...….(2.13)
∆M2
M1

∆ C2
K 21 = ………………………………………………………….(2.14)
∆ M1
M2

∆ C2
K 22 = ……………………………………………………...…(2.15)
∆M2
M1

2.10.3 Close Loop Gain (K ' i j )

Perbandingan penguatan kontroler variabel ke i terhadap manipulasi variabel ke j bila

variabel lain konstan

∆ C1
K ' 11 = …………………………………………………..……..(2.16)
∆ M1
C2
39

∆ C1
K ' 12 = ……………………………………………………..….(2.17)
∆M2
C2

∆ C2
K ' 21 = ……………………………………………………….....(2.18)
∆ M1
C1

∆ C2
K ' 22 = ……………………………………………………..….(2.19)
∆M2
C1

2.10.4 Relative Gain

Sehingga dari kedua kedaan sebelumnya dapat diperoleh U i j atau relatif gain untuk

semua K

K 11
U 11 = …………………………………………………………...(2.20)
K '11

K 12
U 12 = …………………………………………………………..(2.21)
K '12

K 21
U 21 = …………………………………………………………..(2.22)
K ' 21

K 22
U 22 = …………………………………………………………..(2.23)
K ' 22

Perancangan decopler dapat dilakukan sebagai berikut:

Dari hasil Gain open loop diperoleh perbandingan matrik 2 x 2 yaitu dua variabel

masukan dan dua variabel keluran .C= variabel keluran dan M = variabel masukan

Tabel 2.18 Gain open loop

M1 M2

C1 K11 K12

C2 K21 K22
40

Kemudian dicari relatif Gain untuk masing - masing K sesuai dengan rumus pada

bagian relatif gain (2.9.4) ,akan diperoleh matrik 2 x 2 seperti berikut:

Tabel 2.19 Relatif Gain

M1 M2

C1 U11 U12

C2 U21 U22

Maka diperoleh pasangan yang tepat yaitu yang memiliki nilai paling besar dan

tidak negatif. Misal U11 dan U22. Perancangan pengendali yang akan digunakan yaitu C1

– M1 dan C2 – M 2.Berdasarkan grafik data hasil open loop, sedangkan U21 dan U12

dieleminasi dengan decoupler.

H1

Gv1 G11 +
Gc1 +
G21
D21

D12

G12

Gc2
+
Gv2 G22 +
H2

Gambar 2.30 Decoupler

G12( s )
D12( s ) = …………………………………………………………….(2.24)
G11( s)

G 21( s )
D 21( s) = .......………………………………………………………..(2.25)
G 22( s )
41

BAB III

PERANCANGAN
Ada pun bagian – bagian dari perancangan yang akan dibuat pada penelitian kendali

PID untuk mengatur lebih dari satu variabel input output pada pemodelan heater (Multi

variabel PID Controler for Heater Modeling) adalah sebagai berikut:

1. Driver, plant dan aktuator

1. Sensor, pengkondisi sinyal dan Zero Crossing Detector

2. Perancangan decoupler

3. Perancangan kontrol PID

4. Perancangan tampilan input output

Secara garis besar model perancangan yang akan dibuat adalah sebagai berikut:

Gambar 3.1. Alur perancangan model heater

Dalam penelitian ini sistem heater modeling digunakan untuk menjaga level

ketinggian air tertentu pada sebuah sistem pemanas air atau heater ketika terjadi
42

penyusutan volume air, akibat air di dalam tangki dipanaskan. Dengan demikian air tidak

akan habis karena ada sistem PID yang mengendalikan pompa untuk tetap memasukan air

ke tangki pada set point yang sudah ditentukan sehingga heater air tidak rusak. Proses

pemanasan air akan terus berlangsung sampai suhu air mencapai set point yang

diharapkan.

3.1 Plant dan Aktuator

Plant dan aktuator merupakan bagian dari sebuah sistem yang akan dikendalikan.

Dalam penelitian ini, sistem pengendalian menggunakan teknik kontrol PID digital.

Sistem ini terdiri dari dua bagian aktuator yaitu motor pompa air satu phasa, dan empat

heater air AC 220 / 300 W dengan plant berupa dua tangki air, satu sebagai supplay air

dan yang lain sebagai tangki pemanas air sseperti pada gambar 3.2 berikut.

1. Sensor ketinggian air

2. Tangki Bagian B

3. Heater air

4. Sensor suhu LM35

5. Pompa motor air satu fase

6. Tangki bagian A.

Gambar 3.2 Plant dan aktuator


43

3.1.1 Tangki A

Merupakan tangki tempat penampungan air yang akan diisi ke tangki B.

Tangki A memiliki sepsifikasi panjang 50 cm, lebar 30 cm dan tinggi 30 cm. Dalam

tangki terdapat sebuah motor Ac 1 fase. Motor ac tersebut merupakan motor pompa air

yang digunakan untuk memompa air dari tangki A ke tangki B.

Gambar 3.3 Plant tangki A

3.1.2 Tangki B

Tangki B merupakan tempat proses pemanas air dengan menggunakan empat heater

air masing – masing AC 220 / 300 watt dan penentu ketinggian level air berlangsung

.Semua proses dan parameter pengukuran terdapat pada tangki B. Tangki B memiliki

sepesifikasi panjang 30 cm , lebar 25cm dan tinggi 25 cm.

Gambar 3.4 Tangki B


44

3.1.3 Driver Level dan Suhu

Pada perancangan ini digunakan rancangan driver Triac yang di kendalikan melalui

kaki gate dan MOC sebagai pengaman dari bagian DC terhadap bagian AC. Pada

perancangan ini digunakan rangkaian yang di sarankan dari data sheet MOC seperti pada

gambar 3.4 . yang dikendalikan melelui PWM dari bagian input MOC

J3
R1 1200 1
R2 2
J2 J1
To Load
1 1 8 Q1
2 2 7 180 Q4008L4/TO
3 6
In
4 5 1u C1
MOC

J4
1
2
AC 220/50 Hz

Gambar 3.5 Rangkaian Driver.

3.2 Sensor, Pengkondisi Sinyal dan Zero Crossing Detector

Sensor digunakan untuk membaca keadaan yang terjadi atau alat yang digunakan

untuk mengubah satu besaran ke besaran yang lainnya. Pada penelitian ini digunakan dua

sensor, sensor suhu LM 35 dan sensor potensiometer yang dimodifikasi menjadi sensor

pengukur ketinggian air. Kedua sensor yang digunakan mengkonversi besaran suhu ke

dalam bentuk level tegangan DC ,dan ketinggian air ke dalam level tegangan DC .

3.2.1 Sensor Suhu dan Pengkondisi Sinyal


0
Sensor suhu LM 35 memiliki keluaran 10 mV/ 1 C dan setiap kenaikannya adalah

linear dan tingkat errornya sangat kecil. Pada perancangan data yang diperoleh untuk

batasan - batasan suhu digunakan adalah sebagai berikut :

Batasan bawah suhu air kamar = 240 mV

Batasan atas suhu air didih = 0.98V


45

Perancangan pengkondisi sinyal dirancang supaya bisa langsung dikonversi ke dalam

batasan – batasan penggunaan level tegangan digital. Karena suhu air tidak bisa tetap dan

selalu berubah – rubah meyesuaikan dengan suhu ruangan tempat air maka digunakan

penguat inverting dengan batasan berikut:

Tegangan puncak dari sensor = 1V

Tegangan reffrensi adc adalah =5V

Maka :

Vo R 2
AV = − = .........................................................................................(3.0)
Vi R1
5
AV = −
1
AV = −5

R1 =10K ohm

R2 =AV.10K

=50K ohm

50k
R1

VE 10k
10k R3
X3 R2 VE

X1 10k 10
R4 VE R5
VC
X2 Vo T
VC
V Sensor
VC D1

Gambar 3.6 Pengkondisi sinyal suhu

Dari gambar 3.6 diharapkan adalah tegangan keluaran setelah pengkondisi sinyal

mempunyai range 5 V pada 100 derajat celcius dengan keluran sensor sebesar 1 volt,

keluran sensor diberi buffer non inverting agar tidak terjadi jatuh tegangan. Keluaran dari

penguat non invreting adalah sinyal minus sehingga dikalikan satu kali dengan penguat

non inverting , untuk menghasilkan keluaran pengkondisi sinyal positif .


46

50k
VE
R1
241.03m -15
X2 VE
R4
347.508u -15
X1 10kVE
R3 10
240m VC -1.199 335.253u -15
10k X3 R7
240mv 15 R5
-697.297u VC 1.2
V3 10k
15
-697.404u VC 1.2
R2
15
10k R6 D1
10k

Gambar 3.7 Simulasi batas bawah pengkondisi sinyal suhu

Dari hasil simulasi menunjukan batas bawah sensor suhu pada keluaran 240 mV (suhu

air pada malam hari), setelah melewati pengkondisi sinyal memiliki keluaran 1,2 V .

Sedangkan untuk batas atas dengan keluaran sensor sebesar 1 V,setelah melewati

pengkondisi sinyal memiliki keluraan sebesar 5 V, dioda zener

(D 1) digunakan untuk membatasi keluaran pengkondisi sinyal berkisar antara 0 sampai

5,1 Volt.

50k
VE
R1
1.001 -15
X2 VE
R4
366.934u -15
X1 10kVE
R3 10
1 VC -4.998 315.857u -15
10k X3 R7
1v 15 R5
-697.128u VC 5
V3 10k
15
-697.573u VC 5
R2
15
10k R6 D1
10k

Gambar 3.8 Simulasi batas atas pengkondisi sinyal suhu

Gambar 3.9 Rangkaian buffer noninverting


47

3.2.2 Sensor Level dan Pengkondisi Sinyal

Untuk membaca ketinggian air digunakan sensor potensiometer dengan prinsip

pembagi tegangan .Sistem sensor menggunakan teknik pelampung dan tangkai yang

memutar potensio pada saat terjadi perubahan ketinggian air. Akibat terjadi perubahan

nilai hambatan potensio terjadi perubahan juga pada pembagi tegangan . Nilai perubahan

tegangan tersebut digunakan sebagai keluaran dari sensor ketinggian air

Batas bawah sensor = 2.7V pada ketinggian 0 cm

Batas atas sensor = 3.9 V pada ketinggian 18cm

Sehingga dirancang pengkondisi sinyal yang mengkonversi besarnya nilai

2.7 V menjadi 0 V, dan 3.9 V menjadi 5 V.

Gambar 3.10 Perbandingan V sensor level dan V penguatan

Dari gambar 3.10 diharapkan tegangan keluaran setelah pengkondisi sinyal

mempunyai range dari 0 sampai 5 V .Dengan memasukkan rumus (3.1) dan apabila m

sama dengan penguatan maka dapat dihitung besarnya penguatan sebagai berikut:

y 2 − y1
m= ………………………………………………………(3.1)
x 2 − x1

5−0
m=
3,9 − 2,7
m = 4,17
48

Dari rumus persamaan garis gradien seperti persamaan (3.1) dapat digunakan untuk

menghitung gain dan Vx sebagai berikut:

0 = 4,17 . 2,7 + Vo

Vo = - 11,259 V

Sehingga besarnya nilai Vout setelah keluar dari pengkondisi sinyal adalah

= 4,17 . [ Vin + ⎜ − ]
⎛ 11,259 ⎞
Vout ⎟
⎝ 4,17 ⎠

= 4,17 . [ Vin – 2,7V ]


Gain = 4,17

Vin = Vout sensor

Vx = 2,7 ( V pengurangan )

Digunakan rancangan penguat diferensial

R1 = 10k

R2 = R1 . Gain

= 10k.4,17

= 41,7K ohm = 56 k ohm

Dari perhitungan dapat diperoleh gambaran perancangan pengkondisi sinyal yang

digunakan untuk pengukuran keinggian air sebagai berikut:

Gambar 3.11 Pengkondisi sinyal level


49

Sama seperti pada pengkondisi sinyal untuk suhu D1 merupakan dioda Zener 5,1 V

yang digunakan untuk pengaman pada port input mikrokontroler.

Batas bawah pengkondisi sinyal bila disimulasikan dengan menggunakan microcap 9

adalah sebagai berikut:

Gambar 3.12 Simulasi batas bawah level

Gambar 3.13 Pengkondisi sinyal batas atas sensor level

Hasil perhitungan dan simulasi dapat diketahui bahwa setiap batas bawah sensor tidak

mencapai angka 0 V namun masih dalam orde mili volt dengan nilai masih di bawah 20

mV jika digunakan ADC dengan resolusi 8 bit adalah:

5
Vout = 256

= 19, 5 m V untuk setiap perubuhan 1 bit

Besar nilai batas bawah masing – masing sensor masih dianggap sama dengan 0 Volt.

Sehingga tidak mempengaruhi unjuk kerja sistem yang akan dirancang.


50

3.2.3 Zero Crossing Detector (ZCD)

Dirancang untuk mensinkronisasi PWM keluaran mikrokontroler yang

merupakan output hasil dari perhitungan dengan gelombang AC yang digunakan untuk

mengendalikan aktuator. Bekerja berdasarkan prinsip komparator .

Gambar 3.14 ZCD

D2 merupakan dioda zener digunakan untuk membatasi tegangan keluran menjadi 5,1 V

sehingga dapat langsung diolah mikrontroler. Gambar 3.15 merupakan hasil simulasi dari

ZCD .saat tegangan AC positif output ZCD akan menghasilkan tegangan positif dan pada

saat tegangan AC negatif output ZCD akan berada pada tegangan nol. ZCD . ZCD terjadi

pada saat transisi turun dan transisi naik komparator.

Gambar 3.15 Simulasi ZCD

3.3 Perancangan Decoupler Level dan Suhu air

Hasil data open loop pengendalian heater diperoleh empat grafik sebagai berikut :
51

Kenaikan Level Pada Saat Heater Konstan

Keluaran Sensor Level (Volt)


4

63.2%
3

0
0 10 20 30 40 50 60 70 80 90
Time(detik)

Gambar 3.16 Kenaikan level saat heater off

Penurunan Level Akibat Heater 100%

1
Keluaran Sensor level (Volt)

6
0 50 100 150 200 250 300
Time (detik)

Gambar 3.17 Penurunan level akibat heater 100 %

Penurunan Temperatur Saat Heater Konstan

1
Keluaran Sensor Suhu (Volt)

5
0 10 20 30 40 50 60 70 80
Time (detik)

Gambar 3.18 Penurunan suhu akibat motor 100%


52

Untuk gambar 3.17 pengambilan data dilakukan dengan cara pengisian tangki sampai

maksimum 14 cm kemudian pompa dimatikan, driver heter diberi sinyal masukan 5 volt

heater aktif dan menyusutkan air,level ketinggian air diukur.

Gambar 3.18 pengambilan data dilakukan dengan cara tangki di isi air 5 cm kemudian

heter diaktifkan setelah suhu mencapai 90 ° C, pompa diaktif mengisi tangki kemudian

diukur perubahan suhu air sampai ketinggian air maksimum.

Kenaikan Temperatur Saat Motor Konstan


5

4
Keluaraan Sensor Suhu (Volt)

63.2%
3

0
0 50 100 150 200 250 300 350
Time (detik)

Gambar 3.19 Kenaikan suhu saat motor off

Dari gambar empat grafik diatas diperoleh hasil yang akan digunakan dalam merancang

decoupler dan kendali PID yang sesuai. bagan persamaan sebagai berikut:

Gambar 3.20 Interaksi dua variabel


53

K11 = gambar 3.16

K12 = gambar 3.17

K 21 = gambar 3.18

K 22 = gambar 3.19

Dengan menggunakan pemodelan FIT 1 untuk perancangan dan perhitungan decoupler

diperoleh nilai – nilai perhitungan sebagai berikut:

Untuk K11 perhitungan berdasarkan gambar 3.16

5 − 0.8 100%
K= =0,84
100% 5

Dari grafik diperoleh:

L = 4 detik

T = 43 detik

τ =T–L

= 43 – 4

= 39 detik

K e −t 0 s
G ( s) =
τ s +1 dimana t0 = L

0,84 e − 4 s
G11( s ) =
39s + 1

Untuk K12 perhitungan berdasarkan gambar 3.17

0.8 − 5 100%
K= = − 0,84
100% 5

Dari grafik di peroleh:

L = 600 detik
54

T = 10800 detik

τ =T–L

= 10800 – 600

= 10200 detik

K e −t 0 s
G ( s) =
τ s +1 dimana t0 = L

− 0,84 e −600 s
G12( s ) =
10200s + 1

Untuk K21 perhitungan berdasarkan gambar 3.18

2,5 − 4,7 100%


K= = −0,44
100% 5

Dari grafik di peroleh:

L = 4 detik

T = 34 detik

τ =T–L

= 34 – 4

= 30 detik

K e −t 0 s
G ( s) =
τ s +1 dimana t0 = L

− 0,44 e −4 s
G 21( s ) =
30s + 1

Untuk K 22 perhitungan berdasarkan gambar 3.19

4,7 − 1,2 100%


K= =0,7
100% 5

Dari grafik di peroleh:

L = 100 detik
55

T = 1540 detik

τ =T–L

= 1540 – 100

= 1440 detik

K e −t 0 s
G ( s) =
τ s +1 dimana t0 = L

0,7e −100 s
G 22( s ) =
1440 s + 1

Dalam bentuk matrik 2x2 diperoleh hubungan input dan output sebagai berikut:

Tabel 3.1 Bentuk matrik 2x2

M1 M2

C1 0,84 (K11) -0,84 (K12)

C2 -0,44 (K21) 0,7 (K22)

Perhitungan relatif Gain :

K11K 22 0,84 . 0,7


µ11 = =
K11K 22 − K12 K 21 (0,84 . 0,7) − (−0,84 . − 0,44)
= 2,69

− K11K 22 0,84 . 0,7


µ11 = =−
K11K 22 − K12 K 21 (0,84.0,7) − (−0,84 . − 0,44)
= − 2,69

Tabel 3.2 Bentuk matrik 2x2 perhitungan realtif gain

M1 M2

C1 2,69(K11) digunakan -2,69

C2 -2,69 2,69(K22) digunakan


56

Diagram blok hasil pasangan yang sesuai matrik relatif gain seperti berikut:

Gambar 3.21 Decoupler

Pasangan yang tidak digunakan dieleminasi dengan decoupler.

0,84 e − 4 s − 0,84 e −600 s


G11( s ) = G12( s ) =
39s + 1 10200s + 1

− 0,44 e −4 s 0,7e −100 s


G 21( s ) = G 22( s ) =
30s + 1 1440 s + 1

G12( s ) 0,84 ⎛ 10200S + 1 ⎞ −596 s G 21( s) 0,44 ⎛ 30S + 1 ⎞ −96 s


D12( s ) = =− ⎜⎜ ⎟⎟e D 21( s) = =− ⎜ ⎟e
G11( s) 0,84 ⎝ 39S + 1 ⎠ G 22( s) 0,7 ⎜⎝ 1440S + 1 ⎟⎠

−t 0 S
Untuk perancanngan dalam mikrokontroler nilai e tidak diperhitungkan hasil

perhitungan dengan menggunakan program bantu MATLAB diperoleh:

Untuk D12(t) = 3400/13*dirac(t)-1129/169*exp(-1/39*t)

= 1.(3400/13-1129/169)

= – 6,511

Untuk D21(t) = 1/48*dirac(t)+47/69120*exp(-1/1440*t)

= 0.628.(1/48+47/69120)

= 0,00046
57

Dirac(t) merupakan fungsi impuls dengan besarnya nilai adalah sama dengan maksimum

pada saat t = 0 .

Dari perancangan keseluruan diperoleh sistem pengendalian seperti berikut:

Gambar 3.22 Perancangan PID multivariabel

Gc1(t)= out PID 1

Gc2(t)= out PID 2

Out motor = out PID 1 + out PID 2 x D12(t)

Out suhu = out PID 2 + out PID1 x D21(t)

3.4 Perancangan Kontrol PID

PID Metode Ziegler-Nichols mengacu pada gambar 3.16 dan gambar 3.19

1. Dari grafik gambar 3.16 di peroleh:

L = 4 detik

T = 43 detik

τ =T–L

= 43 – 2

= 39 detik

Menghitung nilai Kp:

T 43
Kp = 1,2 = 1,2 = 12,9
L 4
58

Menghitung nilai Ki:

Ti =2xL

=2x4

= 8 detik

KP.T 12,9.1
Ki = = = 1,6125
TI 8

Menghitung KD :

Td = 0,5 x L

= 0,5 x 4

= 2 detik

Kp .Td 12,9. 2
Kd = = = 25,8
T 1

2. Dari grafik gambar 3.19 di peroleh:

L = 10 detik

T = 150 detik

τ =T–L

= 250 – 10

= 240 detik

Menghitung nilai Kp:

T 150
Kp = 1,2 = 1,2 = 18
L 10

Menghitung nilai Ki:

Ti =2xL

= 2 x 10

= 20 detik
59

KP.T 18.1
Ki = = = 0 .9
TI 200

Menghitung Kd :

Td = 0,5 x L

= 0,5 x 10

= 5 detik

Kp .Td 18. 5
Kd = = = 90
T 1

3.5 Perancangan Input OutPut

Pada penelitian ini sebagai piranti masukan dan tampilan hasil perhitungan dari sistem

PID multivariabel dengan menggunakan decoupler, menggunakan port input output dari

mikrokontroler Atmega 32 yang memiliki konfigurasi sebagai berikut:

1. Port B digunakan untuk tampilan LCD memerlukan delapan saluran I/O .dengan 4

bit jalur data.

2. Port D pin 0,1,2,3 digunakan untuk pemberian masukan set point, dengan teknik

Up, Down Counter.

3. Port A, pin 0 dan pin 1 diberi masukan dari keluaran pengkondisi sinyal sensor

yang akan dikonversi dari data analog ke digital (ADC) dengan resolusi 8 bit.

4. Port D pin 4 dan 5 dikonfigurasikan sebagai output keluaran berupa gelombang

PWM OC1B dan OC1A.yang tersinkorinsasi dengan ZCD sehingga keluaran

PWM akan memiliki frekuensi sebesar 50 Hz sama seperti frekuensi jala – jala

PLN.

Pada tampilan LCD nilai dari pengukuran level dan suhu bisa langsung dilihat secara

bersama – sama .LCD pertama –tama akan memberikan tulisan pengantar dan menunggu
60

penekanan tombol OK, setelah penekanan tombol OK, LCD akan menampilkan meminta

masukan set point suhu dan set point level,

Gambar 3.23 ATmega 32

3.6 Perancangan Software

Penentuan tampilan LCD dan set point dapat digambarkan sebagai berikut:

Gambar 3.24 Diagram alir program sistem LCD

Diagram alir yang pertama-tama, menginisialisasi seluruh keperluan penentuan port

yang digunakan dan menginisialisasi LCD , memberi memasukan nilai set point suhu dan
61

level, setelah set point dimasukan langkah kedua adalah menunggu sinkornisasi atau

masukan dari ZCD seperti pada diagram alir berikut:

Gambar 3.25 Diagram alir program sinkronisasi

Kedua melakukan perhitungan algoritma PID, Pengambilan data sensor pada

pengendalian level dan suhu dilakukan setiap 1 detik, dilakukan setelah pelayanan

intrupsi sebanyak 50 kali, proses alogoritma PID adalah sebagai berikut:

Gambar 3.26 Diagram alir kendali PID digital


62

BAB IV

HASIL DAN PEMBAHASAN

4.1 Model Pengendali Heater

Model heater terbuat dari tangki air A , untuk memanaskan air terdapat empat

pemanas air atau heater masing – masing berdaya 300 watt. Model pemanas air ini tidak

lepas dari satu tangki B, penampung air yang terbuat dari kaca dengan motor AC untuk

memompa air ke tangki A.sistem ini dikendalikan dengan PWM hasil dari perhitungan

algoritma PID digital dengan menggunakan mikrokontroler AT Mega32.

Gambar 4.1 Pemodelan heater

Berdasarkan perancangan, pusat kendali dikemas dalam satu kotak yang berisi

driver AC, ZCD, pengkondisi sinyal level dan suhu. kendali mikrokontroler, tombol

nafigasi dan tampilan LCD.


63

Gambar 4.2 Kotak pengendali

Model kontrol heater bekerja pada sumber tegangan dc yang diproleh dengan

menggunakan power supplay komputer, sumber tegangan dc meliputi 12 volt dan -12 volt

digunakan untuk catu pengkondisi sinyal dan ZCD, 5 volt digunakan untuk catu daya

mikrokontroler LCD dan sensor. Rangkaian driver menggunakan rangkaian yang sudah

ada dalam datasheet Moc 3020.

Gambar 4.3 Driver Triac dan MOC 3020

4.2 Prinsip dan Cara Kerja

Kendali PID untuk mengatur lebih dari satu variabel input output pada pemodelan

heater (Multivariabel PID Controler for Heater Modeling) meggunakan pemanas air

pada tangki A dan pompa air elektrik pada tangki B dengan prinsip kerja air yang diisikan

ke tangki A akan dipanaskan. Akibat dari pemanasan tersebut akan megakibatkan level

ketinggian air berkurang sehingga pompa dalam tangki B akan memompa air ke tangki

A. untuk mengatur ketinggian air dan suhu dilakukan dengan memberikan set point

ketinggian air dan suhu pemanasan air pada tangki A sebelum proses pengisian tangki

berlangsung.
64

Gambar 4.4 Tampilan awal LCD

Gambar 4.4 tampilan awal LCD sebelum tombol OK ditekan .Proses pemasukan set

point terdiri dari tiga bagian yaitu pemasukan set point ketinggian air, pemasukan set

point suhu air dan validasi data yang sudah dimasukan seperti pada gambar berikut:

Gambar 4.5 Memasukan set point

Gambar 4.6 Validasi data yang dimasukan

Saat proses pengisian tangki berlangsung, ketinggian air akan terus dipantau

dengan pelampung air yang terpasang sensor potensiometer pada bagian atas tangkai

pelampung sehingga sistem kendali dapat memproses besarnya lama tegangan untuk

megendalikan PWM yang masuk ke dariver pompa air elektronik, proses pemanasan air

pada tangki A dipantau dengan menggunakan sensor LM 35. Penentuan besarnya lama

tegangan yang diberikan kedua sistem kendali diolah dengan metode PID secara digital,

dengan mengubah tegangan analog dari sensor menjadi data digital melalui ADC.

Perhitungan sebagai nilai awal dilakukan dengan cara mengurangi nilai set point dengan

tegangan keluaran sensor, yang telah dikondisikan untuk penggunaan tegangan reverensi

ADC 5.39 volt.


65

Nilai kemudian diproses dengan algoritma PID digital. Nilai koefisien parameter

PID diperoleh berdasarkan perhitungan data open loop dengan meggunakan penalaan Z-N

untuk tanggapan transien orde satu dan nilai hasil perhitungan PID digunakan untuk

menentukan lebar pulsa PWM sebagai tanggapan tegangan keluaran dengan lebar pulsa

16 bit pada tegangan 5 volt. Perhitungan PID dilakukan terus menerus selama masih ada

pembacaan sensor dan set point.

Perhitungan PID juga akan terus berlangsung walaupun pembacaan sensor sudah

mencapai set point yang telah ditentukan, hal ini digunakan untuk mengantisipasi

gangguan dari luar sistem yang dapat mengakibatkan ketidak setabilan proses

pengendalian yang sedang berlangsung.

4.2.1 Analisa Perangkat Keras

Berdasarkan perancangan pada bab tiga pemodelan heater dengan menggunakan

pengendali PID digital multivariabel terdiri dari beberapa blok bagian.

Tabel 4.1 Memperlihatkan perbedaan nilai antara perancangan dan pengukuran

No Keterangan Perancangan (v) Pengukuran (v)

1 Tegangan maksimal sensor level 5v 4,7 v

2 Tegangan minimal sensor level 0v 0.865 v

3 Tegangan maksimal sensor suhu 5 v 4.61 v

pada 92 C

4 Teganngan maksimal PWM 5v 5v

5 Tegangan referensi ADC 5.38 v 5.38v


66

4.2.2 Analisa Perangkat Lunak

Berdasarkan diagram alir maka sintaks programnya sebagai berikut:

A. Inisialisasi

Blok ini berisi tentang pendefinisian fungsi –fungsi dan variabel yang digunakan

untuk semua proses pengendalian .

#include<mega32.h>
#asm
.equ __lcd_port=0x18;//0x18 port b
#endasm
#include<lcd.h>
#include<delay.h>
#define mode_ADC 0x20;
char lcd_buffer[33];
unsigned int B,S,cacah;
unsigned int baca_adc(unsigned char pin_adc);
unsigned int Level,Suhu;
long int kp,ki,kd;
long int kp1,ki1,kd1;
//--------- inisialisasi nilai set point
int sp, sp1,M,T;
//--------- inisialisasi var
long int e0,e1,e2,e01,e11,e21;
//--------- inisialisasi var out
long int v0,v1,v01,v11;
//--------- inisialisasi temporary
long int temp1,temp2,temp11,temp21;
// penggunaan fungsi-fungsi

void io_init();
void timer_init();
void ADC_init();
void main(void)
{
io_init();
lcd_init(16);
ADC_init();
timer_init();
kp=12.9*100;//12.9
ki=1.6125*100;//1.6125
kd=24.8*100;//24.8
kp1=18*100;//18
ki1=0.9*100;//0.9
kd1=90*100;//90
e0 = 0;
e1 = 0;
e2 = 0;
v0 = 0;
v1 = 0;
temp1 =0;
temp2 = 0;
e01 = 0;
67

e11 = 0;
e21 = 0;
v01 = 0;
v11 = 0;
temp11 =0;
temp21 = 0;
OCR1B=1023;
OCR1A=1023;
T=0;
M=0;
cacah=0;

B. Set Point

Blok ini menjelaskan bagai mana memasukan nilai set point yang langsung dapat

dikenali oleh program sehingga nilai tersebut bisa langsung di olah dalam perhitungan

serta ditampilkan melalui LCD.

while(1)
{

lcd_clear();
sprintf(lcd_buffer,"PID Digital\nMikro ATmega32");
lcd_puts(lcd_buffer);
delay_ms(200);
if(PIND.0==1) //run=tombol4
break;
}

while(1)
{
if (PIND.1==1) // count UP tombol2
{B=B+1;
sp=B;
}
if (PIND.2==1) // count Down
{B=B-1;
sp=B;
}
if(B<=0)
B=14;
if(B>=14)
B=0;
lcd_clear();
sprintf(lcd_buffer,"SP.Level[3...14]\nLevel:%uCm",B);
lcd_puts(lcd_buffer);
delay_ms(200);
if(PIND.0==1) //ok tombol1
break;
}
while(1)
{

if (PIND.1==1) // count UP tombol2


{ S=S+5;
68

sp1=S;
}
if (PIND.2==1) // count Down
{ S=S-5;
sp1=S;
}
if(S<=0)
S=100;
if(S>=100)
S=0;
lcd_clear();
sprintf(lcd_buffer,"SP.Temp [30..95]\nTemperatur :%uC",S);
lcd_puts(lcd_buffer);
delay_ms(200);
if(PIND.0==1) //ok tombol1
break;
}
while(1)
{
sp=B;
sp1=S;
lcd_clear();
sprintf(lcd_buffer,"SP.Level:%uCm\nSP.Temp :%uC",sp,sp1);
lcd_puts(lcd_buffer);
delay_ms(200);
if(PIND.0==1) //run=tombol4
break;

C. Baca Sensor

Blok ini berisi tentang pembacaan keluaran sensor oleh mikrokontroler melalui

ADC yang terdapat didalam mikrokontroler tersebut:

if(cacah==50)
{
cacah=0;
Level=baca_adc(0);
Suhu=baca_adc(1);
B=Level/18.3;
S=Suhu/2.55;
lcd_clear();
sprintf(lcd_buffer,"Sensor L:%uCm\nSensor T:%uC",B,S);
lcd_puts(lcd_buffer);
}

Proses pembacaan ADC akan dilakukan secara terus menerus setiap 1 detik sekali

yang terdapat pada program utama pembacaan nilai ADC lamgsung disimpan dalam

variabel Level dan variabel Suhu sebelum ditampilkan kembali lewat LCD, nilai

Level dan Suhu akan diolah terlebih dahulu dengan menggunakan algoritma PID dan
69

Decoupler. Penggunaan tunda 1 detik digunakan untuk tunda tampilan pada LCD

agar tidak terlalu berkedip dan waktu pengambilan nilai ADC .

D.Perhitungan dan Hasil Perhitungan

Blok ini berisi tentang proses perhitungan dua PID dan hasil perhitungan tersebut

akan digunakan untuk pengndalian PWM pada register OCR1A dan OCR1B dengan

cara mengatur lebar pulsa gelombang pada frekuensi tetap:

interrupt[EXT_INT1]void ext_int1_isr(void)
{ cacah++;
M=M-(T*6.5);
OCR1B=M;
T=T+(M*0.00046);
OCR1A=T;

e0 = (sp*18.3)-Level;
//--------------------------------------- menghitung nilai proposional
temp1=e0-e1;
temp1=kp*temp1;
temp1=temp1/100;
v0=v1+temp1;
//------------------------------------------ menghitung nilai integral
temp1=ki*e0;
temp1=temp1/100;
v0=v0+temp1;
//--------------------------------------- menghitung nilai deferensial
temp1=e0+e2;
temp2=2*e1;
temp1=temp1-temp2;
temp2=temp1*kd;
temp2=temp2/100;
v0=v0+temp2;
//---------------------------mengkondisikan pwm
if(v0<100)
v0=0;
if(v0>1023)
v0=1023;
M=v0;
//------------------------- siapkan nilai untuk perhitungan berikutnya
v1=v0;
e2=e1;
e1=e0;

e01 = (sp1*2.55)-Suhu;
//--------- menghitung nilai proposional----------------------------
temp11=e01-e11;
temp11=kp1*temp11;
temp11=temp11/100;
v01=v11+temp11;
//--------- menghitung nilai integral-------------------------------
temp11=ki1*e01;
temp11=temp11/100;
70

v01=v01+temp11;
//--------- menghitung nilai deferensial----------------------------
temp11=e01+e21;
temp21=2*e11;
temp11=temp11-temp21;
temp21=temp11*kd1;
temp21=temp21/100;
v01=v01+temp21;
//----------------------menkondisikan pwm
if(v01<100)
v01=0;
if(v01>1023)
v01=1023;
T=v01;
//--------------- siapkan nilai untuk perhitungan berikutnya--------
v11=v01;
e21=e11;
e11=e01;

E.Penggunaan Fungsi – fungsi

Blok ini menjelaskan penggunaan fungsi – fungsi program yang digunakan.

unsigned int baca_adc(unsigned char pin_adc)


{
ADMUX=pin_adc|mode_ADC;
ADCSRA|=0x40;
while((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;//>>1;//ADCW>>1;
}
void timer_init()
{
TCCR1A=0xA3;
TCCR1B=0x0C; //A=8 B=64,c=256(43hz) d=1024 42 hz
TCNT1=0x0000;
}
void io_init()
{
//--------------- input data
DDRD.0=0; // sebagai masukan dari tombol
DDRD.1=0;
DDRD.2=0;
DDRD.3=0; //sebagai masukan intrupsi ekternal1
//--------------- output pwm
DDRD.4=1;// out pwm1
DDRD.5=1;// out pwm2
//--------------- seting port A 0 dan 1 sebgai input
DDRA.0=0;// sebagai masukan adc 1
DDRA.1=0;// sebagai masukan adc 2
}
// inisialisasi penggunaan adc
void ADC_init()
{
ADMUX=mode_ADC;
ADCSRA=0x87; //prescaler 85 di ganti 87
}
71

4.3 Data Hasil Percobaan

Dari hasil pengambilan data dan pengujian alat diperoleh data yang meliputi:

4.3.1 Karakteristik Sensor Level

Karakteristik Sensor Level

4
Tegangan Keluaran (Volt)

0
0 2 4 6 8 10 12 14 16
Ketinggian (Cm)

Gambar 4.7 Karakteristik sensor level

Sensor potensiometer memiliki sifat kurang linear dalam penggunaanya sedapat

mungkin digunakan pada bagian kerja yang linear di antara tegangan 1 volt sampai 5 volt.

4.3.2 Karakteristik Sensor Suhu

Karakteristik sensor suhu

4.5

3.5
Keluaran sensor LM 35 (Volt)

2.5

1.5

0.5

0
0 10 20 30 40 50 60 70 80 90 100
Celcius

Gambar 4.8 Karakteristik sensor suhu


72

Terdapat selisih antara keluaran yang diberikan sensor dan pengukuaran secara real

dengan menggunakan thermometer atau multimeter perlu kalibrasi terlebih dahulu.

4.3.3 Hasil penalaan dengan PID

Hasil pengambilan beberapa sampel set point untuk kendali ketinggian air di peroleh

data sebagai berikut:

A. Set Point 6 cm

SP Level 6cm

4
Level(Cm)

0
0 10 20 30 40 50 60 70 80
Time(S)

Gambar 4.9 Kurva tanggapan transient pada set point 6cm

Tabel 4.2 Hasil pengujian alat untuk level 6 cm

No Jenis pengamatan Set point Hasil

1 Penggaris dalam cm 6cm 6.3cm

2 Sensor level dalam volt 2.515 volt 2.63 volt

3 Tampilan LCD 6 cm 6 cm

4 td 12 detik

5 ts 41 detik

6 Kesalahaan keadaan tunak 4.57 %


73

Kesalahan keadaan tunak dihitung dengan menggunakan rumus berikut:

hasil penalaan − setpo int awal


Kesalahan keadaan tunak = x 100%
setpo int awal

Pada hasil tabel 4.2 kesalahan keadaan tunak dihitung dari keluaran sensor dalam

bentuk tegangan hal ini dilakukan untuk mempermudah perhitungan dan pengamatan

sistem.

2.613 − 2.515
Kesalahan keadaan tunak = x 100%
2.515
= 4.57%

B.Set Point 9 cm

SP Level9cm

10

6
Level(Cm)

0
0 20 40 60 80 100 120
Time(S)

Gambar 4.10 Kurva tanggapan transient pada set point 9cm

Hasil dari pengambilan data sudah dapat diketahui walaupun masih terdapat

kesalahaan keadaan tunak namun masih bisa ditoleransi karena masih di bawah dari

5%.dengan demikian dapat dinyatakan bahwa pengendali sudah stabil.


74

Tabel 4.3 Hasil pengujian alat untuk level 9 cm

No Jenis pengamatan Set point Hasil

1 Penggaris dalam cm 9cm 8.8cm

2 Sensor level dalam volt 3.79 3.758

3 Tampilan LCD 9 cm 9 cm

4 Td 12 detik

5 Ts 78 detik

6 Kesalahan keadaan tunak 0.84%

C.Set Point 12 cm

SP Level12cm

14

12

10

8
Level(Cm)

0
0 20 40 60 80 100 120
Time(S)

Gambar 4.11 Kurva tanggapan transient pada set point 12cm


75

Tabel 4.4 Hasil pengujian alat untuk level 12 cm

No Jenis pengamatan Set point Hasil

1 Penggaris dalam cm 12cm 12cm

2 Sensor level dalam volt 4.79 4.768

3 Tampilan LCD 12 cm 12 cm

4 Td 8 detik

5 Ts 82 detik

6 Kesalahan keadaan tunak 0.03%

Dari hasil pengamatan indikator lampu untuk pompa masih terjadi lampu menyala

walaupun sudah mencapai set point yang berarti bahwa pompa masih mendapat masukan

dari mikrokontroler ini karena titik minimum untuk menggerakan pompa tidak tercapai

pompa terus berosilasi pada nilai pwm tertentu.dalam hal ini sekitar 10% dari nilai PWM

Gangguan yang terjadi juga disebabkan oleh sistem pengaduk air untuk meratakan

panas air mengakibatkan air berosilasi pada titik tertentu walaupun system sudah

mencapai nilai set point.

Gangguan sistem yang lain juga disebababkan dari offset yang terdapat dalam

mikrokntroler yang mengakibatkan masih terdapat tegangan keluaran sebesar 67mv

meskipun pada saat tersebut mikrokontroler dikondisiskan pada keluaran logika 0 .

Walaupun terjadi gangguan kecil seperti pada penjelasan di atas namun sistem

pengendalian masih mampu untuk mengatasinya sehingga set point dapat tercapai dan

sistem pengendalian tetap terus berjalan dengan baik.


76

D. Set Point suhu 50° C

Dari hasil pengujian sistem kendali PID digital dengan ketinggian air 6 cm dan data

pemanasan suhu air sebesar 50 º celcius dengan sekala waktu 1:10 diperoleh hasil berikut:

SETPOINT SUHU 50C

60

50

40
Celcius

30

20

10

0
0 10 20 30 40 50 60
Time(s)

Gambar 4.12 Kurva tanggapan transient pada set point 50°C

Tabel 4.5 Hasil pengujian alat untuk suhu 50° C

No Jenis pengamatan Set point Hasil

1 Thermometer dalam C 50° 52°

2 Sensor suhu dalam volt 2.5 2.587

3 Tampilan LCD 50 C 50 C

4 Td 55 detik

5 Ts 480 detik

6 Kesalahan keadaan tunak 3.48%


77

E. Set point suhu 70° C

Dari hasil pengujian sistem kendali PID digital dengan ketinggian air 6 cm dan data

pemanasan suhu air sebesar 70 º celcius dengan sekala waktu 1:10 diperoleh hasil berikut:

SETPOINT SUHU 70 C

80

70

60

50
Celcius

40

30

20

10

0
0 10 20 30 40 50 60 70 80
Time(s)

Gambar 4.13 Kurva tanggapan trantsient pada set point 70°C

Tabel 4.6 Hasil pengujian alat untuk suhu 70° C

No Jenis pengamatan Perancangan Hasil

1 Thermometer dalam C 70° C 72° C

2 Sensor suhu dalam volt 3.5 3.59

3 Tampilan LCD 70 C 70 C

4 Td 50 detik

5 Ts 540 detik

6 Kesalahan keadaan tunak 2.57%


78

F. Set Point suhu 90° C

SETPOINT SUHU 90C

100

90

80

70

60
Celcius

50

40

30

20

10

0
0 10 20 30 40 50 60 70 80 90 100
Time(s)

Gambar 4.14 Kurva tanggapan transient pada set point 90° C

Tabel 4.7 Hasil pengujian alat untuk suhu 90° C

No Jenis pengamatan Perancangan Hasil

1 Thermometer dalam C 90° C 89° C

2 Sensor suhu dalam volt 4.5 4.51

3 Tampilan LCD 90 C 92 C

4 td 180 detik

5 ts 1600 detik

6 Kesalahan keadaan tunak 0.02%


79

Dari hasil pengamatan pada saat pengambilan data, output mikrokontroler tetap ada

meskipun sudah mencapai nilai set point yang telah ditentukan dalam sekala yang kecil ,

keadaan ini mengakibatkan sistem berosilasi dalam skala kecil pada set point tertentu dan

osilasi masih di bawah 5%.

4.4 Decoupler dan Gangguan Pengendalian dari Luar Sistem

Sistem decoupler dirancang untuk mengurangi gangguan yang saling berhubungan

antara kendali digital suhu dan kendali digital level, dari hasil pengamatan dan

pengambilan data diperoleh hasil seperti pada tabel berikut:

Tabel 4.8 Hasil pengujian sistem

NO Jenis pengamatan Set point Hasil Keterangan

1 Sensor level 6 cm 6.3 cm

2 Sensor suhu 50° C 51° C

3 Sensor level (v) 2.45 v 2.4 v

4 Sensor suhu (v) 2.55 v 2.57 v

5 Lama gangguan 60 detik

6 Lama perbaikan L 91 detik

7 Lama perbaikan S 227s

Saat sistem diberi gangguan selama 60 detik dengan cara membuka keran keluaran air

sistem berusaha untuk menyesuaikan kedaan set point yang berubah akibat penurunan

level dalam waktu yang lebih cepat dan memiliki tingkat sensitifitas penanganan yang

tinggi.
80

Sistem Decoupler

3
T=60 s
gangguan

Suhu
2.5
Level

2 T perbaikan
Keluaran Sensor (Volt)

1.5 T perbaikan L

0.5

td td

0
0 50 100 150 200 250
Time (S)

Gambar 4.15 Kurva suhu dan level dengan sistem decoupler

Pada proses yang berjalan kendali mengerjakan pengendalian sesuai dengan nilai set

point dari masing – masing parameter sampai sistem stabil setelah berjalan selama

beberapa menit, sistem diberi gangguan dari luar dengan cara membuka keran keluaran

air mengakibatkan ketinggian air berkurang. Seiring dengan berkurangnya air pompa

secara otomatis pompa menyala mengisi air ke dalam tangki sampai mencapai set point

yang sebelumya sudah diberikan, dalam pengambilan data kali ini adalah 6 cm. akibat air

lama yang suhunya sudah mencapai 50° C terkuras sebagian , dan diganti dengan air yang

baru mengakibatkan penurunan suhu. Nilai suhu yang terbaca oleh sensor sudah tidak

sesuai lagi sehingga keluaran heater aktif memanaskan air sampai pada nilai set point

yang sebelumnya sudah diberikan yaitu 50°C pada pengambilan data ini.

4.5 Sistem Tanpa Decoupler dan Gangguan dari Luar Sistem

Pengamatan juga dilakukan untuk sistem kendali digital multivariabel tanpa

menggunakan decoupler hal yang sama dilakukan dengan memberikan gangguan selama

satu menit pada sistem dari keadaan tunaknya .Data hasil pengamatan diperoleh sistem

berusaha untuk mencapai titik kestabilan sesuai dengan set point namun masih terdapat
81

error dan penanganan terhadap gangguan cenderung lebih lama dari sistem kendali

dengan menggunakan decoupler.

Sistem Non Decoupler

3 T=60s
gangguan

Suhu
2.5
Level

T perbaikan S
2
Keluaran Sensor(Volt)

T perbaikan L

1.5

0.5

td td
0
0 50 100 150 200 250
Time(S)

Gambar 4.16 Kurva suhu dan level tanpa sistem decoupler

Tabel 4.9 Perbandingan penggunaan decoupler

NO Parameter Set point Dcoupler Non Dcoupler

1 Sensor level 6 cm 6 cm 6cm

2 Sensor suhu 50° C 51° C 51° C

3 Sensor Level (v) 2.45 v 2.44 v 2.411 v

4 Sensor Suhu (v) 2.55 v 2.554 v 2.523 v

5 Ts setelah gangguan L 91 136

6 Ts setelah gangguan S 227 512

Perhitungan kesalahan keadaan tunak dari hasil sebelum terjadi gangguan dan setelah

terjadi gangguan menggunakan sistem decoupler sebagai berikut:


82

2.44 − 2.45
Kesalahan keadaan tunak Level = x 100%
2.45
= 0 .4 %

untuk suhu air sebagai berikut:

2.554 − 2.55
Kesalahan keadaan tunak Suhu = x 100%
2.55
= 0.15%

Sedangkan Perhitungan kesalahan keadaan tunak dari hasil sebelum terjadi gangguan

dan setelah terjadi gangguan tanpa menggunakan sistem decoupler sebagai berikut:

2.411 − 2.45
Kesalahan keadaan tunak Level = x 100%
2.45
=1.59%

2.523 − 2.55
Kesalahan keadaan tunak Suhu = x 100%
2.55
= 1,05%

Hasil menunjukan bahwa sistem masih stabil dan bisa mencapai titik kestabilan di

bawah 5% bahkan untuk nilai dari pengambilan data untuk suhu 50°C dengan ketinggian

air 6 cm SSE bisa mencapai di bawah 2%, dari nilai sebelum sistem mendapat gangguan

dari luar.
83

BAB V

KESIMPULAN DAN SARAN

Dari hasil pengamatan dan pengujian alat setelah dianalisa dapat disimpulkan:

1. Sistem kendali PID digital sudah bekerja dengan baik.

2. Penalaan dengan metode Z-N untuk menentukan koefisien PID dapat memperoleh

hasil yang maksimal.

3. Kesalahan kedaan tunak di bawah 5% menunjukkan sistem stabil.

4. Decoupler bekerja dengan baik dengan SSE kurang dari 2%.

Dari hasil pengamatan dan pengujian alat disarankan :

1. Menggunakan sistem pendingin yang efektif untuk setiap titik panas seperti pada

IC triac TQ 4008 pergunakan heatzink yang lebih tebal.

2. Karena alat berdaya besar ± 1200 W pergunakan alat- alat pendukung yang lebih

tahan panas seperti bagian sambungan , pemilihan kabel , penggunaan stop

kontak.

3. Menggunakan konstruksi plant yang stabil dan penempatan sensor yang tepat

dapat meminimalkan gangguan pada sensor.


84

DAFTAR PUSTAKA

[1] Ogata, K., 1985 , Teknik Kontrol Automatik, terjemahan. Erlangga, Jakarta.

[2] www.DatasheetCatalog.com, 17 agustus 2008

[3] Malvino Albert Paul ., 2003, Prinsip Prinsip Elektronika ,Salemba Teknika

[4] Boylestad, Robert and Nashelsky, louis , 1996 , Electronic Devices and Circuit

Theory. Prentice hall, Englewood Cliffs, New Jersey, Sixth edition

[5] Tobey Gene. E ., Oprational Amplifiers, McGraw-Hill Book Company

[6] Soebhakti Hendawan.,2007, Basic Micrcontroller Tutorial, Politeknik

Batam,Batam.

[7] www.elektroindonesia.com, 17 agustus 2008


[8] Gupta Sudhir ., 2002,Elements of control systems.Prentice Hall ,London

[9] Bejo Agus., 2008, C dan AVR ,edisi pertama.Graha Ilmu,Yogyakarta.

[10] Rashid Muhammad H, Elektronika Daya, PT Prenhallindo, Jakarta.

[11] Smith Carlos A ., 1997,Principles and Pratctic of Automatic Process

Control,second edition. John Wiley and Sons ,Inc ,New York.


L2-1
Perangkat Keras

J3

1 R6
2 10k
R1
R5
5v POT
1

U1

7
1
2 3 56k
+
6
2
-
U2
LF356

4
5
R3 10k
3

4
5
LF356 R8
R7 2 - J2
10k 6
R2 10k 3 + 1
J4 outL
10 D1
1

7
1
U3
7
1
2 J1 5v 1
3 3
1 +
6
12;0;-12 2 R4
-
inL
LF356 56k
4
5

Pengkondisi Level

Layout pengkondsi

R6
J1
10k
1 U1
7
1

J2 R1
2 3
3 1 +
6
2
- R2
12;0;-12 inT 50k
LF356
4
5

U2 R4
4
5

10k LF356
2 -
R5 6
3 + 10k

10k U3
7
1

7
1

R3
3
+
6
2 R7
-
10k J3
LF356
1
4
5

10 outT
D1

5v 1
Pengkondisi suhu

L2-2

Layout pengkondisi suhu

J3
R1 1200 1
R2 2
J2 J1
BEBAN
1 1 8 Q1
2 2 7 180 Q4008L4/TO
PWM 3 6
4 5 C1
MOC 3020
1.2 uf

J4
1
2
IN AC

Driver AC

Layout Driver AC
L2-3
D2
1 2

1N4001

4
5
LM741
2 -
R2 6
3 +

R U2 J3

7
1
1
2
J1
J2 out
1
2 1 D1
3 2 1 2
POWER in

1N4001

4
5
LM741
2 -
R1 6
3 +

R U1

7
1
ZCD

Layout ZCD

SW1 J19
LCD

SW PUSHBUTTON
SW2
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
2

SW PUSHBUTTON
SW3 SW88 C6 R78 D6
1uf 1k
SW MAG-SPST 4002
2

SW PUSHBUTTON D5 1 3
1

SW4
R1
LED8535
SW PUSHBUTTON POT
SW5 R5
1k

SW PUSHBUTTON
SW6 J15
1
2
SW PUSHBUTTON J11 J13
3
4 1 40 1
SW7
5 2 39 2
6 3 38 3
7 4 37 4
SW PUSHBUTTON
8 5 36 5
SW8
6 35 6
P8B
7 34 7
J16 J21
8 33 8
SW PUSHBUTTON
R6 9 32 1 1
P8A
10 31 2 2
J17 11 30 3 3
12 29 P8C
ADC adc1
R7
RESISTOR 2 13 28
1 14 27 8
15 26 7
J14
R8 XTAL8 16 25 6
RESISTOR C4 C51 17 24 5
22p 22p2 18 23 4
3 19 22 3
R9
RESISTOR 4 20 21 2 R15 R2 R3 R4 R14 R16 R17 R18
5 1 1k 1k 1k 1k 1k 1k 1k 1k
Mega 8535
6 J12
R10 7
RESISTOR 8
P8D
R11
RESISTOR
R12
RESISTOR
U1
R13 LM7805C/TO220
RESISTOR 1 3
IN OUT
C1
GN D

RESISTOR 1000uf

D7
2
1

J20 4 - + 2

1
2
in DC DIODE BRIDGE
3

Kontrol utama
L2-4

Layout kontrol utama


L3
Untuk D12(s)
>> syms s;
>> F=(10200*s+1)/(39*s+1);
>> f=ilaplace(F)
f = 3400/13*dirac(t)-1129/169*exp(-1/39*t)

Untuk D21(s)
>> syms s;
>> F=(30*s+1)/(1440*s+1);
>> f=ilaplace(F)
f =1/48*dirac(t)+47/69120*exp(-1/1440*t)
L4-1
#include<mega32.h>
#asm
.equ __lcd_port=0x18;//0x18 port b
#endasm
#include<lcd.h>
#include<stdio.h>
#include<delay.h>
#define mode_ADC 0x20;
char lcd_buffer[33];
unsigned int B,S,cacah;
unsigned int baca_adc(unsigned char pin_adc);
unsigned int Level,Suhu;
long int kp,ki,kd;
long int kp1,ki1,kd1;
//--------- inisialisasi nilai set point
int sp, sp1,M,T;
//--------- inisialisasi var error
static long int e0,e1,e2,e01,e11,e21;
//--------- inisialisasi var out
static long int v0,v1,v01,v11;
//--------- inisialisasi temporary
static long int temp1,temp2,temp11,temp21;
// penggunaan fungsi-fungsi
void io_init();
void timer_init();
void ADC_init();
void main(void)
{

io_init();
lcd_init(16);
ADC_init();
timer_init();
while(1)
{

lcd_clear();
sprintf(lcd_buffer,"PID Digital\nMikro ATmega32");
lcd_puts(lcd_buffer);
delay_ms(200);
if(PIND.0==1) //run=tombol4
break;
}

while(1)
{
if (PIND.1==1) // count UP tombol2
{B=B+1;
sp=B;
}
if (PIND.2==1) // count Down
{B=B-1;
sp=B;
}
if(B<=0)
L4-2
B=14;
if(B>=14)
B=0;
lcd_clear();
sprintf(lcd_buffer,"SP.Level[3...14]\nLevel:%uCm",B);
lcd_puts(lcd_buffer);
delay_ms(200);

if(PIND.0==1) //ok tombol1


break;
}
while(1)
{

if (PIND.1==1) // count UP tombol2


{ S=S+5;
sp1=S;
}
if (PIND.2==1) // count Down
{ S=S-5;
sp1=S;
}
if(S<=0)
S=100;
if(S>=100)
S=0;
lcd_clear();
sprintf(lcd_buffer,"SP.Temp [30..95]\nTemperatur :%uC",S);
lcd_puts(lcd_buffer);
delay_ms(200);
if(PIND.0==1) //ok tombol1
break;
}
while(1)
{
sp=B;
sp1=S;
lcd_clear();
sprintf(lcd_buffer,"SP.Level:%uCm\nSP.Temp :%uC",sp,sp1);
lcd_puts(lcd_buffer);
delay_ms(200);
if(PIND.0==1) //run=tombol4
break;
}

kp=12.9*100;//12.9
ki=1.6125*100;//1.6125
kd=24.8*100;//24.8

kp1=18*100;//18
ki1=0.9*100;//0.9
kd1=90*100;//90
e0 = 0;
e1 = 0;
e2 = 0;
L4-3
v0 = 0;
v1 = 0;
temp1 =0;
temp2 = 0;
e01 = 0;
e11 = 0;
e21 = 0;
v01 = 0;
v11 = 0;
temp11 =0;
temp21 = 0;
OCR1B=0;
OCR1A=0;
T=1023;
M=1023;
cacah=0;
// aktifkan intrupsi external 1 untuk waktu sampling.dan sinkronisasi keluaran
GICR|=0x80;
MCUCR=0x0C;
GIFR=0x50;
#asm("sei");
while(1)
{
OCR1B=M;
OCR1A=T;
}

}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fungsi-fungsi<<<<<<<<<<<<<<<<<<<<<<<<
unsigned int baca_adc(unsigned char pin_adc)
{
ADMUX=pin_adc|mode_ADC;
ADCSRA|=0x40;
while((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;//>>1;//ADCW>>1;
}
void timer_init()
{
TCCR1A=0xA3;
TCCR1B=0x0C; //A=8 B=64,c=256(43hz) d=1024 42 hz
TCNT1=0x0000;
}
void io_init()
{
//--------------- input data
DDRD.0=0; // sebagai masukan dari tombol
DDRD.1=0;
DDRD.2=0;
DDRD.3=0; //sebagai masukan intrupsi ekternal1
//--------------- output pwm
DDRD.4=1;// out pwm1
DDRD.5=1;// out pwm2
//--------------- seting port A 0 dan 1 sebgai input
DDRA.0=0;// sebagai masukan adc 1
L4-4

DDRA.1=0;// sebagai masukan adc 2


}
// inisialisasi penggunaan adc
void ADC_init()
{
ADMUX=mode_ADC;
ADCSRA=0x87; //prescaler 85 di ganti 87
}
// fungsi yang dipanggil saat terjadi intrupsi
interrupt[EXT_INT1]void ext_int1_isr(void)
{ cacah++;
M=M-(T*6.5);
OCR1B=M;
T=T+(M*0.00046);
OCR1A=T;
e0 = (sp*18.3)-Level;
//--------------------------------------- menghitung nilai proposional
temp1=e0-e1;
temp1=kp*temp1;
temp1=temp1/100;
v0=v1+temp1;
//------------------------------------------ menghitung nilai integral
temp1=ki*e0;
temp1=temp1/100;
v0=v0+temp1;
//--------------------------------------- menghitung nilai deferensial
temp1=e0+e2;
temp2=2*e1;
temp1=temp1-temp2;
temp2=temp1*kd;
temp2=temp2/100;
v0=v0+temp2;
//---------------------------mengkondisikan pwm

if(v0<100)
v0=0;
if(v0>1023)
v0=1023;
M=v0;
//------------------------- siapkan nilai untuk perhitungan berikutnya
v1=v0;
e2=e1;
e1=e0;
//===================================================================

e01 = (sp1*2.55)-Suhu;
//--------- menghitung nilai proposional----------------------------
temp11=e01-e11;
temp11=kp1*temp11;
temp11=temp11/100;
v01=v11+temp11;
//--------- menghitung nilai integral-------------------------------
temp11=ki1*e01;
L4-5
temp11=temp11/100;
v01=v01+temp11;
//--------- menghitung nilai deferensial----------------------------
temp11=e01+e21;
temp21=2*e11;
temp11=temp11-temp21;
temp21=temp11*kd1;
temp21=temp21/100;
v01=v01+temp21;
//----------------------menkondisikan pwm

if(v01<100)
v01=0;
if(v01>1023)
v01=1023;
T=v01;
//--------------- siapkan nilai untuk perhitungan berikutnya--------
v11=v01;
e21=e11;
e11=e01;

if(cacah==50)
{
cacah=0;
Level=baca_adc(0);
Suhu=baca_adc(1);
B=Level/18.3;
S=Suhu/2.55;
lcd_clear();
sprintf(lcd_buffer,"Sensor L:%uCm\nSensor T:%uC",B,S);
lcd_puts(lcd_buffer);

Anda mungkin juga menyukai