Proto Type Perancangan Mobil Robot Anti Menabrak Dinding

(1)

TUGAS AKHIR

RISA YUNITA 052408067

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2008


(2)

PROTO TYPE PERANCANGAN MOBIL ROBOT ANTI MENABRAK DINDING

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

RISA YUNITA 052408067

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2008


(3)

PERSETUJUAN

Judul : PROTO TYPE PERANCANGAN MOBIL ROBOT ANTI MENABRAK DINDING

Kategori : TUGAS AKHIR

Nama : RISA YUNITA

Nomor Induk Mahasiswa : 052408067

Program Studi : DIPLOMA III FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 24 Juli 2008

Diketahui/Disetujui oleh

Departemen Fisika FMIPA USU

Ketua Program Studi D3 FIN Pembimbing

Drs.Syahrul Humaidi, Msc. Drs. Nasruddin MN, M.Eng.Sc. NIP : 132050870 NIP : 130900137


(4)

iii

PERNYATAAN

PROTO TYPE PERANCANGAN MOBIL ROBOT ANTI MENABRAK DINDING

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2008

RISA YUNITA 052408067


(5)

PENGHARGAAN

Syukur Alhamdulillah berkat Rahmat dan Karunia-NYA penulis dapat menyelesaikan tugas akhir ini. Salawat dan salam kepada Rasulullah Muhammad SAW.

Tugas akhir ini berjudul PROTOTYPE PERANCANGAN MOBIL ROBOT ANTI MENABRAK DINDING. Meskipun dalam proses penulisan banyak menemui hambatan dan rintangan namun dengan usaha maksimal yang dilakukan penulis serta bantuan dari berbagai pihak, akhirnya tugas akhir ini dapat selesai. Atas bantuan dan motivasi yang diberikan, maka penulis mengucapkan banyak terima kasih kepada : Bapak Drs.Nasruddin MN. M,Eng.Sc selaku pembimbing, Bapak DR. Eddy Marlianto, M.Sc selaku Dekan FMIPA USU, Bapak Drs. Syahrul Humaidi M.Sc selaku Ketua Jurusan Program Studi Fisika Instrumentasi, Bapak DR. Marhaposan Situmorang selaku Ketua Departemen Fisika. Seluruh Dosen yang telah memberikan ilmu pengetahuan selama perkuliahan, yang membuka cakrawala berfikir serta pegawai tata usaha yang ikut mensukseskan proses belajar mengajar. Rekan-rekan di Fisika Instrumentasi, Laidy D Ginting, Fitri A Siregar, terima kasih atas motivasi, kritik dan sarannya terhadap tugas akhir ini. Dan kepada Bryan Habsyah terima kasih atas bantuan dan dukungannya. Khususnya M. Abduh Riza yang telah memberikan semangat dalam menyelesaikan tugas akhir ini Akhirnya terima kasih kepada Ayahanda dan Ibunda yang telah memberikan didikan terbaik bagi penulis. Penulis menyadari bahwa dalam penyusunan tugas akhir ini masih terdapat kekurangan dan masih jauh dari kesempurnaan. Oleh Karena itu penulis sangat terbuka terhadap saran maupun kritikan dalam sebuah diskusi yang membangun dari pembaca.

Akhir kata penulis mengharapkan semoga tugas akhir ini dapat bermanfaat bagi pembaca.


(6)

v

ABSTRAK

Robot adalah sebuah benda yang dapat bekerja cepat, teliti dan tidak mengenal lelah. Robot yang dapat berpindah tempat tanpa campur tangan manusia disebut juga dengan AMR(Autonomous Mobile Robot).

Untuk merancang sebuah robot diperlukan sebuah chip yang ringkas namun dapat bekerja layaknya seperti sebuah komputer. Mikrokontroler AT89S51 merupakan chip produksi Atmel Inc yang mempunyai fitur dasar yang cukup lengkap untuk pemrosesan input-output sehingga mikrokontroler AT89S51 cukup memenuhi syarat untuk menjadi pusat operasi sebuah AMR.

Pada tugas akhir ini dibangun sebuah AMR yang dapat bergerak sendiri mengitari ruangan tanpa menabrak dinding. Agar mendeteksi dinding , dimanfaatkan pemancar infra merah dan fotodioda sebagai penerima dari pantulan infra merah yang dipantulkan dari dinding. Untuk dapat bergerak dan melakukan manuver, robot dilengkapi dengan 2 buah motor DC. Adapun kendala dari perancangan ini adalah fotodioda peka terhadap sinar infra merah sehingga sensor akan terganggu jika terkena sinar matahari secara langsung.


(7)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Daftar Isi vi

Daftar Gambar viii

Daftar Tabel ix

BAB 1 PENDAHULUAN 1

1.1Latar Belakang 1

1.2Rumusan Masalah 2

1.3Tujuan Proyek 2

1.4Batasan Masalah 3

1.5Sistematika Penulisan 3

BAB 2 LANDASAN TEORI 5

2.1 Definisi AT89S51 5

2.2 Fotodioda 9

2.3 Dioda Pemancar Cahaya Infra Merah (LED infra merah) 11

2.4 Motor DC 12

2.5 Torsi Motor 14

2.6 Transistor 15

BAB 3 RANCANGAN SISTEM 16

3.1 Perangkat Keras 16

3.1.1 Diagram Blok 16

3.1.2 Rangkaian Mikrokontroler AT89S51 17 3.1.3 Rangkaian Sensor Dinding 19 3.1.4 Rangkaian Pengendali Pergerakan Motor (Jembatan H) 22

3.1.5 Rangkaian Catu Daya 26

3.2 Perangkat Lunak 27

3.2.1 Bahasa Assembly MCS-51 27 3.2.2 Software 8051 Editor, Assembler, Simulator (IDE) 30

3.2.3 Software Downloader 31

3.2.4 Perancangan Program 31

BAB 4 PENGUJIAN RANGKAIAN 35

4.1 Pengujian Rangkaian Catu Daya 35 4.2 Pengujian Rangkaian Mikrokontroler AT89S51 36 4.3 Pengujian Rangkaian Pemancar Infra Merah 37 4.4 Pengujian Rangkaian Jembatan H 41


(8)

vii

BAB 5 KESIMPULAN DAN SARAN 45

5.1 Kesimpulan 45

5.2 Saran 45

Daftar Pustaka 47


(9)

DAFTAR GAMBAR

Halaman Gambar 2.1 IC Mikrokontroler AT89S51 7

Gambar 2.2 Fotodioda(kiri)dan Simbolnya(kanan) 10 Gambar 2.3 Simbol dan Rangkaian Dasar Sebuah LED 11 Gambar 2.4 Bentuk Fisik Dari Motor DC Magnet Permanen 12

Gambar 2.5 Prinsip Motor 12

Gambar 2.6 Hukum Tangan Kanan Motor 13 Gambar 2.7 Operasi Motor DC Magnet Permanen 13

