BAB 3 Implementasi Modul Kontrol...

22
10 BAB 3 Implementasi Modul Kontrol Temperatur 3.1. Perangkat Keras Kontroler PID Digital dan plant Gambar 3.1 menunjukkan kontroler PID digital beserta plant dan aktuatornya. Modul kontrol temperatur terdiri dari satu buah resistor variabel (Tuning) yang berfungsi sebagai pengatur setting point (SP) dan parameter- parameter kontroler PID (K P , K I , K D ). Nilai parameter yang telah ditentukan dengan menggunakan resistor variabel tersebut kemudian dimasukan dengan penekanan tombol 1. parameter yang pertama dimasukkan adalah SP, kemudian K P , K I , dan diakhiri dengan pemasukan K D . Dengan penekanan tombol 1 sekali lagi sistem kontrol temperatur akan berjalan. Modul kontrol temperatur yang dirancang menggunakan dua buah mikrokontroler PIC18F4520. Mikrokontroler yang pertama berfungsi sebagai kontroler yang akan mengolah data yang masuk yaitu error dan parameter- parameter kontrol PID (K P , K I , dan K D ) untuk menghasilkan sinyal kontrol. Sinyal kontrol yang dihasilkan dari mikrokontroler kemudian dikonversi ke dalam bentuk analog dengan bentuk sinyal PWM (pulse-width modulation), sinyal kontrol ini kemudian dikuatkan lalu dikirimkan ke aktuator untuk mengontrol temperatur plant. Aktuator yang digunakan dalam modul kontrol ini berupa lampu sebagai pemanas (Pemanas 1) dan kipas (Pendingin 1) yang berfungsi sebagai pendingin. Respon temperatur dari plant kemudian dikembalikan ke mikrokontroler melalui

Transcript of BAB 3 Implementasi Modul Kontrol...

Page 1: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

10

BAB 3

Implementasi Modul Kontrol Temperatur

3.1. Perangkat Keras Kontroler PID Digital dan plant

Gambar 3.1 menunjukkan kontroler PID digital beserta plant dan

aktuatornya. Modul kontrol temperatur terdiri dari satu buah resistor variabel

(Tuning) yang berfungsi sebagai pengatur setting point (SP) dan parameter-

parameter kontroler PID (KP, KI, KD). Nilai parameter yang telah ditentukan

dengan menggunakan resistor variabel tersebut kemudian dimasukan dengan

penekanan tombol 1. parameter yang pertama dimasukkan adalah SP, kemudian

KP, KI, dan diakhiri dengan pemasukan KD. Dengan penekanan tombol 1 sekali

lagi sistem kontrol temperatur akan berjalan.

Modul kontrol temperatur yang dirancang menggunakan dua buah

mikrokontroler PIC18F4520. Mikrokontroler yang pertama berfungsi sebagai

kontroler yang akan mengolah data yang masuk yaitu error dan parameter-

parameter kontrol PID (KP, KI, dan KD) untuk menghasilkan sinyal kontrol. Sinyal

kontrol yang dihasilkan dari mikrokontroler kemudian dikonversi ke dalam bentuk

analog dengan bentuk sinyal PWM (pulse-width modulation), sinyal kontrol ini

kemudian dikuatkan lalu dikirimkan ke aktuator untuk mengontrol temperatur

plant. Aktuator yang digunakan dalam modul kontrol ini berupa lampu sebagai

pemanas (Pemanas 1) dan kipas (Pendingin 1) yang berfungsi sebagai pendingin.

Respon temperatur dari plant kemudian dikembalikan ke mikrokontroler melalui

Page 2: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

11

sensor temperatur untuk dievaluasi error-nya. Sensor temperatur yang digunakan

adalah LM35 dengan karakteristik 10 mV/0C.

ADC Kontroler DAC Aktuator Plant

Gangguan

ADC

SP Y(t)+

_ADC Kontroler DAC Aktuator Plant

Gangguan

ADC

SP Y(t)+

_

Gambar 3.1 Kontroler PID digital beserta aktuator dan plant-nya

Mikrokontroler yang kedua berfungsi sebagai penghasil sinyal gangguan

yang dibentuk dari pemanas 2 dan pendingin 2. Penekanan tombol 2 akan

Page 3: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

12

