• Tidak ada hasil yang ditemukan

PERANCANGAN ROBOT PEMADAM API MENGGUNAKAN CMU CAM3 BERBASIS MIKROKONTROLER ATMEL 89S51.

N/A
N/A
Protected

Academic year: 2017

Membagikan "PERANCANGAN ROBOT PEMADAM API MENGGUNAKAN CMU CAM3 BERBASIS MIKROKONTROLER ATMEL 89S51."

Copied!
89
0
0

Teks penuh

(1)

BERBASIS MIKROKONTROLER ATMEL 89S51

TUGAS AKHIR

 

Diajukan Guna Memenuhi Sebagian Persyaratan 

Untuk Memperoleh Gelar Sarjana Komputer 

Pada 

Jurusan Teknik Informatika 

Fakultas Teknologi Industri 

Universitas Pembangunan Nasional “Veteran” Jawa Timur   

Mengetahui/Menyetujui, 

Dosen Pembimbing I

(Basuki Rahmat, S.Si., MT)

NPT. 36907060209

Dosen Pembimbing II

(Delta Ardy Prima, S.ST., MT)

NPT. 386 081 002 971

S U R A B A Y A

(2)

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 MENGGUNAKAN CMU CAM 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.

(3)

ii

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, SST, 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.

(4)

iii

yang membangun untuk kesempurnaan Tugas Akhir ini dan akhir kata, semoga skripsi ini dapat bermanfaat khususnya bagi seluruh mahasiswa Universitas Pembagunan Nasional “Veteran” Jawa Timur dan umumnya bagi pembaca sekalian.

Surabaya, 06 April 2011

(5)

v

HALAMAN JUDUL

LEMBAR PENGESAHAN TUGAS AKHIR LEMBAR PENGESAHAN DAN PERSETUJUAN

KATA PENGANTAR ... i

ABSTRAK ... iv

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xi

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan ... 3

1.5 Manfaat Pengerjaan Tugas Akhir ... 4

1.6 Metodologi ... 4

1.7 Sistematika Penulisan ... 5

BAB II TINJAUAN PUSTAKA 2.1 Mikrokontroler ATMEL 89S51... 7

(6)

vi

2.1.4 Struktur Memori... 14

2.1.5 Register Mikrokontroler AT89S51 ... 17

2.1.6 Pewaktu / Pencacah ( Timer / Counter ) ... 20

2.1.7 Sistem Interupsi... 27

2.2 Motor DC ... 28

2.3 CMU CAM 3 ... 30

BAB III ANALISIS DAN PERANCANGAN SISTEM 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 Kamera... 37

3.1.5 Rangakaian Pengendali Kipas ... 37

3.1.6 Perancangan Seluruh Rangkaian ... 38

3.2 Perancangan Perangkat Lunak... 40

3.2.1 Perancangan Driver Motor ... 41

3.2.2 Perancangan Sensor Api Menggunakan Kamera ... 42

BAB IV IMPLEMENTASI SISTEM 4.1 Implementasi Perangkat Keras ... 44

(7)

vii

4.1.4 CMU CAM 3... 50

4.2 Implementasi Perangkat Lunak ... 51

4.2.1 DST Uniprog V2.8 / Full Version... 52

BAB V PENGUJIAN SISTEM 5.1 Pengujian ... 65

5.1.1 Pengujian Driver Motor ... 65

5.1.2 Pengujian CMU CAM 3... 67

5.1.3 Pengujian Robot Pemadam Api ... 67

5.1.3.A Pengujian Dengan 1 Titik Api ... 69

5.1.3.B Pengujian Dengan Menggunakan 5 Titik Api... 70

5.1.3.C Pengujian Dengan Menggunakan 10 Titik Api... 71

5.2 Analisis ... 72

5.2.1 Analisis Robot Pemadam Api ... 72

BAB VI KESIMPULAN DAN SARAN 6.1 Kesimpulan ... 75

6.2 Saran ... 76

(8)

viii

Gambar 2.1 Konfigurasi Pin Mikrokontroler ATMEL 89S51 ... 10

Gambar 2.2 Blok Diagram AT89S51 ... 14

Gambar 2.3 Denah Memori Data ... 15

Gambar 2.4 Susunan Register Dasar MCS51 ... 18

Gambar 2.5 Timer / Counter Logic ... 21

Gambar 2.6 TCON / Timer Control Special Function Register ... 22

Gambar 2.7 TMOD / Timer Mode Special Function Register ... 23

Gambar 2.8 16-Bit Up Counter... 25

Gambar 2.9 Mode Operasi Timer ... 25

Gambar 2.10 Analogi Sistem Interupsi... 27

Gambar 2.11 Fase 1 dari Motor DC... 28

Gambar 2.12 Fase 2 dari Motor DC... 29

Gambar 2.13 Putaran Motor DC ... 29

Gambar 2.14 CMU CAM 3... 30

