daftar pustaka - · pdf filedaftar pustaka 1. suryadi. 2005. perancangan dan implementasi...

57
52 DAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 (Tugas Akhir). Program Studi Fisika FMIPA ITB. 2. Ogata, Katsuhiko. 1985. Teknik Kontrol Automatik (Sistem Pengaturan) (Edisi Terjemahan). Jakarta: Erlangga. 3. Philips, Chares L., Harbor, Royce D. 1996. Sistem Kontrol: Dasar-dasar (Feedback control System) (Edisi Terjemahan). Jakarta: PT Prenhallindo. 4. Hakim, Ilham R. 2006. Pengontrol PID (slide kulliah Kontrol Otomatik, TF3202). ITB 5. Ogata, Katsuhiko. 1997. Modern Control Engineering, New Jersey: Prentice Hall. 6. Fraden, Jacob. 1996. Handbook of Modern Sensor. Baltimore: United Book Press, Inc 7. Y. A. Çengel and M. A. Boles.2002. Thermodynamics An Engineering Approach, 4 th ed. Boston: McGraw Hill. 8. Coughlin, Robert F., Driscoll, Frederick F. 1993. Operational Amplifier & Leinear Integrated Circuits 5 th . New Jersey: Pretince-Hall. 9. Sutrisno. 1986. Elektronika Jilid 2. Bandung: ITB 10. Hartono, Jogianto. 2002. Konsep Dasar Pemrograman Bahasa C. Yogyakarta: Andi Yogyakarta.

Upload: duongdung

Post on 05-Feb-2018

227 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

52

DAFTAR PUSTAKA

1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol

Temperatur Berbasis Mikrokontroler PIC16F877 (Tugas Akhir). Program

Studi Fisika FMIPA ITB.

2. Ogata, Katsuhiko. 1985. Teknik Kontrol Automatik (Sistem Pengaturan)

(Edisi Terjemahan). Jakarta: Erlangga.

3. Philips, Chares L., Harbor, Royce D. 1996. Sistem Kontrol: Dasar-dasar

(Feedback control System) (Edisi Terjemahan). Jakarta: PT Prenhallindo.

4. Hakim, Ilham R. 2006. Pengontrol PID (slide kulliah Kontrol Otomatik,

TF3202). ITB

5. Ogata, Katsuhiko. 1997. Modern Control Engineering, New Jersey:

Prentice Hall.

6. Fraden, Jacob. 1996. Handbook of Modern Sensor. Baltimore: United

Book Press, Inc

7. Y. A. Çengel and M. A. Boles.2002. Thermodynamics An Engineering

Approach, 4th ed. Boston: McGraw Hill.

8. Coughlin, Robert F., Driscoll, Frederick F. 1993. Operational Amplifier &

Leinear Integrated Circuits 5th. New Jersey: Pretince-Hall.

9. Sutrisno. 1986. Elektronika Jilid 2. Bandung: ITB

10. Hartono, Jogianto. 2002. Konsep Dasar Pemrograman Bahasa C.

Yogyakarta: Andi Yogyakarta.

Page 2: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

53

11. Budioko, Totok. 2005. Belajar dengan Mudah dan Cepat Pemrograman

Bahasa C dengan SDCC (Small Device C Compiler) Pada Mikrokontroler

AT89X0511/AT89C51/52. Yogyakarta: Gava Media

12. Houpis, Constantine H; Lamont, Gary B. 1992. Digital Control System.

New York: McGraw-Hill.

13. Hoffman, Joe D. 1993. Numerical Methods for Engineers and Scientists.

New York: McGraw-Hill.

14. Ogata, Katsuhiko. 1995. Discrete-Time Control System. New Jersey:

Prentice Hall.

15. Jaenudin. 2005. Belajar Sendiri .net dengan Visual C#2005. Yogyakarta:

Andi Yogyakarta.

16. http://edboyden.org/constants.html

17. http://www.sas.org/engineerByProperty.html

18. http://www.sas.org/E-Bulletin/archive/reference/material/byMaterial.html

19. http://www.microchip.com

20. http://www.codeproject.com

21. http://www.alldatasheet.com

22. http://www.neurophys.wisc.edu/comp/docs/ascii.html

Page 3: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

54

Lampiran 1 Skema Rangkaian Kontroler PID Digital

Page 4: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

55

Lampiran 2 Foto Alat

Foto Sistem Kontrol Temperatur PID digital

Page 5: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

56

Foto Perangkat Keras Sistem Kontrol Temperatur

Page 6: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

57

Foto Board Kontoler

Page 7: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

58

Foto Plant Temperatur

Foto Konektor Sensor

Page 8: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

59

Foto Konektor Aktoator

Foto Kabel Serial RS232

Page 9: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

60

Lampiran 3 Makalah

Implementasi Modul Kontrol Temperatur Menggunakan Kontroler PID Digital Berbasis Mikrokontroler

PIC18F4520

Suryadi, Asep Suhendi, Nur Asiah Aprianti dan Khairurrijal*)

Kelompok Keahlian Fisika Material Elektronik Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Teknologi Bandung Jl. Ganesa 10, Bandung 40132

*)E-mail : [email protected]

Abstrak

Sistem kontrol temperatur telah dirancang dan diimplementasikan menggunakan kontroler PID digital berbasis mikrokontroler PIC18F4520. Sistem ini memanfaatkan karakteristik dari mikrokontroler PIC18F4520 yang memiliki ADC internal dengan resolusi 10 bit, 2 buah penghasil PWM, dan 32 Kb flash memory yang memungkinkan untuk diisi program kontroler PID secara digital. Kestabilan suhu pada setting point 600C dicapai pada KP sebesar 500, KI sebesar 0,1, dan KD sebesar 10 dengan error sebesar 0,37%.

Kata kunci : Kontroler, digital, PID

I. Pendahuluan Kontroler PID merupakan

penggabungan dari kontroler poporsional, integral dan derivatif. Kontrol automatik seperti kontrol temperatur diperlukan di industri farmasi atau minuman seperti pada proses sterilisasi alat atau bahan.

Salah satu arah perkembangan sistem kontrol adalah implementasi sistem kontrol pada sistem terintegrasi (embedded system)1). Gambar 1 memperlihatkan modul kontroler PID lengkap dengan Plant yang akan dikontrol temperaturnya. Kontroler ini memanfaatkan karakteristik dari PIC18F4520 yang bisa diprogram sebagai kontroler dan pengolah data.

Gambar 1 Board Kontroler PID

II. Teori Dasar Sistem Kontrol Sebuah pengontrol otomatik

bekerja dengan membandingkan keluaran

Page 10: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

61

aktual dari plant (process variable/PV) terhadap masukan referensi (set point/SP) sebagai nilai yang diinginkan. Dari perbandingan tersebut diperoleh nilai error yang menyatakan deviasi dari kedua parameter. Selanjutnya pengontrol akan menghasilkan sinyal kontrol sebagai upaya korektif yang akan mereduksi error. Mekanisme bagaimana pengontrol otomatik menghasilkan sinyal kontrol lazim disebut sebagai aksi kontrol (control action)2). Sinyal kontrol yang dihasilkan kemudian dikrimkan ke aktuator untuk mengontrol plant agar diperoleh error yang sangat kecil.

e(t)Kontroler

+_

Plantr(t) e(t)Kontroler

+_

Plantr(t)

Gambar 2 Diagram blok sistem kontrol

lingkar tertutup

Kontroler PID merupakan penggabungan antara kontroler proporsionl, integral, dan derivatif. Kontroler proporsional (P) merupakan kontroler dengan menggunakan penguatan murni KP

3) Kontroler ini mempercepat proses, meningkatkan overshoot, tidak menghilangkan offset dan tidak merubah orde sistem. Kontroler proporsional-integral merupakan kontroler dimana errornya dikuatkan kemudian dijumlahkan dengan hasil integral dari error yang sudah terjadi. Kontroler ini mempercepat proses dan menghilangkan offset tetapi meningkatkan orde sistem sehingga akan menimbulkan osilasi. Kontroler proporsional-derivative bekerja dengan cara menguatkan error dan menjumlahkan dengan hasil diferensial dari error tersebut. Kontroler jenis ini akan meredam osilasi dan mengurangi overshoot tetapi tidak menghilangkan offset. Kontroler proporsional-integral-derivatif merupakan kontroler dimana errornya dikuatkan ditambah dengan hasil integral dari error yang terjadi lalu ditambah dengan hasil diferensial dari error yang terjadi. Persamaan umum dalam kontroler PID terlihat pada persamaan 12).

( ) ( ) ( ) ( )0

t

p i d

de tu t K e t K e t dt K

dt= + +∫ (1)

Kontroler ini akan menghasilkan temperatur tanpa overshoot dan tanpa offset.

III. Perangkat Keras Kontroler PID Digital

Kontroler PID digital menggunakan mikrokontroler PIC18F4520 dengan fitur 32Kb flash programming, ADC dan PWM internal dengan resolusi 10 bit, serta mendukung untuk melakukan komunikasi USART. Aplikasi ini juga dilengkapi dengan resistor variabel yang berfungsi untuk mengatur nilai setting point dan parameter-parameter kontrol yang diperlukan, LCD sebagai penampil nilai temperatur plant yang terukur, sensor temperatur LM35, serta komunikasi serial RS232.

R23K

VCC

2

31A

411

U4ATL084ACN

-VCC

R312K

RA1Input1

123

LM35 VCC

Gambar 3 rangkaian Penguat sensor

temperatur(3),(4)

Dalam sistem pengontrol temperatur yang dibuat, digunakan sensor temperatur dengan tipe LM35. Sensor tipe ini dapat merepresentasikan temperatur ke dalam tegangan listrik dengan hubungan 10mV/0C4). Sebagai contoh temperatur 30oC akan direpresentasikan oleh LM35 menjadi tegangan 300 mV. Sinyal dari LM35 kemudian dikuatkan lima kali terlebih dulu (Gambar 3) sebelum masuk ke mikrokontroler PIC18F4520.

Proses konversi ADC dilakukan dengan menggunakan ADC internal yang terdapat dalam PIC18F4520 yang memiliki resolusi 10 bit. Konversi ADC berfungsi untuk mengubah besaran analog dari resistor variabel (pada saat setting awal parameter kontroler) dan sensor temperatur.

Mikrokontroler akan mengolah data temperatur dan parameter kontrol untuk kemudian disalurkan ke DAC untuk menyalakan pemanas dan pendingin. Pada penelitian ini DAC direpresentasikan dengan menggunakan PWM (pulse width modulator) yang berasal dari PWM internal dengan resolusi 10 bit. Persentase daya yang

Page 11: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

62

keluar dari PWM ini sebanding dengan besarnya duty cycle yang digunakan.

Sinyal yang dihasilkan oleh modul PWM tidak dapat langsung diumpankan ke aktuator lampu dan kipas karena mikrokontroler memiliki keterbatasan dalam menyuplai arus listrik. Oleh karena itu diperlukan rangkaian driver untuk menyuplai daya yang cukup ke aktuator. Pada aplikasi ini digunakan IC driver L298 sebagai penguat daya (Gambar 4).

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 4. rangkaian driver PWM

Peraga LCD yang digunakan adalah tipe matriks yang dapat menampilkan 16 karakter sebanyak dua baris. Peraga ini merupakan media untuk menampilkan status maupun parameter-parameter proses. Dalam berkomunikasi dengan peraga LCD, mikrokontroler terhubung melalui jalur data yang lebarnya 8 bit serta tiga buah pin untuk kontrol. Untuk jalur data menggunakan seluruh pin pada port D mikrokontroler, sedangkan untuk untuk jalur kontrol menggunakan port E seperti ditunjukkan pada Gambar 5.

+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 5. Rangkaan aplikasi LCD

Sistem komunikasi yang disertakan dalam sistem pengontrol temperatur ini adalah komunikasi serial melalui port COM pada komputer. Sistem antarmuka ini dipilih karena sudah lazim digunakan serta

ketersediaan modul USART dalam PIC18F4520 yang memudahkan implementasinya (Gambar 6).

Gambar 6. rangkaian aplikasi komunikasi

serial.

IV. Implementasi Perangkat Lunak Kontroler PID Digital

Perangkat lunak yang diaplikasikan dalam mikrokontroler PIC18F4520 diawali dengan inisialisasi. Inisialisasi berfungsi untuk menentukan konfigurasi awal mikrokontroler meliputi fungsi port (sebagai input atau sebagai output), komunikasi serial, ADC, LCD, PWM, serta penginisialisasian interupsi eksternal dan timer.

Tahap selanjutnya program membaca parameter-parameter yang dibutuhkan (SP, KP, KI, KD). Pembacaan ini memanfaatkan resistor variable yang difungsikan sebagai pembagi tegangan. Data tegangan dari resistor variable kemudian dikonversikan ke bentuk digital oleh ADC internal. Setiap terjadi interupsi eksternal yang berasal dari penekanan tombol, 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, dan keempat untuk menentukan KD. Keempat parameter tersebut akan tersimpan semuanya di mikrokontroler, interupsi yang kelima berfungsi untuk memerintahkan mikrokontroler mengeksekusi tahap selanjutnya.

Setelah parameter-parameter disimpan, pogram masuk ke tahap implementasi algoritma kontroler PID setiap 0,1 detik sekali. Nilai temperatur yang terukur akan dibandingkan dengan setting point untuk mendapatkan error kemudian masuk pada persamaan kontroler PID yang melibatkan KP, KI, dan KD. Hasil dari

Page 12: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

63

persamaan kontroler disebut sebagai sinyal kontrol. Sinyal kontrol ini kemudian akan memperbaharui duty cycle PWM. Nilai temperatur yang terukur ditampilkan melalui LCD setiap 0,1 detik sekali. Nilai temperatur ini juga dikirimkan ke PC melalui komunikasi serial RS232 setiap 1 detik sekali. Tahap implementasi algoritma kontroler PID akan berlangsung terus menerus sampai sistem dimatikan.

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 7. Diagram alir program utama kontroler PID pada mikrokontroler PIC

18F4520

Page 13: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

64

V. Pengujian Sistem Kontrol Dengan memasukan nilai Kp ,Ki,

dan KD. diperoleh grafik respon temperatur dan error seperti terlihat pada gambar 9 dan gambar 10.

Temperature Response

0

10

20

30

40

50

60

70

0 100 200 300 400 500Time (s)

Tem

pera

ture

(0C)

T (t)

SP

Gambar 9. Respon temperatur dengan SP =

60, KP = 500, KI = 0.1, KD = 10

Temperature Error Response

-50

51015

2025

3035

0 100 200 300 400 500

Time (s)

Tem

pera

ture

Err

or (0

C)

Gambar 10. respon error terhadap waktu

Gambar 9 dan gambar 10 menunjukkan bahwa kontroler PID digital dapat mengontrol temperatur suatu plant menjadi stabil pada temperatur yang diinginkan (setting point) dengan error yang sangat kecil. Waktu yang diperlukan untuk mencapai setting point (rise time) sebesar 102 detik untuk SP 600C VI. Kesimpulan

Telah dirancang dan diimplementasikan sistem kontrol temperatur menggunakan kontroler PID digital berbasis mikrokontroler PIC18F4520. Sistem ini memanfaatkan karakteristik dari mikrokontroler PIC18F4520 yang memiliki ADC internal dengan resolusi 10 bit, 2 buah penghasil PWM, dan 32 Kb flash memory yang memungkinkan untuk diisi program kontroler PID secara digital.