menyalakan pemanas 2, penekanan tombol 3 akan menyalakan pendingin 2, serta

penekanan tombol 4 akan mematikan pemanas2 dan pendingin 2.

3.1.1. Rangkaian sensor temperatur

R23K

VCC

2

31A

411

U4ATL084ACN

-VCC

R312K

RA1Input1

123

LM35 VCC

Gambar 3.2 Sensor Temperatur

Sensor temperatur yang ditunjukkan dalam Gambar 3.2 menggunakan

LM35 dengan karakteristik 10 mV/0C6). Pada suhu 100 0C, keluaran LM35 akan

bernilai 1V sehingga agar mendapatkan nilai ADC maksimum pada 100 0C, maka

output dari LM35 dikalikan 5 kali sehingga akan bernilai 5 V pada saat suhu 100

0C.

3

2

1 RAR

⎛ ⎞= +⎜ ⎟

⎝ ⎠ (3.1)

121 53

A ⎛ ⎞= + =⎜ ⎟⎝ ⎠

(3.2)

Page 4: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

13

Sinyal dari penguat ini kemudian masuk ke pin RA1 (AN1)

mikrokontroler PIC18F4520. ADC yang digunakan berupa ADC internal dengan

resolusi 10 bit.

3.1.2. Mikrokontroler PIC18F4520

(a)

Page 5: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

14

(b)

Gambar 3.3 Device mikrokontroler PIC18F4520 (a) dan diagram blok

mikrokontroler PIC18F4520 (b)

Mikrokontroler yang digunakan sebagai pengontrol adalah PIC18F4520

dari keluarga microchip. Mikrokontroler ini memiliki fitur:

1. 100.000 kali baca/tulis flash memori

2. Single-supply 5V in circuit

Page 6: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

15

3. Pemrograman menggunakan ICSP (In Circuit Serial Programming)

melalui dua kabel

4. 32 Kbyte flash memori

5. 2 sumber PWM

6. 3 sumber interupsi eksternal

7. 3 timer

8. Komunikasi serial (USART)

9. 13 channel ADC internal 10 bit

10. 36 pin I/O yang terbagi ke dalam 5 port

File hexa yang telah dibuat dengan menggunakan software aplikasi

MPLAB dimasukkan ke dalam mikrokontroler dengan menggunakan rangkaian

ICSP seperti terlihat pada Gambar 3.4.

D21N4148

2uFC7

D75.1V

R1210K

R112K2

R51K

1

2

3 T2BC307

1

2

3

T1BC237

D81N4148

R310K

R14K7

R24K7 OUT3

2

IN 1

GND

U7 LM78L12ACZ

1

2

3

4

5

6

7

8

9

11

10

J2

D Connector 9

C4100nF

C5100nF

D91N4148

C6100nF

D3

BAT42

D4

BAT42

D5BAT42

D6BAT42

RB7

RB6

R4680

DS1LED2

+15

12345

JP1

Header 5

Gambar 3.4 Rangkaian downloader ICSP

Page 7: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

16

Sedangkan software programmer yang digunakan untuk mendownloadkan

program (file hex) ke dalam mikrokontroler digunakan WinPIC seperti

ditunjukkan pada Gambar 3.5.

Gambar 3.5 Programmer WINPIC

3.1.2.1. Port I/O mikrokontroler

Mikrokontroler PIC18F4520 memiliki 36 buah pin I/O yang terbagi ke

dalam 5 buah port yaitu 8 pin pada PORTA, 8 pin pada PORTB, 8 pin pada

PORTC, 8 pin pada PORTD, dan 4 pin pada PORTE. Dari 32 pin I/O yang

dimiliki oleh mikrokontroler PIC18F4520 terdapat 2 pin yang biasa digunakan

untuk osilator eksternal, 1 pin yang digunakan untuk mereset mikrokontroler, dan

13 pin bisa digunakan sebagai input ADC seperti terlihat pada gambar 3.3(b).

Page 8: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

17

Fungsi port sebagai input atau output dikontrol melalui register yang

bernama register TRIS. Register TRIS harus diberi nilai nol untuk membuat port

I/O berfungsi sebagai output, dan diberi nilai 1 untuk membuat port berfungsi

sebagai input.

3.1.2.2. ADC internal

Mikrokontroler bekerja secara digital sehingga jika ada sinyal analog yang