Gambar 3.1 Roda robot ... 31

Gambar 3.2 Kerangka robot... 32

Gambar 3.3 Fase 1 dari Motor DC... 34

Gambar 3.4 Fase 2 dari Motor DC... 34

Gambar 3.5 Putaran Motor DC ... 34

Gambar 3.6 Perhitungan Rasio Gigi ... 35

Gambar 3.7 pengatur gerakan motor... 36

(9)

ix

Gambar 3.11 Skema rangkaian robot pemadam api ... 39

Gambar 3.12 Diagram alir perancangan tes gerak robot ... 41

Gambar 3.13 Diagram alir robot pemadam api... 42

Gambar 4.1 Kerangka Robot Tampak Depan ... 45

Gambar 4.2 Kerangka Robot Tampak Atas ... 45

Gambar 4.3 Kerangka Robot Tampak Bawah ... 46

Gambar 4.4 Pemasangan Roda ke Motor DC ... 46

Gambar 4.5 Rangkaian Mikrokontroler ... 47

Gambar 4.6 Driver Motor ... 48

Gambar 4.7 Perhitungan Rasio Gigi ... 49

Gambar 4.8 Rasio dari Motor Gearbox... 50

Gambar 4.9 CMU CAM 3... 51

Gambar 4.10 Modul DST AVR Converter ... 52

Gambar 4.11 Rangkaian ATMEL 89S51 dan DST-51 USB ... 53

Gambar 4.12 AVR Studio ... 54

Gambar 4.13 Pemilihan Mikrokontroler ... 54

Gambar 4.14 Koneksi AVR Ke Motor ... 55

Gambar 4.15 Script Pergerakan Motor ... 56

Gambar 4.16 Script Untuk Kamera ... 58

Gambar 5.1 Pengujian driver motor ... 66

Gambar 5.2 Pengujian kamera pada nyala api ... 67

(10)

x

Gambar 5.6 Pengujian Robt Dengan 10 Titik Api... 71

(11)

xi

Tabel 2.1 konfigurasi pin AT89S51 ... 11

Tabel 2.2 TCON / Timer Control Special Function Register ... 22

Tabel 2.3 TMOD / Timer Mode Special Function Register ... 23

Tabel 3.1 Komponen ... 39

Tabel 5.1 Hasil Pengujian Motor DC... 66

Tabel 5.2 Keberhasilan Uji Coba Memadamkan Api ... 68

Tabel 5.3 Pengujian Robot Dengan 5 Titik Api... 71

(12)

iv

MIKROKONTROLER ATMEL 89S51

Oleh: Heru Prasetyo

0634010075

Dosen Pembimbing¹ : Basuki Rahmat, S.si, MT Dosen Pembimbing² : Delta Ardy Prima, SST, 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 untuk mencari dan memadamkan api lilin. Untuk itu robot dilengkapi dengan kamera CMU CAM 3, Motor DC, Kipas angin, dan mikrokontroler ATMEL 89S51.

Kamera CMU CAM 3 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 mencari keberadaan api lilin.

Setelah robot menemukan api lilin, robot akan bergerak lurus menuju api lilin dan setelah sampai pada sumber api lilin maka kipas angin akan menyala setelah pada jarak yang telah ditentukan untuk memadamkan api tersebut. Robot akan kembali mencari sumber titik api yang lain, sehingga robot pemadam api ini dapat mendeteksi api lebih dari satu lilin saja.

Dengan adanya Tugas Akhir ini, diharapkan adanya kemajuan Yaitu Memicu mahasiswa lainnya untuk membuat robot pemadam api yang lebih canggih dari robot yang dibuat oleh penulis. Dan juga dapat mengikuti kompetisi lomba robot di Indonesia ( KRCI ).

(13)

 

1.1 Latar 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 kerobotan. 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 di definisikan sebagai sebuah piranti mekanik yang mampu melakukan pekerjaan manusia atau berperilaku seperti manusia.

  Salah satu pekerjaan manusia yang dapat di lakukan 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 CMU CAM 3

BERBASIS MIKROKONTROLER ATMEL 89S51”. Dalam perancangan ini,

(14)

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 itu.

Pembuatan robot pemadam api meliputi perancangan perangkat keras dan perangkat lunak. Perangkat keras robot dirancang agar mikrokontroler dapat menerima masukan dari kamera 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 CMU CAM 3. Robot menggunakan satu buah motor dc sebagai penggerak roda dan sebuah motor dynamo 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

(15)

A. Pembahasan tentang mikrokontroler ATMEL 89S51 hanya sebatas yang berkaitan dengan perancangan ini.

B. Pembahasan mengenai komponen pendukung yang meliputi: CMU CAM 3 (sensor api). Motor dc, motor driver, dan komponen-komponen lainya hanya sebatas teori umum dan yang berkaitan dengan perangcangan robot pemadam api.