Kontroler PID bekerja berdasarkan error yang terjadi, error ini merupakan

selisih antara temperatur pada Setting Point (SP) dengan temperatur plant sebenarnya. Penggunaan kontroler untuk mengontrol temperatur plant tidak mungkin menghasilkan kestabilan temperatur tanpa error sedikit pun (error = 0). Kontroler hanya mampu meminimalisasi error, mempercepat proses, dan meredam osilasi temperatur di sekitar Setting Point (SP). Kestabilan suhu pada 600C dicapai pada KP = 500, KI =0.1, dan KD = 10 dengan error sebesar 0,37%.

Referensi

[1] Suryadi, Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877, Tugas Akhir, ITB, Bandung, 2005.

[2] Ogata, Katsuhiko., Teknik Kontrol Automatik (Sistem Pengaturan) (Edisi Terjemahan). Erlangga, Jakarta, 1985

[3] Philips, Chares L. and Harbor, Royce D., Sistem Kontrol: Dasar-dasar (Feedback control System), Edisi Terjemahan, PT Prenhallindo, Jakarta, 1996.

[4] Fraden, Jacob. Handbook of Modern Sensor, United Book Press, Inc., Baltimore, 1996.

Page 14: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

65

Lampiran 4 Daftar Publikasi

1. Suryadi, Heri Permadi, Nur Asiah Aprianti, Suryadi*), dan Khairurrijal#). ”PIC Microtrainer untuk Pemrograman Dasar Mikrokontroler Keluarga PIC”. Prosiding Seminar Instrumentasi Berbasis Fisika (Bandung, 31 Agustus 2006), pp. 201-205.

2. Heri Permadi, Nur Asiah Aprianti, Suryadi, Suryadi#), dan Khairurrijal#). ”Pemrogaman Lanjut Menggunakan PIC Microtrainer”. Prosiding Seminar Instrumentasi Berbasis Fisika (Bandung, 31 Agustus 2006), pp. 210-215.

3. Nur Asiah Aprianti, Heri Permadi, Suryadi, Suryadi#), dan Khairurrijal#). ”Simulasi Program Aplikasi Modul A/D Converter PIC16F877 dengan menggunakan PIC Microtrainer”. Prosiding Seminar Instrumentasi Berbasis Fisika (Bandung, 31 Agustus 2006), pp. 132-136.

4. Yanuar Syapaat, Suryadi, Heri Permadi, Gun Gun Gumilar, dan Khairurrijal. ”Aplikasi Mikrokontroler MCS-51 dalam Percobaan Bandul untuk Penentuan Nilai Gravitasi Bumi”. Seminar Nasional Teknologi dan Rekayasa Industri (SNTRI07). Applied Tech 07. Vol. 1. (Serpong, April 2007)

5. Suryadi, Suryadi*), dan Khairurrijal#). “IMPLEMENTASI MODUL KONTROL TEMPERATUR MENGGUNAKAN DIGITAL PI CONTROLLER”. Seminar Nasional Teknologi dan Rekayasa Industri (SNTRI07). Applied Tech 07. Vol. 1. (Serpong, April 2007)

6. Suryadi, Asep Suhendi, Nur Asiah Aprianti dan Khairurrijal. “Pengontrolan Temperatur menggunakan Kontroler PID Digital Berbasis Mikrokontroler PIC18F4520”. Seminar Asosiasi Akademisi Perguruan Tinggi Seluruh Indonesia (ASASI) (Ciawi, Bogor, 9-11 Agustus 2007).

7. Nur Asiah Aprianti, Suryadi, and Khairurrijal. “Analysis of Laboratory Scale Temperature Control System using MatLab”. International Conference on Instrumentation, Communication, and Information Technology (ICICI) 2007 (Bandung, August 8-9, 2007).

Page 15: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

66

LAMPIRAN 5

PUBLIKASI

Page 16: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

67

PIC Microtrainer untuk Pemrograman Dasar Mikrokontroler Keluarga PIC

Suryadi, Heri Permadi, Nur Asiah Aprianti, Suryadi*), dan Khairurrijal#)

Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Bandung

Jl. Ganesa 10, Bandung 40132 #)E-mail : [email protected]

Abstrak - PIC Microtrainer produksi Laboratorium Elektronika dan Instrumentasi, Program Studi Fisika, FMIPA, ITB adalah sebuah kit yang dirancang untuk mempermudah mempelajari arsitektur, aplikasi serta pemrograman mikrokontroler khususnya dari keluarga mikrokontroler PIC produksi Microchip Technology Inc. Microtrainer ini dilengkapi dengan modul LED, 7-segmen, LCD, komunikasi serial melalui RS232, dan ADC. Modul LED dan 7-segmen merupakan contoh aplikasi sederhana yang merupakan dasar untuk mempelajari pemrograman untuk aplikasi lain yang lebih rumit. Mikrokontroler yang digunakan dalam PIC Microtrainer ini adalah PIC16F877, tetapi tidak menutup kemungkinan untuk menggunakan mikrokontroler produksi Microchip yang lain dengan konfigurasi pinout yang sama. Kata kunci: PIC Microtrainer, PIC16F877 1. Pendahuluan Kemajuan teknologi semikonduktor telah memungkinkan manusia untuk memadukan ribuan transistor beserta komponen lain ke dalam satu chip yang dikenal sebagai IC (Integrated Circuit). Seiring dengan kemajuan tersebut telah berkembang pula piranti semikonduktor yang dapat diprogram. Semikonduktor yang termasuk dalam semikonduktor jenis ini antara lain mikroprosesor, mikrokontroler CPLD (Complex Programmable Logic Device) dan FPGA (Field Programmable Gate Array). Penggunaan piranti yang dapat diprogram memiliki banyak keuntungan, terutama dalam hal penekanan biaya, penghematan ruang dan fleksibilitas yang tinggi. Dengan manipulasi perangkat lunak, piranti dapat deprogram *) Sekarang bekerja di Pusat Penelitian Fisika LIPI,

Kompleks Puspitek Serpong, Tangerang 15314, Indonesia

tersebut dapat mengoptimumkan kerja suatu sistem. Mikrokontroler merupakan salah satu contoh piranti yang dapat diprogram yang banyak diminati orang1).

2. PIC Microtrainer PIC Microtrainer, produksi Laboratorium Elektronika dan Instrumentasi, Program Studi Fisika, FMIPA, ITB adalah sebuah kit yang dirancang untuk mempermudah mempelajari arsitektur, aplikasi serta pemrograman mikrokontroler khususnya dari keluarga mikrokontroler PIC produksi Microchip Technology Inc. Untuk tujuan tersebut Microtrainer ini, seperti yang ditunjukkan pada Gambar 1, telah dilengkapi dengan beberapa modul yang memungkinkan untuk mempelajari aplikasi menggunakan modul LED, 7-segmen, LCD, komunikasi serial RS232, dan ADC. Microtrainer ini dirancang untuk mikrokontroler bertipe PIC 16F877, namun dapat digunakan juga tipe lain yang memiliki kompatibilitas pinout, seperti PIC18F452 atau PIC18F4520. Untuk mendownload program ke mikrokontroler, PIC Microtrainer ini telah dilengkapi oleh rangkaian ICSP (In-Circuit Serial Programming) sehingga memudahkan bagi para pengguna yang akan mendownload program ke dalam mikrokontroler.

Gambar 1. PIC Microtrainer

Page 17: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

68

3. Instruksi-Instruksi PIC16F877 Dari segi arsitekturnya, mikroprosesor atau mikrokontroler dapat digolongkan menjadi dua, yaitu arsitektur Harvard dan von-Neumann. Pada arsitektur Harvard, bus data dan bus alamat dipisahkan, sehingga aliran data dari ke CPU menjadi lebih lancar dan kecepatan kerja mikrokontroler menjadi lebih tinggi. Biasanya, arsitektur Harvard memiliki lebih sedikit macam instruksi dibandingkan arsitektur von-Neumann. Mikrokontroler dengan arsitektur Harvard disebut juga mikrokontroler jenis RISC (Reduced Instruction Set Computer)1). Mikrokontroler PIC16F877 tergolong mikrokontroler berjenis RISC sehingga instruksi yang digunakan relatif sedikit, hanya 35 instruksi. Instruksi-instruksi tersebut terdiri dari 6 instruksi untuk transfer data, 15 instruksi untuk operasi aritmatika dan logika, 2 instruksi untuk operasi bit, 9 instruksi pengarah aliran program dan 3 instruksi umum. Terdapat beberapa simbol yang digunakan dalam menulis program dalam PIC 16F877 yaitu f menunjukkan register file, W register kerja (work register) yang berfungsi sebagai akumulator, b register alamat bit, k register medan literal, konstanta atau label. d register tujuan, jika d = 0, hasil operasi disimpan di register W, sedangkan jika d = 1, hasil operasi ditempatkan di register f. Label menunjukkan nama suatu bagian program. Instruksi untuk transfer data terdiri dari MOVLW, MOVWF, MOVF, CLRW, CLRF, dan SWAPF. Instruksi MOVLW digunakan untuk memindahkan nilai literal ke register W. MOVWF untuk memindahkan isi register W ke f. MOVF untuk memindahkan isi register f ke W jika d = 0, atau ke register f jika d = 1. CLRW untuk membersihkan isi register W. CLRF untuk membersihkan isi register f. Sedangkan SWAPF untuk menukarkan 4 bit atas dengan 4 bit bawah pada register f dan hasilnya disimpan di tujuan d. Instruksi untuk operasi aritmatika terdiri dari ADDLW, ADDWF, SUBLW, SUBWF, ANDLW, ANDWF, IORLW, IORWF, XORLW, XORWF, INCF, DECF, RLF, RRF, dan COMF. Instruksi ADDLW digunakan untuk menjumlahkan suatu literal dengan

register W, dan hasilnya disimpan di register W. ADDWF untuk menjumlahkan isi register W dengan f, kemudian hasilnya disimpan di tujuan d. SUBLW untuk mengurangkan isi register W dari suatu nilai literal, hasilnya disimpan di register W. SUBWF untuk mengurangkan isi register W dari register f, hasilnya disimpan di tujuan d. ANDLW untuk melakukan operasi logika AND antara nilai literal dengan register W, hasil operasi disimpan di register W. ANDWF untuk operasi logika AND antara register W dengan register f, hasilnya disimpan di tujuan d. IORLW untuk melakukan operasi OR antara register W dengan nilai literal k, hasilnya disimpan di W. IORWF untuk operasi logika OR antara register W dengan register f, hasilnya disimpan di tujuan d. XORLW untuk melakukan operasi logika XOR antara register W dengan nilai literal k, hasilnya disimpan di W. XORWF untuk operasi XOR antara register W dengan register f, hasilnya disimpan di tujuan d. INCF untuk menaikkan 1 nilai register f, hasilnya disimpan di tujuan d. DECF untuk mengurangi 1 nilai register f, hasilnya disimpan di tujuan d. RLF untuk menggeser ke kiri bit-bit dalam register f, bit 0 ke 1, bit 1 ke 2 dan seterusnya, bit 7 ke carry, carry ke bit 0, dan hasilnya disimpan di tujuan d. RRF untuk menggeser ke kanan bit-bit dalam register f, bit 7 ke 6, bit 6 ke 5 dan seterusnya, bit 0 ke carry, carry ke bit 7. COMF digunakan untuk mendapatkan nilai komplemen dari isi register f, hasilnya disimpan di tujuan d. Instruksi untuk operasi bit meliputi BCF dan BSF. Instruksi BCF digunakan untuk membersihkan suatu bit pada register f. BSF untuk menetapkan suatu bit pada register f menjadi berlogika 1. Instruksi-instruksi untuk pengarah aliran program terdiri dari BTFSC, BTFSS, DECFSZ, INCFSZ, INCFSZ, GOTO, CALL, RETURN, RETLW, dan RETFIE. Instruksi BTFSC digunakan untuk menguji logika suatu bit pada register f, jika nilainya 0 instruksi berikutnya akan dilompati, sedangkan jika nilainya 1 instruksi berikutnya tetap dieksekusi. BTFSS untuk memeriksa bit pada register f, jika 0 instruksi berikutnya akan dilompati, sedangkan jika berlogika 1 instruksi berikutnya tetap dieksekusi. DECFSZ untuk melakukan pengurangan terhadap register f, jika hasilnya 0 instruksi berikutnya dilompati, hasilnya

Page 18: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

69

disimpan di tujuan d. GOTO untuk mengarahkan suatu program ke suatu tempat dengan nama atau alamat tertentu. CALL untuk memanggil suatu subrutin. RETURN untuk kembali dari suatu subrutin. RETLW untuk kembali dari suatu subrutin sambil memberi nilai literal k pada W. RETFIE untuk mengakhiri suatu rutin interupsi. Instruksi-instruksi umum terdiri dari NOP, CLRWDT, SLEEP. Instruksi NOP digunakan untuk mengulur waktu kerja mikrokontroler dan menghabiskan satu cycle namun tidak melakukan operasi apapun. CLRWDT untuk me-reset WDT. Jika WDT diaktifkan, maka mikrokontroler akan mengalami reset saat WDT mengalami overflow, maka WDT ini harus di reset agar WDT tidak mengalami overflow. SLEEP digunakan untuk menjadikan mikrokontroler berada dalam keadaan standby Proses pemindahan data antar register f dalam PIC16F877 harus dilakukan melalui register W. Contoh dari instruksi jenis ini adalah MOVF, yaitu memindahkan isi register f ke tujuan d. Dengan membuat d bernilai 0, maka isi dari register f akan dipindahkan (dikopikan) ke register W. Instruksi MOVWF memindahkan isi register W ke f. Pada dasarnya operasi aritmatika dalam PIC16F877 hanya terdiri dari operasi penjumlahan dan pengurangan. Proses operasi aritmatika ini mempengaruhi nilai bit C, DC, dan Z pada register status. Contoh dari instruksi jenis ini adalah ADDWF dan SUBWF. Instruksi ADDWF berfungsi untuk menjumlahkan isi register W dengan isi register f. SUBWF berfungsi untuk mengkurangkan isi register W dari register f. PIC16F877 memiliki operasi logika yang terdiri dari operasi AND, OR, XOR, COMF dan rotasi RLF atau RRF. Contoh dari instruksi jenis ini adalah ANDLW yang berfungsi untuk melakukan operasi AND antara literal dengan isi register W dan hasilnya disimpan di register W. IORLW untuk melakukan operasi logika antara literal dengan isi register W, hasilnya disimpan di register W. Operasi bit terdiri dari dua jenis yaitu BCF dan BSF. Instruksi BCF berfungsi untuk membersihkan bit pada register tertentu dan

BSF untuk menset bit pada register tertentu menjadi berlogika 1. 4. Aplikasi Tampilan Deret LED Dalam PIC Microtrainer, rangkaian perangkat keras untuk aplikasi dengan modul LED ditunjukkan oleh Gambar 2.

Gambar 2. Perangkat keras untuk aplikasi tampilan

deret LED

Delapan buah LED yang diberi label D0 sampai D7 dihubungkan dengan delapan buah pin yang terdapat pada port D mikrokontroler. LED akan menyala apabila pin pada port D yang terhubung ke LED yang bersangkutan diberi logika 1 (High) serta akan padam bila diberikan logika 0 (Low). Untuk membuat LED agar menyala kemudian padam kembali, perlu diberi delay (waktu tunda) agar perubahan antara nyala dan padam dapat terlihat oleh mata. Diagram alir untuk menampilkan data dengan menyalakan LED diberikan dalam Gambar 3.

