Perancangan Robot Line Follower Berbasis Mikrokontroler AT89S51

(1)

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

BUDI P NABABAN

052408027

PROGRAM STUDI D3 FISIKA INSTRUMENTASI

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2008


(2)

ii

PERSETUJUAN

Judul Kategori Nama

Nomor Induk Mahasiswa Program Studi

Departemen Fakultas

:PERANCANGAN OTOMATIS ROBOT LINE FOLLOWER BERBASIS MIKROKONTROLER AT89S51

:TUGAS AKHIR :BUDI P NABABAN :052408027

:DIPLOMA 3 (D3) FISIKA INSTRUMENTASI :FISIKA

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

Diluluskan di Medan, Juli 2008 Komisi Pembimbing :

Diketahui

Departemen Fisika FMIPA USU Ketua,

Drs. Syahrul Humaidi, M.Sc NIP 130 810 771

Pembimbing,

Dr. Marhaposan Situmorang NIP 130 810 771


(3)

PERNYATAAN

PERANCANGAN ROBOT LINE FOLLOWER BERBASIS MIKROKONTROLER AT89S51

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

BUDI P NABABAN 052408027


(4)

iv

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Pengasih dan Maha Penyayang, dengan limpah karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Ucapan terimakasih saya sampaikan kepada Ayahanda M. Nababan dan Ibunda L. Malau yang telah memberikan bantuan materi dan pemikiran, serta adik-adik saya Yanti, Tida, Sinta, Muni dan Manuel, yang telah memberi semangat dan doa. Semoga Tuhan yang Maha Esa akan membalasnya. Dan ucapan terima kasih kepada Bapak Dr. Marhaposan Situmorang selaku pembimbing pada penyelesaian tugas akhir ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini. Panduan yang ringkas, padat dan profesional telah diberikan kepada saya agar penulis dapat menyelesaikan tugas ini. Ucapan terimakasih juga ditujukan kepada Ketua dan Sekretaris Departemen Drs. Syahrul Humaidi, M.Sc dan Drs. Justinon, MSi, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Fisika FMIPA USU, pegawai di FMIPA USU, dan rekan- rekan kuliah stambuk ‘05.


(5)

ABSTRAK

Robot Line Follower merupakan robot yang berjalan secara otomatis mengikuti garis yang mempunyai warna berbeda dengan background. Dalam perancangan dan implementasinya, masalah-masalah yang harus dipecahkan adalah sistem penglihatan robot, arsitektur perangkat keras yang meliputi perangkat elektronik dan mekanik, dan organisasi perangkat lunak untuk basis pengetahuan dan pengendalian secara waktu nyata. Liner follower mempunyai tiga bagian umum yaitu kaki dalam hal ini roda dan motor, mata yaitu sensor cahaya dan otak yaitu bagian mikrokontoler. Tujuan tugas akhir ini adalah merancang dan mengimplementasikan suatu Robot Pengikut Garis dengan menggunakan mikrokontroler AT89S51 dan sensor infra merah. Basis pengetahuan robot berisi pengkodean aksi yang harus dilakukan oleh robot berdasarkan informasi dari sensor.


(6)

vi

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Daftar Isi vi

Daftar Tabel viii

Daftar Gambar ix

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah 1

1.2 Batasan Masalah 3

1.3 Tujuan Penulisan 3

1.4 Metode Pengumpulan Data 4

1.6 Sistematika penulisan 4

BAB 2 LANDASAN TEORI

2.1 Pengenalan Mikrokontroler 6

2.1.1 Arsitektur AT89S51 8

2.1.2 Konstruksi AT89S51 11

2.2 Komponen Pendukung

2.2.1 Bahasa Assemby MCS-51 16 2.2.2 Software 8051 Editor, Assembler, Simulator (IDE) 22

2.2.3 Software Downloader 24

2.2.3 Mode Flash PEROM 25

2.3 Motor DC Penggerak Motor 26

2.4 Photodioda 27

BAB 3 PERANCANGAN SISTEM

3.1 Diagram Blok Rangkaian 29

3.2 Perancangan Rangkaian Catu Daya 30 3.3 Perancangan Mikrokontroler AT89S51 32 3.4 Perancangan Driver Penggerak Motor DC 34

3.5 Perancangan Sensor Garis 38

3.5.1 Perancangan Pemancar Inframerah 39 3.5.2 Perancangan Penerima Inframerah 40


(7)

BAB 4 PENGUJIAN RANGKAIAN DAN ANALISA 4.1 Pengujian Rangkaian

4.1.1 Pengujian Rangkaian Catu Daya 48 4.1.2 Pengujian Rangkaian Mikrokontroler AT89S51 49 4.1.3 Pengujian Rangkaian Driver Penggerak Motor DC 51 4.1.4 Pengujian Rangkaian Sensor Garis 52

4.2 Analisa 53

BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 54

5.2 Saran 55

DAFTAR PUSTAKA LAMPIRAN


(8)

ix

DAFTAR GAMBAR

Gambar 2.1 IC Mikrokontoler AT89S51 13

Gambar 2.2 Diagram Blok 8051 22

Gambar 2.3 8051 Editor, Assembler, Simulator (IDE) 23 Gambar 2.4 ISP Flash Programmer 3a 24

Gambar 2.5 Mode Flash PEROM 25

Gambar 2.6 Cara Pemberian Bias Balik Pada Photodioda 28

Gambar 3.1 Diagram Blok Rangkaian 29

Gambar 3.2 Rangkaian Catu Daya 31

Gambar 3.3 Rangkaian Mikrokontroler AT89S51 32

Gambar 3.4 Rangkaian Jembatan H 35

Gambar 3.5 Rangkaian Pemancar Inframerah 39 Gambar 3.6 Rangkaian Penerima Sinar Inframerah 40 Gambar 3.7 Diagram Alir dari Program 43

Gambar 4.1 Rangkaian Catu Daya 48

Gambar 4.2 Rangkaian Minimum Mikrokontroler AT89S51 49 Gambar 4.3 Rangkaian Pengujian Jembatan H 51 Gambar 4.4 Rangkaian Sensor Garis 52


(9)

DAFTAR TABEL


(10)

v

ABSTRAK

Robot Line Follower merupakan robot yang berjalan secara otomatis mengikuti garis yang mempunyai warna berbeda dengan background. Dalam perancangan dan implementasinya, masalah-masalah yang harus dipecahkan adalah sistem penglihatan robot, arsitektur perangkat keras yang meliputi perangkat elektronik dan mekanik, dan organisasi perangkat lunak untuk basis pengetahuan dan pengendalian secara waktu nyata. Liner follower mempunyai tiga bagian umum yaitu kaki dalam hal ini roda dan motor, mata yaitu sensor cahaya dan otak yaitu bagian mikrokontoler. Tujuan tugas akhir ini adalah merancang dan mengimplementasikan suatu Robot Pengikut Garis dengan menggunakan mikrokontroler AT89S51 dan sensor infra merah. Basis pengetahuan robot berisi pengkodean aksi yang harus dilakukan oleh robot berdasarkan informasi dari sensor.


(11)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Perkembangan teknologi mengalami perkembangan yang sangat pesat khususnya

dalam bidang instrumentasi elektronika sudah memasyarakat dan bukanlah sesuatu hal

yang asing lagi. Kemajuan teknologi elektronika ini mampu mengatasi masalah-masalah

yang rumit sekalipun, dengan ketelitian dan kecepatan serta ketepatan yang sangat tinggi.

Berbagai peralatan dapat dioperasikan atau digunakan dengan bantuan robot.

Manusia membutuhkan bantuan dari sesuatu yang dapat bekerja cepat, teliti dan

tidak mengenal lelah, robot adalah jawabannya. Robot berasal dari bahasa Crezh, robota

yang berarti pekerja. Kehadiran robot dalam kehidupan manusia memiliki banyak

mamfaat, robot diharapkan dapat mengganti pekerjaan manusia pada lingkungan yang

berbahaya bagi kesehatan dan keselamatan atau daerah yang harus diamati dengan