C. Api yang digunakan adalah api lilin.

D. 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 yang lebih canggih dari robot yang dibuat oleh penulis.

(16)

1.5. Manfaat

Adapun manfaat dari penelitian pembuatan robot pemadam api ini yaitu : A. Memperkaya pengetahuan penulis dan pembaca tentang robot

pemadam api beserta komponen-komponen pendukung yang digunakan..

B. Memahami cara kerja sensor yang digunakan.

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.

(17)

C. Perancangan perangkat lunak

Setelah semua perangkat keras dan perangkat lunak selesai dirakit maka akan dilakukan perangcangan perangkat lunak yang terdiri dari diagram alir dan listing program.

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

(18)

BAB III PERANCANGAN ROBOT

Pada bab ini membahas tentang perancangan perangkat keras dan perancangan perangkat lunak prototype robot pemadam api.

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

(19)

 

2.1 MIKROKONTROLER ATMEL 89S51

Mikrokontroler sebagai teknologi baru yaitu teknologi semi konduktor kehadirannya sangat membantu dnia 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 control 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.

(20)

mikrokontroler 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 C++ dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan logika sistem (bahasa C++ ini mudah dimengerti karena dengan menggunakan bahasa

C++, aplikasi dimana parameter input dan output langsung bisa diakses

(21)

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.

(22)

2.1.1 Spesifikasi AT89S51 :

a. Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya

b. 8 KBytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis

c. tegangan kerja 4-5.0V

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 dupleks serial 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

(23)

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 perbedaan pada hardware adalah adanya MOSI dan SCK, pin ini berguna 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 internal pull 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

(24)

mempunyai fungsi khusus

10 P3.0 RXD Port serial input

11 P3.1 TXD Port serial output

12 P3.2 INT0 External Interupt 0

13 P3.3 INT1 External Interupt 1

14 P3.4 T0 External timer 0 input

15 P3.5 T1 External timer 1 input

16 P3.6 WR External data memory write strobe 17 P3.7 RD External data memory read strobe

9 RST Reset aktiv 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

(25)

Special Function Register di alamat 8EH ALE hanya akan aktif pada saat mengakses memori ekster- nal (MOVX & MOVC)

29 PSEN Pin ini berfungsi pada saat

mengeksekusi program yang ter- letak 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 direset 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

(26)

jalur I/O berupa port bit I/O dan port serial. Selain itu terdapat fasilitas

timer/counter internal dan jalur interface address dan data ke memori ekstermal. Blok diagram dan struktur mikrokontroler AT89S51 adalah sebagai berikut :

Gambar 2.2 Blok Diagram AT89S51

2.1.4 Struktur Memori

(27)

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 5, 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.

(28)

Seperti terlihat dalam denah memori-data Gambar 5, 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

(29)

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

(30)

High Byte dan Data Pointer Low Byte. Semua ini digambarkan dalam Gambar 4. Di samping itu MCS51 masih mempunyai Register Serba Guna R0..R7 yang sudah disebut dibagian atas. Dalam mikroprosesor/mikrokontroler yang lain, register-register dasar biasanya ditempatkan ditempat tersendiri dalam inti prosesor, tapi dalam MCS51 register-register itu ditempatkan secara terpisah.

 Program Counter ditempatkan ditempat tersendiri di dalam inti

prosesor

 Register Serba Guna R0..R7 ditempatkan di salah satu bagian dari

memori-data

 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

(31)

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 stack, dalam Stack Pointer Register disimpan nomor memori-data yang dipakai untuk operasi Stack berikutnya.

D. Program Status Word

(32)

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 Low Byte (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. Timer bekerja dengan cara menghitung pulsa clock internal mikrokontroler

(33)

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

A. Timer akan 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.

B. Counter menghitung 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)

(34)

C. 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 control bit. 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 control bit. 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 service routine pada address 0013h.Tidak terkait dengan operasi timer.

(35)

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 oleh program untuk mengaktifkan sinyal low pada external interrupt 0 untuk menghasilkan sebuah interrupt.

D. Register TMOD

Gambar 2.7 TMOD / Timer Mode Special Function Register

Keterangan :

Tabel 2.3 TMOD / Timer Mode Special Function Register

Bit Symbol Fuction

(36)

mengaktifkan timer (RUN) jika bit TR1/0 pada TCON=1 dan sinyal pada pin INT0/1

high. Clear oleh program untuk mengaktifkan time(rR UN) jika bit TR1/0 pada TCON=1.

6/2 C/T Set oleh program untuk membuat time1r /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 intern.al

5/1 M1 Timer/counter operating 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

E. Timer/Counter Interrupt

Timer/Counter pada AT89S51 adalah sebuah Up Counter, nilai counternya akan naik (increment) dari nilai awalnya sampai nilai maksimumnya dan kembali ke nilai nol. Saat bergulir menjadi nol (overflow), maka sebuah timer flag akan bernilai 1. Flag ini dapat diuji oleh program untuk menandakan bahwa counter telah selesai menghitung, atau flag tersebut bisa digunakan untuk meng-interrupt program. Nilai awal timer/counter harus dimasukkan dulu ke dalam timer register Timer High (TH) dan

(37)

Gambar 2.8 16-Bit Up Counter

Gambar 2.9 Mode Operasi Timer

(38)

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

(39)

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 interupsa dan yang terpenting rutin layanan interupsi, yaitu subrutin yang akan dikerjakan bila terjadi interupsi

Gambar 2.10 Analogi Sistem Interupsi

Pada AT89S51, ada 5 sumber interrupt yaitu a. System reset

(40)

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

Magnet permanen Kumparan

Cincin Belah

(1) Arus mengalir kutub kiri ke kutub kanan (2) Arus mengalir pada

kumparan

(3) Gerakan memutar terjadi

Sikat

(41)

S U

(5) Kumparan terus bergerak memutar

(4) Polaritas pada kumparan berubah

Gambar 2.12 Fase 2 dari Motor DC

A. 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

B. Perubahan polaritas kumparan juga mengakibatkan perubahan kutub pada kumparan sehingga kumparan kembali bergerak memutar.

C. Proses tersebut terjadi berulang-ulang sehingga kumparan akan berputar secara kontinyu selama aliran arus terjadi pada kedua kutub sikat.

(42)

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 CMU CAM 3

Gambar 2.14 CMU CAM 3

(43)

Gambar 3.2 Kerangka robot

Setelah kerangka robot terbentuk langkah selanjutnya adalah pemasangan motor dc dan roda tang 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 kamera, 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

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.

(44)

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.

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.

(45)

S U

Magnet permanen Kumparan

Cincin Belah

(1) Arus mengalir kutub kiri ke kutub kanan (2) Arus mengalir pada

kumparan

(3) Gerakan memutar terjadi

Sikat

Gambar 3.3 Fase 1 dari Motor DC

 

S U

(5) Kumparan terus bergerak memutar

(4) Polaritas pada

kumparan berubah  

 

Gambar 3.4 Fase 2 dari Motor DC

Gambar 3.5 Putaran Motor DC

(46)

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

Gambar 3.6 Perhitungan Rasio Gigi

 Worm gear adalah gigi yang berbentuk ulir yang berfungsi mengubah arah

putaran dari horizontal menjadi vertical

 Transfer Gear adalah gigi yang berfungsi untuk konversi antara gigi

dengan jumlah banyak ke jumlah kecil ataupun sebaliknya.

 Gear Shaft adalah gigi yang terhubung langsung dengan as atau sumbu

motor

(47)

Gear Transfer 3 memiliki perbandingan 33:15 dan terhubung pada gear dengan 50 gigi. Untuk menghitung ratio total dari gear adalah sebagai berikut. 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

Jadi rasio dari motor gearbox ini adalah 1:20 di mana torsi akan naik 20 kali lipat dan kecepatan turun 20 kali lipat pula.

Dasar untuk rangkaian pengatur gerakan motor adalah dua buah saklar DPDT yang akan mengalir arus dengan polaritas berbeda. Saat S1 dan S2 berada di posisi kiri, maka arus akan mengalir dari kutub atas ke kutub bawah motor sedangkan saat S1 dan S2 berada pada posisi kanan maka arus akan mengalir dari kutub bawah ke kutub atas motor sehingga motor bergerak ke arah sebaliknya.

(48)

3.1.4 Perancangan Mikrokontroler Dengan Sensor Kamera

Pada perancangan mikrokontroler dengan sensor kamera penulis menggunakan sensor Cmu cam3 , alasannya meskipun sensor kamera jenis ini harganya mahal tetapi dalam pencapaiannya untuk mencari atau mendeteksi api sangat baik, akan tetapi sensor ini jarang digunakan para robotika.

Gambar 3.8 rangkaian modul cmu cam 3

3.1.5 Rangkaian pengendali kipas

(49)

K1

Gambar 3.9 Rangkaian 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 kamera yang digabung menjadi satu rangkaian saja.

Gambar 3.10 Diagram blok Rangkaian robot pemadam api

(50)

Pada blok diatas terdapat rangkaian driver motor, rangkaian driver kamera, rangkaian reset.yang masuk pada mikrokontroler ATMEL 89S51.

Dibawah ini adalah rangkaian elektronika dari robot pemadam api yang dibuat oleh penulis.

Gambar 3.11 Skema rangkaian robot pemadam api

Tabel 3.1 Komponen

(51)

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 

   R25,R26,R27,R28,R30       

3 R20,R19, R29  1K Carbon  026‐0027 

1 U1  AT89S51‐24PC DIP  014‐0457 

1 U2  X24C08 DIP  015‐0464 

1 Y1 

11,0592 MHz Low 

Profile  029‐0032 

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

(52)

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.12 Diagram alir perancangan tes gerak robot

Penjelasan dari diagram alir diatas adalah pada saat catu daya robot di hidupkan maka robot akan berputar 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 dimukan makan robot akan berjalan lurus ke sumber dimana titik api berada sambil menyalakan kipas untuk memadamkan api tersebut.

     Start 

 Memutar ke kanan  

Maju Menuju Sumber Titik  Api 

(53)

3.2.2 Perancangan sensor api menggunakan kamera

Pada perancangan perangkat lunak untuk sensor kamera penulis mencoba menerangkan jalan kerja robot pemadam api dengan menggunakan diagram alir sebagai berikut.

Gambar 3.13 Diagram alir robot pemadam api

(54)
(55)

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 alumunium dan palstik mica sebagai kerangka robot, alasan penulis menggunakan alumunium dan plastik mica adalah karena bahan tersebut kuat dan ringan, dan kerangka tidak mudah berkarat seperti hal nya logam besi.

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.

(56)

Gambar 4.1 Kerangka Robot Tampak Depan

(57)

Gambar 4.3 Kerangka Robot Tampak Bawah

Dari gambar-gambar kerangka robot diatas adalah gambar-gambar kerangka robot yang penulis buat yang terbuat dari bahan mica dan alumunium. Dikarenakan kedua bahan tersebut sangat ringan dan kuat. Dengan begitu robot tidak terlalu berat saat berjalan di lantai dan tidak menguras tenaga battrai yang terlalu banyak.

(58)

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 penulis buat.

Gambar 4.5 Rangkaian Mikrokontroler

(59)

rangkaian menjadi 5V. Ini dikarenakan mikrokontroler ATMEL 89S51 bekerja pada sumber tegangan 5V. Sumber tegangan ini berfungsi untuk menggerakkan motor DC, dan CMU CAM 3.

4.1.3 Driver Motor

Pada implementasi perangkat keras driver motor penulis menerapkan dari perancangan perangkat keras driver motor yang telah dibahas pada bab sebelumnya. Dimana penulis membuat suatu rangkaian elektronika yang berfungsi untuk menggerakkan motor DC yang dihubungkan ke roda robot.

Gambar 4.6 Driver Motor

(60)

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

Gambar 4.7 Perhitungan Rasio Gigi

 Worm gear adalah gigi yang berbentuk ulir yang berfungsi mengubah

arah putaran dari horizontal menjadi vertical

 Transfer Gear adalah gigi yang berfungsi untuk konversi antara gigi

dengan jumlah banyak ke jumlah kecil ataupun sebaliknya.

 Gear Shaft adalah gigi yang terhubung langsung dengan as atau sumbu

motor

(61)

25/11 x 33/11 x 50/15 = 20 

Jadi rasio dari motor gearbox ini adalah 1:20 di mana torsi akan naik 20 kali lipat dan kecepatan turun 20 kali lipat pula.

Gambar 4.8 Rasio dari Motor Gearbox

4.1.4 CMU CAM 3

CMUcam3 ini adalah ARM7TDMI didasarkan sepenuhnya komputer

(62)

Gambar 4.9 CMU CAM 3

Salah satu kegunaan utama CMUcam2 ini adalah untuk melacak atau monitor berwarna. kinerja terbaik dapat dicapai bila ada sangat kontras dan intens warna. Misalnya, dengan mudah dapat melacak adnya sumber api, tapi akan sulit untuk membedakan antara berbagai perubahan cahaya. Benda warna-warni Pelacakan dapat digunakan untuk melokalisasi landmark, mengikuti garis, atau memburu suara bergerak. Menggunakan statistik warna, itu adalah mungkin untuk memantau suatu objek, mendeteksi warna tertentu atau melakukan pendeteksian gerak primitif. Jika kamera mendeteksi perubahan warna drastis, maka kemungkinan sesuatu dalam kasus berubah. Menggunakan "mode garis," CMUcam2 dapat bertindak sebagai cara yang mudah untuk mendapatkan gambar dengan resolusi rendah biner benda berwarna-warni.

4.2 Implementasi Perangkat Lunak

(63)

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.

Gambar 4.10 Modul DST AVR Converter

Penulis menggunakan DST-51 USB Version tanpa memerlukan modul tambahan. Lankah-langkahnya sebagai berikut :

(64)

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.

(65)

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.

(66)

G. Koneksi AVR ke Motor

Gambar 4.14 Koneksi AVR Ke Motor

Dari srcrip diatas adalah untuk meng-conectkan program AVR ke motor Robot. Berikut Potongan Source codenya :

#ifndef _moving_h_INCLUDED_ #define _moving_h_INCLUDED_

/* Koneksi AVR ke Motor --- DIRR PORTB.3

DIRL PORTB.2 ENR PORTB.0 ENL PORTB.1

Koneksi AVR ke Motor ---*/

#define DIRR 2 #define ENR 3 #define DIRL 0 #define ENL 1

#define MTR_DDR DDRB

#define MTR_PORT PORTB

(67)

#define ENL_OUT MTR_DDR|=(1<<ENL) #define ENR_IN MTR_DDR&=~(1<<ENR) #define ENL_IN MTR_DDR&=~(1<<ENL) #define DIRR_OUT MTR_DDR|=(1<<DIRR)

#define DIRL_OUT MTR_DDR|=(1<<DIRL) . . .

#define ENR_HIGH MTR_PORT|=(1<<ENR) #define ENL_HIGH MTR_PORT|=(1<<ENL) #define ENR_LOW MTR_PORT&=~(1<<ENR) #define ENL_LOW MTR_PORT&=~(1<<ENL) #define DIRL_HIGH MTR_PORT|=(1<<DIRL)

#define DIRR_HIGH MTR_PORT|=(1<<DIRR) #define DIRL_LOW MTR_PORT&=~(1<<DIRL)

#define DIRR_LOW MTR_PORT&=~(1<<DIRR)

void forward(void); void reverse(void); void left(void); void right(void); void stop(void); #endif

H. Scrip Untuk Pergerakan Motor

 

(68)

Gambar di atas adalah gambar scrip untuk mengontrol pergerakan motor DC supaya robot dapat bergerak sesuai keinginan penulis. Berikut Potongan Source codenya :

(69)

ENR_OUT; DIRR_OUT; DIRL_OUT; ENL_LOW; ENR_LOW; DIRL_HIGH;

DIRR_HIGH; }