Page 19: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

70

Inisialisasi PORT DPortD sebagai Output

Delay

Matikan LED di PORTD(PORTD = H’00’)

Nyalakan LED di PORTD(PORTD = H’0FF’)

Delay

MULAI

Gambar 3. Diagram alir modul aplikasi tampilan LED

Langkah pertama yang harus dilakukan dalam memprogram mikrokontroler adalah melakukan inisialisasi portnya dahulu, apakah port itu akan berfungsi sebagai input atau output. Dari Gambar 2 terlihat bahwa PORTD berfungsi sebagai output yang kemudian terhubung pada delapan buah LED. Untuk menjadikan fungsi PORTD sebagai output, register TRISD harus diberi logika 0. Untuk mematikan deret LED, PORTD harus diberi logika 0, dan untuk menyalakan deret LED, PORTD harus diberi logika 1 pada setiap bitnya, atau sebesar 0FF dalam bilangan hexa. Agar aplikasi LED ini bekerja bekelanjutan, maka program untuk mematikan dan menyalakan LED ini harus diulang terus-menerus. Namun, kerja dari mikrokontroler ini sangat cepat sehingga mata manusia tidak dapat mengikuti perubahan nyala LED tersebut. Supaya perubahan nyala LED tersebut dapat diikuti oleh mata manusia, maka harus diberi waktu tunda (delay) kira-kira satu detik, sehingga mengakibatkan LED akan mati selama satu detik, lalu nyala selama satu detik, lalu mati kembali selama satu detik, dan begitu seterusnya.

5. Aplikasi Tampilan 7-Segmen Empat buah peraga 7-segmen tipe common anode dirangkai secara paralel untuk membentuk peraga yang dapat menampilkan

empat digit angka. Untuk menampilkan empat digit angka dengan satu jalur data yang diparalel, digunakan teknik multiplexing dimana keempat peraga 7-segmen dinyalakan secara bergantian dengan data yang ingin ditampilkan pada setiap peraga dikirimkan pada saat unit peraga tersebut dinyalakan. Dengan mengatur refresh-rate yang cukup akan diperoleh tampilan yang nyaman di mata manusia. Jalur data peraga 7-segmen yang yang dirangkai paralel, dihubungkan ke mikrokontroler melalui IC driver yaitu 74LS247. Port mikrokontroler yang digunakan untuk aplikasi ini adalah port D, dimana bagian LSB (RD0 sampai RD3) digunakan sebagai jalur data dan bagian MSB (RD4 sampai RD7) digunakan untuk mengontrol hidup mati keempat unit peraga 7-segmen. Rangkaian untuk aplikasi tampilan dengan peraga 7-segmen diberikan oleh Gambar 4.

Gambar 4. Perangkat keras aplikasi tampilan 7-

segmen Bagian LSB pada port D (RD0 sampai RD3) yang berfungsi sebagai jalur data dihubungkan ke IC driver 74LS247. IC ini berfungsi untuk mengkonversi nilai yang berbentuk desimal yang masuk menjadi kode-kode biner yang kemudian dihubungkan secara paralel ke empat buah 7-segmen. Untuk memilih 7-segmen yang akan diaktifkan digunakan bagian MSB pada

Page 20: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

71

port D (RD4 sampai RD7). Masing-masing pin ini dihubungkan ke bagian basis dari transistor yang berjenis PNP setelah melewati resistor. Kaki emitor pada transistor ini dihubungkan pada tegangan +5 volt, sedangkan kaki kolektornya dihubungkan pada kaki anoda pada 7-segmen. Apabila pin ini diberi logika low (0), maka tegangan pada basis transistor ini akan bernilai 0 volt, sehingga tegangan pada kaki kolektornya akan menjadi +5 volt, hal ini akan menyebabkan 7-segmen akan menyala. Untuk menampilkan sebuah angka pada sebuah unit peraga, data yang bersesuaian dengan angka yang ingin ditampilkan dikirim melalui bagian LSB dari port D mikrokontroler sementara pin pada bagian MSB untuk mengontrol unit peraga yang ingin dihidupkan diberi logika 0 (low) sementara pin pengontrol unit yang lain diberi logika 1 (high).

W OR B’11110000'PORTD = W

Clear PORTD,6

Masukkan angka 2 ke register W

W = 02

Delay

A

B

Inisialisasi PORTDPORTD sebagai output

W OR B’11110000'PORTD = W

Clear PORTD,5

Masukkan angka 1 ke register WW = 01

Delay

A

D

MULAI

W OR B’11110000'PORTD = W

Clear PORTD,6

Masukkan angka 3 ke register W

W = 03

Delay

C

B

W OR B’11110000'PORTD = W

Clear PORTD,7

Masukkan angka 4 ke register W

W = 04

Delay

D

C

Gambar 5. Diagram alir tampilan 7-segmen

Untuk menampilkan angka 1234 pada 7-segmen dilakukan dengan cara memberi nilai 1,2,3,4 pada PORTD serta mengaktifkan 7-

segmen ke 1,2,3,4 secara bergantian. Dengan adanya delay yang sangat kecil menyebabkan mata kita tidak dapat melihat perubahan tersebut sehingga seolah-olah kita hanya melihat nilai 1234 pada keempat 7-segmen tersebut. Program aplikasi 7-segmen diawali dengan proses inisialisasi. Karena port yang digunakan sebagai output adalah PORTD, maka port ini perlu diinisialisasi terlebih dahulu agar berfungsi sebagai output. Untuk menjadikan PORTD berfungsi sebagai output, register TRISD diberi nilai 0. Untuk menampilkan angka 1 pada 7-segmen yang pertama (digit ke-1), register W diisi dengan nilai 1 lalu di-OR-kan dengan B’11110000’ hal ini dimaksudkan agar seluruh 7-segmen mati. Nilai W ini kemudian dikirim ke PORTD, dengan menjadikan bit ke 4 pada PORTD berlogika 0, maka 7-segmen yang pertama akan menampilkan angka 1. Untuk menampilkan angka 2 pada 7-segmen yang kedua (digit ke-2), register W diisi dengan nilai 2 lalu di-OR-kan dengan B’11110000’ hal ini dimaksudkan agar seluruh 7-segmen mati. Nilai W ini kemudian dikirim ke PORTD, dengan menjadikan bit ke 5 pada PORTD berlogika 0, maka 7-segmen yang kedua akan menampilkan angka 2. Demikian juga halnya dengan 7-segmen yang ketiga dan keempat. Proses ini diulang secara terus menerus dengan delay yang sangat kecil sehingga seolah-olah kita hanya melihat angka 1234 pada empat 7-segmen tersebut. 6. Kesimpulan PIC Microtrainer ini telah dirancang untuk mempelajari arsitektur dan pemrograman mikrokontroler PIC16F877 secara mudah dan cepat. Modul Apliksi LED dan 7-segmen merupakan contoh aplikasi sederhana yang merupakan dasar untuk mempelajari aplikasi lain yang lebih rumit Daftar Pusaka [1] Pratomo, Andi. Belajar Cepat dan Mudah

Mikrokontroler PIC16F84. Jakarta. PT ElexMediaKomputindo.

Page 21: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

72

[2] Elkahfi PIC Microtrainer Manual Book. Bandung: Program Studi Fisika, FMIPA, ITB.

[3] http://pdf1.alldatasheet.com/datasheet-pdf/view/75016/MICROCHIP/PIC16F877.html

Page 22: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

73

Pemrogaman Lanjut Menggunakan PIC Microtrainer

Heri Permadi, Nur Asiah Aprianti, Suryadi, Suryadi#), dan Khairurrijal#)

Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Teknologi Bandung Jl. Ganesha 10, Bandung 40132

#) Pusat Penelitian Fisika LIPI, Komplek Puspiptek Serpong, Tangerang 15314 #)E-mail : [email protected]

Abstrak – PIC Microtrainer merupakan sebuah kit yang dirancang untuk mempermudah mempelajari arsitektur, aplikasi, serta pemrograman mikrokontroler khususnya dari keluarga mikrokontroler PIC produksi Microchip Technology Inc. Untuk tujuan tersebut Microtrainer ini telah dilengkapi dengan beberapa modul yang memungkinkan untuk mempelajari/merancang aplikasi menggunakan LED, 7-segmen, LCD, komunikasi serial melalui RS232, ADC maupun aplikasi keypad heksadesimal. Microtrainer ini dirancang untuk mikrokontroler tipe PIC16F877, namun dapat digunakan juga tipe lain yang memiliki kompatibilitas pinout seperti PIC18F452 atau PIC16F4520. Pada paper ini akan dijelaskan dua aplikasi dalam PIC Microtrainer yaitu aplikasi tampilan peraga LCD dan komunikasi serial melalui RS232. Kedua aplikasi tersebut merupakan lanjutan dari pemrogaman dasar mikrokontroler menggunakan PIC Microtrainer. Kata kunci : PIC Microtrainer, LCD, komunikasi serial I. PENDAHULUAN Dengan adanya kemajuan dalam bidang teknologi semikonduktor, pemaduan ribuan transistor beserta komponen yang lain dalam satu buah chip yang dikenal sebagai IC (Integrated Circuit) sudah dimungkinkan. Teknologi IC tersebut berkembang dengan pesat sehingga di pasaran beredar ribuan jenis IC dengan spesifikasi dan kegunaan yang beragam [1]. Penemuan piranti elektronika yang dapat diprogram (progammable devices) memberikan keuntungan bagi manusia, terutama dalam hal penekanan biaya, penghematan ruang dan fleksibilitas yang tinggi. Semikonduktor yang termasuk dalam

semikonduktor jenis ini antara lain mikroprosesor dan mikrokontroler. Mikrokontroler merupakan piranti elektronika yang dapat diprogram yang paling sering digunakan untuk membuat sistem dengan berbagai keperluan karena praktis dan murah. Dengan tersedianya PIC Microtrainer seperti ditunjukkan dalam Gambar 1, yang dibuat di Laboratorium Elektronika dan Instrumentasi, Program Studi Fisika, FMIPA ITB, sebagai simulator mikrokontroler dari keluarga PIC tipe PIC16F877/18F452/16F4520, kita dapat dengan mudah untuk mempelajari arsitektur, aplikasi, serta pemrograman mikrokontroler. Hampir semua aplikasi mikrokontroler dapat dilakukan pada PIC Microtrainer ini sehingga dapat mempercepat pemahaman kita dalam mempelajari mikrokontroler.

Gambar 1: PIC Microtrainer.

Dalam makalah ini, kami mengemukakan aplikasi mikrokontroler PIC 16F877 terutama untuk aplikasi tampilan peraga LCD dan komunikasi serial melalui RS232 yang akan dimanfaatkan untuk praktikum pembelajaran mikrokontroler bagi mahasiswa di Program Studi Fisika ITB.

Page 23: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

74

II. APLIKASI TAMPILAN PERAGA LCD Peraga LCD dapat menampilkan bentuk karakter yang jauh lebih beragam dibandingkan dengan peraga 7 segmen. Jenis peraga LCD yang digunakan dalam microtrainer ini adalah jenis LCD yang dapat menampilkan 2x16 karakter. Peraga LCD memiliki delapan buah pin untuk jalur data (D0 s.d. D7), tiga pin jalur kontrol (RS, R/W, dan En) serta beberapa pin yang lain untuk catu daya serta pengatur kekontrasan tampilan layar LCD. Rangkaian selengkapnya untuk aplikasi tampilan menggunakan peraga LCD diberikan oleh Gambar 2. Delapan buah pin jalur data LCD dihubungkan dengan kedelapan pin pada port D mikrokontroler PIC16F877, sementara tiga buah pin jalur kontrol dihubungkan dengan pin-pin pada port E-nya. Data yang dikirimkan ke LCD dapat berupa perintah (command) maupun berupa data karakter yang ingin ditampilkan.

Gambar 2: Rangkaian aplikasi tampilan peraga LCD.

Salah satu contoh tampilan dari aplikasi peraga LCD diperlihatkan pada Gambar 3.

Gambar 3: Tampilan pada peraga LCD.

Gambar 4 memberikan diagram alir dari program aplikasi tampilan peraga LCD, yang terdiri dari satu program utama dan enam rutin. Program utama dimulai dengan inisialisasi Port D dan Port E sebagai keluaran. Kemudian mengeksekusi rutin Set_DDRAM yang berisi rutin LCD_cmd untuk mengirim command ke LCD. Jika pin R/W dan RS clear, maka dipilih fungsi write pada pin R/W dan instruction input pada pin RS. Untuk menuliskan message atau karakter yang ingin kita tampilkan, maka panggil rutin DISP_MSG.

Inisialisasi PORTD&PORTE sebagai output,

Inisialisasi LCD

Masukkan 00h

Set_DDRAM

Masukkan 00h

DISP_MSG

Program Utama:

Mulai

stop

Page 24: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

75

Rutin Set_DDRAM:

LCD_cmd

Mulai

ret

Clear-kan pin R/W & RS pada LCD

LCD_pulse

Mulai

ret

Rutin LCD_cmd:

Masukkan 00h ke INDEX (21h)

Rutin DISP_MSG:

MSG1

Pindahkan MSG1 ke lcd_tmp(22h)

sublw '#'

Cek STATUS,Z = 0

No

Yes

A

Pindahkan lcd_tmp(22h) ke W

LCD_Data

Pindahkan isi INDEX(21h) ke W

Addlw 01h

Mulai

B

B

A

MSG_END

Rutin MSG1:

Addwf PCL,F

Return with literal Retlw ‘ASCII code’

Mulai

retlw ‘#’

MSG1_END

Rutin LCD_Data:

Clear-kan pin R/W pada LCD

Set pin RS pada LCD

LCD_pulse

Mulai

ret

Rutin LCD_pulse:

Set pin En pada LCD

Clear-kan pin En pada LCD

delay

delay

Mulai

ret

Gambar 4: Diagram alir tampilan peraga LCD.

Pada rutin DISP_MSG juga terdapat rutin MSG1 yang berisi pesan yang ingin kita tampilkan di layar peraga LCD. Karakter huruf yang diterima merupakan kode ASCII.

Page 25: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

76

III. APLIKASI KOMUNIKASI SERIAL RS232 PIC Microtrainer telah dilengkapi dengan modul yang memungkinkan mikrokontroler untuk berkomunikasi dengan komputer dan sebaliknya. Untuk menjembatani perbedaan level tegangan antara mikrokontroler (TTL) dengan port serial pada komputer digunakanlah IC MAX232. Mikrokontroler PIC telah memiliki modul USART (Universal Synchronous/Asynchronous Receiver/ Transmitter) internal atau dikenal juga dengan sebutan SCI (Serial Communications Interface) yang semakin memudahkan proses komunikasi. Modul USART dapat dikonfigurasi sebagai full duplex asynchronous system yang bisa berkomunikasi dengan alat lain seperti terminal CRT dan komputer, atau juga dapat dikonfigurasi sebagai half duplex synchronous system yang dapat berkomunikasi dengan alat lain seperti IC A/D atau D/A, EEPROM serial dan sebagainya. Gambar 5 memberikan rangkaian aplikasi komunikasi serial RS232 yang digabungkan dengan modul aplikasi ADC dengan masukan analog dari potensiometer pada pin RA0/AN0.

Gambar 5: Rangkaian aplikasi komunikasi serial PIC 16F877 dengan komputer melalui RS232.

