• Tidak ada hasil yang ditemukan

Perancangan Robot Otomatis Pengangkat Barang Berbasis Mikrokontroler AT89S51

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Robot Otomatis Pengangkat Barang Berbasis Mikrokontroler AT89S51"

Copied!
63
0
0

Teks penuh

(1)

PERANCANGAN ROBOT OTOMATIS PENGANGKAT

BARANG

BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

HANGGA SURYA S.

032408037

PROGRAM STUDI D-3 FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PERANCANGAN ROBOT OTOMATIS PENGANGKAT BARANG BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

HANGGA SURYA S. 032408037

PROGRAM STUDI D3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PERANCANGAN ROBOT OTOMATIS

PENGANGKAT BARANG BERBASIS MIKROKONTROLER AT89S51

Kategori : TUGAS AKHIR

Nama : HANGGA SURYA S.

Nomor Induk Mahasiswa : 032408037

Program Studi : DIPLOMA (D3) FISIKA INSTRUMENTASI

Departemen : FISIKA

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

Disetujui di:

Medan, 27 November 2007

Diketahui oleh:

Departemen Fisika FMIPA USU Pembimbing, Ketua,

Dr. Marhaposan Situmorang Dra.Hj.Ratna Askiah

S.M,Si

(4)

PERNYATAAN

PERANCANGAN ROBOT OTOMATIS PENGANGKAT BARANG BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

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

Medan, 26 November 2007

(5)

DAFTAR ISI

1.1 Latar Belakang masalah 1

1.2 Rumusan Masalah 2

2.1.1 Arsitektur Mikrokontroller AT89S51 7

2.1.2 Kontruksi AT89S51 9

2.2 Perangkat Lunak 15

2.2.1 Bahasa Assembly MCS - 51 15 2.2.2 Software 8051 Editor, Assembler, Simulator (IDE) 19

2.2.3 Software Downloader 20

Bab 3. Perancangan Alat dan Program 22

3.1 Diagram Blok 22

3.2 Rangkaian Catu Daya 24

3.3 Rangkaian Mikrokontroller AT89S51 25

3.4 Rangkaian Sensor Garis 26

3.5 Rangkaian Tombol Perintah 30

3.6 Rangkaian Display Seven Segmen 31 3.7 Rangkaian Pengendali Pergerakan Motor (Jembatan H) 32 3.8 Rangkaian Driver Motor Stepper 36

3.9 Perancangan Program 37

Bab 4.Pengujian Rangkaian dan Program 39 4.1 Pengujian Rangkaian Catu Daya 39 4.2 Pengujian Rangkaian Mikrokontroller AT89S51 39 4.3 Pengujian Rangkaian Sensor Garis 41

4.4 Pengujian Rangkaian Tombol 42

(6)

Daftar Pustaka 50 Lampiran 1 transistor 2PC945

(7)

DAFTAR TABEL

Halaman

Tabel 2.1 Kode warna resistor 5

Tabel 2.1 Kode warna toleransi resistor 6

Tabel 2.3 Mode operasi transistor 16

Tabel 2.4 Kebenaran gerbang EX-OR 21

Tabel 4.1 Data sensor 29

(8)

ABSTRACT

(9)

ABSTRAK

(10)

ABSTRACT

(11)

BAB I

PENDAHULUAN

I.1. Latar Belakang Masalah

Manusia membutuhkan bantuan dari sesuatu yang dapat bekerja cepat, teliti dan tidak mengenal lelah, robot adalah jawaban dari keinginan tersebut. Robot diharapkan dapat bekerja cepat, teliti, tidak mengenal lelah dan dapat bekerja pada lingkungan yang berbahaya bagi kesehatan.

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 sebagi penyapu ranjau, kurir, penyusun barang, dan penelitian objek mineral batuan planet di luar angkasa.

(12)

pengembangan menjadi murah karena dapat dihapus kemudian diisi kembali dengan program lain sesuai dengan kebutuhan.

AT89S51 adalah chip mikrokontroler produksi Atmel Inc. AT89S51 mempunyai fitur dasar yang cukup lengkap untuk suatu pemrosesan input-output. Bahasa pemrograman yang digunakan AT89S51 hampir tidak berbeda jauh dengan instruksi pada mikroprosesor Intel.

