Sistem Alarm Kebakaran dengan Sensor Suhu dan Asap

Berbasis Mikrokontroler AVR 8535

By: Mr. Widodo Budiharto

 

Image(02)

 

Sistem Alarm kebakaran merupakan topik yang selalu menarik untuk dicoba. Hal ini karena melibatkan mikrokontroler, sensor suhu dan Asap dan program penampil di LCD. Aplikasi ini ialah demo alarm kebakaran menggunakan Mikrokontroler AVR Atmega 8535, dimana pada chip tersebut sudah tersedia internal ADC 10 bit sebanyak 8 channel.

Perangkat yang dibutuhkan untuk percobaan aplikasi ini:

1.       Smart AVR Atmega 8535 atau sismin AVR lainnya yang sudah mendukung komunikasi serial.

2.       2 buah sensor suhu LM 35

3.       Sensor Asap /Gas AF30

4.       Multimeter digital

5.       Adaptor 12V

6.       Relay Board

7.       Buzzer dan penyemprot

 

Blok Diagram

Kita membutuhkan sensor LM35 sebagai pengukur suhu yang cukup linear dari rentang 0-100 derajat Celcius. 2 buah sensor dipasang ke PA.0 dan PA.2 sebagai demo pengukuran suhu di ruangan dalam dan luar. Sedangkan sensor kelembaban yang outputnya sudah analog bertipe 808H5V5 dengan rentang 0.8V 3.9V dihubungkan ke PA.1.. Jika Anda ingin sensor suhu yang memiliki keping pendingin, gunakan tipe LM35DT.

 

 

 

 


 

Gambar Blok diagram Digital Thermometer

Gambar susunan kaki AVR Atmega 8535/ Atmega16

 

SENSOR SUHU

LM 35 ialah sensor temperatur paling banyak digunakan untuk praktek, karena selain harganya cukup murah, linearitasnya lumayan bagus. LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan akurasi C pada temperatur ruangan dan C pada kisaran -55 to +150C. LM35 dimaksudkan untuk beroperasi pada -55 hingga +150C, sedangkan LM35C pada -40C hingga +110C, dan LM35D pada kisran 0-100C. LM35D juga tersedia pada paket 8 kaki dan paket TO-220. Sensor LM35 umunya akan naik sebesar 10mV setiap kenaikan 1C (300mV pada 30 C).

Sensor Asap AF30

Pada dasarnya prinsip kerja dari sensor tersebut adalah mendeteksi keberadaan gas-gas yang dianggap mewakili asap rokok, yaitu gas Hydrogen dan Ethanol. Sensor AF-30 mempunyai tingkat sensitifitas yang tinggi terhadap dua jenis gas tersebut. Jika sensor tersebut mendeteksi keberadaan gas-gas tersebut diudara dengan tingkat konsentrasi tertentu, maka sensor akan menganggap terdapat asap rokok di udara. Ketika sensor mendeteksi keberadaan gas-gas tersbut maka resistansi elektrik sensor akan turun seperti yang telah dibahas pada artikel lalu. Dengan memanfaatkan prinsip kerja dari sensor AF-30 ini, kandungan gas-gas tersebut dapat diukur.

 

 

 

Gambar dibawah ialah grafik tingkat sensitifitas sensor AF-30 terhadap kedua gas tersebut.

 

Gambar Prinsip pengukuran gas

 

Dari grafik pada gambar diatas dapat dilihat bahwa dengan mengukur perbandingan antara resistansi sensor pada saat terdapat gas dan resistansi sensor pada udara bersih atau tidak mengandung gas tersebut (Rgas/Rair), dapat diketahui kadar gas tersebut. Sebagai contoh jika resistansi sensor (RS) pada saat terdapat gas Hydrogen adalah 1KW dan resistansi sensor (RS) pada saat udara bersih adalah 10KW maka:

 

 

 

Dari perhitungan diatas serta menurut grafik pada gambar 1, jika Rgas/Rair=0.1 maka konsentrasi gas Hydrogen pada udara adalah sekitar 100ppm. Untuk mengetahui besarnya resistansi sensor (RS) saat udara bersih dapat dihitung menggunakan rumus:

 

Sebagai contoh jika Vout pada saat udara bersih adalah 2,8V dan RL yang digunakan adalah 10KW maka dengan rumus diatas diperoleh RS saat udara bersih (Rair) adalah 7857,14W atau 7857W. Dari hasil perhitungan diatas diperoleh RL=10KW, RS saat udara bersih (Rair)=7857W, dengan Vout saat udara bersih = 2,8V.

Dengan melihat grafik gambar 1 dan hasil perhitungan diatas, maka nilai Vout untuk tiap-tiap nilai perbandingan Rgas/Rair dapat diketahui sehingga tingkat konsentrasi dari gas tersebut juga diketahui pula. Misalnya untuk gas Hydrogen dengan tingkat konsentrasi 10ppm, dari grafik gambar 1 Rgas/Rair @ 0,29 maka

 

Rgas/Rair @ 0,29

Rair = 7857W

Rgas = Rair x (Rgas/Rair)

= 7857W x 0,29

= 2279W

 

Dari hasil perhitungan diatas diperoleh nilai Rgas pada saat konsentrasi gas Hydrogen 10ppm. Karena Rgas adalah sama dengan resistansi sensor (RS), maka berdasarkan nilai Rgas yang diperoleh tersebut, maka dari rumus mencari nilai RS, nilai Vout pada saat konsentrasi Hydrogen 10ppm dapat diperoleh:

 

Rgas = 2279W