Mikrokontroler PIC yang digunakan oleh Microtrainer ini telah menyertakan modul ADC (Analog to Digital Converter) 10 bit sebagai modul internal. Pada modul tersebut terdapat sebuah sumber tegangan analog yang dapat diatur dengan menggunakan potensiometer serta dilengkapi dengan terminal untuk memasukkan tegangan analog dari luar (A0, A1, A2, dan A3). Hasil konversi oleh modul ADC diambil 8 bit MSB-nya dan dikirimkan ke komputer melalui RS232. Data hasil konversi tersebut pada akhirnya akan ditampilkan pada perangkat lunak Hyperterminal. Pembahasan mengenai penggunaan perangkat lunak Hyperterminal untuk komunikasi serial mikrokontroler PIC dengan komputer akan diberikan pada bagian akhir. Proses komunikasi menggunakan pin RC6 sebagai pin transmitter untuk mengirimkan data dari mikrokontroler ke komputer dan pin RC7 sebagai pin receiver untuk menerima data serial dari komputer. Program komunikasi

Page 26: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

77

serial pada mikrokontroler dirancang untuk menerima data dari luar (dari komputer) untuk kemudian mengirimkannya kembali ke komputer dengan nilai/karakter yang sama.

Inisialisasi PORTA sebagai input Inisialisasi PORTD sebagai output

Inisialisasi ADC

wait_acq_t

Program Utama:

Mulai1

Mulai konversi

banksel ADCON0

bsf ADCON0,GO

ADCON0,GO = 0 no

yes

A

A

banksel ADRESH

Pindahkan isi ADRESH ke W

banksel PORTD

Pindahkan isi W Ke PORTD

serial

end

Rutin wait_acq_t :

banksel count (21h)

ret

Mulai

Masukkan d’50’ ke W

Pindahkan isi W ke alamat 21h

decfsz 21h,f

21h = 0

Rutin serial:

Mulai

set_async

Pindahkan isi alamat 22h ke W

kirim

Kirimkan d’10’ ke W untuk karakter line feed

Kirimkan d’13’ ke W untuk karakter carriage return

Mulai1

Pindahkan isi W ke alamat 22h

Page 27: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

78

Rutin serial:

Mulai

set_async

Pindahkan isi alamat 22h ke W

kirim

Kirimkan d’10’ ke W untuk karakter line feed

Kirimkan d’13’ ke W untuk karakter carriage return

Mulai1

Pindahkan isi W ke alamat 22h

Rutin set async:

banksel TXSTA

banksel SPBRG

Masukan d’64’ ke SPBRG

Masukan b’00100100’ ke TXSTA

banksel RCSTA

Masukan b’10010000’ ke RCSTA

ret

Mulai

Rutin kirim:

TXIF=1

yes

no

banksel TXREG

Banksel PIR1

Movwf TXREG

Movwf PORTD

ret

Mulai

Gambar 6: Diagram alir aplikasi komunikasi serial

RS232.

Gambar 6 memberikan diagram alir dari program aplikasi komunikasi serial melalui RS232, yang terdiri dari satu program utama dan empat rutin yaitu wait_acq_t, serial, set_async, dan kirim. Pada program utama dilakukan inisialisasi Port A sebagai masukan, PORTD sebagai keluaran, dan inisialisasi ADC. Setelah dilakukan inisialisasi, masukan analog akan mulai dikonversi. Kemudian kita panggil rutin wait_acq_t (wait for acquisition time) yang berfungsi sebagai delay pada proses konversi. Untuk memulai konversi, kita pilih register ADCON0 dan set bit GO pada register tersebut. Kemudian kita lakukan pengecekan bit GO tersebut, jika nilainya satu maka akan terjadi proses looping sampai nilainya sama dengan nol. Jika nilai bit GO pada register ADCON0 sama dengan nol maka akan dipilih register ADRESH yang menyimpan data 8 bit MSB hasil dari konversi analog ke digital. Kemudian kita kirim data dari register ADRESH tersebut ke PORTD jika nilai konversinya ingin kita tampilkan pada deret LED. Untuk melakukan komunikasi serial antara mikrokontroler dengan komputer, kita panggil rutin serial. Rutin ini digunakan untuk mengirimkan data hasil konversi dari ADRESH ke komputer melalui RS232. Pada rutin set_async kita pilih komunikasi serial dengan asynchronous mode dengan

Page 28: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

79

BRGH=1 (High Speed) untuk menentukan baudrate sebesar 9600 bps. Setelah menentukan baudrate kita lakukan konfigurasi transmitter dan receiver untuk asynchronous mode dengan memasukkan bilangan b’00100100’ ke register TXSTA dan b’10010000’ ke register RCSTA. Pada rutin kirim kita pilih register PIR1 dan cek bit TXIF. Jika nilainya 1 maka pilih register TXREG untuk menulis data ke transmit buffer. Kemudian pindahkan data tersebut ke Port D yang berfungsi sebagai keluaran. Untuk menguji program komunikasi serial, perangkat lunak Hyperterminal yang ada pada setiap PC yang dioperasikan dengan Windows dapat digunakan. Hyperterminal Salah satu cara untuk melakukan komunikasi antara perangkat keras di luar komputer secara serial yaitu dengan menggunakan perangkat lunak Hyperterminal. Program ini ada secara otomatis ketika kita melakukan instalasi Windows. Untuk mengakses program ini klik Start All Programs Accessories Communications Hyperterminal. Akhirnya kita memperoleh tampilan seperti ditunjukkan pada Gambar 7. Isikan Nama Koneksi yang akan kita buat pada textbox Name dan pilihlah ikon yang kita hendaki. Setelah itu kita harus mengatur port mana yang akan kita gunakan untuk berkomunikasi antara komputer dan hardware di luar komputer. Hal ini diberikan dalam tampilan pada Gambar 8. Pada combo box Connect using kita memilih port mana yang akan kita gunakan untuk berkomunikasi. Setelah kita pilih port mana yang akan digunakan untuk berkomunikasi, kita harus mengatur properties port tersebut seperti diberikan pada Gambar 9.

Gambar 7: Pemilihan icon dan nama koneksi pada

Hyperterminal.

Gambar 8: Pemilihan port serial.

Page 29: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

80

Gambar 9: Pengaturan propertis port.

Terakhir, kita harus memastikan port komunikasi yang digunakan adalah port yang sama pada komputer dengan baudrate yang sama (9600 bps) tanpa flow control dan jumlah data = 8. Keadaan tampilan sebelum dilakukan komunikasi serial diperlihatkan pada Gambar 10. Setelah komunikasi berhasil dilakukan, tampilannya menjadi seperti pada Gambar 11 dengan masukan dari modul ADC.

Gambar 10: Tampilan Hyperterminal sebelum

dilakukan komunikasi serial.

Pada Gambar 11, data yang dikirim pada Hyperterminal merupakan karakter huruf “u”

yang merupakan kode ASCII dengan nilai 117 untuk bilangan desimal dan 75 untuk bilangan heksadesimal. Jika program ADC tersebut digunakan untuk menghasilkan konversi tegangan analog menjadi digital dengan keluaran untuk menyalakan deret led 8 bit, maka nilai dari deret led tersebut sebanding dengan nilai karakter yang ditampilkan pada perangkat lunak Hyperterminal. Karakter huruf “u” yang ditampilkan pada Hyperterminal sama nilainya dengan nyala deret led yang memberikan bilangan 75 heksadesimal Hal ini membuktikan bahwa proses komunikasi serial antara mikrokontroler PIC dengan komputer berhasil dilakukan.

Gambar 11: Tampilan Hyperterminal setelah

dilakukan komunikasi serial dengan masukan dari modul ADC.

IV. KESIMPULAN Dengan adanya PIC microtrainer dapat mempermudah kita dalam mempelajari arsitektur, aplikasi, serta pemprograman mikrokontroler keluarga PIC16F877/18F452/16F4520. Hampir semua aplikasi mikrokontroler dapat dilakukan pada PIC microtrainer ini diantaranya adalah aplikasi tampilan peraga LCD dan komunikasi serial melalui RS232. DAFTAR PUSTAKA

Page 30: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

81

[1] PIC16F8X Datasheet. Microchip Tech. Inc. [2] Pratomo, Andi. Belajar Cepat dan Mudah

Mikrokontroler PIC 16F84. Jakarta :

PT.ElexMediaKomputindoKelompokGramedia

[3] User manual Elkahfi PIC Microtrainer. Oktober 2005.

Page 31: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

82

Simulasi Program Aplikasi Modul A/D Converter PIC16F877 dengan Menggunakan PIC Microtrainer

Nur Asiah Aprianti, Suryadi, Heri Permadi, Suryadi#) dan Khairurrijal Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Teknologi

Bandung Jalan Ganesa 10, Bandung 40132

#) Pusat Penelitian Fisika LIPI, Komplek Puspiptek Serpong, Tangerang 15314 E-mail : [email protected]

Abstrak - Mikrokontroler memiliki posisi yang cukup penting dalam perkembangan teknologi. Salah satu aplikasi mikrokontroler adalah akusisi data dalam pengukuran yang mengkonversi sinyal masukan analog menjadi sinyal digital sebanding. Dengan menggunakan PIC Microtrainer dari Laboratorium Elektronika dan Instrumentasi, Program Studi Fisika, FMIPA ITB, simulasi program aplikasi modul A/D Converter (ADC) dapat dengan mudah dilakukan karena PIC Microtrainer tersebut memanfaatkan mikrokontroler PIC16F877 yang telah dilengkapi dengan ADC di dalamnya. Beberapa contoh simulasi program aplikasi ADC dengan memanfaatkan beberapa fitur PIC Microtrainer diberikan dalam makalah ini. Kata Kunci : A/D Converter, Mikrokontroler PIC16F877 dan PIC Microtrainer

1. PENDAHULUAN Akusisi data merupakan hal penting dalam suatu pengukuran. Salah satu komponen yang berfungsi sebagai akusisi data adalah A/D converter, suatu komponen yang mampu mengkonversi sinyal masukan analog menjadi sinyal digital sebanding. Saat ini A/D converter yang dikenal juga dengan sebutan ADC telah memiliki banyak spesifikasi. Pada umumnya, harga dan kerumitan suatu ADC akan bertambah seiring dengan kecepatan konversi dan keakuratan yang dimiliki ADC tersebut1). Kecepatan konversi dan keakuratan suatu ADC merupakan dua parameter penting yang harus diperhatikan dalam pengukuran/aplikasi lainnya. Kini dengan kemajuan teknologi semikonduktor telah memungkinkan manusia untuk memadukan ribuan transistor beserta komponen lainnya dalam satu chip IC yang dapat diprogram (programmable device) seperti mikrokontroler2). Pada beberapa jenis mikrokontroler ada yang telah dilengkapi dengan komponen ADC sebagai modul pengkonversi. Salah satunya adalah mikrokontroler PIC16F877 dari keluarga PICmicro. Mikrokontroler PIC16F877 telah dilengkapi dengan modul internal ADC 10 bit. Keakuratan yang dimiliki modul internal ini cukup baik dan memiliki waktu

pengkonversian yang cukup cepat. Dengan menggunakan mikrokontroler yang telah dilengkapi modul internal ADC ini, proses akusisi data mulai dari pengukuran, pengkonversian dan penstranferan data ke PC menjadi lebih mudah karena tidak perlu lagi dirangkaikan dengan rangkaian ADC eksternal. PIC Microtrainer, simulator yang berfungsi untuk mempermudah mempelajari arsitektur, aplikasi serta pemograman mikrokontroler dari keluarga PICmicro, yang diproduksi Laboratorium Elektronika dan Instrumentasi, Program Studi Fisika ITB dirancang khusus untuk mikrokontroler tipe PIC16F877 atau tipe lainnya yang memiliki kompatibilitas pinout seperti PIC18F425 atau PIC16F4520. PIC Microtrainer ini telah dilengkapi dengan beberapa modul aplikasi selain aplikasi ADC, di antaranya adalah aplikasi deret LED, peraga 7 segmen, peraga LCD, komunikasi serial dengan RS232 dan keypad. Dengan menggunakan PIC Microtrainer simulasi program aplikasi ADC menjadi lebih mudah dan efisien. Gambar 1 berikut menunjukkan tampilan kit PIC Microtrainer.

Page 32: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

83

Gambar 1. PIC Microtrainer

2. DESKRIPSI MODUL A/D CONVERTER

A/D converter pada PIC PIC16F877 memiliki delapan buah masukan yang mengkonversi sinyal masukan analog ke dalam bilangan digital 10 bit. Modul A/D memiliki pilihan input tegangan rendah dan tinggi, hal tersebut dapat disetting dengan mengatur VDD, VSS, RA2 atau RA3 pada register ADCON1. Modul ini memiliki empat buah register, yaitu :

ADRESH (A/D result high register) ADRESL (A/D result low register) ADCON0 (A/D control register 0) ADCON1 (A/D control register 1)

Register ADCON0 berfungsi sebagai kontrol dalam pengoperasian modul ADC sedangkan register ADCON1 berfungsi untuk mengkonfigurasi fungsi dari port ADC. Modul internal ADC pada PIC16F877 memiliki fitur yang unik, yaitu mampu beroperasi saat dalam keadaan mode SLEEP. Urutan waktu pengkonversian modul ADC adalah sebagai berikut :

Acquisition time merupakan waktu yang diperlukankan untuk menghubungkan kapasitor modul ADC pada level tegangan eksternal. Hal ini terjadi saat channel ADC disetting dan setelah pengkonversian ADC terjadi. Sedangkan A/D Conversion time merupakan waktu yang diperlukan untuk melakukan konversi ADC. Konversi ADC dimulai saat bit GO pada Register ADCON0 disetting berlogika ‘1’ dan saat berakhir hasil konversi ADC diisikan ke register ADRES.

Langkah-langkah untuk melakukan konversi ADC :

1. mengkonfigurasi modul ADC 2. mengkonfigurasi interrup ADC (bila

perlu) 3. menunggu untuk Acquisition time 4. memulai konversi dengan men set bit

GO (ADCON0) 5. menunggu untuk menyelesaikan

pengkonversian dengan mencek bit GO masih berlogika ‘1’ atau tidak

6. membaca hasil konversi ADC pada register ADRESH atau ADRESL

Modul internal ADC memiliki keakuratan yang cukup baik dgn resolusi 10bit namun masih terdapat error dalam pengoperasiannya. Untuk VDD=Vref nilai error yang terjadi pada konversi ADC adalah < ± 1 LSb. Pada sistem yang memiliki frekuensi operasi rendah, penggunaan clock RC pada saat konversi ADC sangat dianjurkan. Dengan menggunakan clock RC, saat sistem mengaktifkan mode SLEEP sesaat setelah penkonversian dimulai, digital noise dari modul akan berhenti.

3. HASIL DAN PEMBAHASAN Simulasi program aplikasi ADC pada PIC Microtrainer dapat dilakukan dengan mengkonfigurasi swicth SW1 dan jumper J1 sesuai dengan input dan output yang digunakan. konfigurasi SW1 menentukan modul output yang aktif (LED, peraga 7 segmen atau peraga LCD) dan J1 menentukan tegangan input ADC yang digunakan (potensiometer / terminal). Pada Gambar 2 di bawah ini, LED indikator setting SW1 ditunjukkan oleh no. 7, potensiometer (sebagai masukan analog) oleh no. 6 dan terminal (sebagai masukan analog) oleh no. 8

Page 33: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

84

Gambar 2. Tata letak papan PIC Microtrainer

