Вы находитесь на странице: 1из 16

DAFTAR ISI

DAFTAR ISI..................................................................................................... 1
BAB I
A. PENDAHULUAN................................................................................... 2
B. LATAR BELAKANG............................................................................. 2
C. RUMUSAN MASALAH......................................................................... 3
D. TUJUAN.................................................................................................. 3
E. BATASAN MASALAH.......................................................................... 3
BAB II
A. DESAIN PERANCANGAN................................................................. 4
B. LANGKAH PEMBUATAN................................................................. 5
BAB III
A. PENGUJIAN ALAT.............................................................................. 14
B. ANALISIS PENGUJIAN...................................................................... 14
BAB IV PENUTUP........................................................................................... 15
DAFTAR PUSTAKA……………………......................................................... 16

1
BAB I
A. PENDAHULUAN
Perkembangan dunia digital akhir-akhir ini tampak semakin berkembang
dan banyak sekali peminat dari berbagai kalangan baik itu sebagai pembuat atau
programmer maupun sebagai user atau pemakainya. Penggunaan mikrokontroler
mampu terserap dalam berbagai sudut kehidupan manusia, sehingga hampir
semua segi aktifitas manusia dapat dibantu dengan perangkat berbasis
mikrokontroler.
Dengan cara pemrograman yang cukup mudah, perangkat keras yang dapat
ditemukan dengan mudah dan murah dipasaran dan penempatan device yang
cukup fleksibel dirasa sangat mampu untuk menjawab berbagai masalah disekitar
manusia.

B. LATAR BELAKANG
Dalam hal pengukuran massa, pengukuran massa biasanya dilakukan secara
manual yaitu dengan menggunakan timbangan manual. Definisi timbangan itu
sendiri adalah sebuah alat bantu yang digunakan untuk mengetahui berat suatu
benda. Dalam pemanfaatannya timbangan digunakan diberbagai bidang salah
satunya dibidang perdagangan, seperti halnya pedagang buah dipasar yang
kebanyakan masih menggunakan timbangan manual.
Berdasarkan dari penjelasan diatas, maka dirancanglah suatu alat timbangan
elektronik menggunakan mikrokontroller ATMega16 sebagai pmroses data. Pada
timbangan elektronik ini menggunakan sensor berat yaitu sebuah load cell sebagai
pendeteksi berat suatu benda.
Sensor diletakkan ditengah agar alat dapat menimbang secara baik. Pada
saat alat mendeteksi adanya beban, maka secara otomatis sensor akan membaca
dan mengirimkan sinyal ke mikrokontroler yang kemudian berat buah tersebut
ditampilkan oleh LCD. Setelah suatu benda diletakkan pada tumpuan beban pada
timbangan maka timbangan akan keluar kode dari timbangan yang akan disimpan
pada EEPROM (electrically erasablle programmable read-only memory)
mikrokontroller ATMega 16.

2
Pada saat suatu benda diletakkan diatas timbangan, nilai berat akan muncul
pada layar LCD (Liquid Crystal Display). Dalam hal ini kami memutuskan untuk
merancang rumusan ini sebagai bentuk tugas akhir perkuliahan Mikrokontroller
yang berjudul “ Timbangan Digital menggunakan ATMega 16 ”.

C. RUMUSAN MASALAH
1. Bagaimana cara membuat timbangan digital?
2. Apa tujuan pembuatan timbangan digital?

D. TUJUAN
1. Terciptanya timbangan digital pengukur berat dengan load cell
2. Menghasilkan suatu alat timbang digital yang mempunyai efektivitas dan
kompleksivitas tinggi dalam penggunaannya.

E. BATASAN MASALAH
1. Penggunaan mikrokontroler sebagai pengontrol mekanik berdasarkan berat
benda dan pengolahan data dari benda tertimbang.
2. Pengolahan data ADC dengan pemrograman mikrokontroller
menggunakan bahasa C.

3
BAB II

A. DESAIN PERANCANGAN
1. Skema Sistem Alat

Gambar1. Blok skema sistem kerja alat

Alat ini menggunakan timbangan duduk sebagai inputan berat, yang