Vc = 5V

RL = 10KW

 

2279W =

Vout = 4,072V

 

 

Jadi nilai Vout pada saat sensor mendeteksi nilai konsentrasi Hydrogen 10ppm adalah sebesar 4,072V. Dengan cara yang sama dapat diperoleh nilai-nilai Vout untuk tiap-tiap tingkat konsentrasi gas Hydrogen dan Ethanol sesuai dengan grafik gambar 1. Dari nilai-nilai Vout tersebut didapatkan tabel perubahan nilai Vout.

 

LCD 20x4

Tabel Susunan LCD 20x4

No

Nama Pin

Deskripsi

Hubungan ke Port Mikrokontroler

1

GND

0V

PD0

2

VCC

+5V

PD1

3

VEE

Tegangan kontras LCD

Keluaran Trimpot

4

RS

Register seelct,0=register perintah, 1=register data

PD6

5

R/W

1=read,0=write

Dihubungkan ke ground

6

E

Enable Clock LCD, logika 1 setiap kali pengiriman atau pembacaan data

PD7

7

D0

Data Bus 0

 

8

D1

Data Bus 1

 

9

D2

Data Bus 2

 

10

D3

Data Bus 3

 

11

D4

Data Bus 4

PC4

12

D5

Data Bus 5

PC5

13

D6

Data Bus 6

PC6

14

D7

Data Bus 7

PC7

15

Anoda (kabel coklat untuk lcd Hitachi)

Tegangan negative backlight

PC0

16

Katoda (kabel merah untuk LCD Hitachi)

Tegangan positif backlight

PC1

 

MENGGUNAKAN BASCOM AVR

Hal pertama yang harus Anda konfigurasikan pada software Anda setelah menginstal ialah :

  1. Konfigurasikan jenis programmernya yaitu STK200/300 Programmer, atau yang lebih dikenal sebagai ATMEL AVR ISP Programmer.

 

  1. Konfigurasikan library chip yang digunakan yaitu menggunakan m8535def.dat atau kalau pakai mikro ATmega16 maka m16def.dat.

 

 

  1. Setelah mengkompilasi program dengan sukses, klik button programmer, lalu klik button identify chip, baru kemudian mengklik tombol Auto Program chip.

 

 

Algoritma program :

Mulai

Deklarasi variabel

Konfigurasi ADC dan channel

DO

Baca data tiap channel

IF suhu rendah dan tidak ada asap

Matikan buzzer dan penyemprot

Tampilkan ke display LCD pesan Ruangan Aman

END IF

IF Suhu tinggi dan tidak ada asap

Matikan buzzer dan penyemprot

Tampilkan ke display LCD pesan Ruangan Panas

END IF

Jika Suhu tinggi dan ada asap

Hidupkan Buzzer dan Penyemprot

Tampilkan ke Display LCD Terjadi Kebakaran

END IF

LOOP

Selesai

 

Berikut cuplikan penerapannya menggunakan Bascom AVR

AlarmKebakaran.bas

' PROGRAM ALARM KEBAKARAN

Declare Sub Display() 'deklarasi fungsi display

Config Portb = Output 'konfigurasi port b sebagai output

'konfigurasi LCD 20x4

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portd.6 , Rs = Portd.7

Config Lcd = 20 * 4

'konfigurasi ADC

Config Adc = Single , Prescaler = Auto , Reference = Avcc 'configurasi ADC

Start Adc

Dim W As Word

Dim X As Word

Dim Perc As Word

Dim Volt As Word , Volt_d As Byte

Dim Channel As Byte , I As Byte , Cols As Byte , Cols_d As Byte

Cls 'bersihkan layar lcd

Cursor Off 'cursor mati

Locate 1 , 4 'display welcome message

Lcd "ALARM KEBAKARAN"

Locate 3 , 1

Lcd " Suhu & Sensor Asap"

Locate 4 , 1

Lcd " AVR ATmega8535"

Wait 1

Do

W = Getadc(0) 'baca Sensor suhu

Print W

X = Getadc(1) 'baca Sensor asap

Print X ' Jika suhu rendah dan asap tidak ada

If W <= 78 And X <= 300 Then

Call Display()

Locate 4 , 4

Lcd "Ruangan Aman" ' Display ruangan aman

Portb = 0 'mati semua

Waitms 600

End If

If W > 78 And X <= 300 Then 'jika suhu ruangan panas

Call Display()

Portb = 0

Locate 4 , 4

Lcd "Ruangan Panas"

Waitms 600 ' LM 35 di channel 1

End If

If W > 78 And X > 300 Then 'jika suhu panas dan banyak asap

Call Display()

Portb = 255

Locate 4 , 2

Lcd "Terjadi Kebakaran !"

Wait 2 ' LM 35 di channel

End If

Loop

End

Sub Display 'definisi fungsi display

Cls

Locate 3 , 1

.

Locate 3 , 19

Lcd Chr(223) ; "C"

Volt = W * 5

Volt_d = Volt Mod 10 'mencari pecahan

Volt = Volt / 10

Locate 1 , 1

Lcd Volt ; "," ; Volt_d

 

Cols = Volt / 2

Locate 2 , 1

For I = 1 To Cols

Select Case I

.

End Select

Next I

Cols_d = Cols Mod 2

If Cols_d > 0 Then

Lcd Chr(5)

Cols = Cols + 2

Else

Cols = Cols + 1

End If

For I = Cols To 20

Select Case I

End Select

Next I

End Sub

 

 

Miliki kit ini hanya 2.5 Juta rupiah.