akan masuk pada mikrokontroler, sinyal ini harus dikonversi terlebih dahulu ke

dalam bentuk digital. Mikrokontroler PIC18F4520 telah dilengkapi dengan ADC

(Analog to Digital Converter) internal sebanyak 13 channel dengan resolusi

sebesar 10 bit.

Page 9: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

18

Gambar 3.6 Diagram blok ADC internal

Gambar 3.6 menunjukkan diagram blok ADC internal yang terdapat pada

mikrokontroler PIC18F4520. Mikrokontroler ini dilengkapi juga dengan

multiplexer yang berguna untuk memilih channel input analog yang akan

digunakan. Secara umum, kerja dari modul ADC ini dikontrol oleh 3 register yaitu

ADCON0, ADCON1, dan ADCON 2. ADCON0 berfungsi untuk mengontrol

operasi modul ADC yang digunakan, ADCON1 berfungsi sebagai pengontrol

konfigurasi pin-pin pada port yang digunakan (pin yang digunakan untuk input

Page 10: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

19

ADC harus dikonfigurasi pada mode analog), sedangkan ADCON2 berfungsi

sebagai pengatur sumber clock dari modul ADC yang digunakan. Hasil dari

konversi ADC ini kemudian disimpan ke dalam 2 register yaitu ADRESH :

ADRESL, byte tinggi disimpan di ADREH sedangkan byte rendah disimpan di

ADRESL.

Pada aplikasi yang dibuat, channel AN0 digunakan sebagai input dari

sensor yang berfungsi sebagai feed back bagi sistem kontrol yang dibuat.

3.1.2.3. PWM (Pulse Width Modulator)

Mikrokontroler PIC18F4520 terdapat dua buah pin yang bisa

mengeluarkan sinyal PWM yaitu CCP1 dan CCP2. Dalam mode ini pin CCPx

akan menghasilkan output PWM dengan resolusi 10 bit. Sebuah output PWM

(Gambar 3.7) mempunyai waktu dasar (perioda) dan waktu pada saat sinyal

output berada pada logika High (duty cycle). Frekuensi dari PWM merupakan

kebalikan dari periodanya (1/perioda).

Gambar 3.7 Output PWM

Page 11: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

20

Perioda PWM dapat diatur dengan memberi nilai pada register PR2.

perioda PWM dapat dihitung dengan menggunakan Persamaan 3.1.

( ) ( )2 1 4 2OSCPerioda PWM PR T nilai PrescaleTMR= + • • •⎡ ⎤⎣ ⎦ (3.1)

Dalam penelitian ini digunakan PR2 sebesar 0xff atau 256 dalam bilangan

desimal, dan nilai prescaler timer 2 yang digunakan sebesar 16. pada rangkaian

aplikasi ini digunakan kristal (oscillator) sebesar 10 MHz sehingga Tosc sebesar

1/10MHz = 0,0000001 detik. Dengan memasukan data-data di atas ke dalam

persamaan 3.1 diperoleh perioda PWM.

[ ]255 1 4 0,0000001 160,0016384 detik = 1,6384ms

Perioda PWMPeriodaPWM

= + • • •

=

PWM duty cycle diperoleh dengan memberi nilai pada CCPRxL dan

CCPxCON<5:4>. PWM duty cycle ini memiliki resolusi 10 bit. Byte tinggi

disimpan ke CCPRxL dan dua bit rendah disimpan ke CCPxCON<5:4>. Nilai

duty cycle bisa dihitung dengan Persamaan 3.2

( : 5 : 4 ) ( 2 )OSCPWM Duty Cycle CCPRxL CCPxCON T TMR PrescalerValue= < > • • (3.2)

Sebagai contoh untuk menghitung PWM 100%, maka nilai

CCPRxL:CCPxCON harus diberi 1023

1023 0,0000001 160,0016368 1,6368

PWM Duty Cycles ms

= • •= =

Persentase PWM diperoleh dengan membandingkan antara waktu duty

cycle dengan perioda dikali 100%

Page 12: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

21

1,6368 100%1,6384ms99,90234375% 100%

msPWM

PWM

= •

= ≈

Dari hasil perhitungan, persentase PWM maksimum PWM diperoleh sebesar

99,9% mendekati 100%.

