BAB 2
LANDASAN TEORI
2.1. Sistem Pendeteksi dan Pemadam Kebakaran Otomatis
Dalam bidang elektronika, perlahan-lahan peralatan-peralatan manual mulai digantikan dengan peralatan elektronik yang dapat bekerja secara otomatis.contohnya dalam bidang keamanan. Sistem keamanan merupakan hal yang sangat penting bagi kehidupan kita sehari hari. Dan seiring dengan perkembangan teknologi, telah banyak kita lihat
peralatan -
peralatan elektronika yang berfungsi untuk menciptakan keamanan di lingkungan kita sehari hari. Baik itu keamanan dari pencurian bahkan sampai hal hal yang tidak diinginkan lainnya seperti kebakaran misalnya.
Pada kasus kebakaran, Tingkat kerugian yang dihasilkan oleh bencana kebakaran tentunya sangat besar. Kebakaran yang terjadi dapat di atasi, dan dapat meminimalkan kerugian yang terjadi apabila kita mengetahui gejala - gejala akan terjadi kebakaran sejak dini. Untuk merealisasikan hal tersebut, diperlukan suatu peralatan yang cerdas yang dapat memberitahukan kepada kita bahwa telah terjadi kebakaran di suatu ruangan atau di tempat umum secara dini sehingga dengan adanya alat ini kita dapat melakukan antisipasi yang lebih lanjut guna menghindari kerugian yang disebabkan oleh kebakaran.
Adapun skema dan penjelasan dari sistem pendeteksi dan pemadam kebakaran otomatis dengan menggunakan sensor asap AF30 dan sensor suhu LM35 yang dirancang dapat dilihat dari diagram blok berikut :
Sensor Suhu LM35
Analog to Digital Converter (ADC)
Sensor Asap AF30
Analog to Digital Converter (ADC)
uC AT89S51
Driver Relay
Alarm
Driver Relay
Kipas
Driver Relay
Pompa Air
Display 7 segment
Display Dot Matrix 7 x 16
Gambar 2.1. Blok Diagram Pendeteksi dan Pemadam Kebakaran Otomatis
Secara umum, pada sistem pendeteksi dan pemadan kebakaran otomatis dengan menggunakan sensor Asap AF30 dan Sensor suhu LM35 ini terdiri dari tiga belas blok diagram utama. Sensor suhu lm35 berfungsi untuk mendeteksi kenaikan suhu pada ruangan. Sedangkan sensor asap AF30 berfungsi untuk mendeteksi keberadaan asap yang terdapat di dalam ruangan. Output sensor yang berupa data analog tidak dapat di olah langsung oleh mikrokontroller karena mikrokontroller hanya dapat mengolah input data berupa data digial yang diberikan kepadanya, agar mikrokontroller dapat membaca dan mengolah data dari sensor maka terlebih dahulu data analog sensor dikonversi menjadai data data digital dengan menggunakan ADC. Mikrokontroller disini berfingsi sebagai otak dari keseluruhan sistem (Main System). Untuk dapat menghidupkan kipas,pompa,dan alarm secara otomatis diperlukan suatu rangkaian driver (pengendali). driver ini terdiri dari rangkaian relay dimana relay ini berfungsi sebagai saklar elktronik. Yang mana Relay akan aktif dengan sendirinya bila diberikan data kepadanya. Display 7 segment berfungsi untuk menampilkan nilai suhu
yang terdeteksi oleh sensor suhu. Dan display dot matrix 7 x 16 berfungsi untuk menampilkan pesan bila telah terjadi kebakaran.
2.2. Komponen-komponen Dasar
Rancangan yang penulis buat menggunakan beberapa komponen-komponen elektronika, untuk memudahkan memahami fungsi dan karakteristik dari masing – masing komponen maka penulis mencoba untuk membahasnya disini.
2.2.1
Relay
Relay adalah suatu peranti yang menggunakan elektromagnet untuk mengoperasikan seperangkat kontak sakelar. Susunan paling sederhana terdiri dari kumparan kawat penghantar yang dililit pada inti besi. Bila kumparan ini dienergikan, medan magnet yang terbentuk menarik armatur berporos yang digunakan sebagai pengungkit mekanisme sakelar.
Berdasarkan cara kerjanya, Relay dapat dibedakan beberapa jenis, yaitu : 1. Normal terbuka. Kontak sakelar tertutup hanya jika relay dihidupkan. 2. Normal tertutup. Kontak sakelar terbuka hanya jika relay dihidupkan. 3. Tukar-sambung. Kontak sakelar berpindah dari satu kutub ke kutub lain saat relay dihidupkan. 4. Bila arus masuk pada gulungan maka seketika gulungan, maka seketika gulungan akan berubah menjadi medan magnet. Gaya magnet inilah yang akan menarik luas sehingga sakelar akan bekerja.
2.3. Perangkat Keras
Perangkat keras merupakan bentuk fisik dari alat pendeteksi dan pemadam kebakaran yang terdiri dari power supply, ADC, Mikrokontroller AT89S51, Display 7 Segment, Display Dot Matrix 7 x 16.
2.3.1. ADC (Analog to Digital Converter)
ADC (Analog to Digital Converter) adalah suatu rangkaian pengubah informasi dari tegangan analog ke digital. A/D Converter ini dapat dipasang sebagai pengonversi tegangan analog dari suatu peralatan sensor ke konfigurasi digital yang akan diumpankan ke suatu sistem minimum.
Secara umum Rangkaian di dalam IC ADC memiliki 2 bagian utama, yaitu: 1.
Bagian Sampling dan Hold, yang berfungsi menangkap atau menahan tagangan analog input sesaat untuk seterusnya diumpankan ke rangkaian pengonversi.
2.
Rangkaian Konversi A/D (plus rangkaian kontrolnya).
Gambar berikut menggambarkan bagaimana aliran sinyal analog diubah ke sinyal digital.
Chip Select, CE START Konversi, SOC 0/1
S/H Input analog
PB7-PB0 Konversi A/D & Kontrol Ke parallel Input port
0/1 Ke INT CPU END Konversi, EOC
Gambar 2.2. Diagram ADC secara umum
Rangkaian di atas dioperasikan sebagai berikut. Pertama, kontroler, dalam hal ini mikroprosesor / mikrokontroller menghubungi ADC dengan mengirim sinyal CE. Artinya, ADC diaktifkan. Kemudian SOC (start of conversion) dikirimkan sehingga ADC mulai melakukan sampling sinyal dan diikuti dengan konversi ke digital.
Bila konversi selesai maka ADC akan mengirimkan tanda selesai EOC (end of conversion) yang artinya hasil konversi telah siap dibaca di (PB7-PB0). Program yang sesuai harus dibuat mengikuti prosedur seperti di atas. Artinya, program utama mikroprosesor harus dimuati dengan suatu program loop tertutup dan menunggu tanda untuk membaca data dari ADC. Meski tanda ini tidak harus diperhatikan, tetapi berakibat data yang dipaksa dibaca akan sering invalid karena CPU tidak dapat membedakan keadaan ambang (ketika ADC tengah melakukan konversi) dengan keadaan data siap (valid). Agar lebih efektif, fungsi interrupt harus diaktifkan untuk menghindari terjebaknya CPU dalam loop saat menunggu ADC siap. Dengan demikian CPU hanya akan membaca data bila mendapatkan interrupt.
Secara singkat, ADC memerlukan bantuan sekuensi kontrol untuk menangkap dan mengkonversi sinyal. Seberapa lama ADC dapat sukses mengkonversi suatu nilai sangat tergantung dari kemampuan sampling dan konversi dalam domain waktu. Makin cepat prosesnya, makin berkualitas pula ADC tersebut. Karena inilah maka karakteristik ADC yang paling penting adalah waktu konversi (conversion time). Namun demikian, kemampuan riil ADC dalam kontrol loop tertutup dalam sebuah sistem lengkap justru sangat dipengaruhi oleh kemampuan kontroler atau prosesor dalam mengolah data input-output secara cepat, dan bukan hanya karena kualitas ADC-nya.
2.3.2. Mikrokontroler
Mikrokontroler adalah single chip computer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang berorientasi kontrol. Mikrokontroler berkembang dengan dua alasan utama, yaitu kebutuhan pasar (market needed) dan perkembangan teknologi baru. Yang dimaksud dengan kebutuhan pasar yaitu kebutuhan manusia yang semakin besar terhadap alat-alat elektronik dengan perangkat pintar sebagai pengontrol dan pemroses data. Sedangkan yang dimaksud dengan perkembangan teknologi baru adalah perkembangan teknologi semikonduktor yang memungkinkan pembuatan chip dengan kemampuan komputasi yang sangat cepat, bentuk yang semakin mungil, dan harga yang semakin murah.
2.3.3. Mikrokontroler AT89S51
Mikrokontroler seri 8051 merupakan salah satu seri mikrokontroler yang paling banyak digunakan di seluruh dunia karena memiliki fasilitas onchip memory. Perusahaan ATMEL membuat seri ini dengan nama AT89S51. Mikrokontroler AT89S51 memiliki fitur sebagai berikut : •
4K byte ROM ROM atau Read Only Memory adalah tempat penyimpanan program yang diisikan pada mikrokontroler. ROM hanya bisa dibaca. ROM biasanya berisi kode/ program untuk mengontrol kerja mikrokontroler. Kapasitas memori yang disediakan oleh AT89S51 ini adalah 4 kilobyte
•
128 bytes RAM RAM atau Random Access Memory adalah memori yang berisi data yang akan dieksekusi oleh mikrokontroler. RAM bisa ditulis dan dibaca, bersifat volatile
(isinya hilang jika power/ sumber tegangan dihilangkan). Kapasitas memori yang disediakan oleh AT89S51 adalah 128 bytes. •
4 buah 8-bit I/O (Input/Output) port Port ini berfungsi sebagai terminal input dan output. Selain itu, dapat digunakan sebagai terminal komunikasi paralel, serta komunikasi serial (pin10 dan 11).
•
2 buah 16 bit timer
•
Interface komunikasi serial
•
64K pengalamatan code (program) memori
•
64K pengalamatan data memori
•
Prosesor Boolean (satu bit-satu bit) Dengan fitur ini, mikrokontroler dapat melakukan operasi logika seperti AND, OR, EXOR, dan lain-lain.
•
210 lokasi bit-addressable, dan
•
4 µs operasi pengkalian atau pembagian
2.3.4. Penjelasan Fungsi PIN Mikrokontroler AT89S51
Arsitektur hardware mikrokontroler AT89S51 dari perspektif luar atau biasa disebut pin out digambarkan pada gambar 2.3 di bawah ini:
Gambar 2.3. Pin-Out mikrokontroler AT89S51
Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang ada pada mikrokontroler AT89S51.
•
Port 0 Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada disain yang minimum (sederhana), port 0 digunakan sebagai port Input/Output (I/O). Sedangkan pada disain lebih lanjut pada perancangan dengan memori eksternal digunakan sebagai data dan address (alamat) yang di-multiplex. Port 0 terdapat pada pin 32-39.
•
Port 1 Merupakan port yang hanya berfungsi sebagai port I/O (Input/Output). Port 1 terdapat pada pin 1-8.
•
Port 2 Merupakan dual-purpose port. Pada disain minimum digunakan sebagai port I/O (Input/Output). Sedangkan pada disain lebih lanjut digunakan sebagai high byte dari address (alamat). Port 2 terdapat pada pin 21-28.
•
Port 3 Merupakan dual-purpose port. Selain sebagai port I/O (Input/Output), port 3 juga mempunyai fungsi khusus. Fungsi khusus tersebut diperlihatkan pada tabel 2.1. Port 3 terdapat pada pin 10-17.
No. Pin
Port Pin
Nama Port
Fungsi Alternatif
10
P3.0
RXD
Menerima data untuk port serial
11
P3.1
TXD
Mengirim data untuk port serial
12
P3.2
INT 0
Interrupt 0 eksternal
13
P3.3
INT 1
Interrupt 1 eksternal
14
P3.4
T0
Timer 0 input eksternal
15
P3.5
T1
Timer 1 input eksternal
16
P3.6
WR
Memori data eksternal write strobe
17
P3.7
RD
Memori data eksternal read strobe
Tabel 2.1. Fungsi khusus Port 3
•
PSEN (Program Store Enable) PSEN adalah sinyal kontrol yang mengizinkan untuk mengakses program (code) memori eksternal. Pin ini dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN akan “0” (LOW) pada tahap fetch (penjemputan) instruksi. PSEN akan selalu bernilai “1” (HIGH) pada pembacaan program memori internal. PSEN terdapat pada pin 29.
•
ALE (Address Latch Enable) ALE digunakan untuk men-demultiplex address (alamat) dan data bus. Ketika menggunakan program memori eksternal, port 0 akan berfungsi sebagai address (alamat) dan data bus. Pada setengah paruh pertama memori cycle ALE akan bernilai “1” (HIGH) sehingga mengizinkan penulisan address (alamat) pada register eksternal. Dan pada setengah paruh berikutnya akan bernilai “1” (HIGH) sehingga port 0 dapat digunakan sebagai data bus. ALE terdapat pada pin 30.
•
EA (External Access) Jika EA diberi input “1” (HIGH), maka mikrokontroler menjalankan program memori internal saja. Jika EA diberi input “0” (LOW), maka AT89S51 menjalankan program memori eksternal (PSEN akan bernilai “0”). EA terdapat pada pin 31.
•
RST (Reset) RST terdapat pada pin 9. Jika pada pin ini diberi input “1” (HIGH) selama minimal 2 machine cycle, maka sistem akan di-reset ( kembali ke awal ).
•
On-Chip oscillator AT89S51 telah memiliki on-chip oscillator yang dapat bekerja jika didrive menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang biasa digunakan pada AT89S51 ini adalah 12 MHz. On-chip oscillator tidak hanya dapat di-drive dengan menggunakan kristal, tetapi juga dapat dengan menggunakan TTL Oscillator.
•
Koneksi power AT89S51 beroperasi pada tegangan 5 volt. Pin Vcc terdapat pada pin 40, sedangkan pin Vss (ground) terdapat pada pin 20.
2.3.5. Display Seven Segment
Seven Segment adalah suatu segmen- segmen yang digunakan menampilkan angka. Seven segmen ini tersusun atas 7 batang LED yang disusun membentuk angka 8 dengan menggunakan huruf a - f yang disebut DOT MATRIKS. Setiap segmen ini terdiri dari 1 atau 2 Light Emitting Diode ( LED ).
Gambar 2.4. Seven segmen
Seven segmen dapat dibedakan menjadi dua macam yaitu Common Anoda dan Common Katoda. •
Common Anoda Pada Common Anoda, semua anoda dari dioda disatukan secara parallel dan semua itu dihubungkan ke Vcc dan kemudian LED dihubungkan melalui tahanan pembatas arus keluar dari penggerak. Karena dihubungkan ke Vcc, maka Common Anoda ini berada pada kondisi Aktif High.
•
Common Katoda Pad Common Katoda, semua katoda disatukan secara paralel dan dihubungkan ke ground. Karena seluruh katoda dihubungkan ke ground, maka Common Katoda ini berada pada kondisi Aktif Low.
2.4. Perangkat Lunak
Perangkat lunak (software) adalah seperangkat intruksi yang disusun menjadi sebuah program untuk memerintahkan microcomputer melakukan suatu pekerjaan. Sebuah instruksi selalu berisi kode operasi (op-code), kode pengoperasian inilah yang disebut dengan bahasa mesin yang dapat dimengerti oleh mikrokontroller. Instruksi-instruksi yang digunakan dalam memprogram suatu program yang diisikan pada AT89S51 adalah instruksi bahasa
pemograman assembler atau sama dengan intruksi pemograman pada IC mikrokontrller 8031 dan MCS51.
2.4.1. Instruksi Transfer Data
Instruksi transfer data terbagi menjadi dua kelas operasi sebagai berikut : •
Transfer data umum ( General Purpose Transfer ), yaitu : MOV, PUSH dan POP.
•
Transfer spedifik akumulator ( Accumulator Specific Transfer ), yaitu : XCH, XCHD, dan MOVC.
Instruksi transfer data adalah intruksi pemindahan /pertukaran data antara operand sumber dengan operand tujuan. Operand-nya dapat berupa register, memori atau lokasi suatu memori. Penjelasan instruksi transfer data tersebut dapat dijelaskan sebagai berikut. MOV
: Transfer data dari Register satu ke Register yang lainnya, antara Register dengan Memory.
PUSH
: Transfer byte atau dari operand sumber ke suatu lokasi dalam stack yang alamatnya ditunjuk oleh register penunjuk.
POP
: Transfer byte atau dari dalam stack ke operand tujuan.
XCH
: Pertukaran data antara operand akumulator dengan operand sumber.
XCHD
: Pertukaran nibble orde rendah antara RAM internal ( lokasinya ditunjukkan oleh R0 dan R1 )
2.4.2. Instruksi Aritmatik
Operasi dasar aritmatik seperti penjumlahan, pengurangan, perkalian dan pembagian dimiliki oleh AT89S51 dengan mnemonic : INC, ADD, SUBB, DEC, MUL dan DIV. Penjelasan dari operasi mnemonic tersebut dijelaskan sebagai berikut :
INC
:
Menambah satu isi sumber operand dan menyimpan hasilnya ke operand tersebut
ADD
:
Penjumlahan antara akumulator dengan sumber operand dan hasilnya disimpan di akumulator
SUBB
:
Pengurangan akumulator dengan sumber operand, hasilnya disimpan dalam operand tersebut.
DEC
:
Mengurangi sumber operand dengan 1. dan hasilnya disimpan pada operand tersebut.
MUL
:
Perkalian antara akumulator dengan Register B.
DIV
:
Pembagian antara akumulator dengan Register B dan hasilnya disimpan dalam akumulator, sisanya di Register B.
2.4.3. Instruksi Logika
Mikrokontroller AT89S51 dapat melakukan operasi logika bit maupun operasi logika byte. Operasi logika tersebut dibagi atas dua bagian yaitu :
•
Operasi logika operand tunggal, yang terdiri dari CLR, SETB, CPL, RL, RR, dan SWAP.
•
Operasi logika dua operand seperti : ANL, ORL, dan XRL.
Operasi yang dilkukan oleh AT89S51 dengan pembacaan instruksi logika tersebut dijelaskan dibawah ini :
CLR
: Menghapus byte atau bit menjadi nol.
SETB
: Menggeser bit atau byte menjadi satu.
CPL
: Mengkomplemenkan akumulator.
RL
: Rotasi akumulator 1 bit ke kiri.
RR
: Rotasi akumulator ke kanan.
SWAP
: Pertukaran nibble orde tinggi.
2.4.4. Instruksi Transfer Kendali
Instruksi transfer kendali (control transfer) terdiri dari (3) tiga kelas operasi yaitu : •
Lompatan tidak bersyarat ( Unconditional Jump ) seperti : ACALL, AJMP, LJMP,SJMP
•
Lompatan bersyarat ( Conditional Jump ) seperti : JZ, JNZ, JB, CJNE, dan DJNZ.
•
Insterupsi seperti : RET dan RET1.
Penjelasan dari instruksi diatas sebagai berikut :
ACALL
:
Instruksi pemanggilan subroutine bila alamat subroutine tidak lebih dari 2 Kbyte.
LCALL
:
Pemanggilan subroutine yang mempunyai alamat antara 2 Kbyte – 64 Kbyte.
AJMP
:
Lompatan untuk percabangan maksimum 2 Kbyte.
LJMP
:
Lompatan untuk percabangan maksimum 64 Kbyte.
JNB
:
Percabangan bila bit tidak diset.
JZ
:
Percabangan akan dilakukan jika akumulator adalah nol.
JNZ
:
Percabangan akan dilakukan jika akumulator adalah tidak nol.
JC
:
Percabangan terjadi jika CY diset “1”.
CJNE
:
Operasi perbandingan operand pertama dengan operand kedua, jika tidak sama akan dilakukan percabangan.
DJNZ
:
Mengurangi nilai operand sumber dan percabangan akan dilakukan apabila isi operand tersebut tidak nol.
RET
:
Kembali ke subroutine.
RET1
:
Kembali ke program interupsi utama.