void stop(void) {

ENL_OUT; ENR_OUT; DIRR_OUT; DIRL_OUT; ENL_HIGH; ENR_HIGH; }

I. Script Bahasa C untuk kipas angin apabila kamera mendeteksi titik

api.

 

(70)

Dari script diatas adalah pergerakan robot pemadam api mendeteksi titik api dia akan berjalan menuju sumber titik api tersebut lalu memadamkannya dengan menggunakan kipas angin. Berikut Potongan source codenya :

#include<avr/io.h>

#define FAN_DDR DDRB #define FAN_PORT PORTB

#define FAN_OUT FAN_DDR|=(1<<FAN) #define FAN_HIGH FAN_PORT|=(1<<FAN)

#define FAN_LOW FAN_PORT&=~(1<<FAN);

#define LED 5

#define LED_DDR DDRB #define LED_PORT PORTB

#define LED_OUT LED_DDR|=(1<<LED) #define LED_HIGH LED_PORT|=(1<<LED)

#define LED_LOW LED_PORT&=~(1<<LED); #define LED_INV LED_PORT^=(1<<LED);

#define TPA81 0xD0

#define SCL 5

#define SDA 4

#define I2CPORT PORTD #define I2CDDR DDRD #define I2CPIN PIND

(71)

#define SDA_LW I2CPORT&=~(1<<SDA)