3.1.2.4. Komunikasi serial mode asinkron (EUSART Asynchronous )

Modul EUSART (Enhanced Universal Synchronous Asynchronous

Receiver Transmitter) merupakan salah satu komunikasi serial yang

memungkinkan untuk berkomunikasi dengan PC atau aplikasi lainnya. Data yang

dikirim maupun diterima oleh mikrokontroler akan disimpan terlebih dahulu

dalam buffer. Buffer untuk mengirimkan data adalah TXREG sedangkan buffer

yng digunakan pada saat menerima data adalah RCREG.

Terdapat dua jenis dari EUSART yaitu mode synchronous dan mode

asynchronous. EUSART mode synchronous melakukan komunikasi antar dua

prosesor dengan menggunakan satu buah oscillator atau dua buah osilator yang

tepat sama baik itu frekuensinya maupun waktu pulsa pada osilator pada keadaan

high dan low. Hal ini tentu sangat sulit diperoleh jika menggunakan dua buah

osilator. Sedangkan EUSART mode Asynchronous melakukan komunikasi data

antar dua prosesor dengan menggunakan dua sumber osilator yang berbeda.

Komunikasi EUSART mode asybchronous melibatkan tiga register

kontrol yaitu TXSTA, RCSTA dan BAUDCON. TXSTA berfungsi sebagai

pengontrol pengiriman data dari mikrokontroler ke PC, RCSTA berfungsi sebagai

pengontrol penerimaan data dari PC ke mikrokontroler, sedangkan BAUDCON

Page 13: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

22

berfungsi sebagai pengatur baudrate yang digunakan. Baudrate berpengaruh pada

kecepatan transfer data yang dilakukan, biasanya menggunakan satuan bps (bit

per second). Baud rate ini dihasilkan oler baud rate generator (BRG).

BRG menyediakan 8 bit atau 16 bit generator yang mendukung pada

komunikasi serial baik itu mode synchronous maupun asynchronous. Pada

dasarnya BRG beroperasi pada mode 8 bit. Agar beroperasi pada mode 16 bit,

BRG16 (BAUDCON<3>) harus diset menjadi berlogika 1.

SPBRGH:SPBRG merupakan sepasang register yang mengontrol perioda

timer yang berjalan bebas. Dalam mode asynchronous bit BRGH(TXSTA<2>)

dan BRG16(BAUDCON<3>) juga ikut mengontrol baud rate. Pada baudrate

synchronous bit BRG tidak berpengaruh pada baud rate. Tabel 3.1 menunjukkan

persamaan untuk pehitungan baud rate.

Tabel 3.1 Persamaan Baudrate

Konfigurasi bit

SYNC BRG16 BRGH BRG/EUSART MODE Persamaan Baud Rate

0 0 0 8-bit/Asynchronous FOSC/[64(n+1)]

0 0 1 8-bit/Asynchronous

0 1 0 16-bit/Asynchronous FOSC/[16(n+1)]

0 1 1 16-bit/Asynchronous FOSC/[4(n+1)]

Page 14: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

23

1 0 x 8-bit/Asynchronous

1 1 x 16-bit/Asynchronous

Lebih lengkapnya dapat dilihat pada table baud rate untuk mode asynchronous

pada Lampiran 1. Pada penelitian ini digunakan EUSART mode asynchronous,

mode 8 bit dan baud rate 19200.

3.1.3. Rangkaian aktuator

EN A6

EN B11

IN15

IN27

IN310

IN412 OUT1 2

OUT2 3

OUT3 13

OUT4 14

ISEN A 1

ISEN B 15

VS 4VSS 9

GND8

U10

L298N

RC1RC2

OUT1OUT2

C20

100nF

+15

RC5

VCC

12

Pemanas (Lampu)

12

Pendingin (Kipas)

Gambar 3.8 Rangkaian driver PWM

Output PWM dari mikrokontroler keluar melalui pin RC1 dan RC2 seperti

diberikan pada Gambar 3.8. PWM ini mempunyai daya yang lemah sehingga

perlu dikuatkan lagi dayanya untuk mengaktifkan kipas dan lampu. Dalam

penelitian ini digunakan IC driver L298N sebagai penguat daya.

Page 15: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

24

3.1.4. Tampilan peraga LCD

+0 +5 Cn Rs

Rw E

