Semoga Sobat masih ingat postinganku
tentang Alarm Rumah Sederhana Versi 1.
Sekarang aku akan lanjutkan membahas
soal Panel Sistem Alarm Pencurian yang sedikit lebih ruwet ketimbang sistem
alarm rumah sederhana sebelumnya tapi masih tetap sederhana, soalnya baik
pengoperasian dan perangkat kerasnya masih boleh dibilang standar. Tapi sobat
enggak usah kuatir soal kualitas dan kinerjanya. Soalnya, aku dapat informasi
dari pelangganku jika perangkat tersebut masih berfungsi meski sudah
dioperasikan kurang lebih enam tahun.
Sistem alarm rumah sederhana dengan
4 zona masukan ini dibangun menggunakan mikrokontroler AT89C2051. Memiliki 4
masukan sensor, 2 masukan home/away arm/disarm dan 1 keluaran bell.
Masukan Sensor
Sistem alarm kita kali ini memiliki
4 saluran masukan yang disebut zona untuk dihubungkan pada sensor.
Masing-masing masukan memiliki kriteria yang berbeda-beda antara lain:
- Zona 1 untuk masukan penundaan (delay zone).
Fungsi masukan ini adalah untuk memberi tundaan waktu pada saat pengguna
akan mengaktifkan sistem alarm. Pada perioda waktu tundaan, masukan ini
tidak akan merespon meskipun terpicu oleh sensor. Pada saat ARM atau
aktif, jika masukan ini terpicu akan memberi tundaan sebelum mengaktifkan
bell untuk proses DISARM.
- Zona 2 untuk masukan segera (instant zone). Pada
kondisi ARM atau aktif, masukan ini jika terpicu akan segera diproses oleh
prosesor dan langsung mengaktifkan bell.
- Zona 3 untuk masukan di luar (away zone). Masukan
ini sama dengan instant zone tetapi hanya berfungsi pada saat posisi ARM
pada AWAY. Di mana masukan ini dikhususkan untuk sensor-sensor yang ada di
dalam rumah yang perlu diaktifkan pada saat seluruh penghuni sedang berada
di luar rumah.
- Zona 4 untuk masukan 24 jam (24h zone). Masukan
selalu aktif baik pada posisi ARM maupun DISARM. Masikan ini akan
mengaktifkan bell jika terpicu oleh sensor yang terhubung kepadanya.
Aku masih menyebut sistem alarm
sederhana ini untuk rumah karena melihat keberadaan masukan zona 3. Meskipun
tidak menutup kemungkinan sistem ini dapat diimplementasikan pada kantor kecil
atau ruko dan sejenisnya.
Kali ini ke-empat masukan dari
sistem kita memiliki fasilitas end-of-line (EoL) di mana sesuai standar
keamanan maka masukan dengan fitur EoL akan terpicu jika masukan tersebut
terputus atau terhubung singkat. Untuk keperluan tersebut maka pada masukan
sensor akan dibangun menggunakan sebuah rangkaian jendela tegangan. Rangkaian
tersebut dapat dilihat berikut ini:
Sebuah rangkaian jendela tegangan
terdiri dari 2 buah komparator yang masing-masing mendeteksi batas atas
tegangan masukan yang memicu keluaran (UTP, upper trip point) dan batas bawah
tegangan pemicu (LTP, lower trip point). Komparator A adalah untuk batas atas
dan komparator B untuk batas tegangan bawah.
Tegangan referensi untuk batas atas
dan bawah ditentukan oleh pembagian tegangan yang dibentuk oleh 3 buah resistor
yang dirangkai secara seri terdiri dari R1, R2 dan R3.
Karena nilai ketiga resistor tersebut sama, maka kita tidak perlu pusing-pusing
menghitungnya. Berarti tegangan referensi batas atas pemicu adalah 2/3 dari
tegangan catu daya dan tegangan batas bawahnya 1/3 catu daya. Karena perangkat
menggunakan tegangan catu 5 volt maka UTP = 3,333 volt dan LTP = 1,667 volt.
Jadi jangkah tegangan histerisis dari masukan yang aman adalah antara 1,667
sampai 3,333 volt atau selebar 1,667 volt.
Umumnya masukan dijaga pada nilai
tegangan yang besarnya separuh dari tegangan catu. Itu berarti masukan harus
dibangun dengan resistansi yang nilainya sama dengan nilai R4. Pada kondisi ini
maka keluaran kedua komparator adalah tinggi.
Jika resistansi masukan naik, ini
juga akan menyebabkan tegangan masukan naik. Jika kenaikan tegangan melewati
batas atas atau bahkan mendekati tegangan catu jika masukan terputus atau tanpa
beban maka keluaran komparator A akan berubah menjadi rendah.
Sebaliknya jika resistansi turun
maka tegangan masukan juga turun. Jika penurunan melewati batas bawah atau
mendekati 0 volt jika masukan terhubung-singkat menyebabkan keluaran komparator
B menjadi rendah.
Perbedaan status keluaran dari
komparator A untuk batas atas tegangan da komparator B untuk batas bawah
tegangan pada beberapa sistem digunakan sebagai indikasi yang merepresentasikan
kondisi suatu masukan.
Nah sepertinya soal masukan sensor
sudah jelas. Pada sistem kita maka kedua keluaran dari komparator akan
dijadikan satu sehingga sistem hanya mengenali 2 kondisi yaitu normal dan
terpicu baik putus atau terhubung-singkat.
Masukan Home dan Away Arm
Masukan ini ditujukan untuk
membedakan aktivasi dari sistem pada 2 keadaan aktif yaitu Home Arm atau Away
Arm. Fasilitas ini berkaitan dengan masukan zona 3 yang hanya berfungsi pada
kondisi Away Arm saja.
Pada kondisi aktif Home Arm di mana
masukan zona 3 yang terhubung pada sensor yang khusus untuk bagian dalam rumah
misalkan menggunakan PIR (passive infrared) di ruang tamu, keluarga atau pintu
kamar tidak mempengaruhi sistem. Jadi pada kondisi ini penghuni bebas
berkeliaran di dalam rumah namun tetap terproteksi dari penerobosan perimeter
dari sensor-sensor yang dipasang disekeliling rumah.
Sebaliknya pada kondisi aktif Away
Arm di mana semua penghuni di anggap sedang tidak ada di rumah maka seluruh
masukan sensor diaktifkan.
Rangkaian lengkap sistem alarm
sederhana 4 masukan dapat dilihat berikut ini:
Dari rangkaian di atas, untuk
memenuhi kebutuhan 4 masukan zona membutuhkan 2 buah IC jenis LM339 yang
memiliki 4 komparator dalam kemasannya.
Untuk aplikasi program yang
dijalankan oleh mikrokontroler dapat dilihat sebagai berikut:
$mod51
Display data p1
LEDReady bit p1.0
LEDHome bit p1.1
LEDAway bit p1.2
LEDAlarm bit p1.3
PortInOut data p3
ArmHome bit p3.0
ArmAway bit p3.1
Zona1 bit p3.2
Zona2 bit p3.3
Zona3 bit p3.4
Zona4 bit p3.5
Bell bit p3.7
BitRegister data 20h
BitHome bit BitRegister.0
BitAway bit BitRegister.1
BitZona1 bit BitRegister.2
BitZona2 bit BitRegister.3
BitZona3 bit BitRegister.4
BitZona4 bit BitRegister.5
BitBell bit BitRegister.6
BitDelay bit BitRegister.7
RegStack data 30h
org 0h
AppMulai:
mov sp, #RegStack-1
acall InisialisasiTundaan
mov BitRegister, #0
mov p1, #255
mov p3, #255
CekMasukan:
jnb Zona4, ZonaTrip1
mov a, PortInOut
cpl a
mov b, a
anl a, #00101100b
jnz CekMasuk2
jnb ArmHome, AppHome
mov a, b
anl a, #00111100b
jnz CekMasuk2
clr LEDReady
jnb ArmAway, AppAway
ajmp CekMasukan
CekMasuk2:
setb LEDReady
ajmp CekMasukan
AppHome:
setb BitHome
clr LEDHome
setb BitDelay
ajmp AktivasiSistem
AppAway:
setb BitAway
AktivasiSistem:
jnb Zona4, ZonaTrip1
jnb Zona2, ZonaTrip1
jb BitHome, AktifSistem1
jnb Zona3, ZonaTrip1
AktifSistem1:
jnb BitDelay, AktifSistem2
jb BitZona1, AktivasiBell
jnb Zona1, ZonaTrip2
ajmp AktivasiSistem
AktifSistem2:
acall Tundaan
jnb BitDelay, AktivasiSistem
clr LEDAway
ajmp AktivasiSistem
ZonaTrip1:
mov a, PortInOut
anl a, #00111100b
orl a, BitRegister
mov BitRegister, a
ajmp aktivasiBell
ZonaTrip2:
setb BitZona1
clr BitDelay
ajmp AktivasiSistem
AktivasiBell:
clr Bell
clr LEDAlarm
setb LEDReady
AktifBell1:
jb BitHome, AktifBell2
jb BitAway, AktifBell4
jb ArmHome, AktifBell3
setb BitHome
AktifBell2:
jb ArmHome, ResetBell
ajmp AktifBell5
AktifBell3:
jb ArmAway, AktifBell5
setb BitAway
AktifBell4:
jb ArmAway, ResetBell
AktifBell5:
acall Tundaan
jnb BitDelay, AktifBell1
setb Bell
jb BitHome, AktivasiSistem
jb BitAway, AktivasiSistem
ajmp CekMasukan
ResetBell:
setb Bell
ajmp AppMulai
InisialisasiTundaan:
clr BitDelay
mov a, Display
cpl a
swap a
anl a, #00001111b
mov b, #5
mul ab
mov r5, a
ajmp IniTunda6
IniTunda4:
mov r4, #120
IniTunda6:
mov r6, #200
IniTunda7:
mov r7, #255
ret
Tundaan:
djnz r7, AkhirTundaan
djnz r6, IniTunda7
jb BitBell, TundaBell
djnz r5, IniTunda6
setb BitDelay
ajmp InisialisasiTundaan
TundaBell:
djnz r4, IniTunda6
setb BitDelay
ajmp InisialisasiTundaan
AkhirTundaan:
ret
end
Udah ya, makasih udah baca postingan
aku. Semoga bisa bermanfaat, sukur-sukur bisa diterapkan oleh sobat semua.
Salam....
Tidak ada komentar:
Posting Komentar