76
PEMANFAATAN ANALOG COMPARATOR INTERNAL MIKROKONTROLER SEBAGAI ANALOG TO DIGITAL CONVERTER TUGAS AKHIR Disusun Sebagai Syarat Akhir Menyelesaikan Pendidikan Program Sarjana Pada Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro oleh NURDIN ABDUL KHAFIZ L2F099625 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO SEMARANG 2006

PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

  • Upload
    vothu

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

PEMANFAATAN ANALOG COMPARATOR INTERNAL MIKROKONTROLER

SEBAGAI ANALOG TO DIGITAL CONVERTER

TUGAS AKHIR

Disusun Sebagai Syarat Akhir Menyelesaikan Pendidikan Program Sarjana Pada

Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro

oleh

NURDIN ABDUL KHAFIZ L2F099625

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO

SEMARANG 2006

Page 2: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

ii

Page 3: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

iii

Page 4: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

ABSTRAK

Perkembangan teknologi elektronika terutama dibidang mikrokontroler terjadi sangat

pesat. Telah banyak penerapan dan pemanfaatan mokrokontroler yang berguna dalam kehidupan sehari-hari maupun dalam penelitian di laboratorium. Pada tugas akhir ini digunakan mikrokontroler ATmega8515 produk dari ATMEL sebagai Analog to Digital Converter

Metode yang digunakan adalah dengan memanfaatkan fasilitas pembanding analog (analog comparator) yang telah tersedia pada mikrokontroler ATmega8515. Dimana sinyal yang akan diukur dihubungkan dengan masukan pembalik dan sinyal referensi dihubungkan dengan masukan bukan pembalik. Mikrokontroler ATMEL ATmega8515 memiliki kemampuan pencacah16-bit serta kemudahan pemrograman dengan menggunakan bahasa C sebagai bahasa pemrogramannya.

Dari pengujian didapatkan hasil bahwa analog comparator yang tersedia pada Atmega8515 dapat dibuat sebagai analog to digital converter ( ADC ). Hasil pengukuran terhadap suhu menunjukan bahwa nilai suhu yang didapat melalui pengukuran dengan ADC rancangan mendekati hasil pengukuran dengan termometer.

Kata Kunci : analog comparator, Mikrokontroler ATmega8515, Bahasa C

iv

Page 5: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

ABSTRACT

The development of electrical technology especially in microcontroller growth very fast. Many application useful in our life used microcontroller based, and also in laboratory research. In this final task, we used microcontroller ATmega8515 from ATMEL as analog to digital converter.

The Method that was used by exploiting analog comparator facility which have made available at ATmega8515 mikrokontroler. The signal to be measured is connected to the inverted input and a reference signal is connected to the non-inverting input , ATmega8515 mikrokontroler ability to counting in 16-bit, and easy to be programming with C language by using CodeVisionAVR.

By experimentation, analog comparator which available at ATmega8515 mikrokontroler can be made analog to digital converter. Result of measurement to temperature shown that temperature value through measurement with ADC device come near result of measurement with thermometer. Keywords : analog comparator, ATmega8515 Microcontroller, C language

v

Page 6: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

KATA PENGANTAR

بسم اهللا الر حمن الر حيم Segala puji dan syukur hanya kepada Allah Subhanahu wa Ta'ala yang

telah melimpahkan Rahmat, Taufik serta Hidayah-Nya kepada penulis sehingga

penulis dapat menyelesaikan penyusunan laporan tugas akhir yang berjudul

Pemanfaatan Analog Comparator Internal Mikrokontroler Sebagai Analog to

Digital Converter : Studi Kasus pada Mikrokontroler ATMEL ATmega8515

dengan Pengukuran Terhadap Suhu.

Dalam penyusunan laporan tugas akhir ini, penulis banyak mendapatkan

bantuan dari berbagai pihak, oleh karena itu pada kesempatan kali ini penulis

ingin menyampaikan ucapan terima kasih kepada :

1. Bapak Ir. Sudjadi, MT. selaku Ketua Jurusan Teknik Elektro

2. Bapak R. Rizal Isnanto, ST. MM. MT. selaku Koordinator Tugas Akhir.

3. Bapak Sumardi, ST. MT. selaku Pembimbing I Tugas Akhir.

4. Bapak Iwan Setiawan, ST. MT. selaku Pembimbing II Tugas Akhir.

5. Bapak Susatyo Handoko ST. MT. selaku Dosen Wali.

6. Seluruh staf pengajar, staf tata usaha dan staf laboratorium yang tidak

dapat penulis sebutkan satu persatu.

7. Ayah Ibu – semoga Allah menjaga dan mengampuninya - tercinta yang

selalu mendoakan penulis, memberikan nasehat, dan dorongan semangat

kepada penulis agar tetap berusaha, tawakal dan ikhlas dalam menjalani

kehidupan.

8. Saudara kembarku Nurdin Abdul Kholik, ST. yang selalu mendoakan

penulis, memberikan motivasi, semangat dan nasehat agar terus berusaha

sebagai bakti kepada kedua orang tua.

9. Keluarga besar Bahowi Oesman di Bumiayu atas dorongan dan

semangatnya.

vi

Page 7: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

10. Semua teman-teman Teknik Elektro angkatan ’99 khususnya Handoko ST,

Prima Dasa ST, Utis Sutisna ST, Andes, Mustafa, brahim dan Syahid ST

yang sudah banyak memberikan inspirasi, semangat dan motivasi.

11. Bapak dan Ibu Tawar Haryanto yang telah menyediakan tempat berteduh

untuk penulis selama 7 tahun.

12. Teman-teman Tirtasari 121 : Ahmad Nurdin, Heru, Gandang, Taufik, Eli,

Ari dan Anggit atas motivasi, bantuan dan kebersamaannya selama ini.

13. Semua pihak-pihak yang telah banyak membantu penulis, yang penulis

tidak dapat sebutkan disini satu-per-satu.

Penulis menyadari bahwa laporan Tugas Akhir ini masih jauh dari

sempurna. Oleh karena itu, penulis sangat mengharapkan saran dan masukan

untuk kesempurnaan laporan ini. Akhirnya penulis berharap semoga laporan tugas

akhir ini dapat memberikan manfaat bagi kita semua dan khususnya bagi penulis

sendiri.

و السال م عليكم و رحمة اهللا و بر آاته

Semarang, Agustus 2006

Penulis

vii

Page 8: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

DAFTAR ISI

Halaman Judul .................................................................................................... i

Halaman Pengesahan ......................................................................................... ii

Abstrak ............................................................................................................... iv

Kata Pengantar ................................................................................................... vi

Daftar Isi ............................................................................................................ viii

Daftar Gambar .................................................................................................... x

Daftar Tabel ....................................................................................................... xi

BAB I PENDAHULUAN

1.1 Latar Belakang ....................................................................... 1

1.2 Tujuan Penelitian ................................................................... 1

1.3 Batasan Masalah..................................................................... 2

1.4 Sistematika Penulisan............................................................. 2

BAB II LANDASAN TEORI

2.1 Analog to Digital Converter ................................................... 4

2.2 Tinjauan Umum Perangkat Keras ........................................ 4

2.2.1 Mikrokontroler ATmega8515 ....................................... 4

2.2.1.1 Susunan Kaki Mikrokontroler ATmega8515 . 5

2.2.1.2 Blok Diagram Dan Arsitektur ATmega8515.. 6

2.2.1.3 Pewaktuan CPU ............................................. 7

2.2.1.4 Port A/B/C/D/E, DDR A/B/C/D/E, dan

Pin A/B/C/D/E ............................................... 8

2.2.1.5 Pewaktu / Pencacah ....................................... 9

2.2.1.6 Pembanding Analog (Analog Comparator ) .. 10

2.2.1.6.1 Sumber Interupsi Analog Comparator..... 12

2.2.2 Kapasitor ....................................................................... 12

2.2.3 IC LM35 ....................................................................... 13

2.3 Tinjauan Umum Perangkat Lunak ....................................... 14

viii

Page 9: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

2.3.1 Bahasa C ....................................................................... 14

2.3.2 Bahasa Rakit (Assembly) .............................................. 14

BAB III PERANCANGAN ALAT

3.1 Perancangan Perangkat Keras ............................................ 15

3.1.1 Rangkaian Sistem .......................................................... 16

3.1.2 Liquid Crystal Display (LCD) ...................................... 17

3.2 Perancangan Perangkat Lunak ........................................... 18

3.2.1 Deklarasi Variabel, Fungsi, Dan File Judul (Header

File) Program ................................................................ 19

3.2.2 Program Utama ............................................................. 21

3.2.3 Rutin Pelayanan Interupsi ............................................. 22

3.2.4 Fungsi Mulai ................................................................. 24

3.2.5 Fungsi Hit_Teg ............................................................. 25

3.2.6 Fungsi Tamp_Hasil........................................................ 26

3.2.7 Fungsi Tamp_Error........................................................ 27

3.2.8 Fungsi Temp ................................................................. 28

BAB IV PENGUJIAN DAN ANALISA ALAT

4.1 Pengujian Alat dengan masukan tegangan ........................ 29

4.2 Pengujian Alat dengan Melakukan Pengukuran

Terhadap suhu .................................................................... 31

BAB V PENUTUP

5.1 Kesimpulan ........................................................................ 33

5.2 Saran .................................................................................. 33

DAFTAR PUSTAKA ................................................................................... 34

BIODATA ..................................................................................................... 35

LAMPIRAN A DIAGRAM ALIR PROGRAM

LAMPIRAN B SENARAI PROGRAM

LAMPIRAN C DIAGRAM SKEMATIK RANGKAIAN

LAMPIRAN D FOTO ALAT

LAMPIRAN E DATA SHEET

ix

Page 10: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

DAFTAR GAMBAR

Gambar 2.1 Susunan kaki pada ATmega8515.......................................... 5

Gambar 2.2 Diagram blok Mikrokontroler ATmega8515 ........................ 7

Gambar 2.3 Menggunakan osilator internal.............................................. 8

Gambar 2.4 Menggunakan sumber detak eksternal .................................. 8

