MIKROKONTROLER ATMEL 89S51
SKRIPSI
Oleh :
DIMAS BIMA SAPUTRA
NPM : 0634010095
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI - FTI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
MIKROKONTROLER ATMEL 89S51
SKRIPSI
Oleh :
DIMAS BIMA SAPUTRA
NPM : 0634010095
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI - FTI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
i
Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, karena
anugerah dan rahmatNya, salah satu dari sekian banyaknya karunia-Nya yang berupa
Skripsi dan masih banyak kekurangan dalam laporan ini dapat terselesaikan. Semoga
nikmat ini dapat mendorong menuntut ilmu yang lebih tinggi serta semangat
pengabdian yang tulus karena ridho-Nya, amin.
Laporan tugas akhir ini dibuat bukan semata-mata untuk memenuhi salah satu
persyaratan akademik dalam menyelesaikan pendidikan jenjang sarjana, tetapi juga
sebagai bentuk apresiasi penulis dalam ilmu pengetahuan, terutama ilmu tentang
informasi dan teknologi khususnya didaerah asal penulis. Didalam pembuatan
laporan tugas akhir ini penulis mengambil judul “Perancangan Robot Pemadam Api
Dengan Sensor UVTRON R9454 Berbasis Mikrokontroler ATMEL 89S51 ”.
Penulis sangat menyadari walaupun pembuatan laporan tugas akhir ini telah
diupayakan sebaik mungkin, namun tetap masih terdapat banyak kekurangan, baik itu
dalam hal penulisan maupun dalam penyajian materi.
Pembuatan laporan tugas akhir ini tidak lepas dari bantuan berbagai pihak
yang senantiasa selalu memberikan dorongan dan motivasi kepada penulis, oleh
ii
Pembangunan Nasional “Veteran” Jawa Timur.
2. Ir. Sutiyono, MS selaku Dekan Fakultas Teknik Industri UPN “Veteran” Jawa
Timur.
3. Bapak Basuki Rahmat,Ssi.MT, selaku Ketua Jurusan Teknik Informatika
Universitas Pembangunan Nasional ”Veteran” Jawa Timur.
4. Basuki Rahmat, S.si, MT selaku dosen pembimbing I Skripsi.
5. Delta Ardy Prima, S.si, MT selaku dosen pembimbing II Skripsi.
6. Kepada ayah dan ibu yang telah banyak berkorban untuk putra-putrinya dan
memberikan tauladan agar mereka senang pada ilmu pengetahuan, demikian
juga kepada adik-adik tercinta yang telah mendorong untuk menuntut ilmu
yang lebih tinggi.
7. Teman-teman angkatan 2006 dan semua pihak yang telah banyak membantu
dalam pelaksanaan Tugas Akhir ini yang tidak bisa penulis sebutkan satu
persatu, terima kasih atas dukungan dan bantuannya.
8. Teman-teman kost yang selalu dan tak bosan-bosanya untuk memberikan
dukungan kepada penulis untuk menyelesaikan laporan ini yang tidak bisa
penulis sebutkan satu persatu, terima kasih atas dukungan dan bantuannya.
Penulis menyadari bahwa Tugas Akhir ini masih jauh dari kesempurnaan,
iii
skripsi ini dapat bermanfaat khususnya bagi seluruh mahasiswa Universitas
Pembagunan Nasional “Veteran” Jawa Timur dan umumnya bagi pembaca sekalian.
Surabaya, Mei 2011
v HALAMAN JUDUL
LEMBAR PENGESAHAN TUGAS AKHIR
LEMBAR PENGESAHAN DAN PERSETUJUAN
vi
2.1.4 Struktur Memori ... 13
2.1.5 Register Mikrokontroler AT89S51 ... 16
2.1.6 Timer/Counter ... 19
2.1.7 Sistem Interupsi ... 25
2.2 Motor DC ... 26
2.3 Sensor Api ... 28
BAB III PERANCANGAN ROBOT 3.1 Perancangan Perangkat keras ... 31
3.1.1 Perancangan Kerangka Robot ... 31
3.1.2 Perancangan Mikrokontroler ATMEL 89S51 ... 32
3.1.3 Perancangan Driver Motor ... 32
3.1.4 Perancangan Mikrokontroler Dengan Sensor Api ... 34
3.1.5 Rangkaian Pengendali Kipas ... 34
3.1.6 Perancangan Seluruh Rangkaian ... 35
3.2 Perancangan Perangkat Lunak ... 38
3.2.1 Perancangan Driver Motor ... 38
3.2.2 Perancangan Robot Pemadam api Menggunakan UV-TRON R9454 ... 39
vii
4.1.2 Mikrokontroler ATMEL 89S51 ... 43
4.1.3 Driver Motor ... 44
4.1.5 Sensor Api ... 47
4.2 Implementasi Perangkat Lunak ... 49
4.2.1 DST UNIPROG V2.8/ Full version ... 49
4.2.2 Program Robot Pemadam Api ... 52
4.2.2.1 Potongan Code Motor DC ... 52
4.2.2.2 Potongan Code Untuk Mencari Api ... 54
4.2.2.3 Potongan Code Sensor Api ... 56
BAB V PENGUJIAN SISTEM 5.1 Pengujian ... 58
5.1.1 Pengujian Driver Motor ... 58
5.1.2 Pengujian Sensor Api UV-TRON R9454 ... 60
viii
Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89S51 ... 10
Gambar 2.2 Blok Diagram AT89S51 ... 13
Gambar 2.3 Denah Memori Data ... 14
Gambar 2.4 Susunan Register Dasar MCS51 ... 17
Gambar 2.5 Timer/Counter Logic ... 20
Gambar 2.6 TCON/Timer Control Special Funtion Register ... 21
Gambar 2.7 TMOD/Timer mode Special Function Register ... 22
Gambar 2.8 16-Bit Up Counter ... 23
Gambar 2.15 Panjang Gelombang Dari Berbagai Sumber Cahaya ... 29
Gambar 2.16 Sudut Sensivitas UV-TRON ... 29
Gambar 2.17 Sensor UV-TRON Dan Lapisan Selubung ... 30
Gambar 3.1 Roda Robot ... 31
Gambar 3.2 Kerangka Robot ... 32
ix
Gambar 3.5 Rangkaian Pengendali Kipas ... 35
Gambar 3.6 Diagram Blok Rangkaian Robot Pemadam Api ... 36
Gambar 3.7 Skema Rangkaian Robot Pemadam Api ... 36
Gambar 3.8 Diagram Alir Perancangan Tes Gerak Robot ... 38
Gambar 3.9 Diagram Alir Robot Pemadam Api menggunakan Sensor Api ... 39
Gambar 4.1 Kerangka Robot Tampak Depan ... 41
Gambar 4.2 Kerangka Robot Tampak Depan ... 42
Gambar 4.3 Kerangka Robot Tampak Bawah ... 42
Gambar 4.4 Pemasangan Roda Ke Motor DC ... 43
Gambar 4.5 Rangkaian Mikrokontroler ... 44
Gambar 4.6 Driver Motor ... 45
Gambar 4.13 Pemilihan Mikrokontroler ... 51
Gambar 4.14 Pengecekan Code Motor dc ... 52
Gambar 4.15 Pengecekan Code Mencari Api ... 54
Gambar 4.16 Pengecekan Code Sensor Api ... 56
Gambar 5.1 Pengujian Driver ... 59
x
Gambar 5.5 Uji Coba 50cm ... 63
Gambar 5.6 Uji Coba 75cm ... 63
Gambar 5.7 Uji coba 1meter ... 64
xi
Daftar Tabel
Tabel 2.1 Konfigurasi Pin AT89S51 ... 11
Tabel 2.2 TCON/Timer Control Special Function Register ... 21
Tabel 2.3 TMOD/Timer Mode Special Function Register ... 22
Tabel 3.1 Komponen ... 37
Tabel 5.1 Hasil pengujian Motor DC ... 59
iv
ATMEL
89S51
Oleh:
Dimas Bima Saputra 0634010095
Dosen Pembimbing¹ : Basuki Rahmat, S.Si., MT Dosen Pembimbing² : Delta Ardy Prima, S.ST.,MT
ABSTRAK
Secara umum robot dapat didefinisikan sebagai sebuah piranti mekanik yang mampu melakukan pekerjaan manusia atau berperilaku seperti manusia. Salah satu pekerjaan manusia yang dapat dilakukan oleh robot adalah kegiatan pemadaman kebakaran. Robot Pemadam Api dirancang sedemikian rupa agar dapat mencari dan memadamkan api lilin. Untuk itu robot dilengkapi dengan sensor api uv-tron R9454, Motor DC, Kipas angin, dan mikrokontroler ATMEL 89S51. Sensor api uv-tron R9454 berguna untuk mendeteksi keberadaan api lilin. Motor DC untuk menggerakkan roda robot agar robot mampu bergerak. Kipas angin berfungsi untuk memadamkan api lilin. Dan mikrokontroler sebagai otak robot yang mengatur semua komponen-komponen robot agar berjalan sesuai yang diharapkan.
Pada saat robot dinyalakan, robot akan berputar kekiri dan mencoba mendeteksi dimana keberadaan api tersebut. Jika robot tidak mendeteksi keberadaan api lilin, robot akan berputar kekiri terus menerus sampai keberadaan api lilin terdeteksi. Setelah robot menemukan api lilin tersebut, robot akan bergerak lurus menuju api lilin dan kipas angin akan menyala sampai api lilin padam. Jika api lilin belum padam, kipas angin akan terus menyala dan robot tidak akan berhenti bergerak sampai api lilin itu padam. Robot hanya mampu memadamkan satu api lilin saja.
Kata Kunci:
1
1.1Latar Belakang
Teknologi adalah cara untuk mendapatkan suatu kualitas yang lebih baik,
lebih mudah, lebih murah, lebih cepat dan lebih menyenangkan. Salah satu
teknologi berkembang pesat pada saat ini adalah teknologi di bidang Robot. Robot
berguna untuk membantu manusia dalam melakukan pekerjaan tertentu, misalnya
melakukan pekerjaan yang memerlukan ketelitian tingkat tinggi, beresiko tinggi,
membosankan atau pekerjaan yang memerlukan tenaga besar. Secara umum robot
dapat didefinisikan sebagai sebuah piranti mekanik yang mampu melakukan
pekerjaan manusia atau berperilaku 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 sapat 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 DENGAN SENSOR UVTRON
R9454 BERBASIS MIKROKONTROLER ATMEL 89S51”. Dalam
1.2. Rumusan Masalah
Robot bertugas untuk mencari dan memadamkan api lilin. Agar dapat
melakukan tugas tersebut maka robot harus mampu mendeteksi keberadaan api
lilin yang terdapat disekitarnya. Robot akan mendekati dan memadamkan api lilin
tersebut.
Pembuatan robot pemadam api meliputi perancangan perangkat keras dan
perangkat lunak. Perangkat keras robot dirancang agar mikrokontroler dapat
menerima masukan dari sensor api kemudian memutuskan pergerakan motor dc
melalui H-bridge dan transistor hingga fungsi robot untuk memadamkan api lilin yang terdapat disekitarnya tercapai. Untuk mendeteksi keberadaan api lilin
digunakan sersor api uv-tron R9454. Robot menggunakan dua buah motor dc sebagai penggerak roda dan sebuah motor dc untuk menggerakkan kipas angin
yang akan memadamkan api lilin. Sebagai pengendali robot akan digunakan
mikrokontroler ATMEL 89S51.
Sedangkan perangkat lunak yang ditulis agar mikrokontroler ATMEL
89S51 dapat mengontrol proses pendeteksian keberadaan api lilin dan
mengendalikan ketiga motor dc sehingga robot dapat melakukan tugas mencari
dan memadamkan api lilin dengan baik.
1.3. Batasan Masalah
Agar perancangan yang dibahas dalam tugas akhir ini tidak terlalu luas
dan menyimpang dari topik yang telah ditentukan, maka penulis perlu membatasi
a. Pembahasan tentang mikrokontroler ATMEL 89S51 hanya sebatas yang
berkaitan dengan perancangan ini.
b. Pembahasan mengenai komponen pendukung yang meliputi: uv-tron
R9454 (sensor api). Motor dc, motor driver, dan komponen-komponen
lainya hanya sebatas teori umum dan yang berkaitan dengan perangcangan
robot pemadam api.
c. Robot hanya bisa memadamkan 1 api lilin saja.
d. Api yang digunakan adalah api lilin.
e. Pembahasan cara kerja robot hanya sebatas menurut kebutuhan yang
meliputi analisis rangkaian tiap-tiap blok baik secara perangkat keras
maupun perangkat lunak.
1.4. Tujuan
Tujuan penulisan tugas akhir ini adalah sebagai berikut :
a. Untuk merancang robot berbasis mikrokontroler ATMEL 89S51 yang dapat mencari dan memadamkan api lilin yang berada
disekitarnya.
b. Robot mampu berjalan sesuai harapan yang diinginkan dan
berhasil memadamkan api lilin yang berada disekitarnya.
c. Memicu mahasiswa lainnya untuk membuat robot pemadam api
1.5. Manfaat
Adapun manfaat dari penelitian pembuatan robot pemadam api ini yaitu :
a. Memahami cara kerja sensor yang digunakan.
b. Meningkatkan kemampuan sistem berbasis mikrokontroler.
c. Sebagai pengembangan prototype robot pemadam kebakaran
1.6. Metodologi Perancangan
Metode perangcangan yang digunakan adalah sebagai berikut :
a. Studi literatur dan diskusi.
Pada tahap pertama perangcangan ini penulis akan mempelajari
literatur yang berhubungan dengan perancangan robot pemadam
api, mikrokontroler ATMEL 89S51 dan komponen pendukung yang
digunakan. Penulis juga berdiskusi dengan dosen dan teman untuk
memperkaya wawasan penulis mengenai perancangan robot
pemadam api.
b. Perancangan perangkat keras.
Rangkaian yang akan dirancang meliputi rangkaian minimum
mikrokontroler, rangkaian pengendali sensor dan rangkaian
pengendali motor.
c. Perancangan perangkat lunak
Setelah semua perangkat keras dan perangkat lunak selesai dirakit
maka akan dilakukan perangcangan perangkat lunak yang terdiri
d. 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.
1.7. Sistematika Penulisan
Untuk mempermudah penulisan tugas akhir ini, dapat dibuat suatu
sistematika penulisan yang terdiri dari :
BAB I PENDAHULUAN
Pada bab ini diuraikan secara ringkas pembahasan tentang
latar belakang, rumusan masalah, batasan masalah, tujuan
dan manfaat, metodologi perancangan, dan sistematika
penulisan.
BAB II TINJAUAN PUSTAKA
Pada bab ini akan membahas dasar-dasar teori dari
mikrokontroler ATMEL 89S51 dan komponen-komponen pendukung lainnya.
BAB III PERANCANGAN ROBOT
Pada bab ini membahas tentang perancangan perangkat
keras dan perancangan perangkat lunak prototype robot
BAB IV IMPLEMENTASI PERANCANGAN
Pada bab ini membahas mengenai implementasi
perancangan perangkat keras maupun perangkat lunak
yang telah dirancang.
BAB V PENGUJIAN DAN ANALISA ROBOT
Bab ini membahas tentang pengujian driver motor, sensor
api, pengujian prototype robot, dan analisa prototype robot.
BAB VI KESIMPULAN DAN SARAN
Bab ini membahas tentang kesimpulan dan saran yang
bermanfaat bagi perbaikan dan pengembangan prototype
41
IMPLEMENTASI SISTEM
Pada bab ini penulis menjelaskan tentang implementasi dari perancangan
perangkat keras dan implementasi dari perancangan perangkat lunak dari bab
sebelumnya.
4.1 Implementasi Perangkat Keras
Pada bagian implementasi perangkat keras penulis coba menerapkan
perancangan peangkat keras yang telah dibahas di bab sebelumnya, yaitu
implementasi dari perancangan perangkat kerangka robot. Mikrokontoler ATMEL
89S51, driver motor, dan sensor api uv-tron R9454.
4.1.1 Kerangka Robot
Di bagian perangcangan telah dibahas tentang perancangan kerangka robot
yang penulis buat dan pada bagian ini adalah gambar-gambar dari implementasi
dari perancangan perangkat keras untuk kerangka robot yang penulis buat.
Gambar 4.2 Kerangka Robot Tampak Atas
Gambar 4.3 Kerangka Robot Tampak Bawah
Gambar-gambar kerangka robot diatas adalah gambar-gambar kerangka robot
yang penulis buat yang terbuat dari bahan mica. Dikarenakan tersebut sangat ringan.
Dengan begitu robot tidak terlalu berat saat berjalan di lantai dan tidak menguras
Gambar 4.4 Pemasangan Roda ke Motor DC
Gambar diatas adalah gambar pemasangan dari roda robot ke motor dc
dengan menggunakan gearbox sebagai penarik agar waktu motor dc bergerak, roda robot ikut bergerak pula. Untuk pemasangan dan mengurangi gesekan pada saat roda
digerakkan oleh motor dc.
4.1.2 Mikrokontroler ATMEL 89S51
Langkah pertama dari penyusunan hardware dari robot pemadam api yang dibuat oleh penulis adalah pembuatan atau implementasi dari perancangan perangkat
keras mikrokontroler. Dibawah ini adalah gambar dari rangkaian mikrokontroler yang
Gambar 4.5 Rangkaian Mikrokontroler
Pada gambar rangkaian diatas terdapat satu komponen yang berfungsi
member tegangan sebesar 5V yaitu komponen IC ( Intergrated Circuit ) regulator. Komponen ini berfungsi untuk menurunkan sumber tegangan DC yang diterima oleh
rangkaian menjadi 5V. Ini dikarenakan mikrokontroler ATMEL 89S51 bekerja pada sumber tegangan 5V. Sumber tegangan ini berfungsi untuk menggerakkan motor dc,
dan sensor api uv-tron R9454. Terdapat pula dioda-dioda, LED untuk mengetahui apakah mikrokontroler telah menyala, transistor, motor dc, dll.
4.1.3 Driver Motor
Dimana penulis membuat suatu rangkaian elektronika yang berfungsi untuk
menggerakkan motor dc yang dihubungkan ke roda robot.
Gambar 4.6 Driver Motor
Namun motor dc seringkali tidak cukup kuat untuk menggerakkan
mekanisme robot secara langsung. Untuk memperbesar torsi maka dibutuhkan
rangkaian gear-gear yang akan mereduksi kecepatan motor dan sekaligus
meningkatkan torsi. Proses pengurangan kecepatan dan peningkatan torsi ini
berbanding terbalik dan dihitung berdasarkan perbandingan gigi.
Gear dengan 15 gigi Gear dengan
30 gigi
Gear Ratio 2:1
As Motor
a. Worm gear adalah gigi yang berbentuk ulir yang berfungsi mengubah arah putaran dari horizontal menjadi vertical
b. Transfer Gear adalah gigi yang berfungsi untuk konversi antara gigi dengan jumlah banyak ke jumlah kecil ataupun sebaliknya.
c. Gear Shaft adalah gigi yang terhubung langsung dengan as atau sumbu motor
Perbandingan gear transfer dapat dihitung dengan menghitung jumlah gigi yang ada baik sesudah atau sebelum transfer. Gear transfer 1 memiliki 22 gigi dan 11 gigi sesudah di-transfer oleh karena itu gear ini mempunyai perbandingan 22:11 atau 2:1. Hal ini akan mempercepat putaran motor dua kali lipat namun juga mengurangi torsi
motor dua kali lipat. Sedangkan gear transfer 2 memiliki perbandingan 11:25 yang menguatkan torsi dan mereduksi kecepatan. Gear Transfer 3 memiliki perbandingan 33:15 dan terhubung pada gear dengan 50 gigi. Untuk menghitung rasio total dari
gear adalah Perhitungan rasio dilakukan pada gigi-gigi yang saling bersinggungan
oleh karena itu perhitungannya adalah sebagai berikut:
25/ 11 x 33/ 11 x 50/ 15 = 20
Gambar 4.8 Rasio dari Motor Gearbox
4.1.4 Sensor Api
Sensor api uv-tron buatan Hasamatsu adalah sensor api yang digunakan oleh penulis pada robot yang dibuatnya yaitu robot pemadam api ini seperti yang dibahas
pada bab sebelumnya.
Meskipun mahal sensor api buatan Hasamatsu ini sangat handal untuk mendetekasi atau mencari keberadaan api lilin yang tedapat di depan robot. Ini
dikarenakan kepekaan dari sensor api uv-tron buatan Hasamatsu. Jarak mendeteksi keberadaan api lilin kurang lebih 5m (meter), ini yang menjadi alasan penulis
Gamabar 4.9 Sensor Api
Pada gambar diatas adalah gambar dari sensor api uv-tron buatan Hasamatsu
beserta driver dari sensor api uv-tron tersebut. Sensor api uv-tron menyerupai LED tetapi ukurannya yang besar dan panjang juga terdapat anoda dan katoda pada sensor
api uv-tron. Driver sensor api uv-tron C10423 adalah rangkaian penghubung dari sensor api uv-tron ke mikrokontroler seperti yang dijelaskan pada bab sebelumnya melalui 3 kaki yaitu gnd (ground), I/O input output dan vcc 5V, untuk vcc 5V dan gnd pemasangannya dapat dihubungkan secara seri pada port vcc dan gnd pada
mikrokontroler. Sedangkan untuk I/O adalah pin untuk masuk ke mikrokontroler
yaitu pin untuk menerima perintah input dan output dari mikrokontroler untuk
4.2 Implementasi Perangkat Lunak
Pada implementasi perangkat lunak penulis mengimplementasikan
perancangan perangkat lunak yang telah dibahas pada bab sebelumnya seperti
software yang digunakan penulis untuk menanamkan program robot kedalam mikrokontroler.
4.2.1 DST UNIPROG V2.8 / FULL VERSION
Modul DST Uniprog Full Version adalah merupakan modul Development System sekaligus Universal Programmer. Dengan bantuan Modul DST AVR Converter, Development System tersebut juga dapat digunakan untuk mikrokontroler keluarga MCS-51 maupun AVR yang lain.
Penulis menggunakan DST-51 USB Version tanpa memerlukan modul tambahan. Lankah-langkahnya sebagai berikut :
a. Mikrokontroler ATMEL 89S51 dipasang.
Gambar 4.11 Rangkaian ATMEL 89S51 dan DST-51 USB
b. Pasang Kabel USB dan aktifkan Power Supply. Apabila aplikasi ini tidak membutuhkan arus yang besar anda dapat menggantikan power supply tersebut dengan power dari USB dengan cara memasang
Jumper Power Enable yang ada di dekat connector USB.
Gambar 4.12 AVR Studio
d. memilih Mikrokontroler yang akan di gunakan pada bagian Device and Signature Bytes.
Gambar 4.13 Pemilihan Mikrokontroler
e. Untuk AT89S51 diatur frekwensi ISP maksimum 125 KHz.
4.2.2 ProgramRobot Pemadam Api
Untuk implementasi perangkat lunak, penulis mengimplementasikan dari
perangcangan perangkat lunak dari robot pemadam api dimana penulis akan
mengimplementasikan program yang akan digunakan atau ditanamkan ke
mikrokontroler ATMEL 89S51.
4.2.2.1 Potongan Code Motor Dc
Gambar 4.14 Robot Berputar Kekiri
RobotKanan:
Setb LeftMotor
Setb RightMotor
Mov A,R7
Lcall SetKecepatanKiri
Mov A,R6
Ret
RobotPutarKanan:
Mov A,R7
Lcall SetKecepatan
Clr RightMotor
Setb LeftMotor
Ret
RobotGerakLurus:
Setb LeftMotor
Setb RightMotor
Mov A,R7
Lcall SetKecepatan
Ret
RobotGerakBerhenti:
Mov A,#0
Lcall SetKecepatan
Ret
4.2.2.2 Potongan Code Untuk Mencari Api
4.2.2.3 Potongan Code Sensor Api
Gambar 4.16 Robot Mendeteksi Api
HitungApi:
Mov A,Status ;Hapus flag Status ada api
Clr A.0 ;
Mov Status,A ;
Mov CounterApi,#00 ;Clear Counter Api
31
Dalam bab 3 ini penulis membahas tentang perancangan perangkat keras
dan perancangan perangkat lunak.
3.1 Perancangan Perangkat Keras
Peracangan perangkat keras yang berupa perancangan kerangka robot,
perancangan rangkaian mikrokontroler ATMEL 89S51, perancangan rangkaian
driver motor, rangkaian kipas angin, perancangan mikrokontroler dengan sensor api dan perancangan seluruh rangkaian.
3.1.1 Perancangan Kerangka Robot
Pada perancangan kerangka robot penulis menggunakan palstik mica
sebagai kerangka robot, alasan penulis menggunakan plastik mica adalah karena
bahan tersebut sangat ringan dan mudah dibentuk.
Dalam pembuatan kerangka robot penulis memerlukan beberapa alat bantu
seperti bor, alat ukur, gerenda dan gergeraji supaya kerangka robot terbentuk
dengan baik dan terukur. Di bawah adalah gambar dari kerangka robot.
Gambar 3.2 Kerangka robot
Setelah kerangka robot terbentuk langkah selanjutnya adalah pemasangan
motor dc dan roda tank pada kerangka robot. Pada awalnya motor dc dipasang
pada kerangka robot yang disediakan lalu buat satu shaf untuk pemasangan roda,
agar roda yang satu tidak berputar bersama-sama.
3.1.2 Perancangan Mikrokontroler ATMEL 89S51
Mikrokontroler ATMEL 89S51 adalah otak dari robot yang penulis buat dimana semua input-output berada, mikrokontroler ATMEL 89S51 menggerakan motor dc mengatur sinyal yang dikeluarkan oleh sensor api, tetapi untuk membuat
rangkaian mikrokontroler agar dapat bekerja dengan baik dibutuhkan rangkaian
pengatur yaitu berupa rangkaian reset yang berfungsi untuk mengatur kembali
program robot setiap kali catu daya dihidupkan.
3.1.3 Perancangan Driver Motor
Q12
Gambar 3.3 Rangkaian H-Bridge
Pada gambar tersebut, posisi kutub-kutub motor berada pada kaki 3 dan 4
dari JP4. Pada saat Transistor Q15 dan Q9 ON maka arus akan mengalir dari kaki
4 ke kaki 3 dan sebaliknya saat Q11 dan Q14 ON maka arus akan mengalir dari
kaki 3 ke kaki 4. Transistor Q10, Q12, Q13 dan Q16 berfungsi untuk memberikan penguatan tambahan yang membentuk konfigurasi motor dc. Dioda-dioda
berfungsi sebagai dioda proteksi tegangan balik dari motor sedangkan rangkaian
gerbang logika dengan IC 7402 berfungsi sebagai rangkaian penjaga agar tidak
terjadi hubung singkat. Rangkaian H-Bridge memiliki pantangan di mana tidak boleh terjadi kondisi ON pada transistor yang berada pada posisi berhadap-hadapan. Kondisi ON yang boleh terjadi adalah pada transistor yang berada pada posisi saling silang. Rangkaian IC 74LS02 akan selalu menjaga agar kedua
tegangan 0 Volt ada di U3B maka logika 1 atau tegangan 5 Volt pasti berada pada U3A dan demikian pula sebaliknya sehingga tidak mungkin kedua transistor yang saling berhadapan akan ON pada waktu yang bersamaan.
3.1.4 Perancangan Mikrokontroler Dengan Sensor Api
Pada perancangan mikrokontroler dengan sensor api penulis menggunakan
sensor api uv-tron R9454, alasannya meskipun sensor api jenis ini harganya mahal tetapi dalam pencapaiannya untuk mencari atau mendeteksi api sangat baik,
akan tetapi sensor ini sering digunakan pada robotika.
Gambar 3.4Rangkaian Modul UVT-RON R9454
3.1.5 Rangkaian pengendali kipas
Untuk proses pemadaman api dilakukan dengan menggunakan propeller
atau kipas yang digerakkan oleh motor dc yang memiliki RPM cukup tinggi.
tinggi sehingga mengakibatkan tegangan reverse yang dapat mengacaukan sistem. Untuk mengantisipasi hal ini maka digunakan sumber tegangan terpisah dan
dilengkapi dioda reverse seperti pada gambar 3.5.
Gambar 3.5Rangkaian pengendali kipas
3.1.6 Perancangan Seluruh Rangkaian
Pada perancangan seluruh rangkaian ini penulis menggambarkan
rangkaian robot secara keseluruhan dari rangkaian mikrokontroler, rangkaian
driver motor, dan juga rangkaian sensor api yang digabung menjadi satu rangkaian saja.
Gambar 3.6 Diagram blok Rangkaian robot pemadam api
ATM EL 89S51 M ot or DC
Driver m ot or
Driver UVTRON R9454
UV-TRON R9454
Pada blok diatas terdapat rangkaian driver motor, rangkaian driver, driver uv-tron R9454, rangkaian reset yang masuk pada mikrokontroler ATMEL 89S51. Dibawah ini adalah rangkaian elektronika dari robot pemadam api yang dibuat
oleh penulis.
Tabel 3.1 Komponen
Jumlah Nama Barang Parameter Kode
1 Buzzer 5 Volt 014-0005
2 C1,C2 33pF SMD0805 026-0030
1 C3 100uF/16V 026-0264
5 C4,C8,C9,C10,C13 100nF 026-0339
1 C5 10uF SMD 0805 026-0338
2 D13,D14 IN4001 035-0001
1 D15 ZENER 5V/1W 035-0009
3 JP1,JP2,JP12 Konektor putih 2pin 029-0001
2 JP5,JP10 Konektor putih 3pin 029-0003
1 JP5 Header 9 pin 031-0001
3 JP6,JP8,JP11 Konektor putih 10pin 029-0017
1 JP7 Konektor putih 4pin 029-0005
1 JP9 Konektor putih 5pin 029-0007
2 Q25,Q27 TIP42 027-0126
2 Q26,Q28 C9014 SOT-23 027-0106
1 Q29 C9012 SOT-23 027-0103
11 R1,R10,R21,R22,R23,R24, 10K SMD 0805 026-0174
Semua rangkaian masuk ke pin mikrokontroler dan mikrokontroler
berfungsi untuk memberi perintah kepada masing-masing rangkaian yang telah
terhubung ke pin dari mikrokontroler.
3.2 Perancangan perangkat lunak
Pada perancangan perangkat lunak terdiri dari perangkat lunak untuk
motor driver, dan juga perangkat lunak untuk sensor api.
3.2.1 Perancangan driver motor
Pada bagian perangkat lunak driver motor ini penulis memastikan bahwa
driver yang dibuat sudah benar dan sudah di uji dalam cara manual untuk dapat menggerakan motor dc yang disambung ke roda robot.
Dibawah ini adalah perancangan diagram alir yang berfungsi untuk
menguji driver motor yang akan dibuat oleh penulis.
Gambar 3.8Diagram alir perancangan tes gerak robot
St art
M em ut ar ke kiri
M aju dengan delay 2 det ik
Penjelasan dari diagram alir diatas adalah pada saat catu daya robot di
hidupkan maka robot akan berputar ke kiri sambil mencari sumber api, sehingga
meskipun titik api berada tepat dibelakang robot, maka api pun masih bisa di
deteksi oleh sensor, dan setelah sumber api ditemukan maka robot akan maju, ke
sumber dimana titik api berada dan menyalakan kipas untuk memadamkan api
lilin tersebut.
3.2.2 Perancangan Robot Pemadam Api Menggunakan UV-TRON R9454
Pada perancangan perangkat lunak untuk sensor api penulis mencoba
menerangkan jalan kerja robot pemadam api dengan menggunakan diagram alir
sebagai berikut.
Gambar 3.9Diagram Alir Robot Pemadam Api Menggunakan Sensor Api
St art
Robot Put ar ke kiri
Int ensit as api di at as ket ent uan Det eksi api
Robot gerak lurus
Akt ifkan kipas
M at ikan kipas dan robot berhent i
Pada diagram alir di atas adalah pada saat robot dinyalakan, robot pertama
kali akan bergerak berputar ke kiri untuk mencari api. Sambil bergerak ke kiri,
robot akan melakukan proses deteksi api. Jika robot telah mendeteksi api, robot
akan bergerak maju ke arah api. Sambil berjalan maju, robot akan menyalakan
kipas angin. Robot akan tetap mendeteksi kondisi api sambil menyalakan kipas
angin. Saat api tidak lagi terdeteksi maka robot akan berhenti bergerak. Dari
diagram diatas jika robot tidak menemukan titik api / sumber api maka robot akan
7
2.1 MIKROKONTROLER ATMEL 89S51
Mikrokontroler sebagai teknologi baru yaitu teknologi semi konduktor
kehadirannya sangat membantu dunia elektronika. Dengan arsitektur yang praktis
tetapi memuat banyak kandungan transistor yang terintegrasi, sehingga mendukung dibuatnya rangkaian elektronika. Mikrokontroler adalah mikrokomputer chip tunggal yang dirancang secara spesifik untuk aplikasi – aplikasi kontrol bukan untuk
aplikasi-aplikasi serbaguna. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu
seperti pada sebuah penggerak motor. Pengguna mikrokontroler sangat luas, tidak
hanya untuk akuisi dan melainkan juga untuk pengendalian di pabrik-pabrik,
kebutuhan peralatan kantor, peralatan rumah tangga, aoutomobile dan sebagainya. Hal ini disebabkan mikrokontroler merupakan system mikroprosesor (yang didalamnya terdapat CPU, ROM, RAM dan I/O) yang telah terpadu dalam suatu chip, selain itu komponennya (AT89S51) mudah dan murah didapatkan di pasaran.
Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan
mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan
transistor yang lebih banyak namun hanya membutuhkan ruang yang kecil serta dapat diproduksi secara masal (dalam jumlah banyak) membuat harganya menjadi
hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan
keinginan alat-alat bantu bahkan mainan yang lebih baik dan canggih.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam
program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya),
mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya
satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada
perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan
ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM
yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan
dalam ruang ROM yang kecil. Sedangkan pada Mikrokontroler, perbandingan
ROM dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM
(bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk
register-register yang digunakan pada mikrokontroler yang bersangkutan. Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
a. Penggerak pada mikrokontoler menggunakan bahasa pemograman
assembly dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan
logika sistem (bahasa assembly ini mudah dimengerti karena menggunakan bahasa assembly aplikasi dimana parameter input dan
output langsung bisa diakses tanpa menggunakan banyak perintah). Desain bahasa assembly ini tidak menggunakan begitu banyak syarat penulisan bahasa pemrograman seperti huruf besar dan huruf kecil untuk bahasa
b. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga
mikrokontroler dapat dikatakan sebagai komputer mini yang dapat bekerja
secara inovatif sesuai dengan kebutuhan sistem.
c. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer sedangkan parameter komputer hanya digunakan untuk download perintah instruksi atau program. Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan karena tidak
menggunakan banyak perintah.
d. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan
memori dan I/O yang disesuaikan dengan kebutuhan sistem.
e. Harga untuk memperoleh alat ini lebih murah dan mudah didapat.
f. Mikrokontroller AT89S51 adalah standart International. Arsitektur
perangkat keras 89S51 mempunyai 40 kaki, 31 kaki digunakan untuk
keperluan 4 buah port pararel. 1 port terdiri dari 8 kaki yang dapat di hubungkan untuk interfacing ke pararel device, seperti ADC, sensor dan sebagainya, atau dapat juga digunakan secara sendiri setiap bit-nya untuk
interfacing single bit septerti switch, LED, dll
2.1.1 Spesifikasi AT89S51 :
a. Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya
b. 8 kbytesIn system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis
d. Bekerja dengan rentang 0 – 33MHz
e. 256x8 bit RAM internal
f. 32 jalur I/0 dapat diprogram
g. 3 buah 16 bit Timer/Counter h. 8 sumber interrupt
i. saluran full dupleksserial UART j. watchdog timer
k. dua data pointer
l. Mode pemrograman ISP yang fleksibel (Byte dan Page Model).
2.1.2 Pin – Pin Mikrokontroler AT89S51
Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89S51
Yang membedakan mikrokontroler AT89S51 dengan C51(seri
sebelumnya) adalah cara pengisian program (flash programming). Pada mikrokontroler AT89S51 terdapat fasilitas ISP (In System Programming). Artinya mikrokontroler ini mampu diprogram meskipun dalam kondiasi bekerja. Letak
saat flash programming. Adapun fungsi dari pin-pin yang lain, fungsinya sama seperti pada seri sebelumnya. Diwah ini disajikan fungsi pin untuk mikrokontroler
AT89S51
Tabel 2.1 konfigurasi pin AT89S51
Nomor pin
Nama pin Alternatif Keterangan
20 GND Sebagai Kaki Suplay GND
Port 0 dapat berfungsi sebagai I/0 biasa, juga bisa sebagai alamat rendah dan bus data untuk memori eksternal
1..8 P1.0.. P1.7
Sebagai port I/0 biasa, mempunyai
internalpull up dan berfungsi sebagai input dengan memberikan logika 1 Terdapat pin MISO, MOSI, SCK 21..28 P2.0..
P2.7
A8.. A15 Port 0 sebagai I/0 biasa, atau sebagai
high order address, pada saat mengakakses memori eksternal.
10..17 Port 3 Sebagai I/O biasa, namun juga
16 P3.6 WR External data memory write strobe
17 P3.7 RD External data memory read strobe
9 RST Reset aktif dengan logika 1 minimal 2
siklus
30 ALE Prog Pin ini dapat berfungsi sebagai
Address Latch Enable (ALE) yang
me-latch low byte address pada saat mengakses memori eksternal
Sedangkan pada saat Flash Programming (PROG) berfungsi sebagai pulse input untuk Pada operasi normal ALE akan
mengeluarkan sinyal clock sebesar 1/16 frekwensi oscillator kecuali pada saat mengakses memori eksternal
Sinyal clock pada pin ini dapat pula
Special Function Register di alamat 8EH ALE hanya akan aktif pada saat mengakses memori eksternal (MOVX & MOVC)
29 PSEN Pin ini berfungsi pada saat
mengeksekusi program yang terletak pada memori eksternal. PSEN akan aktif dua kali setiap cycle
31 EA Pada kondisi low maka pin ini akan
berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori
eksternal setelah sistem di-reset
Apabila berkondisi high maka pin ini akan berfungsi untuk menjalankan program yang ada pada memori
internal
18 XTAL1 Input Oscillator
19 XTAL2 Output Oscillator
2.1.3 Struktur Perangkat Keras AT89S51
Struktur mikrokontroler AT89S51 diotaki oleh CPU 8 bit yang terhubung
melalui satu jalur bus dengan memori penyimpanan berupa RAM dan ROM serta
jalur I/O berupa port bit I/O dan port serial. Selain itu terdapat fasilitas
timer/counterinternal dan jalur interface address dan data ke memori eksternal. Blok diagram dan struktur mikrokontroler AT89S51 adalah sebagai
Gambar 2.2 Blok Diagram AT89S51
2.1.4 Struktur Memori
Dalam pengertian MCS51, Random Access Memory dalam chip AT89x51 adalah memori data, yaitu memori yang dipakai untuk menyimpan data,
AT89x51, dikenal sebagai memori program. Karena kedua memori itu memang
dibedakan dengan tegas, maka kedua memori itu mempunyai penomoran yang
terpisah. Memori program dinomori sendiri, pada AT89S51 mulai dari nomor
$0000 sampai $0FFF. Sedangkan memori data yang hanya 256 byte dinomori dari nomor $00 sampai $FF. Gambar 5 Denah Memori data Seperti terlihat dalam
denah memori data gambar 2.3, memori data dibagi menjadi dua bagian, memori
nomor $00 sampai $7F merupakan memori seperti RAM selayaknya meskipun
beberapa bagian mempunyai kegunaan khusus, sedangkan memori nomor $80
sampai $FF dipakai sangat khusus yang dinamakan sebagai Special Function Register Pelatihan Mikrokontroler
Seperti terlihat dalam denah memori-data Gambar 2.3, memori-data dibagi
menjadi dua bagian, memori nomor $00 sampai $7F merupakan memori seperti
RAM selayaknya meskipun beberapa bagian mempunyai kegunaan khusus,
sedangkan memori nomor $80 sampai $FF dipakai sangat khusus yang dinamakan
sebagai Special Function Register.
Memori data nomor $00 sampai $7F bisa dipakai sebagai memori
penyimpan data biasa, dibagi menjadi 3 bagian:
• Memori nomor $00 sampai $18 selain sebagai memori data biasa,
bisa pula dipakai sebagai Register Serba Guna (General Purpose Register).
• Memori nomor $20 sampai $2F selain sebagai memori data biasa,
bisa dipakai untuk menyimpan informasi dalam level bit.
• Memori nomor $30 sampai $7F (sebanyak 80 byte) merupakan
memori data biasa, bisa dipakai untuk menyimpan data maupun
dipakai sebagai Stack. a. Register Serba Guna
Register Serba Guna (General Purpose Register) menempati memori data nomor $00 sampai $18, memori sebanyak 32 byte ini dikelompokkan menjadi 4 Kelompok Register (Register Bank), 8 byte memori dari masing-masing Kelompok itu dikenali sebagai Register 0, Register 1 ..
Register 7 (R0, R1, R2, R3, R4, R5, R6 dan R7). Dalam penulisan program memori-memori ini bisa langsung disebut sebagai R0, R1, R2,
R3, R4, R5, R6 dan R7, tidak lagi dengan nomor memori. Dengan cara ini
b. Memori Level Bit
Memori data nomor $20 sampai $2F bisa dipakai menampung informasi
dalam level bit. Setiap byte memori di daerah ini bisa dipakai menampung 8 bit informasi yang masing-masing dinomori tersendiri, dengan demikian dari 16 byte memori yang ada bisa dipakai untuk menyimpan 128 bit (16 x 8 bit) yang dinomori dengan bit nomor $00 sampai $7F. Informasi dalam level bit tersebut masing-masing bisa di-‘1’-kan, di - ‘0’-kan dengan instruksi.
c. Special Function Register (SFR)
Register Khusus (SFR - Special Function Register) adalah satu daerah RAM dalam IC keluarga MCS51 yang dipakai untuk mengatur perilaku
MCS51 dalam hal-hal khusus, misalnya tempat untuk berhubungan
dengan port paralel P1 atau P3, dan sarana input/output lainnya, tapi tidak umum dipakai untuk menyimpan data seperti layaknya memori data.
Meskipun demikian, dalam hal penulisan program SFR diperlakukan
persis sama dengan memori data.
2.1.5 Register Mikrokontroler AT89S51
Untuk keperluan penulisan program, setiap mikroprosesor/mikrokontroler
selalu dilengkapi dengan Register Dasar. Ada beberapa macam register
merupakan register baku yang bisa dijumpai disemua jenis mikroprosesor/ mikrokontroler, ada register yang spesifik pada masing-masing prosesor. Yang termasuk Register Baku antara lain Program Counter, Akumulator, Stack Pointer
Sebagai register yang khas MCS51, antara lain adalah Register B, Data Pointer High Byte dan Data Pointer Low Byte. Semua ini digambarkan dalam Gambar 2.4. Di samping itu MCS51 masih mempunyai Register Serba Guna R0..R7. Dalam mikroprosesor/mikrokontroler yang lain, register-register dasar biasanya ditempatkan ditempat tersendiri dalam inti prosesor, tapi dalam MCS51 register-register itu ditempatkan secara terpisah.
a. Program Counter ditempatkan ditempat tersendiri di dalam inti prosesor
b. Register Serba Guna R0..R7 ditempatkan di salah satu bagian dari memori data
c. Register lainnya ditempatkan dalam Special Function Register
(SFR).
Gambar 2.4 Susunan Register Dasar MCS51
Kegunaan dan pemakaian register-register dasar tersebut antara lain sebagai berikut:
a. Program Counter
menyimpan instruksi berikutnya yang akan diambil (fetch) sebagai instruksi untuk dikerjakan (execute). Saat setelah reset PC bernilai 0000h, berarti MCS51 akan segera mengambil isi memori program nomor 0
sebagai instruksi. Nilai PC otomatis bertambah 1 setelah prosesor
mengambil instruksi 1 byte. Ada instruksi yang hanya 1 byte, ada instruksi yang sampai 4 byte, dengan demikian pertambahan nilai PC setelah menjalankan instruksi, tergantung pada jumlah byte instruksi bersangkutan.
b. Akumulator
Sesuai dengan namanya, Akumulator adalah sebuah register yang berfungsi untuk menampung (accumulate) hasil hasil pengolahan data dari banyak instruksi MCS51. Akumulator bisa menampung data 8 bit (1 byte) dan merupakan register yang paling banyak kegunaannya, lebih dari setengah instruksi-instruksi MCS51 melibatkan Akumulator.
c. Stack Pointer Register
Salah satu bagian dari memori-data dipakai sebagai Stack, yaitu tempat yang dipakai untuk menyimpan sementara nilai PC sebelum prosesor
menjalankan sub-rutin, nilai tersebut akan diambil kembali dari Stack dan dikembalikan ke PC saat prosesor selesai menjalankan sub-rutin. Stack Pointer Register adalah register yang berfungsi untuk mengatur kerja
d. Program Status Word
Program Status Word (PSW) berfungsi mencatat kondisi prosesor setelah melaksanakan instruksi. Pembahasan tentang PSW secara rinci akan
dilakukan dibagian lain.
e. Register B
Merupakan register dengan kapasitas 8 bit, merupakan register pembantu
Akumulator saat menjalankan instruk perkalian dan pembagian.
f. DPH dan DPL
Data Pointer High Byte (DPH) dan Data Pointer LowByte (DPL) masing-masing merupakan register dengan kapasitas 8 bit, tapi dalam pemakaiannya kedua register ini digabungkan menjadi satu register 16 bit
yang dinamakan sebagai Data Pointer Register (DPTR). Sesuai dengan namanya, Register ini dipakai untuk mengalamati data dalam jangkauan yang luas.
2.1.6 Pewaktu/Pencacah (Timer/Counter)
Timer sangat diperlukan untuk membuat delay/tundaan waktu. AT89S51 menyediakan fasilitas timer 16 bit. Sebanyak 2 buah yaitu Timer 0 dan Timer 2.
Timer ini juga bisa di fungsikan sebagai counter/pencacah.
a. Timerbekerja dengan cara menghitung pulsa clock internal mikrokontroler yang dihasilkan dari rangkaian osilator. Jumlah pulsa clock akan
dan TL). Jika jumlah pulsa clock sama dengan nilai timer, maka sebuah
interrupt akan terjadi (ditandai oleh flag TF).
Interrupt ini dapat dipantau oleh program sebagai tanda bahwa timer telah
overflow.
b. Counter bekerja dengan cara menghitung pulsa eksternal pada P3.4 (T0) dan P3.5 (T1). Jumlah pulsa ini akan disimpan dalam register timer (TH dan TL).
Gambar 2.5 Timer/Counter Logic
• Timerakan menghitung pulsa clock dari osilator yang sebelumnya
telah dibagi 12.
Agar berfungsi sebagai timer maka :
Bit C/T dalam TMOD harus 0 (timer operation) Bit TRx dalam TCON harus 1 (timer run)
Bit Gate dalam TMOD harus 0 atau pin INTx harus 1.
• Countermenghitung pulsa dari pin input T0 dan T1. Agar
berfungsi sebagai counter maka :
Bit C/T dalam TMOD harus 1 (counter operation). Bit TRx dalam TCON harus 1 (timer run)
a. Register TCON
Gambar 2.6 TCON / Timer Control Special Function Register
Keterangan :
Tabel 2.2 TCON / Timer Control Special Function Register
Bit Symbol Fuction
7 TF1 Timer 1 overflow flag. Set saat timer berubah dari satu ke nol.
Clear saat prosesor mengeksekusi interrupt service routine
pada address 001Bh
6 TR1 Timer 1 run controlbit. Set 1 oleh program agar timer mulai menghitung. Clear oleh program untuk menghentikan timer, bukan me-reset timer.
5 TF0 Timer 0 overflow flag. Set saat timer berubah dari satu ke nol.
Clear saat prosesor mengeksekusi interrupt service routine
pada address 000Bh.
4 TR0 Timer 0 run controlbit. Set 1 oleh program agar timer mulai Menghitung. Clear oleh program untuk menghentikan timer,
bukan me-reset timer.
3 IE1 External interrupt 1 edge flag. Set 1 pada saat transisi sinyal
high ke low diterima oleh port3 pin 3.3 (INT1). Clear saat prosesor mengeksekusi interrupt serviceroutine pada address
0013h.Tidak terkait dengan operasi timer.
2 IT1 External interrupt 1 signal type control bit. Set 1 oleh
program untuk mengaktifkan external interrupt 1 yang dipicu oleh sisi turun sinyal (falling edge/transisi high ke low). Clear
oleh program untuk mengaktifkan sinyal low pada external interrupt 1 untuk menghasilkan sebuah interrupt.
1 IE0 External interrupt 0 edge flag. Set 1 pada saat transisi sinyal
high ke low diterima oleh port3 pin 3.2 (INT0). Clear saat prosesor mengeksekusi interrupt service routine pada address
0003h.Tidak terkait dengan operasi timer.
0 IT0 External interrupt 0 signal type control bit. Set 1 oleh
program untuk mengaktifkan external interrupt 0 yang dipicu oleh sisi turun sinyal (falling edge/transisi high ke low). Clear
b. Register TMOD
Gambar 2.7 TMOD / Timer Mode Special Function Register
Keterangan :
Tabel 2.3 TMOD / Timer Mode Special Function Register
Bit Symbol Fuction
7/3 Gate OR gate enable bit. Mengendalikan RUN/STOP timer 1/0. Set
oleh program untuk
mengaktifkan timer (RUN) jika bit TR1/0 pada TCON=1 dan sinyal pada pin INT0/1
high. Clear oleh program untuk mengaktifkan time(RUN) jika bit TR1/0 pada TCON=1.
6/2 C/T Set oleh program untuk membuat timer /0 berfungsi sebagai
counter yang akan
menghitung pulsa eksternal pada pin3 .5 (T1) atau 3.4 (T0).
Clear oleh program untuk
membuat timer1 /0 berfungsi sebagai timer yang akan menghitung pulsa clock internal
5/1 M1 Timer/counteroperating mode select bit . Set/clear oleh
program untuk memilih mode
4/0 M0 Timer/counter operating mode select bit . Set/clear oleh
program untuk memilih mode
c. Timer/Counter Interrupt
bisa digunakan untuk meng-interrupt program. Nilai awal timer/counter
harus dimasukkan dulu ke dalam timer register Timer High (TH) dan
Timer Low (TL) sebelum timer/counter dijalankan.
Gambar 2.8 16-Bit Up Counter
Pemilihan mode operasi timer ditentukan pada bit M1 dan M0 dalam
register TMOD. Ada 4 mode operasi yaitu :
a. Mode 0 : 13-bit Timer/Counter
Dengan mensetting M1&M0 = 00 dalam TMOD
menyebabkan register THx berfungsi sebagai counter 8 bit
dan register TLx berfungsi sebagai counter 5 bit. Ketika
overflow, TF1x akan 1. Nilai maksimumnya adalah 8191d atau 1FFFh.
b. Timer Mode 1. 16-bit Timer/Counter
Register THx dan TLx masing-masing berfungsi sebagai
counter 8 bit. Ketika overflow, TF1x akan 1 .Nilai maksimumnya adalah 65535d atau FFFFh.
c. Timer Mode 2. 8-bit Autoreload Timer/Counter
Register TLx berfungsi sebagai counter 8 bit. Register THx berfungsi mengisi ulang / autoreload register TLx ketika terjadi overflow (TFx=1).
d. Timer Mode 3. Two 8 bit Timer/Counter
Pada mode 3. Timer berfungsi sebagai counter 8 bit yang benar-benar terpisah satu sama lain. Timer 0 berfungsi sebagai
timer sekaligus sebagai counter secara terpisah. TL0 digunakan sebagai counter 8 bit yang menghitung pulsa
eksternal, dengan timer flag TF0. TH0 digunakan sebagai
timer 8 bit yang menghitung pulsa clock internal, dengan
2.1.7 Sistem Interupsi
Interrupt adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler berhenti sejenak untuk melayani interrupt tersebut. Program yang dijalankan pada saat melayani interrupt tersebut. Yang harus diperhatikan untuk menguanakan interupsi adalah, kita harus tahu sumber-sumber interupsi, vektor layanan interupsi dan yang terpenting subrutin layanan interupsi, yaitu subrutin yang akan dikerjakan bila terjadi
interupsi.
Gambar 2.10 Analogi Sistem Interupsi
Pada AT89S51, ada 6 sumber interrupt yaitu
2.2 Motor DC
Pada sebuah robot, motor ini merupakan bagian penggerak utama di mana
hampir setiap robot pasti selalu menggunakan motor DC. Kecuali beberapa robot
yang menggunakan pneumatic, muscle wire atau motor AC. Motor DC terdiri dari sebuah magnet permanen dengan dua kutub dan kumparan, cincin belah yang
berfungsi sebagai komutator (pemutus arus)
a. Arus mengalir dari sisi kiri cincin belah ke sisi kanan. Arus ini akan
dilanjutkan ke kumparan yang terkait pada cincin belah
b. Arus mengalir dalam kumparan menimbulkan medan magnet dan
membentuk kutub-kutub magnet pada kumparan
c. Kutub magnet yang sama dengan kutub magnet permanen akan saling
tolak menolak dan kumparan akan bergerak memutar hingga
kumparan berada pada posisi di mana kedua kutubnya berbeda dengan
kutub magnet permanen.
S U
(5) Kumparan terus bergerak memutar (4) Polaritas pada
kumparan berubah
Gambar 2.12 Fase 2 dari Motor DC
d. Perputaran kumparan yang terkait pada cincin belah akan mengakibatkan
perubahan polaritas pada kumparan karena sikat-sikat (brush) yang dialiri listrik terhubung pada sisi cincin belah yang berbeda
e. Perubahan polaritas kumparan juga mengakibatkan perubahan kutub pada
kumparan sehingga kumparan kembali bergerak memutar.
f. Proses tersebut terjadi berulang-ulang sehingga kumparan akan berputar
secara kontinyu selama aliran arus terjadi pada kedua kutub sikat.
Arah putaran motor dc dapat diubah dengan mengubah polaritas aliran
arus yang terhubung ke sikat-sikatnya. Sedangkan kecepatan putar motor
tergantung dari berapa besar arus yang mengalir.
2.3 Sensor Api
Sensor api yang digunakan penulis adalah Hamamatsu uv-tron R9454 yaitu pengembangan lebih lanjut dari versi sebelumnya uv-tron R2868 yang didisain dengan ketahanan terhadap mechanical shock yang lebih tinggi yaitu 10.000 m/s2. Sensor ini mendeteksi api dengan cara mendeteksi cahaya ultraviolet
yang memiliki panjang gelombang 185 hingga 260 nm
Gambar 2.15 Panjang Gelombang dari Berbagai Sumber Cahaya
Gambar 2.16 Sudut Sensitivitas UVTRON
Gambar 2.16 menunjukkan sudut sensitivitas uv-tron yang berada pada area yang cukup luas yaitu -40 hingga 40 derajat terhitung dengan titik nol derajat
berada di tengah. Hal ini akan menyebabkan robot belum dapat mengetahui
dengan tepat posisi api berada. Agar posisi api dapat diketahui lebih tepat maka
ditambahkan sebuah lapisan selubung khusus dengan segaris lubang di mana
Celah segaris untuk masuknya cahaya
ultraviolet
Gambar 2.17 Sensor UVTRON dan Lapisan Selubung
Untuk mendeteksi cahaya ultraviolet, uv-tron membutuhkan tegangan sebesar 400 Volt, oleh karena itu dibutuhkan rangkaian pengendali yang membangkitkan tegangan tersebut dan sekaligus memproses sinyalnya menjadi
pulsa-pulsa yang dapat dikirim ke mikrokontroler. Untuk rangkaian pengendali ini
dapat menggunakan C10423.
Sensor api uv-tron bertugas untuk mencari dan mendeteksi keberadaan titik api di depan robot. Tetapi semua itu tergantung dari program yang kita buat. Karena sensor api dapat mendeteksi api dari jarak maksimal 5m maka sensor api
58
Pada bab pengujian penulis akan menguji robot mulai dari pengujian
driver motor, pengujian sensor kamera dan terakhir pengujian robot pemadam api. Serta analisa dari perangkat keras, perangkat lunak dan analisa dari pengujian.
5.1 Pengujian
Pada bagian pengujian akan dilakukan pengujian dari pengujian driver motor, dan juga pengujian sensor api yang menggunakan uv-tron R9454.
5.1.1 Pengujian Driver Motor
Untuk pengujian driver motor yang berfungsi untuk menggerakkan robot penulis mencoba dengan software yang telah dibuat sederhana seperti bab sebelumnya. Untuk melakukan pengujian terhadap driver motor ini penulis menyiapkan 7 buah baterai dengan tegangan 12 V yang disusun seri sehingga
tegangan total mencapai V ini dikarenakan driver motor yang dibuat oleh penulis maksimal 84 V jika tegangan kurang dari 84 V maka motor dc tidak akan
bergerak karena supply tegangan yang kurang.
Tancapkan pin-pin yang ada di motor ke pin mkrokontroler yang telah
ditentukan pada program, jika sudah maka langkah selanjutnya hubungkan
yang berfungsi untuk menurunkan tegangan menjadi 5 volt dc karena mikrokontroler bekerja pada tegangan maksimal 5 volt dc.
Gambar 5.1 Pengujian driver motor
Tabel 5.1 Hasil Pengujian Motor DC
P1.2 P1.3 P1.4 P1.5 Gerak robot
1 0 1 0 Maju
1 0 0 1 Belok kanan
0 1 1 0 Belok kiri
0 0 0 0 Mati
Dengan pantauan hasil tabel diatas dapat dilihat bahwa robot atau motor
dc dapat bergerak maju, belok kanan, belok kiri atau pun mati sesuai program
5.1.2 Pengujian sensor api UVTRON R9454
Pada pengujian sensor api penulis hanya menuji manual dan jika pada
pengujian manual berhasil maka pengujian sensor api uv-tron langsung diujikan pada robot. Sensor api diuji dengan menggunakan api dari lilin.
Gambar 5.2 Pengujian sensor api pada nyala api
5.1.3 Pengujian Robot pemadam api
Pada pengujian robot pemadam api ini penulis mencoba menguji robot
apakah robot berjalan sesuai dengan yang diharapkan. Jika robot tidak berjalan
sesuai yang diharapkan penulis, maka penulis akan memperbaiki robot agar
berjalan sesuai yang diharapkan. Robot pemadam api ini diuji dengan satu api
Gambar 5.3 Pengujian Robot Pemadam Api
Tabel 5.2 Keberhasilan Uji Coba Memadamkan Api
Coba Driver Motor Letak Lilin Jarak Sensor Api Status Lama
1 Bagus Depan robot 25 cm Bagus Berhasil 5 detik
2 Bagus Kanan robot 25 cm Bagus Berhasil 7 detik
3 Bagus Belakang robot 25 cm Bagus Berhasil 12 detik
4 Bagus Kiri robot 25 cm Bagus Berhasil 18 menit
5 Bagus Depan robot 50 cm Bagus Berhasil 8 detik
6 Bagus Kanan robot 50 cm Bagus Berhasil 9 detik
7 Bagus Belakang robot 50 cm Bagus Berhasil 16 detik
8 Bagus Kiri robot 50 cm Bagus berhasil 21 detik
9 Bagus Depan robot 75 cm Bagus Berhasil 14 detik
10 Bagus Kanan robot 75 cm Bagus Berhasil 21 detik
11 Bagus Belakang robot 75 cm Bagus Berhasil 32 detik
12 Bagus Kiri robot 75 cm Bagus Berhasil 36 detik
14 Bagus Kanan robot 1 m Bagus Berhasil 32 detik
Gambar 5.4 uji coba 25cm
Pada gambar diatas dilakukan uji coba robot pemadam api dalam jarak
25cm. Api yang digunakan adalah api lilin dan robot berhasil memadamkan api
lilin, dengan letak lilin dikanan, kiri, belakang, dan depan. Hasil uji coba dapat
Gambar 5.5 uji coba 50 cm
Pada gambar diatas dilakukan uji coba robot pemadam api dalam jarak
50cm. Api yang digunakan adalah api lilin dan robot berhasil memadamkan api
lilin, dengan letak lilin dikanan, kiri, belakang, dan depan. Hasil uji coba dapat
dilihat pada tabel 5.2.
Gambar 5.6 uji coba 75cm
Pada gambar diatas dilakukan uji coba robot pemadam api dalam jarak
75cm. Api yang digunakan adalah api lilin dan robot berhasil memadamkan api
lilin, dengan letak lilin dikanan, kiri, belakang, dan depan. Hasil uji coba dapat
Gambar 5.7 uji coba 1 meter
Pada gambar diatas dilakukan uji coba robot pemadam api dalam jarak 1
meter. Api yang digunakan adalah api lilin dan robot hanya berhasil memadamkan
api lilin pada letak lilin dikanan robot. Untuk letak api lilin dibagian kiri,
belakang, dan depan gagal memadamkan api lilin. Hasil uji coba dapat dilihat
pada tabel 5.2.
Gambar 5.8 uji coba 1,5 meter
Pada gambar diatas dilakukan uji coba robot pemadam api dalam jarak
1,5 meter. Api yang digunakan adalah api lilin dan robot gagal memadamkan api
lilin dibagian depan, kanan, kiri, belakang. Dikarenakan sensor api sudah yidak
mampu mendeteksi keberadaan api lilin. Hasil uji coba dapat dilihat pada tabel
5.2 Analisis
Pada bagian analisa penulis mencoba menganalisa robot pemadam api
secara menyeluruh dari analisa pengujian robot. Karena masih banyak terdapat
beberapa kekurangan pada robot yang dibuat oleh penulis maka dari itu penulis
menganalisa robot yang telah dibuat.
5.2.1 Analisis Robot Pemadam Api
a. Kerangka Robot
kerangka robot terbuat dari plastik mica dikarenkan agar robot
lebih ringan. Tetapi yang menjadi masalah adalah plastik mica
yang mudah retak pada saat menerima gucangan keras dan plastik
mica hanya diberi perekat serbaguna ( lem alteco ) untuk menempelkan ke plastik mica lain dan hanya bagian-bagian
tertentu saja yang menggunakan mur dan baut.
b. Pemasangan Roda Tank
Karena pada robot yang dibuat oleh penulis pada pemasangan
roda tank kurang tepat maka penulis menganalisa pemasangan
roda tank sebagai berikut. Pada saat pemasangan rantai pada roda
tank usahakan rantai roda tank tidak kendor, karena jika rantai
roda tank kendor maka rantai roda akan terlepas pada saat
berbelok. Pada saat pemasangan rantai roda tank usahakan rantai
roda tank tidak kendor. Keunggulan dari roda tank adalah dapat
c. Mikrokontroler ATMEL 89S51
Mikrokontroler ATMEL 89S51memiliki memori sebesar 128 byte.
Mikrokontroler ini memiliki kekurangan dan kelebihan. Salah satu
kelebihannya adalah dengan memory yang bersifat nonvolatile yang
memungkinkan ic dapat di program ulang. Sehingga jika kita ingin
menggunakan ic yang didalamnya sudah terdapat program yang
sebelumnya atau kita melakukan kesalahan atas perintah program yang
sudah terisi sebelumnya, kita dapat memprogram ulang dengan cara
meng-flash tanpa harus membeli ic mikrokontroler yang baru. Akan
tetapi mikrokontroler juga memiliki kekurangan. Salah satunya adalah
proses yang dapat dijalankan pada mikrokontroler tidak dapat
melakukan berbagai proses dalam waktu yang bersamaan. Jadi
mikrokontroler hanya dapat menjalankan satu perintah atau instruksi
dalam satu waktu sehingga perintah atau instruksi yang lain harus
menunggu hingga instruksi yang pertama selesai dijalankan.
d. Rangkaian H-brige
Dengan menggunaan rangkaian H-brige memberi pengaruh baik pada gerak robot dari motor dc. Karena rangkaian H-brige
mempunyai kompoen-komponen aktif didalamnya sehingga kerja
robot dalam bergerak menjadi baik. H-Bridge memiliki pantangan di mana tidak boleh terjadi kondisi ON pada transistor yang
berada pada posisi berhadap-hadapan. Kondisi ON yang boleh
terjadi adalah pada transistor yang berada pada posisi saling
silang. Rangkaian IC 74LS02 akan selalu menjaga agar kedua
e. Sensor api uv-tronHasamatsu
Sensor api uv-tron adalah sensor api yang mampu mendeteksi keberadaan api dalam jarak yang jauh yaitu sekitar 5 meter,
sensor ini memberi pengaruh baik karena kepekaan dari sensor
ini, maka robot dpat mendeteksi api dengan baik. Sensor api
uv-tron menyerupai LED tetapi ukuran yang lebih besar dan mempunyai 2 kaki yaitu kaki anoda dan kaki katoda, sensor api
uv-tron dapat berfungsi bila sensor tersebut telah dipasang pada driver dengan pemasangan yang tepat yaitu katoda pada lubang
katoda pada driver-nya dan kaki anoda pada lubang anoda pada
driver-nya. Bila pemasangan terbalik maka sensor akan rusak dan tidak dapat bekerja. Kaki katoda mendapatkan tegangan positif
dengan kaki yang lebih panjang, sedangkan kaki anoda mendapat