Akan sangat berguna jika sebuah AMR yang dapat bergerak secara otomatis dapat digunakan untuk mempermudah pekerjaan manusia. Misalnya untuk membantu dalam penyusunan barang dalam sebuah gudang.

I.2. Rumusan Masalah

Berdasarkan uraian yang terdapat dalam latar belakang di atas, maka dalam tugas akhir ini akan dibuat sebuah robot yang dapat menyusun barang dalam sebuah gudang, dimana robot ini akan mengikuti garis yang merupakan jalur dari robot.

Pada alat ini akan digunakan sebuah mikrokontroler AT89S51, beberapa buah pemancar dan penerima infra merah dan dua buah motor DC. Mikrokontroler AT89S51 sebagai otak dari robot yang dapat mengolah sinyal dari sensor dan dapat mengendalikan pergerakan roda.

(13)

Untuk mengangkat benda akan digunakan sebuah motor stepper yang dihubungkan dengan sebuah forklift, sehingga benda/barang dapat diangkat/diturunkan oleh robot.

I.3 Tujuan Penulisan

Adapun tujuan dari penelitian ini adalah sebagai berikut:

1. Memanfaatkan mikrokontroler AT89S51 sebagai pusat kendali (otak) dari sebuah sistem (robot).

2. Membuat robot sederhana yang dapat bergerak otomatis dan dapat diperintah untuk menyusun barang dengan mengikuti garis sebagai jalurnya.

I.4 Batasan Masalah

Mengacu pada hal diatas, batasan masalah adalah :

 Garis yang digunakan harus berwarna hitam dan lantai berwarna putih, sehingga perbedaan warnanya tajam agar sensor tidak salah mengenali warna garis.

 Robot hanya dilengkapi dengan sensor garis, sehingga tidak bisa mendeteksi keberadaan dinding didepannya.

(14)

I.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari robot otomatis penyusun barang berbasis mikrokontroler AT89S51, maka penulis menulis laporan ini sebagai berikut:

BAB I. PENDAHULUAN

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

BAB II. LANDASAN TEORI

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian Teori pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware dan software), bahasa program yang digunakan, teori mengenai motor DC, infra merah dan photodioda sebagai penerima infra merah.

BAB III. PERANCANGAN ALAT DAN PROGRAM

(15)

BAB IV. ANALISA RANGKAIAN DAN SISTEM KERJA ALAT

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai rangkaian-rangkaian yang digunakan, penjelasan mengenai program yang diisikan ke mikrokontroler AT89S51.

BAB V. KESIMPULAN DAN SARAN

(16)

DIAGRAM BLOK

PERANCANGAN ROBOT OTOMATIS PENYUSUN BARANG BERBASIS MIKROKONTROLER AT89S51

(17)
(18)

BAB II

TINJAUAN PUSTAKA

2.1 PERANGKAT KERAS

2.1.1 Arsitektur Mikrokontroler AT89S51

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontoler dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih.

(19)

Selain sistem tiket, kita juga dapat menjumpai aplikasi mikrokontroler 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.

(20)

2.1.2. Kontruksi AT89S51

Mikrokontrol 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 oscilator 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 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.

(21)

dinilai mahal dan ditinggalkan setelah adaflash PEROMyang 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.

(22)

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 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, por ini akan mempunyai internal pull up.

Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat verifikasi program.

Port 2 (Pin 21 pin 28)

(23)

Port 3 (Pin 10 pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

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)

Reset akan aktif dengan memberikan input high selama 2 cycle.

ALE/PROG (pin 30)

(24)

EA (pin 31)

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

XTAL1 (pin 19)

Input untuk clock internal.

XTAL2 (pin 18) Output dari osilator.

Motor Langkah (Stepper)