Gambar 2.5 Register TCCR1B ................................................................ 9

Gambar 2.6 Register TCNT1.................................................................... 10

Gambar 2.7 Pembanding Analog (Analog comparator) .......................... 10

Gambar 2.8 Register ACSR...................................................................... 12

Gambar 3.1 Diagram blok sistem ............................................................. 16

Gambar 3.2 Bagan Rangkaian Sistem ...................................................... 17

Gambar 3.3 Rangkaian LCD M1632 ........................................................ 18

Gambar 3.4 Diagram alir program utama ................................................. 21

Gambar 3.8 Diagram alir rutin pelayanan interupsi.................................. 22

Gambar 3.9 Diagram alir fungsi mulai()................................................... 24

Gambar 4.1 Skema rangkaian pengujian alat dengan pengukuran

terhadap tegangan masukan .................................................. 29

Gambar 4.2 Hasil Pengujian dengan tegangan sebagai masukan ............. 30

Gambar 4.3 Skema rangkaian pengujian alat dengan pengukuran

terhadap suhu. ....................................................................... 31

Gambar 4.4 Hasil Pengujian dengan Pengukuran terhadap Suhu............ 32

x

Page 11: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

DAFTAR TABEL

Tabel 2.1 Kombinasi bit DDRA/B/C/D/En dan PORTA/B/C/D/En ........ 9

Tabel 2.2 Clock 1 Prescale Select ............................................................. 9

Tabel 2.3 Mode Interupsi .......................................................................... 11

Tabel 3.1 Penggunaan port-port pada ATmega8515 ................................ 16

Tabel 4.1 Hasil pengujian dengan tegangan sebagai masukan ................ 30

Tabel 4.2 Hasil pengukuran terhadap suhu .............................................. 32

xi

Page 12: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

BAB I

PENDAHULUAN

1.5 LATAR BELAKANG

Perkembangan teknologi elektronika saat ini berkembang cukup pesat.

Semakin banyak kebutuhan manusia akan alat yang praktis dan serbaguna yang

mengacu pada pemanfaatan teknologi elektronika dan mikrokontroler. Namun

untuk saat ini, pemanfaatan mikrokontroler oleh pengguna biasa maupun

mahasiswa dirasa masih sulit dalam hal bahasa pemrograman yang kebanyakan

menggunakan bahasa tingkat rendah (assembly). Tetapi sekarang ini telah

dikembangkan mikrokontroler yang dapat diprogram dengan menggunakan

bahasa C, meskipun aplikasi yang ditawarkan masih belum banyak.

Pada tugas akhir ini digunakan mikrokontroler ATMEL ATmega8515

produk dari ATMEL, dan perangkat lunak yang digunakan adalah

CodeVisionAVR, yang menggunakan bahasa C dalam pembuatan programnya.

Penggunaan mikrokontroler ini dirasa cukup penting selain karena kemudahan

dalam pemrograman yang diberikan, juga memiliki fitur-fitur yang berguna, salah

satunya adalah pembanding analog ( analog comparator ).

Dengan adanya pembanding analog pada mikrokontroler ATMEL

ATmega8515 dan kemudahan pemrograman pada mikrokontroler ini karena

menggunakan bahasa C sebagai bahasa pemrogramannya maka diharapkan dapat

dibuat sebuah perancangan analog to digital converter dengan memanfaatkan

fasilitas tersebut.

1.6 TUJUAN PENELITIAN

Tujuan yang hendak dicapai pada Tugas Akhir ini, yaitu :

1. Membuat perangkat keras dan lunak untuk membuat analog to digital

converter dengan memanfaatkan pembanding analog ( analog

comparator ) pada mikrokontroler ATMEL ATmega8515.

1

Page 13: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

1.7 BATASAN MASALAH

Dalam Tugas Akhir ini, sistem yang akan dibuat dibatasi pada hal-hal

sebagai berikut :

1. Perangkat keras yang digunakan berbasis mikrokontroler ATMEL

ATmega8515.

2. Range pengukuran adalah 0 – 2 V DC.

3. Sensor suhu yang digunakan adalah LM35.

4. Suhu yang diukur adalah berkisar 300 C – 50 0C.

5. Media yang digunakan untuk mengetahui perubahan suhu yang diukur

adalah air yang dipanaskan dalam heater.

6. Tidak membahas tentang cara dan hasil kompilasi dari perangkat lunak

CodeVisionAVR.

1.8 SISTEMATIKA PENULISAN

Sistematika penulisan yang digunakan dalam Tugas Akhir ini terbagi dalam

beberapa pokok bahasan, yaitu:

BAB I PENDAHULUAN

Bab ini berisi tentang uraian latar belakang masalah, tujuan pembuatan

Tugas Akhir, metodologi, batasan masalah dan sistematika penulisan.

BAB II DASAR TEORI

Bab ini berisi tentang landasan teori yang mendukung perancangan

Tugas Akhir.

BAB III PERANCANGAN PERANGKAT KERAS DAN PERANGKAT

LUNAK

Bab ini berisi tentang perancangan alat, baik perancangan perangkat

keras maupun perangkat lunak.

2

Page 14: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

BAB IV PENGUJIAN DAN ANALISA ALAT

Berisi tentang hasil pengujian perangkat keras maupun perangkat lunak

disertai analisanya terhadap perangkat keras dan perangkat lunak sistem.

BAB V PENUTUP

Berisi kesimpulan yang didapatkan selama pembuatan perangkat keras,

perangkat lunak, serta pembuatan program, dan disertai saran-saran

mengenai hal-hal yang dapat dilakukan dalam rangka memperbaiki hal-

hal yang sudah dilakukan oleh penulis.

3

Page 15: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

BAB II

LANDASAN TEORI

2.3 ANALOG TO DIGITAL CONVERTER (ADC)

Rangkaian pembanding ( comparator ) membentuk dasar dari semua

pengubah analog ke digital. Rangkaian ini membandingkan suatu tegangan yang

tidak diketahui terhadap sebuah tegangan referensi dan menunjukkan yang mana

dari kedua tergangan tersebut lebih besar.

Pada dasarnya sebuah rangkaian pembanding adalah penguat selisih

tingkat ganda berpenguatan tinggi, dimana keadaaan keluaran ditentukan oleh

polaritas relatif dari kedua sinyal masukan.

2.4 TINJAUAN UMUM PERANGKAT KERAS

2.4.1 MIKROKONTROLER ATmega8515

Mikrokontroler adalah suatu kombinasi mikroprosesor, piranti I/O

(Input/Output), dan memori, yang terdiri atas ROM (Read Only Memory) dan

RAM (Random Access Memory), dalam bentuk keping tunggal (single chip).

Mikrokontroler ATmega8515 adalah mikrokontroler 8 bit buatan ATMEL

dengan 8 KByte System Programable Flash dengan teknologi memori tak mudah

hilang (nonvolatile), kepadatan tinggi, dan kompatibel dengan pin out dan set

instruksi standar industri MCS51 INTEL. Arsitektur yang digunakan dengan

RISC (Reduce Instruction set in singgle chip).

Mikrokontroler ATmega8515 memiliki karakteristik sebagai berikut :

1. Kompatibel dengan produk keluarga MCS51.

2. Dapat digunakannya bahasa C sebagai bahasa pemrogramannya.

3. Programmable Flash Memory sebesar 8 K Byte.

4. Memiliki 512 Bytes EEPROM yang dapat diprogram.

5. Ketahanan (endurance) : 10.000 siklus tulis/hapus.

6. Jangkauan operasi : 4,5 – 5,5 Volt.

7. Fully Static Operation : 0 Hz – 16 MHz untuk ATmega8515.

4

Page 16: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

8. Dua level Program Memory Lock yaitu flash program dan EEPROM data

security,

9. RAM Internal 128 X 8 bit,

10. Memiliki 32 jalur I/O yang dapat diprogram,

11. Satu pencacah 8 bit dengan separate prescaler,

12. Satu pencacah16 bit dengan separate prescaler,

13. Sumber interupsi (interrupt source) eksternal dan internal,

14. Kanal pengirim-penerima tak serempak universal (UART-Universal

Asynchronous Receiver-Transmitter) yang dapat diprogram,

15. Low-power Idle dan Power-down Mode.

2.4.1.1 SUSUNAN KAKI MIKROKONTROLER ATmega8515

Bentuk kemasan dan susunan kaki-kaki mikrokontroler dari ATmega8515

diperlihatkan seperti pada Gambar 2.1.

Gambar 2.1 Susunan kaki pada ATmega8515.

Penjelasan dari masing-masing kaki adalah sebagai berikut:

1. VCC (kaki 40) dihubungkan ke Vcc

2. GND (kaki 20) dihubungkan ke ground.

3. PortA (PA7..PA0) (kaki 32-39) merupakan port 8 bit dua arah

(bidirectional) I/O. Port ini berfungsi sebagai port data/alamat I/O ketika

menggunakan SRAM eksternal.

5

Page 17: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

4. Port B (PB7..PB0) (kaki 1-8) merupakan port 8 bit dua arah (bidirectional)

I/O, untuk berbagai keperluan (multi purpose).

5. Port C (PC7..PC0) (kaki 21-28) adalah port 8 bit dua arah I/O, dengan

internal pull-up resistor. Port C ini juga berfungsi sebagai port alamat

ketika menggunakan SRAM eksternal.

6. Port D (PD7..PD0) (kaki 10-17) adalah port 8 bit dua arah I/O dengan

resistor pull-up internal. Port D juga dapat berfungsi sebagai terminal

khusus.

7. Reset (kaki 9) ketika kondisi rendah rendah yang lebih lama dari 50 nS

mikrokontroler akan reset walaupun detak tidak berjalan.

8. XTAL1 (kaki 19) masukan bagi penguat osilator terbalik dan masukan

bagi rangkaian operasi detak internal.

9. XTAL2 (kaki 18) keluaran dari penguat osilator terbalik.

10. ICP (kaki 31) adalah masukan bagi masukan fungsi Capture

Timer/counter1.

11. OC1B (kaki 29) adalah kaki keluaran bagi fungsi Output CompareB

keluaran Timer/Counter1.