pengamatan lebih dari kemampuan panca indera manusia, keadaan ini menempatkan

robot sebagai bagian dari keseharian yang sering disebut dengan human-robot


(12)

2

Robot yang dapat berpindah tempat tanpa campur tangan manusia disebut juga

Autonomous Mobile Robot (AMR) dan menjadi penelitian di berbagai universitas dan

lembaga penelitian di seluruh dunia. Aplikasi AMR antara lain sebagai 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 disain yang jauh lebih ringkas daripada

computer. Dengan ukurannya sangat 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 embedded

system, sebuah sistem komputer terpadu. Mikrokontroler memiliki 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, hal ini merupakan kelebihan

mikrokontroler.

Mikrokontroler 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


(13)

Pada penulisan ini dibangun sebuah AMR yang dapat mengikuti garis yang telah

ditentukan sebelumnya. Robot ini memanfaatkan cahaya inframerah yang dipantulkan

oleh lantai untuk membedakan warna garis dengan lantai.

1.2 Batasan Masalah

1. Robot dilengkapi dengan sensor sensor garis dan jembatan H sebagai

penggerak motor DC.

2. Pemancar yang digunakan pada sensor garis adalah inframerah dan

penerimanya adalah photodioda.

3. Robot dilengkapi dengan mikrokontroler AT89S51

1.3 Tujuan Penulisan

Tujuan dilakukan pembuatan proyek ini adalah sebagai berikut :

1. Salah satu syarat yang harus dipenuhi oleh mahasiswa dalam menyelesaikan

program studi D3 Fisika Instrumentasi.

2. Menerapkan disiplin ilmu yang berkaitan yang telah diperoleh selama

perkuliahan.

3. Studi awal dalam pembuatan robot yang dapat mengikuti garis.

4. Memanfaatkan mikrokontroler AT89S51 sebagai tempat pemrosesan data


(14)

4

1.4 Metoda Pengumpulan Data

Metode pengumpulan data yang dilakukan oleh perancang adalah :

1. Melakukan studi ke perpustakaan mengenai teori-teori yang berkaitan dengan

judul tugas akhir ini.

2. Mengumpulkan dan membaca datasheet mengenai komponen yang digunakan.

3. Melakukan perancangan dan perakitan proyek

4. Melakukan konsultasi dengan dosen pembimbing serta dosen-dosen staff

pengajar yang berkaitan dengan realisasi di bidang masing-masing.

5. Melalui pengujian alat dan kinerja rangkaian.

1.5 Sistematika Penulisan

BAB I PENDAHULUAN

Meliputi latar belakang, batasan masalah, tujuan proyek, manfaat proyek,

metode pengumpulan data dan sistematika penulisan.

BAB II LANDASAN TEORI

Landasan Teori dalam bab ini akan dijelaskan meliputi arsitektur dan

konstruksi mikrokontroler, bahasa program yang digunakan serta

karakteristik dari komponen-komponen pendukung. Selain itu juga


(15)

BAB III PERANCANGAN SISTEM

Pada bab ini akan dijelaskan perancangan alat yaitu diagram blok

rangkaian, skematik dari masing-masing rangkaian dan diagram alir

progam yang diisikan ke mikrokontroler AT89S51

BAB IV PENGUJIAN RANGKAIAN DAN ANALISA

Meliputi hasil analisa dari rangkaian dan sistem kerja alat, penjelasan

program-program yang digunakan untuk mengaktifkan rangkaian serta

program yang diisikan pada mikrokontroler AT89S51.

BAB V KESIMPULAN DAN SARAN

Mengenai kesimpulan yang didapat setelah merakit proyek ini dan saran

yang diberikan demi kesempurnaan dan pengembangan proyek ini pada


(16)

BAB 2

LANDASAN TEORI

2.1 Pengenalan Mikrokontroler

Mikrokontroler sebagai teknologi mikroelektronik terbaru yaitu teknologi semikonduktor

kehadiranya sangat membantu perkembangan dunia elektronika. Dengan arsitektur yang

praktis dan harganya yang relatif murah tetapi memuat banyak kandungan transistor yang

terintegrasi, sehingga mendukung dibuatnya rangkaian elektronika yang lebih portable.

Mikrokontroler pertama kali diproduksi tahun 1976 dengan INTEL yang produksinya tipe

8747 (MCS-48) yang di dalamnya terdapat 1 Kbyte EPROM, 64 Byte RAM, 27 Input

Output dan 8 bit timer.

Mikrokontroler merupakam sebuah single chip yang di dalamnya telah dilengkapi

dengan CPU (Central Prosessing Unit), RAM (Random Acces Memory), ROM (Read

Only Memory), input dan output, Timer/Counter, Serial COM Port yang secara spesifik

digunakan untuk aplikasi-aplikasi kontrol dan bukan untuk aplikasi-aplikasi serbaguna


(17)

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan

catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan

progam ini dinamakan sebagai memori progam.

Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu daya,

dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk

menyimpan data ini disebut sebagai memori data.

Mikrokontroler biasanya dilengkapi dengan UART (Universal Asynchoronous

Receiver Transmitter) yaitu port serial untuk komunikasi serial asinkron, USART

(Universal Asynchoronous/Asynchoronous Receiver Transmitter) yaitu port serial yang

digunakan untuk komunikasi serial asinkron dan sinkron yang kecepatannya 16 kali lebih

cepat dari UART, SPI (Serial Port Interface), SCI (serial Communication Interface),

BUS I2 C (Inter-Intergrated Circuit BUS) merupakan interface serial 2 jalur yang terdapat

8 bit, dan CAN (Control Area Network) dan J1850 merupakan standard pengkabelan SAE

(Society of Automotic Engineers).

Mikrokontroler bisa dikelompokkan dalam satu keluarga, masing-masing

mikrokontroler memiliki spesifikasi tersendiri namun cocok dalam pemrogramannya,

contoh-contoh keluarga mikrokontroler adalah keluarga MCS-51, keluarga MC68HC05,

keluarga MC68H11, keluarga AVR, keluarga PIC 8, mikrokontroller AT89S51 terdapat

dalam keluarga MCS-51, dibandingkan mikrokontroler yang lain seperti AT89C51,


(18)

8

atau kapasitasnnya juga lebih kecil, sedangkan mikrokontroler AT89S51 menggunakan

bahasa asembly yang mudah dalam pemrogramannya, kapasitasnya juga lebih besar, dan

yang menjadi dasar pemilihan mikrokontroler ini karena harganya relatif terjangkau, satu

hal lagi mayoritas robot-robot yang dipertandingkan dalam KRI dan KRCI 2005

menggunakan mikrokontroler jenis ini. Maka permasalahan yang akan dibahas adalah

cara pengaplikasian IC mikrokontroler AT89S51 pada robot sesuai dengan

pengaplikasiannya..

Aplikasi mikrokontroler lainnya adalah dalam bidang pengukuran jarak jauh atau

yang dikenal dengan sistem telemetri. Misalnya pengukuran disuatu tempat yang

membahayakan manusia, maka akan lebih nyaman jika dipasang suatu sistem pengukuran

yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari

jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas

membutuhkan suatu sistem akuisisi data sekaligus sistem pengiriman data secara serial

(melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang

digunakan.

2.1.1 Arsitektur Mikrokontroler AT89S51

Setiap mikrokontroler memiliki arsitektur yang berbeda. Tetapi meskipun demikian


(19)

Pada dasarnya arsitektur mikrokontroler dapat dilihat pada pengalamatan kode

dan pengalamatan datanya, yaitu tipe yang menggabungkan pengalamatn kode dengan

pengalamatan data, serta tipe yang memisahkan alamat kode dengan alamat datanya.

Keluarga MCS-51 termasuk dalam kategori yang memisahkan alamat kode maupun

datanya.

Ada beberapa mode pengalamatan pada mikrokontroler:

1. Pengalamatan langsung

Pengalamatan lengsung dilakukan dengan memberikan nilai ke suatu register

secara langsung dengan menggunakan tada “#”.

Contoh:

MOV A,#20h : isi akkumulator dengan bilangan 20 h

MOV DPTR,#25h : isi register DPTR dengan bilangan 25 h

MOV R1#10h : isi register R1 dengan 10 h

2. Pengalamatan tak langsung

Pengalamatan lengsung dilakukan untuk menunjukk ke sebuah register yang berisi

alamat memori yang akan digunakan dalam operasi dengan menggunakan tada

“@”. AT89S51 mempunyai sebuah register 16 bit (DPTR) yang dapat digunakan

untuk melakukan pengalamatan tidak langsung.

Contoh:

DEC @R1 : kurangi isi RAM yang alamatnya ditunjukan oleh


(20)

10

3. Pengalamatan kode

Pengalamatan kode terjadi saat operand berfungsi sebagai alamat dari instruksi

JUMP dan CALL.

Contoh:

ACALL Tunda -

Tunda

Mov A,#20H Loop:

DJNZ A, LOOP RET

4. Pengalamtan Bit

Pengalamtan bit merupakan penunjukan alamat lokasi bit, baik yang berada di

dalam RAM internal atau perangkat keras. Simbol (.) digunakan dalam operasi

ini.

Contoh:

SETB P1.5 : set bit port 1.5 aktif

SETB TR1 : set TR1 (Timer 1 aktif)

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program

aplikasi (misalnya pengolah data, pengolah angka dan lain sebagainya), mikrokontroler

hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada

perbandingan RAM-nya dan ROM. Pada sistem komputer perbandingan RAM dan

ROM-nya besar, artiROM-nya program-program pengguna disimpan dalam ruang RAM yang relatif

besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang


(21)

artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM)

yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat

penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler

yang bersangkutan.

2.1.2 Konstruksi AT89S51

AT89S51 adalah mikrokontroler keluaran Atmel Coorporation, dengan 4K byte Flash

programmable and erasable read only memory. Mikrokontroler ini turunan dari keluarga

MCS-51, memori dengan teknologi nonvolatile memory. Memori ini digunakan untuk

menyimpan instruksi berstandar kode MCS-51 sehingga memungkinkan mikrokontroler

ini bekerja dalam mode operasikeping tunggal yang tidak memerlukan external memory.

Berikut spesifikasi dari AT89S51:

1. Kompatibel dengan dengan mikrokontroler MCS 51

2. 8 K byte In-system Programmable (ISP) flash memori dengan kemampuan

1000 kali baca/tulis

3. 128 × 8-bit RAM internal

4. 32 jalur I/O yang dapat deprogram.

5. Dua buah 16 bit Timer/Counter

6. Enam sumber interupsi

7. Saluran Full Duplex Serial UART


(22)

12

Penggunaan IC AT89S51 memiliki beberapa keuntungan dan keunggulan, antara

lain tingkat kendala yang tinggi, komponen hardwere eksternal yang lebih sedikit,

kemudahan dalam pemrograman dan hemat dari segi biaya. IC AT89S51 memiliki

program internal yang mudah untuk dihapus dan diprogram kembali secara berulang-

ulang. Pada pesawat ini IC AT89S51 berfungsi sebagai sentral kontrol dari segala

aktivitas pesawat.

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 12 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian

oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler. Memori

merupakan bagian yang sangat penting pada mikrokontroler.

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.

Sarana Input/Ouput yang disediakan cukup banyak dan bervariasi AT89S51

mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1


(23)

Gambar 2.1 IC Mikrokontroler AT89S51

Deskripsi pin-pin pada mikrokontroler AT89S51 :

Pin 1 sampai 8

Pin 1-8 merupakan port 1 yang menjadi saluran (bus) dua arah input/output 8 bit. Dengan

internal pull-up yang dapat digunakan untuk berbagai keperluan dan dapat mengendalikan

empat input TTL. Port ini juga digunakan sebagai saluran alamat pada saat pemrograman

dan verifikasi.

Pin 9 (RST)

Merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tingggi akan

mereset mikrokontroler ini.


(24)

14

Pin 10 – pin 17 (Port 3)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai

fungsi pin masing-masing, yaitu sebagai berikut :

Tabel 1.1 Fungsi Port 3 Mikrokontroler AT89S51

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)

Pin 18 dan 19

Jalur ini merupakan masukan ke penguat isolator berpenguatan tinggi. Mikrokontroler ini

memiliki seluruh rangkaian osilator yang diperlukan pada chip, kecuali rangkaian kristral

yang mengendalikan frekuensi osilator. Oleh karena itu, pin 18 dan 19 sangat diperlukan

untuk dihubungkan dengan kristal. Selain itu, XTAL 1 juga dapat digunakan sebagai

input untuk inverting osilator amplifier dan input ke rangkaian internal clock sedangkan


(25)

Pin 20 (GND)

Merupakan ground sumber tegangan yang diberi simbol GND.

Pin 21 – pin 28 (Port 2)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakes 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.

Pin 29 (PSEN)

Progam store enable (PSEN) merupakan sinyal pengontrol untuk mengakses program

memori eksternal yang masuk ke dalam saluran (bus) selama proses pemberian atau

pengambilan instruksi (fetching).

ALE/PROG (pin 30)

Address latch Enable (ALE/PROG) merupakan penahan alamat memori eksternal (pada

port 1) selama mengakses ke memori eksternal. Pin ini juga berfungsi sebagai pulsa

(sinyal) input program (PROG) selama proses pemograman.

Pin 31 (EA)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan


(26)

16

high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal.

Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt.

Pin 39-Pin 32 (Port 0)

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

penerima kode byte pada saat flash progamming 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 progamming

diperlukan eksternal pull up, terutama pada saat verifikasi program.

Pin 40 (VCC)

Merupakan sumber tegangan positif yang diberi simbol Vcc.

2.2 Komponen Pendukung

2.2.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa

assembly untuk MCS-51. MCS-51 merupakan salah satu keluaran mikrokontroler yang

menggunakan teknologi CMOS.


(27)

a. Tegangan Kerja

Tegangan kerja AT89LV55 buatan Atmel dapat beroperasi pada tegangan 2,7

Volt sampai dengan 6 Volt. Dan seri P89LPC9XX buatan Philips dapat

beroperasi pada tegangan 2,4 Volt sampai 3,6 Volt.

b. Memori

Beberapa time memori pada MCS-51:

1. One Time Programmable (OTP) / Mask ROM (Read Only Memory)

2. MTP Flash/EEPROM

3. Multiple Time Programmble (MTP) Ultra-Violet Erasable Programmble

ROM (UVEPROM).

c. Fungsi Khusus

Beberapa fungsi pada MCS-51 antara lain:

1. C8051F20 buatan Cygnal memiliki ADC (Analog to Digital Converter)

hingga 12 bit 32 channel.

2. ATMega8535 ADC 8 chanel 10 bit. Fitur ini terdapat pada kit DT51 AVR

low cost.

3. P87LPC768 buatan Philips memiliki 8 keyboard interrupt, power on reset


(28)

18

d. Timer/Counter

Timer/counter yang dimiliki MCS-51 dapat mencapai 5 buah seperti

P89LPC932 dari Philips. Tipe yang lain memiliki fasitas Pulse Width

Modulation (PWM), Programmable Counter Array (PCA) dan Wacthdog

Timer.

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.

Contoh pengisian nilai secara tidak langsung:

MOV 20h,#80h ... ... MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal


(29)

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:


(30)

20

... TUNDA:

... RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu.

Contoh:

Loop:

... ... JMP Loop