D0

D1

D2

D3

D4

D5

D6

D7 15 16 A

K

LCD2X16

21

3RP2

10K

RE

0R

E1

RE

2R

D0

RD

1R

D2

RD

3R

D4

RD

5R

D6

RD

7

VCC

1

2

3

Q2BC307

R2747K

VCC

Gambar 3.9 Rangkaian Peraga LCD

LCD pada aplikasi ini berfungsi sebagai display dari suhu yang terukur,

setting point (SP), KP, KI, dan KD. LCD yang digunakan pada aplikasi ini adalah

LCD dot matrks 16x2 yang dapat menampilkan 32 karakter dalam dua baris.

Tampilan peraga LCD menggunakan dua port mikrokontroler yaitu Port D

sebagai komunikasi data dan Port E sebagai pengontrol LCD. Resistor variabel

RP2 dipakai sebagai pembagi tegangan yang berfungsi untuk mengatur kontras

LCD.

Page 16: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

25

3.1.5. Rangkaian Komunikasi serial RS232

C1+1 VDD 2

C1-3

C2+4

C2-5

VEE 6

T2OUT 7

R2IN 8R2OUT9

T2IN10 T1IN11

R1OUT12 R1IN 13

T1OUT 14

GND15

VCC 16

U8

MAX232ACPE

C13

10uF

C14 10uF

C15

10uF

VCC

C1610uF

RC6

RC7

1

2

3

4

5

6

7

8

9

11

10

JP3

D Connector 9

Gambar 3.10 Rangkaian komunkasi serial RS232

Modul kontrol yang dibuat dilengkapi pula dengan komunikasi serial

RS232 untuk berkomunikasi dengan PC. Tegangan yang keluar dari PC (RS232)

sebesar +3V sampai +25V untuk logika 0, dan -3V sampai -25V untuk logika 1.

Sinyal ini perlu dikonversi dulu ke bentuk TTL sebelum masuk ke aplikasi

(mikrokontroler), dan juga sebaliknya sinyal dari mikrokontroler perlu dikonversi

dulu ke level RS232 sebelum masuk ke port serial PC. Konverter yang paling

mudah digunakan adalam MAX-232. Di dalam IC ini terdapat Charge Pump yang

yang akan membangkitkan tegangan +10V dan -10V dari sumber tegangan +5V

tungal.

Dalam aplikasi ini nilai temperatur yang terukur akan dikirimkan ke PC

sekitar setiap 1 detik.

Page 17: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

26

3.2. Perangkat Lunak

3.2.1. Program Utama

Inisialisasi

Baca ParameterSP, KP, KI, KD

PID Kontroler

Update PWM

Program Utama

START

dt =0,1 detik?

ya

tidak

Baca Temperatur Plant

Hitung Error Temperatur

Kirim Data Temperatur Ke

LCD

t = 1 detik?

Kirim Data Temperatur ke PC

Ya

Tidak

Ya

Gambar 3.11 Diagram alir kontroler PID Digital

Page 18: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

27

Perangkat lunak yang diaplikasikan dalam mikrokontroler diawali dengan

inisialisasi (Gambar 3.11). Inisialisasi berfungsi untuk menginisialisasi port yang

akan digunakan sebagai input atau output, penginisialisasian komunikasi serial,

penginisialisasian ADC, penginisialisasian penulisan ke LCD, penginisialisasian

PWM, serta penginisialisasian interupsi eksternal dan timer.

Tahap selanjutnya program dilakukan dengan membaca parameter-

parameter yang dibutuhkan (SP, KP, KI, KD). Pembacaan ini memanfaatkan

resistor variable yang difungsikan sebagai pembagi tegangan yang mana nilai

tegangannya bisa diatur, data tegangan dari resistor variabel kemudian

dikonversikan ke bentuk digital oleh ADC internal. Setiap terjadi interupsi

eksternal, hasil pembacaan ADC disimpan di memori dalam mikrokontroler.

Terdapat empat kali interupsi eksternal, pertama untuk menentukan SP, kedua

untuk menentukan KP, ketiga untuk menentukan KI, keempat untuk menentukan

KD. Jadi, keempat parameter tersebut akan tersimpan semuanya di mikrokontroler,

interupsi yang kelima berfungsi untuk memerintahkan mikrokontroler