12. ALE (Address Latch Enable) (kaki 30) digunakan ketika menggunakan

SRAM eksternal. Kaki ini digunakan untuk mengunci 8 bit alamat bawah

pada saat siklus akses pertama, dan berfungsi sebagai port data pada siklus

akses kedua.

2.4.1.2 BLOK DIAGRAM DAN ARSITEKTUR ATmega8515

ATmega8515 mempunyai 32 general purpose register (R0..R31) yang

terhubung langsung dengan Arithmetic Logic Unit (ALU), sehingga register dapat

diakses dan dieksekusi hanya dalam waktu satu siklus clock. ALU merupakan

tempat dilakukannya operasi fungsi aritmetik, logika dan operasi bit. R30 disebut

juga sebagai Z-Register, yang digunakan sebagai register penunjuk pada

pengalamatan tak langsung. Didalam ALU terjadi operasi aritmetik dan logika

antar register, antara register dan suatu konstanta, maupun operasi untuk register

6

Page 18: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

tunggal (single register). Berikut arsitekturnya yang ditunjukkan blok diagram

pada Gambar 2.2.

Gambar 2.2 Diagram blok Mikrokontroler ATmega8515.

2.4.1.3 PEWAKTUAN CPU

Mikrokontroler ATmega8515 memiliki osilator internal (on chip osilator)

yang dapat digunakan sebagai sumber detak bagi CPU. Untuk menggunakan

osilator internal diperlukan sebuah kristal atau resonator keramik antara kaki

7

Page 19: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Xtal1 dan kaki Xtal2 dan dua buah kapasitor yang ditanahkan seperti terlihat pada

Gambar 2.3.

Gambar 2.3 Menggunakan osilator internal.

Bila menggunakan detak eksternal rangkaiannya adalah seperti pada Gambar 2.4.

Gambar 2.4 Menggunakan sumber detak eksternal.

2.4.1.4 PORT A/B/C/D/E, DDR A/B/C/D/E, DAN PIN A/B/C/D/E

PORTA/B/C/D/E dan DDRA/B/C/D/E merupakan register-register yang

digunakan untuk mengatur PORTA/B/C/D/E, sedangkan PIN PORTA/B/C/D/E

digunakan untuk mengakses pin pada port A,B,C,D,E secara individu. Hubungan

antara PORT PORTA/B/C/D/E dan DDR PORTA/B/C/D/E diperlihatkan pada

Tabel 2.1.

8

Page 20: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Tabel 2.1 Kombinasi bit DDRA/B/C/D/En dan PORTA/B/C/D/En .

DDRBn/Dn

PORTBn/Dn

I/O Keterangan

0 0 Input Tri-state (High-Z)

0 1 Input PORTA/B/C/Dn akan menghasilkan arus jika eksternal pull-low

1 0 Output Push-pull zero output

1 1 Output Push-pull one output

2.4.1.5 PEWAKTU/PENCACAH

Pencacah pada ATmega8515 diatur oleh register TCCR1B

(Timer/Counter1 Control Register B). Register TCCR1B dijelaskan pada Gambar

2.5.

Gambar 2.5 Register TCCR1B.

Penjelasan dari masing-masing bit adalah sebagai berikut:

