BAB I PENDAHULUAN
1.1. Latar Belakang Masalah
Sumber Sumber daya daya alam yang yang bermanf bermanfaat aat bagi bagi kehidu kehidupan pan manusi manusiaa sangat sangatlah lah banyak banyak tersedia di bumi ini. Baik itu sumber daya alam yang dapat diperbaharui maupun sumber daya alam yang tidak diperbaharui. Gas LPG merupakan salah satu hasil dari sumber daya alam yang yang tidak tidak dapat dapat diperb diperbaha aharui rui.Pe .Peran ranan an Gas LPG pada pada saat saat ini sangat sangatlah lah pentin penting g bagi bagi kehidupan manusia. Teringat, semakin menipisnya persediaan minyak dibumi ini perlahan – lahan Gas LPG mulai menggantikan peranan utama dari minyak bumi sebagai bahan bakar altetnatif baik itu dalam bidang industri, rumah tangga, maupun transportasi. Terkadangkala manusia terbuai akan kayanya sumber daya alam ini. Disaat sengaja maupun tidak sengaja, Gas LPG menjadi dampak negatif terhadap kesehatan manusia bahkan menimbulkan kerugian yang cukup besar apabila tidak digunakan dengan hati – hati terutama bila tidak diketahui telah terjadinya kebocoran dari tabung atau tempat penyimpanan Gas LPG. Seharusnya, Gas LPG tersebut sesuatu yang dapat mempermudah kelangsungan hidup manusia tetapi menjadi kerugian manusia. Untu Untuk k itu, itu, berd berdas asar arkan kan latar latar belak belakan ang g masal masalah ah terse tersebu butt perlu perlu dilak dilakuk ukan an suat suatu u penanganan penanganan khusus, khusus, guna mencegah kerugian yang ditimbulkan ditimbulkan oleh Gas LPG tersebut. tersebut. Penulis Penulis merancang merancang suatu alat dengan dengan judul “ RANCANG RANCANG BANGUN BANGUN ALAT ALAT PENDETEKS PENDETEKSII KEBOCORAN
GAS
LPG
MIKCROKONTROLER AT89S51 “.
DENGAN
SENSOR
TGS2610
BERBASIS
1.2 Rumusan masalah
Berdasarkan Berdasarkan permasalahan permasalahan di atas,maka atas,maka penulis penulis mencoba mencoba merancang merancang suatu alat yang dapat mendeteksi kebocoran gas LPG pada suatu ruangan. Alat ini akan memberitahukan kepada pemilik rumah dengan cara membunyikan alarm dan menampilkan pesan yang tertera pada display apabila apabila telah terajadi kebocoran kebocoran gas LPG di dalam ruangan tersebut. tersebut. Selain itu alat ini juga dlengkapi degan kipas untuk membuang gas LPG yang masih terdapat di dalam ruangan tersebut agar udara yang terdapat di dalam ruangan tersebut tidak lagi tercemar oleh gas LPG Pada alat ini digunakan sensor LP Gas TGS2610 sebagai pendeteksi ada atau tidaknya gas LPG yang masuk ke dalam ruangan. ruangan. Mikrokontroller AT89S51 digunakan sebagai sebagai otak dari seluruh system dan mengolah data yang dihasilkan oleh sensor kemudian membunyikan alarm dan menghidupkan kipas
1.3 Tujuan Penulisan
Tujuan dilakukan Tugas Tugas Akhir ini adalah sebagai berikut: 1. merancang merancang suatu suatu alat alat yang dapat mendet mendeteksi eksi keboco kebocoran ran gas LPG 2. Memanfaatkan Memanfaatkan mikroko mikrokontrolle ntrollerr sebagai alat pengolah pengolah data data yang diberikan diberikan oleh sensor sensor.. 3. mera meranca ncang ng sua suatu tu ala alatt yang yang user friendly 4. studi lebih lebih lanjut lanjut tentang aplikas aplikasii mikrokontro mikrokontroller ller AT89S51 T89S51
1.4 Batasan Masalah
Mengacu pada hal diatas, penulis akan merancang alat pendeteksi kebocoran gas LPG berbasis mikrokontroler AT89S51, AT89S51, dengan batasan-batasan sebagai berikut : 1. Mikrokontr Mikrokontroler oler yang yang digunakan digunakan adalah adalah jenis jenis AT89S51. T89S51. 2. sensor sensor yang yang digunakan digunakan adalah sensor sensor LP Gas TGS2610. TGS2610. 3. alat ini hanya hanya mendetek mendeteksi si keberadaan keberadaan gas gas LPG tidak mendetek mendeteksi si asal keboco kebocoran ran 4. untuk menetralkan menetralkan udara dalam ruangan ruangan diguna digunakan kan kipas
1.5 Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari alat pendeteksi kebocoran gas LPG dengan menggunakan sensor gas TGS2610 berbasis mikrokontroler AT89S51, AT89S51, maka penulis menulis laporan ini sebagai berikut:
BAB I.PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.
BAB II.LANDASAN TEORI
Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian Teori pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware dan software), sensor gas TGS2610,ADC bahas bahasaa progra program m yang yang diguna digunakan kan.. serta serta karekt karekteris eristik tik dari dari kompon komponenen-kom kompon ponen en pendukung.
BAB III. PERANCANGAN ALAT DAN PROGRAM
Pada Pada bagi bagian an ini ini akan akan diba dibaha hass
pera peranc ncan anga gan n dari dari alat, alat, yait yaitu u diag diagram ram blok blok dari dari
rangkaian, skematik dari masing-masing rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroler AT89S51. AT89S51.
BAB IV I V. ANALISA RANGKAIAN RANGKAIA N DAN SISTEM KERJA K ERJA ALAT ALAT
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan meng mengen enai ai prog program ram-p -pro rogr gram am yang yang digu diguna naka kan n untu untuk k
meng mengak aktip tipka kan n
penjelasan mengenai program yang diisikan ke mikrokontroler AT89S51. AT89S51.
rangk rangkai aian an,,
BAB V.KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari tugas akhir ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangk dikembangkan an perakitanny perakitannyaa pada suatu metode metode lain yang mempunyai mempunyai sistem kerja yang sama.
BAB II DASAR TEORI
2.1
SENSOR 2.1. 2.1.1 1
Peng Penger erti tian an Umum Umum Sens Sensor or
Sebenarnya sensor secara umum didefinisikan sebagai alat yang mampu menangkap fenomena fisika atau kimia kemudian mengubahnya menjadi sinyal elektrik baik arus listrik ataupun ataupun tegangan. tegangan. Fenomena Fenomena fisik yang mampu menstimulus menstimulus sensor sensor untuk menghasilkan menghasilkan sinyal elektrik meliputi temperatur, tekanan, gaya, medan magnet cahaya, pergerakan dan sebagainya. Sementara fenomena kimia dapat berupa konsentrasi dari bahan kimia baik cairan maupun gas. Dengan definisi seperti ini maka sensor merupakan alat elektronik yang begitu banyak dipakai dalam kehidupan manusia saat ini. Bagaimana tekanan jari kita pada key board comput computer er,, remote remote televis televisi, i, lantai lantai lift yang yang kita kita tuju, tuju, mengha menghasil silkan kan peruba perubahan han pada pada layar layar computer computer atau televisi, televisi, serta gerakan gerakan pada lift adalah contoh mudah sensor secara luas. Atau sensor temperatur yang banyak digunakan dalam mengontrol temperatur ruangan pada AC. Demikian pula sensor pengukur cairan oksigen ataupun gas lainnya yang sering digunakan di rumah sakit. Hampir seluruh kehidupan sehari – hari saat ini tidak ada yang tidak melibatkan sensor. sensor. Tidak mengherankan jika sensor (atau (a tau juga ada yang menyebutnya dengan transducer) banyak disebut juga sebagai panca indera-nya alat elektronik modern.
2.1.2 2.1.2
Cara Cara Kerj Kerja a Senso Sensorr Gas Sec Secara ara Umum Umum
Terbentuk pada permukaan luar kristal. Tegangan permukaan yang terbentuk akan menghambat laju aliran electron seperti tampak pada ilustrasi Gambar.
Ilustrasi penyerapan O2 oleh sensor
Di dalam sensor, arus elektrik mengalir melewati daerah sambungan(grain boundary) dari kristal SnO2. Pada daerah sambungan, penyerapan oksigen mencegah muatan untuk ber berge gera rak k beba bebas. s. Jika Jika kons konsent entras rasii gas gas menu menuru run, n, pros proses es deok deoksi sida dasi si akan akan terja terjadi di,, rapat rapat permukaan dari muatan negative oksigen akan berkurang, dan mengakibatkan menurunnya ketinggian penghalang dari daerah sambungan, misal terdapat adanya gas CO yang terdeteksi maka persamaan kimianya dapat digambarkan seperti tampak pada persamaan berikut ini. CO + Oad(SnO2X) → CO2 + (SnO2X)*…………………(2) Dengan menurunnya penghalang maka resistansi sensor akan juga i kut menurun.
Gambar 2
Ilustrasi ketika terdeteksi adanya gas Sensor gas LPG TGS2610
Sens Sensor or gas gas LPG LPG TGS2 TGS261 610 0 meru merupa paka kan n salah salah satu satu sens sensor or utam utamaa dalam dalam penel penelitia itian n ini. ini. Sensor Sensor ini merupa merupakan kan sebuah sebuah sensor sensor kimia kimia atau sensor sensor gas. gas. Sensor Sensor ini mempunyai nilai resistansi Rs yang akan berubah bila terkena gas yang mewakili gas LPS di udara yaitu gas metana dan ethanol. Sensor LPG TGS2610 mempunyai tingkat sensitifitas yang tinggi terhadap dua jenis gas tersebut. tersebut. Jika sensor tersebut mendeteksi keberadaan gas gas tersebut di udara dengan tingkat konsentrasi tertentu, maka sensor akan menganggap terdapat gas LPG di udara. Dan ketika sensor sensor mendeteksi keberadaan gas gas gas tersebut maka resistensi elektrik sensor tesebut akan menurun yang menyebakan tegangan yang dihasilkan oleh output sensor akan semakin besar. Selain itu, sensor juga mempunyai sebuah pemanas
(heater) yang digunakan untuk membersihkan ruangan sensor dari kontaminasi udara luar agar sensor dapat bekerja kembali secara efektif .secara umum bentuk dari sensor gas LPG TGS2610 dapat dilihat dari gambar berikut:
2.1. 2.1.3 3
Prin Prinsi sip p Kerj Kerja a Sen Senso sorr
Adapun Adapun prinsip prinsip kerja dari sensor ini adalah sebagai berikut, berikut, Sensor Sensor gas TGS 2610 hanya terdiri dari sebuah lapisan silikon dan dua buah elektroda pada masing-masing sisi silikon. Hal ini akan menghasilkan perbedaan tegangan pada output nya nya ketika lapisan silikon ini dialiri oleh arus listrik. Tanpa Tanpa adanya gas LPG yang terdeteksi, arus yang mengalir mengalir pada silikon akan tepat berada ditengah-tengah silikon dan menghasilkan tegangan yang sama antara elektrode sebelah kiri dan elektrode sebelah kanan, sehingga beda tegangan yang dihasilkan pada output adalah sebesar 0 volt.
Gambar Prinsip kerja sensor, saat tidak ada gas LPG yang terdeteksi Ketika terdapat terdapat gas LPG yang mempengaru mempengaruhi hi sensor sensor ini, arus yang mengalir mengalir akan berbelok mendekati atau menjauhi salah satu sisi silikon.
Gambar Prinsip kerja sensor, saat dikenai gas LPG Ketika arus yang melalui lapisan silikon tersebut mendekati sisi silikon sebelah kiri maka terjadi ketidakseimbangan tegangan output dan hal ini akan menghasilkan beda tegangan di nya. Begitu pula bila arus yang melalui lapisan silikon tersebut tersebut mendekati mendekati sisi silikon silikon output nya. sebelah kanan. Semakin besar konsentrasi gas yang mempengaruhi sensor ini, pembelokan arus di dalam lapisan silikon juga semakin besar, sehingga ketidakseimbangan tegangan antara kedua sisi lapisan silikon pada sensor semakin besar pula. Semakin besar ketidakseimbangan tegangan ini, beda tegangan pada output sensor juga semakin besar
2.2
ADC ( Analog Analog to Digital Converter )
Analog Analog to Digital Digital Convert Converter er (ADC) (ADC) adalah adalah sebuah sebuah pirant pirantii yang yang diranca dirancang ng untuk untuk mengub mengubah ah sinyalsinyal-sin sinya yall analog analog menjad menjadii sinyal sinyal - sinyal sinyal digital 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. Jenis ADC yang biasa digunakan dalam perancangan adalah jenis successive successive approximation approximation convertion (SAC) atau pendekatan bertingkat yang memiliki waktu konversi jauh lebih singkat . IC ADC 0804 merupakan salah satu dari sekian banyak pengubah data analog menjadi data digital Jenis 0804 ini merupakan ADC yang simpel dan mudah digunakan .IC ADC 0804 ini mempunyai 20 pin dengan konfigurasi seperti gambar berikut :
Gambar 2.9 konfigurasi pin IC ADC 0804
Pada ADC 0804 ini, terdapat dua jenis prinsip didalam melakukan konversi, yaitu free
running dan mode control . Pada mode free running , ADC akan mengeluarkan data hasil pembacaan input secara otomatis dan berkelanjutan (continue). Prinsip yang kedua yaitu
mode control , pada mode ini ADC baru akan memulai konversi setelah diberi instruksi dari mikrokontroler. Instruksi ini dilakukan dengan memberikan pulsa rendah kepada masukan WR sesaat, kemudian membaca keluaran data ADC setelah keluaran INTR berlogika rendah. Pada penelitian ini ,prinsip konversi yang digunakan adalah mode control . Prinsip kerja mode
control akan dijelaskan lebih lanjut sebagai berikut: 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.
Rangka Rangkaian ian Konve Konversi rsi A/D (plus (plus rangk rangkaian aian kont kontrol rolnya nya). ).
Gambar dibawah ini menggambarkan bagaimana aliran sinyal analog diubah ke sinyal digital. Chip Select,CE START Konversi,SOC 0/1
PB7-PB0
S/H Input analog
Konversi A/D & Kontrol Ke parallel Input port
0/1 Ke INT CPU END Konversi, EOC
Gambar 2.10. 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. diaktifkan. Kemudian Kemudian SOC ( start dikirimkan kan sehing sehingga ga ADC mulai mulai start of conversi conversion on) dikirim melakukan sampling sinyal dan diikuti dengan konversi ke digital. Bila Bila konver konversi si selesa selesaii maka maka ADC akan akan mengiri mengirimka mkan n tanda tanda selesai 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 tergan tergantun tung g dari dari kemamp kemampuan uan sampli sampling ng dan konver konversi si dalam dalam domain domain waktu. waktu. Makin Makin cepat 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
Mikrokontroler
Mikrokontr Mikrokontroler oler adalah singl yang memili memiliki ki kemamp kemampuan uan untuk untuk singlee chip chip compu compute ter r yang diprog diprogram ram dan diguna digunakan kan untuk untuk tugastugas-tug tugas as yang yang berori berorienta entasi si kontro kontrol. l. Mikrok Mikrokont ontrol roler er ber berkem kemba bang ng deng dengan an dua dua alasa alasan n utam utama, a, yaitu yaitu kebu kebutu tuha han n pasa pasarr (market market needed needed ) dan perkembanga perkembangan n teknologi teknologi baru. Yang Yang dimaksud dimaksud dengan dengan kebutuhan kebutuhan pasar pasar yaitu kebutuhan 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. 2.3.1 1
Mikr Mikrok okon ontr trol oler er AT8 AT89S 9S51 51
Mikrok Mikrokont ontrol roler er seri seri 8051 8051 merupa merupakan kan salah salah satu satu seri seri mikrok mikrokont ontrol roler er yang yang paling 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 mikrok mikrokont ontrole rolerr. ROM hanya hanya bisa bisa dibaca. dibaca. ROM biasany biasanyaa berisi berisi kode/ kode/ progra program m untuk 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/ power/ sumber sumber tegangan tegangan dihilangkan dihilangkan). ). Kapasitas Kapasitas memori yang disediakan disediakan oleh AT89S AT89S51 51 adalah 128 bytes. • 4 buah buah 8-bit I/O ( Input/Output Input/Output ) port berfungsi sebagai sebagai terminal terminal input dan output . Selain itu, dapat digunakan sebagai Port ini berfungsi terminal komunikasi paralel, serta komunikasi serial (pin10 dan 11). • 2 buah 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 Arsitektur hardware mikrokontroler AT89S51 dari perspektif luar atau biasa disebut
pinout digambarkan pada gambar 2.8 di bawah ini:
Gambar 2.11. Pin-Out mikrokontroler AT89S51 Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang ada pada mikrokontroler AT89S51.
•
Port 0 Port 0
Merupakan dual-pur yang memiliki memiliki dua keguna kegunaan) an).. Pada Pada disain disain yang yang dual-purpose pose port ( port port 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 Port 1
Merupakan port yang hanya berfungsi sebagai port I/O ( Input/Output ). Port 1 terdap terdapat at Input/Output ). pada pin 1-8.
•
Port 2 Port 2
Merupakan dual-p Pada disa disain in minim minimum um digu diguna naka kan n seba sebaga gaii port I/O dual-purp urpose ose port port . Pada ( Input/Output ). Sedangkan pada disain lebih lanjut digunakan sebagai high byte dari Input/Output ).
address (alamat). Port 2 terdapat pada pin 21-28. •
Port 3 Port 3
Merupakan dual-pur Selain n seba sebaga gaii port I/O ( Input/Output ), port 3 juga juga dual-purpose pose port . Selai Input/Output ), mempunyai fungsi khusus. Fungsi khusus tersebut diperlihatkan pada tabel 2.1. Port 3 terdapat pada pin 10-17. No. Pin 10 11 12 13 14 15 16
Port Pin P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6
17
P3.7
Nama Port Fungsi Alternatif RXD Menerima data untuk port serial TXD Mengirim data untuk port serial INT 0 Interrupt 0 eksternal INT 1 Interrupt 1 eksternal T0 Timer 0 input eksternal T1 Timer 1 input eksternal WR Memori data eksternal write strobe RD Memori data eksternal read strobe strobe
Tabel 2.3. Fungsi khusus Port 3
•
PSEN ( Program Program Store Enable) 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 HIGH ) pada pembacaan program memori internal. PSEN terdapat pada pin 29.
•
ALE ( Address Address Latch Enable) Enable)
ALE ALE digu diguna naka kan n untu untuk k menmen-demultip alamaat) dan data bus. Ketika ika demultiplex lex address address (alam 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 sehingga mengizinkan mengizinkan penulisan penulisan address (alamat) pada register ekstern eksternal. al. Dan pada pada setengah paruh berikutnya akan bernilai “1” ( HIGH ) sehingga port 0 dapat digunakan sebagai data bus. ALE terdapat pada pin 30.
•
EA ( External External Access) 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 berni lai “0”). EA terdapat pada pin 31. •
RST ( Reset 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 tela h memiliki on-chip oscillator yang dapat bekerja jika didrive menggunakan kristal. Tambahan Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang biasa digunakan pada AT89S51 ini adalah 12 MHz. On-chip oscillator tidak hanya dapat didengan an meng menggu guna naka kan n kris krista tal, l, tetap tetapii juga juga dapa dapatt deng dengan an meng menggu guna naka kan n TTL drive deng
Oscillator .
•
Koneksi power Koneksi power
AT89S51 T89S51 beroperasi beroperasi pada tegangan 5 volt. Pin Vcc terdapat pada pin 40, sedangkan sedangkan pin Vss ( ground ) terdapat pada pin 20.
2.4
Display lay LC LCD Ch Character 2x16
Disp Displa lay y LCD LCD 2x16 2x16 berf berfun ungs gsii seba sebaga gaii pena penamp mpil il nila nilaii kuat kuat indu induks ksii meda medan n elektromagnetik yang terukur oleh alat. LCD yang digunakan pada alat ini mempunyai lebar
display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 2x16, dengan 16 pin konektor, konektor, yang didifinisikan sebagai berikut:
PIN
Nama
1
VSS
Ground voltage
2
VCC
+5V
3
VEE
Contrast voltage
4
RS
fungsi
Register Select 0 = Instruction Register 1 = Data Register Read/ Write, to choose write or read mode 0 = write mode 1 = read mode
5
R/W
6
E
7
DB0
LSB
8
DB1
-
9
DB2
-
10
DB3
-
11
DB4
-
12
DB5
-
13
DB6
-
14
DB7
MSB
15
BPL
Back Plane Light
16
GND
Ground voltage
Enable 0 = start to lacht data to LCD character 1= disable
Tabel 3.1 fungsi pinLCD character 2x16
Gambar 3.4 LCD character 2x16
Modul LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks yang kita tuliskan ke modul LCD akan disimpan didalam memory ini, dan modul LCD secara berturutan membaca memory ini untuk menampilkan teks ke modul LCD itu sendiri.
Gambar 3.5 Peta memory LCD character 2x16 Pada peta memori diatas, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. jumlahnya sebanyak 16 karakter per baris bari s dengan dua baris. Angka pada setiap setiap kotak kotak adalah adalah alamat alamat memori memori yang yang berses bersesuaia uaian n dengan dengan posis posisii dari dari layar layar.. Dengan Dengan demikian dapat dilihat karakter pertama yang berada pada posisi baris pertama menempati alamat 00h. dan karakter kedua yang berada pada posisi baris kedua menempati alamat 40h Agar dapat menampilkan karakter pada display maka posisi kursor harus terlebih dahulu diset. Instruksi Set Posisi Kursor adalah 80h. dengan demikian untuk menampilkan karakter, nilai yang terdapat pada memory harus ditambahkan dengan 80h. Sebagai contoh, jika kita kita ingin menampilkan huruf huruf “B” pada baris kedua kedua pada posisi posisi kolom kesepuluh.maka sesuai dengan peta memory, posisi karakter pada kolom 10 dari baris kedua mempunyai alamat 4Ah, sehingga sebelum kita menampilkan huruf “B” pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h + 4Ah =0Cah. Sehingga dengan mengirim perintah 0Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11. 2.5
Software
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 memp mempro rogr gram am suatu suatu prog progra ram m yang yang diisi diisika kan n pada pada AT89S T89S51 51 adala adalah h inst instru ruks ksii baha bahasa sa pemograman assembler atau sama dengan intruksi pemograman pada IC mikrokontrller 8031 dan MCS51. 2.5. 2.5.1 1
Inst Instru ruks ksii Tra Trans nsfe ferr Data 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
: Tr Transfer da data da dari Re Register sa satu ke ke Register yang lainnya, antara Register dengan
Memory. PUSH
: Transfer byte atau dari dari operand sumber sumber ke suatu suatu lokasi lokasi dalam dalam stack yang alamatnya ditunjuk oleh register penunjuk.
POP
: Transfer byte atau dari dalam stack ke operand tujuan.
XCH
: Pe Pertukaran data antara operand akumulator dengan operand sumber.
XCHD
: Pertukaran nibble orde rendah antara RAM internal ( lokasinya ditunjukkan oleh R0 dan R1 ) 2.5.2. Instruksi Logika
Mikrokontroller AT89S51 AT89S51 dapat melakukan operasi logika bit maupun operasi logika
byte. Operasi logika tersebut dibagi atas dua bagian yaitu : •
Operasi logika operand tunggal, tunggal, yang terdiri terdiri dari CLR, SETB, SETB, CPL, RL, 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
: Mengkompleme emenkan aku akumulato ator.
RL
: Rotasi akumulator 1 bit ke kiri.
RR
: Rotasi akumulator ke kanan.
SWAP
: Pertukaran nibble orde tinggi.
2.5.3
Instruksi Transfer Kendali
Instruksi transfer kendali (control transfer ) terdiri dari (3) tiga kelas operasi yaitu : •
Lomp Lompata atan n tidak tidak bersy bersyar arat at ( Uncondit sepert rtii : ACAL ACALL, L, AJMP AJMP,, Unconditiona ionall Jump Jump ) sepe LJMP,SJMP
•
Lompatan bersyarat ( Conditional Jump ) seperti : JZ, JNZ, JB, CJNE, dan DJNZ.
•
Insterupsi seperti : RET dan RET1.
Penjelasan dari instruksi diatas sebagai berikut : ACAL CALL
:
Inst Instru ruk ksi peman emang ggila gilan n subro broutin utinee bila bila alam alamat at subro ubrout utin inee tida tidak k leb lebih dari ari 2 Kbyte.
LCALL
:
Pemanggilan subroutine ya yang me mempunyai al alamat an 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 pertama dengan dengan operand kedua, kedua, jika tidak sama akan dilakukan percabangan.
DJNZ
:
Mengurangi nilai operand sumber sumber dan percaba percabanga ngan n akan akan dilaku dilakukan kan apabila isi operand tersebut tidak nol.
RET
:
Kembali ke subroutine.
RET1
:
Kembali ke program interupsi utama
BAB III PERANCANGAN ALAT DAN CARA KERJA RANGKAIAN
3.1
Perancangan Blok Diagram
SENSOR TGS2610
KIPAS
ALARM
ADC
Display
( Analog to Digital Converter )
DRIVER KIPAS
uC AT89S51
DRIVER ALARM
Blok Kipas
Menetralisir kadar gas pada ruangan dengan
menghembuskan udara ke dalam ruangan
Blok Buzzer
Indikator atau peringatan untuk menandakan
adanya kebocoran gas pada ruangan
Blok Driver
Mengatur hidup atau matinya buzzer, kipas
Blok Mikrokontroller ler
Membaca aca da data da dari ADC, me mengolah lah da data,
memproses, dan mengaktifkan buzzer, kipas, LCD
Blok ADC
Mengubah data analog menjadi data digital
sehingga data dari sensor dapat dibaca oleh mikrokontroller
Blok Sensor Gas TGS2610
Mendeteksi kebocoran gas dalam
ruangan sehingga data akan dikirimkan ke ADC dan diproses oleh mikrokontroller.
3.1
Display
Menampilkan pesan ada tidaknya gas
Rangkaian Power Supplay Adaptor ( PSA )
Rangkaian ini berfungsi untuk memberikan supply tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran keluaran 5 volt digunakan untuk mensupplay mensupplay tegangan ke seluruh seluruh rangkaian, rangkaian, sedangkan sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke relay. Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini :
Gambar 3.1 Rangkaian Power Supplay Adaptor (PSA)
Trafo CT merupakan trafo stepdown yang berfungsi berfungsi untuk menurunkan tegangan tegangan dari 220 220 volt volt AC menj menjad adii 12 volt volt AC. AC. Kemu Kemudi dian an 12 volt volt AC akan akan dise disear arah ahka kan n deng dengan an menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan kekurangan arus pada rangkaian, rangkaian, sehingga sehingga regulator regulator tegangan (LM7805C (LM7805CT) T) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.
3.2 3.2
Rang Rangka kaia ian n mik mikrrokon okontr trol olle lerr AT89S T89S51 51
Rangkaian mikrokontroller AT89S51 ini merupakan sistem kontrol yang mengatur fungsi fungsi kerja sistem sistem pengukuran pengukuran.. Dalam penelitian ini, mikrokontr mikrokontroler oler digunakan digunakan sebagai sebagai sistem kontrol input dan output saja. Input (masukan) pada rangkaian sistem kontrol ini dihubungk dihubungkan an dengan dengan sensor sensor medan magnetik. magnetik. Sedangkan Sedangkan output (keluaran) (keluaran) dihubungk dihubungkan an deng dengan an pira pirant ntii tampi tampilan lan,, dalam dalam hal hal ini ini dot Rangkaian aian mikrok mikrokont ontrol roler er dot matr matrix ix LCD LCD. Rangk ditunjukkan pada gambar berikut ini:
Gambar 3.3 rangkaian minimum mikrokontroller AT89S51 AT89S51 Pada rangkaian, rangkaian, Pin 31 External External Access Enable (EA) diset high (H). Ini dilakukan karena mikrok mikrokontro ontroller ller AT89S51 T89S51 tidak menggu menggunakan nakan memori memori eskternal. eskternal. dihubu dihubungk ngkan an ke XTAL XTAL 12 MHz dan capasit capasitor or
Pin 18 dan dan 19
33 pF. pF. XTAL XTAL ini akan mempen mempengaru garuhi hi
kecepatan mikrokontroller AT89S51 AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi tinggi akan me-reset mikrokontr mikrokontroller oller ini. Pin 32 sampai 39 adalah Port Port 0 yang merupakan merupakan saluran/bus saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama selama adany adanyaa akses akses ke memori memori progra program m ekstern eksternal. al. Pada Pada Port Port 0 ini masing masing masing masing pin dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yan dihubungkan ke port 0 befungsi sebagai pull up ( penaik tegangan ) agar output dari mikrokontroller dapat mntrigger transistor. Pin 1 sampai 8 adalah Port 1. Pin 21 sampai 28 adalah Port 2. Dan Pin 10 sampai 17 adalah Port 3. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan dengan + 5 volt dari power supplay. supplay.
3.3
Rangkaian ADC ( Analog to Digital Converter )
Rangkaian ADC ini berfungsi untuk merubah data analog yang dihasilkan oleh sensor gas gas LPG LPG TGS2 TGS261 610 0 menj menjad adii bila bilang ngan an digi digita tal. l. Outp Output ut dari dari ADC ADC dihu dihubu bung ngka kan n ke mikrokontroler, sehingga mikrokontroler dapat mengetahui dan mendeteksi keberadaan gas LPG yang terdapat di dalam ruangan. Dengan demikian proses pendeteksian gas LPG dapat dilakukan. Gambar rangkaian ADC ditunjukkan pada gambar di bawah ini:
Tegangan pada output sensor akan dideteksi oleh ADC. Agar output output yang dihasilkan dihasilkan oleh ADC ADC bagus, maka tegangan refrensi ADC harus benar-benar benar-benar stabil, karena perubahan perubahan tegang tegangan an refren refrensi si pada pada ADC akan akan meruba merubah h output output ADC tersebu tersebut. t. Oleh Oleh sebab sebab itu pada pada rangka rangkaian ian ADC di atas atas
tegang tegangan an masuka masukan n 12 volt dimas dimasukk ukkan an ke dalam IC regul regulator ator
tegangan 9 volt ( 7809) agar keluarannya menjadi 9 volt, kemudian keluaran 9 volt ini dimasukkan kedalam regulator tegangan 5 volt (7805), sehingga keluarannya menjadi 5 volt. Tegangan 5 volt inilah yang menjadi tegangan refrensi ADC. Dengan Dengan demikian demikian walaupun tegangan masukan turun setengahnya, setengahnya, yaitu dari 12 volt menjadi 6 volt, tegangan refrensi re frensi ADC tetap 5 volt. Output dari ADC dihubungkan ke mikrokontroler, sehingga setiap perubahan output ADC yang disebabkan oleh perubahan inputnya akan diketahui oleh mikrokontoler
3.4
Rangkaian Pe Pengendali Kipa ipas
Rang Rangkai kaian an peng pengen enda dali li kipa kipass pada pada alat alat ini ini berf berfun ungs gsii untu untuk k memu memutu tusk skan an atau atau menghubungkan sumber tegangan 12 volt dengan kipas. Gambar rangkaian pengendali kipas ini ditunjukkan pada gambar berikut ini:
gambar 3.4 Rangkaian Pengendali Kipas
Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang lainnya dihubungkan ke kipas. Hubungan yang digunakan adalah normally close. Prinsip kerja rangkaian ini pada dasarnya memanfaatkan memanfaatkan fungsi transistor sebagai saklar elektronik. elektronik. Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroler Port 3.5 (P3.5). Pada saat logika pada port 3.5 adalah tinggi (high), maka transistor mendapat tegangan bias dari kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation), sehingga adanya adanya arus yang mengalir ke kumparan kumparan relay. relay. Hal ini akan menyebabkan menyebabkan saklar pada relay menjadi tertutup, sehingga hubungan sumber tegangan 12 volt ke kipas akan terhubung dan kipas akan menyala. Begitu juga sebaliknya pada saat logika pada P3.5 adalah rendah (low) maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay terputus, sehingga sumber tegangan 12 volt dengan kipas akan terputus dan kipas tidak menyala
3.5
Rangkaian Alarm
Rangk Rangkaian aian alarm alarm pada pada alat ini berfung berfungsi si untuk untuk memutu memutuska skan n atau menghu menghubun bungka gkan n sumber sumber tegangan 12 volt volt dengan buzzer buzzer. Gambar rangkaian rangkaian alarm
ini ditunjukk ditunjukkan an pada
gambar 3.5 berikut ini:
Gbr 3.5 Rangkaian alarm Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang lainnya dihubungkan ke buzzer. Hubungan yang digunakan adalah normally open. Prinsip kerja rangkaian ini pada dasarnya memanfaatkan memanfaatkan fungsi transistor sebagai saklar elektronik. elektronik. Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroler Port 0.1 (P0.1). Pada saat logika pada port 0.1 adalah tinggi (high), maka transistor mendapat tegangan bias dari kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation), sehingga adanya arus yang mengalir ke kumparan relay. Hal ini akan menyebabkan sakar pada relay menjadi tertutup, sehingga hubungan sumber tegangan 12 volt ke buzzer akan terhubung dan buzzer akan berbunyi. Begitu juga sebaliknya pada saat logika pada P0.1 adalah rendah (low) maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay terputus, sehingga sumber tegangan 12 volt dengan buzzer akan terputus dan buzzer tidak berbunyi
BAB IV HASIL DAN PEMBAHASAN 4.1
Pengujian Rangkaian Mikrokontroller Mikrokontrolle r AT89S51
Pengu Pengujia jian n pada pada rangka rangkaian ian mikrok mikrokont ontrol roler er AT89S51 T89S51 ini dapat dapat dilaku dilakukan kan dengan dengan menghubungkan rangkaian minimum mikrokontroler AT89S51 dengan power suplay sebagai sumber tegangan. Kaki 40 dihubungkan dengan sumber tegangan 5 Volt, sedangkan kaki 20 dihubungkan dengan ground .
Gambar 4.1 pengujian rangkaian mikrokontroller AT89S51 AT89S51 Kemudian tegangan pada kaki 40 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 40 sebesar 4,9 Volt. Langkah selanjutnya adalah dengan cara menghubungkan pin17 (P3.7) dengan sebuah transistor C945 yang dihubungkan dengan sebuah LED indikator. indikator. Transis Transistor tor disini disini berfungsi berfungsi sebagai sebagai saklar untuk mengendalik mengendalikan an hidup/mati hidup/mati LED. Dengan demikian LED akan menyala jika transistor aktip dan sebaliknya LED akan mati jika transistor tidak aktip. Tipe transistor yang digunakan adalah NPN C945, dimana transistor ini akan aktif (saturasi) jika pada basis diberi tegangan 5 volt (logika high) dan transistor ini akan tidak tidak aktif aktif jika pada basi basiss dibe diberi ri tega tegang ngan an 0 volt volt (logi (logika ka low) low)..
Basi Basiss trans transis isto torr ini ini
dihubungkan ke sebuah resistor 4k7 ohm. , resistor ini berfungsi agar arus yang yang dikeluarkan oleh oleh pin17 pin17 (P3.7) (P3.7) cukup cukup besar besar untuk untuk menmen- trigger transistor transistor C945. C945. selanjutny selanjutnyaa program program
sederhana sederhana diisikan diisikan pada mikrokontr mikrokontroler oler AT89S AT89S51. 51. Program Program yang diisikan adalah sebagai berikut : Loop: Setb p3.7 Call delay Clr p3.7 Call delay Jmp loop Delay: Mov r7,#255 Dly: Mov r6,#255 Djnz r6,$ Djnz r7,dly Ret end
Prog Program ram di atas atas bertu bertuju juan an untu untuk k meng menghi hidu dupk pkan an LED LED yang yang terh terhub ubun ung g ke P3.7 P3.7 beber beberapa apa saat
dan kemudia kemudian n mematik mematikanny annya. a. Perint Perintah ah Setb P3.7 P3.7 akan akan menjad menjadika ikan n P3.7 P3.7
berlogika high yang menyebabkan menyebabkan transistor C945 aktif dan LED akan akan menyala. Call delay akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P3.7 akan menjadikan P3.7 berlogika low yang menyebabkan transistor tidak aktif dan LED akan mati. Perintah call akan menyeba menyebabka bkan n LED ini mati selama beberap beberapaa saat. saat. delay akan
Perinta Perintah h jmp Loop akan
menjadikan program tersebut berulang, sehingga akan tampak LED tersebut berkedip. Jik Jika
pro program gram
ters terseb ebut ut
diis diisik ikan an
ke
mikro ikrok kontro ntroll ller er
AT89 T89S51, 51,
kemu emudian dian
mikrok mikrokon ontrol troller ler dapat dapat berjala berjalan n sesuai sesuai dengan dengan progra program m yang yang diisik diisikan, an, maka maka rangka rangkaian ian minimum mikrokontroller AT89S51 AT89S51 telah bekerja dengan baik.
4.2
Interfacing LC LCD 2x 2x16
Bagian ini hanya terdiri dari sebuah LCD dot matriks 2 x 16 karakter yang berfungsi berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan langsung ke Port 0 dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD.
Gambar 4.2 Interfacing LCD 2x16 dengan mikrokontroller AT89S51 AT89S51
Display
karakter
pada
LCD
diatur
oleh
pin
EN,
RS
dan
RW:
Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. RW. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan akan ditu ditulis liska kan n pada pada layar layar LCD. LCD. Keti Ketika ka RW berl berlog ogik ikaa high high ”1”, ”1”, maka maka prog program ram akan akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ( 0 ) berda berdasar sarkan kan keteran keterangan gan di atas maka maka kita kita sudah sudah dapat dapat membuat membuat progam progam untuk untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai berikut: rs
bit
p2.0
rw
bit
p2.1
en
bit
p2.2
kirim_karakter: call data_penampil mov a,#'H' call kirim_data mov a,#'e' call kirim_data mov a,#'l' call kirim_data mov a,#'l' call kirim_data mov a,#'o' call kirim_data jmp kirim_karakter kirim_karakter
data_penampil: mov a,#80h
;posisi awal karakter
call data_scan ret kirim_data: mov p0,a setb rs clr rw clr en call delay ret end
Program di atas akan menampilkan kata “Hello” di baris pertama pada display LCD 2x16.
4.3
Pengujian Rangkaian ADC ( Analog to Digital Converter )
Untuk mengetahui tingkat ketelitian ADC dalam mengkonversi input analog yang diberik diberikan an maka maka terlebi terlebih h dahulu dahulu ADC terseb tersebut ut harus harus di uji ketelit ketelitian iannya nya.. Langka Langkah h yang yang digunakan untuk menguji tigkat ketelitian ADC adalah dengan cara memberikan tegangan analog yang presisi. presisi. Untuk Untuk mendapatkan mendapatkan Tegang Tegangan an analog yang presisi presisi ini dapat digunakan power lab type t ype LEADER DC Tracking Power Supply LPS152. Setiap perubahan perubahan tegangan tegangan yang diberikan diberikan merupakan input input bagi ADC yang akan diubah menjadi data digital. Proses perubahan tegangan input menjadi data digital dilakukan
dengan cara:
Output =
Vin ADC V faktor
sedangkan V faktor adalah : V faktor =
1 255
×
Vcc =
1 255
×
5Volt = 0,0196 Volt
dengan data output dapat dihitung, misalnya jika Vin ADC = 0,3 Volt, maka:
Output =
0,3Volt 0,0196 Volt
=
15,30 , data yang diubah ke bilangan biner hanya bilangan bulatnya
saja. Berarti bilang biner yang dihasilkan oleh tegangan input ADC sebesar 0,3 Volt adalah (0000 1111).pa 1111).pada da rangkaian rangkaian pengujian, pengujian, Output Output ADC melalui kaki DB0-DB7 DB0-DB7 dihubung dihubungkan kan dengan delapan buah led untuk mempermudah dalam pembacaan data.
Gambar 4.3 rangkaian pengujian ADC 0804
4.4
Pengujian Sensor & ADC Keadaan
Out Sensor (V)
Out ADC
Biner
Tidak ada Gas
2.5
127.55
01111111
2.7
137.75
10001001
3.0
153.06
10011001
3.3
168.36
10101000
3.6
183.6
10110111
3.9
198.97
11000110
4.2
214.28
11010110
4.5
229.59
11100101
4.8
244.8
11110100
5.0
255
11111111
s a G a d A
Tabel : PENGUJIAN SENSOR DAN ADC 260 250 240 230 220 210
C200 D A190 t u 180 O a 170 t a D160 150 140 130 120 110 100 2.5
2.7
3. 0
3.3
3. 6
3.9
4.2
Data Out Sensor Sensor
Grafik :
4. 5
4.8
5. 0
4.4
Pengujian Rangkaian Alarm
Pengujian rangkaian alarm dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktip jika pada basis diberi tegangan tegangan > 0,7 volt dan tidak aktip jika pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan mengaktipkan relay. Pada rangkaian ini relay digunakan untuk memutuskan hubungan alarm dengan sumber tegangan 12 volt, dimana hubungan yang digunakan adalah normally close(NC), dengan demikian jika relay aktip maka hubungan alarm ke sumber tegangan akan akan terhubung, sebaliknya sebaliknya jika relay tidak aktip, maka maka hubungan alarm ke sumber tegangan akan terputus. terputus. Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan buzzer berbunyi, berbunyi, maka rangkaian ini telah berfungsi dengan baik. Pengujian Pengujian selanjutny selanjutnyaa dilakukan dilakukan dengan menghubun menghubungkan gkan input rangkaian rangkaian ini ke mikrokontroler pada P0.1
kemudian kemudian memberikan memberikan program program sederhana sederhana pada mikrokont mikrokontroler roler AT89S AT89S51. 51. Program Program yang diberikan adalah sebagai berikut: Setb P0.1 . . . . . . . .
Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan mendapatkan tegangan 5 volt. Tegangan Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga menj menjad adii akti aktip p dan dan alarm alarm berb berbun unyi yi.. Berik Berikut utny nyaa membe memberi rika kan n prog program ram sede sederh rhan anaa untu untuk k menonaktipkan relay. Programnya sebagai berikut: Clr P0.1 . . . . . . . .
Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan mendapatkan tegangan tegangan 0 volt. Tegang Tegangan an 0 volt ini akan menonaktipkan menonaktipkan transistor transistor C945, sehingga sehingga relay juga menjadi tidak aktip dan alarm tidak berbunyi.
4.5
Rangkaian pengendali kipas
pengujian rangkaian pengendali kipas dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan mengaktipkan relay. Pada rangkaian ini relay digunakan untuk memutuskan hubungan kipas dengan sumber tegangan 12 volt, dimana hubungan yang digunakan adalah normally close(NO), dengan demikian jika relay aktip maka hubungan hubungan kipas ke sumber sumber tegangan akan terhubung, terhubung, sebaliknya jika relay tidak aktip, maka hubungan hubungan kipas ke sumber sumber tegangan akan terputus. Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan kipas menyala, maka rangkaian ini telah berfungsi dengan baik. Pengujian Pengujian selanjutny selanjutnyaa dilakukan dilakukan dengan menghubun menghubungkan gkan input rangkaian rangkaian ini ke mikrokontroler pada P0.7
kemudian kemudian memberikan memberikan program program sederhana sederhana pada mikrokont mikrokontroler roler AT89S AT89S51. 51. Program Program yang diberikan adalah sebagai berikut: Setb P0.7 . . . . . . . .
Perintah di atas akan memberikan logika high pada P0.0, sehingga P0.0 akan mendapatkan tegangan 5 volt. Tegangan Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga menj menjad adii aktip aktip dan dan kipa kipass meny menyala ala.. Beri Beriku kutny tnyaa memb memberi erika kan n prog progra ram m sede sederh rhan anaa untu untuk k menonaktipkan relay. Programnya sebagai berikut: Clr P0.7 . . . . . . . .
Perintah di atas akan memberikan logika low pada P0.7, sehingga P0.7 akan mendapatkan tegangan tegangan 0 volt. Tegang Tegangan an 0 volt ini akan menonaktipkan menonaktipkan transistor transistor C945, sehingga sehingga relay juga menjadi tidak aktip dan kipas tidak menyala.
; = ; ; ; =
= = = = = = = = = = = = = = = ; list.program LPG detector = = = = = = = = = = = = = = = ;
; = = initialisasi port = = ; rs rw en
bit bit bit
kipas1 kipas2 alarm
p2.2 p2.1 p2.0 bit bit bit
p0.0 p0.1 p0.2
intrupt bit p2.7 ; = = = scan dulu = = = ; start: clr alarm setb kipas1 setb kipas2 acall tunda_5detik clr kipas1 clr kipas2 clr alarm ;=tampil pesan pembuka=; mov a,#38h acall data_scan acall data_penampil acall polmed acall kristina acall juli mulai: clr Intrupt acall tadc setb Intrupt utama: jb Intrupt,$ acall tadc mov a,p1 mov 62h,a mov a,62h
cjne a,#255,udara_clean acall clear_screen acall pesan1 setb kipas2 setb alarm jmp utama udara_clean: acall pesan2 clr kipas1 clr kipas2 clr alarm jmp utama polmed: mov a,#'P' acall kirim_data acall delay mov a,#'O' acall kirim_data acall delay mov a,#'L' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#'T' acall kirim_data acall delay mov a,#'E' acall kirim_data acall delay mov a,#'K' acall kirim_data acall delay mov a,#'N' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#'K' acall kirim_data acall delay ;= = = tulis baris bawah = = =; mov a,#0c2h acall data_scan ; = = = = = = = = = = = = = = ; mov a,#'N'
acall kirim_data acall delay mov a,#'E' acall kirim_data acall delay mov a,#'G' acall kirim_data acall delay mov a,#'E' acall kirim_data acall delay mov a,#'R' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#' ' acall kirim_data acall delay mov a,#'M' acall kirim_data acall delay mov a,#'E' acall kirim_data acall delay mov a,#'D' acall kirim_data acall delay mov a,#'A' acall kirim_data acall delay mov a,#'N' acall kirim_data acall delay acall tunda_5detik acall clear_screen ret
kristina: acall data_penampil2 data_penampil2 acall delay mov a,#'K' acall kirim_data acall delay mov a,#'R' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#'S'
acall kirim_data acall delay mov a,#'T' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#'N' acall kirim_data acall delay mov a,#'A' acall kirim_data acall delay mov a,#' ' acall kirim_data acall delay mov a,#'S' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#'R' acall kirim_data acall delay mov a,#'E' acall kirim_data acall delay mov a,#'G' acall kirim_data acall delay mov a,#'A' acall kirim_data acall delay mov a,#'R' acall kirim_data acall delay ;= = = tulis baris bawah = = =; mov a,#0c0h acall data_scan ; = = = = = = = = = = = = = = ; mov a,#'N' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#'M' acall kirim_data
acall delay mov a,#' ' acall kirim_data acall delay mov a,#':' acall kirim_data acall delay mov a,#' ' acall kirim_data acall delay mov a,#'0' acall kirim_data acall delay mov a,#'6' acall kirim_data acall delay mov a,#'2' acall kirim_data acall delay mov a,#'3' acall kirim_data acall delay mov a,#'0' acall kirim_data acall delay mov a,#'4' acall kirim_data acall delay mov a,#'1' acall kirim_data acall delay mov a,#'7' acall kirim_data acall delay mov a,#'9' acall kirim_data acall delay acall tunda_5detik acall clear_screen ret juli: acall data_penampil2 data_penampil2 acall delay mov a,#'J' acall kirim_data acall delay mov a,#'U' acall kirim_data acall delay mov a,#'L' acall kirim_data acall delay
mov a,#'I' acall kirim_data acall delay mov a,#'A' acall kirim_data acall delay mov a,#'N' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#' ' acall kirim_data acall delay mov a,#'T' acall kirim_data acall delay mov a,#'A' acall kirim_data acall delay mov a,#'M' acall kirim_data acall delay mov a,#'B' acall kirim_data acall delay mov a,#'U' acall kirim_data acall delay mov a,#'N' acall kirim_data acall delay mov a,#'A' acall kirim_data acall delay mov a,#'N' acall kirim_data acall delay ;= = = tulis baris bawah = = =; mov a,#0c0h acall data_scan ; = = = = = = = = = = = = = = ; mov a,#'N' acall kirim_data acall delay mov a,#'I' acall kirim_data acall delay mov a,#'M' acall kirim_data
acall delay mov a,#' ' acall kirim_data acall delay mov a,#':' acall kirim_data acall delay mov a,#' ' acall kirim_data acall delay mov a,#'0' acall kirim_data acall delay mov a,#'6' acall kirim_data acall delay mov a,#'2' acall kirim_data acall delay mov a,#'3' acall kirim_data acall delay mov a,#'0' acall kirim_data acall delay mov a,#'4' acall kirim_data acall delay mov a,#'1' acall kirim_data acall delay mov a,#'7' acall kirim_data acall delay mov a,#'8' acall kirim_data acall delay acall tunda_5detik acall clear_screen ret
pesan1: ; = = = kirim karakter = = = ; acall data_penampil2 data_penampil2 mov b,#'P' acall kirim_data acall delay mov b,#'E'
acall kirim_data acall delay mov b,#'R' acall kirim_data acall delay mov b,#'I' acall kirim_data acall delay mov b,#'N' acall kirim_data acall delay mov b,#'G' acall kirim_data acall delay mov b,#'A' acall kirim_data acall delay mov b,#'T' acall kirim_data acall delay mov b,#'A' acall kirim_data acall delay mov b,#'N' acall kirim_data acall delay acall tunda_5detik acall clear_screen mov b,#38h acall data_scan acall data_penampil mov b,#'T' acall kirim_data acall delay mov b,#'e' acall kirim_data acall delay mov b,#'l' acall kirim_data acall delay mov b,#'a' acall kirim_data acall delay mov b,#'h' acall kirim_data acall delay mov b,#' ' acall kirim_data acall delay mov b,#'t' acall kirim_data acall delay mov b,#'e'
acall kirim_data acall delay mov b,#'r' acall kirim_data acall delay mov b,#'j' acall kirim_data acall delay mov b,#'a' acall kirim_data acall delay mov b,#'d' acall kirim_data acall delay mov b,#'i' acall kirim_data acall delay ;= = = tulis baris bawah = = =; mov b,#0c0h acall data_scan ; = = = = = = = = = = = = = = ; mov b,#'K' acall kirim_data acall delay mov b,#'e' acall kirim_data acall delay mov b,#'b' acall kirim_data acall delay mov b,#'o' acall kirim_data acall delay mov b,#'c' acall kirim_data acall delay mov b,#'o' acall kirim_data acall delay mov b,#'r' acall kirim_data acall delay mov b,#'a' acall kirim_data acall delay mov b,#'n' acall kirim_data acall delay mov b,#' ' acall kirim_data acall delay mov b,#'G'
acall kirim_data acall delay mov b,#'a' acall kirim_data acall delay mov b,#'s' acall kirim_data acall delay acall clear_screen ret pesan2: acall data_penampil3 acall delay mov a,#'t' acall kirim_data acall delay mov a,#'i' acall kirim_data acall delay mov a,#'d' acall kirim_data acall delay mov a,#'a' acall kirim_data acall delay mov a,#'k' acall kirim_data acall delay mov a,#' ' acall kirim_data acall delay mov a,#'a' acall kirim_data acall delay mov a,#'d' acall kirim_data acall delay mov a,#'a' acall kirim_data acall delay mov a,#' ' acall kirim_data acall delay ;= = = tulis baris bawah = = =; mov a,#0c1h acall data_scan ; = = = = = = = = = = = = = = ; mov a,#'k' acall kirim_data acall delay mov a,#'e'
acall kirim_data acall delay mov a,#'b' acall kirim_data acall delay mov a,#'o' acall kirim_data acall delay mov a,#'c' acall kirim_data acall delay mov a,#'o' acall kirim_data acall delay mov a,#'r' acall kirim_data acall delay mov a,#'a' acall kirim_data acall delay mov a,#'n' acall kirim_data acall delay mov a,#' ' acall kirim_data acall delay mov a,#'g' acall kirim_data acall delay mov a,#'a' acall kirim_data acall delay mov a,#'s' acall kirim_data acall delay ret data_penampil: mov a,#0ch acall data_scan mov a,#06h acall data_scan mov a,#83h acall data_scan ret data_penampil2: mov a,#0ch acall data_scan mov a,#06h acall data_scan mov a,#80h acall data_scan ret
data_penampil3: mov a,#0ch acall data_scan mov a,#06h acall data_scan mov a,#83h acall data_scan ret data_scan: mov p3,A clr rs clr rw setb en acall delay clr en acall delay ret kirim_data: mov p3,A setb rs clr rw setb en acall delay clr en acall delay ret clear_screen: mov a,#01h acall data_scan ret tunda_5detik: mov r7,#140 td5dtk: mov r6,#100 td5: mov r5,#100 djnz r5,$ djnz r6,td5 djnz r7,td5dtk ret delay: mov r7,#100 dly: mov r6,#200 djnz r6,$ djnz r7,dly ret tadc:
adc:
end
mov r7,#80h mov r6,#50h djnz r6,$ djnz r7,adc ret
START
OFF Alarm
ON Kipas
Tunda 5 detik
OFF Alarm & Kipas
Tampil pesan "POLMED"
Pesan "JULI"
Pesan "KRISTINA"
TIDAK
Ambil data ADC YA Ada GAS ???
Matikan Alarm
OFF Kipas
Tampil pesan "AMAN"
ON Kipas
ON Alarm
Tampil pesan "Peringatan"
BAB V KESIMPULAN DAN SARAN
5.1
Kesimpulan
5.2
Saran
Rangkaian Alat Pendeteksi Kebocoran Gas LPG
Rangkaian Alat Pendeteksi Kebocoran Gas LPG