TUGAS AKHIR PERANCANGAN ROBOT PEMADAM API BERBASIS MIKROKONTROLER AT89C51 Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana (S-1) pada Departeman Teknik Elektro
Oleh: Raymond T. Simanjuntak 020402024
DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA MEDAN 2008
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
PERANCANGAN ROBOT PEMADAM API BERBASIS MIKROKONTROLER AT89C51
Oleh: Raymond T. Simanjuntak NIM. 020402024
Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk memperoleh gelar sarjana Teknik Elektro
Disitujui oleh: Dosen Pembimbing,
Ir. Kasmir Tanjung NIP. 132 206 823
Diketahui Oleh: Ketua Departemen Teknik Elektro FT USU,
Prof. Dr. Usman S. Baafai NIP. 130 365 322
DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA MEDAN 2008 i
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
KATA PENGANTAR
Puji dan syukur penulis ucapkan kepada Tuhan atas penyertaan dan anugrahNya sehingga pada akhirnya penulis dapat menyelesaikan skripsi ini. Skripsi ini berjudul
“Perancangan
Robot
Pemadam
Api
berbasis Mikrokontroler
AT89C51”. Penulis menyadari bahwa pada hakekatnya penulisan skripsi ini tidak dapat diselesaikan penulis tanpa bantuan dan dorongan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terimakasih kepada: 1. Bapak Prof. Dr. Usman Baafai selaku ketua Departemen Teknik Elektro dan Bapak Drs. Hasdari Helmi, MT selaku sekretaris Departemen Teknik Elektro. 2. Bapak Rachmad Fauzi, ST, MT selaku dosen wali penulis yang membimbing penulis dalam perkuliahan. 3. Bapak Kasmir Tanjung, Ir selaku dosen pembimbing penulis yang telah membimbing dan mengarahkan penulisan skripsi ini. 4. Seluruh dosen pengajar dan staf pegawai Departemen Teknik Elektro. 5. Teman-teman yang tidak henti-hentinya memberi perhatian, semangat dan waktunya untuk berdoa sehingga penulis mampu menyelesaikan skripsi ini. Demikianlah skripsi ini penulis selesaikan, semoga bermanfaat bagi perkembangan robotika di Indonesia. Sekian dan terimakasih.
Medan, 6 Pebruari 2008
Penulis
iii
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
ABSTRAK
Secara umum robot dapat didefenisikan sebagai sebuah piranti mekanik yang mampu melakukan pekerjaan manusia atau berprilaku seperti manusia. Salah satu pekerjaan manusia yang dapat dilakukan robot adalah kegiatan pemadaman kebakaran. Robot Pemadam Api dirancang untuk mencari dan memadamkan api lilin yang terdapat disekitarnya. Untuk itu robot dilengkapi dengan sensor jarak dan sensor api agar dapat menjelajah ruangan tanpa menabrak benda serta dapat mendeteksi keberadaan api lilin. Program untuk menjalankan robot ditulis dalam dua bagian: bagian jelajah dan bagian penemuan_api. Pada saat tombol catu daya diON-kan, bagian jelajah akan dieksekusi. Robot akan menjelajah ruangan dan menghindari tabrakan dengan benda yang terdapat disekelilingnya. Pada saat robot mendeteksi keberadaan api lilin yang terdapat disekitarnya, bagian penemuan_api akan dieksekusi. Pada bagian ini, robot akan berputar kearah api lilin dan bergerak lurus mendekatinya hingga pada jarak yang mana api lilin dapat dipadamkan. Kemudian robot akan memadamkan api dan kembali menjelajah ruangan sampai tombol catu daya di-OFF-kan.
ii
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
DAFTAR ISI
LEMBAR PENGESAHAN .......................................................................................... i ABSTRAK .................................................................................................................... ii KATA PENGANTAR .................................................................................................. iii DAFTAR ISI ................................................................................................................ iv DAFTAR GAMBAR .................................................................................................... vii DAFTAR TABEL ........................................................................................................ ix BAB I PENDAHULUAN ............................................................................................. 1 I.1 Latar Belakang .............................................................................................. 1 I.2 Tujuan Penulisan ........................................................................................... 2 I.3 Rumusan Masalah ......................................................................................... 2 I.4 Batasan Masalah ........................................................................................... 3 I.5 Metodologi Perancangan ............................................................................... 4 I.6 Sistematika Penulisan .................................................................................... 4 BAB II MIKROKONTROLER AT89C51 DAN KOMPONEN PENDUKUNG ............ 6
II.1Mikrokontroler AT89C51 ............................................................................. 6 II.1.1 Susunan Pin AT89C51 .................................................................. 6 II.1.2 Struktur Perangkat Keras AT89C51 ............................................... 8 II.1.2.1 RAM Internal .................................................................. 10 II.1.2.2 Register Fungsi Khusus ................................................... 11 II.2 Sensor Infra Merah Sharp GP2D12 .............................................................. 12 II.3 Phototransistor ............................................................................................. 14
iv
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
II.4 OP-Amp LM324 .......................................................................................... 15 II.5 Motor dc dan Motor Driver L293D .............................................................. 16 II.5.1 Motor dc ........................................................................................ 16 II.5.2 Motor Driver L293D ..................................................................... 17 II.6 Timer 555 .................................................................................................... 17 II.7 Transistor 2PA733 ....................................................................................... 19 BAB III PERANCANGAN PERANGKAT KERAS .................................................. 21 III.1 Spesifikasi Sistem ....................................................................................... 21 III.2 Rangkaian Dasar Mikrokontroler AT89C51 ................................................ 22 III.2.1 Rangkaian Reset ........................................................................... 22 III.2.2 Rangkaian Clock .......................................................................... 24 III.2.3 Hubungan Port-port ...................................................................... 25 III.3 Rangkaian Sensor Jarak .............................................................................. 27 III.4 Rangkaian Sensor Api ................................................................................ 28 III.5 Rangkaian Pembanding Tegangan .............................................................. 31 III.5.1 Rangkaian Pembanding Untuk Sensor Api ................................... 31 III.5.2 Rangkaian Pembanding Untuk Sensor Jarak ................................. 33 III.6 Rangkaian Motor dc .................................................................................. 35 III.7 Rangkaian Duty Cycle Modulation ............................................................ 37 III.8 Rangkaian Saklar ....................................................................................... 39 III.9 Rangkaian Kipas Angin ............................................................................. 40 III.10 Rangkaian LED Indikator ........................................................................ 41 III.11 Rangkaian Robot Pemadam Api ............................................................... 42 BAB IV PERANCANGAN PERANGKAT LUNAK .................................................. 43 IV.1 Perangkat Lunak Secara Garis Besar .......................................................... 43
v
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
IV.2 Bagian Jelajah ............................................................................................ 45 IV.3 Bagian Penemuan Api ................................................................................ 49 BAB V IMPLEMENTASI DAN PENGUJIAN .......................................................... 53 V.1. Implementasi .............................................................................................. 53 V.2 Pengujian ..................................................................................................... 54 V.2.1 Pengujian Rangkaian Sensor Jarak Dengan Pembanding Tegangan .................................................................................... 54 V.2.2 Pengujian Rangkaian Sensor Api Dengan Pembanding Tegangan .................................................................................... 55 V.2.3 Pengujian Rangkaian Motor dc dengan Rangkaian DCM ............. 55 V.2.4 Pengujian Robot Pemadam Api ................................................... 56 BAB VI KESIMPULAN DAN SARAN ....................................................................... 58 VI.1. Kesimpulan ............................................................................................... 58 VI.2. Saran ......................................................................................................... 58 DAFTAR PUSTAKA ................................................................................................... 59 LAMPIRAN A Rangkaian Robot Pemadam Api Phoenix ......................................... 60 LAMPIRAN B Source Code......................................................................................... 61 LAMPIRAN C Gambar Fisik Phoenix ....................................................................... 63
vi
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
DAFTAR GAMBAR
Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89C51 ................................................ 6 Gambar 2.2 Arsitektur AT89C51 .................................................................................. 9 Gambar 2.3 Susunan SFR dan Susunan RAM internal AT89C51 .................................. 12 Gambar 2.4 Sensor Jarak GP2D12 dan Konfigurasi Pinnya .......................................... 13 Gambar 2.5 Grafik Karakteristik Output GP2D12 Terhadap Benda yang Terdapat Dihadapannya ......................................................................................... 14 Gambar 2.6 Phototransistor .......................................................................................... 14 Gambar 2.7 Grafik Karakteristik Phototransistor .......................................................... 15 Gambar 2.8 Pin-pin dalam LM324 ............................................................................... 16 Gambar 2.9 Diagram Block IC L293D ......................................................................... 17 Gambar 2.10 Pin-pin dalam Timer 555 ......................................................................... 18 Gambar 2.11 Transistor PN2222A ................................................................................ 20 Gambar 3.1 Diagram Blok Perancangan Perangkat Keras ........................................... 21 Gambar 3.2 Rangkaian Reset(A) dan Rangkaian Setaranya(B) ................................... 23 Gambar 3.3 Rangkaian Clock ....................................................................................... 25 Gambar 3.4 Hubungan Pin-pin Mikrokontroler ............................................................. 26 Gambar 3.5 Rangkaian Sensor GP2D12 ....................................................................... 27 Gambar 3.6 Peletakan Sensor GP2D12 pada Badan Robot ........................................... 28 Gambar 3.7 Rangkaian Sensor Api ............................................................................... 29 Gambar 3.8 Susunan Phototransistor pada Badan Robot ............................................... 30 Gambar 3.9 Hasil Penggabungan Beberapa Phototransistor .......................................... 30 Gambar 3.10 Susunan Phototransistor pada Badan Robot ............................................. 31
vii
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
Gambar 3.11 Rangkaian Pembanding Tegangan Untuk Sensor Api .............................. 32 Gambar 3.12 Rangkaian Pembanding Tegangan Untuk Sensor Api Menggunakan LM324N ................................................................................................. 33 Gambar 3.13 Rangkaian Pembanding Untuk Sensor Jarak ............................................ 34 Gambar 3.14 Rangkaian Pembanding Tegangan Untuk Sensor Jarak Menggunakan LM324N ................................................................................................. 35 Gambar 3.15 Rangkaian Motor dc ................................................................................ 36 Gambar 3.16 Gelombang Dengan Frekwensi Duty Cycle 10%, 50% dan 90%............... 37 Gambar 3.17 Rangkaian Duty Cycle Modulation .......................................................... 38 Gambar 3.18 Rangkaian Saklar .................................................................................... 40 Gambar 3.19 Rangkaian Kipas Angin ........................................................................... 41 Gambar 3.20 Rangkaian LED Indikator ........................................................................ 42 Gambar 4.1 Diagram Alir Perangkat Lunak .................................................................. 44 Gambar 4.2 Diagram Alir Bagian Jelajah ..................................................................... 48 Gambar 4.3 Daerah Pendeteksian Sensor Api ............................................................... 51 Gambar 4.4 Diagram Alir Bagian Penemuan Api ......................................................... 52
viii
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
DAFTAR TABEL
Tabel 2.1 Keterangan Pin Out AT89C51 ....................................................................... 7 Tabel 2.2 Karakteristik GP2D12 .................................................................................... 13 Tabel 2.3 Kegunaan pin-pin pada Timer 555 ................................................................. 19 Tabel 3.1 Hubungan pin Enable, Input dan Output IC L293D ........................................ 37 Tabel 4.1 Logika Pergerakan Robot Berdasarkan Pembacaan Sensor Jarak ................... 46 Tabel 4.2 Logika Pergerakan Robot Berdasarkan Pembacaan Sensor Api ..................... 50
ix
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
BAB I PENDAHULUAN
I.1 Latar Belakang Teknologi adalah cara untuk mendapatkan sesuatu dengan kualitas lebih baik (lebih mudah, lebih murah, lebih cepat
dan lebih menyenangkan). Salah satu
teknologi yang berkembang pesat saat ini adalah teknologi dibidang kerobotan. Robot berguna untuk membantu manusia dalam melakukan pekerjaan tertentu misalnya untuk melakukan pekerjaan yang memerlukan ketelitian tinggi, beresiko tinggi, membosankan atau yang membutuhkan tenaga besar. Menurut buku The Robot Builder's Bonanza yang ditulis oleh Gordon McComb secara umum robot dapat didefenisikan sebagai sebuah piranti mekanik yang mampu melakukan pekerjaan manusia atau berprilaku seperti manusia. Salah satu pekerjaan manusia yang dapat dilakukan robot adalah kegiatan pemadaman kebakaran. Jenis pekerjaan ini membutuhkan reaksi cepat karena kebakaran dapat dihindari apabila api dapat dipadamkan ketika belum menyebar. Ketika api telah menyebar pekerjaan pemadaman kebakaran akan menjadi pekerjaan yang sulit dan beresiko tinggi. Masalah kebakaran dapat dikurangi apabila sumber api dapat ditemukan dan dimatikan dalam waktu singkat. Dengan latar belakang tersebut maka penulis membuat “Perancangan robot pemadam api berbasis mikrokontroler AT89C51”. Dalam perancangan ini, api yang akan dipadamkan adalah api lilin.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
2
I.2 Tujuan Penulisan Tujuan penulisan tugas akhir ini adalah sebagai berikut: 1. Untuk merancang robot berbasis mikrokontroler AT89C51 yang dapat mencari dan memadamkan api lilin yang berada disekitarnya. 2. Mengaplikasikan pelajaran digital, elektronika dan mikroprosesor yang telah dipelajari selama perkuliahan. 3. Memperkaya pengetahuan penulis dan pembaca tentang mikrokontroler dan aplikasinya.
I.3 Rumusan Masalah Robot bertugas untuk mencari dan memadamkan api lilin yang terdapat disekitarnya. Agar dapat melakukan tugas tersebut maka robot harus mampu menjelajah ruangan tanpa menabrak dinding atau benda lainnya, mendeteksi keberadaan api lilin yang terdapat disekitarnya, mendekati dan memadamkan api lilin itu kemudian kembali menjelajah ruangan. Pembuatan robot pemadam api meliputi perancangan perangkat keras dan perangkat lunak. Perangkat keras robot dirancang agar mikrokontroler dapat menerima masukan dari sensor jarak dan sensor api kemudian memutuskan pergerakan motor dc melalui H-bridge L293D dan transistor hingga fungsi robot untuk memadamkan api lilin yang terdapat disekitarnya tercapai. Untuk mendeteksi dinding atau benda yang terdapat disekitar robot digunakan sensor infra merah, sedangkan untuk mendeteksi keberadaan api lilin digunakan phototransistor. Robot menggunakan dua buah motor dc sebagai penggerak roda dan sebuah motor dc untuk menggerakkan kipas angin
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
3
yang akan memadamkan api lilin.
Sebagai pengendali robot digunakan
mikrokontroler AT89C51. Sedangkan perangkat lunak ditulis agar mikrokontroler AT89C51 dapat mengontrol proses pendeteksian benda disekitar robot, keberadaan api lilin dan mengendalikan ketiga motor dc sehingga robot dapat melakukan tugas mencari dan memadamkan api lilin dengan baik.
I.4 Batasan Masalah Agar perancangan yang dibahas dalam tugas akhir ini tidak terlalu luas dan menyimpang dari topik yang telah ditentukan, maka penulis perlu membatasi permasalahan sebagai berikut: 1. Pembahasan tentang mikrokontroler AT89C51 hanya sebatas yang berkaitan dengan perancangan ini. 2. Pembahasan mengenai komponen pendukung yang meliputi: sensor infra merah GP2D12, phototransistor (sensor api), OP-AMP LM324N, motor dc, motor driver L293D, timer 555, dan komponen lainnya hanya sebatas teori umum dan yang berkaitan dengan perancangan robot pemadam api. 3. Api yang akan dipadamkan robot adalah api lilin. Lilin yang dipakai adalah lilin putih dengan tinggi 14,5 cm dan berdiameter 1,5 cm. 4. Pembahasan cara kerja robot hanya sebatas menurut kebutuhan yang meliputi analisis rangkaian tiap-tiap blok baik secara perangkat keras maupun perangkat lunak.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
4
I.5 Metodologi Perancangan Metode perancangan yang dilakukan adalah sebagai berikut: 1. Studi literatur dan diskusi Pada tahap pertama perancangan ini penulis akan mempelajari literatur yang berhubungan dengan perancangan robot pemadam api, mikrokontroler AT89C51 dan komponen pendukung yang digunakan. Penulis juga berdiskusi dengan dosen dan teman untuk memperkaya wawasan penulis mengenai perancangan robot pemadam api. 2. Perancang perangkat keras Rangkaian
yang
akan
dirancang
meliputi
rangkaian
minimum
mikrokontroler, rangkaian pengendali sensor dan rangkaian pengendali motor. 3. Perancang perangkat lunak Setelah semua perangkat keras selesai dirakit maka akan dilakukan perancangan perangkat lunak yang terdiri dari diagram alir dan listing program. 4. Pengujian robot Setelah perangkat keras dan perangkat lunak selesai dibuat, maka tahap berikutnya adalah pengujian robot. Jika hasil pengujian tidak sesuai dengan yang diharapkan, akan dilakukan perbaikan hingga tujuan tercapai.
I.6 Sistematika Penulisan Tugas Akhir ini disusun berdasarkan kerangka penulisan sebagai berikut: BAB I
: PENDAHULUAN Pada bab ini akan diuraikan mengenai latar belakang, tujuan, batasan masalah dan sistematika penulisan.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
5
BAB II
: MIKROKONTROLER AT89C51 DAN KOMPONEN PENDUKUNG Bab
ini
berisi
pembahasan
mengenai
mikrokontroler
AT89C51 dan komponen pendukung yang digunakan dalam perancangan ini. BAB III
: PERANCANGAN PERANGKAT KERAS Bab ini berisi perancangan perangkat keras robot pemadam api.
BAB IV
: PERANCANGAN PERANGKAT LUNAK Bab ini berisi pembahasan mengenai perangkat lunak yang ditulis agar robot pemadam api dapat bekerja dengan baik.
BAB V
: IMPLEMENTASI DAN PENGUJIAN Bab
ini
berisi
implementasi
perancangan,
pengujian
komponen-komponen secara terpisah dan pengujian robot.
BAB VI
: KESIMPULAN DAN SARAN Bab ini berisi kesimpulan dan saran yang bermanfaat bagi perbaikan dan pengembangan robot pemadam api.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
BAB II MIKROKONTROLER AT89C51 DAN KOMPONEN PENDUKUNG
Dalam perancangan robot pemadam api digunakan mikrokontroler AT89C51 dan komponen pendukung seperti: sensor infra merah GP2D12, phototransistor (sensor api), OP-AMP LM324N, motor dc, motor driver L293D, timer 555, dan transistor 2PA773. Berikut penjelasannya.
II.1
Mikrokontroler AT89C51 AT89C51 merupakan mikrokontroler CMOS 8 bit dengan 4K bytes memori
flash, 128 byte RAM internal, 32 pin Input-Output, dua buah timer / counter 16 bit, dan 6 sumber interupsi. Alasan pemilihan mikrokontroler ini sebagai komponen utama robot pemadam api adalah sebagai berikut: 1. Mempunyai 32 pin I/O 2. Kompatibel dengan produk MCS-51 lainnya 3. Harga perunitnya murah dan masih tetap diproduksi II.1.1 Susunan Pin AT89C51
Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89C51
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
7
Kegunaan setiap pin pada mikrokontroller AT89C51 dapat dilihat pada tabel berikut. Tabel 2.1 Keterangan pin out AT89C51 No. Pin
Nama Pin
20 40
GND VCC
32 …39
P0.7…P0.0
1…8
P1.0…P1.7
21…28
P2.0…P2.7
10...17
Alternatif
D7…D0 dan A7…A0
A8…A15
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
9
RST
30
ALE
29
PSEN
31
EA
19 18
XTAL 1 XTAL 2
Ground Power supply Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order multiplex address, data port ini akan mempunyai internal pull up. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1 sebagai output port ini dapat memberikan output sink keempat buah input TTL. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan output sink keempat buah input TTL.
Sebagai I/O biasa port 3 mempunyai sifat yang sama dengan port 1 maupun port 2. Sedangkan sebagai fungsi spesial, port – port ini mempunyai keterangan sebagai berikut :
Port 3
10 11 12 13 14 15 16 17
Keterangan
RXD TXD INT 0
INT1
T0 T1
WR
RD
PROG
VPP
Port Serial Input. Port Serial Output. Port External Interupt 0. Port External Interupt 1. Port External Timer 0 input. Port External Timer 1 input. External Data Memory Write Strobe. External Data Memory Read Strobe. Reset akan aktif dengan memberikan input high selama 2 cycle. Pin ini dapat berfungsi sebagai address latch enable (ALE) yang me-latch low byte address pada saat mengakses memori eksternal. ALE hanya akan aktif pada saat mengakses memori eksternal (Movx & Movc). Pin ini berfungsi pada saat mengeksekusi program yang terletak pada memori eksternal. PSEN akan aktif dua kali setiap cycle. Pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal pada kondisi High. Input osilator. Output osilator.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
8
II.1.2 Struktur Perangkat Keras AT89C51 AT89C51 adalah mikrokontroler keluaran Atmel dengan 4 kbyte Flash PEROM (Programmable and Erasable Read Only Memory). AT89C51 merupakan memori dengan teknologi nonvolatile memory, isi memori tersebut dapat diisi ulang atau dihapus berkali-kali. Memori ini bisa digunakan untuk menyimpan instruksi (perintah) berstandar MCS-51 code sehingga memungkinkan mikrokontroler ini untuk bekerja dalam mode single chip operation yang tidak memerlukan memori eksternal untuk menyimpan source code tersebut. Gambar 2.2 menunjukkan blok diagram pada Mikrokontroler AT89C51. AT89C51 mempunyai struktur memori yang terdiri atas : 1. RAM Internal Memori sebesar 128 byte yang biasanya digunakan untuk menyimpan variabel atau data yang bersifat sementara.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
9
Gambar 2.2 Arsitektur AT89C51 2. Special Function Register (Register fungsi khusus) Memori ini berisi register-register yang mempunyai fungsi-fungsi khusus yang disediakan oleh mikrokontroler tersebut, seperti timer, serial, dan lain-lain. 3. Flash PEROM Memori ini digunakan untuk menyimpan instruksi-instruksi MCS51. AT89C51 mempunyai struktur memori yang terpisah antara RAM Internal dan Flash PEROM-nya. RAM Internal dialamati oleh RAM Address Register (Register Alamat RAM), sedangkan Flash PEROM yang menyimpan perintahperintah MCS-51 dialamati oleh Program Address Register
(Program Register
Alamat). Dengan adanya struktur memori yang terpisah tersebut, walaupun RAM
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
10
Internal dan Flash PEROM mempunyai alamat awal yang sama yaitu alamat 00, namun secara fisiknya kedua memori tersebut tidak saling berhubungan. II.1.2.1 RAM Internal RAM internal terdiri atas : 1. Register Banks AT89C51 mempunyai 8 buah register yang terdiri atas R0 hingga R7. Kedelapan buah register ini selalu terletak pada alamat 00H hingga 07H pada setiap kali sistem direset. Namun posisi R0 hingga R7 dapat dipindah ke bank 1 (08 hingga 0FH), bank 2 (10H hingga 17H) atau bank 3 (18H hingga 1FH) dengan mengatur bit RS0 dan RS1. 2. Bit Addressable RAM RAM pada alamat 20H hingga 2FH dapat diakses secara pengalamatan bit (bit addressable) sehingga hanya dengan sebuah instruksi saja setiap bit dalam area ini dapat di-set, di-clear, di-AND dan di-OR. Dalam aplikasinya, lokasi yang dapat diakses dengan pengalamatan bit ini dapat juga digunakan untuk menandai suatu lokasi bit tertentu, baik berupa Register Fungsi Khusus yang dapat dialamati secara bit (termasuk register I/O), ataupun lokasi – lokasi tertentu yang dapat dialamati secara bit. 3. RAM Keperluan Umum RAM Keperluan Umum dimulai dari alamat 30H sampai 7FH dan dapat diakses dengan pengalamatan langsung maupun tak langsung. Pengalamatan langsung dilakukan ketika salah satu operand merupakan bilangan yang menunjukkan lokasi yang dialamati. Sedangkan pengalamatan secara tak langsung pada lokasi dari RAM Internal ini adalah akses data dari memori ketika alamat tersebut tersimpan dalam suatu
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
11
Register R0 atau R1. R0 dan R1 adalah dua buah register pada mikrokontroler berarsitektur MCS51 yang dapat digunakan sebagai pointer dari sebuah lokasi memori pada RAM Internal. Pengalamatan secara tak langsung biasa digunakan untuk mengakses beberapa lokasi memori dengan letak yang beraturan. II.1.2.2 Register Fungsi Khusus AT89C51 mempunyai 21 Special Function Register (Register Fungsi Khusus) yang terletak pada antara alamat 80H hingga FFH seperti gambar 2.3. Beberapa dari register-register ini juga mampu dialamati dengan pengalamatan bit sehingga dapat dioperasikan seperti yang ada pada RAM yang lokasinya dapat dialamati dengan pengalamatan bit. Gambar 2.3 menunjukkan susunan Special Function Register dan susunan RAM internal AT89C51.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
12
Byte Address FF F0 F7
F6
F5
F4
F3
F2
F1
F0
B
E0
E7
E6
E5
E4
E3
E2
E1
E0
ACC
D0
D7
D6
D5
D4
D3
D2
D1
D0
PSW
B8
BF
BE
BD
BC
BB
BA
B9
B8
IP
B0
B7
B6
B5
B4
B3
B2
B1
B0
P3
A8
AF
AE
AD
AC
AB
AA
A9
A8
1E
A0
A7
A6
A5
A4
A3
A2
A1
A0
P2
99 98
9F
9E
Not bit addressable 9D 9C 9B 9A
99
98
SBUF SCON
90
97
96
95
91
90
P1
8D 8C 8B 8A 89 88 87 83 82 81 80
8F
87
Bit address
8E
86
94
93
92
Not bit addressable Not bit addressable Not bit addressable Not bit addressable Not bit addressable 8D 8C 8B 8A Not bit addressable Not bit addressable Not bit addressable Not bit addressable 85 84 83 82
89
81
88
80
TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0
Byte Address 7F
Bit address
General Purpose RAM ( GPR )
30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 18 17 10 0F 8 7 0
7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 7
7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 6
7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 5
7C 74 6C 64 5C 54 4C 44 3C 34 2C 24 1C 14 0C 4
7B 73 6B 63 5B 53 4B 43 3B 33 2B 23 1B 13 0B 3
B
A
N
K
3
B
A
N
K
2
B
A
N
K
1
B
7A 72 6A 62 5A 52 4A 42 3A 32 2A 22 1A 12 0A 2
79 71 69 61 59 51 49 41 39 31 29 21 19 11 9 1
A N K 0 Default register R0 – R7
Gambar 2.3. Susunan SFR dan susunan RAM internal AT89C51 II.2
Sensor Infra Merah Sharp GP2D12 Dalam perancangan ini sensor Sharp GP2D12 digunakan pada sistem
navigasi robot agar mampu menghindari tabrakan dengan benda yang terdapat didepannya dan mengikuti dinding yang terdapat disebelah kirinya. Sharp GP2D12 merupakan sensor infra merah yang bekerja dengan prinsip pemantulan, dimana pada
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
78 70 68 60 58 50 48 40 38 30 28 20 18 10 8 0
13
sensor ini terdapat pemancar dan penerima sinar infra merah. Beberapa fitur GP2D12 yang menjadi alasan pemilihan komponen ini adalah sebagai berikut: •
Outputnya analog
•
Hampir tidak terpengaruh oleh warna benda yang dideteksi
•
Pembacaan efektif 10 hingga 80 cm (lihat Gambar 2.5)
•
Konsumsi arus rata-rata kecil, yaitu sebesar 33 mA
Gambar 2.4 Sensor jarak GP2D12 dan konfigurasi pinnya Seperti yang terlihat pada Gambar 2.4 GP2D12 memiliki 3 pin: Vo, GND dan Vcc. Vo adalah tegangan keluaran GP2D12 berdasarkan jarak benda yang dibacanya. Berikut ini adalah tabel dan grafik karakteristik GP2D12 Tabel 2.2 Karakteristik GP2D12 Parameter
Kondisi
Jarak yang diukur ( L) Tegangan L = 30 cm keluaran (Vo) Perbedaan Perbedaan tegangan tegangan keluaran pada L keluaran ( Vo) (80 cm – 10 cm) Rata-rata L = 30 cm konsumsi arus
Nilai minimum
Nilai maksimum
Satuan
10
80
Cm
0,25
0,55
V
1,75
2,25
V
-
50
mA
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
14
Gambar 2.5 Grafik karakteristik Output GP2D12 terhadap benda yang terdapat dihadapannya
II.3
Phototransistor
Gambar 2.6 Phototransistor Transitor merupakan sebuah piranti yang memungkinkan sebuah arus kecil mengatur arus yang lebih besar. Pada phototransistor arus kecil itu berasal dari sinar infra merah yang mengenai permukaannya. Semakin banyak sinar infra merah yang mengenai permukaan phototransistor, maka arus yang dilewatkan akan semakin besar. Karakteristik ini dapat dilihat pada Gambar 2.7 Karena kepekaannya terhadap sinar infra merah dari api lilin dan harganya murah, dalam perancangan ini phototransistor digunakan untuk mendeteksi keberadaan api lilin.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
15
Gambar 2.7 Grafik Karakteristik Phototransistor
II.4
OP-Amp LM324 Keluaran dari OP-AMP dipengaruhi oleh perbandingan antara kedua
masukannya (inverting dan non inverting). Apabila masukan inverting lebih besar daripada masukan non inverting maka keluaran OP-AMP akan bernilai LOW. Apabila masukan inverting lebih kecil daripada masukan non inverting maka keluaran OP-AMP akan bernilai HIGH. Dalam perancangan robot pemadam api, OPAMP yang digunakan adalah LM324. Alasan pemilihan LM324 adalah karena beberapa karakteristiknya seperti: •
Hanya membutuhkan supply arus kecil: 375µA
•
Rentang power supply yang lebar: +3V sampai +30V untuk catu daya tunggal dan ± 1,5V sampai ± 15V untuk catu daya ganda Dalam perancangan LM324 digunakan untuk mengubah keluaran dari sensor
jarak GP2D12 dan phototransistor yang berupa sinyal analog menjadi digital. Sebuah
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
16
LM324 terdiri dari empat buah OP-AMP yang terpisah, seperti yang terlihat pada Gambar 2.8.
Gambar 2.8 Pin-pin dalam LM324
II.5
Motor dc dan motor-driver L293D
II.5.1 Motor dc Motor dc menerima masukan berupa arus searah. Pada perancangan ini digunakan motor dc berukuran kecil yang disebut juga dinamo. Dinamo yang dipakai adalah dinamo 5 Volt. Alasan pemilihannya adalah sebagai berikut: •
Ukurannya kecil dan ringan.
•
Sumber tegangannya dapat berupa baterai kecil dan ringan sehingga memudahkan dalam perancangan robot berukuran kecil.
•
Arah putarannya dapat dengan mudah dibalikkan dengan cara membalikkan kutub tegangan inputnya.
•
Dapat dengan efisien dikendalikan pada tegangan 9V.
•
Harganya murah.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
17
II.5.2 Motor driver L293D Karena mikrokontroler tidak dapat memberikan arus yang cukup untuk menggerakkan motor dc maka digunakan motor driver L293D. IC L293D dipakai dalam perancangan ini karena L293D merupakan rangkaian H-Bridge yang dirancang untuk memudahkan dalam memberikan arus dua arah hingga 1 A dengan tegangan antara 4,5 volt hingga 36 volt kepada motor dc. IC L293D dapat digunakan untuk men-drive motor dc half-bridge sebanyak empat buah atau dua motor dc fullbridge. IC ini mempunyai empat pin input yang bersesuaian dengan empat pin outputnya. Selain itu juga terdapat dua pin enable/disable untuk pin output 1,2 dan pin output 3,4. Berikut ini adalah diagram bloknya.
Gambar 2.9 Diagram Blok IC L293D
II.6
Timer 555 Untuk mengendalikan kecepatan motor dc digunakan rangkaian duty cycle
modulation yang menggunakan LM555. LM555 merupakan pembangkit waktu tunda
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
18
atau osilasi yang akurat dan stabil. Alasan pemilihan LM555 sebagai komponen utama pada rangkaian duty cycle modulation adalah sebagai berikut. •
Dapat mengatur duty cycle
•
Dapat beroperasi pada mode astable dan monostable
•
Dapat menghitung waktu dari mikro detik hingga berjam-jam
•
Dapat menarik dan mengeluarkan arus listrik sebesar 200mA Dalam mode operasi waktu tunda, lamanya waktu tunda dapat ditentukan
oleh sebuah resistor dan kapasitor eksternal. Sebagai osilator untuk operasi astable, frekwensi dan duty cycle dikendalikan oleh dua resistor dan sebuah kapasitor eksternal. Rangkaian dapat ditrigger atau direset pada saat pulsa clock turun, dan rangkaian output dapat menarik atau mengeluarkan arus hingga 200mA atau mengendalikan
rangkaian
TTL.
Berikut
konfigurasi
pin
kegunaannya. 1. 2. 3. 4. 5. 6. 7. 8.
GND Trigger Output Reset Control Voltage Threshold Discharge +Vcc
Gambar 2.10 Pin-pin dalam Timer 555
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
LM555
beserta
19
Tabel 2.3Kegunaan pin-pin pada Timer 555 Pin
Gambaran
Kegunaan
1
Ground
Dihubungkan ke ground
2
Trigger
Pin ini mencatu kapan memulai perhitungan waktu. Ketika nilainya LOW, pin output akan HIGH. Triger ini diaktifkan pada saat tegangan turun dan mencapai 1/3 dari tegangan positif pada pin 8.
3
Output
Pin output berguna untuk mengendalikan rangkaian eksternal. Pin ini mempunyai konfigurasi “totem pole”, yang membuatnya dapat mengeluarkan atau menarik arus. Pin Output akan bernilai HIGH saat pin trigger bernilai LOW dan akan bernilai LOW apabila pin treshold bernilai HIGH, atau jika pin reset bernilai LOW.
4
Reset
Pin reset berguna untuk membuat pin output bernilai LOW. saat tidak digunakan, pin reset harus dihubungkan ke +V.
5
Pin control voltage memungkinkan masukan dari tegangan eksternal untuk mempengaruhi perhitungan waktu timer 555. ketika tidak Control Voltage digunakan, pin ini harus dihubungkan ke kapasitor 0,01 uF dan ke ground.
6
Threshold
Pin treshold akan membuat keluaran pin output bernilai LOW saat tegangan pada pin ini dibawah 2/3 dari +V.
7
Discharge
Pin discharge akan terhubung ke ground ketika output pin bernilai HIGH. Pada umumnya pin ini digunakan untuk mengosongkan kapasitor selama asilasi.
8
+V
Tegangan positif (3 - 18 Volt).
II.7
Transistor PN2222A Dalam perancangan ini transistor digunakan sebagai saklar elektronik yang
akan menghidupkan dan mematikan kipas angin. Gambar 2.11 menunjukkan tiga buah kaki transistor, yaitu basis, kolektor, dan emiter. Cara kerjanya adalah sebagai berikut: apabila basis diberi logika HIGH, maka arus akan mengalir dari kolektor ke emiter. Ketika basis diberi logika LOW, transistor akan tidak mengalirkan arus dari kolektor ke emiter. Pada perancangan ini digunakan Transistor NPN tipe PN2222A karena kemampuannya untuk melewatkan arus hingga 1A.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
20
Gambar 2.11 Transistor PN2222A
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
BAB III PERANCANGAN PERANGKAT KERAS
III.1
Spesifikasi Sistem Dalam perancangan robot pemadam api mikrokontroler AT89C51 digunakan
sebagai komponen utama yang mengatur komponen lainnya seperti: sensor jarak SHARP GP2D12, phototransistor (sensor api), motor dc, dan motor driver L293D. Hardware robot dirancang agar mikrokontroler dapat menerima masukan dari sensor jarak dan sensor api kemudian memutuskan pergerakan motor dc melalui H-bridge L293D hingga fungsi robot untuk memadamkan api lilin yang terdapat disekitarnya tercapai. Hardware robot dirancang sesuai diagram blok yang terdapat pada Gambar 3.1.
Gambar 3.1 Diagram Blok Perancangan Perangkat Keras Mikrokontroler menerima sinyal masukan dari dua sumber, yaitu sensor api (photo transistor) dan sensor jarak GP2D12. Agar mikrokontroler dapat membaca keluaran dari sensor api dan sensor jarak yang keluarannya analog, digunakan
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
22
L324N sebagai analog to digital converter. Swich digunakan untuk memberi masukan pada mikrokontroler agar dapat menentukan mode robot, hal ini akan dibahas lebih lanjut pada bab IV. Berdasarkan masukan dari sensor jarak dan sensor api, mikrokontroler menggerakkan tiga buah motor dc: motor dc penggerak roda kanan dan kiri serta kipas angin. Dalam hal ini motor penggerak roda kanan dan kiri robot dikendalikan melalui H-Bridge L293D, dan untuk mengendalikan kecepatannya digunakan rangkaian Duty Cycle Modulation. Sedangkan kipas angin dikendalikan melalui transistor 2PA733. Berikut adalah penjelasan diagram blok pada Gambar 3.1 bagian demi bagian.
III.2
Rangkaian Dasar Mikrokontroler AT89C51 Rangkaian sistem mikrokontroler AT89C51 berfungsi sebagai pusat kontrol
yang membaca sensor untuk menentukan keluaran yang berupa sinyal kontrol yang mengendalikan motor dc. Untuk membuat sistem mikrokontroler bekerja, dibutuhkan komponen-komponen tambahan. Untuk mereset mikrokontroler secara otomatis setiap kali catu daya dinyalakan digunakan rangkaian reset. Dan sebagai penggerak osilator internal digunakan rangkaian clock yang terdiri dari sebuah kristal dan dua buah kapasitor. Berikut akan dijelaskan rangkaian reset dan rangkaian clock secara khusus.
III.2.1 Rangkaian Reset Rangkaian reset diperlukan untuk mereset mikrokontroler secara otomatis setiap kali catu daya dinyalakan, hal ini akan me-reset program counter sehingga
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
23
perintah program yang dieksekusi dimulai pada alamat 0h. Ketika catu daya diaktifkan, rangkaian reset menahan logika tinggi pin RST dengan jangka waktu yang ditentukan oleh lamanya pengisian muatan C. Jika pin RST diberi logika high selama dua siklus mesin maka mikrokontroler akan direset. Satu siklus mesin (
12 ) membutuhkan waktu 1,085 µs, sehingga untuk mereset mikrokontroler f .osc
dibutuhkan waktu minimal 2,17 µs. Tegangan RST yang diijinkan sebesar 0,7 Vcc hingga Vcc + 0,5. Jika tegangan RST minimal 3,5 V maka tegangan pada kapasitor maksimal 1,5 V untuk dapat me-reset mikrokontroler. Rangkaian reset dibentuk dengan rangkaian RC yang dapat dilihat dalam Gambar 3.2 +vcc
C
vcc RST
R GND
Gambar 3.2 Rangkaian Reset(A) dan Rangkaian Setaranya(B) Dari rangkaian setara diperoleh: Vo =
Vo =
R
.Vi
(3.1)
sCR .Vi sCR + 1
(3.2)
1 R+ sC
dengan tegangan Vi adalah Vcc yaitu 5V, dalam fungsi Laplace adalah
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
5 sehingga: s
24
Vo =
5 sCR CR 1 . = 5. = 5. s sCR + 1 sCR + 1 s+ 1
RC
−t
Vo = 5.e RC t
5 = e RC Vo
ln
5 t = Vo RC
t = RC ln
5 Vo
(3.3)
dengan Vo adalah tegangan logika nominal yang diijinkan pin RST di mana Vo = 0,7 x Vcc = 0,7 x 5 volt = 3,5 volt sehingga t = RC ln
5 3,5
t = 0,357.R.C
(3.4)
dengan menggunakan pemisalan R = 10K dan t minimum adalah 2 µs maka untuk amannya dimisalkan = 4 µs maka: 4.10 −6 = 0,357 x 10 K x C C = 1.1nF telah memenuhi syarat minimal untuk dapat me-reset mikrokontroler AT89C51.
III.2.2 Rangkaian Clock Kecepatan proses kerja mikrokontroler ditentukan oleh sumber clock (pewaktuan) yang mengendalikan mikrokontroler tersebut. AT89C51 telah menyediakan osilator internal yang dapat digunakan untuk membangkitkan pulsa
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
25
clock. Untuk menentukan frekuensi osilatornya digunakan kristal yang dihubungkan ke pin XTAL 1 dan pin XTAL 2, serta menghubungkan pin tersebut dengan kapasitor yang dihubungkan ke ground. Besar kapasitansi kapasitor disesuaikan dengan spesifikasi pada datasheet AT89C51, yaitu sebesar 30pF ± 10pF. Karena kapasitor 30pF tidak tersedia dipasaran, maka digunakan kapasitor 33pF. Pemilihan
besar
frekuensi
disesuaikan
dengan
kebutuhan.
Untuk
mempermudah perhitungan maka digunakan kristal 12MHz. Penggunaan kristal 12MHz akan mengakibatkan satu siklus mesin (12 periode) paling lama dapat dikerjakan dalam waktu 1 s atau
1 × 12 = 1µs . Rangkaian clock dalam 12 MHz
perancangan ini ditunjukkan dalam Gambar 3.3.
Gambar 3.3 Rangkaian clock
III.2.3 Hubungan Port-port Mikrokontroler AT89C51 mempunyai empat buah port I/O yang dapat digunakan. Dalam perancangan sistem mikrokontroler ini pin-pin I/O digunakan adalah sebagai berikut: 1. Pin 0.0 – Pin 0.4 digunakan sebagai penerima masukan dari phototransistor (sensor api).
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
26
2. Pin 1.0 – Pin 1.3 digunakan sebagai penerima masukan dari sensor jarak GP2D12. 3. Pin 2.0 – Pin 2.4 digunakan sebagai pengendali motor driver L293D. Dan Pin 2.5 sebagai pengendali kipas angin. 4. Pin 1.4 dihubungkan ke saklar yang menentukan robot bekerja dalam mode jelajah atau dalam mode ruangan. 5. Pin 3.0 dan Pin 3.7 dan pin 1.5 digunakan untuk menyalakan dan memadamkan LED indikator. Hubungan pin-pin mikrokontroler ditunjukkan pada Gambar 3.4.
+
, ,
"# $% (& )*
(& )*
& %'
(& )* (& )* (& )* (& )* (& )* (& )* (& )*
!
Gambar 3.4 Hubungan pin-pin mikrokontroler
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
27
Pada rangkaian di atas, karena port 0 bersifat open drain, maka ketika mengeluarkan logika ‘0’ maka akan terbaca sebagai logika ambang. Untuk itu dibutuhkan resistor pull up agar bisa memberikan logika ‘0’. Ketika memberikan logika ‘0’ maka tegangan keluaran (VOL) seharusnya adalah 0,5 V. Karena arus yang dibutuhkan ketika logika ‘0’ (IOL) adalah 3,2 mA dan catu daya yang digunakan (Vcc) adalah 5V, maka nilai R pull up yang dibutuhkan adalah:
R pull _ up =
Vcc − VOL I OL
R pull _ up =
5V − 0,5V 3,2mA
(3.5)
R pull _ up = 1406,25 Ω ≈ 1,5kΩ
III.3
Rangkaian Sensor Jarak Dalam perancangan ini dibutuhkan empat buah sensor GP2D12. Sensor jarak
GP2D12 memiliki tiga buah pin keluaran: Vo (tegangan keluaran), Vcc dan GND. Pin Vcc dihubungkan dengan sumber tegangan 5V. Pin GND dihubungkan ke ground, dan Vo keempat sensor jarak dihubungkan ke pin 1.0 – pin 1.3 pada mikrokontroler AT89C51 melalui rangkaian pembanding. Gambar 3.5 dan Gambar 3.6 berikut menunjukkan hubungan pin-pin GP2D12 dan posisinya pada badan robot.
Gambar 3.5 Rangkaian Sensor GP2D12
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
28
Gambar 3.6 Peletakan Sensor GP2D12 pada Badan Robot Keuntungan yang diperoleh dari penyusunan phototransistor seperti Gambar 3.6 adalah robot dapat menghindari tabrakan dengan benda di depan, di depan kiri dan didepan kanan serta mengikuti dinding yang terdapat disebelah kiri dengan hanya menggunakan empat buah sensor jarak.
III.4
Rangkaian Sensor Api Rangkaian sensor api berfungsi untuk memberitahu mikrokontroler apabila
ada api yang terdeteksi disekitar robot. Komponen utama dari rangkaian ini adalah phototransistor. Apabila api lilin terdeteksi, phototransistor akan mengalirkan arus dari Vcc ke ground sehingga tegangan outputnya akan LOW. Output rangkaian sensor api dihubungkan ke rangkaian pembanding. Berikut adalah rangkaian phototransistor (sensor api).
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
29
Gambar 3.7 Rangkaian Sensor Api Keluaran rangkaian akan menjadi masukan pada rangkaian pembanding. Rangkaian pembanding dapat menerima masukan dengan tegangan -0.3 V hingga 5,03 V dan arus maksimum 50 mA. Sedangkan arus maksimum yang dapat melewati phototransistor tidak diketahui karena ketidaktersediaan datasheetnya. Resistor R akan membatasi arus yang mengalir pada phototransistor dan rangkaian pembanding. Supaya aman, nilai arus yang melewati phototransistor dibatasi hingga 0,5 mA. Dengan demikian besar tahanan minimum yang dibutuhkan adalah sebagai berikut. V = I×R
R=
5V 0,5mA
R = 10kΩ
Sebuah phototransistor dapat mendeteksi api lilin dalam sudut pandang 500. Sehingga agar dapat mendeteksi api dalam 3600 dibutuhkan paling sedikit 8 buah phototransistor yang masing-masing mendeteksi api dalam sudut 450. Hal ini dapat dilihat pada Gambar 3.8
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
30
!
*
%)) )*
Gambar 3.8 Susunan Phototransistor pada badan robot Keuntungan yang diperoleh dari penyusunan phototransistor seperti Gambar 3.9 adalah keberadaan api dapat langsung diketahui sekaligus dengan posisinya terhadap robot. Dengan demikian robot dapat berputar kearah lilin. Untuk menyederhanakan pemrograman, kedelapan phototransistor itu dibagi dalam empat kelompok. Yaitu dengan cara menyatukan keluaran phototransistor 1, 2, dan 3 serta transistor 6, 7, dan 8. Hasilnya diperlihatkan pada Gambar 3.9. Keempat kelompok itu adalah A, B, C, dan D.
Gambar 3.9 Hasil Penggabungan Beberapa Phototransistor Posisi phototransistor seperti pada gambar diatas membuat robot dapat berputar kearah api lilin, tetapi untuk membuat robot dapat bergerak lurus mendekati
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
31
api lilin itu, diperlukan sebuah phototransistor lagi (phototransistor C) yang mengarah tepat kedepan robot seperti yang ditunjukkan pada Gambar 3.10.
Gambar 3.10 Susunan 9 Phototransistor pada Badan Robot Gambar 3.10 menunjukkan bahwa antara phototransistor B dan D terdapat celah sempit. Celah sempit ini adalah garis yang akan diikuti robot untuk mendekati lilin. Hal ini akan dibahas lebih lanjut pada BAB IV.
III.5
Rangkaian Pembanding Tegangan Pembanding tegangan berfungsi untuk membandingkan tegangan masukan,
dalam hal ini sinyal dari sensor jarak dan sensor api. Pembanding tegangan dalam perancangan ini menggunakan penguat operasional LM324N.
III.5.1 Rangkaian Pembanding Untuk Sensor Api Sinyal dari sensor sensor api dijadikan masukan bagi pembanding dengan menghubungkannya ke masukan inverting IC LM324N. Saat tegangan masukan pembanding berada di atas tegangan referensi, maka keluaran pembanding adalah LOW (0V). Sebaliknya jika tegangan masukan pembanding di bawah tegangan referensi, maka keluaran pembanding adalah HIGH (5V). Mikrokontroler akan membaca sinyal HIGH sebagai tanda bahwa ada api lilin yang terdeteksi.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
32
Tegangan referensi diperoleh dengan memanfaatkan potensiometer sebagai pembagi tegangan. Karena arus input maksimum LM324 adalah 50mA dan agar lebih aman arus dibatasi hingga 5mA, maka nilai potensiometer minimum yang dibutuhkan adalah sebagai berikut. V = I×R
R=
5V 5mA
R = 1kΩ
Rangkaian pembanding untuk sensor api ditunjukkan dalam Gambar 3.11 di bawah ini.
Gambar 3.11 Rangkaian Pembanding Tegangan Untuk Sensor Api Gambar 3.12 menunjukkan rangkaian pembanding untuk sensor api menggunakan LM324N.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
33
Gambar 3.12 Rangkaian Pembanding Tegangan Untuk Sensor Api Menggunakan LM324N
III.5.2 Rangkaian Pembanding Untuk Sensor Jarak Rangkaian pembanding untuk sensor jarak memiliki sedikit perbedaan dengan rangkaian pembanding sebelumnya. Rangkaian ini disusun untuk menghasilkan sinyal keluaran LM324N yang stabil sehingga dapat dibaca mikrokontroler dengan baik. Pada rangkaian ini keluaran dari sensor jarak GP2D12 dihubungkan ke masukan non inverting IC LM324N. Sehingga saat tegangan masukan pembanding berada di atas tegangan referensi, maka keluaran pembanding adalah HIGH (5V). Sebaliknya jika tegangan masukan pembanding di bawah tegangan referensi, maka keluaran pembanding adalah LOW (0V). Mikrokontroler akan membaca sinyal LOW itu sebagai tanda bahwa ada benda yang terdeteksi. Rangkaian pembanding untuk sensor jarak ditunjukkan dalam Gambar 3.13 pada halaman berikutnya.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
34
Gambar 3.13 Rangkaian Pembanding Untuk Sensor Jarak Rangkaian pembanding untuk sensor jarak mempunyai konfigurasi schmitt trigger untuk menghilangkan derau pada keluarannya. Untuk menghitung besar treshold digunakan rumus:
T=
R1 Vsat R2
(3.6)
Dimisalkan R1 = 100k Ohm dan R2 = 1 M Ohm dan Vsat = 5V, maka
T=
100 × 10 3 Ω 5V 10 6 Ω
T=
100 × 10 3 Ω 5V 10 6 Ω T = 0.5V
Pada gambar di halaman berikutnya digunakan dua buah potensiometer. Sebuah digunakan untuk mengatur kepekaan sensor jarak bagian belakang (A dan D) dan satu lagi digunakan untuk mengatur kepekaan sensor jarak bagian depan (B dan C).
Gambar 3.14 menunjukkan rangkaian pembanding untuk sensor api
menggunakan LM324N.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
35
Gambar 3.14 Rangkaian Pembanding Tegangan Untuk Sensor Jarak Menggunakan LM324N
III.6
Rangkaian Motor dc Rangkaian motor dc dirancang dengan menggunakan IC L293D karena
mikrokontroler tidak mampu men-drive beban induktif seperti motor dc secara langsung. Hai ini disebabkan pin keluaran dari mikrokontroler tidak mampu memberi arus yang cukup untuk motor dc. Input L293D berasal dari mikrokontroler dan pada Gambar 3.15 terlihat bahwa keluarannya yang bersesuaian dihubungkan dengan motor dc, dimana pin output 1 dan pin output 2 dihubungkan ke motor kiri, sedangkan pin output 3 dan 4 dihubungkan ke ke motor kanan.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
36
Gambar 3.15 Rangkaian motor dc IC L293D memiliki 2 pin enable. Pin enable 1 untuk mengaktifkan pin output 1 dan 2, sedangkan pin enable 2 digunakan untuk mengaktifkan pin output 3 dan 4. kedua pin enable ini dipararelkan dan dihubungkan ke rangkaian Duty Cycle Modulation, agar kecepatan motor dc dapat diatur. Besarnya tegangan yang diberikan oleh L293D ke motor sama dengan besar tegangan yang diberikan pada pin Vs (Vcc2) yaitu sebesar 9 volt. Sedangkan pin Vss (Vcc1) digunakan sebagai sumber tegangan IC L293D. Untuk mengendalikan arah putaran motor, pin input 1 - 4 pada L293D dihubungkan ke pin 2.0 – pin 2.3 pada mikrokontroler AT89C51. Arah putaran motor kiri ditentukan oleh pin input 1 dan 2, sedangkan arah putaran motor kanan ditukan oleh pin input 3 dan 4. Tabel 3.1 berikut menunjukkan hubungan pin enable, pin input dan pin output pada IC L293D.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
37
Tabel 3.1 Hubungan pin enable, input dan output IC L293D Enable 1 dan 2 0 1 1 1 1 III.7
Input 1
Input 2
Output 1
Output 2
Gerakan Motor
x 0 0 1 1
x 0 1 0 1
0 0 0 1 1
0 0 1 0 1
Diam Diam Berputar ke kanan Berputar ke kiri Diam
Rangkaian Duty Cycle Modulation Rangkaian Duty Cycle Modulation digunakan untuk mengendalikan
kecepatan motor dc. Cara kerjanya adalah dengan mengirim sinyal yang meng-ON dan meng-OFF-kan motor driver L293D dengan frekwensi tertentu. Waktu ON dan OFF ini dikenal sebagai “duty cycle“. Gambar berikut menunjukkan bentuk gelombang dengan frekwensi duty cycle 10%, 50% dan 90%.
Gambar 3.16 Gelombang Dengan Frekwensi Duty Cycle 10%, 50% dan 90% Dapat dilihat bahwa pada duty cycle 10% sinyal akan HIGH selama 10% dari panjang gelombang dan LOW pada 90% dari penjang gelombang berikutnya. Sinyal ini akan dikirimkan ke motor driver L293D dengan frekwensi yang cukup tinggi sehingga pulsa itu tidak berpengaruh pada kestabilan putaran motor. Hasil akhir dari Duty Cycle Modulation adalah pengendalian kecepatan motor dc secara stabil dan efisien. Berikut adalah gambar rangkaian Duty Cycle Modulation sederhana dengan menggunakan Timer 555.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
38
Gambar 3.17 Rangkaian Duty Cycle Modulation Pada gambar diatas timer 555 difungsikan sebagai osilator astable. Artinya pada saat di-ON-kan, timer 555 akan terus berosilasi tanpa ada interupsi dari luar. Dapat dilihat bahwa Pin reset (pin 4) dihubungkan ke +V, sehingga tidak mempengaruhi operasi rangkaian. Pin discharge dihubungkan ke resistor pull up R2 agar dapat men-drive driver motor dc L293D. Besar tahanan R2 ditentukan oleh arus yang dibutuhkan oleh pin enable/disable L293D sehingga berlogika HIGH, yaitu sebesar 5 mA. Dengan demikian besar tahanan yang dibutuhkan adalah sebagai berikut. V = I×R
R=
5V 5mA
R = 10kΩ
Cara kerja rangkaian adalah seperti berikut. Pada saat rangkaian di-ON-kan, pin trigger (pin 2) akan LOW karena kapasitor C1 dikosongkan. Hal ini akan memulai osilasi dan membuat pin output (pin 3) HIGH. Ketika pin output HIGH, kapasitor C1 akan diisi kembali sesuai dengan bagian bawah R1 dan dioda D2. Ketika tegangan C1 mencapai 2/3 dari +V, treshold (pin 6) akan diaktifkan.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
39
Akibatnya output (pin 3) dan pin discharge (pin 7) bernilai LOW. Ketika pin output bernilai LOW, kapasitor C1 diisi melalui bagian atas R1 dan D1. Ketika tegangan pada C1 turun hingga dibawah 1/3 dari +V, pin output dan pin discharge akan bernilai HIGH, dan siklus akan berulang. Pin 5 tidak digunakan sebagai input tegangan luar, sehingga di bypass ke ground melalui kapasitor 0,10 uF. Kapasitor C1 dikosongkan melalui satu sisi dari R1 dan diisi melalui sisi R1 yang lain. Jumlah tahanan pengosongan dan pengisian selalu sama, sehingga panjang gelombang yang dihasilkan selalu sama. R1 hanya memvariasikan duty cycle. Frekwensi Duty Cycle dari rangkaian ini bergantung pada nilai R1 dan C1. Sesuai dengan rumus: Frekwensi = Dengan R1 sebesar 100 k
1,44 R1* C1
(3.7)
dan C1 sebesar 0.1 µF, maka:
Frekwensi =
1,44 100 × 10 3 × 0,1 × 10 −6
Frekwensi = 144 Hz Diperoleh frekwensi pada rangkaian ini adalah 144 Hz. Pin output digunakan untuk mengisi dan mengosongkan C1, dari pada pin discharge (pin 7). Hal ini dilakukan karena pin output mempunyai konfigurasi totem pole. Ia dapat mengeluarkan dan menarik arus, sementara pin discharge hanya dapat menarik arus. Dengan catatan bahwa pin output dan pin discharge bernilai HIGH dan LOW pada waktu yang bersamaan.
III.8
Rangkaian Saklar Rangakaian saklar yang terhubung ke pin 1.4 adalah seperti Gambar 3.18
berikut. Dapat dilihat bahwa rangkaian saklar memiliki resistor pulldown sebesar 10k
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
40
Ohm. Apabila saklar terbuka Pin 3.2 akan berlogika LOW apabila saklar ditutup Pin3.2 akan berlogika HIGH.
Gambar 3.18 Rangkaian Saklar Pada saat saklar terbuka Pin 3.2 akan berlogika HIGH dan ketika saklar ditutup pin 3.2 akan berlogika LOW. Tahanan R berfungsi untuk membatasi arus yang mengalir ke mikrokontroler agar mikrokontroler tidak terbakar. Nilai arus dibatasi sehingga nilai maksimumnya 0,5 mA. V = I×R
R=
5V 0,5mA
R = 10kΩ
III.9
Rangkaian Kipas Angin Kipas angin yang berupa motor dc digunakan sebagai piranti yang akan
memadamkan api. Motor dc mempunyai dua buah kutub, kutub positif dan kutub negatif. Kutub positif motot dc dihubungkan ke catu daya 5V sedangkan kutub negatifnya dihubungkan ke emiter transistor. Basis transistor dihubungkan ke pin 2.4 pada mikrokontroler AT89C51, sedangkan kolektornya dihubungkan ke ground. Dengan demikian kipas angin akan active LOW.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
41
Karena motor dc mempunyai hambatan dalam 10kOhm, maka arus yang akan melewati transistor adalah sebesar: V = I×R
I=
5V 10Ω
I = 0,5 A
Dengan demikian, transistor yang dipasang harus mampu melewatkan arus lebih dari 0,5 A. Pada perancangan ini transistor PN2222A yang dipakai dapat melewatkan arus hingga 1A. Sebuah dioda dipasang pararel dengan motor dc dan berlawanan arah dengan arah arus yang mengalir didalam motor untuk menghilangkan arus induksi yang dihasilkan. Gambar 3.19 berikut menunjukkan rangkaian kipas angin.
Gambar 3.19 Rangkaian Kipas Angin
III.10 Rangkaian LED Indikator LED indikator adalah LED yang menunjukkan pembacaan sensor. Apabila sensor yang bersesuaian mendeteksi keberadaan api atau benda disekeliling robot, maka LED indikator akan menyala.Karena ada lima kelompok sensor api dan empat
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
42
buah sensor jarak, maka terdapat sembilan buah LED status. Gambar 3.20 menunjukkan rangkaian LED indikator.
Gambar 3.20 Rangkaian LED Indikator LED dapat dinyalakan dengan cara membuat pin mikrokontroler yang terhubung dengannya bernilai LOW. Resistor digunakan untuk membatasi arus yang mengalir ke mikrokontroler. Agar LED tidak rusak, maka arus yang mengalir melaluinya harus dibatasi agar tidak lebih dari 20 mA. Agar lebih aman arus dibatasi hingga 10 mA. Sehingga nilai resistor yang dibutuhkan adalah: V = I×R
R=
5V 10 × 10 −3 A
R = 500Ω
III.11 Rangkaian Robot Pemadam Api Rangkaian robot pemadam api adalah rangkaian hasil penggabungan semua rangkaian
yang
dijelaskan
diatas.
Rangkaian
ini
membutuhkan
sebuah
mikrokontroler AT89C51, sebuah motor driver L293D, tiga OP-AMP LM324N, sebuah Timer 555, sembilan sensor api (photo transistor) empat sensor jarak SHARP GP2D12, tiga motor dc dan komponen lainnya. Rangkaian robot pemadam api ditunjukkan pada Lampiran A.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
BAB IV PERANCANGAN PERANGKAT LUNAK
Perancangan perangkat lunak dalam sistem ini bertujuan agar mikrokontroler AT89C51 dapat mengontrol proses pendeteksian benda disekitar robot, keberadaan api lilin dan mengendalikan ketiga motor dc sehingga robot dapat melakukan tugas mencari dan memadamkan api lilin dengan baik. Software ini ditulis dalam bahasa assembly dan akan ditanamkan pada mikrokontroler AT89C51. Software yang digunakan sebagai assembler untuk menghasilkan file HEX dari bahasa assembly yang digunakan adalah 8051 Editor, Assembler, Simulator (IDE) Evaluation Vertion 1.20 dari AceBus.
IV.1
Perangkat Lunak Secara Garis Besar Perancangan perangkat lunak robot pemadam api dilakukan dengan metode
poling. Dengan demikian mikrokontroler akan memeriksa pembacaan sensor jarak dan sensor api lalu memutuskan pergerakan robot. Hal ini dapat dilihat dari souce codenya yang terdapat pada Lampiran B. Secara sederhana program dapat dijelaskan melalui diagram alir yang terdapat pada Gambar 4.1 Ketika tombol power di-ON-kan, robot akan bekerja dan mikrokontroler akan direset sehingga program akan mulai dijalankan dari alamat 0h. Kemudian mikrokontroler akan memberi nilai awal pada setiap port I/O. Setelah itu keluaran setiap sensor dibaca dan LED indikator yang bersesuaian dengan sensor yang mendeteksi keberadaan api atau benda dinyalakan. LED indikator ini berfungsi untuk menunjukkan pembacaan setiap sensor oleh mikrokontroler.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
44
Gambar 4.1 Diagram Alir Perangkat Lunak Dari gambar diatas dapat dilihat bahwa bagian jelajah menjadi prioritas utama. Hanya jika ada api lilin yang terdeteksi dan tidak ada benda didepan robot, program jump ke bagian penemuan_api. Bagian jelajah dibagi dua, yaitu mode ruangan dan mode lapangan. Kedua mode ini diatur dengan meng-ON/OFF-kan saklar yang terhubung dengan pin 1.4 pada mikrokontroler AT89C51. Sesuai dengan namanya mode ruangan diaktifkan jika robot berada dalam ruangan dan harus menelusuri ruangan itu
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
45
untuk menemukan api. Pada mode ruangan robot akan menelusuri dinding yang terdapat di sebelah kirinya. Sedangkan dalam mode lapangan, robot akan bergerak maju dan menghindari tabrakan dengan benda lain yang terdapat didepannya. Apabila robot mendeteksi api lilin dan tidak mendeteksi ada benda didepannya, maka robot akan mendekati api lilin itu hingga jarak tertentu dimana lilin dapat dipadamkan dengan menghidupkan kipas angin. Robot akan mengasumsikan bahwa api lilin telah padam ketika tidak mendeteksi keberadaannya lagi. Ketika hal itu terjadi, program akan jump ke bagian awal, demikian seterusnya hingga tombol power di-OFFkan kembali.
IV.2
Bagian Jelajah Pada sub bab berikut akan dijelaskan secara khusus bagian jelajah. Pada bagian
jelajah robot akan membaca keempat sensor jarak dan memutuskan pergerakan motor kiri dan motor kanannya. Mikrokontroler akan mengetahui keberadaan benda disekeliling robot ketika salah satu pin I/O yang terhubung ke rangkaian sensor jarak bernilai LOW. Posisi masing-masing sensor jarak dapat dilihat pada lampiran C atau pada Gambar 3.7. Karena ada empat buah sensor jarak, maka akan ditemukan enambelas kemungkinan kondisi. Hal ini dapat dilihat pada Tabel 4.1.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
46
Tabel 4.1 Logika Pergerakan Robot Berdasarkan Pembacaan Sensor Jarak Kondisi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
C 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
A 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Gerakan Robot Balik Arah Belok Kanan Belok Kiri Belok Kanan
Belok Kiri Maju Maju / Belok kiri *
*Maju pada mode lapangan dan belok kiri pada mode ruangan
Ide dasar dari penentuan gerakan robot berdasarkan pembacaan sensor jarak adalah bagaimana agar robot dapat bergerak secara efektif menghindari tabrakan dengan benda yang menghalangi jalannya dan bernavigasi didalam ruangan. Dari Tabel 4.1 dapat dilihat bahwa pada bagian jelajah terdapat dua mode, yaitu mode ruangan dan mode lapangan. Perbedan dari kedua mode ini hanya terdapat pada kondisi limabelas dan enambelas. Dimana pada mode lapangan robot akan terus maju apabila sensor B dan C tidak mendeteksi benda. Sedangkan pada mode ruangan, robot akan berbelok terus berbelok ke kiri apabila sensor pabila sensor B dan C tidak mendeteksi benda dan sensor jarak A tidak mendeteksi adanya dinding di sebelah kiri. Karena pada mode ruangan,
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
47
robot akan menjelajah ruangan dengan cara mengikuti dinding yang terdapat disebelah kirinya. Pada kondisi tigabelas dan empatbelas robot akan bergerak maju karena terdeteksi benda disebelah kiri dan karena tidak terdeteksi adanya benda yang menghalangi robot apabila gerakannya maju. Pada kondisi sembilan hingga duabelas robot akan berbelok ke kiri karena sensor B mendeteksi keberadaan benda di depan kanan robot, sehingga untuk menghindari tabrakan dengan benda tersebut robot harus berbelok ke kiri. Dalam hal ini pembacaan sensor A dan D diabaikan. Pada kondisi lima hingga delapan robot akan berbelok ke kanan karena sensor jarak C mendeteksi keberadaan benda di depan kanan robot, sehingga untuk menghindari benda tersebut robot harus berbelok ke kanan. Dalam hal ini pembacaan sensor A dan D juga diabaikan. Pada kondisi empat robot berbelok ke kanan karena sensor B dan C mendeteksi ada benda tepat didepan robot. Sehingga untuk menghindarinya robot harus berbelok ke kanan atau kekiri. Dalam hal ini berbelok ke kanan dipilih agar robot dapat memposisikan benda atau dinding itu disebelah kirinya. Hal ini akan menjadi penting apabila robot berjalan dalam mode ruangan. Pada kondisi tiga robot akan berbelok ke kiri karena sensor B, C dan D mendeteksi ada benda tepat didepan dan dikanan robot. Sehingga untuk menghindarinya robot harus berbelok kekiri.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
48
Pada kondisi dua robot akan berbelok ke kanan karena sensor A, B dan C mendeteksi keberadaan benda tepat di depan dan dikiri robot. Sehingga untuk menghindarinya robot harus berbelok ke kanan. Sedangkan pada kondisi satu semua sensor jarak mendeteksi keberadaan benda di sekeliling robot. Sehingga untuk menghindarinya robot harus berbalik arah. Robot berbalik arah dengan cara berbelok kanan hingga sensor B dan C tidak mendeteksi ada benda tepat dihadapan robot. Dengan demikian robot dapat menentukan setiap tindakan berdasarkan setiap kemungkinan kondisi yang ada. Namun untuk menentukan tindakan apa yang akan dilakukan, mikrokontroler tidak harus memeriksa pembacaan setiap sensor jarak, hal ini dapat dilihat pada diagram alir pada Gambar 4.2.
Gambar 4.2 Diagram Alir Bagian Jelajah
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
49
Dari Gambar 4.2 dapat dilihat bahwa urutan prioritas pemeriksaan sensor adalah sensor C dan sensor B, setelah itu sensor A dan sensor D. Pembacaan sensor A dan D diperiksa jika pembacaan sensor C dan B bernilai LOW (kondisi 1-4) dan jika kondisi yang terjadi adalah kondisi limabelas atau enambelas.
IV.3
Bagian penemuan_api Seperti yang telah dijelaskan pada sub bab III.3, robot pemadam api Phoenix
menggunakan sembilan buah phototransistor yang dibagi dalam 5 kelompok: A, B, C, D dan E. Hal ini ditunjukkan oleh Gambar 4.3. Mikrokontroler akan mengetahui keberadaan api lilin disekeliling robot ketika salah satu pin I/O yang terhubung ke rangkaian sensor api bernilai HIGH. Karena terdapat lima kelompok phototransistor, maka akan ditemukan tiga puluh dua kemungkinan kondisi. Tabel 4.2 menunjukkan ketigapuluh dua kondisi itu.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
50
Tabel 4.2 Logika Pergerakan Robot Berdasarkan Pembacaan Sensor Api Depan Depan Depan Kiri Kanan Kondisi kiri kanan Gerakan Robot C B D A E 1 0 0 0 0 0 Dilarang* 2 0 0 0 0 1 Belok kanan 3 0 0 0 1 0 Belok kiri 4 0 0 0 1 1 5 0 0 1 0 0 6 0 0 1 0 1 Belok kanan 7 0 0 1 1 0 8 0 0 1 1 1 9 0 1 0 0 0 10 0 1 0 0 1 11 0 1 0 1 0 12 0 1 0 1 1 Belok kiri 13 0 1 1 0 0 14 0 1 1 0 1 15 0 1 1 1 0 16 0 1 1 1 1 17 1 0 0 0 0 18 1 0 0 0 1 Maju 19 1 0 0 1 0 20 1 0 0 1 1 21 1 0 1 0 0 22 1 0 1 0 1 Belok kanan 23 1 0 1 1 0 24 1 0 1 1 1 25 1 1 0 0 0 26 1 1 0 0 1 Belok kiri 27 1 1 0 1 0 28 1 1 0 1 1 29 1 1 1 0 0 30 1 1 1 0 1 Maju 31 1 1 1 1 0 32 1 1 1 1 1 * Kondisi nomor satu terlarang karena program akan jump ke bagian penemuan_api hanya jika api lilin terdeteksi. Sehingga ketika bagian penemuan_api dieksekusi, tidak mungkin tidak ada api lilin yang terdeteksi.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
51
Ide dasar dari penentuan gerakan robot berdasarkan pembacaan sensor api adalah bagaimana agar robot dapat bergerak secara efektif berputar kearah api lilin dan maju mendekatinya dalam garis lurus. Perhatikan Gambar 4.3.
Gambar 4.3 Daerah Pendeteksian Sensor Api Apabila api lilin yang terdeteksi berada pada daerah A dan B, robot akan berputar ke kiri hingga api lilin berada di daerah C2. Apabila api lilin berada pada daerah D dan E, robot akan berputar ke kanan hingga api lilin berada pada daerah C2. Ketika api lilin berada di daerah C2, robot akan bergerak maju hingga mencapai jarak 4 cm dari lillin. Apabila terdapat lebih dari satu api lilin, maka lilin yang terlebih dahulu dipadamkan (berdasarkan prioritas) adalah lilin yang terdapat disebelah depan, depan kiri, depan kanan, kiri dan yang terakhir kanan. Dari Gambar 4.4 dapat dilihat bahwa untuk menentukan tindakan apa yang akan dilakukan, mikrokontroler tidak harus memeriksa pembacaan setiap sensor api.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
52
Gambar 4.4 Diagram Alir Bagian penemuan_api
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
BAB V IMPLEMENTASI DAN PENGUJIAN
V.1. Implementasi Perancangan robot pemadam api terdiri dari perancangan software dan perancangan hardware. Software ini ditulis dalam bahasa assembly dan akan ditanamkan pada mikrokontroler AT89C51. Software yang digunakan sebagai assembler untuk menghasilkan file HEX dari bahasa assembly yang digunakan adalah 8051 Editor, Assembler, Simulator (IDE) Evaluation Vertion 1.20 dari AceBus. Untuk menanamkan file HEX pada mikrokontroler digunakan program EZ-Downloader V4.0 dan AT89C51 Programmer. Hasil implementasi kemudian diuji secara hardware.
Tahap-tahap implementasi adalah sebagai berikut: 1. Meng-instal program 8051 Editor, Assembler, Simulator (IDE) Evaluation Vertion 1.20 dan EZ-Downloader V4.0. Sistem operasi yang digunakan adalah Windows 2000 Profesional Service Pack 4. 2. Menulis program dalam bahasa assembly dengan 8051 Editor, Assembler, Simulator (IDE) dan meng-compile-nya sehingga dihasilkan file HEX. 3. Menenam file HEX ke mikrokontroler AT89C51 dengan menggunakan EZDownloader dan AT89C51 Programmer. 4. Menguji hardware yang telah ditanam program.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
54
V.2 Pengujian Pengujian software dan pengujian hardware dilakukan secara terpisah dan secara keseluruhan. Pengujian robot secara terpisah terdiri dari pengujian rangkaian motor dengan rangkaian Duty Cycle Modulation, rangkaian sensor jarak GP2D12 dengan rangkaian pembandingnya, rangkaian sensor api dengan rangkaian pembandingnya dan pengujian sistem secara keseluruhan. V.2.1 Pengujian Rangkaian Sensor Jarak dengan Pembanding Tegangan Tujuan pengujian sensor jarak dengan rangkaian pembanding adalah agar sensor jarak dapat mendeteksi benda pada jarak tertentu. Hasilnya dapat diketahui dari menyala atau padamnya LED indikator. Pengujian sensor jarak dilakukan sebagai berikut: 1. Sensor
jarak
dihubungkan
dengan
pembanding
tegangan
dan
mikrokontroler AT89C51 yang telah ditanam program seperti terdapat pada lampiran B. 2. Besar tahanan variabel diatur agar sensor dapat mendeteksi benda pada jarak tertentu. 3. Sebuah benda didekatkan pada sensor jarak GP2D12 hingga LED indikator menyala. Hasil pengujian menunjukkan bahwa sensor jarak dapat mendeteksi benda pada jarak 10 – 80 cm.. 4. Setelah diuji, sensor jarak GP2D12 diletakkan pada badan robot dengan posisi, kemiringan dan kepekaan tertentu.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
55
V.2.2 Pengujian Rangkaian Sensor Api dengan Pembanding Tegangan Tujuan pengujian sensor api dengan rangkaian pembanding adalah agar sensor dapat mendeteksi keberadaan api lilin pada jarak yang maksimal. Hasilnya dapat diketahui dari menyala atau padamnya LED indikator. Pengujian sensor api dilakukan sebagai berikut: 1. Sensor
api
dihubungkan
dengan
pembanding
tegangan
dan
mikrokontroler AT89C51 yang telah ditanam program seperti terdapat pada lampiran B. 2. Besar tahanan variabel diatur agar sensor dapat mendeteksi api pada jarak maksimal. 3. Sebuah lilin yang menyala didekatkan pada sensor api hingga LED indikator menyala. Hasil pengujian menunjukkan bahwa sensor dapat mendeteksi api lilin pada jarak maksimal 60 cm dengan toleransi ± 3 cm. 4. Setelah diuji, sensor api diletakkan pada badan robot.
V.2.3 Pengujian Rangkaian Motor dc dengan Rangkaian Duty Cycle Modulation Tujuan pengujian rangkaian motor dc dengan rangkaian duty cycle modulation adalah agar kecepatan dan arah perputaran motor dc dapat dikendalikan. Dalam hal ini arah perputaran motor dc diatur dengan menghubungkan pin input IC L293D ke ground atau Vcc, sedangkan kecepatan motor dc diatur dengan mengubah nilai sebuah hambatan geser pada rangkaian duty cycle modulation. Pengujian menunjukkan bahwa rangkaian dapat bekerja dengan baik.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
56
V.2.4 Pengujian Robot Pemadam Api Tujuan pengujian ini adalah untuk menunjukkan bahwa robot pemadam api dapat bekerja sesuai dengan tujuan pembuatannya. Pengujian dilakukan sebagai berikut berikut: 1. Robot diletakkan didalam ruangan dengan beberapa benda terdapat didalamnya. Kemudian robot dijalankan dengan mode lapangan. Tujuannya adalah untuk mengetahui apakah robot mampu menghindari tabrakan dengan benda yang terdapat didepannya. 2. Robot diletakkan didalam ruangan kosong, kemudian robot dijalankan dengan mode ruangan. Tujuannya adalah untuk mengetahui apakah robot mampu mengitari ruangan dengan mengikuti dinding yang terdapat di sebelah kirinya. 3. Robot diletakkan didalam ruangan yang berisi sebuah kardus ditengahnya. Robot didekatkan kepada kardus dan dijalankan dengan mode ruangan. Tujuannya adalah untuk mengetahui apakah robot mampu mengitari kardus dengan baik. 4. Robot diletakkan pada sebuah ruangan yang berisi beberapa benda dan lilin. Kemudian robot dijalankan dengan mode ruangan. Tujuannya adalah untuk mengetahui apakah robot mampu memadamkan api lilin. Hasil yang dicapai dari pengujian ini adalah sebagai berikut: 1. Robot bergerak maju dan mampu menghindari tabrakan dengan benda yang terdapat didepannya.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
57
2. Robot mampu mengitari ruangan dengan mengikuti dinding yang terdapat disebelah
kirinya.
Tetapi
robot
bergerak
secara
zig-zag
sehingga
perpindahannya lambat. 3. Robot mampu mengitari kardus yang terdapat ditengah ruangan. Tetapi dengan gerakan zig-zag. 4. Robot belum mampu memadamkan api lilin yang berhasil dideteksinya dengan baik karena masih terdapat kekurangan dari sisi perangkat keras dan perangkat lunak.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
BAB VI KESIMPULAN DAN SARAN
VI.1. Kesimpulan Dari perancangan dan pengujian robot pemadam api dapat diambil beberapa kesimpulan sebagai berikut: 1. Rangkaian schmitt trigger pada pada Op-Amp untuk sensor jarak dapat menstabilkan keluarannya. 2. Penggunaan roda gigi pada motor dc memberi keuntungan yaitu memperbesar torsi, memperlambat putaran roda, mempercepat proses pengereman. 3. Robot pemadam api belum bekerja dengan baik dalam mencari dan memadamkan api lilin yang terdapat disekitarnya karena terdapat kekurangan dari perangkat keras dan perangkat lunaknya.
VI.2. Saran 1. Penggunaan sensor api yang lebih peka akan mempercepat proses penemuan api dan meningkatkan kinerja robot. 2. Pemadaman api akan menjadi lebih cepat apabila robot menggunakan air atau gas CO2. 3. Robot akan bekerja lebih efektif dalam menjelajah ruangan apabila dapat beralih dari mode rangan ke mode lapangan secara otomatis.
58
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
DAFTAR PUSTAKA
1. Mc Comb, Gordon, “The Robot Builder’s Bonaza (second edition)”, McGrawHill, 2001. 2. Siegward, Roland and Nourbakhsh, Illah R., “Introduction to Automous Mobile Robots”, The MIT Press, 2004. 3. Catsoulis, Jhon, “Designing Embedded Hardware”, O' Reilly, 2002. 4. Mazidi, Muhammad Ali and Mazidi, Janice Gillispie, “The 8051 Microcontroller and Embedded Systems“, Prentice Hall, 2000. 5. Budiharto, Widodo, “Panduan Lengkap Belajar Mikrokontroler dan Aplikasi Mikrokontroler“, PT Elex Media Komputindo, 2005 6. AT89C51 Datasheet, Atmel Corporation, 2000.
59
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
LAMPIRAN A Rangkaian Robot Pemadam Api Phoenix
!
!
!
!
*
#
+ ) ,,
+
*
"
+ ) ,,
+
+ )
! " #$ !
,,
+
- % ! .
(
+ ) ,,
)
!
+ %
" & ' " -
%
Gambar 3.23 Rangkaian Robot Pemadam Api
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
" -
#
#
LAMPIRAN B Source Code Robot Pemadam Api Phoenix.A51 org 0h jmp mulai org 30h mulai:
awal:
cek11: cek12: cek13: cek00: cek01: cek02: cek03: cek04: terus:
mov p0, #00000000b mov p1, #00001111b mov p2, #00000000b
; p0.0 - p0.4 untuk sensor api ; p1.0 - p1.3 untuk sensor jarak ; robot diam, kipas mati
mov p3, #11111111b setb p1.5 jb p1.0,cek11 clr p3.5 jb p1.1,cek12 clr p3.6 jb p1.2,cek13 clr p3.7 jb p1.3,cek00 clr p1.5
; matikan LED status ; matikan LED status ; jika tidak ada benda di kiri, cek apakah ada benda di depan kiri ; jika ada benda dikiri, nyalakan LED status ; jika tidak ada benda di depam kiri, cek apakah ada benda di depan kanan ; jika ada benda di depan kiri, nyalakan LED status ; jika tidak ada benda di depam kanan, cek apakah ada benda di kanan ; jika ada benda di depan kanan, nyalakan LED status ; jika tidak ada benda di kanan, cek apakah ada api di kiri ; jika ada benda di kanan, nyalakan LED status
jnb p0.0, cek01 clr p3.0 jnb p0.1, cek02 clr p3.1 jnb p0.2, cek03 clr p3.2 jnb p0.3, cek04 clr p3.3 jnb p0.4, terus clr p3.4
; jika tidak ada api di kiri, cek apakah ada api di depan kiri ; jika ada api di kiri, nyalakan LED status ; jika tidak ada api di depan kiri, cek apakah ada api di depan ; jika ada api di depan kiri, nyalakan LED status ; jika tidak ada api di depan, cek apakah ada api di depan kanan ; jika ada api di depan, nyalakan LED status ; jika tidak ada api di depan kanan, cek apakah ada api di kanan ; jika ada api di depan kanan, nyalakan LED status ; jika tidak ada api di kanan, jump ke terus ; jika ada api di kanan, nyalakan LED status
jnb p1.1, jelajah jnb p1.2, jelajah jb p0.0, penemuan_api jb p0.1, penemuan_api jb p0.2, penemuan_api jb p0.3, penemuan_api jb p0.4, penemuan_api
; kalau didepan ada benda yang terdeteksi robot, jump ke mode jelajah ; jika tidak ada benda didepan robot tetapi ada api yang terdetaksi, jump ke penemuan_api
;------------------------------------------------------------------------------------------------------------------------------------------------------------------;Catatan : Angka-angka dalam kurung pada bagian ini mengacu pada Tabel 4.1 Halaman 38 jelajah:
jnb p1.1, cek ; jump jika ada benda di depan kiri jnb p1.2, belki ; jump jika ada benda di depan kanan jnb p1.0, maju ; ; menentukan mode ruangan atau mode lapangan (15,16) jb p1.4, belki ; 0 = mode lapangan, 1 = mode dalam ruangan jmp maju ; ; (1-8) cek: ; (1-4) cek2: ; (1&3) cek3:
(yg lolos 9-16) (9-12, yg lolos 13-16) (13&14) (15&16 mode ruangan) (15&16 mode lapangan)
jnb p1.2,cek2 jmp belka
; jump jika juga ada benda di depan kanan ;
(yang lolos 5-8) (5-8)
jnb p1.3, cek3 jmp belka
; jump bila ada benda dikanan ;
(yang lolos 2&4) (2&4)
jnb p1.0, balikarah jmp belki
; jump jika juga ada benda di kiri ;
(1) (3)
;------------------------------------------------------------------------------------------------------------------------------------------------------------------;Catatan : Angka-angka dalam kurung pada bagian ini mengacu pada Tabel 4.3 Halaman 42 penemuan_api:
jb p0.2, uji jb p0.1, belki jb p0.3, belka jb p0.0, belki jb p0.4, belka jmp awal
; ada api di depan robot ; jika ada lilin di depan kiri, belok kiri ; jika ada lilin dikanan, belok kanan ; ; jika belakang kanan ada lilin, belok kanan
(17-32), yang lolos (0-16) (9-16), yang lolos (1-8) (5-8), yang lolos (1-4) (3&4), yang lolos (1&2) (2)
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
; (17-32) uji:
; (25-32) uji1: maju1:
uji2: padamkan:
dekati:
jb p0.1, uji1 jb p0.3, belka jmp maju1
; ; jika ada lilin dikanan, belok kanan ; jika ada lilin didepan robot, maju
(25-32), yang lolos (17-24) (21-24) (17-20)
jb p0.3, maju1 jmp belki
; jika ada benda didepan robot, maju ; jika ada lilin di depan kiri, belok kiri
(28-32) (25-28)
mov p2,#00001010b acall tunda jnb p1.2, uji2 jmp dekati jnb p1.1, padamkan jmp dekati
; maju
mov p2,#00010000b acall tunda1 acall tunda1 acall tunda1 jb p0.2, padamkan clrb p2.4 mov p2,#00000101b acall tunda acall tunda jmp awal jnb p1.1, belki1 jnb p1.2, belka1 jmp maju1
; jika IR sensor depan mendeteksi bahwa lilin sudah dekat, maka lilin siap dimatikan
; berhenti dan nyalakan kipas angin
; matikan kipas angin ; mundur
; jika lilin sudah dihadapan, dekati hingga posisinya tepat untuk dipadamkan
;------------------------------------------------------------------------------------------------------------------------------------------------------------------maju:
mov p2,#00001010b acall tunda jmp awal
; maju
belki:
mov p2,#00001001b acall tunda jmp awal
; belok kiri
belka:
mov p2,#00000110b acall tunda mp awal
; belok kanan
balikarah:
mov p2,#00000110b jb p1.1, balikarah jb p1.2, balikarah jmp awal
; terus belok kanan hingga tidak ada benda di depan, dapan kiri dan depan kanan
belki1:
mov p2,#00001001b acall tunda jmp maju1
; belok kiri
belka1:
mov p2,#00000110b acall tunda jmp maju1
; belok kanan
tunda: td:
mov r6,#1fh mov R7,#0ffh djnz r7,$ djnz r6,td ret
tunda1: td2: td1:
mov r5,#05h mov r6,#0ffh mov r7,#0ffh djnz r7,$ djnz r6,td1 djnz r5,td2 ret
end
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
LAMPIRAN C Gambar Fisik Phoenix
Depan
Samping
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008
Atas
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008 USU e-Repository © 2008