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.
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 Nama Komponen Jumlah
1 Sensor Figaro TGS2620 1 Buah 2 Mikrokontroler ATmega8535 1 Buah 3 Socket IC 40 Pin 1 Buah 4 Kristal 12.000 MHz 1 Buah
5 LCD M1632 Blue 1 Buah
6 Led 1/4 Watt 1 Buah
7 Kapasitor 30 pF 2 Buah
8 Kapasitor 47 uF/ 16 Volt 1 Buah 9 Kapasitor 2200 uF/ 25 Volt 1 Buah 10 Regulator AN7805 1 Buah 11 Transistor TIP31 1 Buah
12 Resistor 330 Ω 1 Buah
13 Resistor 560 Ω 1 Buah
14 Buzzer Mini 1 Buah
15 Trimpot 10 KΩ 1 Buah
16 Dioda Silikon 1 Ampere 1 Buah 16 PCB Plos [Fiber] 10 cm x 20 cm
17 Kabel Jumper 1/4 Meter
18 Black Housing 1 Baris 16 Pin
19 Spiser Pendek 4 Buah
20 Header 2 Pin 1 Buah
21 Battery 9 Volt 1 Buah
Peralatan dan perkakas berperan penting dalam pembuatan alat pendeteksi alkohol ini. Beberapa peralatan yang dibutuhkan sebagai berikut.
Table 3. 2 Perkakas dan peralatan
No Nama Peralatan Banyak
1 Solder Standar 1 Buah
2 Timah Solder 2 Meter
3 Bor PCB Standart 1 Buah
4 Bubuk FeCl3 1 Bungkus
5 Wadah Plastik 1 Buah
6 Amplas Secukupnya
7 Setrika 1 Buah
8 Mata Bor PCB 0,8 mm 1 Buah 9 Mata Bor PCB 1,0 mm 1 Buah
10 Gergaji Besi 1 Buah
11 Spidol Permanent Tipe F 1 Buah
12 Obeng + 1 Set
13 DT-HIQ AVR Atmega8535 1 Set
14 Penggaris 1 Buah
3. 3 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.
Mikrokontroler ATmega8535
LCD M1632 Buzzer TGS 2620
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
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
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
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.
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.
3. 6. 1 Flowchart Start Inisialisasi Mikrokontroler Inisialisasi ADC Inisialisasi I/O Inisialisasi LCD Pembuatan Fungsi Konversi ADC Program Utama Konversi Digital ke Desimal Baca ADC Gas >= 820 Buzzer Aktif Komentar LCD
Buzzer Tidak Aktif Komentar LCD Ya Tidak 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.
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 <lcd.h>
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.
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);
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;
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();