Program aplikasi yang akan di load ke mikrokontroler dapat langsung diisikan setelah diperoleh file hexsanya dengan bantuan rangkaian ICSP (In-Circuit Serial Programming) yang telah terpasang dalam PIC Microtrainer dan perangkat lunak WinPIC. Beberapa contoh program aplikasi ADC adalah sebagai berikut : 3.1 ADC – LED

Port A = inputPort D = output

Setting modul ADC

Konversi ADC

Baca port A, 0

Konversi selesai

W = ADRESH

Tampilkan diport D

Tidak

Ya

Start

End

Port A = inputPort D = outputPort A = input

Port D = output

Setting modul ADCSetting modul ADC

Konversi ADC

Baca port A, 0Baca port A, 0

Konversi selesai

W = ADRESHW = ADRESH

Tampilkan diport D

Tampilkan diport D

Tidak

Ya

StartStart

EndEnd

Gambar 3. Diagram alir ADC-LED

Program aplikasi ini merupakan program aplikasi ADC yang paling sederhana, output hasil konversi ADC ditampilkan pada modul deret LED. Nilai hasil konversi ADC yang ditampilkan deret LED merupakan nilai dalam bilangan biner. Diagram alir dari program tersebut dapat dilihat pada Gambar 3 di atas 3.2 ADC - 7 segmen

Start

Port A = inputPort D = output

Setting modul ADC

Baca port A, 0

Tidak

Konversi ADC

Konversi selesai

Terjemahkan nilaihasil konversi

Tampilkan diPeraga 7 segmen

Ya

End

StartStart

Port A = inputPort D = outputPort A = input

Port D = output

Setting modul ADCSetting modul ADC

Baca port A, 0

Tidak

Konversi ADC

Konversi selesai

Terjemahkan nilaihasil konversi

Tampilkan diPeraga 7 segmen

Ya

Konversi ADC

Konversi selesai

Terjemahkan nilaihasil konversi

Tampilkan diPeraga 7 segmen

Ya

Konversi ADCKonversi ADC

Konversi selesaiKonversi selesai

Terjemahkan nilaihasil konversi

Terjemahkan nilaihasil konversi

Tampilkan diPeraga 7 segmen

Tampilkan diPeraga 7 segmen

Ya

EndEnd

Gambar 5. Diagram alir ADC-7 segmen

Pada program aplikasi ADC – 7 segmen, output hasil konversi ADC ditampilkan pada peraga 7 segmen. Pada peraga 7 segmen output yang ditampilkan bukan dalam bilangan biner namun berupa tampilan angka desimal. Karena itu pensettingannya pun menjadi lebih rumit dibandingkan program aplikasi ADC – LED.

Page 34: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

85

Peraga 7 segmen merupakan susunan 7 buah LED yang membentuk angka delapan (Gambar 4). Ada dua buah jenis peraga 7 segmen, yaitu common anode dan common cathode. Perbedaan keduanya adalah bagaimana cara mengaktifkannya. Common anode dapat diaktifkan dengan menghubungkan pada ground (0 Volt) sedangkan common katode dengan menghubungkan pada VCC (5 Volt).

Gambar 4. Peraga 7 segmen

Untuk dapat menampilkan angka desimal (mis. Angka 1) maka perintahnya adalah memberikan logika high (1) pada LED b dan LED c. Namun hal tersebut sangat lah tidak praktis. Karena itu pada rangkaian aplikasi 7 segmen dalam PIC Microtrainer dipasangkan IC 74LS247 sebagai IC yang dapat mengkonversi secara otomatis angka desimal yang ingin ditampilkan. Diagram alir dari program aplikasi ADC – 7 segmen ini titunjukkan pada Gambar 5. 3.3 ADC – LCD Sama halnya dengan peraga 7 segmen, peraga LCD dapat menampilkan output hasil konversi ADC dalam bentuk angka desimal. Bukan hanya itu, peraga LCD pun dapat menampilkan bentuk karakter yang lebih beragam dibandingkan dengan peraga 7 segmen. Jenis perga LCD yang digunakan dalam PIC Microtrainer ini adalah jenis LCD yang dapat menampilkan 2x16 karakter. Peraga LCD memiliki delapan buah pin untuk jalur data, tiga pin untuk jalur kontrol, dua pin untuk jalur catu daya dan satu pin untuk mengatur kekontrasan tampilan layar LCD. Dengan mengkombinasi rangkaian aplikasi ADC dan LCD maka dapat diperoleh tampilan hasil konversi ADC dari tegangan input yang telah ditentukan (potensiometer/terminal) pada peraga LCD. Selain itu dengan program aplikasi ADC – LCD, programmer dapat menyelipkan pesan / keterangan untuk di tampilkan pada peraga LCD bersamaan dengan nilai hasil konversi ADC. Diagram alir dari

program aplikasi tersebut diberikan pada Gambar 6.

Port A = inputPort D = outputPort E = output

Setting modul ADCSetting peraga LCD

Konversi ADC

Baca port A, 0

Konversi selesai

Terjemahkan nilaihasil konversi

Tampilkan diPeraga LCD

Tidak

Ya

Start

End

Port A = inputPort D = outputPort E = output

Port A = inputPort D = outputPort E = output

Setting modul ADCSetting peraga LCDSetting modul ADCSetting peraga LCD

Konversi ADCKonversi ADC

Baca port A, 0Baca port A, 0

Konversi selesaiKonversi selesai

Terjemahkan nilaihasil konversi

Terjemahkan nilaihasil konversi

Tampilkan diPeraga LCD

Tampilkan diPeraga LCD

Tidak

Ya

StartStart

EndEnd

Gambar 6. Diagram alir ADC-LCD

3.4 ADC-7 segmen–serial Salah satu hal penting dalam melakukan akusisi data adalah pentransferan data dari mikrokontroler ke PC (Personal Computer). Jenis komunikasi yang umum digunakan untuk melakukan transfer data ini adalah komunikasi serial dengan RS232. PIC Microtrainer telah dilengkapi pula dengan modul komunikasi serial RS232 yang memudahkan penstransferan data dari mikrokontroler ke PC atau sebaliknya. Dengan mengkombinasikan rangkaian aplikasi ADC, peraga 7 segmen dan aplikasi komunikasi serial RS232, hasil konversi A/D dapat dilihat langsung pada peraga 7 segmen dan ditransfer ke PC untuk dapat diolah lebih lanjut.

Page 35: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

86

Pada rangkaian komunikasi serial dalam PIC Microtrainer dipasangkan IC MAX232 di antara sambungan mikrokontroler dan port RS232, hal ini dimaksudkan untuk menjembatani perbedaan tegangan antara mikrokontroler dan PC. Data yang ditransfer ke PC dapat dilihat pada Hyperterminal, sebuah perangkat lunak yang terinstal secara otomatis pada PC saat menginstal Windows, dengan menset Hyperterminal sesuai dengan set mikrokontroler. Data yang dikirim ke PC merupakan nilai ASCII dari data hasil konversi ADC. Diagram alir contoh program aplikasi ADC-7 segmen-serial ditunjukkan pada Gambar 7. 3.5 ADC-LCD-Serial Sama halnya dengan yang telah dijelaskan pada aplikasi ADC-7 segmen-Serial, program aplikasi ADC-LCD-Serial sangat berguna dalam akusisi data. Pebedaannya hanya pada tampilan data. Pada peraga LCD, data yang ditampilkan dapat lebih dari sekedar angka hasil konversi ADC. Misalnya, menampilkan keterangan urutan data yang masuk (data ke : 1/2/3...). Diagram alir contoh program aplikasi ADC-LCD-Serial dapat dilihat pada Gambar 8.

Port A = inputPort D = output

Setting modul ADC

Konversi ADC

Baca port A, 0

Konversi selesai

Terjemahkan nilaihasil konversi

Tidak

Ya

Setting mode Asinkron

Kirim ke PC & tampilkan di 7 segmen

Cek register PIR1,4

TXIF= 1

Ya

Tidak

Hasil konversi + d’48’

Start

End

Port A = inputPort D = outputPort A = input

Port D = output

Setting modul ADCSetting modul ADC

Konversi ADCKonversi ADC

Baca port A, 0Baca port A, 0

Konversi selesaiKonversi selesai

Terjemahkan nilaihasil konversi

Terjemahkan nilaihasil konversi

Tidak

Ya

Setting mode Asinkron

Setting mode Asinkron

Kirim ke PC & tampilkan di 7 segmen

Kirim ke PC & tampilkan di 7 segmen

Cek register PIR1,4

Cek register PIR1,4

TXIF= 1TXIF= 1

Ya

Tidak

Hasil konversi + d’48’

Hasil konversi + d’48’

StartStart

EndEnd

Gambar 7. Diagram alir ADC-7 segmen-serial

Page 36: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

87

Konversi ADC

Baca port A, 0

Konversi selesai

Terjemahkan nilaihasil konversi

Tidak

Ya

Setting mode Asinkron

Kirim ke PC & tampilkan di LCD

Cek register PIR1,4

TXIF= 1

Ya

Tidak

Setting DDRAMHasil konversi + d’48’

Port A = inputPort D = outputPort E = output

Setting modul ADCSetting peraga LCD

Start

End

Konversi ADCKonversi ADC

Baca port A, 0Baca port A, 0

Konversi selesaiKonversi selesai

Terjemahkan nilaihasil konversi

Terjemahkan nilaihasil konversi

Tidak

Ya

Setting mode Asinkron

Setting mode Asinkron

Kirim ke PC & tampilkan di LCDKirim ke PC &

tampilkan di LCD

Cek register PIR1,4

Cek register PIR1,4

TXIF= 1TXIF= 1

Ya

Tidak

Setting DDRAMHasil konversi + d’48’

Setting DDRAMHasil konversi + d’48’

Port A = inputPort D = outputPort E = output

Port A = inputPort D = outputPort E = output

Setting modul ADCSetting peraga LCDSetting modul ADCSetting peraga LCD

StartStart

EndEnd

Gambar 7. Diagram alir ADC-7 segmen-serial

4. KESIMPULAN Penggunaan mikrokontroler PIC16F877 pada PIC Microtrainer tidak membutuhkan tambahan rangkaian ADC eksternal untuk melakukan simulasi program. Dengan menggunakan beberapa modul aplikasi lainnya yang ada di PIC Microtrainer, pemprograman serta simulasi program mikrokontroler PIC16F877 menjadi lebih mudah.

DAFTAR REFERENSI

[1] Wobschall, Darold. Circuit Design for Electronic Instrumentation. Second edition. United States of America : McGraw-Hill, Inc

[2] Pratomo, Andi. Belajar Cepat dan Mudah Mikrokontroler PIC16F84. Jakarta : PT. ElexMediaKomputindo

[3] http://pdf1.alldatasheet.com/datasheet-pdf/view/75016/MICROCHIP/PIC16F877.html

[4] Elkahfi PIC Microtrainer, User Manual ver.1.0. Program Studi Fisika, FMIPA, ITB

[5] Modul Praktikum Sistem Instrumentasi. Program Studi Fisika, FMIPA, ITB.

Page 37: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

88

Mikrokontroler MCS-51 dalam Percobaan Bandul untuk Penentuan Nilai Gravitasi Bumi

Yanuar Syapaat, Suryadi, Heri Permadi, Gun Gun Gumilar, dan

Khairurrijal*) Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Teknologi Bandung Jalan Ganesha 10, Bandung, Indonesia, 40132

*E-mail: [email protected]

Abstrak

Mikrokontroler dapat dianalogikan dengan komputer berukuran kecil atau biasa disebut minikomputer. Layaknya sebuah komputer yang memiliki posesor, memori, port input untuk mouse, port output untuk printer, layar dll. mikrokontroler juga mempunyai fitur yang sama tetapi berukuran sangat kecil bila dibandingkan komputer. Mikrokontroler AT89S52 merupakan salah satu jenis dari mikrokoktroler MCS-51 yang mempunyai 8 Kbyte sistem flash memori sehingga kemampuan baca tulis program bisa mencapai 1000 kali, 32 pin I/O dan dengan kelebihan lain, mikrokontroler ini dapat digunakan dalam berbagai fungsi. Dan pada percobaan kali ini, mikrokontroler ini digunakan untuk menghitung nilai gravitasi dari percobaan bandul. Sensor inframerah digunakan sebagai pendeteksi gerak bandul dan sinyal sensor tersebut dimasukan kedalam mikrokontrole. Sinyal yang masuk diidentifikasi sebagai interupsi pada mikrokontroler yang di program untuk mengenali bahwa waktu antara dua sinyal dari sensor sebagai perioda bandul. Perumusan matematis percobaan bandul menyatakan adanya hubungan antara besar perioda, panjang tali dan nilai gravitasi, oleh karena itu nilai gravitasi dapat dihitung kemudian. Pengolahan data mempergunakan ms excel yang mengolah data hasil akusisi dari hyperteminal. Percobaan ini diharapkan dapat menunjukkan bahwa pengamatan fenomena fisika bukanlah sesuatu hal yang sangat sulit. Oleh karena itu pembuatan alat-alat ini sangat cocok untuk lab fisika di sekolah-sekolah ataupun perguruan tinggi dan akan sangat membantu pembelajaran fisika. Katakunci : Mikrokontroler, AT89S52, Program, bandul, Gravitasi I. PENDAHULUAN

Sampai saat ini fisika masih dianggap suatu hal yang sulit baik secara teori maupun secara praktek, fisika dianggap sekumpulan rumus yang tidak dapat diaplikasikan dalam kehidupan sehari-hari, percobaan-percobaanya dianggap sesuatu hal yang sulit dilakukan dan dengan biaya yang mahal. fisika dengan peralatan yang kita dimiliki apa adanya, percobaan fisika dapat divariasikan agar terlihat lebih mudah. Contohnya pada penentuan nilai percepatan gravitasi bumi dengan percoban bandul. Osilasi bandul digantungkan pada ketinggian tertentu kemudian diamati periodanya. Dari osilasi kemudian didapatkan perioda, yang digunakan dalam perhitungan untuk mendapatkan nilai percepatan gravitasi bumi.

Dengan adanya mikrokontroler maka

fenomena fisika dapat diotomatisasi termasuk percobaan penentuan nilai gravitasi bumi. Osilasi bandul di deteksi oleh sensor dan kemudian datanya dikirim ke mikrokontroler yang diprogram untuk menghitung periode dari osilasi bandul tersebut. Mikrokontroler yang dipergunakan merupakan keluarga MCS-51 yaitu mikrokontroler AT89S52 yang diproduksi oleh Atmel, mikrokontroler ini mempunyai beberapa kelebihan diantaranya harganya yang relatif murah.

Page 38: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

89

II. TEORI PENENTUAN NILAI GRAVITASI MENGGUNAKAN METODA PERCOBAN BANDUL

Dalam fisika (mekanika), besaran percepatan gravitasi g dapat ditentukan dengan berbagai metode, diantaranya osilasi bandul, pegas, dan osilasi zat cair dalam pipa. Pada bandul yang berosilasi, diperoleh periode osilasi T sebagai fungsi panjang tali l . Fungsi ini dapat dinyatakan dalam persamaan :1)

Pers.1.Perioda

Bandul

Gbr.1. Ilustrasi Percobaan

Dari persamaan diatas apabila panjang tali,

dan peridoe osilasi bandul diketahui maka dapat dihitung nilai percepatan gravitasi bumi sehingga persamaanya dapat diubah menjadi :

g = 4π2l/T2

