23
BAB III DESAIN DAN PEMBUATAN
3. 1
Prinsip Kerja dan Perencanaan Perancangan dan pembuatan perangkat keras mencakup pembuatan
rancangan layout, penempatan komponen elektronika didalam sirkuit PCB sampai pada tahap penyolderan komponen. Sebelum pada tahapan pembuatan alat, penulis merasa perlu menampilkan desain alat pendeteksi gas alkohol seperti gambar dibawah ini.
Gambar 3. 1 Rancangan aplikasi Pada prinsipnya, alat ini bekerja dengan memanfaatkan output sensor sebagai media oleh mikrokontroler dalam mengambil keputusan untuk mengindikasikan apakah terkandung gas alkohol diudara sekitar. Output sensor TGS 2620 berupa tegangan analog kemudian dikonversi menjadi digital oleh ADC (Analog to Digital Converter) internal yang sudah terintegrasi didalam mikrokontroler dengan lebar data 10 bit. Jika kadar alkohol diudara meningkat, tahanan sensor akan berkurang sehingga tegangan yang mengalir didalam rangkaian semakin besar, perubahan tegangan ini dibaca oleh mikrokontroler kemudian diproses dan hasilnya ditampilkan sebagai indikator alkohol pada LCD. Disamping menggunakan LCD untuk memudahkan pengamatan ketika pengujian, penulis menambahkan buzzer sebagai indikator bahwa sensor telah mendeteksi gas etanol dalam jumlah tertentu yang dianggap mewakili gas alkohol.
24
3. 2
Menentukan Komponen Elektronika Sebelum melakukan desain layout PCB, kita harus mengetahui terlebih
dahulu komponen-komponen yang akan digunakan dan memastikan komponen tersebut sudah tersedia. Jika komponen-komponen sudah lengkap, langkah selanjutnya adalah memastikan komponen tersebut dalam keadaan baik dan layak untuk digunakan. Baik atau tidaknya sebuah komponen elektronika dapat diuji menggunakan berbagai macam cara, misalnya menggunakan multimeter yang dapat menguji kelayakan sebuah resistor. Komponen yang dibutuhkan dalam pembuatan alat pendeteksi alkohol sebagai berikut. Tabel 3. 1 Komponen elekronika No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 16 17 18 19 20 21 22
Nama Komponen Sensor Figaro TGS2620 Mikrokontroler ATmega8535 Socket IC 40 Pin Kristal 12.000 MHz LCD M1632 Blue Led 1/4 Watt Kapasitor 30 pF Kapasitor 47 uF/ 16 Volt Kapasitor 2200 uF/ 25 Volt Regulator AN7805 Transistor TIP31 Resistor 330 Ω Resistor 560 Ω Buzzer Mini Trimpot 10 KΩ Dioda Silikon 1 Ampere PCB Plos [Fiber] Kabel Jumper Black Housing 1 Baris Spiser Pendek Header 2 Pin Battery 9 Volt Switch Omron 4 Pin
Jumlah 1 Buah 1 Buah 1 Buah 1 Buah 1 Buah 1 Buah 2 Buah 1 Buah 1 Buah 1 Buah 1 Buah 1 Buah 1 Buah 1 Buah 1 Buah 1 Buah 10 cm x 20 cm 1/4 Meter 16 Pin 4 Buah 1 Buah 1 Buah 1 Buah
25
Peralatan dan perkakas berperan penting dalam pembuatan alat pendeteksi alkohol ini. Beberapa peralatan yang dibutuhkan sebagai berikut. Table 3. 2 Perkakas dan peralatan No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3. 3
Nama Peralatan Solder Standar Timah Solder Bor PCB Standart Bubuk FeCl3 Wadah Plastik Amplas Setrika Mata Bor PCB 0,8 mm Mata Bor PCB 1,0 mm Gergaji Besi Spidol Permanent Tipe F Obeng + DT-HIQ AVR Atmega8535 Penggaris
Banyak 1 Buah 2 Meter 1 Buah 1 Bungkus 1 Buah Secukupnya 1 Buah 1 Buah 1 Buah 1 Buah 1 Buah 1 Set 1 Set 1 Buah
Pembuatan Layout Elektronika Sebelum membuat rangkaian alat pendeteksi alkohol, terlebih dahulu
harus diketahui skema rangkaian elektronikanya. Rangkaian skema atau dikenal juga dengan rangkaian skematik adalah rangkaian elektronika yang dijadikan acuan dalam pembuatan desain layout elektronika pada PCB (Printed Circuit Board). Ketika membuat desain layout elektronika, skema rangkaian ini harus kita perhatikan sebaik-baiknya dan jangan sampai terjadi kesalahan. Kesalahan dalam membaca skema rangkaian dapat menyebabkan rangkaian tidak dapat berjalan sebagaimana mestinya. Oleh karena itu, penulis menekankan layout pada rangkaian PCB harus sesuai dengan rangkaian skema.
26
TGS 2620
Mikrokontroler ATmega8535
Buzzer
LCD M1632
Power Supply 9 Volt
Gambar 3. 2 Digram Instalasi
Gambar 3. 3 Rangkain skematik Jalur-jalur rangkaian pada skema rangkaian diatas tampak seperti saling terhubung, misalnya jalur yang menghubungkan antara port C mikrokontroler
27
dengan LCD, sebenarnya jalur tersebut terpisah. Terhubung atau tidak terhubungnya suatu jalur pada rangkaian ini ditandai dengan titik pada salah satu percabangan instalasi. Jika pada percabangan instalasi terdapat titik, jalur tersebut terhubung dan jika tidak ada titik, jalur tersebut tidak terhubung. Dengan kata lain jalur antara port C dan LCD tidak terhubung karena disana tidak terdapat titik yang menegaskan jalur rangkaian terhubung walaupun seolah-olah tampak terhubung. Namun jika pada jalur rangkaian terdapat titik, jalur tersebut terhubung. Rangkaian di-supply menggunakan battery 9 Volt atau menggunakan adaptor 9 Volt dengan arus sekurang-kurangnya ± 1500 mA. Jika digunakan untuk waktu yang lama, disarankan menggunakan battery yang dapat diisi ulang. Tegangan 9 Volt dari battery diturunkan menjadi 5 Volt menggunakan IC regulator AN7805 kemudian diteruskan kedalam rangkaian setelah melewati sebuah dioda. Batas tegangan maksimum komponen yang penulis gunakan pada alat ini sebagian besar 5 Volt, jika tegangan yang mengalir didalam rangkaian lebih besar dari tegangan maksimum, komponen elektronika menjadi rusak dan tidak dapat digunakan lagi. IC regulator AN7805 adalah salah satu metoda penurun tegangan paling popular pada sebuah rangkaian elektronika. Sensor akan mendeteksi gas yang mewakili alkohol seperti gas ethanol kemudian mengirimkan hasil output-nya ke port A mikrokontroler untuk diproses. Jika tegangan output sensor meningkat ketika ditiupkan gas alkohol, mikrokontroler mengaktifkan buzzer dan menampilkan pesan pada LCD bahwa telah mendeteksi alkohol. Jika sensor tidak mendeteksi gas alkohol, buzzer tidak menyala dan sebuah pesan ditampilkan kembali pada LCD bahwa tidak terdeteksi gas alkohol.
3. 4
Pencetakan Layout Elektronika Berikut ini langkah-langkah pencetakan layout elektronika pendeteksi gas
alkohol ke PCB (Printed Circuit Board) : 1. Layout elektronika yang sudah selesai dirancang menggunakan bantuan software, diprint keselembar kertas. Setelah layout dirancang, sebaiknya diperiksa kembali apakah jalur-jalur antar komponen sudah
28
terhubung dengan baik. Penulis menggunakan eagle versi 6.2.0 sebagai software desain PCB. 2. Layout rangkaian tersebut di fotocopy kedalam bentuk plastik, kemudian disablon ke PCB. Penulis menggunakan PCB single layer pada pembuatan alat ini. 3. PCB yang sudah disablon, dilarut menggunakan larutan FeCl3 untuk menghilangkan lapisan tembaga dipermukaan PCB yang tidak terpakai sehingga menyisakan jalur-jalur tembaga. 4. Rangkaian kemudian dilubangi menggunakan bor sesuai dengan dimensi kaki komponen, selanjutnya diamplas untuk membersihkan bekas sablon dipermukaan PCB. Pengamplasan juga berfungsi agar komponen elektronika menempel dengan baik ketika dilakukan penyolderan.
Gambar 3. 4 Rancangan layout PCB elektronika Pada proses perancangan layout, penempatan komponen elektronika harus ditempatkan sedemikian rupa secara manual dan pastikan tidak ada jalur elektronika yang terputus atau saling bersenggolan. Desain rangkaian selanjutnya
29
dicetak dan disablon kedalam bentuk PCB (Printed Circuit Board). Proses cetak PCB akan dijelaskan pada bab selanjutnya.
3. 5
Pemasangan Komponen Elektronika Ketika pemasangan komponen elektronika pada layout, sebaiknya
dipastikan semua komponen sudah diuji dan layak digunakan. Berikut ini langkah-langkah pemasangan komponen elektronika. 1. Layout elektronika dibersihkan menggunakan air bersih kemudian dikeringkan. Setelah rangkaian kering, komponen elektronika dapat dipasang dan disolder. 2. Komponen dipasang pada PCB sesuai dengan layout yang sudah ditentukan.
Gambar 3. 5 Pemasangan komponen elektronika 3. Komponen yang sudah terpasang selanjutnya disolder sampai komponen menempel dengan baik pada jalur-jalur tembaga PCB. 4. Pemasangan tata letak komponen harus diatur sedemikian rupa seperti pada gambar 3.6. 5. Setelah semua komponen terpasang dan disolder, rangkaian board alat pendeteksi alkohol siap untuk diprogram.
30
Gambar 3. 6 Keterangan rangkaian keseluruhan 3. 6
Pembuatan Flowchat dan Program Program pada alat pendeteksi gas alkohol didefenisikan sebagai perangkat
lunak yang berfungsi untuk menjalankan system secara keseluruhan. Program di download kedalam IC mikrokontroler yang meliputi pengambilan keputusan dari output sensor, aktifasi buzzer, sampai dengan menampilkan komentar pada LCD. Bahasa pemrograman yang digunakan adalah bahasa C menggunakan CodeVision AVR sebagai kompilator.
31
3. 6. 1 Flowchart Start
Inisialisasi Mikrokontroler Inisialisasi ADC Inisialisasi I/O Inisialisasi LCD Pembuatan Fungsi
Program Utama
Gas >= 820
Tidak
Baca ADC Ya Konversi ADC
Buzzer Aktif Komentar LCD
Buzzer Tidak Aktif Komentar LCD
Konversi Digital ke Desimal
Bersihkan LCD Delay
Bersihkan LCD Delay
Selesai
Gambar 3. 7 Flowchart program Langkah pertama dalam pembuatan program adalah merancang algoritma atau flowchart, flowchart atau disebut juga diagram alur dapat membantu memudahkan programmer dalam pembuatan program dan serta menjelaskan kepada audiens tentang isi program. Flowchart pun sangat membantu programmer lain yang ingin mengembangkan program ketingkat selanjutnya dan menganalisa program ketika terjadi kesalahan fungsi. Pembuatan program alat pendeteksi gas etanol dimulai dengan inisialisasi hardware, pembuatan fungsi, pembacaan sensor, konversi output sensor menggunakan ADC (Analog to Digital Converter), pengolahan output sensor, pengambilan keputusan, sampai menampilkan indikator pada LCD dan buzzer.
32
3. 6. 2 Kerangka Program Didalam sub-bab ini dijelaskan kerangka pembuatan bahasa C. Program dibuat menggunakan editor CodeVisionAVR kemudian dikompilasi dan didownload kedalam mikrokontroler. Bahasa C adalah salah satu bahasa pemrograman yang bersifat case sensitive, yaitu huruf capital dan huruf kecil dianggap berbeda. Dibagian awal program adalah pembuatan pengarah prosesor, pengarah LCD dan defenisi I/O. #include <mega8535.h> #include <stdio.h> #include <delay.h> #define Buzzer PORTD.6 // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x15 ;PORTC #endasm #include
Selanjutnya adalah pembuatan fungsi untuk membaca ADC. Hasil dari konversi ADC adalah bilangan digital yang dapat diamati pada LCD ketika pengujian. #define ADC_VREF_TYPE 0x40 // Read the AD conversion result unsigned int baca_adc(unsigned char adc_input) { ADMUX=adc_input|ADC_VREF_TYPE; // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; }
Dibawah pembuatan fungsi ADC, kita dapat membuat berbagai deklarasi sesuai dengan yang dibutuhkan seperti tipe data ADC, variable, dan konstanta LCD. // Declare your global variables here
33
unsigned char Baris_1[33]; float adc; unsigned int gas;
Diantara ciri khas bahasa C adalah fungsi-fungsi yang memudahkan pengerjaan program yang panjang dan rumit. Fungsi-fungsi ini cukup dituliskan satu kali dan dapat dipanggil kapan saja ketika dibutuhkan tanpa harus menuliskan program yang sama berulang-ulang. Fungsi yang dimaksud seperti potongan program dibawah ini. void lcd_putint(unsigned int dat) { sprintf(Baris_1,"%d",dat); lcd_puts(Baris_1); } void Kacau (void) {Buzzer=1; }
Output yang telah dikonversi kedalam digital dikonversi lagi kedalam bentuk desimal untuk memudahkan pengamatan ketika pengujian. Penulis menggunakan ADC 10 bit sehingga puncak maksimum sensor setelah menjadi bilangan desimal adalah 1023. Dalam keadaan tanpa alkohol, bilangan desimal yang muncul pada LCD dari rentang 160 sampai 240. Ketika sudah mendeteksi gas alkohol, nilai tersebut berubah dari rentang 400 sampai 1023. Berikut ini adalah fungsi utama alat pendeteksi gal alkohol. Didalam fungsi ini dilakukan percabangan dan pengambilan keputusan dari hasil output sensor TGS 2620. void Sensor(void) { Buzzer=0; adc=baca_adc(0); gas=adc; lcd_gotoxy(0,0); lcd_putsf("Tidak Terkandung"); lcd_gotoxy(0,1); lcd_putsf("Senyawa Alkohol"); lcd_putsf("Gas="); lcd_putint(gas);
34
delay_ms(100); lcd_clear(); if(gas>=820){ lcd_clear(); Buzzer=1; lcd_gotoxy(3,0); lcd_putsf("Terdeteksi"); lcd_gotoxy(0,1); lcd_putsf("Senyawa Alkohol"); delay_ms(3000); } }
Fungsi dibawah ini adalah fungsi utama dan pertama sekali dieksekusi oleh mikrokontroler ketika program dijalankan. Berikut ini adalah program utama tersebut. void main(void) { PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x40; TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; // Analog Comparator Input Capture by Timer/Counter 1: Off
35
ACSR=0x80; SFIOR=0x00; ADMUX=ADC_VREF_TYPE; ADCSRA=0x86; SFIOR&=0xEF; SFIOR|=0x10; // LCD module initialization lcd_init(16); lcd_gotoxy(0,0); lcd_putsf("Alcohol Detector"); lcd_gotoxy(0,1); lcd_putsf("Adbizar Asmon.R"); delay_ms(600); lcd_clear();
Instruksi dibawah ini adalah perintah untuk melakukan pengulangan terus-menerus untuk fungsi “Sensor”. while (1) { // Place your code here Sensor(); };}