dibawahnya akan dipasang sensor load cell yang besar resistansinya kan berubah
sesuai dengan tekanan yang diterima oleh wadah beban diatasnya. Perubahan
besar resistansi akan mengubah nilai tegangan yang masuk ke mikrokontroller.
Besaran ini akan diolah oleh ADC yang akan mengkonversi nilai analog ke
digital. Data yang masuk ke ATMEGA 16 akan diolah sesuai program yang
dimasukkan didalamnya. Berat benda akan ditampilakan didalam LCD,
selanjutnya nilai berat akan diolah untuk dimasukkan dalam wadah tertentu.
2. Rangkaian sistem minimum dan sensor tekanan

Gambar3. Skema rangkaian timbangan digital

4
B. LANGKAH PEMBUATAN
1. Perancangan Hardware
a. Pembuatan Rangkaian Elektonik
Langkah kerja :
1. Buat skema rangkaian pada ISIS.
2. Lanjutkan dengan membuat desain PCB pada ARES.
3. Cetak rangkaian PCB pada kertas Glosy.
4. Siapkan alat dan bahan yang diperlukan.
5. Setrika kertas Glosy pada PCB yang telah disediakan, sebelumnya bersihkan
dahulu PCB agar saat menyetrika jalur mudah menempel.
6. Larutkan PCB dengan Ferric Choride (FeCl3).
7. Bersihkan PCB lalu bor letak kaki komponen.
8. Pasang komponen pada PCB.
9. Lakukan pengujian rangkaian.
10. Pasang rangkaian pada box yang telah dibuat.

b. Pembuatan Box
Langkah pembuatan box :
1. Buat skema box.
2. Siapkan plat alumunium.
3. Ukur plat sesuai skema box yang telah dibuat.
4. Potong plat sesuai kebutuhan.
5. Lipat plat sesuai skema box.
6. Memasang rangkaian elektronik ke dalam box sehingga menjadi gambar

2. Perancangan Software
Pemrograman mikrokontroler yang digunakan untuk mengontrol ADC dan
pengolahan data tertimbang menggunakan pemrograman bahasa C dengan CV
AVR.

5
Flowchart program:

Gambar6. Flowchart timbangan digital

Source code dituliskan dibawah ini :


#include <mega16.h>
#include <delay.h>
#include <alcd.h>

#include <stdio.h>
#define ADC_VREF_TYPE 0x00 //deklarasi ADC

#define P5 PINC.5 //deklarasi PINC 5 sebagai P5


#define P6 PINC.6
#define P7 PINC.7

eeprom unsigned char batas,batas1; //pengatur nilai eeprom, batas sebagai


pengatur nilai bulat, batas1 sebagai pengatur nilai desimal
int adc_in; //deklrasi variabel adc_in bertipe integer
float nilai; //deklrasi variabel nilai bertipe float
char_buff[33]; //deklarasi variabel buff untuk penyalaan LCD

unsigned int read_adc(unsigned char adc_input)


{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);

6
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