Gambar 2.8 Simbol Transistor 15

Gambar 3.1 Diagram Blok Rangkaian 16 Gambar 3.2 Rangkaian Mikrokontroler AT89S51 18 Gambar 3.3 Rangkaian Pemancar Infra Merah 20 Gambar 3.4 Rangkaian Penerima Sinar Infra Merah 21

Gambar 3.5 Rangkaian Jembatan H 24

Gambar 3.6 Rangkaian Catu Daya 27

Gambar 3.7 8051 Editor, Assembler, Simulator (IDE) 30 Gambar 3.8 ISP-Flash Programmer 3.a 31

Gambar 4.1 Rangkaian Catu Daya 35

Gambar 4.2 Rangkaian Pemancar Dan Penerima Infra Merah 38


(10)

ix

DAFTAR TABEL

Halaman Tabel 2.1 Fungsi pin pada port 3 8


(11)

ABSTRAK

Robot adalah sebuah benda yang dapat bekerja cepat, teliti dan tidak mengenal lelah. Robot yang dapat berpindah tempat tanpa campur tangan manusia disebut juga dengan AMR(Autonomous Mobile Robot).

Untuk merancang sebuah robot diperlukan sebuah chip yang ringkas namun dapat bekerja layaknya seperti sebuah komputer. Mikrokontroler AT89S51 merupakan chip produksi Atmel Inc yang mempunyai fitur dasar yang cukup lengkap untuk pemrosesan input-output sehingga mikrokontroler AT89S51 cukup memenuhi syarat untuk menjadi pusat operasi sebuah AMR.

Pada tugas akhir ini dibangun sebuah AMR yang dapat bergerak sendiri mengitari ruangan tanpa menabrak dinding. Agar mendeteksi dinding , dimanfaatkan pemancar infra merah dan fotodioda sebagai penerima dari pantulan infra merah yang dipantulkan dari dinding. Untuk dapat bergerak dan melakukan manuver, robot dilengkapi dengan 2 buah motor DC. Adapun kendala dari perancangan ini adalah fotodioda peka terhadap sinar infra merah sehingga sensor akan terganggu jika terkena sinar matahari secara langsung.


(12)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Manusia membutuhkan bantuan dari sesuatu yang dapat bekerja cepat, teliti dan tidak mengenal lelah, robot adalah jawaban dari keinginan tersebut. Robot diharapkan dapat bekerja pada lingkungan yang berbahaya bagi kesehatan atau daerah yang harus diamati dengan pengamatan lebih dari kemampuan panca indera manusia.

Robot yang dapat berpindah tempat tanpa campur tangan manusia disebut juga

Autonomous Mobile Robot (AMR). Pada proyek ini dibangun sebuah AMR yang

dapat bergerak mengitari ruangan tanpa menabrak dinding, dengan memanfaatkan pemancar infra merah dan fotodioda sebagai penerima dari pantulan infra merah yang dipantulkan dari dinding. Aplikasi AMR antara lain sebagi penyapu ranjau, kurir, dan penelitian objek mineral batuan planet di luar angkasa.

Mikrokontroler adalah sistem komputer yang ringkas, dapat menggantikan fungsi komputer dalam pengendalian kerja dan desain yang jauh lebih ringkas daripada komputer. Dengan ukurannya yang kecil, mikrokontroler dapat digunakan pada peralatan yang bersifat bergerak (mobile), seperti kendaraan dan peralatan jinjing (portable), atau pada robot. Mikrokontroler digunakan sebagai otak dari suatu


(13)

AT89S51 adalah chip mikrokontroler produksi Atmel Inc. merupakan keluarga dari MCS-51 rancangan Intel. AT89S51 mempunyai fitur dasar yang cukup lengkap untuk suatu pemrosesan input-output. Bahasa pemrograman yang digunakan AT89S51 hampir tidak berbeda jauh dengan instruksi set pada mikroprosesor Intel yang sudah dipelajari pada perkuliahan.

1.2 Rumusan Masalah

Berdasarkan uraian diatas, penulis tertarik untuk mengangkat permasalahan tersebut ke dalam bentuk tugas akhir dengan judul “PROTOTYPE PERANCANGAN MOBIL ROBOT ANTI MENABRAK DINDING”. Pada alat ini akan digunakan rangkaian sensor dinding, rangkaian mikrokontroler, rangkaian pengendali motor, rangkaian penguat sinyal dan rangkaian power supply untuk menghindari adanya penghalang atau dinding.

1.3 Tujuan Penulisan

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma Tiga (D-III) Fisika Instrumentasi FMIPA Universitas Sumatera Utara.

2. Studi awal dalam pembuatan Robot otomatis yang dapat menghindari dinding atau penghalang.

3. Memanfaatkan mikrokontroler AT89S51 sebagai tempat pemrosesan data (otak) dari sebuah robot.


(14)

3

1.4 Batasan masalah

Tujuan dilakukan penulisan tugas akhir ini adalah sebagai berikut :

a. Robot hanya dilengkapi dengan sensor dinding, tidak dilengkapi dengan sensor lantai, jadi tidak dapat mendeteksi lubang.

b. Pemancar yang digunakan adalah infra merah dan penerimanya adalah fotodioda, sehingga dinding hanya terdeteksi dari jarak yang dekat.

c. Robot hanya mengetahui bahwa ada dinding di depannya, tidak mengetahui jarak dinding.

1.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari mobil robot anti menabrak dinding ini.

BAB 1 PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah serta sistematika penulisan.

BAB 2 LANDASAN TEORI

Landasan teori dalam bab ini meliputi arsitektur dan konstruksi mikrokontroler yang digunakan. Selain itu juga membahas tentang motor DC dan jenis sensor yang digunakan.

BAB 3 RANCANGAN SISTEM


(15)

BAB 4 PENGUJIAN RANGKAIAN

Meliputi pembahasan rangkaian dan program yang dijalankan serta pengujian rangkaian.

BAB 5 KESIMPULAN DAN SARAN

Mengenai kesimpulan yang didapat setelah merakit proyek ini dan saran yang diberikan demi kesempurnaan dan pengembangan proyek ini pada masa yang akan datang.


(16)

BAB 2

LANDASAN TEORI

2.1 Defenisi AT89S51

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian osilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler.

Mikrokontroler memiliki dua macam memori yang sifatnya berbeda. Read Only

Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai

dangan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini

dinamakan sebagai memori program. Random Access Memori (RAM) isinya akan

sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.


(17)

Ada berbagai jenis ROM. Untuk mikrokontroler dengan program yang sudah baku dan diproduksi secara massal, program diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler

menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang

disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra

Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan

setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat

bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.

Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte,

meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana Input/Ouput yang disediakan cukup banyak dan bervariasi. AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).


(18)

7