6. InstruksiJB (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 ...


(31)

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. InstruksiDEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud

dengan 1.

Contoh:

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

DEC R0 R0 = R0 – 1 ...

10.InstruksiINC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang

dimaksud dengan 1.

Contoh:

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

INC R0 R0 = R0 + 1 ...


(32)

22

2.2.2. Software 8051 Editor, Assembler, Simulator (IDE)

Mikrokontroler 8051 merupakan keluarga mikrontroler MCS-51. Yang termasuk dalam

keluarga MCS-51 adalah mikrokontroler 8031 (versi 8051 tanpa EPROM). 8751 dan

8052. Keluarga MCS-51 memiliki XPU, RAM, counter/timer, port pararel dan port serial

yang sama. Mikrokontroler 8051 diperkenalkan pertama kali oleh Intel Crop,

mikrokontroler ini terdiri dari kontroler 8 bit yang mampu mengakses 64 Kbyte dan 64

Kbyte data memori eksternal.

Timer 1

Serial port 4 I/O Port

Timer 0 128 Byte

RAM

BUS Control CPU

Interupt control

OSC

P0 P1 P2 P3

Counter Input

Addres data


(33)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada

sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di

bawah ini:

Gambar 2.3 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


(34)

24

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke

dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat pengkompiler.

Komplier adalah penerjemah untuk penmograman, prinsip kerjanya adalah dengan cara

menerjemahkan (misalnya pada PC) langsung ke bahasa mesin. Bilangan heksadesimal

inilah yang akan dikirimkan ke mikrokontroler.

2.2.3. Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan

software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya

seperti gambar berikut ini:


(35)

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file

heksadesimal dari hasil kompilasi 8051 IDE, kemudian klik Write untuk mengisikan hasil

kompilasi tersebut ke mikrokontroler.

2.2.4 Mode Flash PEROM

Pada mode ini aplikasi akan didownload ke dalam Flash PEROM dari AT89S51 dan

DST-51.

Gambar 2.5 Mode Flash PEROM

Keuntungan Mode Flash PEROM adalah:

1. Pada mode ini pengguna cukup menggunakan Paket DST-51/2 Economic

Version di mana Modul memori expanded tidak diperlukan

2. lebih ekonomis karena tidak menggunakan memori EEPROM eksternal


(36)

26

4. program aplikasi ada pada Flash PEROM sehingga setelah selesai pada

perancangan program, IC yang telah terisi dapat langsung digunakan pada

aplikasi secara single chip tanpa mengubah alamat program

Pengisiam program pada mode ini menggunakan teknik ISP (In System

Programming) sehingga dibutuhkan kabel ISP sebagai peranggkat Programernya.

2.3 Motor DC Penggerak Motor

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.

Dengan sifat yang demikian maka dibutuhkan suatu rangkaian yang dapat membalikkan

polaritas yang diberikan ke motor DC tersebut, sehingga perputaran motor DC dapat

dikendalikan oleh rangkaian tersebut.

Motor DC jarang digunakan pada aplikasi industri umum karena semua sistem

utility listrik dilengkapi dengan perkakas arus bolak balik, meskipun demikian, pada

aplikasi khusus adalah menguntungkan jika mengubah arus bolak balik menjadi arus

searah digunakan dimana kontrol torsi dan kecepatan dengan rentang yang lebar


(37)

Motor DC umum yang menggunakan sikat (brush), yang menggunakan lilitan

pada rotor dan menggunkan magnet tetap pada sisi stator, pada dasarnya dapat dianggap

sebagai suatu beban yang dapat dihubungkan langsung ke rangkaian switching arus DC.

Oleh karena itu, pemilihan ruang tepat cukup diperoleh dengan memperhatikan besar

kebutuhan arus untuk memutar motor DC secara nominal. Lilitan pada motor DC dapat

diidentikkan dengan lilitan pada kumparan relay sehingga rangkaian drivernya relative

sama. Tujuan motor DC adalah untuk menghasilkan gaya yang menggerakkan (torsi).

Pada beberapa kasus sering diperlukan arah putaran motor DC yang

berubah-ubah. Prinsip dasar untuk mengubah arah perputarannya adalah dengan membalik

polaritas pada catudaya tegangannya.

2.4 Photodioda

Photodioda adalah dioda sambungan p-n yang secara khusus dirancang untuk mendeteksi

cahaya dan biasanya terdapat lapisan intrinsik antara lapisan n dan p. Piranti yang

memiliki lapisan intrinsik disebut p-i-n atau PIN potodioda. Energi cahayanya lewat

melalui lensa yang mengekspos sambungan.

Photodioda dirancang beroperasi pada mode bias-balik. Arus bocor bias-balik


(38)

28

mikroampere. Photodioda mempunyai waktu respon yang cepat terhadap berbagai

cahaya. Cahaya diserap di daerah pengambungan atau daerah intrinsik menimbulkan

pasangan elektron-hole, kebanyakan pasangan tersebut menghasilkan arus yang berasal

dari cahaya.

Yang menyebabkan tahanan reverse photodioda ini berubah-ubah karena energi

cahaya, maka untuk merangkainya dapat disusun dengan bias balik seperti gambar di

bawah ini:

R

E Photodioda

Gambar 2. 6 Cara Pemberian Bias Balik pada Photodioda

Seperti pada gambar di atas dalam keadaan gelap tahanan reverse dioda sangat

besar sehingga arus tidak mengalir. Akan tetapi bila cahaya jatuh pada dioda semakin

kuat maka tahanan reversenya akan menurun dan arus reversenya akan bertambah besar.

Photodioda dalam keadaan reverse bias dapat dianggap sebagai sumber arus yang


(39)

BAB 3

PERANCANGAN SISTEM

3.1 Diagram Blok Rangkaian

Secara garis besar, diagram blok dari rangkaian robot pengikut garis ini ditunjukkan pada

gambar 3.1. berikut ini:

MIKROKONTROLER

AT89S51

Photodioda kiri Phodioda kanan

Driver penggerak motor (Jembatan H)

Driver penggerak motor (Jembatan H) Driver penggerak

motor (Jembatan H)

Driver penggerak motor (Jembatan H)

Motor DC kanan

Motor DC kanan

Motor DC kiri

Motor DC kiri P0.6

P2.1

P0.5 P0.4

P0.7 P2.0


(40)

30

Pada robot ini, jenis sensor yang digunakan adalah sensor garis. Sensor garis yang

digunakan adalah LED inframerah. LED inframerah cukup baik digunakan sebagai sensor

karena cahaya spektrum cahayanya berada di luar spektrum cahaya matahari sehingga

tidak menggangu kinerja sensor. Robot akan berjalan secara otomatis mengikuti garis

yang warnanya berbeda dengan backgroundnya, garis yang digunakan adalah garis putih

dengan background hitam. Sensor ini terletak di depan robot dan menghadap ke lantai.

Sensor ini terhubung pada P2.0 dan P2.1 dari mikrokontroler AT89S51.

Untuk mengendalikan pergerakan motor, digunakan sebuah rangkaian driver

penggerak motor DC yaitu jembatan H. Motor DC digunakan pada robot ini karena

memiliki speed dan torsi yang mudah dikontrol arah putaran dan kecepatannya. Jembatan

H ini akan memutar motor DC searah/berlawanan arah jarum jam bila diberi pulsa 1 atau

0. Dengan demikian pergerakan motor dapat dikendalikan melalui program. Pin-pin

jembatan H ini dihubungkan ke P0.4, P0.5, P0.6, dan P0.7 dari mikrokontroler AT89S51.

3.2 Perancangan Rangkaian Catu Daya

Rangkaian catu daya ini berfungsi untuk mensuplay tegangan ke seluruh rangkaian.


(41)

2200uF

5 Volt DC

0 Volt

6,2 Volt DC

6.2 V

Rangkaian catu daya ditunjukkan oleh gambar berikut ini :

Gambar 3.2 Rangkaian catu daya

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 disupplay oleh

kapasitor ini. Pada rangkaian ini terdapat 2 buah keluaran, yaitu 5 volt dan 6 volt.

Keluaran 5 volt dibutuhkan oleh mikrokontroler, penguat sinyal dan rangkaian sensor,


(42)

32

3.3 Rangkaian Mikrokontroler AT89S51

Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:

Gambar 3.3 Rangkaian mikrokontroler AT89S51

5V VCC 10uF 5V VCC 2 1 30pF 30pF

XTAL 12 MHz

AT89S51 P0.3 (AD3) P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) Vcc P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) RST EA/VPP P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P3.6 (WR) P3.5 (T1) P3.7 (RD) XTAL2 XTAL1