#define SER_BUFFER_SIZE 30 Volatile unsigned char ser_index,ser_data [SER_BUFFER_SIZE];

unsigned char i2c_data[10];

(72)

SDA_LW;

unsigned char I2CRead(char ack) {

unsigned char I2CWrite(unsigned char d) {

char x;

static unsigned char b;

(73)

SDA_OUT;

unsigned char i,d,j;

(74)

LED_HIGH;

STROutFlash(PSTR("L1 ")); if(j==0)j=1;

else j=0;

SerialOut(j+0x30); SerialOut(13);

while(ser_data[ser_index-1]!=':'); _delay_ms(40);

. . . d=2;

for(i=2;i<10;i++) {

SerialOut(i2c_data[i]); if(i2c_data[i]>i2c_data[d])

{

(75)

FAN_LOW;

while(

(i2c_data[4]>0x22)&&(i2c_data[5]>0x22) )

{

_delay_ms(40); ReadTPA81();

}

FAN_HIGH; reverse();

_delay_ms(3000);

}

} }

}

(76)

44 

 

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 CMU CAM 3.

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.

(77)

65 

 

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 kamera uv‐tron R9454.

5.1.1 Pengujian Driver Motor

Untuk pengujian driver motor yang berfungsi untuk menggerakkan robot penulis mencoba dengan softare yang telah dibuat sederhana seperti bab sebelumnya. Untuk melakukan pengujian terhadap driver motor ini penulis menyiapkan 8 buah baterai dengan tegangan 12 V yang disusun seri sehingga tegangan total mencapai 96 V ini dikarenakan driver motor yang dibuat oleh penulis maksimal 96 V jika tegangan kurang dari 50 V maka motor dc tidak akan bergerak karena supply tegangan yang kurang.

