Ohmmeter Digital Berbasis Microcontroller
OHMMETER DIGITAL BERBASIS MICROCONTROLLER
DISUSUN OLEH : ZULVA TRI DIANTI (7308.030.055) ZENDY KURNIA WIDARTO (7308.030.056)
DOSEN : EPYK SUNARNO, SST,MT
JURUSAN TEKNIK ELEKTRO INDUSTRI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER 2010
-1-
Ohmmeter Digital Berbasis Microcontroller
I.
ABSTRAK Ohmmeter Digital merupakan suatu alat yang digunakan untuk mengukur suatu tahanan atau hambatan. Dalam makalah ini, kami mencoba menjelaskan dan membuat suatu rangkaian ohmmeter digital yang sederhana dengan menggunakan mikrokontroller ATMega 8. Dengan alat ini kita bisa mengukur tahanan dari suatu hambatan. Tetapi hambatan yang bisa terdeteksi pada alat kami yang sederhana ini adalah hambatan antara 1KΩ sampai 10KΩ. Diluar range tersebut alat ini tidak dapat mendeteksi secara sempurna. Tetapi paling tidak alat sederhana ini dapat membantu dalam melakukan suatu pengukuran resistor yang resistansinya tidak terlalu besar dan tidak terlalu kecil.
II.
PRINSIP KERJA Prinsip kerja dari Ohmmeter Digital berbasis mikrokontroller ini sebenarnya sama dengan ohmmeter digital pada umumnya, yaitu pada saat akan mengukur sebuah resistor (misalnya resistor jenis karbon) maka pada kedua ujung dari resistor ini dihubungkan pada kutub positif dan negatif dari ohmmeter digital dengan menggunakan probe. Begitu juga dengan ohmmeter digital berbasis mikrokontroller ini, pada saat kita mengukur resistor dengan hambatan misalnya 1 KΩ maka pada layar LCD alat ini akan terbaca 1KΩ juga. Tetapi alat ini mempunyai batas minimal dan maksimal yaitu batas resistor yang dapat terbaca sebesar 1KΩ sampai dengan 10KΩ, diatas atau dibawah range tersebut alat ini tidak bisa membacanya, kalaupun bisa tidak akurat. Pada alat ini terdapat 1 buah push button untuk mereset agar nilai pada LCD kembali menunjuk angka 0 lagi. Pada alat ini kami menggunakan downloader ATMega 8 untuk menghubungkannya ke program AVR pada komputer. Downloader ini juga sebagai power supply alat ini.
-2-
Ohmmeter Digital Berbasis Microcontroller
III.
DASAR TEORI Ohmmeter merupakan suatu alat yang digunakan untuk mengukur resistansi dari suatu resistor yang mana apabila kita mengetahui resistansi dari suatu resistor tersebut maka kita dapat menggunakannya sebagai salah satu komponen untuk merangkai suatu rangkaian yang R nya sudah ditentukan. Tanpa kita mengetahui nilai R pada suatu resistor maka kita tidak dapat menggunakannya untuk merangkai suatu rangkaian karena dapat mempengaruhi cara kerjadari komponen-komponen lain pada rangkaian tersebut. Apabila ternyata R terlalu besar dari apa yang dikehendaki rangkaian maka rangkaian tersebut tidak akan jalan atau tidak bisa dipakai, sebaliknya apabila terlalu kecil R yang dipakai maka rangkaian juga akan rusak karena tidak ada keseimbangan antara R dengan komponen komponen yang lain. Kesimpulan yang diperoleh adalah apabila tidak mengetahui harga R yang akan kita gunakan untuk merangkai suatu rangkaian maka kita tidak dapat menggunakan rangkaian tersebut. Maka dari itu Ohmmeter sangat diperlukan dalam suatu Pengukuran Listrik, dengan ohmmeter kita dapat mengetahui resistansi dari suatu resistor yang akan kita gunakan. Ohmmeter mempunyai batas (range) yang telah ditentukan. Bataws (range) merupakan batas yang dapat digunakan untuk mendeteksi atau membaca resistansi resistor. Apabila R terlalu kecil atau terlalu besar (diluar dari range yang telah ditentukan) maka ohmmeter tidak dapat membacanya dengan baik (kurang akurat). Setiap Ohmmeter mempunyai batas range yang berbeda-beda. Ohmmeter digital merupakan suatu ohmmeter pada umumnya (ohmmeter analog) yang mana pemakaiannya lebih memudahkan si pemakai karena pada ohmmeter digital resistansi dari suatu resistor dapat langsung terbaca dengan cara menghubungkan kedua kutubnya pada probe ohmmeter digital. Tidak seperti ohmmeter analog yang pembacaannya melalui rumus : 𝑅=
𝑛𝑖𝑙𝑎𝑖 𝑝𝑎𝑑𝑎 𝑗𝑎𝑟𝑢𝑚 𝑦𝑎𝑛𝑔 𝑑𝑖𝑡𝑢𝑛𝑗𝑢𝑘 𝑠𝑘𝑎𝑙𝑎 𝑝𝑒𝑛𝑢 ℎ
-3-
𝑥 𝑟𝑎𝑛𝑔𝑒 𝑦𝑎𝑛𝑔 𝑑𝑖𝑔𝑢𝑛𝑎𝑘𝑎𝑛
Ohmmeter Digital Berbasis Microcontroller
IV.
KOMPONEN Komponen dari Ohmmeter Digital adalah sebagai berikut : 1. IC ATMega 8 + socket 1 2. Xtal 11,0592 1 3. Capasitor 33 pf 2 4. Resistor 10 KΩ ¼ W 1 5. Resistor 1 KΩ 2 6. LED 3 mm 1 7. IC 7805 1 8. Conector 2 pin putih 3 9. LCD 8 x 2 1 10. DB 25 male + socket 1 11. Kabel Pelangi 1 meter 12. Kabel Jumper 1 meter 13. Conector putih 6 pin 1 14. PCB kosongan 1 15. Diode Zener 5 V 1 16. Kapasitor 16 V 470 M 1 17. Push Button 1 18. Header 1 pin 1 19. VR 10 K 1
-4-
Ohmmeter Digital Berbasis Microcontroller
V.
BLOG DIAGRAM SYSTEM
-5-
Ohmmeter Digital Berbasis Microcontroller
VI.
FLOWCHART Berikut ini adalah flowchart dari ohmmeter digital START
read_adc
d=bx0,0196078
e=d/5-d
cetak “e”
end
-6-
Ohmmeter Digital Berbasis Microcontroller
VII.
PROGRAM AVR Berikut ini merupakan program sederhana dari Ohmmeter Digital #include <mega8.h> #include <stdio.h> #include <delay.h>
// Alphanumeric LCD Module functions #asm .equ __lcd_port=0x12 ;PORTD #endasm #include
#include <delay.h> #define ADC_VREF_TYPE 0x60 // Read the 8 most significant bits // of the AD conversion result unsigned char read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCH; } // Declare your global variables here void H2BCD(int bilangan) { int ratusan,puluhan,satuan; ratusan= bilangan/100; // misal bilangan=231 // 231/100= 2 puluhan = (bilangan - (ratusan*100))/10; // (231-(2*100))/10 // (231-200)/10 = 31/10 = 3 satuan = bilangan - (puluhan*10) - (ratusan*100); lcd_putchar(ratusan+0x30); lcd_putchar(puluhan+0x30); lcd_putchar(satuan+0x30); } void main(void) { char lcd_buffer[33];
-7-
Ohmmeter Digital Berbasis Microcontroller float Rin; unsigned int temp; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; //lcd PORTD=0x00; DDRD=0xff; // ADC initialization // ADC Clock frequency: 691,200 kHz // ADC Voltage Reference: AVCC pin // Only the 8 most significant bits of // the AD conversion result are used ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84; // LCD module initialization lcd_init(8); lcd_gotoxy (0,0); lcd_putsf ("WELCOME"); lcd_gotoxy (2,1); lcd_putsf ("TO"); delay_ms(1000); lcd_clear(); lcd_gotoxy (0,0); lcd_putsf ("OUR"); lcd_gotoxy (0,1); lcd_putsf ("PROJECT"); delay_ms(1000); lcd_clear(); lcd_gotoxy (0,0); lcd_putsf ("DIGITAL"); lcd_gotoxy (0,1); lcd_putsf ("OHMMETER"); delay_ms(1000); lcd_clear(); lcd_gotoxy (0,0); lcd_putsf ("b"); delay_ms(300); lcd_clear(); lcd_gotoxy (1,0); lcd_putsf ("y"); delay_ms(300); lcd_clear();
-8-
Ohmmeter Digital Berbasis Microcontroller lcd_gotoxy (0,1); lcd_putsf ("2"); delay_ms(300); lcd_clear(); lcd_gotoxy (1,1); lcd_putsf ("D"); delay_ms(300); lcd_clear(); lcd_gotoxy (2,1); lcd_putsf ("3"); delay_ms(300); lcd_clear(); lcd_gotoxy (3,1); lcd_putsf ("E"); delay_ms(300); lcd_clear(); lcd_gotoxy (4,1); lcd_putsf ("L"); delay_ms(300); lcd_clear(); lcd_gotoxy (5,1); lcd_putsf ("I"); delay_ms(300); lcd_clear(); lcd_gotoxy (6,1); lcd_putsf ("N"); delay_ms(300); lcd_clear(); lcd_gotoxy (7,1); lcd_putsf ("B"); delay_ms(300); lcd_clear();
lcd_gotoxy (0,0); lcd_putsf ("by"); lcd_gotoxy (0,1); lcd_putsf ("2D3ELINB "); delay_ms(2000); lcd_clear(); lcd_gotoxy (0,0); lcd_putsf ("ZULVA TD"); lcd_gotoxy (0,1); lcd_putsf ("ZENDY KW"); delay_ms(2000); lcd_clear(); lcd_gotoxy (0,0); lcd_putsf ("READY"); lcd_gotoxy (0,1); lcd_putsf ("TO READ");
-9-
Ohmmeter Digital Berbasis Microcontroller delay_ms(1000); lcd_clear();
while (1) { lcd_gotoxy (0,0); lcd_putsf ("Ohmmeter"); lcd_gotoxy (0,1); lcd_putsf ("R:"); lcd_gotoxy(3,1); b=read_adc(0); d=b*0.0196078; e=((d)/(5-d)); sprintf(lcd_buffer,"%.2f",e); lcd_puts(lcd_buffer); lcd_gotoxy(7,1); lcd_putsf (" k"); lcd_clear(); }; }
-10-