• Tidak ada hasil yang ditemukan

BAB 3. Implementasi Modul Kontrol Temperatur

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3. Implementasi Modul Kontrol Temperatur"

Copied!
22
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

R2 3K VCC 2 3 A 1 4 11 U4A TL084ACN -VCC R3 12K RA1 Input1 1 2 3 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 R A R ⎛ ⎞ = + ⎝ ⎠ (3.1) 12 1 5 3 A= +⎛= ⎝ ⎠ (3.2)

(4)

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

(5)

(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

(6)

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.

D2 1N4148 2uF C7 D7 5.1V R12 10K R11 2K2 R5 1K 1 2 3 T2BC307 1 2 3 T1 BC237 D8 1N4148 R3 10K R1 4K7 R2 4K7 3 OUT 2 IN 1 GND U7 LM78L12ACZ 1 2 3 4 5 6 7 8 9 11 10 J2 D Connector 9 C4 100nF C5100nF D9 1N4148 C6 100nF D3 BAT42 D4 BAT42 D5 BAT42 D6 BAT42 RB7 RB6 R4 680 DS1 LED2 +15 1 2 3 4 5 JP1 Header 5

(7)

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

(8)

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.

(9)

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

(10)

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

(11)

Perioda PWM dapat diatur dengan memberi nilai pada register PR2. perioda PWM dapat dihitung dengan menggunakan Persamaan 3.1.

(

2

)

1 4 OSC

(

2

)

Perioda PWM =⎡ PR + • •⎤ Tnilai 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 16

]

0,0016384 detik = 1,6384ms Perioda PWM PeriodaPWM = + • • • =

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 ) OSC ( 2 )

PWM Duty Cycle= CCPRxL CCPxCON < > •TTMR PrescalerValue

(3.2)

Sebagai contoh untuk menghitung PWM 100%, maka nilai CCPRxL:CCPxCON harus diberi 1023

1023 0,0000001 16 0,0016368 1,6368 PWM Duty Cycle s ms = • • = =

Persentase PWM diperoleh dengan membandingkan antara waktu duty cycle dengan perioda dikali 100%

(12)

1,6368 100% 1,6384ms 99,90234375% 100% ms PWM 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

(13)

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

(14)

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 A 6 EN B 11 IN1 5 IN2 7 IN3 10 IN4 12 OUT1 2 OUT2 3 OUT3 13 OUT4 14 ISEN A 1 ISEN B 15 VS 4 VSS 9 GND 8 U10 L298N RC1 RC2 OUT1 OUT2 C20 100nF +15 RC5 VCC 1 2 Pemanas (Lampu) 1 2 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.

(15)

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 2 1 3 RP2 10K RE 0 RE 1 RE 2 RD 0 RD 1 RD 2 RD 3 RD 4 RD 5 RD 6 RD 7 VCC 1 2 3 Q2 BC307 R27 47K 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.

(16)

3.1.5. Rangkaian Komunikasi serial RS232 C1+ 1 VDD 2 C1-3 C2+ 4 C2-5 VEE 6 T2OUT 7 R2IN 8 R2OUT 9 T2IN 10 T1IN 11 R1OUT 12 R1IN 13 T1OUT 14 GND 15 VCC 16 U8 MAX232ACPE C13 10uF C14 10uF C15 10uF VCC C16 10uF 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.

(17)

3.2. Perangkat Lunak 3.2.1. Program Utama Inisialisasi Baca Parameter SP, 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

(18)

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 ( ) D de t m t K e t K e t dt K dt = +

+ (3.2) dengan P I I K K T = , dan KD =KP*TD.

Secara sederhana algoritma PID bisa diungkapkan sebagai

(19)

*

P

P K= error (3.4)

* *

I

I =K jumlah error yang sudahterjadi dt (3.5)

( )

D

error saat ini error yang lalu D K

dt

= (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.

(20)

START

Set analog input Pilih Channel ADC Set Waktu Konversi ADC

Aktifkan modul ADC (Konversi ADC mulai)

Konversi Selesai?

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.

(21)

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 YDigital Output

Set Posisi Penulisan LCD

Tulis Data

END

(22)

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 Asynchronous Set baud rate 9600

Kirim ke PC END

Gambar

Gambar  3.1 K ontroler PID digital beserta aktuator dan plant-nya
Gambar 3.2 Sensor Temperatur
Gambar 3.3 Device mikrokontroler PIC18F4520 (a) dan diagram blok  mikrokontroler PIC18F4520 (b)
Gambar 3.4 Rangkaian  downloader ICSP
+7

Referensi

Dokumen terkait

Sebelum praktikan melakukan praktik mengajar baik itu yang bersifat teori maupun praktik, maka praktikan harus mempersiapkan perangkat pembelajaran yaitu berupa

Perbandingan antara kondisi Aktual fisik jalur pedestrian dengan kondisi yang seharusnya berdasarkan fungsi dan Klasifikasi Jalan pada koridor jalan Masjid Algazali.

Suatu proses yang menggunakan model statistika dalam menghubungkan hasil survei dengan sekelompok variabel prediktor yang diketahui untuk domain (area) kecil, dalam rangka

Saat ditanya mengenai karakter peserta didik SD Negeri 3 Purwodadi sebelum diselenggarakan kantin kejujuran pada tanggal 14 Mei 2013, Beliau menjawab bahwa tidak tahu

Merujuk hasil penelitian di atas, maka penelitian ini berhasil mendukung hipotesis yang menyatakan bahwa terdapat pengaruh positif antara faktor kebermanfaatan terhadap penerimaan

Melihat potensi, ancaman dan prospek untuk pemberdayaan masyarakat tersebut penulis merasa penting untuk dilakukan penelitian tentang analisis kelayakan pemanfaatan danau Kurapan

Post partum partum adalah adalah masa masa pulih pulih kembali kembali dari dari persalinan persalinan sampai sampai alat-alat alat-alat kandung kandung kembali

 Suatu alat di beli dengan harga 500 juta rupiah dengan perkiraan nilai sisa 75 juta rupiah alat tersebut mempunyai nilai umur ekonomis 5 tahun maka deprisiasi