(78)

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

(79)

5.1.2 Pengujian Kamera cmu cam 3

Pada pengujian kamera CMU CAM3 penulis hanya menuji manual dan jika pada pengujian manual berhasil maka pengujian kamera cmu cam 3 langsung diujikan pada robot.

Gambar 5.2 Pengujian kamera pada nyala api

Pada gambar diatas Kamera CMU CAM 3 diuji dengan menggunakan api lilin dimana robot akan berjalan lurus ketika mendeteksi sumber api dari lilin tersebut.

5.1.3 Pengujian Robot pemadam api

(80)

Gambar 5.3 Pengujian Robot Pemadam Api

Tabel 5.2 Keberhasilan Uji Coba Memadamkan Api

Coba Driver motor kamera status Lama

1 Bagus Bagus Berhasil 5 Detik

2 Kurang Bagus Bagus Gagal 5 Detik

3 Bagus Kurang Bagus Berhasi 6 Detik

4 Bagus Bagus Berhasil 4 detik

5 Kurang Bagus Kurang Bagus Gagal 10 Detik

6 Bagus Kurang Bagus Berhasil 6 Detik

7 Bagus Bagus Berhasil 4 Detik

(81)

9 Kurang Bagus Bagus Gagal 11 Detik

10 Kurang Bagus Kurang bagus Berhasil 8 Detik

