• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
9
0
0

Teks penuh

(1)

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.

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.

(2)

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.

F.

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.

(3)

G.

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

dibawah ini :

Gambar5. Rangkaian elektronik dan mekanik yang telah dipasang pada blok

2.

Perancangan Software

Pemrograman mikrokontroler yang digunakan untuk mengontrol ADC dan

pengolahan data tertimbang menggunakan pemrograman bahasa C dengan CV

AVR.

(4)

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);

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;

(5)

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; 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 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

(6)

// 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) {

/*******************************************************

**************** 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 { //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);

}

(7)

{

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

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

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 "); }

} }

(8)

Program diatas didownload ke mikrokontroler ATMEGA16 menggunakan

software Khazama.

H.

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.

I.

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.

J.

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.

(9)

.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/timbangan)

diakses 11 pebruari 2011.

______. Akses Load Cell. 2011. (Online), (https://www.docs.google.com/viewer?a=v&pid=

explorer&chrome=true&srcid=0BzkNNhuEnaFODkwOWUxZTYtMjQzZi00MTkyLWFiZjktNTlhZ DQxNjUxOTRl&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.

Tech. 2010. Pedoman Pengaplikasian Strain Gauge Load Cell. Australia:

Web-Tech Australia Pty.Ltd.

Wibawanto,Slamet.2007. Hand

Out Elektronika

Industri

Tek321.

Malang:Jurusan Tenik Elektro Universitas Negeri Malang.

Referensi

Dokumen terkait

Dalam situs Computer science Lab pada artikel Ilustrasi sejarah komputer menyebutkan bahwa istilah komputer dikaitkan dengan sebuah profesi

Perusahaan akan melakukan penetapan harga pada suatu titik yang tinggi atau yang rendah, tergantung dari tujuan penetapan harga itu sendiri.. Hal yang sama juga dikemukakan

Pada tahun 2000, hutan alam di Kalimantan Timur mempunyai luas total 10.845.190 hektar dengan kondisi yang rusak akibat bekas tebangan, dipakai sebagai areal pertanian, dan

sisa perkembangan ductus mesonephros yang disebut appendix epididymis. Genitalia interna, yang terdiri atas : uterus, tuba uterina, dan ovarium. Genitalia externa, yang terdiri atas

Tahapan mendesain perangkat keras sistem ada dua: pertama desain rangkaian elektronika yang terdiri dari beberapa blok rangkaian, seperti rangkaian motor DC, sensor