GND P2.0 (A8)

1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 9 10 11 12 13 14 15 32 31 30 29 28 27 26 16 17 18 19 20 25 24 23 22 21 4.7k2SA733 5V VCC LED1


(43)

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada.

Komponen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah

semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang

dikehendaki.

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

mereset mikrokontroler ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus

I/O 8 bit open colector 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 17 yang merupakan P3.7 dihubungkan

dengan transistor dan sebuah LED. Ini dilakukan hanya untuk menguji apakan 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

17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum


(44)

34

pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5

volt dari power supplay.

3.4 Perancangan Driver Penggerak Motor DC

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.

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.

Dengan sifat yang demikian maka dibutuhkan suatu rangkaian yang dapat membalikkan

polaritas yang diberikan ke motor DC tersebut, sehingga perputaran motor DC dapat

dikendalikan oleh rangkaian tersebut. 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


(45)

Untuk perintah maju, maka robot akan memutar maju kedua motor, motor kanan

dan kiri. Sedangkan untuk berbelok kekanan, maka robot akan memutar maju motor

sebelah kiri dan memutar mundur motor sebelah kanan, sehingga dengan demikian maka

robot akan berbelok kearah kanan. Hal sebaliknya dilakukan jika robot berputar ke

sebelah kiri. Rangkaian jembatan H, ditunjukkan pada gambar di bawah ini:

Vcc

Vcc

Vcc

Vcc

Motor 330 Ohm

330 Ohm

330 Ohm

330 Ohm TIP127 TIP127

C945

TIP122 TIP122

C945 C945

C945 1 K

1 K 1 K

1 K 18 Ohm

18 Ohm 18 Ohm

18 Ohm

P0.4 P0.6

AT89S51

AT89S51

Gambar 3.4 Rangkaian jembatan H

Pada rangkaian di atas, jika P0.4 diset high yang berarti P0.4 mendapat tegangan 5

volt, maka kedua transistor tipe NPN C945 yang di sebelah 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 aktip jika


(46)

36

mengakibatkan kolektornya terhubung ke emitor 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 emitor, sehingga kolektor

tidak mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 dihubungkan dengan kolektor TIP 127 yang

mendapatkan teganagan 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).

Pada rangkaian di atas, jika P0.4 diset low yang berarti P0.4 mendapat tegangan 0

volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak akan aktip. 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 emitor sehingga kolektor tidak

mendapatkan tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari


(47)

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 aktip. Karena

transistor TIP 122 ini menjadi aktip, menyebabkan kolektornya terhubung ke emitor,

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 kea arah sebaliknya, maka logika

yang diberikan ke P0.4 adalah low (0) dan logika yang diberikan ke P0.5 adalah high (1).

Sedangkan untuk memutar motor ke arah yang sebaliknya, maka logika yang diberikan ke

P0.0 adalah low (0) dan logika yang diberikan ke P0.1 adalah high (1).

Program yang diisikan pada ke mokrokontroler AT89S51 untuk memutar motor

kea rah tertentu adalah

Setb motor_kanan1 Clr motor_kanan2

Sedangkan Setb P0.5 akan memberikan logika high ke P0.5 dan perintah Clr p0.4

akan memberikan logika low (0) ke P0.4. Untuk membuat motor berputar kea rah


(48)

38

Clr motor_kiri1 Set motor_kiri2

Perintah Clr P0.7 akan memberikan logika low (0) ke P0.7dan perintah Setb p0.6

akan memberikan logika high (1) ke P0.6. Dengan demikian arah perputaran motor sudah

dapat dikendalikan oleh program yang diisikan ke program mikrokontroler AT89S51.

3.5 Perancangan Sensor Garis

Garis yang digunakan adalah garis putih dan lantainya berwarna gelap (hitam), dengan

demikian ketika sensor mengenai garis putih, maka pantulan dari inframerah akan

mengenai photodioda. Sedangkan jika sensor mengenai lantai hitam, maka pancaran sinar

inframerah lebih banyak yang diserap oleh lantai hitam, sehingga pantulannya menjadi

lemah dan tidak mengenai potodioda.. Perbedaan intensitas dari pantulan inilah yang

digunakan untuk mendeteksi garis.

Setiap pantulan yang diterima oleh potodioda akan diolah dan dijadikan data

digital, sehingga bila potodioda mendapatkan pantulan dari pemancar inframerah, maka

akan mengirimkan sinyal low (0) ke mikrokontroler AT89S51. Dengan demikian

mikrokontroler dapat mendeteksi sensor yang mengirimkan sinyal low dan mengambil


(49)

VCC 5V

Infra Merah

100 100

Infra Merah

100

3.5.1 Perancangan Pemancar Infra Merah

Rangkaian pemancar inframerah tampak seperti gambar di bawah ini:

Gambar 3.5 Rangkaian Pemancar inframerah

Untuk dapat mendeteksi garis, maka robot dilengkapi dengan 2 buah sensor garis.

Masing-masing sensor menggunakan 3 buah pemancar inframerah dan sebuah

photodioda. Sensor ini memanfaatkan pantulan dari pemancar inframerah yang diterima

oleh potodioda. Digunakan 3 buah pemancar inframerah pada masing-masing sensor

bertujuan agar sinyal pantulan semakin kuat, sehingga garis dapat terdeteksi dengan baik.

Pada rangkaian di atas digunakan 3 buah LED inframerah yang diparalelkan,

dengan demikian maka intensitas yang dipancarkan oleh inframerah semakin kuat, karena

merupakan gabungan dari buah LED inframerah. Resistor yang digunakan adalah 100


(50)

40

5

0, 05 50 100

V

i A atau mA

R

= = =

Dengan besarnya arus yang mengalir ke LED inframerah, maka intensitas

pancaran inframerah akan semakin kuat, yang menyebabkan jarak pantulannya akan

semakin jauh.

3.5.2 Perancangan Pemerima Inframerah

Rangkaian penerima inframerah seperti gambar di bawah ini:

Gambar 3.6 Rangkaian Penerima sinar inframerah

Pantulan dari sinar inframerah akan diterima oleh photodioda, kemudian akan

diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika photodioda

menerima pantulan sinar inframerah maka output dari rangkaian penerima ini akan

5V

330K 1K

330 Ohm

4,7K 1K A733

C945 C828 A733

10K

1K 10K

10K

4,7K

Photodioda

AT89S51


(51)

mengeluarkan logika low (0), namun jika photodioda tidak menerima pantulan sinar

inframerah, maka output dari rangkaian penerima akan mengeluarkan logika high (1).

Photodioda memiliki hambatan sekitar 15 s/d 20 MΩ jika tidak terkena sinar inframerah, dan hambatannya akan berubah menjadi sekitar 80 s/d 300 KΩ jika terkena sinar inframerah tergantung dari besarnya intensitas yang mengenainya. Semakin besar

intensitasnya, maka hambatannya semakin kecil.

Pada rangkaian di atas, output dari photodioda diumpankan ke basis dari transistor

tipa NPN C828, ini berarti untuk membuat transistor tersebut aktif maka tegangan yang

keluar dari photodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika

potodioda mendapatkan sinar inframerah. Analisanya sebagai berikut:

Aktifnya transistor C828 akan menyebabkan kolektornya terhubung ke emitor,

sehingga kolektor mandapat tegangan 0 volt dari ground, tegangan ini diumpankan ke

basis dari transistor ke-2 tipe PNP A733, sehingga transistor ini juga aktif. Seterusnya

aktipnya transistor A733 akan menyebabkan kolektornya terhubung ke emitor, sehingga

colektor mandapat tegangan 5 volt dari Vcc, tegangan ini diumpankan ke basis dari

transistor ke-3 tipe NPN C945, sehingga transistor ini juga aktif.

Kolektor dari transistor C945 dihubungkan mikrokontroler AT89S51 sehingga