Pers.2. Percepatan Gravitasi Bumi

dimana : g = percepatan gravitasi bumi (meter/detik2) l = panjang tali (meter) T = peroioda osilasi bandul Π = konstanta 3,14

III. PEMROGRAMAN PADA

MIKROKONTROLER

Gbr.2.Perida Bandul

Perioda atau waktu getar (T) adalah selang

waktu yang diperlukan untuk melakukan satu getaran lengkap(satuan detik)3), atau dengan kata lain waktu yang diperlukan oleh bandul (Gbr.2.) untuk menempuh perjalanan dari b ke c kemudian ke b lagi, atau dari b ke a kemudian ke b lagi. Pergerakan bandul ini dideteksi oleh sensor infrared-phodioda.

Gbr.3.Sensor Infrared-Photodioda

Transmitter memancarkan gelombang

inframerah yang selalu diterima oleh receiver photodioda yang diletakkan di antara pergerakan bandul, tetapi apabila bandul melintas diantara sensor ini maka sinyal dari infrared terpotong sehingga menyebabkan perubahan kondisi pada photodioda. Perubahan inilah yang dideteksi oleh mikrokontroler.

Sensor ditempatkan di antar lintasan b, satu periode bandul berarti sensor menangkap sinyal pada titik b sebanyak dua kali, dan pada mikrokontroler di definisikan satu kali sensor menangkap sinyal sebagai satu interupt yang berarti dua kali intrupt adalah satu periode bandul tersebut.

Sehingga diagram alirnya dapat

digambarkan sebagai berikut :

l

ab

c

Page 39: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

90

Gbr.4. Diagram Alir Program

Dapat dilihat di atas bahwa perioda

didefinisikan sebagai waktu antara terjadinya dua kali interupt. Pada percobaan yang dilakukan Adanya interupt ini di tandai oleh nyalanya LED yang di pasang pada board mikrokontroler. IV. AKUSISI DATA 4.1 Pengambilan data dengan

Hyperterminal

Data dari mikrokontroler yang bernilai perioda dari bandul, kemudian dikirimkan ke computer melalui komunikasi serial RS232, dan pada computer data ditampilkan pada aplikasi hyperterminal yang sebelumnya telah di setting agar dapat menerima data dari komunikasi serial sehingga penggambilan data dapat dilihat seperti gambar di bawah ini.

Gbr.5. Akusisi Data Dengan Hyperterminal

Data dari hyperterminal berupa perioda osilasi badul kemudian di pindahkan ke note pad atau langsung ke Ms Excel yang kemudian diolah sesuai tujuan yaitu menghitung nilai dari percepatan gravitasi. 4.2 Pengolahan Data

Data yang didapat adalah perioda osilasi bandul data tersebut bernilai milidetik sehingga diubah dahulu menjadi detik, dan berdasarkan persamaan . maka perhitungan nilai gravitasi dapat dicari. Seperti disajikan pada table 1.

TABEL I

PENGOLAHAN DATA DENGAN MS EXCEL

Hasil Perhitungan Nilai Gravitasi

t(ms) t(s) t^2 Nilai Gravitasi 1935 1.935 3.74423 10.42779641

1935 1.935 3.74423 10.42779641

1937 1.937 3.75197 10.40627361

1935 1.935 3.74423 10.42779641

1934 1.934 3.74036 10.43858285

1937 1.937 3.75197 10.40627361

1935 1.935 3.74423 10.42779641

1941 1.941 3.76748 10.36342745

1935 1.935 3.74423 10.42779641

1935 1.935 3.74423 10.42779641

1936 1.936 3.7481 10.41702667

1936 1.936 3.7481 10.41702667

1936 1.936 3.7481 10.41702667

1927 1.927 3.71333 10.51455877

Page 40: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

91

1934 1.934 3.74036 10.43858285

1936 1.936 3.7481 10.41702667

1934 1.934 3.74036 10.43858285

1930 1.93 3.7249 10.48189643

1936 1.936 3.7481 10.41702667

1936 1.936 3.7481 10.41702667

1840 1.84 3.3856 11.53237713

1952 1.952 3.8103 10.24695562

1911 1.911 3.65192 10.69136381

Perhitungan sederhana ini dilakukan pada

aplikasi Ms Excel dengan formulasi sesuai persamaan di atas.

V. DISKUSI Mikrokontroler diprogram agar dapat mengamati nilai dari periode osilasi bandul sebaik mungkin, dalam program telah di perkirakan bahwa eror yang terjadi hanyalan satu milidetik, tetapi pada kenyataanya nilai yang di dapat berbeda dengan referensi. Hasil nilai rata-rata nilai percepatan gravitasi yang diperoleh adalah 10,47 m/s2 berbeda dengan referensi yaitu sebesar 9,8 m/s2.

Banyak faktor yang mempengaruhi dari

keakuratan data yang diperoleh, mulai dari faktor lingkungan sampai faktor pada alat itu sendiri. Faktor lingkungan yang mempengaruhi diantaranya kemiringan dari lantai, getaran-getaran yang terjadi ketika percobaan dan sebagainya. Keakuratan data juga dipengaruhi oleh alat dan cara percobaan, misalkan ayunan bandul yang tidak sempurna sehingga simpangan yang terjadi tidak selurus yang diinginkan, selain itu besarnya bandul yang digunakan, sensor mendeteksi bandul ketika bandul tersebut melewati sensor, apabila sisi bandul tersebut cukup besar maka sensor akan langsung mendeteksinya dan ketika badul tersebut kembali maka sisi sebaliknya sensor akan mendeteksi sehingga pendeteksian bandul tidak tepat di tengah-tengah pusat massa.

Tetapi penggunaan mikrokontroler ini

merupakan suatu bukti bahwa fenomena fisika dapat kita variasikan dengan kemampuan kita yang lain sehingga dapat dilakukan lebih mudah.

VI. KESIMPULAN

Mikrokontroler AT89S52 yang merupakan mikrokontroler keluarga ATMEL dapat diaplikasikan dalam berbagai bidang, salah satunya dalam fenomena fisika penentuan nilai percepatan gravitasi dengan percobaan bandul. Mikrokontoler menerima sinyal dari sensor yang di program agar dapat mendeteksi setiap perioda bandul setiap dua kali pengiriman sinyal dari sensor. Data kemudian diolah dengan Ms Excel sehingga didapatkan nilai dari percepatan gravitasi, dan dari percobaan ini didapat nilai percepatan gravitasi sebesar +- 10,4 m/s2. tentu saja nilai yang di dapat memiliki perbedaan dengan nilai referensi yaitu sebesar 9,8 m/s2 dikarenakan berbagai faktor yaitu, delay dari pemrograman, pantulan sinar sendor dari bandul, keadaan lingkungan dan berbagai faktor lainnya. Tetapi pada intinya percobaan ini menjadi menarik karena ternyata fenomena fisika dapat di otomatisasi sehingga memudahkan kita dalam melakukan pengamatannya.

VII. REFERENSI [1] Khairurrijal, M. Miftahul Munir, Asep Suhendi, Hendrayana Thaha, Suryadi ”DIKTAT MIKROKONTROLER MCS-51”, 2007. [2] Eko Afgianto, ”Belajar mikrokontroller AT89C51/52/55, Teori dan Aplikasi” Andi, Yoyakarta, 2005. [3] Data Sheet mikrokontroller AT89C51/52/55 [4]http://www.saburchill.com/physics/practicals/006.html

Page 41: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

92

IMPLEMENTASI MODUL KONTROL TEMPERATUR MENGGUNAKAN DIGITAL PI CONTROLLER

Suryadi, *)Suryadi, dan #)Khairurrijal Program Studi Fisika,

Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Institut Teknologi Bandung

Jl. Ganesha 10, Bandung 40132 #)E-mail : [email protected]

Abstrak

Kontrol Automatik telah memegang peranan yang sangat penting dalam perkembangan ilmu pengetahuan dan teknologi. Sistem kontrol ini bekerja dengan membandingkan keluaran “plant” dengan harga yang diinginkan, menentukan deviasi (error) dan menghasilkan sinyal kontrol yang akan memperkecil error sampai nol atau sampai harga yang kecil. Secara garis besar kontroler di industry dapat diklasifikasikan menjadi beberapa jenis yaitu kontroler on-off, proporsional, integral, proporsional - turunan (PD), proporsional - integral (PI), dan kontroler proporsional - turunan - integral (PID). Salah satu arah perkembangan sistem kontrol adalah implementasi sistem kontrol pada sistem terintegrasi (embedded system)3). Digital PI controller merupakan salah satu aplikasi dari sistem terintegrasi yang menggunakan sistem kontrol PI yang bekerja secara digital. Sistem ini memanfaatkan karakteristik dari mikrokontroller PIC 18F452 yang bisa diisi program sebagai pengontrol. Apabila sistem ini diaplikasikan dalam pengontrolan suhu, maka dengan mengunakan algoritma PI, kita dapat mencapai nilai suhu yang kita inginkan tanpa menghasilkan error steady state. Pengontrol PI bekerja dengan mengalikan dan mengintegralkan error yang dihasilkan.

Kata Kunci: Digital, PI, Controller

I. Pendahuluan

Digital PI controller merupakan salah satu jenis kontroler konvensional yang mengunakan algoritma proporsional–integral. Sistem kontrol ini bekerja dengan cara membandingkan keluaran dari kontroler dengan setting point untuk mencari error dari setting point, kemudian nilai error ini dikuatkan dan kemudian diintegralkan. Apabila kontroler ini diimplementasikan pada mikrokontroler untuk mengontrol temperatur maka akan dihasilkan suatu sistem kontrol temperatur yang bisa berjalan sendiri dengan temperatur keluaran sesuai dengan setting point dan error yang sangat kecil.

*) Sekarang bekerja di Pusat Penelitian Fisika LIPI, Kompleks Puspitek Serpong, Tangerang 15314, Indonesia

Plant

Controller

RS232

Gambar 1 Board Kontroler PI

Salah satu arah perkembangan sistem kontrol adalah implementasi sistem kontrol pada sistem terintegrasi (embedded system)3). Gambar 1 memperlihatkan modul kontroler PI lengkap dengan Plant yang akan dikontrol temperaturnya. Kontroler ini memanfaatkan karakteristik dari PIC18F452

Page 42: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

93

yang bisa diprogram sebagai kontroler dan pengolahan data.

II. Teori Dasar Sistem Kontrol

Sebuah pengontrol otomatik bekerja dengan membandingkan keluaran aktual dari plant (process variable/PV) terhadap masukan referensi (set point/SP) sebagai nilai yang diinginkan. Dari perbandingan tersebut diperoleh nilai error yang menyatakan deviasi dari kedua parameter. Selanjutnya pengontrol akan menghasilkan sinyal kontrol sebagai upaya korektif yang akan mereduksi error sampai ketitik nol atau sebuah nilai steady state error tertentu. Mekanisme bagaimana pengontrol otomatik menghasilkan sinyal kontrol lazim disebut sebagai aksi kontrol (control action)2).

PENGONTROL PLANT/

PROSESSet Point VariabelProses

r(t) e(t) u(t) y(t)

Gambar 2 Diagram blok system control lingkar tertutup

Berdasarkan jenis sistem kontrolnya yang diimplementasikan, Kontroler dikelompokkan menjadi dua bagian yaitu kontroler konvensional dan kontroler nonkonvensional. Kontroler konvensional terdiri dari kontroler on-off, proporsional, proporsional-integral, proporsional-derivatif, proporsional-integral-derivatif. Masing-masing kontroler ini memiliki kelebihan dan kekurangan masing-masing.

Kontroler on-off merupakan jenis kontroler yang paling sederhana, namun sistem yang menggunakan kontroler ini memiliki kelemahan yaitu masih terdapat dead band serta dapat merusak hardware kontroler karena aktivitas on dan off (relay) yang terlalu sering. Dalam kontroler proporsional, error yang terjadi dikuatkan terlebih dahulu sebelum dihubungkan ke actuator. Kontroler mempercepat proses, meningkatkan overshoot, tidak menghilangkan offset dan tidak merubah orde sistem. Kontroler proporsional-integral merupakan kontroler dimana errornya dikuatkan kemudian diintegralkan. Kontroler ini mempercepat proses dan

menghilangkan offset tetapi meningkatkan orde system sehingga akan menimbulkan osilasi. Kontroler proporsional-derivative bekerja dengan cara menguatkan error dan mendiferensialkan error tersebut. Kontroler jenis ini akan meredam osilasi dan mengurangi overshoot tetapi tidak menghilangkan offset.

Kontroler PID merupakan kontroler konvensional yang paling baik karena kontroler ini mrupakan gabungan dari kontroler proporsional, integral, dan derivative. Kontroler ini akan menghasilkan temperatur tanpa overshoot dan tanpa offset. Dalam penulisan ini akan lebih dibahas mengenai kontroler proporsional - integral (PI) karena dengan kontroler jenis ini sudah bisa dihasilkan temperature yang cukup stabil.

III. Perangkat Keras Digital PI Controller

Digital PI Controller dilengkapi dengan resistor variabel yang berfungsi untuk mengatur nilai setting point dan parameter-parameter kontrol yang diperlukan, mikrokontroler PIC18F452 sebagai pengontrol, LCD sebagai penampil nilai temperatur yang terukur, sensor temperatur LM 35, plant, serta komunikasi serial RS232. diagram blok dari sistem kontrol temperatur secara keseluruhan terlihat pada gambar 3.

Gambar 3. Diagram blok sistem kontrol temperatur

Page 43: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

94

8

1

4

3

2

1

U1ALM358N

12

Error_In

R0

+C0

+9

1 3

2

VR0

1 TP1

RA0

+C0S

Gambar 4 rangkaian sensor temperatur

Dalam sistem pengontrol temperatur yang dibuat, digunakan sensor temperatur dengan tipe LM35. Sensor tipe ini dapat merepresentasikan temperatur kedalam tegangan listrik dengan hubungan 10 mV untuk setiap derajat celcius serta memiliki ketelitian sampai 0.5oC 5). Sebagai contoh temperatur 30oC akan direpresentasikan oleh LM35 kedalam tegangan 300 mV. Sinyal dari LM 35 kemudian dikuatkan tiga kali terlebih dulu sebelum masuk ke mikrokontroler PIC18F452.

Proses konversi ADC dilakukan dengan menggunakan ADC internal yang terdapat dalam PIC18F452 yang memiliki resolusi 10 bit. Untuk menyederhanakan proses pengolahan data pada mikrokontroler, hanya 8 bit MSB dari 10 bit hasil konversi ADC yang diambil untuk merepresentasikan sinyal yang masuk. Mikrokontroler akan mengolah data ini untuk kemudian disalurkan ke DAC untuk menyalakan pemanas dan pendingin.

PWM internal PIC16F877 merepresentasikan besaran data digital kedalam besaran analog melalui parameter duty cycle yang memiliki resolusi maksimal 10 bit.

Sinyal yang dihasilkan oleh modul PWM tidak dapat langsung diumpankan ke aktuator lampu dan kipas karena mikrokontroler memiliki keterbatasan dalam menyuplai arus listrik. Oleh karena itu diperlukan rangkaian driver untuk menyuplai daya yang cukup ke aktuator. Rangkaian ini pada dasarnya terdiri atas dua buah transistor NPN yaitu BD139 dan TIP3055 dalam konfigurasi darlington.

Pin CCPx

R11k

Q1BD139

Q22N3055

D1IN4001

C1100nF