//global variabel
void main(void)
{
unsigned char a=0,b=0,c; //membuat variabel a, b diisi dengan 0, dan
membuat variabel c
float set; //membuat variabel set bertipe float
PORTA=0x00; //port A sebagai input dari ADC dan aktif saat
1
DDRA=0x00;

PORTB=0x00;
DDRB=0x00;

PORTC=0xFF; //PORT C sebagai input dan aktif saat 0


DDRC=0x00;

TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;

7
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization

ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=0x00;

// USART initialization

UCSRB=0x00;

// Analog Comparator initialization


ACSR=0x80;
SFIOR=0x00;

// ADC initialization
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;

// SPI initialization

8
SPCR=0x00;

// TWI initialization
TWCR=0x00;

// Alphanumeric LCD initialization


// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTB Bit 6
// RD - PORTB Bit 5
// EN - PORTB Bit 4
// D4 - PORTB Bit 3
// D5 - PORTB Bit 2
// D6 - PORTB Bit 1
// D7 - PORTB Bit 0
// Characters/line: 16
lcd_init(16); //deklarasi menggunakan lcd 16x2

lcd_clear();
lcd_putsf(" Selamat datang ");
delay_ms(2000);
lcd_gotoxy(0,0);
lcd_putsf(" Hashemi Group ");
delay_ms(2000);

//Mengambil data batas maksimal dari eeprom


set=batas; //nilai batas dimasukkan ke variabel set(untuk
pengaturan bilangan bulat setingan
set=set+(float)batas1/100; //mengatur angka desimal, nilai batas 1
dibagi 100 dan dijadikan float untuk bilangan desimal

while (1)

9
{
/*******************************************************
**************** PENGOLAHAN DATA ADC ******************
*******************************************************/

adc_in = read_adc(0); //Membaca data ADC yang didapat dari pin


ADC0 dimasukkan pada variabel adc_in
nilai = (float)adc_in*3/1024; //Hasil pembacaan diolah menggunakan
float dengan nilai maksimal=3 kg dan dimasukkan pada variabel nilai
lcd_gotoxy(0,0); //Penempatan posisi karakter pada LCD untuk
karakter nilai pengukuran

lcd_putsf("Berat : ");
lcd_puts(buff); //Menampilkan data pada layar LCD

lcd_gotoxy(0,1); //penempatan layar lcd untuk seting


berat
sprintf(buff,"Set : %0.2f kg ",set); //setting menggunakan satuan
kilogram dengan dua angka dibelakang koma
lcd_puts(buff);
delay_ms(300);

/*******************************************************
*************** KONVERSI SATUAN BERAT *****************
*******************************************************/

if(!P5){a++;if(a>2){a=0;}delay_ms(100);} //Tombol konversi ditekan,


maka nilai var a bertambah, saat a>2 maka kembali ke 0

if(a==0) //saat ditekan 1 kali, nilai buff diambil dari


konversi kilogram

10
{ //nilai ini akan dikirimkan pada buff di blok
ADC sebagai penampil pengukuran nilai berat
sprintf(buff,"%0.2f kg ",nilai);
}

if(a==1)
{
nilai=(float)nilai*10; //dikali 10 untu konversi ons
sprintf(buff,"%2.1f ons ",nilai);
}

if(a==2)
{
nilai=(float)nilai*1000; //dikalo 100 untuk konversi gramG
sprintf(buff,"%4.0f gr ",nilai);
}

/*******************************************************
*************** PENGATURAN BERAT MAKSIMAL *************
*******************************************************/

if(!P6) //Program akan bekerja saat tombol Setting


atau tombol P6 ditekan
{
b++; //variabel b terus bertambah dengan 1 saat
ditekan
if(b>2) //saat nilai b lebih dar 2 maka
{
batas=set; //untuk angka didepan koma: nilai set pada
setingan dimasukkan pada var batas

11
c=set*100; //untuk angka dibelakang koma: nilai set
terlebih dulu dikalikan 100 agar dapat terbaca karena nilai awalnya masih char
dan desimal
c=c%100; //c mod 100 digunakan untuk mengambil 2
digit terakhir
batas1=c; //memasukkan nilai c pada variabel batas1
b=0; //mengembalikan nilai b ke 0
}
delay_ms(200);
}

if(b==1) //saat tombol P6 ditekan dan b ditekan 1 kali


{ //digunakan untuk mengatur setingan bilangan
depan koma
lcd_gotoxy(8,1); //penempatan posisi lcd
lcd_putsf(" ");
delay_ms(100);
if(!P7) {delay_ms(100);set=set+1;if(set>3){set=0;}} //saat tombol P7
ditekan, nilai set ditambahkan 1, sampai set>3 maka kembali menjadi 1
}

if(b==2) //saat tombol P6 ditekan dan b ditekan 2 kali


{ //digunakan untuk mengatur setingan bilangan
belakang koma
lcd_gotoxy(9,1);
lcd_putsf(". ");
delay_ms(100);
if(!P7){delay_ms(100);set=set+0.01;if(set>3){set=0;}} //saat tombol P7
ditekan, nilai set ditambahkan 0.01, sampai set>3 maka kembali menjadi 1
}

//Saat beben melebihi maksimal

12
while(nilai>set) //Untuk nilai pengukuran lebih besar dari nilai
setingan
{ //Pembacaan data ADC digunakan agar selama
nilai>set maka pemberitahuan akan tetap ada
adc_in = read_adc(0); //Membaca data ADC yang didapat dari pin
ADC0 dimasukkan pada variabel adc_in
nilai = (float)adc_in*3/1024;
lcd_gotoxy(0,0);
lcd_putsf("Beban melampaui batas ");
}
}
}

Program diatas didownload ke mikrokontroler ATMEGA16 menggunakan


software Khazama.

13
BAB III
A. PENGUJIAN ALAT
Langkah pengujian :
1. Pastikan rangkaian sudah sesuai dengan desain yang telah dibuat.
2. Hubungkan rangkaian sistem minimum dengan sensor, downloader dan
LCD.
3. Uji dengan menghubungkan downloader dengan komputer.
4. Download program dengan Kazama.
5. Melakukan pengujian alat dengan meletakkan beban ke wadah timbangan,
hasil pengukuran akan ditampilkan pada layar LCD.