jika transistor ini aktif, maka kolektor akan mendapatkan tegangan 0 volt dari ground.


(52)

42

mikrokontroler AT89S51, sehingga mikrokontroler dapat mengetahui bahwa sensor ini

mengirimkan sinyal, yang berarti bahwa sensor ini telah berada pada garis putih.

Transistor ke-4 tipe PNP A733 berfungsi untuk menyalakan LED sebagai

indikator bahwa sensor ini menerima pantulan sinar inframerah dari pemancar. LED ini

akan menyala jika sensor menerima sinar inframerah, dan akan mati jika sensor tidak

menerima sinar inframerah.

Untuk mendeteksi adanya sinyal yang dikirim oleh sensor, mikrokontoter

AT89S51 harus deprogram untuk mengecek sensor mana yang mengirimkan sinyal.

Contohnya jika sensor berada di depan kanan dihubungkan ke P2.0 mikrokontroler

AT89S51. Program untk mendeteksi sinyal sensor ini adalah:

cek_kanan:

acall maju

jb sensor_kanan,cek_kiri

acall kanan

sjmp cek_kanan

Pada program di atas akan melihat kondisi P2.0 dihubungkan ke sensor depan

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

program akan melompat ke rutin sensor_depan_kiri untuk mengecek apakah sensor depan

kiri mengirim sinyal atau tidak. Namun jika kondisi P2.0 not bit (low), maka program

kanan mengerjakan perintah Acall putar_kanan_sedikit yaitu memanggil putar sedikit

untuk menggeser posisi robot. Selanjutnya program akan kembali ke rutin awal untuk


(53)

3.6 Perancangan Program

Robot ini dirancang untuk mendeteksi garis yang menjadi lintasannya. Diagram alir dari

program yang akan dibuat adalah:

Belok Kanan Cek Sensor kanan

start

Maju

Cek Sensor kiri Belok Kiri

1

1

0

0 1

1

Gambar 3.6 Diagram Alir dari Program

Program diawali dengan pengecekan logika pada sensor garis yang ada pada

sebelah kanan robot. Jika sensor ini menerima logika 0 yang berarti sensor berada di atas

garis putih, maka mikrokontroler segera memengirimkan logika agar jembatan H


(54)

44

Namun ketika sensor kanan tersebut menerima logika 1 yang berarti sensor berada

di atas lantai, maka mikrokontroler melanjutkan program untuk memeriksa logika yang

ada pada sensor kiri robot. Ketika logika yang dihasilkan oleh sensor ini adalah 0, yang

berarti sensor sedang berada di atas garis putih, maka mikrokontroler segera mengirimkan

logika pada jembatan H agar segera membelokkan robot ke kiri. Ketika sensor kiri

bernilai (berlogika) 1, maka robot akan tetap berjalan maju.

Program robot pengikut garis:

motor_kanan1 bit p0.5 ; motor kanan1 pada alamat bit p0.5

motor_kanan2 bit p0.4 ; motor kanan2 pada alamat bit p0.4

motor_kiri1 bit p0.6 ; motor kiri1 pada alamat bit p0.6

motor_kiri2 bit p0.7 ; motor kiri2 pada alamat bit p0.7

sensor_kanan bit p2.0 ; sensor kanan pada alamat bit p2.0

sensor_kiri bit p2.1 ; sensor kiri pada alamat bit p2.1

org 0h ;program dimulai dari 0000h

cek_kanan: ;program utama

acall maju ;memanggil rutin maju

jb sensor_kanan,cek_kiri ;melompat ke bit p2.0 pada

logika high (1)

acall kanan ;memanggil rutin kanan

sjmp cek_kanan ;melompat ke baris perintah

label cek kanan

cek_kiri: ; program utama

jb sensor_kiri,cek_kanan ; melompat ke bit p2.1

pada logika high (1)

acall kiri ; memanggil rutin kiri

sjmp cek_kiri ;melompat ke baris perintah

label cek kiri

maju: ; perintah maju

setb motor_kanan1 ; aktifkan logika high (1)

pada it p0.5

clr motor_kanan2 ; aktifkan logika low pada


(55)

setb motor_kiri1 ; aktifkan logika high (1) pada bit p0.6

clr motor_kiri2 ; aktifkan logika low (0)

pada bit p0.7

mov r7,#65 ; isikan 65 pada register 7

(R7)

djnz r7,$ ; instruksi yang akan

mengurangi 1 nilai register

7 dan akan melompat ke

memori program maju jika setelah pengurangan belum dihasilkan 0

call mati ;memanggil rutin mati

ret ;program berhenti untuk

program maju

mati: ;perintah untuk motor mati

clr motor_kanan1 ;aktifkan logika low (0)

pada bit p0.5

clr motor_kanan2 ; aktifkan logika low (0)

pada bit p0.4

clr motor_kiri1 ; aktifkan logika low (0)

pada bit p0.6

clr motor_kiri2 ; aktifkan logika low (0)

pada bit p0.7

mov r7,#80 ;isikan 80 pada register 7

(R7)

djnz r7,$ ; instruksi yang akan

mengurangi 1 nilai register

7 dan akan melompat ke

memori program maju jika setelah pengurangan belum dihasilkan 0

ret ; program berhenti untuk

program mati

kanan: ; perintah untuk kanan

mov r6,#5 ; isikan 5 pada register 6

(R6)

kanan1: ; perintah untuk kanan1

mov r5,#1 ; isikan 1 pada register 5

(R5)

belok_kanan: ; perintah untuk belok

kanan

setb motor_kanan ; aktifkan logika


(56)

46

clr motor_kanan2 ; aktifkan logika low (0)

pada bit p0.4

clr motor_kiri1 ; aktifkan logika

low (0) pada bit p0.6

setb motor_kiri2 ; aktifkan logika

high(1) pada bit p0.7

mov r7,#220 ;isikan 220 pada register 7

(R7)

djnz r7,$ ; instruksi yang akan

mengurangi 1 nilai register

7 dan akan melompat ke

memori program maju jika setelah pengurangan belum dihasilkan 0

acall mati_untuk_belok ; memanggil rutin mati

untuk belok

djnz r5,belok_kanan ; instruksi yang akan

mengurangi 1 nilai register

7 dan akan melompat ke

memori program belok kanan jika setelah pengurangan belum dihasilkan 0

djnz r6,kanan1 ; instruksi yang akan

mengurangi 1 nilai register

6 dan akan melompat ke

memori program kanan jika setelah pengurangan belum dihasilkan 0

ret ; program berhenti untuk

program belok kanan

kiri: ; perintah untuk kiri

mov r6,#5 ; isikan 5 pada register 6

(R6)

kiri1: ; perintah untuk kiri

mov r5,#1 ;isikan 1 pada register 5

(R5)

belok_kiri: ; perintah untuk belok kiri

clr motor_kanan1 ; aktifkan logika

low (0) pada bit p0.5

setb motor_kanan2 ; aktifkan logika high (1)

pada bit p0.4

setb motor_kiri1 ; aktifkan logika high (1)


(57)

clr motor_kiri2 ; aktifkan logika low (0) pada bit p0.7

mov r7,#220 ;isikan 220 pada register 7

(R7)

djnz r7,$ ; instruksi yang akan

mengurangi 1 nilai register

7 dan akan melompat ke

memori program belok kiri jika setelah pengurangan belum dihasilkan 0

acall mati_untuk_belok ; memanggil rutin mati

untuk belok

djnz r5,belok_kiri ; instruksi yang akan

mengurangi 1 nilai register

5 dan akan melompat ke

memori program belok kiri jika setelah pengurangan belum dihasilkan 0

djnz r6,kiri ; instruksi yang akan

mengurangi 1 nilai register

6 dan akan melompat ke

memori program kiri jika setelah pengurangan belum dihasilkan 0

ret ; program berhenti untuk

program belok kiri

mati_untuk_belok:

clr motor_kanan1 ; aktifkan logika

low (0) pada bit p0.5