11 Bagus Kurang bagus Berhasi 6 Detik

12 Bagus Bagus Berhasil 4 Detik

13 Kurang Bagus Bagus Gagal 9 Detik

14 Bagus Kurang bagus Berhasil 6 Detik

15 Kurang Bagus Bagus Berhasil 6 Detik

16 Kurang Bagus Bagus Gagal 10 Detik

17 Bagus Kurang Bagus Berhasil 8 Detik

18 Bagus Bagus Berhasil 4 Detik

19 Bagus Bagus Berhasil 5 Detik

20 Bagus Bagus Berhasi 5 Detik

Pada pengujian diatas, robot diuji sebanyak 20 kali diatas lantai yang tidak licin.

5.1.3.A Pengujian Dengan Satu Titik Api

Pada peungujian robot dengan menggunakan satu titik api ini robot di uji

(82)

Gambar 5.4 Pengujian Robot Dengan 1 Api Lilin

Pengujian ini dilakukan hanya sekali pengujian dan robot berhasil menemukan titik api tersebut.

5.1.3.B Pengujian Dengan Menggunakan 5 Titik Api

Pada pengujian robot dengan menggunakan 5 titik api ini rbot di uji pada lahan kosong dengan peletakan api yang berada di sekitar robot.

(83)

Tabel 5.3 Pengujian Robot Dengan 5 Titik Api

Titik Api Letak Status

1 Depan Robot Berhasil

2 Depan Robot Berhasil

3 Belokan Pertama Berhasil

4 Belokan Kedua Berhasil

5 Belakang robot Berhasil

Pada Pengujian diatas robot dapat mendeteksi 5 titik api yang ditempatkan di sekitar robot.

5.1.3.C Pengujian Dengan Menggunakan 10 Titik Api

Pada Pengujian robot dengan menggunakan 10 api lilin ini robot di uji pada lahan kosong sama halnya lahan yang digunakan pada pengujian robot dengan 5 titik api lilin.

(84)

Tabel 5.4 Pengujian Robot Dengan 10 Ttitik Api

Titik Api Letak Status

1 Depan Robot Berhasil

2 Samping Robot Berhasil

3 Depan Robot Berhasil

4 Depan Robot Berhasil

5 Samping Robot Berhasil

6 Samping Robot Berhasil

7 Depan Robot Berhasil

8 Samping Belakang Robot Berhasil

9 Belakang Robot Berhasil

10 Samping Belakang Robot Berhasil

Pada pengujian diatas dilakukan pengujian robot pada lahan kosong dengan menggunakan 10 titik api dimana robot berhasil menemukan 10 titik api dari 10 titik api yang di tempatkan di sekitar robot.

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

(85)

kerangka robot terbuat dari plastik mica dan alumunium 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 untuk menempelkan ke plastik mica lain dan alumunium. Itu yang menyebabkan sambungan tidak 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 melintasi segala medan.

c.Mikrokontroler ATMEL89S51

(86)

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 keluarannya selalu berada pada kondisi logika yang berbeda. e.Kamera CMU CAM 3

(87)

75 

 

6.1 Kesimpulan

Dari hasil perangcangan dan pengujian robot pemadam api dapat ditarik beberapa kesimpulan diantaranya :

A. Tingkat keberhasilan dari perancangan robot pemadam api dimana api terletak pada lantai yang licin dan posisi peletakan sumber api pada ruangan kosong

B. Posisi sumber api yang berada di sebelah kanan maupun disebelah kiri dan belakang tidak akan mendapat respon dari sensor kamera CMU CAM 3. Sensor kamera CMU CAM akan memberi respon jika sumber api berada tepat di depan kamera dengan berjalan lurus ke arah sumber api dan menyalakan kipas angin untuk memadamkan api tersebut.