mengeksekusi tahap selanjutnya.

Setelah parameter-parameter disimpan, nilai ini akan dikontrol dengan

menggunakan algoritma PID,

( )( ) ( ) ( )P I Dde tm t K e t K e t dt K

dt= + +∫ (3.2)

dengan PI

I

KKT

= , dan *D P DK K T= .

Secara sederhana algoritma PID bisa diungkapkan sebagai

PID P I D= + + (3.3)

Page 19: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

28

*PP K error= (3.4)

* *II K jumlaherror yang sudahterjadi dt= (3.5)

( )D

error saat ini error yang laluD Kdt

−= (3.6)

Dengan dt adalah perubahan waktu antara error yang terjadi saat ini

dengan error sebelumnya, dt bisa dsebut juga lamanya satu siklus kontroler

terjadi. Nilai dt pada kontroler ini sebesar 0,1 detik dengan memanfaatkan fasilitas

timer dari timer3 pada mikrokontroler PIC18F4520, tetapi nilai temperatur (dalam

bentuk digital) yang dikirimkan ke PC dilakukan selama 1 detik sekali.

Hasil dari PID kontroler ini kemudian akan memperbaharui duty cycle dari

PWM yang dihasilkan. Kemudian temperatur plant akan diukur oleh sensor dan

kemudian akan diperoleh error baru. Peristiwa ini akan terus menerus dilakukan

sampai sistem dimatikan.

Proses pembaharuan duty cycle terjadi jika ada error yang terjadi,

pembaharuan duty cycle tidak akan dilakukan jika tidaka ada error yang terjadi.

Kontroler PID digital bekerja berdasarkan error yang terjadi.

3.2.2. Program Pendukung

3.2.2.1. Subrutin program ADC

ADC yang digunakan dalam aplikasi kontrol temperatur ini adalah channel

0 (AN0) dan channel 1 (AN1). AN0 berfungsi untuk menentukan setting awal

seperti setting point (SP), KP, KI, KD. sedangkan AN1 berfungsi untuk

mengkonversi nilai tegangan yang diterima dari sensor suhu ke dalam bentuk

digital. Diagram alir untuk proses konversi ADC terlihat pada Gambar 3.12.

Page 20: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

29

START

Set analog inputPilih Channel ADC

Set Waktu Konversi ADC

Aktifkan modul ADC(Konversi ADC mulai)

KonversiSelesai?

Baca Buffer ADC

END

Tidak

Ya

Gambar 3.12 Diagram alir konversi ADC internal

3.2.2.2. Subrutin program PWM

PWM digunakan untuk mengontrol daya yang digunakan untuk pemanas

atau pendingin. Persentase daya untuk pemanas atau pendingin sebanding pada

persentasi duty cycle pada PWM yang digunakan. Diagram alir pengontrolan

PWM terlihat pada Gambar 3.13.

Page 21: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

30

START

Set Perioda PWM

Set Duty Cycle

END

Gambar 3.13 Diagram alir generator PWM

3.2.2.3. Subrutin peraga LCD

Peraga LCD menggunakan dua port yaitu PORTD dan PORTE. PORTD

berfungsi sebagai jalur komunikasi data dan PORTE berfungsi sebagai jalur

kontrol. Diagram alir penulisan LCD ditunjukkan pada Gambar 3.14.

START

PORTD:PORTE Digital Output

Set Posisi Penulisan LCD

Tulis Data

END

Gambar 3.14 Diagram alir penulisan LCD

Page 22: BAB 3 Implementasi Modul Kontrol Temperaturdigilib.itb.ac.id/files/disk1/548/jbptitbpp-gdl-suryadinim-27355-4... · Sinyal dari penguat ini kemudian masuk ke pin ... Pada penelitian

31

3.2.2.4. Subrutin komunikasi serial RS232

Komunikasi serial RS232 digunakan untukmengirimkan nila KP, KI, KD,

dan SP pada proses kontrol dimulai. Nilai temperatur sebenarnya yang terukur

dikirimkan setiap satu detik sekali. Diagram alir pengiriman data secara serial ke

PC terlihat pada Gambar 3.15.

START

Set mode 8 bit AsynchronousSet baud rate 9600

Kirim ke PC

END

Gambar 3.15 Diagram alir komunikasi serial RS232