clr motor_kanan2 ; aktifkan logika

low (0) pada bit p0.4

clr motor_kiri1 ; aktifkan logika low (0)

pada bit p0.6

clr motor_kiri2 ; aktifkan logika

low (0) pada bit p0.7

mov r7,#1 ;isikan 1 pada register 7

(R7)

djnz r7,$ ; instruksi yang akan

mengurangi 1 nilai register

7 dan akan melompat ke

memori program untuk belok jika setelah pengurangan belum dihasilkan 0

ret ; program berhenti untuk


(58)

2200uF

5 Volt DC

0 Volt 6,2 Volt DC

6.2 V

BAB 4

PENGUJIAN RANGKAIAN DAN ANALISA

4.1. Pengujian Rangkaian

4.1.1 Pengujian Rangkaian Catu Daya

Rangkaian catu daya ini berfungsi untuk mensuplay tegangan ke seluruh rangkaian

Rangkaian ini terdiri dari sebuah baterei 6 volt yang di serikan dengan dua buah dioda.

Pengujian pada bagian rangkaian catu daya ini dapat dilakukan dengan mengukur

tegangan keluaran dari rangkaian ini dengan menggunakan volt meter digital.

Rangkaian catu daya ditunjukkan oleh gambar berikut ini :

Gambar 4.1. Rangkaian Catu Daya

Tengangan sebesar 5 V dipergunakan untuk mensupply tegangan ke seluruh


(59)

cukup mensupplay tegangan mikrokontroler AT89S51. Rangkaian catu daya dikatakan

baik ketika nilai tegangan outputnya berkisar antara 4,5V – 5,0V.

4.1.2 Pengujian Rangkaian Mikrokontroler AT89S51

Untuk mengetahui rangkaian mikrokontroler ini sudah bekerja dengan baik, maka

dilakukan pengujian.

Gambar 4.2 Rangkaian minimum mikrokontoler AT89S51

Pengujian ini dilakukan dengan cara memberikan program sederhana pada

mikrokontroler AT89S51. Programnya adalah sebagai berikut:

5V VCC 10uF 5V VCC 2 1 30pF 30pF

XTAL 12 MHz

AT89S51 P0.3 (AD3) P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) Vcc P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) RST EA/VPP P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P3.6 (WR) P3.5 (T1) P3.7 (RD) XTAL2 XTAL1

GND P2.0 (A8) 1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 9 10 11 12 13 14 15 32 31 30 29 28 27 26 16 17 18 19 20 25 24 23 22 21 4.7k2SA733 5V VCC LED1


(60)

50

loop:

setb p2.7 acall tunda clr p2.7

acall tunda sjmp loop tunda:

mov r7,#0ffh tnd:

mov r6,#0ffh djnz r6,$ djnz r7,tnd ret

Program ini ditujukan untuk menghidupkan LED yang terhubung pada p2.7, dan

kemudian mematikannya kembali selama selang waktu tertentu secara terus menerus.

Perintah setb p2.7 akan menyebabkan p2.7 akan berlogika high, yang akan menyebabkan

transistor akan aktif. Aktifnya transistor akan memicu hidupnya LED. Perintah acall

tunda akan menyebabkan LED tersebut akan menyala selama selang waktu tertentu.

Setelah itu, dengan perintah clr p2.7, p2.7 akan berlogika low. Hal ini menyebabkan LED

mati. LED akan mati selama beberapa saat karena adanya pemanggilan waktu tunda

kembali yang ditandai dengan perintah acall tunda. Keadaan ini akan berulang-ulang,

sehingga LED akan terlihat kelap-kelip.

Jika program tersebut telah diisikan ke mikrokontroler AT89S51, kemudian

mikrokontroler dapat bekerja sesuai dengan program yang diisikan, maka rangkaian


(61)

4.1.3 Pengujian Rangkaian Jembatan H

Rangkaian untuk mengendalikan perputaran motor DC tersebut adalah sebuah rangkaian

yang dikenal dengan jembatan H.

Vcc

Vcc

Vcc

Vcc

Motor 330 Ohm

330 Ohm

330 Ohm

330 Ohm TIP127 TIP127

C945

TIP122 TIP122

C945 C945

C945 1 K

1 K 1 K

1 K 18 Ohm

18 Ohm 18 Ohm

18 Ohm

P0.4 P0.6

AT89S51

AT89S51

Gambar 4.3 Rangkaian Jembatan H

Untuk menguji rangkaian ini, diberikan logika high (5 V) pada salah satu inputnya

misalnya pada P0.4, sedangkan inputnya yang lain diberikan logika low (0 V) pada titik

P0.6. Maka motor DC yang dihubungkan pada outputnya akan berputar ke arah tertentu.


(62)

52

4.1.4 Pengujian Rangkaian Sensor Garis

Garis yang digunakan adalah garis putih dan lantainya berwarna gelap (hitam), dengan

demikian ketika sensor mengenai garis putih, maka pantulan dari inframerah akan

mengenai photodioda. Sedangkan jika sensor mengenai lantai hitam, maka pancaran sinar

inframerah lebih banyak yang diserap oleh lantai hitam, sehingga pantulannya menjadi

lemah dan tidak mengenai photodioda. Perbedaan intensitas dari pantulan inilah yang

digunakan untuk mendeteksi garis.

Gambar 4.4 Rangkaian Sensor Garis

Rangkaian ini dikatakan baik apabila ketika photodioda terkena pantulan

inframerah, LED indikator akan menyala dan tegangan keluarannya jika diukur adalah 0

V. Demikian sebaliknya, ketika photodioda tidak terkena pantulan inframerah, LED

indikator tidak akan menyala, dan tegangan kelurannya jika diukur adalah 5 V. Karena

V C C 5V

In fr a M e r ah

100 100

In fr a M e r ah 100

5V

330K 1K

330 Ohm

4,7K 1K A733

C945 C828

A733

10K

1K 10K

10K

4,7K

Photodioda

AT89S51 P0.2


(63)

sensor garis berfungsi untuk mendeteksi garis, maka sensor ini diletakkan menghadap ke

bawah dengan jarak sedekat dekatnya dengan lantai.

4.2 Analisa

Setelah keseluruhan dibuat dan diuji, maka berikut ini adalah rangkaian kerja dari robot

yang dibuat:

1. Pada saat dihidupkan, robot akan segera mengambil nilai logika yang berasal dari

sensor kanan robot.

2. Ketika garis terdeteksi oleh sensor kanan tersebut, maka robot segera

diperintahkan untuk berbelok ke kanan.

3. Namun jika garis tidak terdeteksi oleh sensor tersebut, maka robot akan

memeriksa logika pada sensor kirinya.

4. Jika garis terdeteksi oleh sensor kiri ini, robot akan segera berbelok ke kiri.

5. Namun, jika sensor ini pun tidak mendeteksi keberadaan garis, maka robot akan


(64)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Untuk perintah maju motor akan memutar kedua roda kanan dan kiri,

sedangkan untuk berbelok ke kanan motor akan memutar maju roda kiri

dan memutar mundur roda kanan juga sebaliknya.

2. Photodioda sangat sensitif terhadap cahaya, sehingga photodioda

dibungkus dengan isolasi, agar tidak mudah terkena sinar sekitarnya yang

mengenainya pada saat menerima pantulan intensitas cahaya.

3. Motor DC sangat memiliki speed dan torsi yang mudah dikontrol arah

putaran dan kecepatannya, untuk bisa maju, mundur, belok kanan dan kiri

yang dihubungkan dengan mikrokonroler AT89S51 sebagai


(65)

5.2 Saran

1. Agar rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas

dalam bentuk yang lebih aman dan terlindungi, sehingga penggunaannya lebih

efektif

2. Untuk pengembangan selanjutnya, ada baiknya jika dibuat robot dapat

membedakan banyak warna atau untuk mendeteksi lubang.

3. Alangkah baiknya jika alat ini dimamfaatkan dan disosialisasikan dikalangan

mahasiswa, guna mengembangkan motivasi dan teknologi dikalangan