Motor langkah (stepper) banyak digunakan dalam berbagai aplikasi, dipergunakan apabila dikehendaki jumlah putaran yang tepat atau di perlukan sebagian dari putaran motor. Suatu contoh dapat di jumpai pada disk drive, untuk proses pembacaan dan/atau penulisan data ke/dari cakram(disk), head baca-tulis ditempatkan pada tempat yang tepat di atas jalur atau track pada cakram, untuk head tersebut di hubungkan dengan sebuah motor langkah.

(25)

misalnya, dalam proses pengeboran logam yang menghendaki ketepatan posisi pengeboran, dalam hal ini di lakukan oleh sebuah robot yang memerlukan ketepatan posisi dalam gerakan lengannya dan lain-lain.

Pada gambar di bawah ditunjukkan dasar susunan sebuah motor langkah (stepper).

Gambar 2.2 Diagram motor langkah (stepper)

Magnet permanen U-S berputar kearah medan magnet yang aktif. Apabila kumparan stator dialiri arus sedemikian rupa, maka akan timbul medan magnet dan rotor akan berputar mengikuti medan magnet tersebut.setiap pengalihan arus ke kumparan berikutnya menyebabkan medan magnet berputar berputar menurut suatu sudut tertentu, biasanya informasi besar sudut putar tertulis pada badan

U

S A

D B

A C

(26)

berhenti pada posisi terakhir. Jika kecepatan pengalihan tidak terlalu tinggi, maka slip akan dapat dihindari. Sehingga tidak di perlukan umpan balik(feedback)pada pengendalian motor langkah.

Motor langkah yang akan di gunakan memiliki 4 fase (pole atau kutub), pengiriman pulsa dari mikrokontroler ke rangkaian motor langkah dilakukan secara bergantian, masing-masing 4 data (sesuai dengan jumlah phase-nya), sebagian di tunjukkan pada gambar di bawah ini.

Gambar 2.3 Pemberian data/pulsa pada motor stepper

Pada saat yang sama ,untuk tiap motor langkah, tidak boleh ada 2 (dua) masukan atau lebih yang mengandung pulsa sama dengan 1 (high), atau dengan kata lain, pada suatu saat hanya sebuah masukan yang bernilai 1 (satu) sedangkan lainnya bernilai 0 (nol).

2.2 PERANGKAT LUNAK 2.2.1. Bahasa Assembly MCS-51

(27)

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.

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.

(28)

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 instruksiACALLdilaksanakan. Contoh,

ACALL TUNDA ...

TUNDA:

(29)

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. InstruksiJNB (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 ...

(30)

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

(31)

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

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

Gambar 2.4 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.

(32)

2.1.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 di bawah ini:

Gambar 2.5 ISP- Flash Programmer 3.a

(33)

M ditunjukkan pada gambar 3.1 berikut ini :

P2 P0.0 & P0.1

P0.2 & P0.3

P2 P1

P3

Gambar 3.1 Diagram Blok Rangkaian

Pada robot ini terdapat 6 buah sensor garis, yang masing-masing diletakkan di bagian bawah dari robot. Sensor ini berfungsi agar robot dapat mengikuti garis. Sensor ini dihubungkan ke port 2 dari mikrokontroler AT89S51. Selanjutnya pada robot juga dilengkapi dengan 3 buah tombol perintah, tombol ini

(34)

Robot ini memiliki 3 buah roda, dimana 1 roda yang berada di belakang free, dan dua roda yang lainnya yang berada dibagian kanan dan kiri masing-masing dikendalikan oleh sebuah motor DC. Untuk mengendalikan putaran motor DC diperlukan agar dapat bergerak searah dan berlawanan arah dengan jarum jam digunakan sebuah rangkainan yang dikenal dengan rangkaian jembatan H. 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.

Untuk mengangkat barang digunakan sebuah motor stepper bipolar. Rangkaian pengendali motor stepper (Driver motor stepper) berfungsi untuk mengendalikan pergerakan motor stepper (mengangkat/meletakkan barang). Rangkaian ini terhubung ke port 0 yaitu P0.4, P0.5, P0.6 dan P0.7, sehingga dengan memberikan program tertentu, pergerakan mengangkat/meletakkan barang sudah dapat dikendalikan oleh program yang diberikan ke mikrokontroler AT89S51.

(35)

2200uF 5 Volt DC

0 Volt 6,2 Volt DC

6.2 V

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. Untuk menenbus 1 buah dioda diperlukan tegangan tembus 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. Rangkaian catu daya ditunjukkan oleh gambar berikut ini :

Gambar 3.2 Rangkain catu daya

(36)

5V

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system 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:

Gambar 3.3 Rangkaian mikrokontroller AT89S51

(37)

adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collector 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 apakah rangkaian minimum mikrokontroller AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroller 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 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.

III. 3 Rangkaian Sensor Garis

Untuk dapat mengikuti garis, maka robot dilengkapi dengan 4 buah sensor garis dan dua buah sensor persimpangan. Ke-6 sensor garis ini mempunyai rangkaian yang sama, hanya penempatannya saja yang berbeda.

(38)

pada masing-masing sensor bertujuan agar jarak pantulan semakin jauh, sehingga posisi sensor tidak terlalu dekat dengan lantai.

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

(39)

VCC 5V

Infra Merah

100100

Infra Merah 100

Rangkaian pemancar infra merah tampak seperti gambar di bawah ini:

Gambar 3.4 Rangkaian pemancar infra merah

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

A volt

R V

i 1005 0.05 atau 50mA

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

(40)

mengeluarkan logika high (1). Rangkaian penerima infra merah seperti gambar di bawah ini:

Gambar 3.5 Rangkaian penerima sinar infra merah

Potodioda 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 photodioda diumpankan ke basis dari transistor tipe NPN C828, ini berari untuk membuat transistor tersebut aktif maka tegangan yang keluar dari photodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika photodioda mendapatkan sinar infra merah. Analisanya sebagai berikut:

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

(41)

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

Jika ada sinar infra merah yang mengenai photodioda, maka hambatan pada photodioda 300 kohm, sehingga:

volt

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

Aktipnya transistor C828 akan menyebabkan kolektornya terhubung ke emitor, sehingga kolektor mendapat tegangan 0 volt dari ground, tegangan ini diumpankan ke basis dari transistor ke-2 tipe PNP A733, sehingga transistor ini juga aktip. Seterusnya aktipnya transistor A733 akan menyebabkan kolektornya terhubung ke emitor, sehingga kolektor mendapat tegangan 5 volt dari Vcc, tegangan ini diumpankan ke basis dari transistor ke-3 tipe NPN C945, sehingga transistor ini juga aktif.

(42)

Transistor ke-4 tipe PNP A733 berfungsi untuk menyalakan LED 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.

III. 4 Rangkaian Tombol Perintah

Rangkaian tombol perintah ini terdiri dari 3 buah tombol. Tombol-tombol ini berfungsi memerintahkan robot untuk menyusun barang pada ruangan tertentu. Misalnya tombol yang ditekan adalah tombol 1, maka robot akan meletakkan barang pada ruangan 1, demikian juga untuk tombol 2, jika ditekan tombol 2, maka robot akan meletakkan barang pada ruangan 2. Dan tombol run berfungsi untuk memerintahkan robot untuk mulai berjalan.

(43)

4K7

P1.0 AT89S51

VCC 5V

Tombol

Gambar 3.6 Rangkaian tombol perintah

III. 3 Rangkaian Display Seven Segmen

Untuk menampilkan angka dari setiap penekanan tombol, maka dibutuhkan sebuah display untuk menampilkannya. Pada alat ini, display yang digunakan adalah display seven segmen, yang terdiri dari 1 buah seven segmen.

Display seven segmen ini akan diaktipkan oleh IC 4094 yang merupakan IC serial to paralel (serial in paralel out). Jadi data dimasukkan ke dalam IC ini dengan mengirimkan data serial. Keluaran dari IC 4094 ini langsung dihubungkan ke seven segmen, sehingga data serial yang diterima oleh input IC ini akan ditampilkan nilainya pada seven segmen.

(44)

5V

AT89S51. Rangkaian display seven segmen daitunjukkan pada gambar berikut ini :

Gambar 3.7 Rangkaian display seven segmen

III. 5 Rangkaian Pengendali Pergerakan Motor (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.

(45)

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 high pada rangkaian maka perputaran motor dapat diatur.

(46)

VCC

Gambar 3.8 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 aktip jika tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan mengakibatkan kolektornya terhubung ke emitor sehingga kolektor mendapatkan tegangan 5 volt dari Vcc.

(47)

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

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 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 emitor sehingga kolektor tidak mendapatkan tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.

(48)

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 kearah sebaliknya, maka logika yang diberikan ke P0.0 adalah low (0) dan logika yang diberikan ke P01. adalah high (1).

III. 6 Rangkaian Driver Motor Stepper

(49)

VCC

Untuk mempermudah penjelasan, maka rangkaian di atas dikelompokkan menjadi 4 rangkaian. Pada rangkaian di atas, jika salah input rangkaian I yang dihubungkan ke mikrokontroler diberi logika high dan input pada rangkaian lainnya diberi logika low, maka kedua transistor tipe NPN C945 pada rangkaian I akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 pada rangkaian I 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 emitor sehingga kolektor mendapatkan tegangan 15 volt dari Vcc.

(50)

kumparan menimbulkan medan magnet. Medan magnet inilah yang akan menarik motor untuk mengarah ke arah kumparan yang menimbulkan medan magnet tersebut.

Sedangkan rangkaian II, III dan IV karena pada inputnya diberi logika low, maka kumparannya tidak menimbulkan medan magnet, sehingga motor tidak tertarik oleh kumparan-kumparan tersebut.

Demikian seterusnya untuk menggerakkan motor agar berputar maka harus diberikan logika high secara bergantian ke masing-masing input dari masing-masing rangkaian.

III. 5 Perancangan Program

(51)

robot. Setelah benda diletakkan pada forklift yang ada pada robot, kemudian tombol ditekan, maka robot akan melihat tombol mana yang ditekan. Jika tidak ada penekanan pada salah satu tombol, maka robot akan terus menunggu sampai ada penekanan pada salah satu tombol. Jika terjadi penekanan pada tombol 1, maka penekanan ini akan dianggap sebagai perintah untuk menyimpan/menyusun barang di ruangan 1, kemudian robot menunggu penekanan pada tombol run, setelah tombol run ditekan maka robot akan mulai bergerak memutar roda dan mengikuti jalur 1. Kemudian ketika robot sampai di ruangan 1, maka robot akan meletakkan barang dan kembali ke posisi awal untuk menunggu perintah selanjutnya.

(52)

BAB IV

PENGUJIAN RANGKAIAN DAN PROGRAM

4.1 Pengujian Rangkaian Catu Daya

Pengujian pada rangkaian catu daya ini dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggunakan voltmeter digital. Dari hasil pengujian pada saat baterei penuh, maka didapatkan tegangan keluaran pertama sebesar 5,0 volt dan tegangan keluaran yang kedua sebesar 6,2 volt. Pada saat baterei 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.

4.2 Pengujian Rangkaian Mikrokontroler AT89S51

(53)

sebesar 5 volt. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroler AT89S51. Program yang diberikan adalah sebagai berikut :

Loop:

Cpl P3.7

Acall Tunda

Sjmp Loop

Tunda:

Mov R7,#255

Tnd:

Mov R6,#255

Djnz r6,$

Djnz r7,Tnd

Ret

Program di atas akan mengubah logika yang ada pada P3.7 selama selang waktu tunda. Jika logika pada P3.7 high maka akan diubah menjadi low, demikian juga sebaliknya jika logika pada P3.7 low maka akan diubah ke high, demikian seterusnya.

(54)

Pengujian Rangkaian Sensor Garis

Pengujian pada rangkaian sensor garis ini dapat dilakukan dengan meletakkan robot diatas line hitam (sensor mengenai line hitam), dan kemudian meletakkan robot di atas lantai putih (sensor mengenai lantai putih),. Dari hasil pengujian, ketika robot diletakkan pada line hitam (sensor mengenai line hitam), maka tegangan pada potodioda 0,3 mV. Tegangan ini tidak dapat mengaktipkan transistor C828 sehingga rangkaian sensor tidak aktip, LED indikator mati dan rangkaian ini akan mengirimkan logika high (1) ke mikrokontroler AT89S51.

Ketika robot diletakkan pada lantai putih (sensor mengenai lantai putih), maka tegangan pada potodioda 1,3 mV. Tegangan ini akan mengaktipkan transistor C828 sehingga rangkaian sensor menjadi aktif, LED indikator menyala dan rangkaian ini akan mengirimkan logika low (0) ke mikrokontroler AT89S51.

Pengujian selanjutnya adalah dengan menghubungkan rangkaian sensor garis ini dengan rangkaian mikrokontroler yang telah diberi program sebagai berikut :

Jnb P2.3,$ Setb P3.7 . . . .

(55)

ini menunjukkan behwa sensor pada robot mengenai garis hitam. Jika ada sinyal high yang dikirimkan oleh sensor, maka program akan menghidupkan LED indikator yang dihubungkan ke P3.7.

Pengujian Rangkaian Tombol

Pengujian pada rangkaian ini dapat dilakukan dengan menekan tombol, kemudian mengukur tegangan output dari rangkaian tersebut. Dari hasil pengujian didapatkan pada saat tombol tidak ditekan, maka output dari rangkaian ini adalah 4,9 volt. Ketika terjadi penekanan tombol, maka output dari rangkaian ini adalah 0 volt. Dengan demikian rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya adalah dengan menghubungkan rangkaian tombol ini dengan rangkaian mikrokontroler yang telah diberi program sebagai berikut :

Jb P1.0,$ Setb P3.7 . . . .

(56)

menunggu sampai ada sinyal low yang dikirimkan oleh tombol. Jika ada sinyal low yang dikirimkan oleh tombol, maka program akan menghidupkan LED indikator yang dihubungkan ke P3.7.

Pengujian Rangkaian Display Seven Segmen

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini ke rangkaian mikrokontroler AT89S51. Dimana kaki 2 pada IC 4094 dihubungkan dengan kaki 10 (P3.0) mikrokontroler AT89S51 dan kaki 3 pada IC 4094 dihubungkan dengan kaki 11 (P3.1) mikrokontroler AT89S51.

Seven segmen yang digunakan adalah aktif low, ini berarti segmen akan hidup jika diberi data low (0) dan segmen akan mati jika diberi data high (1). Untuk menampilkan angka pada seven segmen, maka data yang harus diberikan adalah sebagai berikut:

 Untuk menampilkan angka nol, data yang harus dikirim adalah

20h

 Untuk menampilkan angka satu, data yang harus dikirim adalah

0ech

 Untuk menampilkan angka dua, data yang harus dikirim adalah

18h

 Untuk mengosongkan tampilan, data yang harus dikirim adalah

(57)

Langkah selanjutnya memberikan program sederhana untuk menampilkan angka pada seven segmen tersebut.

bil0 equ 20h

bil1 equ 0ech

bil2 equ 18h

bilkosong equ 0ffh

Display:

mov sbuf,#bil0

jnb ti,$

clr ti

ret

Progran di atas akan menampilkan nilai 0 pada display seven segmen. Dan nilai

berapapun yang diisikan ke serial buffer (sbuf) akan ditampilkan pada display seven segmen.

Pengujian Pengendali Pergerakan Motor (Jembatan H)

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan input rangkaian ini ke rangkaian mikrokontroler AT89S51 dan menghubungkan output dari rangkaian ini ke motor DC.

(58)

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.

Pengujian Rangkaian Driver Motor Stepper

Pengujian pada rangkaian jembatan H ini dilakukan dengan menghubungkan input rangkaian driver motor stepper ini dengan rangakaian mikrokontroler AT89S51 dan menghubungkan output dari rangkaian driver motor stepper ini dengan motor stepper, kemudian memberikan program sebagai berikut:

motor1 Bit P0.4

motor2 Bit P0.5

motor3 Bit P0.6

motor4 Bit P0.7

angkat_lift:

setb motor1

(59)

acall tunda

Program di atas akan memberikan logika high secara bergantian pada input dari rangkaian driver motor stepper, dimana input dari jembatan masing-masing dihubungkan ke P0.4, P0.5, P0.6 dan P0.7. Dengan program di atas maka motor akan bergerak searah dengan arah putaran jarum jam (mengangkat lift). Untuk memutar dengan arah sebaliknya, maka diberikan program sebagai berikut :

Turun_Lift:

(60)

Clr motor4

acall tunda

setb motor2

Clr motor3

acall tunda

setb motor1

Clr motor2

acall tunda

Sjmp Turun_Lift

Tunda:

Mov R7,#50

Tnd:

Mov R6,#255

Djnz r6,$

Djnz r7,Tnd

Ret

(61)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan pengamatan dan data dapat diambil kesimpulan sebagai berikut: a. Pada alat ini menggunakan pemancar dan peneima infra merah yang

fungsinya merupakan sensor untuk mendeteksi garis dimana garis yang digunakan berwarna hitam dengan latar belakang berwarna putih agar didapat perbedaan intensitas pantulan. Karena pantulan sinar infra merah pada objek yang gelap berbeda dengan yang terang. Pada objek yang terang pantulan sinar infra merahnya lebih besar dari pada objek yang gelap.

(62)

5.2. Saran

a. Untuk mendapatkan hasil pantulan sinar infra merah yang lebih baik dapat mengguanakan rangkaian pemancar dengan dioda infra merah lebih dari satu.

b. Untuk mendapatkan sinar infra merah yang lebih baik maka pada foto dioda dapat digunakan sarung bakar.

(63)

DAFTAR PUSTAKA

1. Agfianto, 2004. Belajar Mikrocontroler AT89C51/52/55 Teori dan Aplikasi,Edisi Kedua, Yogyakarta, Gava Media.

2. Andi, 2003. Panduan Praktis Teknik Antar Muka dan Pemrograman Mikrocontroler AT89C51,Jakarta, PT Elex Media Komptindo. 3. Malvino, Albert Paul, 2003, Prinsip-prinsip Elektronika,Jilid 1 & 2, Edisi

Pertama,Jakarta, Salemba Teknika.

4. http:www.atmel.com, diakses pada tanggal 10 Agustus 2007. 5. http.www.sgbotic.com, diakses pada tanggal 13 Agustus 2007.

Gambar

Gambar  2.1   IC Mikrokontroler AT89S51
Gambar  2.2  Diagram motor langkah (stepper)
Gambar  2.3   Pemberian data/pulsa pada motor stepper
Gambar  2.4  8051 Editor, Assembler, Simulator (IDE)
+7

Referensi

Dokumen terkait

Zeolit sintetik memiliki kondisi yang lebih baik dalam mengkatalisis suatu reaksi karena struktur dan komposisi zeolit tersebut sesuai dengan kondisi yang diinginkan,

Pencapaian standar kompetensi lulusan satuan pendidikan sekolah menengah atas negeri di Kota Jambi masih pada kategori ‘cukup baik’ yakni 76,58% sehingga masih

Za optimiranje nabave sem uporabil metodo optimalne naro ilne koli ine in s tem znižal stroške naro anja in skladiš enja embalaže.. Matej Paliska: Izboljšava logistike v

Komposisi asam amino essensial dari rumput laut seringkali dipelajari dan dikaitkan dengan komposisi asam amino essensial pada produk makanan lain yang berprotein tinggi

Pengukuran kinerja bank dapat dilakukan dengan berbagai cara dan yang paling utama adalah dengan menggunakan analisis rasio keuangan untuk mengetahui beberapa aspek

• Pengembalaan bergilir (rotation grassing), merupakan tata laksana padang rumput yang intensif yang dilakukan pada padang pengembalaan permanen. Ternak dimasukan se-

Dengan memodifikasi solusi untuk periode yang dijelaskan diatas dengan memasukan faktor kerusakan disekitar lubang sumur (skin faktor), dan faktor volume resesrvoir

Begitu susu skim ditambahkan ke dalam sari jagung manis, aroma susu skim segera berbaur dan menjadi homogen dengan aroma bahan lain sehingga peningkatan