Bit 7 ICNC1 (Input Capture1 Noise Canceler (4 CKs)

Bit ini berfungsi meng-enable/disable fungsi noise canceler

Bit 6 ICES1 (Input Capture1 Edge Select)

Bit ini berfungsi memilih jenis tepian untuk memicu ICP

Bit 4:3 WGM13:2 (Waveform Generation Mode)

Bit ini berfungsi mengaktifkan fungsi Waveform Generation.

Bit 2:0 CS12, CS11, CS10: Clock Select1, Bits 2, 1 dan 0

Kombinasi dari bit-bit ini menentukan sumber prescale dari Timer/Counter1

sebagaimana dijelaskan melalui Tabel 2.2.

Tabel 2.2 Clock 1 Prescale Select.

CS12 CS11 CS10 Deskripsi

0 0 0 Stop, Timer/Counter1 dihentikan

0 0 1 CK

0 1 0 CK/8

9

Page 21: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

0 1 1 CK/64

1 0 0 CK/256

1 0 1 CK/1024

1 1 0 Kaki Eksternal T1, tepian jatuh

1 1 1 Kaki Eksternal T1, tepian naik

Kondisi stop memberikan fungsi enable/disable. CK dan CK terbagi

menentukan frekuensi detak yang digunakan Timer/Counter1. Register TCNT1

merupakan register yang berisi data 16-bit hasil perhitungan pencacah. Register

ini memiliki fungsi akses langsung, baik untuk operasi menulis atau membaca

data. Register TCNT1 terbagi atas 2 register 8-bit, yaitu TCNT1H dan TCNT1L

seperti pada gambar 2.6.

Gambar 2.6 Register TCNT1

2.4.1.6 PEMBANDING ANALOG ( ANALOG COMPARATOR )

Perangkat keras dari pembanding analog (analog comparator) ini

perlihatkan pada Gambar 2.7

Gambar 2.7 Pembanding Analog (Analog comparator)

Prinsip kerja dari perangkat keras di atas adalah membandingkan nilai

tegangan analog pada masukan PB2 (AIN0) dan masukan negatif PB3 (AIN1).

Ketika tegangan pada masukan positif lebih tinggi daripada masukan negatif,

10

Page 22: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

maka keluaran ACO menjadi set. ACO (Analog comparator Output) merupakan

bit 5 dari ACSR (Analog comparator and Status Register).

Saklar ACD (Analog comparator disable) berfungsi mematihidupkan

fungsi analog comparator. Pendisable-an bertujuan untuk menghemat konsumsi

dari daya catu. ACD ini merupakan bit 7 dari ACSR. Ketika bit ini set, maka

fungsi analog comparator menjadi disable.

ACBG ( Analog Comparator Bandgap Select ) merupakan bit 6 dari

register ACSR yang jika diset maka tegangan referensi tetap bandgap akan

menggantikan masukan positif pada pembanding analog.

Blok interrupt select berfungsi memilih jenis pemicuan yang akan menyebabkan interupsi. Jenis pemicuan ini ditentukan oleh ACIE1 dan ACIE0. ACIE1/ACIE0 (Analog comparator Interrupt Mode Select 1/0) merupakan bit 1 dan 0 dari ACSR.

Tabel 2.3 Mode Interupsi

ACIS1 ACIS0 Mode Interupsi

0 0 Interupsi comparator pada toggle keluaran

0 1 Tidak digunakan

1 0 Interupsi comparator pada tepian jatuh keluaran

1 1 Interupsi comparator pada tepian naik keluaran

Keluaran dari blok interrupt select dihubungkan ke bit ACI (Analog

comparator Interrupt Flag) yaitu bit 4 dari ACSR. Bit ini akan menjadi set ketika

ACO berada pada kondisi yang sesuai dengan seting dari ACIS1 dan ACIS0.

ACIE (Analog comparator Interrupt Enable) merupakan bit peng-enable

interupsi pada analog comparator. Bit ini ada pada bit 3 dari ACSR. Interupsi

akan terjadi ketika ACI, ACIE, dan bit-I semuanya tinggi. ACI akan kembali

rendah ketika program mengeksekusi vektor pelayanan interupsi.

ACIC (Analog comparator Input Capture Enable) adalah bit 2 dari ACSR

berfungsi meng-enable fungsi Input Capture pada Timer/Counter1 untuk dipicu

oleh analog comparator ketika bit ini tinggi.

11

Page 23: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Pengontrolan perangkat keras ini dilakukan menggunakan register kontrol

ACSR (Analog comparator Control and Status Register). Register ACSR tersebut

perlihatkan pada Gambar 2.8

Gambar 2.8 Register ACSR

2.2.1.6.1 Sumber Interupsi Analog comparator

Sumber Pembanding Analog ( Analog comparator ) akan menghasilkan

interupsi pada vektor interupsi dengan alamat vektor $00C yang disebabkan

kejadian pada keluaran komparator memicu interupsi.. Bit peng-enable-nya

adalah bit ACIE (Analog comparator Interrupt Enable) dan juga bit ACD (Analog

comparator disable). Bit pengatur modenya adalah bit ACIS1, dan ACIS0

(Analog comparator Interrupt Mode Select). Sedangkan bit flag yang akan

menjadi set ketika terjadi interupsi adalah bit ACI (Analog comparator Interrupt

Flag). Bit-bit tersebut terdapat pada register kontrol dan status ACSR (Analog

comparator Control and Status Register).

2.2.2 KAPASITOR

Kapasitor adalah komponen elektronika yang dapat menyimpan muatan

listrik yang dibentuk dari dua pemukaan ( piringan ) yang berhubungan, tetapi

dipisahkan oleh suatu penyekat. Bila elektron terpisah dari satu plat ke plat yang

lain, akan terdapat muatan di antara keduanya pada medium penyekat tadi.

Muatan ini disebabkan oleh muatan positif pada plat yang kehilangan elektron

dan muatan negatif pada plat yang memperoleh elektron.

Kemampuan kapasitor dalam menyimpan muatan disebut kapasitansi

( C ). Kapasitansi ini diukur berdasarkan besar muatan yang dapat disimpan dalam

suatu kenaikan tegangan.

12

Page 24: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

VQC = ......................................................( 2.1 )

Dengan , Q = muatan ( coulomb )

V = tegangan ( Volt )

C = kapasitansi ( Farad )

Secara kuantitatif, arus yang melalui kapasitor adalah sebanding dengan

turunan tegangan melalui kapasitor.

dtdvCi= ...................................................................( 2.2 )

dengan mengintegralkan persamaan ( 2.2 ) maka diperoleh persamaan sebagai

berikut :

∫= idtC

V 1 atau CQV = ............................................( 2.3 )

Muatan mengalir dari potensial yang lebih tinggi ke potensial yang lebih

rendah, yang menyatakan bahwa tenaga dapat dipindah dari rangkaian dan

disimpan. Nilai tenaga yang disimpan dalam kapasitansi hanya bergantung pada

besarnya tegangan dan tidak bergantung pada cara untuk mencapai besarnya

tegangan tersebut. Tenaga yang tersimpan dikembalikan kepada rangkaian

sewaktu tegangan direduksi ke nol.

2.2.3 IC LM35

Sensor suhu ini digunakan untuk mengetahui nilai besaran suhu. Pada

tugas akhir ini alat sensor suhu yang digunakan adalah IC LM35. IC ini akan

mengubah nilai suhu menjadi data analog berupa tegangan yang akan

ditransferkan ke dalam mikrokontroler ATmega8515 sebagai data yang dicari.

Cakupan (range) pengukuran yang bisa dilakukan oleh LM35 dengan nilai yang

dihasilkan linear berkisar antara -550C sampai +1500C dengan tingkat ketelitian

0,750C .

13

Page 25: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

2.3 TINJAUAN UMUM PERANGKAT LUNAK

Perangkat lunak adalah bagian dari sistem komputer yang berfungsi untuk

mendukung perangkat keras (hardware). Perangkat lunak yang digunakan dalam

Tugas Akhir ini merupakan bahasa pemrograman yang terdiri dari :

2.3.1 Bahasa C

Bahasa C merupakan bahasa tingkat menengah, yang memiliki

kemampuan diatas bahasa assembly, serta memiliki kemudahan seperti bahasa

tingkat tinggi lainnya. Bahasa ini digunakan untuk mengatur kerja dari

Mikrokontroler ATmega8515. Bahasa C yang digunakan ini hampir semuanya

sesuai dengan standar dari ANSI (American National Standards Institute) dengan

penambahan beberapa fitur untuk menyesuaikan dengan arsitektur AVR dan

sistem pada mikrokontroler. Program compiler C yang digunakan pada Tugas

Akhir ini adalah CodeVisionAVR versi 1.23.7a Standar yang dapat diperoleh di

website www.hpinfotech.ro.

2.3.2 Bahasa Rakitan (Assembly)

Bahasa lain yang digunakan adalah bahasa assembly. Bahasa assembly

merupakan bahasa tingkat rendah yang berorientasi pada mesin. Prinsip mendasar

pada bahasa assembly ialah dalam satu baris untuk satu perintah. Berbeda dengan

bahasa mesin yang merupakan kumpulan kode biner, bahasa assembly

menggunakan kode mnemonic (sesuatu yang memudahkan diingat) yang

merupakan singkatan perintah untuk menggantikan kode biner. Program

CodeVisionAVR juga mendukung bahasa assembly untuk menginisialisasikan

port LCD dan global interupsi.

14

Page 26: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

BAB III

PERANCANGAN ALAT

Pembuatan rangkaian pengubah analog ke digital (analog to digital

converter) dilakukan dengan memanfaatkan pembanding analog pada

mikrokontroler ATmega8515 dengan penambahan komponen eksternal resistor

dan kapasitor. Kapasitor berfungsi sebagai penyimpan muatan dan dengan

mengontrol salah satu pin pada port B untuk mencharg dan mendischarge

kapsitor yakni untuk mengontrol kapasitor agar diberi muatan atau dikosongkan.

Sinyal masukan yang akan diukur dihubungkan dengan masukan pembalik

( AIN1 ) dan tegangan referensi dihubungkan dengan masukan bukan pembalik

(AIN0). Nilai tegangan referensi diperoleh dengan mencharge kapasitor yang

melalui resistor. Selama kapasitor sedang dicharge, tegangan yang melalui

kapasitor tersebut akan mengikuti kurva exponensial, apabila range tegangan yang

diukur terbatas sampai pada 2/5 dari Vcc ( 2/5*Vcc ) maka kurva tersebut akan

mendekati garis lurus. Sedangkan nilai tegangan yang diukur diperoleh dengan

menghitung waktu yang diperlukan oleh tegangan yang melalui kapasitor untuk

mencapai tegangan yang digunakan.

Perancangan tugas akhir ini pada dasarnya dibagi menjadi dua bagian,

yaitu perancangan perangkat keras (hardware) dan perancangan perangkat lunak

(software). Perancangan perangkat keras berupa penyusunan komponen-

komponen sehingga menjadi satu kesatuan sistem rangkaian yang bisa bekerja

sesuai dengan yang diharapkan. Perancangan perangkat lunak berupa bahasa

pemrograman yang membuat sistem bisa bekerja sesuai dengan cara kerja alat.

3.3 PERANCANGAN PERANGKAT KERAS

Sistem perangkat keras “Pemanfaatan analog comparator internal

Mikrokontroler sebagai analog digital converter” ini terdiri dari :

1. Mikrokontroler ATmega8515, digunakan sebagai pengontrol dan

pencacah waktu yang diperlukan untuk mencapai tegangan yang

digunakan.

15

Page 27: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

2. Liquid Crystal Display (LCD), digunakan untuk menampilkan nilai

suhu dan tegangan yang terukur .

3. Rangkaian eksternal berupa resistor dan kapasitor sebagai rangkaian

untuk membentuk rangkaian analog to digital converter.

Diagram blok sistem secara keseluruhan pada perancangan alat ini dapat dilihat

pada Gambar 3.1 sebagai berikut :

Gambar 3.1 Diagram blok sistem.

3.3.1 RANGKAIAN SISTEM

Mikrokontroler ini dirancang sebagai suatu rangkaian single chip (Gambar

3.2), sehingga dalam perancangannya cukup dibutuhkan rangkaian eksternal

berupa resistor dan kapasitor untuk membentuk rangkaian pengubah analog ke

digital dan power supply.

Penggunaan port-port untuk rangkaian sistem pada Mikrokontroler

ATmega8515 adalah seperti ditunjukkan pada Tabel 3.1.

Tabel 3.1 Penggunaan port-port pada ATmega8515.

Port ATmega8515 Fungsi Port A PA0-PA2, PA4 – PA7 Output ke LCD

PB2 masukan ke bukan pembalik PB3 masukan ke pembalik

Port B

PB4 men-charg dan discharge kapasitor

16

Page 28: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

ΩK27

Gambar 3.2 Bagan Rangkaian Sistem.

Rangkaian mikrokontroler ATmega8515 ini menggunakan osilator kristal

eksternal sebagai pembangkit frekuensi internal (on chip osilator) sebesar 8 MHz

yang dapat digunakan sebagai sumber detak bagi CPU. Untuk menggunakan

osilator internal diperlukan sebuah kristal atau resonator keramik antara kaki

Xtal1 dan kaki Xtal2 dan sebuah kapasitor ke ground. Pada port A pin 0-2, dan

pin 4-7 diperuntukkan untuk tampilan LCD. Mode antarmuka LCD yang

digunakan adalah mode 4 bit. Pada port B pin 2 dan 3 digunakan sebagai masukan

ke pembanding analog yakni untuk tegangan referensi dan masukan nilai yang

diukur sedangkan pin 4 digunakan sebagai kontrol untuk men-charge dan

discharge muatan yang ke kapasitor.

3.3.2 LIQUID CRYSTAL DISPLAY (LCD)

Perangkat ini digunakan untuk menampilkan nilai hasil pengukuran

terhadap tegangan masukan dan suhu yang berasal dari sensor IC LM35. Jenis

LCD yang digunakan dalam perancangan Tugas Akhir ini adalah LCD matrix

2x16 seperti diperlihatkan pada Gambar 3.3.

17

Page 29: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar 3.3 Rangkaian LCD M1632.

LCD ini dihubungkan pada port A mikrokontroler ATmega8515. Potensio

10 kΩ berfungsi untuk mengatur tegangan operasi LCD pada kaki VLCD.

Besarnya tegangan pada kaki tersebut akan mempengaruhi ketajaman karakter

yang tampak pada LCD.

3.4 PERANCANGAN PERANGKAT LUNAK

Pada tugas akhir ini bahasa pemrograman yang digunakan adalah bahasa

C. Hal ini dikarenakan pemrograman mikrokontroler dengan menggunakan

bahasa C akan lebih terstruktur dan mudah dipahami. Selain itu juga karena

bahasa C merupakan gabungan dari bahasa tingkat tinggi dan juga tingkat rendah

yang menyediakan kemampuan operasi-operasi bit, byte, pengaksesan alamat-

alamat memori, dan register. Bahasa C yang digunakan untuk memprogram

mikrokontroler ini hampir semuanya sesuai dengan standar dari ANSI dengan

penambahan beberapa fitur untuk menyesuaikan dengan arsitektur AVR dan

sistem pada mikrokontroler.

18

Page 30: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

3.4.1 DEKLARASI VARIABEL, FUNGSI, DAN FILE JUDUL (HEADER

FILE) PROGRAM

Pada bagian ini berisi pendeklarasian variabel, fungsi, dan file judul

(Header) dan juga definisi tipe variabel yang digunakan dalam pemrograman.

Berikut senarai programnya: 1. /********************************************* 2. This program was produced by the 3. CodeWizardAVR V1.23.7a Standard 4. Automatic Program Generator 5. © Copyright 1998-2002 HP InfoTech s.r.l. 6. http://www.hpinfotech.ro 7. e-mail:[email protected] 8. 9. Project : PEMANFAATAN ANALOG COMPARATOR INTERNAL 10. MIKROKONTROLER SEBAGAI ANALOG DIGITAL CONVERTER 11. 12. Studi Kasus pada Mikrokontroler ATMEL ATmega8515 13. dengan Pengukuran terhadap Suhu 14. 15. Version : Terbaru 16. Date : 7/14/2006 17. Author : Nurdin Abdul Khafiz 18. Company : Electrical Engineering Diponegoro University 19. Comments: 20. 21. 22. Chip type : ATmega8515 23. Program type : Application 24. Clock frequency : 8.000000 MHz 25. Memory model : Small 26. Internal SRAM size : 512 27. External SRAM size : 0 28. Data Stack size : 128 29. *********************************************/ 30. 31. #include <mega8515.h> 32. #include <stdio.h> 33. #include <delay.h> 34. #include <math.h> 35. #asm 36. .equ __lcd_port=0x1B 37. #endasm 38. #include <lcd.h> 39. 40. // Declare your global variables here 41. char buf[33]; 42. unsigned int x; 43. float a,b,suhu,y,; 44. 45. void tampilan_awal (void); 46. void mulai (void);

19

Page 31: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

47. void hit_teg (void); 48. void tamp_hasil (void); 49. void tamp_error (void); 50. void temp (void);

Pada senarai program di atas baris ke-1 sampai 29 dan baris ke-40

merupakan suatu keterangan program atau dengan kata lain adalah suatu

komentar. Fungsi dari komentar adalah untuk dokumentasi dengan maksud agar

program mudah dipahami. Dalam C suatu komentar ditulis dengan diawali tanda

/* .... dan diakhiri dengan .... */ atau dengan cara lain ditulis dengan

tanda // untuk penggunaan komentar dalam satu baris. Pada saat proses kompilasi

suatu komentar tidak akan diikutkan dalam proses kompilasi atau dengan kata lain

tidak akan dikompile.

Pada baris ke-31 #include <mega8515.h> berfungsi untuk memanggil

header file mega8515.h. Header file atau dengan nama lain file judul adalah suatu

file yang didalamnya berisi deklarasi fungsi dan definisi konstanta. Header file ini

mempunyai ciri-ciri khusus yaitu pada akhir nama filenya diakhiri dengan

extensi .h. Pada CodeVisionAVR versi 1.23.7a terdapat berbagai header file untuk

keperluan pemrograman AVR. #include merupakan suatu jenis pengarah

praprocecor yaitu pengarah yang digunakan untuk membaca suatu header file.

Pada baris ke-35 #asm adalah suatu awal dari pengarah program assembly yang

berfungsi untuk mengikutsertakan bahasa assembly dalam program C. Baris ke-

35 sampai baris ke-37 berfungsi memberitahukan bahwa PORTA digunakan

untuk tampilan LCD. Variabel 0x1B memberitahukan kepada kompiler bahwa

PORT yang digunakan untuk LCD adalah PORTA. Setelah menginisialisasi

PORT yang digunakan untuk LCD, maka header file lcd.h dipanggil. Begitu pula

pada baris ke-32 hingga 34 dan baris ke-38, yang berfungsi untuk memanggil

header file lain. Baris ke-41 sampai baris ke-43 digunakan untuk deklarasi

variabel yang digunakan. Baris ke-45 sampai baris ke-50 digunakan untuk

inisialisasi suatu fungsi.

20

Page 32: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

3.4.2 PROGRAM UTAMA

Bagian ini merupakan bagian utama dimana compiler akan melakukan

inisialisasi dan pemanggilan fungsi-fungsi lain. Seperti pada Bahasa C yang biasa

digunakan, fungsi main() merupakan fungsi istimewa. Hal ini karena fungsi ini

merupakan titik awal dan titik akhir eksekusi program. Tanda diawal fungsi

merupakan awal tubuh fungsi dan sekaligus awal eksekusi program. Tanda

merupakan akhir tubuh fungsi dan juga akhir dari eksekusi program. Jika program

terdiri dari lebih dari satu fungsi, maka fungsi main() biasanya ditempatkan

pada awal program. Hal ini merupakan sebuah kebiasaan dan bukan suatu

keharusan dengan tujuan untuk memudahkan pencarian program utama.

Diagram alir (flowchart) program utama ditunjukkan pada Gambar 3.4.

Gambar 3.4 Diagram alir program utama.

Implementasi diagram alir program utama sebagai berikut : 65. void main(void) 66. 67. 68. lcd_init(16); 69. 70. tampilan_awal(); 71.

21

Page 33: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

72. // deklarasi Global enable interrupts 73. #asm("sei") 74. 75. while (1) 76. 77. mulai(); 78. 79. 80. 81.

Pertama kali program akan menginisialisasi LCD yang ditempatkan di port

A. Pada bagian sebelum ini, program telah mengikutkan file header yang bernama

lcd.h. Argumen 16 dimaksudkan agar LCD siap diberikan karakter sejumlah 16

kolom. Secara default fungsi ini memerintahkan lcd untuk menulis karakter dari

baris pertama kolom pertama, dari kiri ke kanan, tanpa ada pergeseran karakter,

dan tanpa blink.

Fungsi tampilan_awal() berisi tentang tulisan ” ANALOG to DIGITAL

CONVERTER ” yang berada pada fungsi tampilan_awal(). Pada baris ke-73

#asm(”sei”) adalah suatu pengarah program assembly yang berfungsi untuk

mengikut sertakan bahasa assembly dalam program C yakni deklarasi adanya

interupsi.

Fungsi mulai() merupakan inti dari perancangan tugas akhir ini. Ketika

fungsi mulai() dipanggil, maka mikrokontroler akan mengaktifkan register

timer/counter1, untuk mereset waktu ke nol dan menghitung waktu yang

diperlukan oleh tegangan yang kapasitor untuk mencapai nilai tegangan yang

digunakan.

Fungsi mulai() mengalami proses berulang (looping) selama sistem

masih dalam keadaan on. Hal ini terjadi karena digunakan perintah while(1)

pada baris ke-75. Nilai 1 diberikan agar mikrokontroler tetap menganggap bahwa

kondisi selalu terpenuhi (1 berarti ya atau nyala).

3.4.3 RUTIN PELAYANAN INTERUPSI

Bagian ini merupakan bagian program dimana apabila terjadi interupsi

maka bagian ini akan dikerjakan terlebih dahulu. Pada tugas akhir ini interupsi ini

22

Page 34: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

digunakan untuk menghentikan proses pencacahan dan untuk menguras muatan

pada kapasitor dengan mengontrol pin 4 port B dan melakukan penghitungan nilai

tegangan input. Berikut diagram alir program rutin pelayanan interupsi

pembanding analog .

Mulai

Hentikan Pencacah

Kuras Muatan padaKapasitor

Hitung nilai tegangan

Delay 500 ms

Selesai

Gambar 3.5 Diagram alir rutin pelayanan interupsi.

Senarai program dari rutin pelayanan interupsi adalah sebagai berikut :

54. interrupt [ANA_COMP] 55. void ana_comp_isr(void) 56. 57. TCCR1B=0x00; 58. PORTB=0x00; 59. hit_teg(); 60. delay_ms(500); 61. 62.

Ketika interupsi analog comparator terjadi maka program akan langsung

melompat ke rutin pelayanan interupsi ini. Program rutin layanan interupsi ini

diawali dengan penghentian pencacahan yakni dengan perintah TCCR1B=0x00

pada baris ke-57. kemudian dilanjutkan dengan pengurasan muatan pada kapasitor

yakni dengan perintah PORTB=0x00. Perhitungan nilai tegangan masukan

dilakukan dengan memanggil fungsi hit_teg(). Delay 500 ms digunakan agar

23

Page 35: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

pengurasan muatan kapasitor benar-benar sempurna. Setelah mikrokontroler

selesai mengerjakan perintah maka mikrokontroler akan kembali kepada program

yang telah ditinggalkan sebelumnya karena adanya interupsi.

3.2.4 FUNGSI MULAI

Fungsi ini merupakan fungsi yang berfungsi untuk mulai melakukan kerja

dari sistem ini yakni mulai untuk melakukan pengurasan muatan pada kapasitor,

hal ini dilakukan untuk memastikan pengurasan muatan kapasitor, dan pegisian

kapasitor dan menginisialisasi penggunaan pembanding analog serta pengaktifan

fasilitas pencacah. Diagram alir fungsi mulai() ditunjukkan pada Gambar 3.6

. Gambar 3.6 Diagram alir fungsi mulai()

Senarai program dari fungsi mulai() adalah sebagai berikut :

100. void mulai (void) 101. 102. DDRB=0x10; 103. PORTB=0x00; 104. TCNT1=0x00; 105. delay_ms(50); 106. PORTB=0x10; 107. 108. ACSR=0x2F; 109. TCCR1B=0x01;

24

Page 36: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

110. delay_us(100); 111. 112.

Fungsi mulai() dimulai dengan menentukan port keluaran ( output ) pada

salah satu pin pada port B yakni pin 4 dengan perintah DDRB=0x1 pada baris ke-

102. Kemudian untuk memastikan pengurasan muatan pada kapasitor digunakan

perintah PORTB=0x00 seperti terlihat pada baris ke-103. Pada baris ke-104,

TCNT1=0x00 merupakan perintah penghentian Timer/Counter. Setelah proses

pengurasan muatan kapasitor selasai dilanjutkan dengan proses pengisian muatan

kapsitor yakni dengan perintah PORTB=0x10 pada baris ke-106. Pengaktifan dan

inisialisai pembanding analog ( analog comparator ) dilakukan dengan perintah

ACSR=0x2F pada baris ke-108. Pencacah diaktifkan dengan register TCCR1B=0x01

pada baris ke-109. Bit 0, 1 dan 2 pada TCCR1B merupakan bit untuk mengatur

Clock Select. Pada baris ke-110, delay_us(100) merupakan lamanya waktu

untuk melakukan pengisian pada kapsitor yakni selama 100 mikrodetik.

3.2.5 FUNGSI HIT_TEG

Fungsi hit_teg() berguna untuk menghitung nilai tegangan yang diukur.

Fungsi hit_teg() merupakan fungsi hasil perumusan nilai tegangan referensi

yang telah diperoleh melalui percobaan. Besarnya nilai tegangan yang diukur

diperoleh berdasarkan waktu yang diperlukan oleh tegangan tersebut melalui

kapasitor untuk mencapai tegangan yang digunakan. Diagram alir fungsi

hit_teg() diperlihatkan pada lampiran diagram alir halaman A-3 sampai dengan

A-6. Demikian pula senarai program fungsi hit_teg() dapat dilihat pada

lampiran senarai program halaman B-2 sampai dengan halaman B-12.

Awal program dimulai dengan inisialisasi x sebagai TCNT1 dan y

merupakan permisalan nilai tegangan yang dihitung. Karena tegangan referensi

yang diperoleh tidaklah benar-benar membentuk garis linear maka untuk

menghitung tegangan terukur digunakan perumusan pendekatan dua titik yang

masih linier ( interpolasi ). Persamaan umumnya adalah sebagai berikut :

25

Page 37: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

12

1

12

1

xxxx

yyyy

−−

=−− ................................................................... ( 3.1 )

Pada persamaan yang telah diperoleh terdapat intruksi float yang berarti

untuk dapat menampilkan bilangan real. Setelah proses penghitungan nilai

tegangan yang diukur selesai maka program akan memanggil fungsi temp()

dan fungsi tamp_hasil (). Fungsi temp () akan mengkonversi nilai

tegangan yang diperoleh ke dalam besaran nilai suhu dan fungsi tamp_hasil akan

menampilkan besarnya nilai suhu dan tegangan. Apabila tegangan yang diukur

melebihi 2 Volt maka program akan memanggil fungsi error() yang akan

menampilkan pada LCD tulisan ” Maaf Melebihi Range Pengukuran ” karena

pengukuran yang diizinkan adalah 0 -2 Volt .

3.2.6 FUNGSI TAMP_HASIL

Fungsi tamp_hasil() berguna untuk menampilkan hasil dari setiap

pengukuran yang dilakukan. Dalam bahasa C, senarai dari fungsi tamp_hasil()

adalah sebagai berikut : 681. void tamp_hasil (void) 682. 683. lcd_clear(); 684. sprintf(buf,"Suhu=%3.1f%c",suhu,0xDF); 685. lcd_gotoxy(1,0); 686. lcd_puts(buf); 687. 688. sprintf(buf,"Teg(mv)=%4.0f",y); 689. lcd_gotoxy(1,1); 690. lcd_puts(buf); 691. delay_ms(500); 692. 693.

Pertama kali fungsi tamp_hasil () akan mengosongkan LCD dengan

perintah lcd_clear(). Pada baris ke-684 perintah

sprintf(buf,"Suhu=%3.1f%c",suhu,0xDF) merupakan intruksi untuk

menuliskan tiga digit angka dengan satu digit di belakang koma dan perintah

lcd_gotoxy(1,0) pada baris ke-685 merupakan intruksi agar karakter diletakkan

pada baris pertama dan kolom kedua. Demkian juga perintah

sprintf(buf,"Teg(mv)=%4.0f",y) pada baris ke-688 merupakan intruksi untuk

26

Page 38: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

menuliskan empat digit nilai tanpa dan perintah lcd_gotoxy(1,1) pada baris

ke-689 merupakan intruksi agar karakter diletakkan pada baris kedua dan kolom

kedua. Sedangkan pada baris ke- 686 dan 690 perintah perintah lcd_puts(buf)

merupakan perintah untuk menuliskan isi variabel buf ke LCD. Perintah

delay_ms(500)merupakan intruksi waktu tunda selama 500 milidetik.

3.2.7 FUNGSI TAMP_ERROR

Fungsi tamp_error() berguna untuk menampilkan peringatan apabila

pengukuran melebihi range maksimal yakni diatas 2 Volt. Dalam bahasa C,

senarai dari fungsi tamp_error() adalah sebagai berikut :

695. void tamp_error (void) 696. 697. lcd_clear(); 698. sprintf(buf,"Maaf Melebihi",); 699. lcd_gotoxy(2,0); 700. lcd_puts(buf); 701. 702. sprintf(buf,"Range Pengukuran",); 703. lcd_gotoxy(0,1); 704. lcd_puts(buf); 705. delay_ms(300); 706.

Pertama kali fungsi tamp_error () akan mengosongkan LCD dengan

perintah lcd_clear(). Pada baris ke-698 perintah sprintf(buf,"Maaf

Melebihi",) merupakan intruksi untuk menuliskan kata ”Maaf Melebihi” dan

perintah lcd_gotoxy(2,0) pada baris ke-699 merupakan intruksi agar karakter

diletakkan pada baris pertama dan kolom ketiga. Demkian juga perintah

sprintf(buf,"Range Pengukuran",) pada baris ke-702 merupakan intruksi

untuk menuliskan kata ”Range Pengukuran” dan perintah lcd_gotoxy(0,1)

pada baris ke-703 merupakan intruksi agar karakter diletakkan pada baris kedua

dan kolom pertama. Sedangkan pada baris ke-700 dan 704 perintah perintah

lcd_puts(buf) merupakan perintah untuk menuliskan isi variabel buf ke LCD.

Perintah delay_ms(300)merupakan intruksi waktu tunda selama 300 milidetik

27

Page 39: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

3.2.8 FUNGSI TEMP

Fungsi temp()digunakan untuk melakukan konversi nilai tegangan yang

diperoleh ke dalam nilai derajat suhu. Dalam bahasa C, senarai dari fungsi

temp () adalah sebagai berikut :

708. void (void) 709. 710. suhu=(float)y/10; 711.

Pada baris ke-710 merupakan bentuk konversi nilai tegangan yang diperoleh

untuk menjadi nilai derajat suhu. Pembagi 10 digunakan karena pada IC LM35

kenaikan suhu satu derajat ( 10 C) adalah setiap 10 mVolt.

28

Page 40: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

BAB IV

PENGUJIAN DAN ANALISA ALAT

Pada bab pengujian dan analisa alat ini dilakukan dua pengujian, pertama

dengan masukan berupa tegangan dan kedua dengan melakukan pengukuran

terhadap suhu dan hasilnya akan dibandingkan melalui pengukuran dengan

menggunakan termometer biasa.

4.1 PENGUJIAN ALAT DENGAN MASUKAN TEGANGAN

Pada pengujian ini, rangkaian analog to digital converter ( ADC )

rancangan digunakan untuk melakukan pengukuran tegangan masukan. Kemudian

hasil dari pengukuran ini dibandingkan dengan hasil pengukuran dengan

menggunakan multimeter digital. Skema rangkaian pengujian seperti pada gambar

4.1

. Gambar 4.1 Skema rangkaian pengujian alat dengan

pengukuran terhadap tegangan masukan

Gambar 4.2 merupakan hasil pengujian ADC rancangan dengan masukan

berupa tegangan dari rangkaian pembanding tegangan. Hasil pengujian rangkaian

29

Page 41: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

ADC rancangan dengan tegangan sebagai masukan diperlihatkan seperti pada

Tabel 4.1.

Gambar 4.2 Hasil pengujian dengan tegangan sebagai masukan

Tabel 4.1 Hasil pengujian dengan tegangan sebagai masukan

Tegangan Input (mV)

Nilai Tegangan pada Multimeter

Digital (mV)

Nilai Tegangan pada LCD Mikrokontroler ATmega8515 (mV)

Selisih (mV)

50 50 50 0 100 100 110 10 150 150 150 0 200 200 210 10 250 250 260 10 300 300 320 20 350 350 370 20 400 400 420 20 450 450 470 20 500 500 530 30 550 550 580 30 600 600 630 30 650 650 690 40 700 700 740 40 750 750 790 40 800 800 840 40 850 850 890 40 900 900 950 50 950 950 990 40 1000 1000 1040 40 Rata-rata kesalahan 26,5

Dari data pengukuran nilai tegangan masukan dengan menggunakan

rangkaian pembanding tegangan diperoleh adanya selisih antara pengukuran

dengan menggunakan multimeter pabrikan dengan pengukuran ADC hasil

rancangan.

30

Page 42: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Perbedaan nilai pengukuran ini terjadi karena tegangan referensi yang

diperoleh pada kenyataannya tidak benar-benar linier sebagai mana yang

diharapkan. Sehingga mempengaruhi pada hasil perhitungan nilai tegangan yang

diukur. Faktor toleransi dari masing-masing komponen sehingga menyebabkan

adanya sedikit penyimpangan dari kondisi idealnya.

4.2 PENGUJIAN ALAT DENGAN MELAKUKAN PENGUKURAN

TERHADAP SUHU

Pada pengujian ini, sebagai media untuk mengetahui adanya perubahan

suhu adalah dengan menggunakan air yang dipanaskan dengan heater. Rangkaian

analog to digital converter ( ADC ) yang telah dibuat ini digunakan untuk

melakukan pengukuran terhadap suhu. Kemudian hasil dari pengukuran ini

dibandingkan dengan hasil pengukuran dengan menggunakan termometer. Skema

rangkaian pengujian seperti pada gambar 4.3.

ΩK27

Gambar 4.3 Skema rangkaian pengujian alat dengan pengukuran terhadap suhu.

Gambar 4.4 merupakan hasil pengujian ADC rancangan dengan

pengukuran terhadap suhu. Hasil pengukuran rangkaian ADC rancangan terhadap

suhu diperlihatkan seperti pada Tabel 4.2.

31

Page 43: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar 4.4 Hasil pengujian dengan pengukuran terhadap suhu

Tabel 4.2 Hasil pengukuran terhadap suhu

No. Suhu yang tampak pada Termometer ( 0C)

Suhu yang tampak pada LCD ( 0C )

Selisih ( 0C )

1 34 35 1 2 36 37 1 3 37 38 1 4 38,5 39 0,5 5 41 41 0 6 42 42 0 7 43 43 0 8 45 46 1 9 48 49 1 10 50 51 1 Rata – rata kesalahan 0,65

Dari data tersebut ternyata diperoleh nilai suhu yang terukur dengan ADC

rancangan mendekati nilai suhu yang terukur pada termometer. Perbedaan nilai ini

karena tegangan referensi yang diperoleh pada kenyataannya tidak benar-benar

linier sebagai mana yang diharapkan. Sehingga berpengaruh pada perhitungan.

Adanya faktor toleransi dari masing-masing komponen juga dapat menyebabkan

adanya sedikit penyimpangan dari kondisi idealnya.

32

Page 44: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

BAB V

PENUTUP

5.1. KESIMPULAN

Dari hasil perancangan dan pembuatan alat analog to digital converter

menggunakan mikrokontroler ATmega8515 serta pengujian yang telah dilakukan

dapat diambil kesimpulan sebagai berikut :

1. Adanya pembanding analog ( analog comparator ) pada

mikrokontroler ATmega8515 dapat dimanfaatkan sebagai analog to

digital converter dengan penambahan komponen eksternal berupa

kapasitor dan resistor.

2. Pada pengujian dengan tegangan sebagai masukan diperoleh nilai

rata-rata kesalahan sebesar 26,5 mVolt. Dan rata-rata kesalahan

pada pengujian dengan pengukuran terhadap suhu adalah sebesar

0,65 mVolt.

3. Pada pengujian ADC rancangan diperoleh hasil pengukuran terhadap

suhu mendekati suhu yang terukur pada termometer.

4. Tegangan referensi yang tidak benar – benar linier dan toleransi harga

dari suatu komponen berpengaruh pada ketelitian pengukuran.

5.2. SARAN

Dari hasil perancangan dan pembuatan alat analog digital converter

menggunakan mikrokontroler ATmega8515 serta pengujian yang telah dilakukan

dapat diberikan saran-saran sebagai berikut :

1. Karena ketelitian dari ADC yang dibuat masih kurang bagus maka

disarankan dengan menggunakan metode lain tapi tetap dengan

memanfaatkan pembanding analog yang ada pada mikroprosesor

sehingga dapat dibuat ADC dengan ketelitian yang lebih bagus.

33

Page 45: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

DAFTAR PUSTAKA

[1] David Cooper, W, Instrumentasi Elektronik dan Teknik Pengukuran,

Erlangga, Jakarta, 1994.

[2] Kadir, A., Pemrograman Dasar Turbo C untuk IBM PC, ANDI Offset,

Yogyakarta, 1997.

[3] Malvino, A. P., Prinsip-prinsip Elektronik, Edisi Kedua, Erlangga, Jakarta,

1999.

[4] Millman, Jacob, Mikroelektronika : Sistem Digital dan Rangkaian Analog,

Jilid 2, Erlangga, Jakarta, 1992.

[5] Wollard, Barry, Elektronika Praktis, Pradnya Paramitha, Jakarta, 1988.

[6] ---, 8-bit AVR Microcontroller instruction set , http://www.atmel.com,

2005.

[7] ---, 8-bit Microcontroller with 8 K Bytes Flash, ATmega8515 datasheet,

http://www.atmel.com, 2005.

[8] ---, Application Notes, http://www.atmel.com/avr

[9] ---, CodeVisionAVR User Manual, Version 1.0.1.7, HP InfoTech, 2001.

[10] ---, Instruction Set, http://www.atmel.com.

34

Page 46: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

BIODATA MAHASISWA

Nama Mahasiswa : Nurdin Abdul Khafiz

NIM : L2F099625

Konsentrasi : Kontrol

Tempat / Tgl. Lahir : Brebes / 19 Agustus 1979

Alamat Sekarang : Jl. Banjarsari Gg. Tirtasari No.

121 RT 02/II Tembalang

Semarang 50275

No. Telepon / HP : 081325189022

Alamat e-mail : [email protected]

Nama Orang Tua : Bahowi Oesman - Maemunah

Alamat Orang Tua : Jl. Daha No. 9 RT 03/VII

Jatisawit - Bumiayu Brebes 52273

No. Telepon : 0289– 432810

IP Kumulatif : 2,78

Tanggal Lulus : 28 Agustus 2006

Masa Studi : 7 Tahun

Semarang, Agustus 2006

Nurdin Abdul Khafiz

35

Page 47: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

LAMPIRAN A

DIAGRAM ALIR PROGRAM

Page 48: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar A.1 Diagram alir program utama.

Mulai

Hentikan Pencacah

Kuras Muatan padaKapasitor

Hitung nilai tegangan

Delay 500 ms

Selesai

Gambar A.2 Diagram alir rutin pelayanan interupsi

A-1

Page 49: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar A.3 Diagram alir fungsi mulai().

A-2

Page 50: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

A-3

Page 51: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

A-4

Page 52: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

A-5

Page 53: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar A.4 Diagram alir fungsi hit_teg().

A-6

Page 54: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

LAMPIRAN B

SENARAI PROGRAM

Page 55: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

ALUR PROGRAM PERANCANGAN ANALOG TO DIGITAL CONVERTER

1. /********************************************* 2. This program was produced by the 3. CodeWizardAVR V1.23.7a Standard 4. Automatic Program Generator 5. © Copyright 1998-2002 HP InfoTech s.r.l. 6. http://www.hpinfotech.ro 7. e-mail:[email protected] 8. 9. Project : PEMANFAATAN ANALOG COMPARATOR INTERNAL

MIKROKONTROLER 10. SEBAGAI ANALOG DIGITAL CONVERTER 11. 12. Studi Kasus pada Mikrokontroler ATMEL ATmega8515 13. dengan Pengukuran terhadap Suhu 14. 15. Version : 16. Date : 7/14/2006 17. Author : Nurdin Abdul Khafiz 18. Company : Electrical Engineering Diponegoro University 19. Comments: 20. 21. 22. Chip type : ATmega8515 23. Program type : Application 24. Clock frequency : 8.000000 MHz 25. Memory model : Small 26. Internal SRAM size : 512 27. External SRAM size : 0 28. Data Stack size : 128 29. *********************************************/ 30. 31. #include <mega8515.h> 32. #include <stdio.h> 33. #include <delay.h> 34. #include <math.h> 35. #asm 36. .equ __lcd_port=0x1B 37. #endasm 38. #include <lcd.h> 39. 40. char buf[33]; 41. unsigned int x; 42. float a,b,suhu,y,; 43. 44. void tampilan_awal (void); 45. void mulai (void); 46. void hit_teg (void); 47. void tamp_hasil (void); 48. void tamp_error (void); 49. void temp (void); 50. 51.

B-1

Page 56: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

52. 53. // deklarasi interupsi Analog Comparator 54. interrupt [ANA_COMP] void ana_comp_isr(void) 55. 56. TCCR1B=0x00; 57. PORTB=0x00; 58. hit_teg(); 59. delay_ms(500); 60. 61. 62. 63. void main(void) 64. 65. 66. lcd_init(16); 67. 68. tampilan_awal(); 69. // deklarasi Global enable interrupts 70. #asm("sei") 71. 72. 73. while (1) 74. 75. mulai(); 76. 77. 78. 79. 80. 81. 82. void tampilan_awal (void) 83. 84. lcd_gotoxy(0,0); 85. lcd_putsf("ANALOGtoDIGITAL"); 86. 87. lcd_gotoxy(3,1); 88. lcd_putsf("CONVERTER"); 89. 90. delay_ms(2000); 91. lcd_gotoxy(0,0); 92. lcd_clear(); 93. lcd_gotoxy(3,1); 94. lcd_clear(); 95. 96. 97. 98. 99. 100. void mulai (void) 101. 102. DDRB=0x10; 103. PORTB=0x00; 104. TCNT1=0x00; 105. delay_ms(50); 106. PORTB=0x10; 107.

B-2

Page 57: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

108. ACSR=0x2F; 109. TCCR1B=0x01; 110. delay_us(100); 111. 112. 113. 114. void hit_teg (void) 115. 116. x=TCNT1; 117. 118. 119. 120. if (x<=67) 121. 122. a=5;b=205; 123. 124. y=(float)5*x-205; 125. temp(); 126. tamp_hasil(); 127. 128. 129. else 130. if (x<=91) 131. 132. a=5;b=215; 133. 134. y=(float)5*x-215; 135. temp(); 136. tamp_hasil(); 137. 138. 139. else 140. if (x<=111) 141. 142. a=5;b=225; 143. 144. y=(float)5*x-225; 145. temp(); 146. tamp_hasil(); 147. 148. 149. else 150. if (x<=125) 151. 152. a=5;b=235; 153. 154. y=(float)5*x-235; 155. temp(); 156. tamp_hasil(); 157. 158. else 159. if (x<=141) 160. 161. a=5;b=245; 162. 163. y=(float)5*x-245;

B-3

Page 58: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

164. temp(); 165. tamp_hasil(); 166. 167. else 168. if (x<=153) 169. 170. a=5;b=255; 171. 172. y=(float)5*x-255; 173. temp(); 174. tamp_hasil(); 175. 176. else 177. if (x<=165) 178. 179. a=5;b=265; 180. 181. y=(float)5*x-265; 182. temp(); 183. tamp_hasil(); 184. 185. else 186. if(x<=177) 187. 188. a=5;b=275; 189. 190. y=(float)5*x-275; 191. temp(); 192. tamp_hasil(); 193. 194. else 195. if (x<=187) 196. 197. a=5;b=285; 198. 199. y=(float)5*x-285; 200. temp(); 201. tamp_hasil(); 202. 203. else 204. if (x<=197) 205. 206. a=5;b=295; 207. 208. y=(float)5*x-295; 209. temp(); 210. tamp_hasil(); 211. 212. else 213. if (x<=209) 214. 215. a=5;b=305; 216. 217. y=(float)5*x-305; 218. temp(); 219. tamp_hasil();

B-4

Page 59: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

220. 221. else 222. if (x<=217) 223. 224. a=5;b=315; 225. 226. y=(float)5*x-315; 227. temp(); 228. tamp_hasil(); 229. 230. else 231. if (x<=227) 232. 233. a=5;b=325; 234. 235. y=(float)5*x-325; 236. temp(); 237. tamp_hasil(); 238. 239. else 240. if (x<=235) 241. 242. a=5;b=335; 243. 244. y=(float)5*x-335; 245. temp(); 246. tamp_hasil(); 247. 248. else 249. if (x<=245) 250. 251. a=5;b=345; 252. 253. y=(float)5*x-345; 254. temp(); 255. tamp_hasil(); 256. 257. else 258. if (x<=253) 259. 260. a=5;b=355; 261. 262. y=(float)5*x-355; 263. temp(); 264. tamp_hasil(); 265. 266. else 267. if (x<=261) 268. 269. a=5;b=365; 270. 271. y=(float)5*x-365; 272. temp(); 273. tamp_hasil(); 274. 275. else

B-5

Page 60: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

276. if (x<=269) 277. 278. a=5;b=375; 279. 280. y=(float)5*x-375; 281. temp(); 282. tamp_hasil();; 283. 284. else 285. if (x<=279) 286. 287. a=5;b=385; 288. 289. y=(float)5*x-385; 290. temp(); 291. tamp_hasil(); 292. 293. else 294. if (x<=287) 295. 296. a=5;b=395; 297. 298. y=(float)5*x-395; 299. temp(); 300. tamp_hasil(); 301. 302. else 303. if (x<=293) 304. 305. a=5;b=405; 306. 307. y=(float)5*x-405; 308. temp(); 309. tamp_hasil(); 310. 311. else 312. if (x<=301) 313. 314. a=5;b=415; 315. 316. y=(float)5*x-415; 317. temp(); 318. tamp_hasil(); 319. 320. else 321. if (x<=307) 322. 323. a=5;b=425; 324. 325. y=(float)5*x-425; 326. temp(); 327. tamp_hasil(); 328. 329. else 330. if (x<=313) 331.

B-6

Page 61: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

332. a=5;b=435; 333. 334. y=(float)5*x-435; 335. temp(); 336. tamp_hasil(); 337. 338. else 339. if (x<=319) 340. 341. a=5;b=445; 342. 343. y=(float)5*x-445; 344. temp(); 345. tamp_hasil(); 346. 347. else 348. if (x<=327) 349. 350. a=5;b=455; 351. 352. y=(float)5*x-455; 353. temp(); 354. tamp_hasil(); 355. 356. else 357. if (x<=333) 358. 359. a=5;b=465; 360. 361. y=(float)5*x-465; 362. temp(); 363. tamp_hasil(); 364. 365. else 366. if (x<=339) 367. 368. a=5;b=475; 369. 370. y=(float)5*x-475; 371. temp(); 372. tamp_hasil(); 373. 374. 375. else 376. if (x<=347) 377. 378. a=5;b=485; 379. 380. y=(float)5*x-485; 381. temp(); 382. tamp_hasil(); 383. 384. else 385. if (x<=355) 386. 387. a=5;b=495;

B-7

Page 62: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

388. 389. y=(float)5*x-495; 390. temp(); 391. tamp_hasil(); 392. 393. else 394. if (x<=359) 395. 396. a=5;b=505; 397. 398. y=(float)5*x-505; 399. temp(); 400. tamp_hasil(); 401. 402. else 403. if (x<=365) 404. 405. a=5;b=515; 406. 407. y=(float)5*x-515; 408. temp(); 409. tamp_hasil(); 410. 411. else 412. if (x<=371) 413. 414. a=5;b=525; 415. 416. y=(float)5*x-525; 417. temp(); 418. tamp_hasil(); 419. 420. else 421. if (x<=377) 422. 423. a=5;b=535; 424. 425. y=(float)5*x-535; 426. temp(); 427. tamp_hasil(); 428. 429. else 430. if (x<=383) 431. 432. a=5;b=545; 433. 434. y=(float)5*x-545; 435. temp(); 436. tamp_hasil(); 437. 438. else 439. if (x<=389) 440. 441. a=5;b=555; 442. 443. y=(float)5*x-555;

B-8

Page 63: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

444. temp(); 445. tamp_hasil(); 446. 447. else 448. if (x<=397) 449. 450. a=5;b=575; 451. 452. y=(float)5*x-575; 453. temp(); 454. tamp_hasil(); 455. 456. 457. else 458. if (x<=403) 459. 460. a=5;b=585; 461. 462. y=(float)5*x-585; 463. temp(); 464. tamp_hasil(); 465. 466. else 467. if (x<=409) 468. 469. a=5;b=595; 470. 471. y=(float)5*x-595; 472. temp(); 473. tamp_hasil(); 474. 475. else 476. if (x<=413) 477. 478. a=5;b=605; 479. 480. y=(float)5*x-605; 481. temp(); 482. tamp_hasil(); 483. 484. else 485. if (x<=419) 486. 487. a=5;b=615; 488. 489. y=(float)5*x-615; 490. temp(); 491. tamp_hasil(); 492. 493. else 494. if (x<=425) 495. 496. a=5;b=625; 497. 498. y=(float)5*x-625; 499. temp();

B-9

Page 64: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

500. tamp_hasil(); 501. 502. else 503. if (x<=429) 504. 505. a=5;b=635; 506. 507. y=(float)5*x-635; 508. temp(); 509. tamp_hasil(); 510. 511. else 512. if (429<x<=435) 513. 514. a=5;b=645; 515. 516. y=(float)5*x-645; 517. temp(); 518. tamp_hasil(); 519. 520. else 521. if (x<=439) 522. 523. a=5;b=655; 524. 525. y=(float)5*x-655; 526. temp(); 527. tamp_hasil(); 528. 529. else 530. if (x<=445) 531. 532. a=5;b=665; 533. 534. y=(float)5*x-665; 535. temp(); 536. tamp_hasil(); 537. 538. else 539. if (x<=449) 540. 541. a=5;b=675; 542. 543. y=(float)5*x-675; 544. temp(); 545. tamp_hasil(); 546. 547. else 548. if (x<=455) 549. 550. a=5;b=685; 551. 552. y=(float)5*x-685; 553. temp(); 554. tamp_hasil(); 555.

B-10

Page 65: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

556. else 557. if (x<=459) 558. 559. a=5;b=695; 560. 561. y=(float)5*x-695; 562. temp(); 563. tamp_hasil(); 564. 565. else 566. if (x<=465) 567. 568. a=5;b=705; 569. 570. y=(float)5*x-705; 571. temp(); 572. tamp_hasil(); 573. 574. else 575. if (x<=469) 576. 577. a=5;b=715; 578. 579. y=(float)5*x-715; 580. temp(); 581. tamp_hasil(); 582. 583. else 584. if (x<=475) 585. 586. a=5;b=725; 587. 588. y=(float)5*x-725; 589. temp(); 590. tamp_hasil(); 591. 592. else 593. if (x<=479) 594. 595. a=5;b=735; 596. 597. y=(float)5*x-735; 598. temp(); 599. tamp_hasil(); 600. 601. else 602. if (x<=485) 603. 604. a=5;b=745; 605. 606. y=(float)5*x-745; 607. temp(); 608. tamp_hasil(); 609. 610. else 611. if (x<=491)

B-11

Page 66: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

612. 613. a=5;b=755; 614. 615. y=(float)5*x-755; 616. temp(); 617. tamp_hasil(); 618. 619. else 620. if (x<=503) 621. 622. a=2.5;b=-467.5; 623. 624. y=(float)(2.5*x)+467.5; 625. temp(); 626. tamp_hasil(); 627. 628. else 629. if (x<=523) 630. 631. a=2.5;b=-472.5; 632. 633. y=(float)(2.5*x)+472.5; 634. temp(); 635. tamp_hasil(); 636. 637. else 638. if (x<=541) 639. 640. a=2.5;b=-477.5; 641. 642. y=(float)(2.5*x)+477.5; 643. temp(); 644. tamp_hasil(); 645. 646. else 647. if (x<=563) 648. 649. a=2.5;b=-482.5; 650. 651. y=(float)(2.5*x)+482.5; 652. temp(); 653. tamp_hasil(); 654. 655. else 656. if (x<=589) 657. 658. a=2.5;b=-487.5; 659. 660. y=(float)(2.5*x)+487.5; 661. temp(); 662. tamp_hasil(); 663. 664. else 665. if (x<=603) 666. 667. a=2.5;b=-492.5;

B-12

Page 67: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

668. 669. y=(float)(2.5*x)+492.5; 670. temp(); 671. tamp_hasil(); 672. 673. else 674. if (x>603) 675. 676. tamp_error(); 677. 678. 679. 680. 681. 682. void tamp_hasil (void) 683. 684. lcd_clear(); 685. sprintf(buf,"Suhu=%3.1f%c",suhu,0xDF); 686. lcd_gotoxy(1,0); 687. lcd_puts(buf); 688. 689. sprintf(buf,"Teg(mv)=%4.0f",y); 690. lcd_gotoxy(1,1); 691. lcd_puts(buf); 692. delay_ms(500); 693. 694. 695. 696. void tamp_error (void) 697. 698. lcd_clear(); 699. sprintf(buf,"Maaf Melebihi",); 700. lcd_gotoxy(2,0); 701. lcd_puts(buf); 702. 703. sprintf(buf,"Range Pengukuran",); 704. lcd_gotoxy(0,1); 705. lcd_puts(buf); 706. delay_ms(300); 707. 708. 709. void temp (void) 710. 711. suhu=(float)y/10; 712.

B-13

Page 68: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

LAMPIRAN C

DIAGRAM SKEMATIK RANGKAIAN

Page 69: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar C.1 Diagram blok sistem.

ΩK27

Gambar C.2 Bagan rangkaian sistem

ATmega8515

LCD

Vin

RangkaianResistor dan

Kapasitor

C-1

Page 70: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar C.3 Rangkaian LCD M1632.

Gambar C.4 Skema rangkaian pengujian alat dengan pengukuran terhadap tegangan masukan.

C-2

Page 71: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

ΩK27

Gambar C.5 Skema rangkaian pengujian alat dengan pengukuran terhadap suhu.

C-3

Page 72: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

LAMPIRAN D

FOTO ALAT

Page 73: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar D-1 Tampak depan alat analog to digital converter

Gambar D-2 Tampak atas alat analog to digital converter

Gambar D-3 Tampilan alat dan pemanas air ( heater )

D-1

Page 74: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar D-4 Tampilan nilai tegangan masukan 50 mV

Gambar D-5 Tampilan nilai tegangan masukan 100 mV

Gambar D-6 Tampilan nilai tegangan masukan 400 mV

Gambar D-7 Tampilan nilai tegangan masukan 500 mV

D-2

Page 75: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

Gambar D-8 Tampilan pengukuran suhu 330 C

Gambar D-9 Tampilan pengukuran suhu 360 C

Gambar D-10 Tampilan pengukuran suhu 420 C

Gambar D-11 Tampilan pengukuran suhu 480 C

D-3

Page 76: PEMANFAATAN ANALOG COMPARATOR INTERNAL · PDF filetemperature value through measurement with ADC device come near ... Sebagai Analog to Digital Converter : Studi Kasus pada ... 2.1

LAMPIRAN E

DATA SHEET

Atmega 8515

IC LM35