C. Proses pengiriman data dari sensor ke mikrokontroler berjalan dengan baik.

D. Penggunaan roda tank memberi keuntungan yaitu dapat melintasi berbagai medan.

E. Robot pemadam api belum bekerja dengan baik dalam mencari dan memadamkan api lilin disekitarnya karena terdapat kekurangan dari perangkat keras dan perangkat lunaknya.

(88)

6.2 Saran

Dalam pembuatan perancangan robot pemadam api menggunakan CMU CAM 3 berbasis mikrokontroler ATMEL 89S51 masih banyak kekurangan yang perlu diperbaiki. Untuk menyempurnakan alat sehingga pengguna memanfaatkan alat ini dengan baik.

Ada beberapa bagian dari sistem yang perlu dilakukan penyempurnaan :

A. Pengaturan posisi rangkaian sangat berpengaruh terhadap kelancarn gerakan prototype robot, posisi rangkaian harus rapi sehingga gerakan tidak terganggu oleh rangkaian dan kabel.

B. Untuk mendapatkan pergerakan prototype robot yang baik maka pemasangan kamera CMU CAM 3 harus tepat. Hal ini berpengaruh terhadap kontrol gerakan prototype robot pemadam api.

C. Prototype robot harus dapat mendeteksi titik api atau sumber api di sekitar robot bukan hanya di depan robot.

D. Prototype robot ini juga membutuhkan penambahan sensor diantaranya sensor ultrasonik, supaya robot dapat berjalan tanpa menabarak dinding E. Dikembangkan menjadi prototype robot pemadam api dengan pemadaman

(89)

1. Agfianto eko putra, Belajar Mikrokontroler AT89S51 Teori Dan Aplikasi, gava media,2004

2. Hidyat Musthofa, “ Robot Pendeteksi Titik Api Dengan mikrokontroler AT89C51”, 2010

3. Widodo Budiharto, “Panduan Praktikum Mikrokontroler AVR AT Mega16”, 2008.

4. ” AN004 DC Motor Driver”, 2007

http://www.robotindonesia.com/articles.php

5. ” CMUcam3 Vision Sensor” 2003 http://www.cs.cmu.edu/~cmucam

6. Raymond T. Simanjuntak, “ Perancangan Robot Pemadam Api Berbasis Mikrokontroler AT89C51 ” , 2008

http://repository.usu.ac.id/bitstream/123456789/11875/1/09E00114.pdf

7. Samuel Kristiyana, “Desain Dan Sistem Pengendalian Robot Beroda Pemadam Api” 2008

http://elista.akprind.ac.id/fti/jurnal_teknologi/volume_1_edisi_1/hal-14-23-samuel1.pdf

10. Wahyu Sapto Aji, Fajar Hermawanto, Muchlas, “ Purwarupa Robot Pemadam Api Dengan Sensor Ultrasonic Dan Ultraviolet Berbasis Mikrokontroler AT89S52.

Gambar

Gambar 2.6 TCON / Timer Control Special Function Register
Tabel 2.3 TMOD / Timer Mode Special Function Register
Gambar 2.8 16-Bit Up Counter
Gambar 2.13 Putaran Motor DC
+7

Referensi

Dokumen terkait

Target sasaran dalam proses komunikasi adalah penerima pesan, dengan mengetahui target sasaran dapat disusun strategi komunikasi yang hendak dilakukan terkait

Mohammad Ridwan. Value Added Reporting.. mengeksploitasi yang lain. VAS ini merupakan alternatif pengganti laporan laba rugi dalam akuntansi konvensional. Dimana Baydoun dan

Sama hal nya dengan pendapat tersebut, dalam penelitian Darwin dan Sondang (2014) dengan objek pada perusahaan asuransi jiwa Manulife di Surabaya dengan hasil yang

Pelayanan asuhan keperawatan yang optimal akan terus sebagai suatu tuntutan bagi organisasi pelayanan kesehatan. Saat ini terdapat suatu keinginan untuk mengubah sistem

Jadi pH 6 ditetapkan sebagai pH optimum untuk adsorpsi logam Zn(II) oleh adsorben zeolit A dengan kapasitas adsorpsi sebesar 49,82 mg/g dan jumlah logam Zn(II) yang teradsorp

mineral berdasarkan nilai rata-rata tanah mineral menunjukkan peningkatan secara linear untuk parameter jumlah anakan, dan pada perlakuan aerasi juga memberikan hasil yang

Rencana Strategis Pengadilan Agama Gresik Tahun 2010-2014 23 Meningkatnya ketertiban administrasi perpustakaan Terwujudnyanya ketertiban administrasi perpustakaan yang

Dengan demikian, secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variabel-variabel yang saling terorganisasi,