TIMBANGAN DIGITAL BERBASIS MIKROKONTROLER AVR ATMega 8535 TUGAS AKHIR - Timbangan digital berbasis mikrokontroler AVR ATMega 8535 - USD Repository
TIMBANGAN DIGITAL
BERBASIS MIKROKONTROLER AVR ATMega 8535
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Disusun oleh:
LIBERIUS ARIES FREDDY MANULLANG
NIM : 035114057
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
DIGITAL WEIGHING-MACHINE
BASE ON MICROCONTROLLER AVR ATMega 8535
FINAL PROJECT
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
Written by:
LIBERIUS ARIES FREDDY MANULLANG
Student Number : 035114057
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
HALAMAN MOTTO dan PERSEMBAHAN
Motto
Nothing’s is perfected which you have to do , searching and doing
what is the best for you. And be a Fighterman to fight your laziness.
in other that, your not be a captive of your remorse later. And
Remember to entangle God in every decision and your action, trust
Him, that have made available the best place to you.
Persembahan:
Ku persembahkan karya kecilku ini untuk: Tuhan Yesus Kristus, selamanya aku milik-Nya... dalam kasih-Nya akuberlindung dan berkarya, Bunda Maria, Santo pelindungku dan Para Orang
Kudus.Bapak dan Ibu tercinta, H.Manullang dan R.br.Lumban Gaol. atas cinta dan kasih-sayangnya yang tak berbatas. Saudara-Saudariku tercinta, T.B.Manullang.S.E beserta keluarga, Jimmy Ardoni Michael Manullang, Clara Ros Lerpin br.Manullang, Paulus Iskandar Friady Manullang, dan Florentina Elmida br.Manullang. Tulangku di Onan Ganjang beserta keluarga, Magdalena Adiliya Puspita Sari , Para sanak saudara, dan Almamaterku TE ’03
Intisari
Berat merupakan nilai kualitas dari suatu benda, karena itu dibutuhkansuatu alat untuk mengetahui berat dari benda tersebut. Timbangan adalah alat
untuk mengetahui berat benda, dimana timbangan tesebut telah dilengkapi nilai
satuan dari berat benda yang akan diukur. Penelitian ini merancang dan
menginplementasikan sebuah Timbangan Portable (Portable weighing / Simple
weighing) digital berbasis mikrokontroler ATmega8535 dengan tampilan LCDBerat benda akan dideteksi menggunakan sensor load cell sebagai sensor
berat. Yang mana di dalamnya terdapat sensor strain gauge yang tersusun
sedemikian rupa membentuk rangkaian jembatan wheadstone, dengan demikian
dapat memungkinkan melakukan pengukuran di sejumlah titik secara bersamaan.
Keluaran sensor ini berupa sinyal elektrik, sehinggga memudahkan pengolahan
data (data-processing). Data keluaran sensor diolah dengan mengunakan
mikrokontroler ATMega 8535 yang telah dimuat program dengan ketentuan
perancangan, sehingga data yang diolah dan ditampilkan melalui LCD.Dari perancangan yang dilakukan bahwa timbangan bekerja dengan ketelitian 20 gram dan kemampuan maksimum 4740 gram.
Abstract
Weight is a value wich the quality an object. It so that needed anequipment to know the heavy. Weighing-Machine is an appliance to know object
to weight which have equiped by value set of from object weight to be measured.
This research design and implementation a Weighing-Machine of Portable (
Portable Weighing / Simple Weighing) digital base on microcontroller
ATMEGA8535 with display of LCD.The Object weight will be detect the load cell cencor as heavy censor. In
the load cell there are straingauge combination form circuit of wheadstone
bridge. thereby can enable to measurement in a number of dots concurrently.
Output of this censor is electrical sinyal, so it can to facilitate data processing.
Output of censor processed with microcontroller ATMega 8535, it has been
loaded the program with the design, data will be process and present by LCD.From design have been done, that weighing-machine work with correctness 20 gram and maximum ability 4740 gram.
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Yesus Kristus atas berkat dan
kasih-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul
“Timbangan Digital Berbasis Mikrokontroler AVR ATMega 8535”.Tugas akhir ini disusun sebagai salah satu syarat untuk memperoleh gelar
Sarjana Teknik Elektro di Fakultas Sains dan Teknologi Universitas Sanata
Dharma sekaligus sebagai upaya untuk memperdalam dan memperkaya wawasan
berpikir serta menambah wacana di bidang elektronika khususnya dan sains
teknologi pada umumnya.Pembuatan tugas akhir ini tidak terlepas dari bantuan dan bimbingan berbagai pihak, untuk itu penulis ingin mengucapkan terima kasih kepada :
1. Yosef Agung Cahyanta S.T.,M.T . Dekan Fakultas Sains dan Tehnologi yang telah memberikan saran dalam penyempurnaan penulisan penelitian ini.
2. B. Wuri Harini S.T., M.T Kepala Jurusan Teknik Elektro yang telah memberikan perhatiannya selama kuliah di Universitas Sanata Dharma.
3. Ir. Theresia Prima Ari Setiyani. M.T selaku dosen pembimbing I yang telah memberikan bimbingan, masukan, waktu, dan perhatiannya selama penyusunan tugas akhir ini.
4. Segenap dosen dan laboran Teknik Elektro Universitas Sanata Dharma.
5. Aris Sukardjito. S.IP. dan segenap karyawan sekretariat Fakultas Teknik, yang telah memberikan pelayanan dalam urusan birokrasi selama kuliah.
6. Ayahanda H.Manullang dan Ibunda R. Br. Lumban gaol yang selalu memberi materi, doa, kasih, dan semangat supaya bisa cepat dalam menyelesaikan pengerjaan tugas akhir ini.
7. Abangku Tomson Manullang S.E dan sekeluarga.
9. Magdalena Adiliya Puspita Sari yang telah meminjamkan printer dan motor dan juga atas semangat dan inspirasinya untuk penyelasaian penelitian ini.
10. Marselinus Rony TE’03, terimakasih atas ketersediannya memberikan saran dalam penyelesaian penelitiannya, dan juga teman TE lainnya yang tidak dapat sebutkan satu-persatu terimakasih atas dukungan dan kekompakannya.
11. Semua pihak yang telah membantu dan tidak dapat disebutkan satu persatu sehingga skripsi ini dapat diselesaikan.
Penulis dengan penuh kesadaran memahami dalam pembuatan tugas akhir
ni masih banyak terdapat kekurangannya. Oleh karenanya sumbang saran yang
bersifat membangun dari pembaca sangat diharapkan.Akhirnya penulis berharap
semoga tugas akhir ini dapat bermanfaat bagi pembaca khususnya dan dunia
elektronika umumnya.Yogyakarta, 28 April 2009.
Penulis Liberius Aries Freddy M
DAFTAR ISI Halaman Judul................................................................................................i Halaman Judul Dalam Bahasa Inggris ...........................................................ii Lembar Pengesahan Oleh Pembimbing .........................................................iii Lembar Pengesahan oleh Penguji ..................................................................iv Lembar Pernyataan Keaslian Karya...............................................................v Halaman Motto Hidup Dan Persembahan .....................................................vi
Lembar Persetujuan Publikasi Karya Ilmiah..................................................vii
Intisari ............................................................................................................viii
Abstract ..........................................................................................................ix Kata Pengantar ...............................................................................................xDaftar Isi.........................................................................................................xii
Daftar Gambar................................................................................................xv
Daftar Tabel ...................................................................................................xvii
Daftar Lampiran .............................................................................................xviii
BAB I PENDAHULUAN ....................................................................... 11.1 Judul ...................................................................................................... 1
1.1 Latar Belakang Masalah........................................................................... 1
1.2 Rumusan Masalah .................................................................................... 2
1.3 Batasan Masalah ......................................................................................2
1.4 Tujuan Penelitian .................................................................................... 3
1.5 Metode Penelitian..................................................................................... 3
1.6 Sistematika Penulisan .............................................................................. 4
BAB II DASAR TEORI .........................................................................6
2.3 Penguat Instumen INA 125 .....................................................................8
2.4 Pengkondisi Sinyal Tegangan Referensi ADC ........................................9
2.5 Mikrokontroler ATMega8535 ..................................................................10
2.5.1 Konfigurasi Pin ATMega8535 ......................................................10
2.5.2 Fitur ATMega 8535 ......................................................................11
2.5.3 Arsitektur ATMega8535 ...............................................................12
2.5.4 Peta Memori ATMega8535............................................................13
2.5.5 Status Register (SREG) .................................................................15
2.6 Port I/O......................................................................................................17
2.. Rangkaian Clock ........................................................................................17
2.8 Rangkaian Reset .......................................................................................18
2.9 Analog To Digital Converter (ADC) ........................................................20
2.9.1 Inisialisasi ADC .........................................................................20
2.9.2 Pembacaan ADC ........................................................................24
2.10 LCD LMB264ABC................................................................................25
BAB III PERANCANGAN .......................................................................28
3.1 Perancangan Perangkat Keras (Hardware)...............................................28
3.1.1 Perancangan Pendeteksi Berat ......................................................29
3.1.2 Perancangan Penguat Menggunakan INA125 ..............................30
3.1.3 Perancangan Pengkondisi Sinyal Tegangan Referensi ADC........39
3.1.4 Rangkaian Osilator.........................................................................41
3.1.5 Rangkaian Reset.............................................................................41
3.1.6 Tampilan LCD dengan Mikrokontroler ATMega8535 ..................42
3.1.6.1 Perancangan Tampilan Pencacah Berat Terdeteksi .........43
3.2 Perancangan Perangkat Lunak .................................................................44
3.2.1 Diagram Alir Utama......................................................................44
3.2.2 Cara Konversi................................................................................45
BAB IV HASIL DAN PEMBAHASAN ....................................................48
4.1 Model Timbangan .....................................................................................48
4.2 Analisa Perangkat Lunak .........................................................................49
4.2.1 Inisialisasi..................................................................................49
4.2.2 Baca Sensor...............................................................................50
4.3.3 Program Utama .........................................................................52
4.3 Data Hasil Percobaan ..............................................................................54
BAB V KESIMPULAN DAN SARAN ......................................................70
5.1 Kesiimpulan ............................................................................................70
5.2 Saran ........................................................................................................70
DAFTAR PUSTAKA...................................................................................71
DAFTAR GAMBAR
Gambar 2.1 Sensor Load Cell ........................................................................6Gambar 2.2 Sensor Strain Gauge .................................................................7Gambar 2.3 Konfigurasi resistansi pada Strain Gauge..................................7Gambar 2.4 Konfigurasi sensor .....................................................................7Gambar 2.5 Rangkaian jembatan Wheatstone ...............................................8Gambar 2.6 INA 125......................................................................................9Gambar 2.7 Rangkaian pembagi tegangan.....................................................9Gambar 2.8 Pin ATMega8535........................................................................11Gambar 2.9 Diagram blok ATMega8535 .......................................................13Gambar 2.10 Konfigurasi memori data..........................................................14Gambar 2.11 Pemetaan program memori ......................................................15Gambar 2.12 Status register ATMega 8535 ...................................................15Gambar 2.13 Rangkaian osilator....................................................................18Gambar 2.14 Rangkaian reset ........................................................................20Gambar 2.15 Register ADMUX ....................................................................21Gambar 2.16 Format data ADC dengan ADLAR = 0....................................21Gambar 2.17 Format data ADC dengan ADAR = 1 ......................................22Gambar 2.18 Register ADCSRA ...................................................................22Gambar 2.19 Register SFIOR ........................................................................23Gambar 2.20 Bentuk layar LCD ....................................................................25Gambar 2.21 Diagram blok LCD ...................................................................26Gambar 3.1 Konstruksi timbangan ................................................................28Gambar 3.2 Diagram blok perancangan timbangan.......................................29Gambar 3.3 Bentuk konstruksi sensor load cell.............................................29Gambar 3.4 Rangkaian INA 125....................................................................30Gambar 3.5 Grafik tegangan keluaran terhadap beban berat .........................37Gambar 3.8 Rangkaian reset ..........................................................................42Gambar 3.9 LCD dengan pengiriman 8-bit....................................................43Gambar 3.10 Tampilan pencacah berat benda LCD .....................................43Gambar 3.11 Rangkaian timbangan digital....................................................44Gambar 3.12 Diagram alir program utama ....................................................45Gambar 3.13 Konversi ADC ..........................................................................47Gambar 4.1 Model timbangan........................................................................48Gambar 4.2 Hasil implementasi sistem elektronis timbangan digital.............48DAFTAR TABEL
Tabel 2.1 Konfigurasi setting untuk port I/O .................................................17Tabel 2.2 Pemilihan mode tegangan referensi ADC......................................21Tabel 2.3 Konfigurasi clock ADC .................................................................23Tabel 2.4 Pemilihan sumber picu ADC .........................................................24Tabel 2.5 Konfigurasi pin LCD ....................................................................26Tabel 3.1 Tegangan keluaran rangkaian INA 125 .........................................31Tabel 4.1 Data pengamatan1 hasil perancangan ............................................55Tabel 4.2 Data pengamatan2 hasil perancangan ............................................63Tabel 4.3 Data pengamatan dengan kenaikan 5 Gram...................................69DAFTAR LAMPIRAN
Lampiran 1 Program Timbangan Digital Berbasis ATMega8535.................... L1
Lampiran 2 Rangkaian Lengkap Perancangan................................................. L3
Lampiran 3 Data Sheet MicrocotrolerATMega8535 ....................................... L4
Lampiran 4 Data Sheet Instrumentation Amplifier with Precision VoltageReference INA125 .........................................................................
L5
Lampiran 5 Data Sheet LCD LMB264ABC ..................................................... L6
BAB I PENDAHULUAN
1.1 Judul
Pada penelitian yang dilakukan ini berjudul Timbangan Digital Berbasis
Mikrokontroler AVR ATMega8535
1.2 Latar Belakang Masalah
Berat merupakan suatu besaran yang menjadi nilai dan kualitas dari suatu benda, karena itu dibutuhkan suatu alat untuk mengukur berat benda tersebut. Untuk mengetahui nilai dari berat benda dibuat satuan atau besaran yang menjadi acuan dari nilai benda tersebut. Sehingga telah dibuat standarisasi satuan internasional untuk berat benda, misalnya Gram, Kilogram, Ton, dan lain sebagainya.
Timbangan adalah suatu alat untuk mengetahui berat benda yang telah dilengkapi nilai satuan dari berat benda yang akan diukur. Ini tentunya disesuaikan dengan benda apa yang akan diukur dan jenis timbangannya. Misalnya: Timbangan Portable (Portable weiging / Simple weighing), jenis timbangan kecil yang bisa dibawa kemana–mana. Kapasitas yang disandangnya pun kecil, biasanya dengan kapasitas 30 kg kebawah. Jembatan Timbang ( Weigh bridge ), Ini jenis timbangan paling besar. Timbangan ini dipergunakan untuk menimbang kendaraan roda 4 atau lebih. Kapasitas timbangan ini bisa sampai 100 ton. Timbangan kadar air ( Moisture
balance
), digunakan untuk mengetahui seberapa banyak kadar air yang tersembunyi dalam setiap barang yang ditest Berdasarkan jenis timbangan ini, penulis mencoba merancang sebuah
Timbangan Portable (Portable weighing / Simple weighing) digital berbasis
mikrokontroler ATmega8535 dengan tampilan LCD dengan berat maksimum 5 Kg.
Alasan pemakaian mikrokontroler agar data yang didapat saat melakukan penimbangan dapat disimpan dalam sebuah memori sehingga data tersebut suatu saat dapat ditampilkan kembali melalui media penampil seperti LCD.
1.3 Rumusan Masalah
Berdasarkan uraian pada latar belakang masalah, maka rumusan masalahnya adalah bagaimana merancang dan mengimplementasikan sebuah timbangan dengan menggunakan load cell sensor sebagai sensor berat yang digunakan sebagai masukan ke mikrokontroler, dan mikrokontroler mengolah data masukan menjadi data digital, kemudian data ditampilkan melalui liquid crystal display (LCD).
1.4 Batasan Masalah
Agar permasalahan yang ada tidak berkembang menjadi lebih luas, maka perlu adanya batasan terhadap permasalahannya. Adapun batasan masalah keseluruhan adalah sebagai berikut :
1. Pengkondisian load cell sensor yang terdiri dari susunan strain gauege
sensor
sebagai sensor berat dengan skala perubahan kenaikan sebesar 20 gram.
2. Mikrokontroler yang digunakan ATMega8535.
3. Penampil menggunakan LCD.
4. Berat maksimum yang bisa dideteksi sebesar 5 Kg.
1.5 Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah untuk merancang dan mengimplementasikan timbangan digital berbasis mikrokontroler AVR ATMega8535 dengan ketelitian sampai 20 gram.
1.6 Metode Penelitian
Metode penelitian yang diterapkan untuk tercapainya perancangan ini adalah:
1. Melakukan studi pustaka, dengan mempelajari referensi-referensi yang berhubungan dengan mikrokontroler khususnya avr, dan rangkaian elektronik yang dibutuhkan dalam pembuatan alat. Referensi tersebut dapat berasal dari internet serta literature media cetak.
2. Perancangan alat meliputi perancangan mekanik, elektronik, dan perangkat lunak.
4. Pengujian alat dan pengambilan data.
1.7 Sistimatika Penulisan
Penulisan laporan Tugas Akhir ini terdiri dari lima bab yang masing-masing berisi tentang :
1. Bab I – Pendahuluan Bab pendahuluan ini berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan dan mafaat penelitian, metodologi penelitian, dan sistematika penulisan.
2. Bab II – Dasar Teori
Bab II berisi dasar teori dari piranti/komponen yang digunakan dalam perancangan perangkat keras. Dasar teori dari load cell sensor , rangkaian penguat teridiri dari IC Amplifier Instrumens INA125P, pengkondisi tegangan referensi ADC, mikrokontroler, dan LCD terdapat dalam bab ini.
3. Bab III – Perancangan Alat Isi dari bab III adalah bagaimana merancang perangkat keras timbangan digital dan juga dipaparkan mengenai perangkat lunak yang digunakan.
Dalam bab ini juga terdapat rancangan perangkat keras secara keseluruhan dalam bentuk diagram blok, dan perangkat lunak dalam bentuk flow chart.
4. Bab IV. Hasil Penelitian Dan Pembahasan
Bab ini berisi tentang pengamatan kerja dari perangkat keras dan perangkat lunak yang telah dibuat.
5. Bab V. Penutup
Bab ini berisi tentang kesimpulan dan saran untuk perbaikan alat dan penelitian selanjutnya.
Bab II DASAR TEORI Pada bab ini akan dijelaskan mengenai dasar teori yang berhubungan dari
perangkat-perangkat yang mendukung proses perancangan alat. Bagian yang akan dijelaskan adalah sensor load cell sebagai sensor berat, yang disusun membentuk konfigurasi jembatan wheatstone, IC INA125P instrumens amplifier sebagai penguat awal, pengkondisi sinyal, mikrokontroler Atmega8535, dan penampil LCD (liquid
cristal display ).
2.1 Sensor load cell
Gambar 2.1 Sensor load cellSensor load cell gambar 2.1 merupakan sesor tekanan yang terdiri dari
strain gauge
bahan silikon yang elastis yang terdiri dari beberapa sensor yang disusun sedemikian rupa, dan membentuk konfigurasi jembatan wheatstone. Strain
Gauge sensor
atau sensor regangan adalah sensor yang menggunakan kawat penghantar dimana resistansinya dapat berubah bila dipanjangkan atau dipendekkan seperti gambar 2.2.
Gambar 2.2 Strain Gauge sensorPerubahan panjang strain gauge sensor sangat kecil hingga mencapai persejuta dari satu sentimeter. Pengukur regangan ditempatkan ke suatu stuktur yang sedemikian rupa agar persen perubahan panjang dari pengukur regangan dan struktur itu sama. Panjang aktif dari strain gauge dipasang pada sumbu membujurnya yang terletak dalam arah yang sama dengan gerakan yang akan diukur. Konfigurasi resistansi pada strain gauge seperti gambar 2.3.
Gambar 2.3 Konfigurasi resistansi pada Strain Gauge2.2 Jembatan Wheatstone
Jembatan Wheatstone digunakan pada instrument yang mempunyai perubahan resistansi kecil. Prinsip kerjanya adalah membandingkan perubahan tegangan pada kedua output dari jembatan. Sensor dipasang seperti gambar 2.4.
Gambar 2.4 Konfigurasi sensor Jadi jika disederhanakan rangkaiannya menjadi seperti gambar 2.5.Gambar 2.5 Rangkaian jembatan wheatstoneR
2 E E 1 ..............................................................(2.1)
R R
1
2 R
4 E E 2 ......……………………………..…….(2.2)
R R
4
3
2.3 Penguat instrumen INA 125
Penguat instrumen INA 125 merupakan sebuah IC yang dibuat khusus untuk menguatkan sinyal keluaran dari sebuah sensor strain gauge. Penguatan itu dapat dirumuskan seperti pada rumus 2.3 berikut:
K
60 Gain 4 ..........................................................................(2.3)
R G
Bentuk rangakaian dari penguat instrumen INA 125 dapat dilihat pada gambar 2.6
Gambar 2.6. INA 1252.4 Pengkondisi Sinyal Tegangan Referensi ADC
Tegangan referensi ADC menggunakan rangkaian pembagi tegangan, dapat yang menggunakan dioda zener sebelum rangkaian pembagi tegangan pada gambar 2.7 +5V IRs Irt R1 Rs 1 2 3 + Vin D1 DIODE ZENER1 Iz 2 VDZ R2 Vout GND
- - 1
Vin Vrs Vdz
…………………………………….…………….(2.4)
Irs Iz Irt ……………………………………………..……(2.5) R
2
Vout Vdz ………………………………………….……(2.6)
R
1 R
2
2.5 Mikrokontroler Atmega8535
Mikrokontroler ATMega8535 adalah mikroelekronika produk Atmel keluarga ATMega dari mikrokontroler AVR (Alf and Vegard’s Risc processor).
Mikrokontroler AVR bertekhnologi RISC (Reduced Instruction Set Computing) memiliki arsitektur RISC 8 bit. Semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. Fasilitas dari mikrokotroler ATMega8535 dapat dijelaskan sebagai berikut:
2.5.1 Konfigurasi Pin ATMega8535 Konfigurasi pin ATMega8535 dapat dilihat pada gambar 2.8. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai berikut: 1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.
2. GND merupakan pin ground.
4. Poer B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog, dan SPI.
5. Port C (PC0..PC7) merupakan pin pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilator.
6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial.
7. RESET merupakan pin yang digunkan untuk mereset mikrokontroler.
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
9. AVCC merupakan pin masukan tegangan untuk ADC.
10. AREF merupakan pin masukan tegangan referensi ADC.
Gambar 2.8 Pin ATMega85352.5.2 Fitur ATMega8535 Kapabilitas detail dari ATMega8535 adalah sebagai berikut :
1. Sistem mikroprosessor 8 bit berbasis RISC dengan kecepatan maksimal 16
2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM
4. CPU yang terdiri atas 32 buah register.
10. EEPROM sebesar 512 byte yang dapat diprogram saat opeasi.
9. Port antarmuka SPI.
8. Unit interupsi internal dan eksternal.
7. Memori flash sebesar 8 KB dengan kemampuan Read While Write.
6. SRAM sebesar 512 byte.
5. Watchdog Timer dengan osilator internal.
3. Tiga buah timer/counter dengan kemampuan pembandingan.
(Electrically Erasable Programmable Read Only Memory)
2. ADC 10 bit sebanyak 8 saluran.
1. Saluran I/O sebanyak 32 buah, yaitu port A, Port B, Port C, dan Port D.
2.5.3 Arsitektur ATMega8535 Pada gambar 2.9 dapat dilihat bahwa ATMega8535 memiliki bagian sebagai berikut :
5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
sebesar 512 byte.
11. Antarmuka koparator analog.
Gambar 2.9 Diagram blok ATMega85352.5.4 Peta Memori ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah hal ini dibuat untuk keamanan perangkat lunak.
Memori data dibagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM internal.
Register keperluan umum menempati space data pada alamat $00 sampai $1F. Untuk register khusus menangani I/O menempati 64 alamat berikutnya mulai dari $20 sampai $5F. Register tersebut merupakan fungsi khusus yang digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register,timer/counter, fungsi- fungsi I/O, dan sebagainya. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Konfigurasi memori data dapat dilihat pada gambar 2.10 berikut ini.
Gambar 2.10 Konfigurasi Memori DataMemori program yang terletak dalam flash PEROM tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. AVR ATMega8535 4KbyteX16-bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF. Flash Memori mempunyai suatu daya tahan sedikitnya 10,000 write/erase
cycles
. ATmega8535 Program Counter (PC) adalah 12 bit, lebar alamat ini 4KByte lokasi program memori. Untuk keamanan perangkat lunak, flash ruang program R0 R1 … R30 R31 $00 $01 … $3E $3F
$0000 $0001 ….
$001E $001f $0020 $0021 ….
$005E $005F
$0060 $0061 ….
$025E $025F (RAMEND)
Register Umum Register I/O
Alamat SAM Internal dibagi menjadi dua bagian, yaitu bagian boot program dan bagian aplikasi program yang dapat dilihat pada gambar 2.11
Gambar 2.11 Pemetaan Program Memori2.5.5 Status Register (SREG)
Status register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler yang dapat dilihat pada gambar 2.12.
7
6
5
4
3
2
1 I T H S
V N Z C R/W R/W R/W R/W R/W R/W R/W R/W
Gambar 2.12 Status Register ATMega8535a. Bit 7-I: Global Interupt Enable Bit harus diset untuk meng-enable interupsi, setelah itu dapat mengaktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit kontrol register yang bersangkutan secara individu. Bit akan di-clear pabila terjadi suatu interupsi yang dipicu hardware, dan bit akan mengizinkan terjadinya intrupsi, serta akan diset kembali oleh interuksi RETI.
b. Bit 6-T: Bit Copy Storage Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BLD.
c. Bit 5-H: Half Carry Flag
d. Bit 4-S: Sign Bit Bit-S merupkan hasil operasi EOR antara flag-N (negative) dan flag V (komplemen dua overflow).
e. Bit 3-V: Two’s Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika.
f. Bit 2-N: Negatif Flag Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan diset.
g. Bit 1-Z:Zero Flag Bit akan diset bila hasil operasi yang diperoleh adalah nol.
h. Bit 0-C: Carry Flag Apabila suatu operasi menghasilkan carry, maka bit akan diset.
2.6 Port I/O
Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun output dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output , perlu dilakukan setting pada DDR atau Port. Berikut
tabel 2.1 pengaturan port I/O:Tabel 2.1 Konfigurasi Setting untuk Port I/ODDR bit = 1 DDR bit = 0 Port bit = 1 Output High Input pull-up Port bit = 0 Output Low Input Floating
Dari tabel 2.1, menyeting input/output adalah:
a. Input; DDR bit 0 dan Port bit 1
b. Output High; DDR bit 1 dan Port bit 1
c. Output Low; DDR bit 1 dan Port bit 0 Logika port I/O diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan dengan perintah .cbi
(clear bit I/O) untuk menghasilkan output low atau perintah .sbi(set bit I/O)
untuk menghasilkan output high. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.
2.7 Rangkaian Clock
Frekuensi kerja dari mikrokontroler ATMega8535 tergantung dari besarnya Rangkaian osilator dengan kristal dan dari clock luar dapat dilihat pada gambar 2.13 berikut;
Gambar 2.13 Rangkaian osilator2.8 Rangkaian Reset Reset digunakan untuk mengembalikan mikrokontroler pada kondisi awal.
Pada keadaan tertentu, mikrokontroler dapat mengalami kondisi tak tertentu akibat terjebak dalam suatu loop atau sebab lain. Hal ini semacam ”hang-up” pada komputer.
Pada saat mikroprosessor mendapat reset, alamat dari program counter (PC) akan otomatis bernilai paling kecil ataupun paling besar (tergantung arsitektur dari prosessor) dimana nilai pada program counter tersebut menunjuk pada alamat program yang paling awal yang terdapat didalam ROM. Rangkaian reset harus bisa menjamin bahwa ketika sistem mendapat daya, reset harus otomatis terjadi atau yang lebih dikenal dengan power on reset. Hal ini fungsinya untuk menjamin bahwa mikroprosessor mengambil instruksi dari keadaan awal. Secara umum rangkaian untuk melakukan reset terdiri dari 2 macam, yakni:
Reset active high
1. : reset akan terjadi bila pin reset mendapat logika 1 selama beberapa saat.
Reset active low
2. : reset akan aktif jika mendapat logika 0 selama beberapa saat.
Pada kebanyakan mikroprosessor dibutuhkan waktu beberapa saat pin reset mendapat logika 1 supaya terjadi reset, sehingga yang digunakan dalam perancangan ini adalah rangkaian reset aktif high.
Pada saat pertama rangkaian pada gambar 2.14 mendapat power, tegangan pada titik x (tegangan kapasitor) akan sama dengan 0, sehingga terjadi reset. Pada saat muatan di kapasitor muatan dikapasitor terisi dan mendekati penuh, maka pada titik x akan mulai muncul tegangan yang mengalir pada R akan dialirkan semua pada
ground (titik yang rendah), sehingga titik x akan berlogika 0 dan terjadilah reset.
Waktu reset tersebut dapat dihitung dengan rumus T=RC. Untuk mencegah bouncing dari tombol reset yang dapat menyebabkan reset terjadi beberapa kali meskipun tombol cuma sekali ditekan, maka sebaiknya pin reset diberi logika 0 ..
Cara mengulanginya adalah dengan mengatur nilai pada resistor dan kapasitor yang mempengaruhi lama pengisian dan pembuangan muatan dari kapasitor. Cara untuk menentukan nilai ialah dengan mencari konstanta waktu ( ), dengan =R.C. Nilai menunjukkan waktu yang dibutuhkan untuk melakukan charging /
discharging
sebesar 37% dari tegangan catu, dan waktu yang dibutuhkan untuk
charging / discharging
penuh ialah 5 kali konstanta waktu 5 . Umumnya nilai R untuk rangkaian reset berkisar antara 1-10k dan C berkisar antara 0,1-10 nF . VCC
R1
SW1 C1X Port 9
Gambar 2.14
Rangkaian Reset
2.9 Analog To Digital Converter (ADC
) ATMega8535 telah dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC ATMega8535 dapat dikonfigurasi, baik sebagai single ended input maupun differential input. Selain itu, ADC ATMega 8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau yang amat fleksibel sehingga dapat dengan disesuaikan dengan kebutuhan dari ADC itu sendiri.
2.9.1 Inisialisasi ADC Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, format output data, dan mode pembacaan. Register yang perlu diset nilainya adalah
ADMUX (ADC Multiplexer Selection Register), ADCSRA (ADC Control and Status
register A
), dan SFIOR (Special Function IO Register). ADMUX merupakan register 8 bit yang berfungsi menentukan tegangan referensi ADC, format data output, dan saluran ADC yang digunakan. Konfigurasinya seperti gambar 2.15 dibawah ini . REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0
Gambar 2.15 Register ADMUXBit penyusunya dapat dijelaskan sebagai berikut; a. REFS[1..0] merupakan bit pengatur tegangan referensi ADC ATMega8535. memiliki nilai awal 00 sehingga referensi tegangan berasal dari pin AREF. Detail nilai yang lain dapat dilihat dari tabel 2.2 dibawah ini;
Tabel 2.2. Pemilihan Mode Tegangan ReferensiADCREFS [1..0] Mode tegangan referensi
00 Berasal daripin AREF
01 Berasal dari pinAVCC
10 Tidak dipergunakan
11 Berasal dari tegangan referensi internal sebesar 2.56V
b. ADLAR merupakan bit pemilih mode data keluaran ADC. Bernilai awal 0 sehingga 2 bit tertinggi data hasil konfigurasinya berada di register ADCH dan 8 bit sisanya berada diregister ADCL yang ditunjukkan pada gambar 2.16, jika bernilai 1 dapat dilihat pada gambar 2.17.
- ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0
- ADC1
- ADC0
c. MUX [4..0] merupakan bit pemilih saluran pembacaan ADC. Nilai awalnya adalah 00000. Untuk mode single ended input, MUX[4..0] bernilai dari 00000-00111. ADCSRA merupakan register 8 bit yang berfungsi melakukan manajemen sinyal control dan status dari ADCSRA memiliki susunan seperti gambar 2.18 dibawah ini. ADEN ADCS ADATE ADIF ADIE ADPS2 ADPS1 ADPS0
Gambar 2.18 Register ADCSRABit penyusunya dapat dijelaskan sebagai berikut;
a. ADEN merupakan bit pengatur aktivasi ADC. Nilai awalnya adalah 0. jika bernilai 1, maka ADC aktif.
b. ADCS merupakan bit penanda mulaianya konversi ADC. Nilai awalnya adalah 0. selama konversi ADC akan bernilai 1, sedangkan jika konversi telah selesai, akan bernilai 0.
c. ADATE merupkan bit pengatur aktivasi picu otomatisoperasi ADC. Nilai awalnya adalah 0. Jika bernilai 1, operasi konversi ADC akan dimulai saat transisi positif dari sinyal picu yang dipilih. Pemilihan sinyal picu menggunakan bit ADTS pada register SFIOR. d. ADIF merupakan bit penanda akhir konversi ADC. Bernilai awal 0. jika bernilai 1, maka konversi ADC pada suatu saluran telah selesai dan data siap diakses.
e. ADIE merupakan bit pengatur aktivasi interupsi yang berhubungan dengan akhir konversi. Bernilai awal 0, jika bernilai 1 dan jika sebuah konversi ADC telah selesai, sebuah interupsi akan dieksekusi.
16 ADC
f
111 128 ADC
f
64 ADC
110
f
32 ADC
101
f
100
f. ADPS[2..0] merupakan bity pengatur clock ADC. Bernilai awal 000. detail bit Konfigurasi clock ADC dapat dilihat pada tabel 2.3 dibawah ini.
f
8 ADC
011
f
4 ADC
010
f
2 ADC
ADPS[2..0] Besar clock ADC 000 – 001
Tabel 2.3. Konfigurasi clock ADCSFIOR merupakan register 8 bit pengatur sumber picu konversi ADC, apakah dari picu internal atau picu eksternal. Susunannya pada gambar 2.19. berikut: ADTS2 ADTS1 ADTS0 ACME PUD PSR2 PSR10
ADTS[2..0] merupakan bit pengatur picu eksternal operasi ADC. Hanya berfungsi jika bit ADATE pada register ADCSRA bernilai 1. Nilai awalnya adalah 000. Sehingga ADC bekerja pada mode free runnig dan tidak ada interupsi yang akan dihasilkan. Detail ini nilai ADTS [2..0]. Pemilihan Sumber Picu ADC dapat dilihat pada tabel 2.4 berikut:
Tabel 2.4. Pemilihan Sumber Picu ADCADTS[2..0] Sumber picu 000 Mode free running 001 Kompaarator analog 010 Interupsi eksternal
Timer Counter0 Compare Match
011
Timer Counter0 Overflow
100
Timer Counter1 Compare Match B
101
Timer Counter1 Overflow
110
Timer Counter1 Capture Event
111
Timer Counter0 Compare Match
011 Untuk operasi ADC, bit ACME, PUD, PSR2, dan PSR10 tidak diaktifkan.
2.9.2 Pembacaan ADC Dalam proses pembacaan hasil konversi ADC, dilakukan pengecekan terhadap bit ADIF (ADC interrupt flag) pada register ADCSRA. ADIF akan bernilai satu jika konversi sebuah saluran ADC telah selesai dilakukan dan data hasil konversi siap untuk diambil , dan demikian sebaliknya. Data disimpan dalam dua register ADCH dan ADCL. Untuk hasil kalkulasi , Dalam penelitian ini konversi ADC dipakai 8 bit, maka rentang keluaran ADC yang dihasilkan adalah dari 0 sampai 255 8
V ref hasil konversi ADC
...............................................................(2.7) 255