Sunday, October 7, 2012

Membuat Detektor Gas LPG Dengan ATMega16 dan Bascom AVR






                   Alat detektor gas LPG ini mendeteksi adanya kadar gas propana dan butana diudara, kadar minimal yang bisa dideteksi oleh alat ini adalah 500ppm, sehingga jika kadar gas diudara kurang dari 500ppm maka alat ini tidak bisa mendeteksi adanya gas propana dan butana diudara, ini didapat dari range sensor TGS2610 yaitu 500ppm -10.000ppm. kadar ppm yang maksimal dan valid untuk alat ini hanyalah sampai 10.000ppm, selebihnya dapat dikatakan kurang valid.  
                   Alat ini menggunakan sebuah buzzer, 8 buah led sebagai indikator akan adanya bahaya atau tidaknya suatu ruangan / dapur, buzzer akan berbunyi jika keadaan didalam ruanagan pada kadar lebih dari 10% atau lebih dari 100.000ppm, tepatnya yaitu jika sensor TGS2610 telah mengeluarkan tegangan output sebesar 4,45 volt. 

Terdapat 8 buah led yang bervariasi warnanya, ada 2 warna putih, 2 warna biru, 2 warna hijau dan 2 warna merah. Tiap-tiap led mewakili suatu keadaan yang berbeda, jika led putih akan menyala saat proses heater pada 90 detik yang pertama, kemudian led warna biru menyala pada heater 90 detik kedua. Led merah menyala pada saat kondisi berbahaya yaitu tegangan output dari sensor TGS2610 lebih dari atau sama dengan 4,45 volt, sebaliknya led hijau menyala pada kondisi aman yaitu tegangan output sensor kurang dari 4,45 volt.
                   Mengapa parameter yang dipakai adalah 4,45volt? Karena angka ini berasal dari detektor gas LPG yang berada di pasaran yang menggunakan MQ5 sebagai sensor gas LPG. Buzzer dan led merah pada alat detektor gas LPG dipasaran akan berbunyi saat tegangan output dari sensor MQ5 lebih dari atau sama dengan 4,45 volt, itulah mengapa menggunakan parameter ini untuk tidak berbeda dengan yang terdapat dipasaran berikut adalah tabel hasil penelitian alat yang menggunakan TGS2610 dengan MQ5.

Tabel 5.1 Tabel Pengujian TGS2610 dengan MQ5
Faktor
TGS2610
MQ5
Waktu Tenggang Heater
179 detik
176 detik
Tegangan Bahaya
> = 4,45 volt
> = 4,45 volt
Tegangan Aman
< 4,45 volt
< 4,45 volt
Tegangan Minimal
0,08 volt
0,05 volt
Tegangan Maksimal
4,96 volt
4,51 volt
                  
                   Data itu yang dipakai sebagai acuan dalam pembuatan alat ini yang mana parameter tegangan aman dan tegangan bahaya telah didapat melalui hasil pengukuran tegangan output pada MQ5 dengan menggunakan multimeter digital.
            Skema kerja alat ini yaitu sensor membaca kadar gas LPG yang terdapat diudara, kemudian mengeluarkan tegangan output yang diterima oleh mikrokontroler ATMega16 melalui port ADC-nya, setelah data diterima oleh mikrokontroler, data tersebut diolah menjadi tegangan output dan nilai dalam ppm. Mikrokontroler akan mengaktifkan rangkaian buzzer jika tegangan output yang terdeteksi yaitu >= 4,45 volt, selain itu rangkaian buzzer ini akan padam, begitu pula dengan rangkaian led, led merah menandakan tegangan output sensor >=4,45, dan led hijau menandakan tegangan output sensor < 4,45 v. 



'------------------
'Alat Ukur Gas LPG
'by yanuar mukhammad
'------------------
$regfile = "m16def.dat"
$crystal = 12000000
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2
Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
'------------------------ Konfigurasi
Ddrb.0 = 1        ‘portB.0 sebagai output
Ddrd = &B11111111 ‘ portD sebagai output
'------------------------ Type
Dim Gas_ref As Word
Dim Gas As Single
Dim Lpg As String * 5
Dim Vol As String * 5
Dim Tegangan As Single
Dim Teganganx As Single
Dim A As Single
Dim Vo As Single
Dim X As Single
Dim Y As Single
Dim Rs As Single
Dim D As Single
Dim E As Single
Dim Ppm As Single
Dim Ro As Single
'------------------------
Deflcdchar 0 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31
Deflcdchar 1 , 31 , 17 , 17 , 17 , 17 , 17 , 17 , 31
Cls
Cursor Off
Start Adc
'------------------------
 Upperline
  Lcd "Detektor Gas Lpg"
  Portd = &B11111100  ‘led putih aktif
  Wait 90
  Cls

  Upperline
  Lcd "Range Detektor "
  Lowerline
  Lcd "500 - 10,000 ppm"
  Portd = &B11001111  ‘led biru aktif
  Wait 90
  Cls

Do
  Gas_ref = Getadc(0)   'Nilai tegangan ADC dr out sensor
  Gas = Gas_ref
  Ro = 633750           'kadar Rs dalam udara bersih (ADC minimal)

  Teganganx = Gas_ref / 1023
  Tegangan = Teganganx * 5.15   ‘untuk nilai menampilkan tegangan

X = 5.15 - Tegangan
Y = X / Tegangan
Rs = Y * 10000   ‘untuk menemukan nilai Rs

D = Rs / Ro
E = 112.1 / D       'dari grafik excel ditemukan 112,1x^-0,68
Ppm = E ^ 1.58      '1/0.63
  Vol = Fusing(tegangan , "#.##")
  Locate 1 , 1
   Lcd "(Vol)="
  Locate 1 , 8
   Lcd Vol
  Locate 2 , 1
   Lcd Chr(0)
  Locate 2 , 2
   Lcd "(PPM)=" ; Fusing(ppm , "#.##")

   If Tegangan < 4.45 Then
   Portd = &B11110011  ‘led hijau aktif
   Portb.0 = 0
   End If
   If Tegangan >= 4.45 Then
   Portd = &B00111111  ‘led merah aktif
   Portb.0 = 1         ‘buzzer aktif
   End If

Loop
'------------------------ end


No comments:

Post a Comment