+12 VLAMPU

Gambar 5. rangkaian driver PWM

Peraga LCD yang digunakan adalah tipe matrik yang dapat menampilkan 16 karakter sebanyak dua baris. Peraga ini merupakan media untuk menampilkan status maupun parameter-parameter proses. Selain itu peraga ini juga dapat digunakan untuk mengakses menu dalam mengkonfigurasi sistem. Dalam berkomunikasi dengan peraga LCD, mikrokontroler terhubung melalui jalur data yang lebarnya 8 bit serta tiga buah pin untuk kontrol. Untuk jalur data menggunakan seluruh pin pada port D mikrokontroler, sedangkan untuk untuk jalur kontrol menggunakan port E 3).

RD7Rd6RD5RD4RD3RD2RD1RD0

RE2RE1RE0

D7

14D

613

D5

12D

411

D3

10D

29

D1

8D

07

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD DISPLAY2x16 Character

CO

NTR

AS

+5 V

Gambar 6. Rangkaan aplikasi LCD

Sistem komunikasi yang disertakan dalam sistem pengontrol temperatur ini adalah antarmuka serial melalui port COM pada komputer. Sistem antarmuka ini dipilih karena sudah lazim digunakan serta ketersediaan modul USART dalam PIC18G4520 yang memudahkan implementasinya3)

Page 44: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

95

Gambar 7. rangkaian aplikasi komunikasi serial.

IV. Implementasi Perangkat Lunak Digital PI Controller

Persamaan umum dalam kontroler PID seperti pada persamaan 11).

( ) ( ) ( ) ( )0

t

p i d

de tu t K e t K e t dt K

dt= + +∫ (1)

dimana Ki =Kp/Ti, Kd = KpTd. dengan memberi nilai Kd = 0 akan diperoleh persamaan untuk system kontrol Proporsional - integral (persamaan 2).

( ) ( ) ( )0

t

p iu t K e t K e t dt= + ∫ (2)

Program utama yang disusun untuk PIC18F452 adalah rangkaian rutin-rutin yang di eksekusi oleh mikrokontroler sebagai alur utama program. Bagian ini meliputi tahap inisialisasi dimana konfigurasi awal dari modul modul yang digunakan serta fungsi-fungsinya didefinisikan. Tahap yang penting adalah ketika mikrokontroler menjalankan algoritma aksi kontrol yang diimplementasikan yakni aksi kontrol proporsional-integral-derivative. Kontroler Proporsionl-Integral (PI) diperoleh dengan memberi nilai Kd =0. Tahap ini meliputi pembacaan set point dan membandingkannya dengan variabel proses untuk menghitung error. Pada tahap ini juga dibaca parameter KP, Ki, Kd yang digunakan untuk menghitung sinyal kontrol. Sinyal kontrol yang telah dihitung selanjutnya digunakan untuk memperbarui duty cycle sinyal PWM yang dihasilkan untuk menggerakkan aktuator. Secara garis besar struktur dari program utama dapat dilihat gambar 8.

Inisialisasi

Mulai

Baca ParameterPV, SP, Kp, Ki,

Kd

Hitungerror

error = 0?

Aksi PIDu(t) = Kpe(t) + Ki≅E(t)dt + Kdde(t)/dt

Update PWM

Selesai

TIDAK

YA

Gambar 8. Diagram alir program utama

kontroler Proporsional - Integral (Kd = 0) pada mikrokontroler PIC 18F452

V. Data Pengamatan

dengan memasukan berbagai nilai Kp ,Ki, dan Kd = 0. diperoleh data seperti pada gambar 9 sampai gambar 11.

Respon Suhu Proporsional

020406080

100120

0 500 1000Waktu (detik)

Suhu

(des

imal

)

KP=10

KP=20

KP=50

KP=255

KP=99

Gambar 9. Respon Suhu dengan SP = 100, Ki = 0, Kd = 0

Page 45: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

96

Respon Suhu

0

20

40

60

80

100

120

0 200 400 600 800 1000 1200

Wa k t u ( de t i k )

KI = 01 KI = 02

Gambar 10. Respon Suhu dengan SP = 100,

Kp = 20, Kd = 0

Rise time untuk Ki = 01 ⇒ 68 detik Rise time untuk Ki = 02 ⇒ 48 detik Respon suhu untuk Ki = 02, berbentuk sinusoidal yang bersifat divergen

Respon Suhu

0

20

40

60

80

100

120

0 200 400 600 800 1000 1200

Wa k t u ( de t i k )

KI = 01 KI = 02

Gambar 11. Respon temperatur dengan SP =

100, Kp = 20, Ki = 01, Kd = 0

VI. Kesimpulan

Berdasarkan data Pengamatan, respon kontrol temperature paling stabil terjadi pada saat Kp = 20, Ki = 01, Kd = 0. dengan menggunakan nilai parameter-parameter ini diperoleh rising time (waktu mencapai setting point) sebesar 68 detik.

Dengan dibuatnya modul Digital PI Controller untuk mengontrol temperature diharapkan dapat membantu pengguna dalam mengembangkan pengetahuan tentang kontrol dan embedded system

Referensi

[1] Ogata, K. (1997), Modern Control Engineering, Prentice-Hall, Inc, New Jersey.

[2] Sutrisno (1986), Elektronika, Jilid 2, Penerbit ITB, Bandung

[3] Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877. Bandung: ITB

[4] http://pdf1.alldatasheet.com/datasheet-pdf/view/90239/MICROCHIP/PIC18F452.html

[5] http://pdf1.alldatasheet.com/datasheet-pdf/view/8866/NSC/LM35.html

Page 46: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

97

Pengontrolan Temperatur Menggunakan Kontroler PID Digital Berbasis Mikrokontroler PIC18F4520

Suryadi, Asep Suhendi, Nur Asiah Aprianti dan Khairurrijal Kelompok Keahlian Fisika Material Elektronik

Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Bandung

Jl. Ganesa 10, Bandung 40132

Abstrak

Kontroler PID digital merupakan kontroler yang paling baik dari kelompok kontroler konvensional. Sistem kontrol ini bekerja dengan membandingkan keluaran “plant” dengan harga yang diinginkan, menentukan deviasi (error) dan menghasilkan sinyal kontrol yang akan memperkecil error sampai harga yang kecil. Secara garis besar sistem kontrol di industri dapat diklasifikasikan menjadi beberapa jenis yaitu kontroler on-off, proporsional, integral, proporsional - derivatif (PD), proporsional - integral (PI), dan kontroler proporsional – integral - derivatif (PID). Salah satu arah perkembangan sistem kontrol adalah implementasi sistem kontrol pada sistem terintegrasi (embedded system). Kontroler PID digital merupakan salah satu aplikasi dari sistem terintegrasi yang menggunakan sistem kontrol PID yang bekerja secara digital. Sistem ini memanfaatkan karakteristik dari mikrokontroller PIC18F4520 yang memiliki dua buah sumber PWM, ADC internal, dan 32 Kb flash memory yang bisa diisi program sebagai pengontrol. Sistem ini diaplikasikan dalam pengontrolan suhu dengan mengunakan algoritma PID, diperoleh nilai suhu yang sesuai dengn Setting Point dengan cepat dan tanpa menghasilkan error steady state.

Kata Kunci: Digital, PID, Kontroler I. Pendahuluan

Kontroler PID merupakan kontroler yang paling baik dari kelompok kontroler konvensional. Kontroler PID digital merupakan algoritma PID secara digital sehingga memungkinkan untuk diimplementasikan pada mikrokontroler sebagai pengontrol. Kontroler ini merupakan penggabungan dari kontroler poporsional, integral dan derivatif. Apabila kontroler ini diimplementasikan pada mikrokontroler untuk mengontrol temperatur maka akan dihasilkan suatu sistem kontrol temperatur yang bisa berjalan sendiri dengan temperatur keluaran sesuai dengan setting point dan error yang sangat kecil.

Gambar 1 Board Kontroler PID

Salah satu arah perkembangan sistem kontrol adalah implementasi sistem kontrol pada sistem terintegrasi (embedded system)1). Gambar 1 memperlihatkan modul kontroler PID lengkap dengan Plant yang akan dikontrol temperaturnya. Kontroler ini memanfaatkan karakteristik dari PIC18F4520 yang bisa diprogram sebagai kontroler dan pengolahan data. II. Teori Dasar Sistem Kontrol

Page 47: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

98

Sebuah pengontrol otomatik bekerja dengan membandingkan keluaran aktual dari plant (process variable/PV) terhadap masukan referensi (set point/SP) sebagai nilai yang diinginkan. Dari perbandingan tersebut diperoleh nilai error yang menyatakan deviasi dari kedua parameter. Selanjutnya pengontrol akan menghasilkan sinyal kontrol sebagai upaya korektif yang akan mereduksi error. Mekanisme bagaimana pengontrol otomatik menghasilkan sinyal kontrol lazim disebut sebagai aksi kontrol (control action)2). Sinyal kontrol yang dihasilkan kemudian dikrimkan ke aktuator untuk mengontrol plant agar diperoleh error yang sangat kecil.

PENGONTROL PLANT/

PROSESSet Point VariabelProses

r(t) e(t) u(t) y(t)

Gambar 2 Diagram blok sistem kontrol

lingkar tertutup

Kontroler PID merupakan penggabungan antara kontroler proporsionl, integral, dan derivatif. Kontroler proporsional bekerja dengan menguatkan error yang terjadi. Kontroler ini mempercepat proses, meningkatkan overshoot, tidak menghilangkan offset dan tidak merubah orde sistem. Kontroler proporsional-integral merupakan kontroler dimana errornya dikuatkan kemudian dijumlahkan dengan hasil integral dari error yang sudah terjadi. Kontroler ini mempercepat proses dan menghilangkan offset tetapi meningkatkan orde sistem sehingga akan menimbulkan osilasi. Kontroler proporsional-derivative bekerja dengan cara menguatkan error dan menjumlahkan dengan hasil diferensial dari error tersebut. Kontroler jenis ini akan meredam osilasi dan mengurangi overshoot tetapi tidak menghilangkan offset. Kontroler proporsional-integral-derivatif merupakan kontroler dimana errornya dikuatkan ditambah dengan hasil integral dari error yang terjadi lalu ditambah dengan hasil diferensial dari error yang terjadi. Persamaan umum dalam kontroler PID terlihat pada persamaan 12).

( ) ( ) ( ) ( )0

t

p i d

de tu t K e t K e t dt K

dt= + +∫ (1)

Kontroler PID merupakan kontroler konvensional yang paling baik karena kontroler ini mrupakan gabungan dari kontroler proporsional, integral, dan derivative. Kontroler ini akan menghasilkan temperatur tanpa overshoot dan tanpa offset.

III. Perangkat Keras Digital PID Controller

Kontroler PID digital menggunakan mikrokontroler PIC18F4520 dengan fitur 32Kb flash programming, ADC dan PWM internal dengan resolusi 10 bit, serta mendukung untuk melakukan komunikasi USART. Aplikasi ini juga dilengkapi dengan resistor variabel yang berfungsi untuk mengatur nilai setting point dan parameter-parameter kontrol yang diperlukan, LCD sebagai penampil nilai temperatur plant yang terukur, sensor temperatur LM35, serta komunikasi serial RS232. Diagram blok dari sistem kontrol temperatur secara keseluruhan terlihat pada gambar 3.

Gambar 3. Diagram blok sistem kontrol

temperatur

R23K

VCC

2

31A

411

U4ATL084ACN

-VCC

R312K

RA1Input1

123

LM35 VCC

Gambar 4 rangkaian Penguat sensor

temperatur(3),(4)

Page 48: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

99

Dalam sistem pengontrol temperatur yang dibuat, digunakan sensor temperatur dengan tipe LM35. Sensor tipe ini dapat merepresentasikan temperatur kedalam tegangan listrik dengan hubungan 10 mV untuk setiap derajat celcius serta memiliki ketelitian sampai 0.5oC 5). Sebagai contoh temperatur 30oC akan direpresentasikan oleh LM35 menjadi tegangan 300 mV. Sinyal dari LM35 kemudian dikuatkan lima kali terlebih dulu sebelum masuk ke mikrokontroler PIC18F4520.

Proses konversi ADC dilakukan dengan menggunakan ADC internal yang terdapat dalam PIC18F4520 yang memiliki resolusi 10 bit. Konversi ADC berfungsi untuk mengubah besaran analog dari resistor variabel (pada saat setting awal parameter kontroler) dan sensor temperatur.

Mikrokontroler akan mengolah data temperatur dan parameter kontrol untuk kemudian disalurkan ke DAC untuk menyalakan pemanas dan pendingin. Pada penelitian ini DAC direpresentasikan dengan menggunakan PWM (pulse width modulator) yang berasal dari PWM internal dengan resolusi 10 bit. Persentase daya yang keluar dari PWM ini sebanding dengan besarnya duty cycle yang digunakan.

Sinyal yang dihasilkan oleh modul PWM tidak dapat langsung diumpankan ke aktuator lampu dan kipas karena mikrokontroler memiliki keterbatasan dalam menyuplai arus listrik. Oleh karena itu diperlukan rangkaian driver untuk menyuplai daya yang cukup ke aktuator. Pada aplikasi ini digunakan IC driver L298 sebagai penguat daya.

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 5. rangkaian driver PWM

Peraga LCD yang digunakan adalah tipe matriks yang dapat menampilkan 16 karakter sebanyak dua baris. Peraga ini merupakan media untuk menampilkan status maupun parameter-

parameter proses. Dalam berkomunikasi dengan peraga LCD, mikrokontroler terhubung melalui jalur data yang lebarnya 8 bit serta tiga buah pin untuk kontrol. Untuk jalur data menggunakan seluruh pin pada port D mikrokontroler, sedangkan untuk untuk jalur kontrol menggunakan port E.

+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 6. Rangkaan aplikasi LCD

Sistem komunikasi yang disertakan dalam sistem pengontrol temperatur ini adalah komunikasi serial melalui port COM pada komputer. Sistem antarmuka ini dipilih karena sudah lazim digunakan serta ketersediaan modul USART dalam PIC18F4520 yang memudahkan implementasinya.

Gambar 7. rangkaian aplikasi komunikasi serial.

IV. Implementasi Perangkat Lunak

Digital PID Controller

Perangkat lunak yang diaplikasikan dalam mikrokontroler PIC18F4520 diawali dengan inisialisasi. Inisialisasi berfungsi untuk menentukan konfigurasi awal mikrokontroler meliputi fungsi port (sebagai input atau sebagai output), komunikasi serial, ADC, LCD, PWM, serta penginisialisasian interupsi eksternal dan timer.

Page 49: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

100

Tahap selanjutnya program membaca parameter-parameter yang dibutuhkan (SP, KP, KI, KD). Pembacaan ini memanfaatkan resistor variable yang difungsikan sebagai pembagi tegangan. Data tegangan dari resistor variable kemudian dikonversikan ke bentuk digital oleh ADC internal. Setiap terjadi interupsi eksternal yang berasal dari penekanan tombol, 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, dan keempat untuk menentukan KD. Keempat parameter tersebut akan tersimpan semuanya di mikrokontroler, interupsi yang kelima berfungsi untuk memerintahkan mikrokontroler mengeksekusi tahap selanjutnya.