Gambar 2.1. IC Mikrokontroler AT89S51

Deskripsi pin-pin pada mikrokontroler AT89S51 :

VCC (Pin 40)

Suplai tegangan

GND (Pin 20)

Ground

Port 0 (Pin 39-Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun

penerima kode byte pada saat flash programming. Pada fungsi sebagai I/O biasa port

ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah

sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai

low order multiplex address/data, port ini akan mempunyai internal pull up. Pada saat flash programming diperlukan eksternal pull up, terutama pada saat verifikasi program.


(19)

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses

memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.

Port 3 (Pin 10 – Pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pull up. Port 3 juga

mempunyai fungsi pin masing-masing.

Tabel 2.1 Fungsi pin pada port 3

Nama pin Fungsi

P3.0 (pin 10) RXD (port input serial)

P3.1 (pin 11) TXD (port output serial)

P3.2 (pin 12) INTO (interrupt 0 eksternal)

P3.3 (pin 13) INT1 (interrupt 1 eksternal)

P3.4 (pin 14) T0 (input eksternal timer 0)

P3.5 (pin 15) T1 (input eksternal timer 1)

P3.6 (pin 16) WR (menulis untuk eksternal data memori)

P3.7 (pin 17) RD (untuk membaca eksternal data memori)

RST (pin 9)


(20)

9

ALE/PROG (pin 30)

Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input program (PROG) selama memprogram Flash.

PSEN (pin 29)

Program store enable digunakan untuk mengakses memori program eksternal.

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19)

Input untuk clock internal.

XTAL2 (pin 18)

Output dari osilator.

2.2 Fotodioda

Fotodioda biasanya digunakan untuk mendeteksi cahaya. Fotodioda adalah piranti semikonduktor yang mengandung sambungan p-n, dan biasanya terdapat lapisan intrinsik antara lapisan n dan p. Ketika energi cahaya dengan panjang gelombang yang benar jatuh pada sambungan fotodioda, arus mengalir dalam sirkit eksternal. Alat ini kemudian bekerja sebagai generator arus, yang arusnya sebanding dengan intensitas


(21)

cahaya itu. Silikon merupakan bahan yang paling banyak digunakan untuk fotodioda dan memberikan waktu reaksi sebesar 1ns.

Mode operasi

Fotodioda dapat dioperasikan dalam 2 mode yang berbeda:

1. Mode fotovoltaik: seperti solar sel, penyerapan pada fotodioda menghasilkan

tegangan yang dapat diukur. Bagaimanapun, tegangan yang dihasilkan dari tenaga cahaya ini sedikit tidak linier, dan range perubahannya sangat kecil.

2. Mode fotokonduktivitas : fotodioda diaplikasikan sebagai tegangan revers

(tegangan balik) dari sebuah dioda (yaitu tegangan pada arah tersebut pada dioda tidak akan menghantarkan tanpa terkena cahaya) dan pengukuran menghasilkan arus foto. ( Hal ini juga bagus untuk mengaplikasikan tegangan mendekati nol). Ketergantungan arus foto pada kekuatan cahaya sangat linier . Karakteristik bahan fotodioda:

1. Silikon (Si) : arus lemah saat gelap, kecepatan tinggi, sensitivitas yang bagus

antara 400 nm sampai 1000 nm ( terbaik antara 800 sampai 900 nm).

2. Germanium (Ge): arus tinggi saat gelap, kecepatan lambat, sensitivitas baik

antara 600 nm sampai 1800 nm (terbaik 1400 sampai 1500 nm).

3. Indium Gallium Arsenida (InGaAs): mahal, arus kecil saat gelap, kecepatan

tinggi sensitivitas baik pada jarak 800 sampai 1700nm (terbaik antara 1300 sampai 1600nm).


(22)

11

2.3 Dioda Pemancar Cahaya Infra Merah (LED infra merah)

LED adalah dioda yang menghasilkan cahaya saat diberi energi listrik. Dalam bias

maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang (hole).

Energi ini tidak seluruhnya diubah kedalam bentuk energi cahaya atau foton melainkan dalam bentuk panas sebagian.

Proses pemancaran cahaya akibat adanya energi listrik yang diberikan terhadap suatu bahan disebut dengan sifat elektroluminesensi. Material lain misalnya Galium Arsenida Pospat (GaAsP) atau Galium Pospat (GaP): Foton energi cahaya dipancarkan untuk menghasilkan cahaya tampak. Jenis lain dari LED digunakan untuk menghasilkan energi tidak tampak seperti yang dipancarkan oleh pemancar laser atau infra merah.

330Ω VCC

5V

Gambar 2.3 Simbol dan rangkaian dasar sebuah LED

Pemancar inframerah adalah dioda solid state yang terbuat dari bahan Galium

Arsenida (GaAs) yang mampu memancarkan fluks cahaya ketika dioda ini dibias

maju. Bila diberi bias maju elektron dari daerah-n akan menutup lubang elektron yang

ada didaerah-p. Selama proses rekombinasi ini, energi dipancar keluar dari permukaan

p dan n dalam bentuk foton. Foton-foton yang dihasilkan ini ada yang diserap lagi dan


(23)

2.4 Motor DC

Pada peristiwa mesin listrik dapat berlaku sebagai generator, perbedaannya hanya terletak dalam konversi dayanya. Generator adalah suatu mesin listrik yang mengubah daya masuk mekanik menjadi daya keluar listrik, sedangkan sebaliknya motor mengubah daya masuk listrik menjadi daya keluar mekanik. Tujuan motor adalah untuk menghasilkan gaya yang menggerakkan (torsi). Motor DC yang digunakan disini adalah motor DC magnet permanen yaitu motor yang fluks magnet utamanya dihasilkan oleh magnet permanen. Berikut adalah bentuk fisik dari motor DC magnet permanen dan prinsip motor serta operasi motor magnet permanen dapat kita lihat pada gambar berikut :

Gambar 2.4. Bentuk Fisik dari Motor DC Magnet Permanen


(24)

13

Gambar 2.6. Hukum Tangan Kanan Motor

Gambar 2.7. Operasi Motor DC Magnet Permanen

Pada gambar 2.7 (a), jangkar berputar searah dengan putaran jarum jam. Apabila kutub jangkar segaris dengan kutub medan, sikat – sikat ada pada celah di komutator dan tidak ada arus mengalir pada jangkar. Jadi, gaya tarik atau gaya tolak magnet berhenti, seperti pada gambar 2.7 (b).

Kemudian kelembaman membawa jangkar melewati titik netral. Komutator membalik arus jangkar ketika kutub yang tidak sama dari jangkar dan medan berhadapan satu sama lain, sehingga membalik polaritas medan jangkar. Kutub –


(25)

kutub yang sama dari jangkar dan medan kemudian saling menolak, menyebabkan jangkar berputar terus – menerus seperti pada gambar 2.7 ( c ).

2.5 Torsi Motor

Torsi motor didefinisikan sebagai aksi dari suatu gaya pada motor yang dapat mempengaruhi beban untuk ikut bergerak. Ketika sumber tegangan dihubungkan pada brush (sikat) motor, maka arus yang mengalir masuk ke kutub positif brush, melalui komutator dan kumparan, serta keluar melalui daerah kutub negatif dari brush. Pada saat yang bersamaan, arus juga mengalir melalui kumparan medan magnet. Penerapan kaidah tangan kanan pada konduktor yang berada di bawah kutub memperlihatkan kumparan medan magnet yang memperkuat gaya keatas agar dapat mendorong konduktor.

Arah arus kumparan untuk putaran searah jarum jam. Ketika kumparan medan magnet berada dibawah posisi kutub selatan, gaya akan memotong ke arah kanan, kemudian menekan ke bawah, sedangkan kutub utara selanjutnya akan bergerak mendorong ke arah kiri di bawah kutub selatan, sehingga terbentuk suatu arah gaya yang dapat mengakibatkan konduktor yang bergerak searah dengan arah jarum jam. Dalam kondisi kumparan yang berputar dimana konduktor bergerak di bawah kutub menuju ke kondisi arus menjadi reverse karena komutator. Dari proses tersebut diperoleh suatu kenyataan yang sama bila arus yang mengalir melalui kumparan dalam kondisi reverse dengan membalik posisi kumparan. Namun arahnya akan meninggalkan polaritas medan yang bersangkutan, maka torsi yang dibangkitkan akan bergerak ke arah yang berlawanan dengan arah jarum jam.

Sedangkan torsi yang dibangkitkan pada motor dc merupakan gabungan

aksi dari fluks medan (Φ), arus kumparan armatur (Ia) yang menghaslakn medan

magnet di daerah sekitar konduktor. Oleh karena itu diperoleh persamaan torsi (T) sebagai berikut:


(26)

15

2.6 Transistor

Transistor merupakan alat dengan tiga terminal seperti yang diperlihatkan oleh simbol pada gambar 2.8. Simbol kedua jenis transistor itu hampir sama. Perbedaannya terletak pada arah panah di ujung emitter. Seperti yang telah diketahui, arah panah ini menunjukkan arah aliran arus konvensional yang berlawanan arah dalam kedua jenis tadi tetapi selalu dari bahan jenis p ke n dalam sirkit emitter dasar. Untuk menghindarkan kesalahan, transistor yang dibicarakan disini selalu npn, kecuali bahwa polaritas tegangan suplai pada sirkit memakai transistor jenis pnp terbalik dan arus mengalir dalam arah yang berlawanan dengan sirkit yang memakai transistor npn.

c

e (a)

c

e (b)


(27)

BAB 3 BAB 3 RANCANGAN SISTEM RANCANGAN SISTEM 3.1 PERANGKAT KERAS

3.1 PERANGKAT KERAS

3.1.1 Diagram Blok 3.1.1 Diagram Blok

Secara garis besar, diagram blok rangkaian dari robot pendeteksi dinding ini ditunjukkan pada gambar 3.1 berikut ini :

Secara garis besar, diagram blok rangkaian dari robot pendeteksi dinding ini ditunjukkan pada gambar 3.1 berikut ini :

Mikrokontroler AT89S51

ikrokontroler AT89S5

P2.1 P0.0 & P0.1 P2.1 P0.0 & P0.1

Sensor Dinding

Depan Kanan Jembatan H

(Pengendali Motor) P2.2 P2.2 Sensor Dinding Depan Kiri Motor Kanan P2.0 P2.0 Sensor Dinding Samping Kanan

P2.3 P0.2 & P0.3

1

P2.3 P0.2 & P0.3

Jembatan H (Pengendali Motor) Sensor Dinding Samping Kiri Motor Kiri

Gambar 3.1 Diagram Blok Rangkaian Gambar 3.1 Diagram Blok Rangkaian

Pada robot ini terdapat 4 buah sensor dinding, dimana sensor dinding yang berada di depan kanan dihubungkan ke P2.1 dari mikrokontroler AT89S51, sensor Pada robot ini terdapat 4 buah sensor dinding, dimana sensor dinding yang berada di depan kanan dihubungkan ke P2.1 dari mikrokontroler AT89S51, sensor


(28)

17

dinding yang berada di depan kiri dihubungkan ke P2.2 dari mikrokontroler AT89S51, sensor dinding yang berada di samping kanan dihubungkan ke P2.0 dari mikrokontroler AT89S51, dan sensor dinding yang berada di samping kiri dihubungkan ke P2.3 dari mikrokontroler AT89S51.

Untuk mengendalikan pergerakan motor, digunakan jembatan H, dimana jembatan H ini dapat memutar motor searah/berlawanan arah dengan jarum jam bila diberi pulsa 1 atau 0. Dengan demikian pergerakan motor dapat dikendalikan melalui program. Roda sebelah kanan dihubungkan dengan jembatan H yang terhubung ke P0.0 dan P0.1, sedangkan roda sebelah kiri dihubungkan dengan jembatan H yang terhubung dengan P0.2 dan P0.3.

3.1.2 Rangkaian Mikrokontroler AT89S51

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Kompoen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:


(29)

Gambar 3.2 Rangkaian mikrokontroler AT89S51

Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroler AT89S51 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan kapasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroler ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open kolektor dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 39 yang merupakan P0.0 dihubungkan dengan resistor 330 ohm dan sebuah LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum mikrokontroler AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroler tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubung ke pin 39 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian


(30)

19

minimum tersebut telah siap digunakan. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.

3.1.3 Rangkaian Sensor Dinding

Untuk dapat mendeteksi dinding, maka robot dilengkapi dengan 4 buah sensor dinding. Keempat sensor dinding ini mempunyai rangkaian yang sama, hanya penempatannya saja yang berbeda.

Masing-masing sensor dinding menggunakan 2 buah pemancar infra merah dan sebuah fotodioda. Sensor ini memanfaatkan pantulan dari pemancar infra merah yang diterima oleh fotodioda. Digunakan 2 buah pemancar infra merah pada masing-masing sensor bertujuan agar sinyal pantulan semakin kuat, sehingga posisi sensor tidak terlalu dekat dengan dinding.

Dinding yang digunakan adalah dinding berwarna putih, dengan demikian ketika sensor mengenai dinding, maka pantulan dari infra merah akan mengenai fotodioda. Sedangkan jika sensor tidak mengenai dinding, maka pancaran sinar infra merah tidak mengenai fotodioda. Perbedaan intensitas pantulan inilah yang digunakan untuk mendeteksi adanya dinding yang berada di depan robot.

Setiap pantulan yang diterima oleh fotodioda akan diolah dan dijadikan data digital, sehingga bila fotodioda mendapatkan pantulan dari pemancar infra merah, maka akan mengirimkan sinyal low ke mikrokontroler AT89S51. Dengan demikian


(31)

mikrokontroler dapat mendeteksi sensor yang mengirimkan sinyal low dan mengambil tindakan untuk mengatur putaran roda kekanan atau kekiri.

Rangkaian pemancar infra merah tampak seperti gambar ini:

Gambar 3.3 Rangkaian Pemancar infra merah

Pada rangkaian di atas digunakan 2 buah LED infra merah yang diparalelkan, dengan demikian maka intensitas yang dipancarkan oleh infra merah semakin kuat, karena merupakan gabungan dari dua buah LED infra merah. Resistor yang digunakan adalah 100 ohm sehingga arus yang mengalir pada masing-masing LED

infra merah adalah sebesar: 5 0, 05 50 100

V

i A atau mA

R

= = =

Dengan besarnya arus yang mengalir ke LED infra merah, maka intensitas pancaran infra merah akan semakin kuat, yang menyebabkan jarak pantulannya akan semakin jauh.

Pantulan dari sinar infra merah akan diterima oleh fotodioda, kemudian akan diolah oleh rangkaian penerima agar menghasilkan sinyal tertentu, dimana jika fotodioda menerima pantulan sinar infra merah maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun jika fotodioda tidak menerima pantulan


(32)

21

sinar infra merah, maka output dari rangkaian penerima akan mengeluarkan logika high (1). Rangkaian penerima infra merah seperti gambar ini:

Gambar 3.4 Rangkaian Penerima sinar infra merah

Fotodioda dioperasikan pada bias balik, dimana fotodioda ini akan memiliki hambatan sekitar 15 s/d 20 Mohm jika tidak terkena sinar infra merah, dan hambatannya akan berubah menjadi sekitar 80 s/d 300 Kohm jika terkena sinar infra merah tergantung dari besarnya intensitas yang mengenainya. Semakin besar intensitasnya, maka hambatannya semakin kecil.

Pada rangkaian di atas, output dari fotodioda diumpankan ke basis transistor tipe NPN C945, ini berarti untuk membuat transistor tersebut saturasi maka tegangan yang keluar dari fotodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika fotodioda mendapatkan sinar infra merah. Analisanya sebagai berikut:

Jika tidak ada sinar infra merah yang mengenai fotodioda, maka hambatan pada fotodioda 15 Mohm, sehingga:

2 330.000

5 0,107 1 2 15.000.000 330.000

R

Vo xVcc x Volt

R R

= = =

+ +

Vout akan diumpankan ke basis dari transistor C945, karena tegangannya hanya 0,107 Volt maka transistor tidak saturasi.


(33)

Jika ada sinar infra merah yang mengenai fotodioda, maka hambatan pada fotodioda 300 Kohm, sehingga:

2 330.000

5 2, 619 1 2 300.000 330.000

R

Vo xVcc x Volt

R R

= = =

+ +

Vout akan diumpankan ke basis transistor C945, karena tegangannya lebih besar dari 0,7 volt yaitu 2,619 Volt maka transistor akan saturasi.

Emitter transistor C945 diinputkan ke Op Amp LM 358 untuk diperkuat. LM358 merupakan IC penguat dengan dua Op Amp. Pada Op Amp pertama tegangan input akan diperkuat sampai maksimal 100 kali penguatan, dimana:

Ω = K R A Potensio V 1

Penguatan ini dapat diatur dengan mengatur hambatan pada potensio. Output Op Amp pertama akan diperkuat lagi sampai maksimum 100 kali penguatan. Dengan demikian penguatan dapat diatur sesuai dengan yang dikehendaki.

LED ini akan menyala jika sensor menerima sinar infra merah, dan akan mati jika sensor tidak menerima sinar infra merah.

3.1.4 Rangkaian Pengendali Pergerakan Motor (Jembatan H)

Untuk dapat bergerak, maka robot harus dapat mengendalikan perputaran rodanya. Robot menggunakan 2 buah motor DC 6 volt untuk menggerakkan rodanya, dimana 1 motor untuk menggerakkan roda sebelah kanan dan 1 motor lagi untuk menggerakkan roda sebelah kiri.


(34)

23

Motor DC akan berputar searah/berlawanan arah dengan jarum jam jika salah satu kutubnya diberi tegangan positif dan kutub yang lainnya diberi tegangan negatif atau ground. Dan motor DC akan berputar kearah sebaliknya jika polaritasnya dibalik. Dan jika rangkaian tersebut dihubungkan dengan mikrokontroler AT89S51, maka pergerakan motor dapat dikendalikan oleh program.

Rangkaian untuk mengendalikan perputaran motor DC tersebut adalah sebuah rangkaian yang dikenal dengan jembatan H. Jembatan H ini terdiri dari 4 buah transistor, dimana 2 buah transistor bertipe NPN dan 2 buah transistor lagi bertipe PNP. Ke-4 transistor ini dirangkai sedemikian rupa sehingga dengan memberikan sinyal low atau high pada rangkaian maka perputaran motor dapat diatur.

Untuk perintah maju, maka robot akan memutar maju kedua motor, motor kanan dan kiri. Untuk perintah mundur, maka robot akan memutar mundur kedua motor. Sedangkan untuk memutar/berbelok kekanan, maka robot akan memutar maju motor sebelah kiri dan memutar mundur motor sebelah kanan, sehingga dengan demikian maka robot akan memutar/berbelok kearah kanan. Hal sebaliknya dilakukan jika robot berputar ke sebelah kiri.


(35)

Rangkaian jembatan H, ditunjukkan pada gambar ini:

Gambar 3.5 Rangkaian Jembatan H

Pada rangkaian di atas, jika P0.0 diset high yang berarti P0.0 mendapat tegangan 5 volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 0 volt yang menyebabkan transistor ini aktif (transistor tipe PNP akan aktif jika tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan mengakibatkan kolektornya terhubung ke emiter sehingga kolektor mendapatkan tegangan 5 volt dari Vcc.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif (transistor tipe NPN akan aktif jika tegangan pada basis lebih besar dari 0,7 volt).


(36)

25

Karena transistor TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emiter, sehingga kolektor tidak mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 dihubungkan dengan kolektor TIP 127 yang mendapatkan tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kiri mendapatkan tegangan 5 volt (polaritas positif).Agar motor dapat berputar ke satu arah maka kaki sebelah kanan motor harus mendapatkan tegangan 0 volt (polaritas negatif). Hal ini diperoleh dengan memberikan logika low (0) pada P0.1 mikrokontroler AT89S51.

Pada rangkaian di atas, jika P0.1 di set low yang berarti P0.1 mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang berada di sebelah kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 5 volt yang menyebabkan transistor ini tidak aktif. Karena transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke emiter sehingga kolektor tidak mendapatkan tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif.


(37)

Karena transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emiter, sehingga kolektor mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 yang mendapatkan teganagan 0 volt dari ground dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kanan mendapatkan tegangan 0 volt (polaritas negatif). Hal ini akan menyebabkan motor akan berputar ke satu arah tertentu. Sedangkan untuk memutar motor ke arah sebaliknya, maka logika yang diberikan ke P0.0 adalah low (0) dan logika yang diberikan ke P01. adalah high (1).

3.1.5 Rangkaian catu daya

Rangkaian catu daya ini berfungsi untuk mensuplai tegangan ke seluruh rangkaian. Rangkaian ini terdiri dari sebuah baterai 6 volt yang diserikan dengan dua buah dioda. Untuk menembus 1 buah dioda diperlukan tegangan sebesar 0,6 volt sehingga untuk menembus 2 buah dioda diperlukan tegangan sekitar 1,2 volt, sehingga output dari rangkaian ini sekitar 4,8 volt sampai 5,0 volt. Kemudian dipasang sebuah kapasitor untuk menyimpan arus, sehingga jika tiba-tiba mikrokontroler membutuhkan arus besar, maka arus tersebut dapat disuplai oleh kapasitor ini. Rangkaian catu daya dapat ditunjukkan oleh gambar berikut ini:


(38)

27

Gambar 3.6 Rangkaian catu daya

Pada rangkaian ini terdapat dua buah keluaran, yaitu 5 volt dan 6 volt. Keluaran 5 volt dibutuhkan untuk mikrokontroler, rangkaian sensor dan penguat sinyal. Sedangkan 6 volt dibutuhkan untuk rangkaian jembatan H (pengendali motor).

3.2 PERANGKAT LUNAK 3.2.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. Angka 51 merupakan jumlah instruksi, pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.


(39)

Contoh pengisian nilai secara tidak langsung: MOV 20h,#80h

... ... MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh:

MOV R0,#80h Loop: ...

... DJNZ R0,Loop ...

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh: ...

ACALL TUNDA ... TUNDA:

... 4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh:

ACALL TUNDA ... TUNDA:

... RET


(40)

29

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh: Loop:

... ...

JMP Loop 6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh:

Loop:

JB P1.0,Loop

... 7. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh:

Loop:

JNB P1.0,Loop

...

8. Instruksi CJNE(Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh:

Loop:

... CJNE R0,#20h,Loop

...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya.

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh:

MOV R0,#20h R0 = 20h ...

DEC R0 R0 = R0 – 1 ...


(41)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh:

MOV R0,#20h R0 = 20h ...

INC R0 R0 = R0 + 1 ...

11.Dan lain sebagainya.

3.2.2 Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti ini:

Gambar 3.7 8051 Editor, Assembler, Simulator (IDE)

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.


(42)

31

Software 8051 IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler.

3.2.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar ini:

Gambar 3.8 ISP- Flash Programmer 3.a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler.

3.2.4 Perancangan Program

Robot ini dirancang untuk mendeteksi keberadaan dinding. Diagram alir dari program yang akan dibuat adalah:


(43)

mulai Sensor kanan depan Sensor kiri depan Sensor kanan samping Sensor kiri samping

Sensor kiri & sensor kanan depan Belok kiri sedikit Belok kanan sedikit Belok kiri sedikit Belok kanan sedikit Belok kanan 90 derajat Maju terus

tidak tidak tidak tidak

ya ya ya ya ya

Program diawali dengan mulai, kemudian program akan mengecek semua status sensor. Apabila tidak ada input data dari sensor maka keadaan robot bebas halangan, program memerintahkan robot untuk terus maju.

Jika sensor kanan depan mendapat data, maka sensor tersebut akan mengirimkan sinyal ke mikrokontroler dengan adanya input data tersebut maka program akan memerintahkan robot untuk berbelok ke arah kiri sedikit. Perlakuan serupa juga dilakukan apabila sensor kanan samping mendapat data.

Jika sensor kiri depan mendapat data, maka sensor tersebut akan mengirimkan sinyal ke mikrokontroler dengan adanya input data tersebut maka program akan memerintahkan robot untuk berbelok ke arah kanan sedikit. Perlakuan serupa juga dilakukan apabila sensor kiri samping mendapat data.

Dan apabila kedua sensor depan mendapat data, berarti posisi dinding atau penghalang tepat berada di depan robot, maka program akan memerintahkan robot untuk bergerak mundur dan kemudian berbelok ke arah kanan sebesar 90o.


(44)

33

Berikut program untuk menjalankan robot:

motor_kanan1 bit p0.0 motor_kanan2 bit p0.1

motor_kiri1 bit p0.2

motor_kiri2 bit p0.3

samp_kanan bit p2.0

depan_kanan bit p2.1

depan_kiri bit p2.2

samp_kiri bit p2.3

depan_kanan_kiri eQu 0f9h

start:

jb depan_kanan,cek_sisi_kanan

call putar_kiri

jmp cek_sisi_kanan

cek_sisi_kanan:

jb samp_kanan,cek_sensor_kiri

call putar_kiri

jmp cek_sensor_kiri

cek_sensor_kiri:

jb depan_kiri,cek_sisi_kiri

call putar_kanan

jmp cek_sisi_kiri

cek_sisi_kiri:

jnb samp_kiri,cek_kedua_sensor_depan

call putar_kanan

jmp maju

cek_kedua_sensor_depan:

Mov p2,#0f9h

Mov a,p2 Cjne a,#0f9h,maju Call mundur Call putar_kiri Jmp maju putar_kanan:

mov r6,#3

kn:

mov r5,#15

routine_belok_kanan:

call belok_kanan

djnz r5,routine_belok_kanan

djnz r6,kn

jmp maju

belok_kanan:

clr motor_kanan1

setb motor_kanan2

clr motor_kiri1

setb motor_kiri2

mov r7,#80


(45)

ret putar_kiri:

mov r6,#3

kr:

mov r5,#15

routine_belok_kiri:

call belok_kiri

djnz r5,routine_belok_kiri

djnz r6,kr

jmp maju

ret belok_kiri:

setb motor_kanan1

clr motor_kanan2

setb motor_kiri1

clr motor_kiri2

mov r7,#80

djnz r7,$

ret

Mundur:

Clr Motor_kanan1

Setb Motor_kanan2

Setb Motor_kiri1

Clr Motor_kiri2

Mov r7,#120

Djnz r7,$

ret maju_terus:

setb motor_kanan1

clr motor_kanan2

clr motor_kiri1

setb motor_kiri2

mov r7,#70

djnz r7,$

clr motor_kanan1

clr motor_kanan2

clr motor_kiri1

clr motor_kiri2

mov r7,#180

djnz r7,$

ret end


(46)

BAB 4

PENGUJIAN RANGKAIAN

4.1 Pengujian Rangkaian Catu Daya

Pengujian pada rangkaian catu daya ini dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggunakan voltmeter digital.

Gambar 4.1 Rangkaian catu daya

Dari hasil pengujian pada saat baterai penuh, maka didapatkan tegangan keluaran pertama sebesar 5,0 volt dan tegangan keluaran yang kedua sebesar 6,2 volt. Pada saat baterai lemah, maka didapatkan tegangan keluaran pertama sebesar 4.6 volt dan tegangan keluaran yang kedua sebesar 5,9 volt walaupun tegangan keluaran pertama tidak tepat 5 volt, dan tegangan keluaran kedua tidak tepat 6 volt, robot tetap bekerja namun jalannya semakin lambat. Hal ini disebabkan karena kurangnya tegangan yang dibutuhkan untuk memutar motor. Dengan demikian rangkaian ini telah berjalan dengan baik.


(47)

4.2 Pengujian Rangkaian Mikrokontroler AT89S51

Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik, maka dilakukan pengujian. Pengujian ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S51. Programnya adalah sebagai berikut:

Loop:

Setb P0.0

Acall tunda

Clr P0.0

Acall tunda

Sjmp Loop

Tunda:

Mov r7,#255

Tnd: Mov r6,#255

Djnz r6,$

Djnz r7,tnd

Ret

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0 selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus menerus. Perintah Setb P0.0 akan menjadikan P0.0 berlogika high yang menyebabkan LED menyala. Acall tunda akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0 berlogika low yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.

Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut : Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin

membutuhkan waktu = 12 1


(48)

37

Mnemonic Siklus Waktu Eksekusi

MOV Rn,#data 2 2 x 1 μd = 2 μd

DJNZ 2 2 x 1 μd = 2 μd

RET 1 1 x 1 μd = 1 μd

Tunda:

mov r7,#255 Tnd: mov r6,#255 2

djnz r6,$ 255 x 2 = 510 x 255 = 130.054

djnz r7,loop3

2

djnz r2,loop8

ret

Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 130.054

μdetik atau 0,130054 detik dan dapat dibulatkan menjadi 0,13 detik.

Jika program tersebut diisikan ke mikrokontroler AT89S51, kemudian mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroler AT89S51 telah bekerja dengan baik.

4.3 Pengujian Rangkaian Pemancar Infra Merah

Untuk mendeteksi adanya halangan/dinding di depan atau disamping robot, maka robot dilengkapi dengan 4 buah sensor dinding/halangan. Sensor ini terdiri dari 2 buah LED infra merah dan sebuah fotodioda. Digunakan dua buah pemancar infra merah yang dirangkai secara paralel agar pantulan yang diterima oleh penerima jaraknya lebih jauh. Rangkaian pemancar infra merah tampak seperti gambar ini:


(49)

Pancaran infra merah

Pantulan infra merah

dinding

Gambar 4.2 Rangkaian Pemancar dan penerima infra merah

Pada rangkaian di atas digunakan 2 buah LED infra merah yang diparalelkan, dengan demikian maka intensitas yang dipancarkan oleh infra merah semakin kuat, karena merupakan gabungan dari 2 buah LED infra merah. Resistor yang digunakan adalah 100 ohm sehingga arus yang mengalir pada masing-masing LED infra merah adalah sebesar:

5

0, 05 50

100 V

i A atau mA

R

= = =

Dengan besarnya arus yang mengalir ke LED infra merah, maka intensitas pancaran infra merah akan semakin kuat, yang menyebabkan jarak pantulannya akan semakin jauh.

Pantulan dari sinar infra merah akan diterima oleh fotodioda, kemudian akan diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika fotodioda menerima pantulan sinar infra merah maka output dari rangkaian penerima ini akan


(50)

39

mengeluarkan logika low (0), namun jika fotodioda tidak menerima pantulan sinar infra merah, maka output dari rangkaian penerima akan mengeluarkan logika high (1).

Fotodioda memiliki hambatan sekitar 15 s/d 20 Mohm jika tidak terkena sinar infra merah, dan hambatannya akan berubah menjadi sekitar 80 s/d 300 Kohm jika terkena sinar infra merah tergantung dari besarnya intensitas yang mengenainya. Semakin besar intensitasnya, maka hambatannya semakin kecil.

Pada rangkaian di atas, output dari fotodioda diumpankan ke basis dari transistor tipe NPN C945, ini berarti untuk membuat transistor tersebut aktif maka tegangan yang keluar dari fotodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika fotodioda mendapatkan sinar infra merah. Analisanya sebagai berikut: Jika tidak ada sinar infra merah yang mengenai fotodioda, maka hambatan pada fotodioda 15 Mohm, sehingga:

2 330.000

5 0,107 1 2 15.000.000 330.000

R

Vo xVcc x Volt

R R

= = =

+ +

Vout akan diumpankan ke basis dari transistor C945, karena tegangannya hanya 0,107 Volt maka transistor tidak aktif.

Jika ada sinar infra merah yang mengenai fotodioda, maka hambatan pada fotodioda 300 Kohm, sehingga:

2 330.000

5 2, 619 1 2 300.000 330.000

R

Vo xVcc x Volt

R R

= = =

+ +

Vout akan diumpankan ke basis dari transistor C945, karena tegangannya lebih besar dari 0,7 volt yaitu 2,619 Volt maka transistor akan aktif, yang menyebabkan kolektornya terhubung ke emiter, sehingga kolektor mendapat tegangan 5 volt dari


(51)

sehingga jika transistor ini aktif, maka kolektor akan mendapatkan tegangan 0 volt dari ground. Tegangan 0 volt inilah yang merupakan sinyal low (0) yang diumpankan ke mikrokontroler AT89S51, sehingga mikrokontroler dapat mengetahui bahwa sensor ini mengirimkan sinyal, yang berarti bahwa sensor ini telah berada dekat dengan penghalang atau dinding.

LED berfungsi sebagai indikator bahwa sensor ini menerima pantulan sinar infra merah dari pemancar. LED ini akan menyala jika sensor menerima sinar infra merah, dan akan mati jika sensor tidak menerima sinar infra merah.

Untuk mendeteksi adanya sinyal yang dikirimkan oleh sensor, maka mikrokontroler harus diprogram untuk untuk dapat mengecek sensor mana yang mengirimkan sinyal. Sebagai contoh sensor yang berada di depan kanan dihubungkan ke P2.1 mikrokontroler AT89S51. Program untuk mendeteksi pengiriman sinyal dari sensor ini adalah:

Sensor_Depan_Kanan:

JB P2.1, Sensor_Depan_Kiri

Acall Putar_Kiri_Sedikit

Sjmp Sensor_Depan_Kanan

Program di atas akan melihat kondisi P2.1 yang dihubungkan ke sensor depan

kanan, dengan menggunakan perintah JB (jump if bit), jika kondisi P2.1 bit (high)

maka program akan lompat ke rutin Sensor_Depan_Kiri untuk mengecek apakah sensor depan kiri mengirim sinyal atau tidak. Namun jika kondisi P2.1 not bit (low),

maka program akan mengerjakan perintah Acall Putar_Kiri_Sedikit yaitu memanggil

rutin Putar_Kiri_Sedikit untuk menggeser posisi robot agar tidak menabrak dinding.

Selanjutnya program akan kembali ke rutin awal untuk kembali mengecek sensor. Demikian seterusnya.


(52)

41

4. 4 Pengujian Rangkaian Jembatan H

Untuk menghindari dinding, maka robot harus dapat mengendalikan perputaran rodanya. Robot menggunakan 2 buah motor DC 6 volt untuk menggerakkan rodanya, dimana 1 motor untuk menggerakkan roda sebelah kanan dan 1 motor lagi untuk menggerakkan roda sebelah kiri. Untuk mengendalikan ke-2 motor ini digunakan rangkaian jembatan H, seperti gambar ini:


(53)

Pada rangkaian di atas, jika P0.0 diset high yang berarti P0.0 mendapat tegangan 5 volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 0 volt yang menyebabkan transistor ini aktif (transistor tipe PNP akan aktif jika tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan mengakibatkan kolektornya terhubung ke emiter sehingga kolektor mendapatkan tegangan 5 volt dari Vcc.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif (transistor tipe NPN akan aktif jika tegangan pada basis lebih besar dari 0,7 volt). Karena transistor TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emiter, sehingga kolektor tidak mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 dihubungkan dengan kolektor TIP 127 yang mendapatkan tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kiri mendapatkan tegangan 5 volt (polaritas positif).

Agar motor dapat berputar ke satu arah maka kaki sebelah kanan motor harus mendapatkan tegangan 0 volt (polaritas negatif). Hal ini diperoleh dengan memberikan logika low (0) pada P0.1 mikrokontroler AT89S51.


(54)

43

Pada rangkaian di atas, jika P0.1 diset low yang berarti P0.1 mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang berada di sebelah kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 5 volt yang menyebabkan transistor ini tidak aktif Karena transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke emiter sehingga kolektor tidak mendapatkan tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emiter, sehingga kolektor mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 yang mendapatkan teganagan 0 volt dari ground dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kanan mendapatkan tegangan 0 volt (polaritas negatif). Hal ini akan menyebabkan motor akan berputar ke satu arah tertentu.Sedangkan untuk memutar motor kearah sebaliknya, maka logika yang diberikan ke P0.0 adalah low (0) dan logika yang diberikan ke P01. adalah high (1).


(55)

Program yang diisikan ke mikrokontroler AT89S51 untuk memutar motor ke satu arah tertentu adalah:

Setb P0.0 Clr P0.1

Perintah Setb P0.0 akan memberikan logika high ke P0.0 dan perintah Clr P0.1 akan memberikan logika low ke P0.1. Untuk membuat motor berputar kearah sebaliknya adalah:

Clr P0.0 Setb P0.1

Perintah Clr P0.0 akan memberikan logika low ke P0.0 dan perintah Setb P0.1 akan memberikan logika high ke P0.1. Dengan demikian arah perputaran motor sudah dapat dikendalikan oleh program yang diisikan ke mikrokontroler AT89S51.


(56)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Untuk memutar motor dc nilai logika pada inputnya harus diberikan secara bergantian.

2. Robot diprogram untuk menghindari adanya dinding atau penghalang, ketika sensor mendeteksi adanya dinding maka robot diperintahkan untuk berbelok ke kanan atau ke kiri untuk menghindari dinding.

3. Untuk menghindari adanya dinding maka robot dilengkapi dengan 4 sensor infra merah.

4. Fotodioda peka terhadap sinar infra merah, sehingga sensor akan terganggu jika terkena sinar matahari secara langsung.

5.2 Saran

1. Agar sistem atau rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas dalam bentuk yang lebih aman dan terlindungi sehingga penggunaannya lebih efektif.

2. Untuk di masa yang akan datang, alat ini dapat dikembangkan, seperti penggunaan sensor yang berbeda karena fotodioda sangat mudah terganggu


(57)

3. Sebaiknya alat ini dimanfaatkan kegunaannya dikalangan mahasiswa, guna mengembangkan teknologi dan inovasi dikalangan mahasiswa.


(58)

(59)

(1)

Pada rangkaian di atas, jika P0.1 diset low yang berarti P0.1 mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang berada di sebelah kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 5 volt yang menyebabkan transistor ini tidak aktif Karena transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke emiter sehingga kolektor tidak mendapatkan tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emiter, sehingga kolektor mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 yang mendapatkan teganagan 0 volt dari ground dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kanan mendapatkan tegangan 0 volt (polaritas negatif). Hal ini akan menyebabkan motor akan berputar ke satu arah tertentu.Sedangkan untuk memutar motor kearah sebaliknya, maka logika yang diberikan ke P0.0 adalah low (0) dan logika yang diberikan ke P01. adalah high (1).


(2)

44

Program yang diisikan ke mikrokontroler AT89S51 untuk memutar motor ke satu arah tertentu adalah:

Setb P0.0 Clr P0.1

Perintah Setb P0.0 akan memberikan logika high ke P0.0 dan perintah Clr P0.1 akan memberikan logika low ke P0.1. Untuk membuat motor berputar kearah sebaliknya adalah:

Clr P0.0 Setb P0.1

Perintah Clr P0.0 akan memberikan logika low ke P0.0 dan perintah Setb P0.1 akan memberikan logika high ke P0.1. Dengan demikian arah perputaran motor sudah dapat dikendalikan oleh program yang diisikan ke mikrokontroler AT89S51.


(3)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Untuk memutar motor dc nilai logika pada inputnya harus diberikan secara bergantian.

2. Robot diprogram untuk menghindari adanya dinding atau penghalang, ketika sensor mendeteksi adanya dinding maka robot diperintahkan untuk berbelok ke kanan atau ke kiri untuk menghindari dinding.

3. Untuk menghindari adanya dinding maka robot dilengkapi dengan 4 sensor infra merah.

4. Fotodioda peka terhadap sinar infra merah, sehingga sensor akan terganggu jika terkena sinar matahari secara langsung.

5.2 Saran

1. Agar sistem atau rangkaian yang digunakan tidak terganggu, sebaiknya alat

ini dikemas dalam bentuk yang lebih aman dan terlindungi sehingga penggunaannya lebih efektif.

2. Untuk di masa yang akan datang, alat ini dapat dikembangkan, seperti penggunaan sensor yang berbeda karena fotodioda sangat mudah terganggu jika ada cahaya disekelilingnya.


(4)

46

3. Sebaiknya alat ini dimanfaatkan kegunaannya dikalangan mahasiswa, guna mengembangkan teknologi dan inovasi dikalangan mahasiswa.


(5)

(6)