B. ANALISIS PENGUJIAN
Dari hasil pengujian dengan memeberikan berat yang berbeda pada timbanagn
dibandingkan dengan pengukuran timbangan pabrikan didapat hasil sebagai
berikut :
Tabel1. Hasil pengujian timbangan digital menggunakan ATMEGA 16
No. BERAT BARANG HASIL PENIMBANGAN
1. Kursi 1.8 kg 1.86 Kg
2. Box 689 Gram 420 Gram
3. Laptop 3 Kg 3.4 Kg

Dalam membuat rangkaian timbangan dengan menggunakan load cell sebagai


sensor untuk mendapatkan nilai pengukuran yang akurat belum maksimal karena
pergeseran nilai resistansi terlalu besar sehingga belum menghasilkan nilai berat
yang akurat.
Namun timbangan yang telah dibuat mempunyai range ukur yang dapat dipindah-
pindah ke dalam berbagai nilai pengukuran, mulai dari kg (Kilogram), gr (gram)
dan Ons. Dari hal tersebut penguna akan dengan mudah mengunakan timbangan
untuk pembacaan nilai ukur terhadap benda.

14
BAB IV
KESIMPULAN
Dari pembuatan proyek Timbangan buah menggunakan ATMEGA16 dapat
diambil kesimpulan diantaranya:
1. Timbangan digital berbasis ATMega16 menggubah nilai resistansi dalam load
cell kedalam nilai tegangan yang selanjutkan akan diubah ke dalam digital dan
ditampilkan kedalam LCD.
2. Timbangan ini mengunakan load cell sebagai sensor berat.
3. Timbangan digital ini memiliki range antara 0-3kg dan lebih peka terhadap
nilai berat yang lebih besar melebihi 1kg.

15
DAFTAR PUSTAKA
.Akses LCD 16x2. 2008. (Online), (http://www.elkaubisa.blogspot.com
/2008/10/seiko-instrument-m1632-lcd-module.html), diakses 10 pebruari
2011.
______.Aksestimbangan.2011.(Online),(http://www.wikipedia.org/wiki/timbanga
n) diakses 11 pebruari 2011.
______. Akses Load Cell. 2011. (Online),
(https://www.docs.google.com/viewer?a=v&pid=
explorer&chrome=true&srcid=0BzkNNhuEnaFODkwOWUxZTYtMjQzZi0
0MTkyLWFiZjktNTlhZDQxNjUxOTRl&hl=en&pli=1) diakses 4 pebruari
2011.
Andrianto, Heri.2008. Pemrograman Mikrokontroler AVR ATMEGA 16.
Bandung: Penerbit Informatika.
Arifin, Zaenal. 2011. Makalah Seminar Tugas Akhir Model Timbangan Digital
Menggunakan Load Cell Berbasis Mikrokontroler AT89S51, (Online),
(http//www.peprints.undip.ac.id), diakses 8 pebruari 2011.
Atmel Corporation. 2008. Data Sheet Atmega16. (Online) (http//www.datasheet
catalog.orgdatasheetsrestul219541_DS.pdf), diakses 10 pebruari 2011.
Instrument elektroics, 2005. Data Sheet keypad (Online) (http://www.innovative
electronics.com/Keypad.pdf.), diakses 10 pebruari 2011
National Instruments.2006. Strain gauge Types. (Online), (http//www. zone.ni.co)
diakses 10 pebruari 2011.
Prasetyo, H.Muhamad. 2004. Kalibrasi Timbangan. Cilegon:Balai Diklat
Metrologi PT.Krakatau Stell.Tbk.
STMicroelectronics. 2001. Data Sheet LM324. (Online) (http//www.datasheet
catalog.orgdatasheetstmicroelectronics2156.pdf.) diakses 10 pebruari 2011
Sugriwan, Iwan, Melania Suweni Muntini, & Yono Hadi Pramono 2010. Desain
Dan Karakterisasi Load Cell Tipe Czl601 Sebagai Sensor Massa Untuk
Mengukur Derajat Layu PadaPengolahan Teh Hitam. (Online),
(http//www.digilib.its.ac), diakses 8 maret 2011.
Web-Tech. 2010. Pedoman Pengaplikasian Strain Gauge Load Cell. Australia:
Web-Tech Australia Pty.Ltd.

16

Вам также может понравиться