Setelah parameter-parameter disimpan, pogram masuk ke tahap implementasi algoritma kontroler PID. Nilai temperatur yang terukur akan dibandingkan dengan setting point untuk mendapatkan error kemudian masuk pada persamaan kontroler PID yang melibatkan KP, KI, dan KD. Hasil dari persamaan kontroler disebut sebagai sinyal kontrol. Sinyal kontrol ini kemudian akan memperbaharui duty cycle PWM. Tahap implementasi algoritma kontroler PID akan berlangsung terus menerus sampai sistem dimatikan.

Inisialisasi

Baca ParameterSP, KP, KI, KD

PID Kontroler

Update PWM

Program Utama

START

Gambar 8. Diagram alir program

utama kontroler PID pada mikrokontroler PIC 18F4520

V. Data Pengamatan

Dengan memasukan nilai Kp ,Ki, dan KD. diperoleh grafik respon temperatur dan error seperti terlihat pada gambar 9 dan gambar 10.

Temperature Response

25

30

35

40

45

50

55

0 50 100 150 200 250 300

Time (s)Te

mpe

ratu

re (

0 C)

Gambar 9. Respon temperatur dengan SP =

50.5, KP = 50, KI = 0.01, KD = 1

Error Vs Time

-5

0

5

10

15

20

25

0 50 100 150 200 250 300

Time (s)

Erro

r (0 C

)

Gambar 10. respon error terhadap waktu

Gambar 9 dan gambar 10 menunjukkan bahwa kontroler PID digital dapat mengontrol temperatur suatu plant menjadi stabil pada temperatur yang diinginkan (setting point) dengan error yang sangat kecil. Waktu yang diperlukan untuk mencapai setting point (rise time) sebesar 56 detik untuk SP 50.50C

VI. Kesimpulan

Kontroler PID bekerja berdasarkan error yang terjadi, error ini merupakan selisih antara temperatur pada Setting Point (SP) dengan temperatur plant sebenarnya. Penggunaan kontroler untuk mengontrol temperatur plant tidak mungkin menghasilkan kestabilan temperatur tanpa error sedikit pun (error = 0). Kontroler hanya mampu meminimalisasi error, mempercepat proses, dan

Page 50: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

101

meredam osilasi temperatur di sekitar Setting Point (SP).

Referensi

[1] Suryadi, “Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877”, Tugas Akhir, ITB, Bandung, 2005

[2] Ogata, K, “Modern Control Engineering”, Prentice-Hall, Inc, New Jersey, 1997

[3] Sutrisno, “Elektronika Jilid 2”, ITB, Bandung,1986

[4] Robert F. Coughlin, and Frederick F. Driscoll, ”Operational Amplifier & Linear Integration Circuits”, 5 ed, Prentice-Hall, Inc, New Jersey, 1993

Page 51: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

102

Analysis of Laboratory Scale Temperature Control System using MatLab

Nur Asiah Aprianti, Suryadi, and Khairurrijal

Physics of Electronic Materials Research Division, Faculty of Mathematics and Natural Sciences Institut Teknologi Bandung

Jalan Ganesa 10, Bandung 40132, Indonesia

Abstract- A laboratory scale temperature control system consisting of a plastic box as a thermal plant, dc lamp as well as dc fan as two actuators, and a microcontroller based controller was modeled as a second-order lumped-element system and theoretically analyzed by using MatLab, Control Toolbox and Simulink. The root locus method and the Bode analysis were applied to the control system. The best simulation result obtained Kp=40 and Ki=1. Experimental result of the control system with the PI control action gave Kp=20 and Ki=1. The difference between the simulation and experimental results occurs because the materials’ parameters used in modeling the thermal plant are not known exactly. KeyWords: Control system, MatLab, Microcontroller, Thermal plant

I. INTRODUCTION

Computer technology expands along with expanding electronics technology. Control technology gets advancement from the expansion of electronics technology starting from conventional control to automatic control to smart control. Today, the automatic control gives very big role in human life, especially in industry and science fields. Among the others are robots, controlling the temperature of a tank, the humidity of air in a room, air pressure in a closed pipe, etc. The domination of control systems both in the case of practice and also theory will yield a response system that fits with requirements. Controller is usually needed to eliminate error from the system until control specification is obtained. It is the problem in control. There are many ways to handle it, such as the choice of the best sensor to sense control output and the best actuator performance, the development of a mathematical model of the system, the design of controller, the evaluation of controller’s design based on analytic, simulation and experiment [1,2].

In this paper, we evaluate a microcontroller-based laboratory scale temperature control system. Analytical and experimental methods as well simulation using MatLab, Control Toolbox, and Simulink will be performed to evaluate the laboratory scale temperature control system and the results will be discussed.

II. IDENTIFICATION OF CONTROL SYSTEM

A temperature control system, which is

composed of a controller and a thermal plant, has been designed [3,4] and is used in the Electronics and Instrumentation Laboratory of Physics Study Program at Institut Teknologi Bandung as seen in Fig. 1. The controller employs the PIC18F452 microcontroller, a potentiometer to give a setting point value and control parameters, and an LCD to display the setting point, the control parameters and the measured temperature, and the RS232 serial communication. The thermal plant is made of a plastic box confining dc lamp and fan actuators as well as an LM 35 temperature sensor.

Plant

Controller

RS232

Figure 1. A temperature control system board consisting of a

controller and a thermal plant.

The thermal plant as a dynamic system is modeled as a second-order lumped-element system as given in Fig. 2. The state variables of the dynamic system are Ta and Tb, where the air and box temperatures, respectively. The inputs

Page 52: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

103

to the dynamic system are heat Q(t) provided by the heater and the ambient temperature To. The heat transfer rate because of the temperature change in a material is [5]

dtdT

cmdtdQ m

mm= , (1)

where mm and cm are the mass and the specific heat capacity of the material, respectively.

ambient

plastic box

heat

er

air Ta

Tb

To

Q(t)

Figure 2. A thermal plant as a dynamic system.

The rate of heat transfer from the air to

the plastic box is

( )ba TThAdtdQ

−= 11 , (2)

where A1 is the contact area between the air and plastic box and h1 is the heat transfer coefficient from

the air to the box. Substituting Eq. (1) into (2) we obtain Eq. (3).

( )baa

aa TThAdtdT

cm −= 11 , (3)

where ma and ca are the mass and specific heat capacity of the air, respectively.

The heat transfer rate between the air and plastic box as well as between the plastic box and the ambient rate is

( ) ( )obba TThATThAdtdQ

−−−= 2211 ,

(4) where A2 is the contact area between the

plastic box and ambient and h2 is the heat transfer coefficient from the plastic box to the ambient. Substituting Eq. (1) into (4) to obtain Eq. (5). ( ) ( )obba

bbb TThATThAdtdT

cm −−−= 2211 ,

(5) where mb and cb are the mass and specific heat capacity of the plastic box, respectively. III. OBTAINING TRANSFER FUNCTION OF

DYNAMIC SYSTEM

By taking the Laplace transform to Eqs. (3) and (5), we obtain Eqs. (6.a) and (6.b), respectively.

1 1 2 2

1 1 2 2

( ) ( )( ) .a ob

b b

A hT s A h T sT sm c s A h A h

+=

+ + (6.a)

and

1 1

( ) ( ) ( ) .a a a a bm c T s T s T sA h s s

= − (6.b)

With substitution of Eq. (6.a) into Eq. (6.b), Eq.

(7) is obtained. [ ] ( )( )( ) 1 ,o

a sT sQ sT s k s

s sτ= + −

Δ Δ (7)

where 1 12 2

0.30912 0.3524,0.8772a a

A hkm c

= = =

2 2

291.696 108035.56,0.0027

b bs

m cA h

τ = = =

21 1 2 2

2 2

( ) 291.696 0.31182 .0.0027

b bm c s A h A h s s ssA h

+ + +Δ = =

Gol(s)

Q(s) Ta(s)

Figure 3. The open loop system.

We get an open loop transfer function of the

dynamic system

ssk

sQsT

sG saol Δ

+==

)1()()(

)(τ (8.a)

or

sss

sQsT

sG aol 31182.0696.291

00095.07937.102)()(

)( 2 ++

== , (8.b)

with To(s) is assumed as a disturbance. The open

loop system is described in Fig. 3.

Gol(s)

Ta(t)

H(s)

Tsp(t)

Figure 4. The closed loop system.

The closed loop system illustrated in

Fig. 4 has a transfer function given by

Page 53: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

104

)()(1)(

)()(

)(sGsH

sGsTsT

sGol

ol

sp

acl +

== . (9.a)

Taking H(s) = 1, Eq. (9.a) becomes

00095.010552.103696.29100095.07937.102

)()(

)( 2 +++

==ss

ssTsT

sGsp

acl

. (9.b)

IV. ANALYSIS OF CONTROL SYSTEM

Analysis of the temperature control was

doing step by step by using MatLab and Control Toolbox [6] for the open loop system (Fig. 3), the closed loop system without controller (Fig. 4), and the closed loop system with controller as shown in Fig. 5.

CONTROLLER Gol(s)Ta(t)

H(s)

Tsp(t)

Figure 5. Block diagram of the closed loop system with controller.

It is seen that the transient response

of the open loop system, with the step input Q(s)=A/s where A is a constant of 80, given by Eq. (8.b) is shown in Fig. 6. The open loop system is unstable because the temperature Ta increases monotonously with the increase of time.

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000

0.5

1

1.5

2

2.5

3x 10

4 Step Response

Time (sec)

Ampl

itude

Figure 6. Transient response of the open loop

system.

Figure 7 gives the transient response, with the setting point input Tsp(s)=80/s, for the closed loop system in Eq. (9.b). It is clearly shown that the system is stable

and only requires 16 seconds to reach the setting point temperature of 80 oC.

0 2 4 6 8 10 12 14 160

10

20

30

40

50

60

70

80Step Response

Time (sec)

Ampl

itude

Figure 7. Step response of the closed loop system.

Further analysis of the closed loop system

using the root locus method needs a controller with the gain K so that the closed loop transfer function becomes

( )00095.0)31182.07937.102(696.291

00095.07937.102)()()(

2 KsKssK

sTsTsG

sp

acl

++++

=

=

.(10) The root locus plot of the closed-loop system

illustrated in Eq.(10) is depicted in Fig. 8. There are two poles, i.e. (-0.35,0) and near (0,0) and a zero near (0,0). Since the pole and zero near zero forms a pair, the pole at (-0.35,0) move toward -∞ as the value of K is increased. All the poles are therefore on the real axis. This corresponds to an overdamped system and the transient response is nonoscillatory.

-1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

0.88

0.76 0.64 0.5 0.120.240.38

0.5 0.38 0.24

0.97

0.12

0.97

0.76 0.64

11.2

0.88

0.20.40.60.8

Root Locus

Real Axis

Imag

inar

y Ax

is

Figure 8. Root locus of the closed-loop system.

Page 54: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

105

Figure 9 shows the Bode plot of the closed-loop system in Eq. (10). It is found that the frequency bandwidth (BW) of the closed-loop system is equal to 0.347 rad/sec. and the rise time tr obtained from tr≥1.8/BW, where BW in rad/sec. [6] is more or equal to 5 seconds.

10-6

10-5

10-4

10-3

10-2

10-1

100

101

-90

-45

0

Phas

e (d

eg)

-30

-25

-20

-15

-10

-5

0

Mag

nitu

de (d

B)

System: untitled1 Frequency (rad/sec): 0.347

Magnitude (dB): -3.01

Bode DiagramGm = Inf , Pm = -180 deg (at 0 rad/sec)

Frequency (rad/sec) Figure 9. Frequency response of the closed-loop

system.

Now, we need a controller to get a better response of the closed-loop system. The control action is proportional-integral (PI). The block diagram of the PI control action is given in Fig. 10. With simulation using Simulink [6] the parameter values of the controller (Kp and Ki) were obtained. The best value of of Kp is 40. However, an error in the steady state still exists. The error is eliminated by employing an integral with Ki=1. The simulation result of output response of the closed-loop system is demonstrated in Fig. 11. It is found that the output response is overdamped.

Figure 10. Block diagram of closed loop system with simulink (Kp=40, Ki=1)

Figure 12 present the experimental

result of the closed-loop system controlled by the PI action. The output response is good for Kp=20 and Ki=1. The parameters between the simulation and experimental results are different. One reason why the parameters are different is the materials’ parameters

used in modeling the thermal plant are not known exactly.

Figure 11. Simulation result of transient response with Kp=40 and Ki=1.

St ep R esponse

0

10

20

30

40

50

0 200 400 600 800 1000 1200Ti me ( se c ond)

Figure 12. Experimental result of transient response with

Kp=20 and Ki=1.

V CONCLUSION

A microcontroller-based laboratory

scale temperature control system has been modeled as a second-order lumped-element system. The root locus method and the Bode analysis have been applied to analyze the control system. MatLab and Control Toolbox have been used to obtain the transient responses of the open-loop and closed-loop systems and their characteristics including poles and zero as well as magnitude and phase. Simulink has been used to simulate the PI control action applied to the control system. The best simulation result obtained Kp=40 and Ki=1. Experimental result of the control system with the PI control action gave Kp=20 and Ki=1, which differ from those obtained from the simulation because the materials’ parameters used in modeling the thermal plant are not known exactly

Page 55: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

106

REFERENCES

[1] C. L. Phillips, R. D. Harbor, Feedback Control System 3e, Prentice Hall, Inc., New Jersey, 1996.

[2] K. Ogata, Teknik Kontrol Automatik Jilid 1 dan 2, Jakarta: Penerbit Erlangga, 1985.

[3] Suryadi, “Perancangan dan implementasi modul kontrol temperatur berbasis mikrokontroler PIC16F877”, Skripsi Sarjana Fisika, ITB, 2005.

[4] Suryadi, Suryadi, dan Khairurrijal, “Implementasi modul kontrol temperatur menggunakan digital PI controller”, Prosiding Seminar Nasional Teknologi dan Rekayasa Industri SNTRI 07 (Serpong, 11-12 April 2007), pp.TI-17-1-TI-17-4, 2007.

[5] Y. A. Çengel and M. A. Boles, Thermodynamics An Engineering Approach, 4th ed., McGraw Hill, Boston, 2002.

[6] T.W.D. Hartanto dan Y.W.A. Prasetyo, Analisis dan Desain Sistem Kontrol dengan MatLab. Yogyakarta: Penerbit Andi, 2002.

Page 56: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt

107

RIWAYAT HIDUP

Suryadi, lahir di Kuningan, Jawa Barat, pada tanggal 7

Agustus 1985. Setelah menyelesaikan pendidikan dasar di

SD Yos Sudarso Cigugur, SLTP Yos Sudarso Cigugur, dan

SMUN 2 Kuningan, pada tahun 2003 ia melanjutkan

pendidikan ke Departemen Fisika, Institut Teknologi

Bandung. Kelompok keahlian yang diambilnya ialah Fisika Material Elektronik

(Physics of Electronic Material Research Division).

Pada tahun 2007, saat menjadi mahasiswa pernah menjadi koordinator trainer

pada wokshop “Pelatihan Mikrokontroler MCS-51 dalam Percobaan Sains” yang

diselenggarakan oleh FMIPA ITB. Ia juga pernah menjadi koordinator pelatihan

dan kaderisasi untuk calon pengurus laboratorium elektronika dan instrumentasi

Fisika ITB di tahun tersebut.

Page 57: DAFTAR PUSTAKA -  · PDF fileDAFTAR PUSTAKA 1. Suryadi. 2005. Perancangan dan Implementasi Modul Kontrol Temperatur Berbasis Mikrokontroler PIC16F877 ... ut Ket K et dt K dt