(66)

Vcc 5V 40 P0.3 (AD3) P0.1 (AD1) P0.2 (AD1) P2.6 (A14) P0.0 (AD0) P0.4 (AD4) P0.5(AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP ALE/PROG PSEN P2.3 (A11) P2.7 (A15) P2.4 (A12) P2.2 (A10) P2.5 (A13) P2.1 (A9) P2.0 (A8) P1.2 P1.3 P1.5 P3.0 (RXD) P1.6 P1.7 P1.4 P1.1 P1.0 P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) P3.5(T1) P3.6 (WR) P3.7 (RD) RST GND XTAL1 XTAL2 5V 330K 1K 330 Ohm 4,7K 1K A733 C945 C828 A733 10K 1K 10K 10K 4,7K 5V 330K 1K 330 Ohm 4,7K 1K A733 C945 C828 A733 10K 1K 10K 10K 4,7K 22 21 25 23 24 26 Motor 330 Ohm 330 Ohm 330 Ohm 330 Ohm TIP127 TIP127 C945 TIP122 TIP122 C945 C945 C945 1 K

1 K 1 K

1 K 18 Ohm 18 Ohm 18 Ohm 18 Ohm 6V 6V 6V 6V Motor 330 Ohm 330 Ohm 330 Ohm 330 Ohm TIP127 TIP127 C945 TIP122 TIP122 C945 C945 C945 1 K

1 K 1 K

1 K 18 Ohm

18 Ohm 18 Ohm

18 Ohm 6V 6V 6V 6V 30 pF VCC 5 V

10 uF 30 pF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2

XTAL 12 MHz

Photodioda Photodioda P2.1 AT89S51 P2.0 AT89S51 P0.7 AT89S51 P0.7 AT89S51 P0.4 AT89S51 P0.5 AT89S51

AT89S51

GAMBAR RANGKAIAN LINE FOLLOWER

27 28 39 38 37 36 35 34 33 32 31 30 29


(1)

51

4.1.3 Pengujian Rangkaian Jembatan H

Rangkaian untuk mengendalikan perputaran motor DC tersebut adalah sebuah rangkaian yang dikenal dengan jembatan H.

Vcc

Vcc

Vcc

Vcc

Motor 330 Ohm

330 Ohm

330 Ohm

330 Ohm TIP127 TIP127

C945

TIP122 TIP122

C945 C945

C945 1 K

1 K 1 K

1 K 18 Ohm

18 Ohm 18 Ohm

18 Ohm

P0.4 P0.6

AT89S51

AT89S51

Gambar 4.3 Rangkaian Jembatan H

Untuk menguji rangkaian ini, diberikan logika high (5 V) pada salah satu inputnya misalnya pada P0.4, sedangkan inputnya yang lain diberikan logika low (0 V) pada titik P0.6. Maka motor DC yang dihubungkan pada outputnya akan berputar ke arah tertentu. Dan ketika pemberian logika dibalik, motor akan berputar kea rah yang sebaliknya.


(2)

4.1.4 Pengujian Rangkaian Sensor Garis

Garis yang digunakan adalah garis putih dan lantainya berwarna gelap (hitam), dengan demikian ketika sensor mengenai garis putih, maka pantulan dari inframerah akan mengenai photodioda. Sedangkan jika sensor mengenai lantai hitam, maka pancaran sinar inframerah lebih banyak yang diserap oleh lantai hitam, sehingga pantulannya menjadi lemah dan tidak mengenai photodioda. Perbedaan intensitas dari pantulan inilah yang digunakan untuk mendeteksi garis.

Gambar 4.4 Rangkaian Sensor Garis

Rangkaian ini dikatakan baik apabila ketika photodioda terkena pantulan inframerah, LED indikator akan menyala dan tegangan keluarannya jika diukur adalah 0 V. Demikian sebaliknya, ketika photodioda tidak terkena pantulan inframerah, LED indikator tidak akan menyala, dan tegangan kelurannya jika diukur adalah 5 V. Karena

V C C 5V

In fr a M e r ah

100 100 In fr a M e r ah 100 Ω 5V

330K 1K

330 Ohm

4,7K 1K A733

C945 C828

A733

10K

1K 10K

10K

4,7K

Photodioda

AT89S51 P0.2


(3)

53

sensor garis berfungsi untuk mendeteksi garis, maka sensor ini diletakkan menghadap ke bawah dengan jarak sedekat dekatnya dengan lantai.

4.2 Analisa

Setelah keseluruhan dibuat dan diuji, maka berikut ini adalah rangkaian kerja dari robot yang dibuat:

1. Pada saat dihidupkan, robot akan segera mengambil nilai logika yang berasal dari sensor kanan robot.

2. Ketika garis terdeteksi oleh sensor kanan tersebut, maka robot segera diperintahkan untuk berbelok ke kanan.

3. Namun jika garis tidak terdeteksi oleh sensor tersebut, maka robot akan memeriksa logika pada sensor kirinya.

4. Jika garis terdeteksi oleh sensor kiri ini, robot akan segera berbelok ke kiri.

5. Namun, jika sensor ini pun tidak mendeteksi keberadaan garis, maka robot akan diperintahkan untuk berjalan maju.


(4)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Untuk perintah maju motor akan memutar kedua roda kanan dan kiri, sedangkan untuk berbelok ke kanan motor akan memutar maju roda kiri dan memutar mundur roda kanan juga sebaliknya.

2. Photodioda sangat sensitif terhadap cahaya, sehingga photodioda dibungkus dengan isolasi, agar tidak mudah terkena sinar sekitarnya yang mengenainya pada saat menerima pantulan intensitas cahaya.

3. Motor DC sangat memiliki speed dan torsi yang mudah dikontrol arah putaran dan kecepatannya, untuk bisa maju, mundur, belok kanan dan kiri yang dihubungkan dengan mikrokonroler AT89S51 sebagai pengendalinya.


(5)

55

5.2 Saran

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

2. Untuk pengembangan selanjutnya, ada baiknya jika dibuat robot dapat membedakan banyak warna atau untuk mendeteksi lubang.

3. Alangkah baiknya jika alat ini dimamfaatkan dan disosialisasikan dikalangan mahasiswa, guna mengembangkan motivasi dan teknologi dikalangan mahasiswa.


(6)

Vcc 40 P0.3 (AD3) P0.1 (AD1) P0.2 (AD1) P2.6 (A14) P0.0 (AD0) P0.4 (AD4) P0.5(AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP ALE/PROG PSEN P2.3 (A11) P2.7 (A15) P2.4 (A12) P2.2 (A10) P2.5 (A13) P2.1 (A9) P2.0 (A8) P1.2 P1.3 P1.5 P3.0 (RXD) P1.6 P1.7 P1.4 P1.1 P1.0 P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) P3.5(T1) P3.6 (WR) P3.7 (RD) RST GND XTAL1 XTAL2 5V 330K 1K 330 Ohm 4,7K 1K A733 C945 C828 A733 10K 1K 10K 10K 4,7K 5V 330K 1K 330 Ohm 4,7K 1K A733 C945 C828 A733 10K 1K 10K 10K 4,7K 22 21 25 23 24 26 Motor 330 Ohm 330 Ohm 330 Ohm 330 Ohm TIP127 TIP127 C945 TIP122 TIP122 C945 C945 C945 1 K

1 K 1 K

1 K 18 Ohm 18 Ohm 18 Ohm 18 Ohm 6V 6V 6V 6V Motor 330 Ohm 330 Ohm 330 Ohm 330 Ohm TIP127 TIP127 C945 TIP122 TIP122 C945 C945 C945

1 K 1 K

18 Ohm

18 Ohm 18 Ohm

18 Ohm

30 pF VCC 5 V

10 uF 30 pF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2

XTAL 12 MHz

Photodioda Photodioda P2.1 AT89S51 P2.0 AT89S51 P0.7 AT89S51 P0.7 AT89S51 P0.5 AT89S51

AT89S51

27 28 39 38 37 36 35 34 33 32 31 30 29