timbangan digital berbasis mikrokontroler avr...
TRANSCRIPT
i
TIMBANGAN DIGITALBERBASIS 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
YOGYAKARTA
2009
ii
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
YOGYAKARTA
2009
iii
iv
v
vi
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 aku
berlindung 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
vii
viii
Intisari
Berat merupakan nilai kualitas dari suatu benda, karena itu dibutuhkansuatu alat untuk mengetahui berat dari benda tersebut. Timbangan adalah alatuntuk mengetahui berat benda, dimana timbangan tesebut telah dilengkapi nilaisatuan dari berat benda yang akan diukur. Penelitian ini merancang danmenginplementasikan sebuah Timbangan Portable (Portable weighing / Simpleweighing) digital berbasis mikrokontroler ATmega8535 dengan tampilan LCD
Berat benda akan dideteksi menggunakan sensor load cell sebagai sensorberat. Yang mana di dalamnya terdapat sensor strain gauge yang tersusunsedemikian rupa membentuk rangkaian jembatan wheadstone, dengan demikiandapat memungkinkan melakukan pengukuran di sejumlah titik secara bersamaan.Keluaran sensor ini berupa sinyal elektrik, sehinggga memudahkan pengolahandata (data-processing). Data keluaran sensor diolah dengan mengunakanmikrokontroler ATMega 8535 yang telah dimuat program dengan ketentuanperancangan, sehingga data yang diolah dan ditampilkan melalui LCD.
Dari perancangan yang dilakukan bahwa timbangan bekerja denganketelitian 20 gram dan kemampuan maksimum 4740 gram.
ix
Abstract
Weight is a value wich the quality an object. It so that needed an
equipment 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.
x
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.
8. Adik- adikku Jimmy, Clara, Paulus, dan Elmida , terima-kasih atas
semangat , kasih, dan doa-doanya.
xi
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
xii
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 ...............................................................................................x
Daftar Isi.........................................................................................................xii
Daftar Gambar................................................................................................xv
Daftar Tabel ...................................................................................................xvii
Daftar Lampiran .............................................................................................xviii
BAB I PENDAHULUAN....................................................................... 1
1.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.1 Sensor Load Cell ......................................................................................6
2.2 Jembatan Wheatstone ...............................................................................7
xiii
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
xiv
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
xv
DAFTAR GAMBAR
Gambar 2.1 Sensor Load Cell ........................................................................6
Gambar 2.2 Sensor Strain Gauge .................................................................7
Gambar 2.3 Konfigurasi resistansi pada Strain Gauge ..................................7
Gambar 2.4 Konfigurasi sensor .....................................................................7
Gambar 2.5 Rangkaian jembatan Wheatstone ...............................................8
Gambar 2.6 INA 125......................................................................................9
Gambar 2.7 Rangkaian pembagi tegangan.....................................................9
Gambar 2.8 Pin ATMega8535........................................................................11
Gambar 2.9 Diagram blok ATMega8535 .......................................................13
Gambar 2.10 Konfigurasi memori data..........................................................14
Gambar 2.11 Pemetaan program memori ......................................................15
Gambar 2.12 Status register ATMega 8535 ...................................................15
Gambar 2.13 Rangkaian osilator....................................................................18
Gambar 2.14 Rangkaian reset ........................................................................20
Gambar 2.15 Register ADMUX ....................................................................21
Gambar 2.16 Format data ADC dengan ADLAR = 0....................................21
Gambar 2.17 Format data ADC dengan ADAR = 1 ......................................22
Gambar 2.18 Register ADCSRA ...................................................................22
Gambar 2.19 Register SFIOR ........................................................................23
Gambar 2.20 Bentuk layar LCD ....................................................................25
Gambar 2.21 Diagram blok LCD ...................................................................26
Gambar 3.1 Konstruksi timbangan ................................................................28
Gambar 3.2 Diagram blok perancangan timbangan.......................................29
Gambar 3.3 Bentuk konstruksi sensor load cell.............................................29
Gambar 3.4 Rangkaian INA 125....................................................................30
Gambar 3.5 Grafik tegangan keluaran terhadap beban berat .........................37
Gambar 3.6 Rangkaian pembagi tegangan dengan dioda zener ....................41
Gambar 3.7 Rangkaian osilator......................................................................41
xvi
Gambar 3.8 Rangkaian reset ..........................................................................42
Gambar 3.9 LCD dengan pengiriman 8-bit....................................................43
Gambar 3.10 Tampilan pencacah berat benda LCD .....................................43
Gambar 3.11 Rangkaian timbangan digital....................................................44
Gambar 3.12 Diagram alir program utama ....................................................45
Gambar 3.13 Konversi ADC ..........................................................................47
Gambar 4.1 Model timbangan........................................................................48
Gambar 4.2 Hasil implementasi sistem elektronis timbangan digital.............48
xvii
DAFTAR TABEL
Tabel 2.1 Konfigurasi setting untuk port I/O .................................................17
Tabel 2.2 Pemilihan mode tegangan referensi ADC......................................21
Tabel 2.3 Konfigurasi clock ADC .................................................................23
Tabel 2.4 Pemilihan sumber picu ADC .........................................................24
Tabel 2.5 Konfigurasi pin LCD ....................................................................26
Tabel 3.1 Tegangan keluaran rangkaian INA 125 .........................................31
Tabel 4.1 Data pengamatan1 hasil perancangan ............................................55
Tabel 4.2 Data pengamatan2 hasil perancangan ............................................63
Tabel 4.3 Data pengamatan dengan kenaikan 5 Gram...................................69
xviii
DAFTAR 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 Voltage
Reference INA125 ......................................................................... L5
Lampiran 5 Data Sheet LCD LMB264ABC ..................................................... L6
1
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
1
2
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 :
3
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.
3. Mengimplementasikan hasil perancancangan.
4
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.
5
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.
6
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 cell
Sensor load cell gambar 2.1 merupakan sesor tekanan yang terdiri dari
bahan silikon yang elastis yang terdiri dari beberapa strain gauge 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.
6
7
Gambar 2.2 Strain Gauge sensor
Perubahan 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 Gauge
2.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
8
Jadi jika disederhanakan rangkaiannya menjadi seperti gambar 2.5.
Gambar 2.5 Rangkaian jembatan wheatstone
ERR
RE
21
21 ..............................................................(2.1)
ERR
RE
34
42 ......……………………………..…….(2.2)
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:
GR
KGain
604 ..........................................................................(2.3)
Bentuk rangakaian dari penguat instrumen INA 125 dapat dilihat pada gambar 2.6
9
Gambar 2.6. INA 125
2.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
Rs
R2
R1
1 3
2
D1 DIODE ZENER1
12
GND
Vin
VDZ
Vout
+
-
IRs
Iz
Irt
Gambar 2.7 Rangkaian pembagi Tegangan
10
Dari Gambar 2.7 dengan persamaan hukum khirchoft dapat diketahui persamaan
bahwa:
VdzVrsVin …………………………………….…………….(2.4)
IrtIzIrs ……………………………………………..……(2.5)
Vdz2R1R
2RVout
………………………………………….……(2.6)
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.
3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.
11
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 ATMega8535
2.5.2 Fitur ATMega8535
Kapabilitas detail dari ATMega8535 adalah sebagai berikut :
1. Sistem mikroprosessor 8 bit berbasis RISC dengan kecepatan maksimal 16
MHz.
12
2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM
(Electrically Erasable Programmable Read Only Memory) sebesar 512
byte.
3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
2.5.3 Arsitektur ATMega8535
Pada gambar 2.9 dapat dilihat bahwa ATMega8535 memiliki bagian sebagai
berikut :
1. Saluran I/O sebanyak 32 buah, yaitu port A, Port B, Port C, dan Port D.
2. ADC 10 bit sebanyak 8 saluran.
3. Tiga buah timer/counter dengan kemampuan pembandingan.
4. CPU yang terdiri atas 32 buah register.
5. Watchdog Timer dengan osilator internal.
6. SRAM sebesar 512 byte.
7. Memori flash sebesar 8 KB dengan kemampuan Read While Write.
8. Unit interupsi internal dan eksternal.
9. Port antarmuka SPI.
10. EEPROM sebesar 512 byte yang dapat diprogram saat opeasi.
11. Antarmuka koparator analog.
12. Port USART untuk komunikasi serial.
13
Gambar 2.9 Diagram blok ATMega8535
2.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
14
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 Data
Memori 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
R0R1…R30R31
$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
15
dibagi menjadi dua bagian, yaitu bagian boot program dan bagian aplikasi program
yang dapat dilihat pada gambar 2.11
Gambar 2.11 Pemetaan Program Memori
2.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.
Gambar 2.12 Status Register ATMega8535
a. 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
I T H S V N Z C
7 6 5 4 3 2 1 0
R/W R/W R/W R/W R/W R/W R/W R/W
16
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.
17
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/O
DDR 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
frekuensi kristal yang dipakai yang dipasang pada kaki XTAL1 dan XTAL2.
18
Rangkaian osilator dengan kristal dan dari clock luar dapat dilihat pada gambar 2.13
berikut;
Gambar 2.13 Rangkaian osilator
2.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:
19
1. Reset active high : reset akan terjadi bila pin reset mendapat logika 1 selama
beberapa saat.
2. Reset active low : 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
20
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 .
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
X
VCC
Port 9
R1
C1SW1
21
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 ADMUX
Bit 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 ReferensiADC
REFS [1..0] Mode tegangan referensi00 Berasal daripin AREF01 Berasal dari pinAVCC10 Tidak dipergunakan11 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 ADC8ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0
Gambar 2.16 Format Data ADC dengan ADLAR=0
22
ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2ADC1 ADC0 - - - - - -
Gambar 2.17. Format Data ADC dengan ADLAR=1
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 ADCSRA
Bit 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.
23
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.
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.
Tabel 2.3. Konfigurasi clock ADC
ADPS[2..0] Besar clock ADC
000 – 0012
ADCf
0104
ADCf
0118
ADCf
10016
ADCf
10132
ADCf
11064
ADCf
111128
ADCf
SFIOR 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
Gambar2.19 Register SFIOR
24
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 ADC
ADTS[2..0] Sumber picu000 Mode free running001 Kompaarator analog010 Interupsi eksternal011 Timer Counter0 Compare Match100 Timer Counter0 Overflow101 Timer Counter1 Compare Match B110 Timer Counter1 Overflow111 Timer Counter1 Capture Event011 Timer Counter0 Compare Match
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
( 25628 8 bit ) , untuk hasil kalkulasi ADC dapat diperoleh dengan rumus berikut:
25
255
refVADCkonversihasil ...............................................................(2.7)
2.10 LCD LMB264ABC
LCD (Liquid Crystal Display ) adalah suatu tampilan display dari bahan
cairan kristal yang dioperasikan dengan menggunakan sistem dot matriks. Pada
perancangan alat ini digunakan display LCD 2 X 16, karakter yang artinya LCD
memiliki 2 baris dan 16 kolom karakter, sehingga jumlah total karakter yang dapat
ditampilkan sekaligus adalah sebanyak 32 karakter. Masing – masing karakter
tersebut terbentuk dari susunan dot yang berukuran 8 baris dan 5 kolom dot, seperti
yang terlihat pada gambar 2.20. Jenis LCD yang digunakan dalam perancangan ini
adalah LCD LMB264ABC, dimana interface LCD dengan mikrokontroler dapat
dilakukan dengan sistem 4-bit ataupun 8-bit.
Gambar 2.20. Bentuk layar LCD
Diagaram blok dari LCD LMB 164ABC dapat dilihat pada gambar 2.21
berikut ini:
Layar LCD Tiap Segment terdiri dari5 x 8 dot
26
Gambar 2.21 Diagram blok LCD
Konfigurasi dari pin LCD dapat dilihat pada tabel 2.5 berikut ini:
Tabel 2.5. Konfigurasi pin LCD
Nomor Pin Simbol
1 GSS (0V)2 VDD (5V)3 V0 (0V)4 RS5 R/W6 E7 DB0: :
14 DB715 BLA16 BLK
1. RS (Register Select), merupakan pin yang dipakai untuk membedakan jenis data
yang dikirim ke LCD. Jika RS berlogika ’0’ maka data yang dikirim adalah
perintah untuk mengatur kerja LCD tersebut, jika RS ’1’ maka data yang
ditampilkan adalah kode ASCII yang ditampilkan.
2. R/W (Read/Write), merupakan pin yang digunakan untuk mengaktifkan
pengiriman data dari dan keLCD. Jika R/W berlogika ’0’ maka akan diadakan
27
pengiriman data ke LCD, jika R/W berlogika ’1’ maka akan diadakan
pengambilan data dari LCD.
3. E (Enable), merupakan sinyal sinkronisasi. Saat E berubah dari logika ’1’ ke
’0’, maka data di DB0 s.d DB7 akan diterima atau akan diambil dari port
mikrokontroler.
4. DB0 s/d DB7, merupakan jalur data yang dipakai untuk menyalurkan kode
ASCII maupun perintah pengatur kerja LCD tersebut.
5. BLA (Backlight Anoda) dan BLK (Backlight Katoda), merupakan pin untuk
menyalakan Backlight dari layer LCD.
28
BAB III
PERANCANGAN
Pada bab ini penulis menjelaskan tentang proses-proses perancangan alat dan
bagian-bagian yang mendukung terbentuknya timbangan digital berbasis
mikrokontroler ATMega8535. Pada perancangan ini, penulis menggunakan sensor
load cell sebagai sensor berat, melakukan perancangan penguat sinyal keluaran
sensor, melakukan pengukuran tegangan keluaran sinyal sensor untuk mengetahui
perubahan tegangan dalam setiap 20 gram sesuai perancangan, pengkodisian sinyal
tegangan referensi ADC (Analog To Digital Converter), dan unit penampil yang
menggunakan LCD. Pada perancangan ini penulis menggunakan bentuk konstruksi
timbangan yang sudah jadi seperti pada gambar 3.1.
Gambar 3.1. Konstruksi timbangan
3.1 Perancangan Perangkat Keras (Hardware)
Dalam perancangan alat timbangan ini digunakan load cell sensor sebagai
sensor berat, karena output tegangan keluaran sensor sangat kecil (< mV) maka agar
28
29
sesuai dengan rentang tegangan masukan dibutuhkan penguat sinyal keluaran sensor
load cell, dan pengkondisi sinyal tegangan referensi ADC, mikrokontroler
ATMega8535 akan mengolah data masukan dan hasilnya akan ditampilkan ke unit
penampil LCD (Liquid Crystal Display). Secara keseluruhan perancangan dapat
dilihat pada gambar 3.2 diagram blok berikut ini.
Gambar 3.2 Diagram blok perancangan timbangan
3.1.1 Perancangan Pendeteksi Berat
Sensor load cell dalam mendeteksi berat menggunakan strain gauge sensor
yang dipasang dengan menggunakan konfigurasi jembatan wheatstone dengan bentuk
konstruksi sensor seperti gambar 3.3.
Gambar 3.3 Bentuk konstruksi sensor load cell
Pendeteksi Berat(load cell)
Unit penampilLCD
Tombol reset
PenguatINA125
MCAT8535
Vref ADC
30
3.1.2 Perancangan Penguat Menggunakan INA 125
Tegangan keluaran dari sensor load cell strain gauge sangat kecil sehingga
untuk mengetahui perubahan tegangan keluaran secara linear dibutuhkan rangkaian
penguat instrumen. Pada perancangan penulis menggunakan IC amplifier instrumen
INA 125 yang memang dibuat khusus untuk menguatkan tegangan keluaran yang
sangat kecil hingga kurang dari satuan milivolt salah satunya sensor load cell strain
gauge, hingga ukuran tegangan dalam satuan milivolt.
Gambar rangkaian dapat dilihat pada gambar 3.4. Agar tegangan dapat terukur
secara linear, penulis menggunakan penguat sebesar 1000 kali. Karena rentang setiap
perubahan tegangan sangat kecil maka untuk memperoleh penguat sebesar yang
diinginkan, dengan mengacu pada persamaan 2.3, dapat dicari RG yaitu:
GR
KGain
604
85.60
986
60000
6000041000
G
G
G
R
R
R
5V
U1
INA125
8
76
3
10
1
9
2
4
5
1113141516
12
RG
-VIN+VIN
V-
VO
V+
RG
SLEEP
VROUT
IAREF
SENSEVREFBGVREF2.5VREF5VREF10
VCOM
R1 60ohm
C10.1uF
C5104pF
Vo (pinA0)load cell
Gambar 3.4 Rangkaian INA 125
31
Dari perancangan ini diperoleh hasil pengukuran seperti pada tabel 3.1
Tabel 3.1. Tegangan keluaran rangkaian INA 125
Tegangan
No Berat (Gram) Keluaran (mV)
1 0 137
2 20 144
3 40 152
4 60 161
5 80 168
6 100 175
7 120 184
8 140 190
9 160 198
10 180 206
11 200 220
12 220 229
13 240 235
14 260 243
15 280 251
16 300 257
17 320 265
18 340 273
19 360 285
20 380 291
21 400 299
22 420 305
23 440 317
24 460 325
25 480 330
26 500 338
27 520 345
28 540 355
29 560 363
30 580 371
31 600 378
32 620 386
33 640 394
34 660 403
35 680 412
36 700 421
37 720 428
38 740 435
32
(lanjutan) Tabel 3.1 Tegangan keluaran rangkaian INA 125
Tegangan
No Berat (Gram) Keluaran (mV)
39 760 403
40 780 410
41 800 417
42 820 424
43 840 431
44 860 438
45 880 445
46 900 452
47 920 459
48 940 466
49 960 473
50 980 480
51 1000 487
52 1020 494
53 1040 501
54 1060 508
55 1080 515
56 1100 522
57 1120 529
58 1140 536
59 1160 543
60 1180 550
61 1200 557
62 1220 564
63 1240 571
64 1260 578
65 1280 585
66 1300 592
67 1320 599
68 1340 606
69 1360 613
70 1380 620
71 1400 627
72 1420 634
73 1440 641
74 1460 648
75 1480 655
76 1500 662
77 1520 669
78 1540 676
33
(lanjutan) Tabel 3.1 Tegangan keluaran rangkaian INA 125
Tegangan
No Berat (Gram) Keluaran (mV)
79 1560 443
80 1580 452
81 1600 460
82 1620 468
83 1640 475
84 1660 482
85 1680 490
86 1700 499
87 1720 508
88 1740 519
89 1760 527
90 1780 535
91 1800 540
92 1820 546
93 1840 554
94 1860 564
95 1880 571
96 1900 579
97 1920 586
98 1940 594
99 1960 602
100 1980 610
101 2000 617
102 2020 625
103 2040 635
104 2060 643
105 2080 649
106 2100 657
107 2120 660
108 2140 668
109 2160 676
110 2180 685
111 2200 693
112 2220 703
113 2240 710
114 2260 718
115 2280 728
116 2300 734
117 2320 741
118 2340 749
34
(lanjutan) Tabel 3.1 Tegangan keluaran rangkaian INA 125
Tegangan
No Berat (Gram) Keluaran (mV)
119 2360 1063
120 2380 1069
121 2400 1078
122 2420 1082
123 2440 1086
124 2460 1091
125 2480 1096
126 2500 1101
127 2520 1107
128 2540 1112
129 2560 1118
130 2580 1124
131 2600 1133
132 2620 1139
133 2640 1145
134 2660 1152
135 2680 1158
136 2700 1163
137 2720 1168
138 2740 1172
139 2760 1178
140 2780 1183
141 2800 1189
142 2820 1195
143 2840 1203
144 2860 1209
145 2880 1214
146 2900 1220
147 2920 1227
148 2940 1233
149 2960 1240
150 2980 1245
151 3000 1250
152 3020 1256
153 3040 1262
154 3060 1268
155 3080 1274
156 3100 1282
157 3120 1289
158 3140 1295
35
(lanjutan) Tabel 3.1 Tegangan keluaran rangkaian INA 125
Tegangan
No Berat (Gram) Keluaran (mV)
159 3160 1301
160 3180 1307
161 3200 1313
162 3220 1319
163 3240 1324
164 3260 1330
165 3280 1338
166 3300 1344
167 3320 1351
168 3340 1356
169 3360 1363
170 3380 1369
171 3400 1375
172 3420 1381
173 3440 1386
174 3460 1392
175 3480 1397
176 3500 1402
177 3520 1408
178 3540 1413
179 3560 1419
180 3580 1426
181 3600 1433
182 3620 1439
183 3640 1443
184 3660 1450
185 3680 1456
186 3700 1462
187 3720 1468
188 3740 1474
189 3760 1480
190 3780 1485
191 3800 1496
192 3820 1502
193 3840 1508
194 3860 1513
195 3880 1519
196 3900 1526
197 3920 1532
198 3940 1538
36
(lanjutan) Tabel 3.1 Tegangan keluaran rangkaian INA 125
Tegangan
No Berat (Gram) Keluaran (mV)
199 3960 1545
200 3980 1553
201 4000 1558
202 4020 1564
203 4040 1571
204 4060 1577
205 4080 1583
206 4100 1588
207 4120 1594
208 4140 1601
209 4160 1609
210 4180 1617
211 4200 1623
212 4220 1630
213 4240 1637
214 4260 1644
215 4280 1651
216 4300 1657
217 4320 1662
218 4340 1669
219 4360 1675
220 4380 1685
221 4400 1690
222 4420 1697
223 4440 1705
224 4460 1712
225 4480 1719
226 4500 1720
227 4520 1727
228 4540 1734
229 4560 1740
230 4580 1747
231 4600 1752
232 4620 1759
233 4640 1767
234 4660 1774
235 4680 1780
236 4700 1786
237 4720 1793
238 4740 1799
37
(lanjutan) Tabel 3.1 Tegangan Keluaran Rangkaian INA 125
Tegangan
No Berat (Gram) Keluaran (mV)
239 4760 1806
240 4780 1813
241 4800 1819
242 4820 1826
243 4840 1832
244 4860 1840
245 4880 1847
246 4900 1854
247 4920 1861
248 4940 1868
249 4960 1873
250 4980 1881
251 5000 1887
Dari data pengamatan dapat gambar 3.5 diketahui bahwa perubahan keluaran
tegangan adalah linear dan dapat ditunjukkan pada grafik.
Gambar 3.5. Grafik tegangan keluaran terhadap beban berat.
38
Pada data pengamatan dapat diketahui bahwa rentang tegangan dari 0 gram
hingga 5 Kilogram adalah 137mV-1887mV karena bit adc yang digunakan adalah 8
bit maka rentang keluaran ADC adalah dari 0 hingga 256 ( 25628 ). Sehingga
dengan berdasarkan rumus 2.7 resolusi kenaikan konversi ADC menjadi :
Konversi ADC = mVmVVref
37,7255
1887
255
Pembacaan ADC pada kondisi 0 gram dapat dicari dengan melakukan
persamaan matematis yaitu:
b
a
V
V
1
0……………………………….…………………..(3.1)
Keterangan:
V0 = Tegangan awal keluaran sensor.
V1 = Tegangan Maksimum keluaran sensor.
a = Kondisi awal pembacaan ADC.
b = Kondisi maksimum pembacaan ADC
Dari persamaan matematis 3.1 dapat dicari kondisi awal pembacaan ADC sebagai
berikut;
2561887
137 a
mV
mV
58.181887
34935
1887
256137
mV
mVa
Pembacaan ADC awal adalah 18 dalam bit =10010
39
Karena berat maksimum adalah 5000 Gram maka kenaikan bit adalah
GramGram
6,19255
5000 , berdasarkan tujuan penelitian kenaikan interval sebesar 20
Gram, sehingga pembacaan ADC memiliki rentang 0 - 5100. Saat pada kondisi 0
gram, pembacaan ADC menjadi 3602018 . Maka pada perancangan ADC untuk
setiap kenaikan bit dikurangi dengan 360. Sehingga Pembacaan ADC maksimum
menjadi 5100 -360 = 4740.
3.1.3 Perancangan pengkondisi sinyal tegangan referensi pada ADC
Untuk memperoleh tegangan yang tetap dapat menggunakan dioda zener
sebelum rangkaian pembagi tegangan. Hal ini juga untuk menjaga keamanan pada
mikrokontroler dari lonjakan yang dapat melebihi tegangan toleransi maksimum pada
mikrokontroler.
Perhitungan nilai resistor yang digunakan dihitung berdasarkan gambar 2.7 dan
persamaan 2.4, 2.5 dan 2.6.
Diketahui Vin = 5V ; Vout = 1.887V
Iz = 5mA ( dari data sheet )
Vdz = 4.3V
Menghitung nilai Vrs :
VdzVrsVin
VdzVinVrs
v7.03.45Vrs
40
Menghitung nilai Irs :
IrtIzIrs
Tegangan referensi ADC bersifat tegangan murni (tidak terpengaruh dengan arus
yang mengalir) maka ditentukan Irt yang kecil, yaitu 1mA.
mA6mA1mA5Irs
sehingga nilai dari Rs dapat di hitung dengan :
6.116mA6
V7.0
Irs
VrsRs
Nilai resistor yang ada dipasaran, di pilih Rs = 120Ω
mAV
Rs
VrsIrs 8.5
120
7.0
IrtIzIrs
mAmAmAIrtIrsIrt 8.058.5
53758.0
3.4
mA
V
Irt
VdzRt
Menghitung nilai R1 : Nilai R2 ditentukan sebesar 200Ω
Vdz2R1R
2RVout
22
1 RVout
VdzRR
200887.1
3.42001
mV
VR
75.255200-455.751R
41
5V
Rs
120
D1
D zener
R2
200
R1
255.75 OHM
13
2
4.3V +
-GND
1.887V
Vout
Gambar 3.6. Rangkaian pembagi tegangan dengan dioda zener
3.1.4 Rangkaian Osilator
Pada rangkaian ini menggunakan crystal sebagai pembangkit pulsa sebesar
11,0592 MHz dengan menggunakan dua buah kapasitor 22pF. Seperti pada gambar
3.6 di bawah ini.
C3
22pF
C2
22pFY2
11.059200 Hz
XTAL1
XTAL2
GND
12
13
11
Gambar 3.7 Rangkaian osilator
3.1.5 Rangkain Reset
Pada perancangan ini waktu reset 4.7 us dengan menggunakan nilai kapasitor
nFC 10 sehingga untuk nilai resistansi dapat dihitung sebagai berikut;
42
KR
RnFus
7.410.10
10.470
107.4
9
4
Sehingga rangkaianya seperti gambar 3.8 :
5V
SW1
12
C4
10nF
R14k7
Reset9
Gambar 387 Rangkaian reset
3.1.6 Tampilan LCD dengan Mikrokontroler ATMega8535
LCD yang dipakai pada alat timbangan barang ini menggunakan sistem
pengiriman data 4-bit dan diperlukan 7 jalur data untuk berhubungan dengan sistem
mikrokontroler ATMega8535 dapat dilihat pada gambar 3.9. ketujuh jalur data
tersebut adalah:
1. Empat jalur data untuk mengirimkan data instruksi dan data karakter yang
akan ditampilkan, keempat jalur tersebut secara berurutan yaitu; Pin 11
(DB4), Pin 12 (DB5), Pin 13 (DB6), dan Pin 14 (DB7).
2. Tiga jalur lainnya adalah pin 4 (RS/Register Select), pin 5
(RW/Read/Write)dan pin 6 (E/Enable).
43
Gambar 3.8. LCD Dengan pengiriman data 8-bit
3.1.6.1 PerancanganTampilan Pencacah Berat Terdeteksi
Bentuk tampilan pencacah berat benda yang terdeteksi dapat dilihat pada
gambar 3.10 berikut ini.
Gambar 3.10. Tampilan pencacah berat benda LCD
Gambar rangkaian lengkap perancangan dapat dilihat pada gambar 3.11.
5V
DB0DB1DB2DB3DB4DB5DB6DB7
Vcc Vee GND Rs R/W E A K
GND
O
Pin 11Pin 12Pin 13Pin 14
XXXX
Pin 4
Pin 5
Pin 6
T I M B A N G A NB e r a t = G r a m
44
5V5V
5V
5V
Y2
11.059200 HzC222pF
C322pF
LCD
12345678910111213141516
SW1
12
R104k7
C4
10nF
R11120
D2
D zener
R12
200R13 255.75
1 3
2
R8
500 ohm
13
2
R9
10K
13
2
104pF
U2
Mega8535
9
1312
32
3031
10
2223242526272829
1415
16
1718192021
12345678
4039383736353433
11
RESET
XTAL2XTAL1
AREF
AVCCAGND
VCC
PC0/A8PC1/A9
PC2/A10PC3/A11PC4/A12PC5/A13PC6/A14PC7/A15
PD0/RXDPD1/TXD
PD2/INT0
PD3/INT1PD4/OC1BPD5/OC1APD6/ICPPD7/OC2
PB0/T0PB1/T1
PB2/AIN0PB3/AIN1
PB4/SSPB5/MOSIPB6/MISOPB7/SCK
PA0/AD0PA1/AD1PA2/AD2PA3/AD3PA4/AD4PA5/AD5PA6/AD6PA7/AD7
GND
Vo INA125
Gambar 3.11. Rangakaian timbangan digital
3.2 Perancangan Perangkat Lunak (Soft ware)
Perancangan perangkat lunak meliputi program utama dan routine
penanganan interupsi (handler interupsi).
3.2.1 Diagram Alir Program Utama
Diagram alir program utama dapat dilihat pada gambar 3.12. Sinyal masukan
tegangan analog yang diperoleh dari keluaran sensor load cell strain gauge yang
terhubung ke pin ADC0 dan akan dikonversi menjadi data digital 8-bit dan kemudian
data digital hasil konversi ini ditampilkan ke LCD.
45
Gambar 3.12 Diagram alir program utama
3.2.2 Diagram Konversi
Pada gambar 3.13 adalah cara konversi ADC. Semula mode kerja ADC
diberi inisial ADC_Vref dan diberi nilai 0x20 dan nantinya akan digunakan untuk
mengatur mode ADC. Nilai 0x20 berarti;
1. Bit REFS : bernilai ’00’ sehingga tegangan referensi yang digunakan adalah
yang terhubung terhadap pin AREF.
mulai
Inisialisasi LCDInisialisasi ADC
Tulis”TIMBANGAN”pada baris 0 LCD
Delay_ms(1000)
Read_adc (0)
Konversi ADC
Tulis “Berat = Gram” pada baris 1 LCD
46
2. Bit ADLAR diset ’1’ berarti hasil konversi akan memiliki format 8-bit MSB
disimpan di register ADCH dan 2-bit sisanya di register ADCL.
Register ADCSRA di-OR-kan dengan data 0x40 yang berarti ADCSRA diset ’1’
yang digunakan untuk memulai konversi ADC, setelah itu ditandai dengan bit ADIF
pada register ADCSRA bernilai ’1’yang berfungsi untuk menunggu proses ADC,
kemudian ADCSRA di OR-kan dengan nilai 0x10 yang berarti mengembalikan nilai
balik fungsi ADC_VREF dengan data register ADCW. Atau dengan kata lain data
register ADCW inilah data digital 8-bit.
Inisialisasi mode keja ADC yaitu dengan mengatur inisial mode kerja
ADCSRA dengan mengisi register ADCSRA dengan nilai 0x87 yang berarti:
1. ADEN diset ’1’ sehingga fasilitas ADC aktif.
2. Bit ADPS2:0 bernilai ’111’ berarti skala pembagi yang digunakan adalah 128.
Jadi frekuensi clock ADC sama dengan 1/128 frekuensi oscilatorkristal yang
digunakan.
47
Gambar 3.13. Diagram Konversi ADC
ADC_VREF = 0x20
ADMUX=adc_input | ADC_VREF = 0x20
ADCSRA | =0x40
ADCSRA | = 0x10
Inisialisasi mode ADCADCSRA = 0x87
ADCSRA & 0x10==0
48
BAB IV
HASIL DAN PEMBAHASAN
4.1 Model Timbangan
Model timbangan terdiri atas dua bagian. Bagian pertama adalah bagian yang
berisi sistem elektronis dan juga berfungsi sebagai dudukan beban, dan bagian kedua
adalah bagian wadah beban. Dan disusun seperti gambar 4.1.
Gambar 4.1 Model timbangan
Hasil implementasi sistem elektronis timbangan dapat dilihat pada gambar
gambar 4.2 yang terdiri dari rangkaian mikrokontroler, penguat, dan rangkaian LCD.
Tegangan yang digunakan pada rangkaian ini adalah sebesar +5V untuk
mikrokontroler, sensor load cell, dan LCD. Sumber tegangan yang digunakan adalah
batere dengan tegangan sebesar +9V dan untuk menurunkan tegangan menjadi +5V
digunakan IC regulator L7805.
48
49
Gambar 4.2 Hasil implementasi sistem elektronis timbangan digital
4.2 Analisa Perangkat Lunak
Berdasarkan diagram alir pada gambar 3.10 maka uraian program sebagai
berikut:
4.2.1. Inisialisasi
Blok ini berisi tentang pendefinisian fungsi, dan variable yang
diperlukan dalam proses. Dengan uraian program sebagai berikut :
a) Baris 1 merupakan definisi preposessor, dalam hal ini yang
digunakan adalah mikrokontroler ATMega 8535 maka harus
menyertakan file mega8535.h. Di dalam file inilah nama-nama
register mikrokontroler yang bersangkutan dideklarasikan.
b) Baris 2 merupakan fungsi standar I/O.
c) Baris 3 merupakan fungsi pustaka delay.h yang digunakan untuk
membangkitkan tunda dengan interval waktu tertentu.
d) Baris 4 sampai dengan baris 7 digunakan untuk mendefinisikan
koneksi antara mikrokontroler dengan modul LCD dalam assembler.
1: #include <mega8535.h> //preposesor ATMega85352: #include <stdio.h>3: #include <delay.h>4: #asm5: .equ __lcd_port=0x18 ;PORTB6: #endasm7: #include <lcd.h>8:9: #define ADC_VREF_TYPE 0x20
50
Pada penelitian ini LCD terhubung ke mikrokontroler melalui port B
sehingga harus didefinisikan sebuah pengenal _lcd_port dengan
nilai 0x18. dimana nilai ini menunjukkan alamat I/O dari register
PORTB. Dan pendefinisian ini harus disertakan fungsi pustaka lcd.h.
e) Baris 9 digunakan untuk mendefinisikan sebuah konstanta yang
bernama ADC_VREF_TYPE dengan nilai 0x20 dan nantinya
digunakan untuk mengatur mode kerja ADC.
4.2.2 Baca Sensor
Blok ini berisi tentang prosedur pembacaan sensor, dengan uraian
program sebagai berikut :
1) Baris 10 sampai dengan baris 18 merupakan blok fungsi baca
ADC yaitu sebuah subrutin yang digunakan untuk melakukan konversi
data analog ke digital. Fungsi read_adc memiliki argument yang diberi
nama adc_input. Nilai dari argument ini menunjukkan pin mana yang
digunakan sebagai masukan analognya . sebagai contoh read_adc (0);
berarti mengkonversi data analog yang terhubung ke pin ADC0,
read_adc (1); berarti mengkonversi data analog yang terhubung ke pin
ADC1. dan seterusnya.
10: unsigned char read_adc(unsigned char adc_input)11: 12: ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);13: delay_us(100);14: ADCSRA|=0x40;15 while ((ADCSRA & 0x10)==0);16: ADCSRA|=0x10;17: return ADCH;18: 19:
51
2) Baris 12 digunakan untuk mengatur mode kerja ADC melalui isi
register ADMUX.ADMUX disini diisi dengan data argumen
read_adc yang di-OR-kan dengan konstanta (ADC_VREF_TYPE &
0xff) seperti telah didefinisikan sebelumnya konstanta
ADC_VREF_TYPE bernilai 0x20 sedangkan adc_input merupakan
argumen dari fungsi read_adc. Nilai 0x20 berarti:
a. Bit REFS1: 0 bernilai ‘00’ sehingga tegangan referensi ADC
yang digunakan adalah tegangan yang terhubung ke pin AREF.
Dalam hal ini tegangan referensinya adalah 1,92 V
b. Bit ADLAR diset ‘1’ sehingga data digital hasil konversi akan
memiliki format 8-bit MSB disimpan di register ADCH dan 2-bit
sisanya di register ADCL.
c. Sedangkan nilai argument adc_input digunakan untuk
menentukan pin masukan tegangan analognya.
3) Baris 13 digunakan untuk penundaan waktu yang dibutuhkan untuk
proses inisialisasi ADC.
4) Baris 14 digunakan untuk meng-OR-kan register ADCSRA dengan
data 0x40. Ini artinya bit ADSC pada register ADCSRA diset ‘1’
yang digunakan untuk memulai proses konversi ADC.
5) Baris 15 digunakan untuk menunggu proses konversi ADC selesai
yang ditandai dengan it ADIF pada register ADCSRA bernilai ‘1’
52
6) Baris 16 digunakan untuk mereset bit ADIF agar menjadi ‘0’ secara
software yaitu dengan cara mengeset bit ADIF (bit ADIF diisi ‘1’
lagi.).
7) Baris 17 digunakan untuk mengembalikan nilai balik fungsi read_adc
dengan data register ADCH. Atau dengan kata lain data register
ADCH inilah data digital 8-bit hasil konversi ADC.
4.2.3 Program utama.
Program utama pada penelitian dapat diuraikan sebagai berikut ini:
20: void main(void)21: 22:23: char lcd_buffer[33];24: int v,a,b;25: unsigned int temp;26:27: ADMUX=ADC_VREF_TYPE & 0xff;28: ADCSRA=0x87;29:30: lcd_init(16);31:32:33:34: while (1)35: 36: lcd_gotoxy (0,0);37: lcd_putsf (" TIMBANGAN ");38: temp = read_adc(0);39: v=((int)temp*20);40: a=360;41: b=v-a;42: lcd_gotoxy (2,1);43: sprintf (lcd_buffer,"Berat=%uGram",b);44: lcd_puts (lcd_buffer);45: delay_ms(1000);46:47: ;48:49:
53
1) Baris 23 digunakan untuk mendeklarasikan sebuah variabel array bernama
lcd_buffer dengan lebar 33 kolom dan ukuran masing-masing elemennya 1 byte
(tipe char). Variabel array ini digunakan untuk menyimpan data string ke dalam
memori SRAM menggunakan fungsi sprintf yang selanjutnya nanti akan
ditampilkan ke LCD menggunakan fungsi lcd_puts.
2) Baris 24 digunakan untuk menentukan tipe data nilai dari karakter yang ditunjuk
yaitu v, a, dan b.
3) Baris 25 digunakan untuk mendeklarasikan variabel yang temp dengan ukuran 2
byte (tipe int) dimana nilai awal adalah 0.
4) Baris 27 digunakan untuk mengatur inisial mode kerja ADC yaitu mengisi
register ADMUX dengan data 0x20 seperti telah dijelaskan pada baris 12.
5) Baris 28 juga digunakan untuk mengatur inisial mode kerja ADC yaitu mengisi
register ADCSRA dengan data 0x87. Data 0x87 pada register ADCSRA berarti:
a. Bit ADEN diset ‘1’ sehingga fasilitas ADC aktif.
b. Bit ADP bernilai’111’sehingga skala pembagi clock yang digunakan
adalah 128. Jadi frekuensi clockADC sama dengan 1/128 frekuensi
osillator kristal yang digunakan. Dimana osilator kristal yang digunakan
pada penelitian ini adalah sebesar 11.059.200 Hz berarti frekuensi clock
ADC adalah 86400 Hz.
6) Baris 30 digunakan untuk memanggil fungsi lcd_init. Fungsi ini digunakan
untuk menginisialisasi modul LCD. Dengan memanggil fungsi lcd_init (16)
54
berarti kita mendefinisikan bahwa jumlah kolom modul LCD yang kita pakai
adalah 16 kolom.
7) Baris 34 hingga baris 47 adalah instruksi pengulangan yang dilakukan terus-
menerus .Dalam pengulangan yang dilakukan adalah:
a. Baris 36 hingga baris 37 adalah penulisan karakter ‘TIMBANGAN”
dengan menggunakan pemangilan fungsi lcd_putsf pada kolom yang
ditugaskan oleh fungsi lcd_gotoxy(0,0) 0 baris 0.yaitu kolom 0 dan baris
0.
b. Baris 38 adalah penugasan untuk membaca tegangan masukan ADC pada
pin ADC0 dan langsung dikonversi kedalam bentuk ASCII dengan tipe
data yang digunakan pada alamat temp.yaitu tipe data Unsigned int dan
memiliki range 0-65535.
c. Baris 39 adalah sebuah variabel v yang digunakan untuk menyimpan
nilai dari setiap pembacaan ADC dikali dengan 20, hal ini di sebabkan
karena nilai pada pembacaan ADC adalah hanya mencapai 255 sehingga
untuk bisa mencapai 5000 , setiap byte dikali 20.
d. Baris 40 adalah merupakan nilai dari variabel a sebesar 360 . Hal ini
dikarenakan pada saat kondisi nol gram nilai pembacaan ADC sudah
menunjukkan mencapai 360. Dan ini disebabkan karena tegangan sensor
pada kondisi 0 gram sudah ada sebesar 137 mv.
e. Baris 41 adalah adalah sebuah variabel yang digunakan untuk menyimpan
hasil pengurangan nilai dari variabel v dan a.
55
f. Baris 42 hingga baris 44 adalah intruksi yang digunakan untuk menuliskan
data setiap pembacaan ADC pada alamat yang ditunjuk oleh instruksi
lcd_gotoxy (2,0) yaitu baris 2 kolom 1.
g. Baris 43 adalah waktu tunda yang dibutuhkan sebesar 1000ms dimana
waktu tunda maksimum adalah 65535 ms.
4.3 Data Hasil Percobaan
Proses pengambilan data menggunakan beban pasir yang dimasukkan ke
dalam bungkus plastik, dan ditimbang sesuai dengan berat yang diinginkan
menggunakan timbangan analog rumah tangga. Setiap berat beban yang sudah diberi
label berat, diletakkan pada sensor load cell untuk mengetahui bentuk tampilan yang
dihasilkan. Pada tabel pengamatan tabel 4.1 dilakukan pengamatan keluaran ADC
dalam desimal. menggunakan program pembacaan ADC dengan bentuk program
adalah sebagai berikut;
56
.
Sehingga pengamatan awal yang diperoleh dicatat pada tabel 4.1 berikut ini;
#include <mega8535.h>#include <lcd.h>#include <stdio.h>#include <delay.h>// Alphanumeric LCD Module functions#asm
.equ __lcd_port=0x18 ;PORTB#endasm#define ADC_VREF_TYPE 0x20
unsigned char read_adc(unsigned char adc_input)
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);delay_us(100);ADCSRA|=0x40;while ((ADCSRA & 0x10)==0);ADCSRA|=0x10;return ADCH;
void main(void)
char lcd_buffer[33];long vin;unsigned int temp;
lcd_init(16);while (1)
temp = read_adc(0);vin = temp;lcd_gotoxy (0,0);lcd_putsf (" TIMBANGAN ");lcd_gotoxy (2,1);sprintf (lcd_buffer,"Berat =%u Gram",vin);lcd_puts (lcd_buffer);delay_ms(1000); ;
57
Tabel 4.1 Data pengamatan
NoBerat
(Gram)Keluaran ADC
DesimalBiner
Keluaran
1 0 18 00010010
2 20 19 00010011
4 40 20 00010100
4 60 21 00010101
5 80 22 00010110
6 100 23 00010111
7 120 24 00011000
8 140 25 00011001
9 160 26 00011010
10 180 27 00011011
11 200 28 00011100
12 220 29 00011101
13 240 30 00011110
14 260 31 00011111
15 280 32 00100000
16 300 33 00100001
17 320 34 00100010
18 340 35 00100011
19 360 36 00100100
20 380 37 00100101
21 400 38 00100110
22 420 39 00100111
23 440 40 00101000
24 460 41 00101001
25 480 42 00101010
26 500 43 00101011
27 520 44 00101100
28 540 45 00101101
29 560 46 00101110
30 580 47 00101111
31 600 48 00110000
32 620 49 00110001
33 640 50 00110010
34 660 51 00110011
35 680 52 00110100
36 700 53 00110101
37 720 54 00110110
58
Tabel 4.1 Data pengamatan
NoBerat
(Gram)Keluaran ADC
DesimalBiner
Keluaran
38 740 55 00110111
39 760 56 00111000
40 780 57 00111001
41 800 58 00111010
42 820 59 00111011
43 840 60 00111100
44 860 61 00111101
45 880 62 00111110
46 900 63 00111111
47 920 64 01000000
48 940 65 01000001
49 960 66 01000010
50 980 67 01000011
51 1000 68 01000100
52 1020 69 01000101
53 1040 70 01000110
54 1060 71 01000111
55 1080 72 01001000
56 1100 73 01001001
57 1120 74 01001010
58 1140 75 01001011
59 1160 76 01001100
60 1180 77 01001101
61 1200 78 01001110
62 1220 79 01001111
63 1240 80 01010000
64 1260 81 01010001
65 1280 82 01010010
66 1300 83 01010011
67 1320 84 01010100
68 1340 85 01010101
69 1360 86 01010110
70 1380 87 01010111
71 1400 88 01011000
72 1420 89 01011001
73 1440 90 01011010
74 1460 91 01011011
75 1480 92 01011100
76 1500 93 01011101
77 1520 94 01011110
59
Tabel 4.1 Data pengamatan
NoBerat
(Gram)Keluaran ADC
DesimalBiner
Keluaran
78 1540 95 01011111
79 1560 96 01100000
80 1580 97 01100001
81 1600 98 01100010
82 1620 99 01100011
83 1640 100 01100100
84 1660 101 01100101
85 1680 102 01100110
86 1700 103 01100111
87 1720 104 01101000
88 1740 105 01101001
89 1760 106 01101010
90 1780 107 01101011
91 1800 108 01101100
92 1820 109 01101101
93 1840 110 01101110
94 1860 111 01101111
95 1880 112 01110000
96 1900 113 01110001
97 1920 114 01110010
98 1940 115 01110011
99 1960 116 01110100
100 1980 117 01110101
101 2000 118 01110110
102 2020 119 01110111
103 2040 120 01111000
104 2060 121 01111001
105 2080 122 01111010
106 2100 123 01111011
107 2120 124 01111100
108 2140 125 01111101
109 2160 126 01111110
110 2180 127 01111111
111 2200 128 10000000
112 2220 129 10000001
113 2240 130 10000010
114 2260 131 10000011
115 2280 132 10000100
116 2300 133 10000101
117 2320 134 10000110
60
Tabel 4.1 Data pengamatan
NoBerat
(Gram)Keluaran ADC
DesimalBiner
Keluaran
118 2340 135 10000111
119 2360 136 10001000
120 2380 137 10001001
121 2400 138 10001010
122 2420 139 10001011
123 2440 140 10001100
124 2460 141 10001101
125 2480 142 10001110
126 2500 143 10001111
127 2520 144 10010000
128 2540 145 10010001
129 2560 146 10010010
130 2580 147 10010011
131 2600 148 10010100
132 2620 149 10010101
133 2640 150 10010110
134 2660 151 10010111
135 2680 152 10011000
136 2700 153 10011001
137 2720 154 10011010
138 2740 155 10011011
139 2760 156 10011100
140 2780 157 10011101
141 2800 158 10011110
142 2820 159 10011111
143 2840 160 10100000
144 2860 161 10100001
145 2880 162 10100010
146 2900 163 10100011
147 2920 164 10100100
148 2940 165 10100101
149 2960 166 10100110
150 2980 167 10100111
151 3000 168 10101000
152 3020 169 10101001
153 3040 170 10101010
154 3060 171 10101011
155 3080 172 10101100
156 3100 173 10101101
61
Tabel 4.1 Data pengamatan
NoBerat
(Gram)Keluaran ADC
DesimalBiner
Keluaran
157 3120 174 10101110
158 3140 175 10101111
159 3160 176 10110000
160 3180 177 10110001
161 3200 178 10110010
162 3220 179 10110011
163 3240 180 10110100
164 3260 181 10110101
165 3280 182 10110110
166 3300 183 10110111
167 3320 184 10111000
168 3340 185 10111001
169 3360 186 10111010
170 3380 187 10111011
171 3400 188 10111100
172 3420 189 10111101
173 3440 190 10111110
174 3460 191 10111111
175 3480 192 11000000
176 3500 193 11000001
177 3520 194 11000010
178 3540 195 11000011
179 3560 196 11000100
180 3580 197 11000101
181 3600 198 11000110
182 3620 199 11000111
183 3640 200 11001000
184 3660 201 11001001
185 3680 202 11001010
186 3700 203 11001011
187 3720 204 11001100
188 3740 205 11001101
189 3760 206 11001110
190 3780 207 11001111
191 3800 208 11010000
192 3820 209 11010001
193 3840 210 11010010
194 3860 211 11010011
195 3880 212 11010100
62
Tabel 4.1 Data pengamatan
NoBerat
(Gram)Keluaran ADC
DesimalBiner
Keluaran
196 3900 213 11010101
197 3920 214 11010110
198 3940 215 11010111
199 3960 216 11011000
200 3980 217 11011001
201 4000 218 11011010
202 4020 219 11011011
203 4040 220 11011100
204 4060 221 11011101
205 4080 222 11011110
206 4100 223 11011111
207 4120 224 11100000
208 4140 225 11100001
209 4160 226 11100010
212 4220 229 11100101
213 4240 230 11100110
214 4260 231 11100111
215 4280 232 11101000
216 4300 233 11101001
217 4320 234 11101010
218 4340 235 11101011
219 4360 236 11101100
220 4380 237 11101101
221 4400 238 11101110
222 4420 239 11101111
223 4440 240 11110000
224 4460 241 11110001
225 4480 242 11110010
226 4500 243 11110011
227 4520 244 11110100
228 4540 245 11110101
229 4560 246 11110110
230 4580 247 11110111
231 4600 248 11111000
232 4620 249 11111001
233 4640 250 11111010
234 4660 251 11111011
235 4680 252 11111100
236 4700 253 11111101
63
237 4720 254 11111110
238 4740 255 11111111
239 4760 255 11111111
240 4780 255 11111111
241 4800 255 11111111
242 4820 255 11111111
243 4840 255 11111111
244 4860 255 11111111
245 4880 255 11111111
246 4900 255 11111111
247 4920 255 11111111
248 4940 255 11111111
249 4960 255 11111111
250 4980 255 11111111
251 5000 255 11111111
Dari data pengamatan tabel 4.1 bahwa ADC hanya mampu membaca dari 18
– 255. Sehingga untuk menampilkan data dari 0 - 5000, pada setiap pembacaan ADC
di kali dengan 20 dan kemudian, dikurangi dengan nilai pembacaan awal sebesar
18×20 =360. Sehingga setiap pembacaan dikurangi dengan 360 dan programnya
ditulis menjadi;
void main(void) char lcd_buffer[33];
int v,a,b;unsigned int temp;
ADMUX=ADC_VREF_TYPE & 0xff;ADCSRA=0x87;lcd_init(16);
while (1)
lcd_gotoxy (0,0);lcd_putsf (" TIMBANGAN ");temp = read_adc(0);v=((int)temp*20);a=360;b=v-a;lcd_gotoxy (2,1);sprintf (lcd_buffer,"Berat=%uGram",b);lcd_puts (lcd_buffer);
delay_ms(1000); ;
64
Dari tabel 4.2 dapat diamati bahwa Untuk berat 0 gram hingga 4740 gram
data yang ditampilkan sudah sesuai dengan data yang diharapkan. Untuk berat 4760
gram hingga 5000 gram data yang ditampilkan sebesar 4740 gram , Ini disebabkan
oleh tegangan masukan ke ADC pada saat kondisi awal 0 gram sebesar 137 mV
yang pembacaan ADC sebesar 18. Dari perancangan diketahui bahwa setiap
kenaikan bit dikali 20. Sehingga data pembacaan ADC berada antara 360 hingga
5100. Oleh karena setiap kenaikan bit dikurangi 360 maka data yang ditampilkan
berada antara 0 hingga 4740.
Tabel 4.2 Data pengamatan
No Berat Referensi(Gram)
Tampilan LCD
1 0 0
2 20 20
3 40 40
4 60 60
5 80 80
6 100 100
7 120 120
8 140 140
9 160 160
10 180 180
11 200 200
12 220 220
13 240 240
14 260 260
15 280 280
16 300 300
17 320 320
18 340 340
19 360 360
20 380 380
21 400 400
22 420 420
65
(lanjutan) Tabel 4.2 Data pengamatan
No Berat Referensi(Gram)
Tampilan LCD
23 440 440
24 460 460
25 480 480
26 500 500
27 520 520
28 540 540
29 560 560
30 580 580
31 600 600
32 620 620
33 640 640
34 660 660
35 680 680
36 700 700
37 720 720
38 740 740
39 760 760
40 780 780
41 800 800
42 820 820
43 840 840
44 860 860
45 880 880
46 900 900
47 920 920
48 940 940
49 960 960
50 980 980
51 1000 1000
52 1020 1020
53 1040 1040
54 1060 1060
55 1080 1080
56 1100 1100
57 1120 1120
58 1140 1140
59 1160 1160
60 1180 1180
66
(lanjutan) Tabel 4.2 Data pengamatan
No Berat Referensi(Gram)
Tampilan LCD
61 1200 1200
62 1220 1220
63 1240 1240
64 1260 1260
65 1280 1280
66 1300 1300
67 1320 1320
68 1340 1340
69 1360 1360
70 1380 1380
71 1400 1400
72 1420 1420
73 1440 1440
74 1460 1460
75 1460 1460
76 1480 1480
77 1500 1500
78 1520 1520
79 1540 1540
80 1560 1560
81 1560 1560
82 1580 1580
83 1600 1600
84 1620 1620
85 1640 1640
86 1660 1660
87 1680 1680
88 1700 1700
89 1720 1720
90 1740 1740
91 1760 1760
92 1780 1780
93 1800 1800
94 1820 1820
95 1840 1840
96 1860 1860
97 1880 1880
98 1900 1900
67
(lanjutan) Tabel 4.2 Data pengamatan
N0Berat (Gram) Tampilan LCD
99 1920 1920
100 1940 1940
101 1960 1960
102 1980 1980
103 2000 2000
104 2020 2020
105 2040 2040
106 2060 2060
107 2080 2080
108 2100 2100
109 2120 2120
110 2140 2140
111 2160 2160
112 2180 2180
113 2200 2200
114 2220 2220
115 2240 2240
116 2260 2260
117 2280 2280
118 2300 2300
119 2320 2320
120 2340 2340
121 2360 2360
122 2380 2380
123 2400 2400
124 2460 2460
125 2480 2480
126 2500 2500
127 2520 2520
128 2540 2540
129 2560 2560
130 2580 2580
131 2600 2600
132 2620 2620
133 2640 2640
134 2660 2660
135 2680 2680
136 2700 2700
68
(lanjutan) Tabel 4.2 Data pengamatan
N0Berat (Gram) Tampilan LCD
137 2720 2720
138 2740 2740
139 2760 2760
140 2780 2780
141 2800 2800
142 2820 2820
143 2840 2840
144 2860 2860
145 2880 2880
146 2900 2900
147 2920 2920
148 2940 2940
149 2960 2960
150 2980 2980
151 3000 3000
152 3020 3020
153 3040 3040
154 3060 3060
155 3080 3080
156 3100 3100
157 3120 3120
158 3140 3140
159 3160 3160
160 3180 3180
161 3200 3200
162 3220 3220
163 3240 3240
164 3260 3260
165 3280 3280
167 3320 3320
168 3340 3340
169 3360 3360
170 3380 3380
171 3400 3400
172 3420 3420
173 3440 3440
174 3460 3460
175 3480 3480
69
(lanjutan) Tabel 4.2 Data pengamatan
No Berat (Gram) Tampilan LCD
176 3500 3500
177 3520 3520
178 3540 3540
179 3560 3560
180 3580 3580
181 3600 3600
182 3620 3620
183 3640 3640
184 3660 3660
185 3680 3680
186 3700 3700
187 3720 3720
188 3740 3740
189 3760 3760
190 3780 3780
191 3800 3800
192 3820 3820
193 3840 3840
194 3860 3860
195 3880 3880
196 3900 3900
197 3920 3920
198 3940 3940
199 3960 3960
200 3980 3980
201 4000 4000
202 4020 4020
203 4040 4040
204 4060 4060
205 4080 4080
206 4100 4100
207 4120 4120
208 4140 4140
209 4160 4160
210 4180 4180
211 4200 4200
212 4220 4220
213 4240 4240
70
(lanjutan) Tabel 4.2 Data pengamatan
No Berat (Gram) Tampilan LCD
214 4260 4260
215 4280 4280
216 4300 4300
217 4320 4320
218 4340 4340
219 4360 4360
220 4380 4380
221 4400 4400
222 4420 4420
223 4440 4440
224 4460 4460
225 4480 4480
226 4500 4500
227 4520 4520
228 4540 4540
229 4560 4560
230 4580 4580
231 4600 4600
232 4620 4620
233 4640 4640
234 4660 4660
235 4680 4680
236 4700 4700
237 4720 4720
238 4740 4740
239 4760 4740
240 4780 4740
241 4800 4740
242 4820 4740
243 4840 4740
244 4860 4740
245 4880 4740
246 4900 4740
247 4920 4740
248 4940 4740
249 4960 4740
250 4980 4740
251 5000 4740
71
Untuk nilai berat dengan kenaiakan 5 gram dapat dilihat pada tabel 4.3
Tabel 4.3. Data pengamatan dengan kenaikan 5 gram
Tegangan
No Berat (Gram)Keluaran
(mV) Tampilan LCD
1 5 138 0
2 10 141 0
3 15 143 20
4 20 144 20
5 25 145 20
6 30 146 20
7 35 149 40
8 40 151 40
9 45 152 40
10 50 155 60
11 55 157 60
12 60 161 60
13 65 163 60
Dari data pengamatan pada tabel 4.3 dapat disimpulkan bahwa, pembacaan
ADC akan selalu menampilkan data yang memiliki tegangan mendekati kelipatan
bilingan yang ditetapkan, yaitu kelipatan 20 gram
72
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil penelitian dan analisis disimpulkan bahwa;
1. alat sudah bekerja sesuai dengan yang diharapkan dengan ketelitian
pengukuran pada timbangan yang dirancang memiliki rentan 20 gram.
2. Pada pembacaan ADC akan selalu menampilkan data yang memiliki
tegangan mendekati nilai tegangan dari kelipatan yang ditentukan yaitu 20
gram.
3. Keluaran tegangan pada sensor Strain Gauge sangat kecil sehingga perlu
dikuatkan terlebih dahulu dengan menggunakan IC amplifier.
5.2. Saran
1. Strain gauge memiliki keterbatasan dalam hal fatigue (kelelahan), batas
kemampuan regangan, dan ketahanan terhadap kondisi lingkungan
pengukuran, sehingga untuk mencegah kerusakan sebaiknya hindari dari
pengukuran yang melebihi berat maksimum, penimbangan terhadap benda
cair, dan penimbangan beban yang terlalu lama.
2. Untuk merancang pembuatan timbangan yang lebih akurat, sebaiknya
menggunakan bit ADC lebih besar, agar memiliki ketelitian yang lebih baik.
72
73
DAFTAR PUSTAKA
C.S Rangan, G.R Sarma, V.S.V Mani 1983, “Instrumentation Device AndSystems”, Tata McGraw-Hill Publishing Company Limited, New York.
William H. Hayat, Jr., Jack E. Kermely, Steven M. Durbin, 2002“Engineering Circuit Analysis”Tata McGraw-Hill PublishingCompany Limited, New York.
Agus Bejo, 2008, “ C & AVR Rahasia Kemudahan Bahasa C dalamMikrokontroler ATMega8535”,Graha Ilmu,Yogyakarta.
Heri Andrianto, juli 2008, “Pemograman Mikrokontroler AVR ATMEGA16Menggunakan Bahasa C (Code Vision AVR)”, Informatika, Bandung.
www.atmel.com, 2005, “Data Sheet”, Atmel Corporation.
www.DataSheet4U.com, 2005, “Data Sheet”, Shenzhen TOPWAYTechnology Co., Ltd.
www.maxim-ic.com, 2005, “Data Sheet”,Maxim Corporation.
www.ti.com , 2008, “ INA 125”, Texas Instruments.
73
74
75
Program Lengkap
*============================================================Nama : Liberius Aries F.MNim : 035114057Project : Tugas Akhir “TIMBANGAN DIGITAL BERBASIS MICROKONTROLER
ATMEGA 8535”Pembimbing :Ir .Prima Ari Setiayani. M.,T.============================================================*
1: #include <mega8535.h> //preposesor ATMega85352: #include <stdio.h>3: #include <delay.h>4: #asm5: .equ __lcd_port=0x18 ;PORTB6: #endasm7: #include <lcd.h>8:9: #define ADC_VREF_TYPE 0x2010: unsigned char read_adc(unsigned char adc_input)11: 12: ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);13: delay_us(100);14: ADCSRA|=0x40;15 while ((ADCSRA & 0x10)==0);16: ADCSRA|=0x10;17: return ADCH;18: 19:20: void main(void)21: 22:23: char lcd_buffer[33];24: int v,a,b;25: unsigned int temp;26:27: ADMUX=ADC_VREF_TYPE & 0xff;28: ADCSRA=0x87;29:30: lcd_init(16);31:32:33:34: while (1)35: 36: lcd_gotoxy (0,0);37: lcd_putsf (" TIMBANGAN ");38: temp = read_adc(0);39: v=((int)temp*20);
1
76
40: a=360;41: b=v-a;42: lcd_gotoxy (2,1);43: sprintf (lcd_buffer,"Berat=%uGram",b);44: lcd_puts (lcd_buffer);45: delay_ms(1000);46:47: ;48:49:
2
77
Rangkaian Lengkap Perancangan
5V
5V
5V5V
5V
Y2
11.059200 Hz
R13 255.75
1 3
2
R104k7
LCD
12345678910111213141516
R12
200
104pF
R11120
C222pF
C4
10nF
D2
D zener
R8
500 ohm
13
2C322pF
SW1
12
R9
10K
13
2
U2
Mega8535
9
1312
32
3031
10
2223242526272829
1415
16
1718192021
12345678
4039383736353433
11
RESET
XTAL2XTAL1
AREF
AVCCAGND
VCC
PC0/A8PC1/A9
PC2/A10PC3/A11PC4/A12PC5/A13PC6/A14PC7/A15
PD0/RXDPD1/TXD
PD2/INT0
PD3/INT1PD4/OC1BPD5/OC1APD6/ICPPD7/OC2
PB0/T0PB1/T1
PB2/AIN0PB3/AIN1
PB4/SSPB5/MOSIPB6/MISOPB7/SCK
PA0/AD0PA1/AD1PA2/AD2PA3/AD3PA4/AD4PA5/AD5PA6/AD6PA7/AD7
GND
C10.1uF
U1
INA125
8
76
3
10
1
9
2
4
5
1113141516
12
RG
-VIN+VIN
V-
VO
V+
RG
SLEEP
VROUT
IAREF
SENSEVREFBGVREF2.5VREF5VREF10
VCOM
C5104pF
R1 60ohm
load cell
3