PROYEK AKHIR

ROBOT PASUKAN KUNING (HARDWARE)

Agus Purwanto NRP. 7103 030 052

Dosen Pembimbing: Budi Nur Iman,S.Si,M.Kom NIP. 132.093.225 Eru Puspita, ST, M.Kom NIP. 132 127 285

JURUSAN TEKNIK ELEKTRONIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2006

1

ROBOT PASUKAN KUNING ( Hardware dan Mekanik) Oleh : AGUS PURWANTO 7103 030 052
Proyek Akhir ini Diajukan untuk Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui Oleh: Tim Penguji Proyek Akhir: Dosen Pembimbing:

1. Hary Oktavianto, ST NIP. 132 300 375

1. Budi Nur Iman, S.Si, M.Kom NIP. 132 093 225

2. Bambang Sumantri, ST NIP. 132 303 874

2. Eru Puspita, ST, M.Kom NIP. 132 127 285

3. Bima Sena Bayu D, SST NIP. 132 232 762

Mengetahui : Ketua Jurusan Teknik Elektronika

Ir. Dedid Cahya Happyanto, MT NIP. 131 694 603

2

ABSTRAK
Teknologi di bidang robotika sekarang ini telah berkembang dengan pesat dan sangat luas. Fungsi dari robot diharapkan bermanfaat untuk segala bidang terutama bidang industri. Di beberapa negara maju robot telah dapat sebagai alat yang bersifat menghibur. Pada Proyek Akhir ini akan dibuat RobotPasukan Kuning . Proyek Akhir ini bertujuan untuk membuat suatu perangkat robot, baik perangkat keras maupun perangkat mekanik. Robot pasukan kuning adalah robot vision yang dapat bergerak secara otomatis di dalam suatu ruangan yang di batasi, robot ini menggunakan webcam sebagai sensornya dan mengambil sampah yang berada dilantai ruangan itu. Sampah yang dimaksudkan adalah sesuatu berukuran kecil, memiliki warna yang berbeda dengan warna lantai dan berserakan dilantai. Robot dapat mengambil sampah tersebut menggunakan lengan yang mirip dengan sapu dan memasukkan ke dalam sekop. Arah gerak robot ditentukan oleh letak sampah yang ditangkap oleh webcam. Webcam digunakan untuk mendeteksi sampah dengan menggunakan pengolahan citra, dimana warna sampah dengan lantai dibedakan dan ukuran sampahnya kecil. Informasi yang didapat dari webcam kemudian di kirim ke komputer untuk diolah, kemudian hasilnya dikirimkan ke mikrokontroller berupa karakter melalui komunikasi serialRS232.Karakter yang diterima oleh mikrokontroller digunakan untuk kontrol gerak robot, seperti maju belok kanan, kiri, mundur, berhenti dan ambil sampah. Dari pengujian sistem secara menyeluruh maka robot dapat mengambil sampah dan menampungnya dengan keberhasilan sebesar 10% dan sampah yang sudah masuk ke dalam sekop adalah sebesar 53,3%

Kata kunci : Robot, Mikrokontroller, RS232, Webcam,Pengolahan Citra

3

Webcam. good of peripheral of hardware and also mechanic peripheral. Image Processing 4 . from all system experiment. backward. stop and take garbage. The information from the object delivered to computer and result of the detection from Computer will be delivered by passing serial communications RS232 to microcontroller AT89S51 as a character. RS232. The robot take the garbage from the floor use arm robot which resemble with broom and put the garbage into the shovel.3% Keyword : Robot. In this final project will be made the " Yellow Force Robot ". Robot using webcam to detect the garbage by image processing. like going forward turn to right. robot also earn as a means of having the character of to amuse. Microcontroller. Character accepted by microcontroller used for control move robot. Robot use webcam as a censor and take the garbage on that floor. Some developed countries. left. The garbage must have little measurement and scattered around the floor.ABSTRACT This time robotic technology have expanded at full speed and very wide. This Final project aim to make a robot peripheral. The function of robot expected useful to all area especially industrial area. robot can take the garbage and then patch it with successfully 10% and the garbage has entered to the shovel is 55.. Robot moving find the garbage according to location where is the garbage be there. YELLOW FORCE ROBOT is robot vision who can move automatically in border room.

karena atas berkat dan rahmat-NYA yang telah memberikan kekuatan kepada penyusun sehingga dapat menyelesaikan buku laporan proyek akhir ini yang berjudul : ROBOT PASUKAN KUNING (Hardware dan Mekanik) Proyek akhir ini disusun sebagai syarat untuk menyelesaikan program pendidikan Diploma III di Politeknik Elektronika Negeri Surabaya. Surabaya.KATA PENGANTAR Alhamdulillah. Agustus 2006 Penyusun 5 . untuk itu dengan segala kerendahan hati penyusun mohon maaf apabila terdapat penulisan kata yang tidak sesuai dan dengan besar hati menerima kritik dan saran yang bersifat membangun demi hasil yang lebih baik dimasa yang akan datang. segala puji hanya milik Allah SWT. Penyusun sadar bahwa didalam penyusunan buku laporan proyek akhir ini masih jauh dari kesempurnaan. masyarakat luas pada umumnya dan kita semua. Penyusun berharap semoga buku laporan proyek akhir ini akan bermanfaat bagi mahasiswa Politeknik Elektronika Negeri Surabaya ITS khususnya.

Bapak Bambang Sumantri.MT selaku Ketua Jurusan Teknik Elektronika PENS-ITS. Semoga Allah SWT memberikan limpahan rahmat dan hidayahnya atas segala kebaikan dan semoga kita semua selalu dalam lindungan serta tuntunan-Nya. Partner senasib. seperjuangan dan sependeritaan. selaku direktur Politeknik Elektronika Negeri Surabaya-ITS. Tim dosen penguji antara lain Bapak Hary Oktavianto. Bapak Budi Nur Iman dan Bapak Eru Puspita sebagai dosen pembimbing yang telah banyak memberikan masukan dan dorongan hingga terselesaikanya Proyek Akhir ini. Allah SWT yang telah memberikan ridhonya dan memberikan kesempatan hidup kepada penulis untuk dapat menyelesaikan tugas akhir ini 2. Seluruh staf pengajar dan karyawan PENS-ITS. 5. 8. Bapak Ir. Dr. Dedid C. Bapak Bima yang telah membantu memberikan saran dan perhatian. 9. khususnya kepada teman teman lab dan arek elkaB yang selalu sudi membantu dan berbagi segalanya dengan penulis. atas sarana dan prasarana yang diberikan. 4. 6 . 3.UCAPAN TERIMA KASIH Bahwa terselesaikanya Proyek Akhir ini bukanlah semata-mata karena usaha dan kerja individu penulis sendiri. Titon Dutono. 2003. untuk itu penulis menyampaikan terima kasih kepada: 1. tetapi mendapatkan banyak bantuan dari berbagai pihak. 6. 7.Eng. Ayah dan Ibunda tercinta yang telah banyak memberikan doa dan dukungan materiil maupun sprituil kepada penulis. Rekan seperjuangan Elektronika Angk.M.H. atas kerjasama dan dukungannya baik moril maupun materil. Ir.

...............................................2................................................6......................................................... 2...........................4 Timer/Counter..........................................................3 Instruksi Set Dari MCS-51...............7 Instruksi-Instruksi Jump........................................................ 2.................... 1.......................... 2........................................................6.......................................................................................... ii Abstrak ......... ix BAB I PENDAHULUAN ...........................................2 Konfigurasi I/O .............................. 2............. 2.....3.................................. vi Daftar Isi ................. iii Abstract.........................................................1 Pendahuluan.........1 Latar Belakang ......................3... 2.............4 Batasan Masalah ............. 2.......................................6 Instruksi-Instruksi Boolean ............................................ 1..................1 Program Status Word.............. 2.... iv Kata Pengantar................ 2................2..... vii Daftar Gambar .............................................. 2................... 2...............3................................... viii Daftar Tabel..................................................................................3 Permasalahan ......1Konfigurasi Pin Dari Mikrokontroller AT89S51..... 2........................3.............. 1 1 2 2 3 3 5 5 5 5 5 6 7 9 9 10 12 12 13 14 15 17 19 22 24 24 26 27 7 ...........................2 Tujuan.1.......3.3.....................2 Mode Pengalamatan (Addressing Modes)..5 Sistematika Pembahasan........ 1........3.............................7 Komunikasi Serial RS232......3 Data Memori .......... 2.................................. i Lembar Pengesahan.......... 2....... 2...........................................................2 Program Memori ......3 Instruksi-Instruksi Aritmatika .... 2............8 Struktur Interupsi.....................2 Organisasi Memori MCS-51.................................................................................3............... 2.......................................................................5 Data Transfer....................................................................I Gambaran Umum AT89S51..........DAFTAR ISI Judul .................................................... BAB II TEORI PENUNJANG.................................................. v Ucapan Terima Kasih........5 Serial Port Control Register............................................................. 1....................................................... 2........1 Pemisahan Antara Program Memori Dan Data Memori 2................................ 2................... 1........6 Rangkaian Berbasis Mikrokontroller AT89S51 ................................2......... 2.4 Instruksi-Instruksi Logika .....

............ 3.3 Konfigurasi I/O .....................1 Pendahuluan.... 3............................3 Perencanaan Perangkat Keras Komunikasi Data .......... 4.....4 Rugi-rugi dan Efisiensi .......................................................................... 2...... 4................................... 3............3 Pengujian Komunikasi Data Serial ..................5...................8 Piranti Masukan (Webcam) .................. BAB III PERENCANAAN DAN PEMBUATAN ALAT (HARDWARE DAN MEKANIK)...9................................5......................1 Pengujian Downloader Dan Sistem Minimum Mikrokontroller AT89S51.......2.........................................10 Pulse Width Modulation (PWM)............5..........................1 Rangkaian Power Supply .................. 28 30 30 31 32 33 33 34 35 35 35 36 37 38 38 39 40 41 41 42 44 47 51 51 54 57 61 65 65 65 67 69 8 .... 2. 3............................ 2..........................................2 Sistem Konfigurasi............7....5 Perencanaan.............2 Rangkaian Osilator ..................5.........................1 Rangkaian Reset ............... 3.................................3 Diagram Blok........................................9............. 3....... 3.......................................9.6 Perencanaan Dan Pembuatan Mekanik.............. BAB V PENUTUP ........................ 2.........................................2 Pengujian Rangkaian Penggerak Motor DC... 4..................................1 Konfigurasi Serial DB9.2 Torsi................................................................ 3.................4 Diagram Alir .........4 Rangkaian Penggerak Motor DC .....5........3 Kontruksi Motor DC......................... 5................... 2.............................. 2........................ LAMPIRAN...2 Downloader Dan Sistem Minimum Mikrokontroller AT89S51 ................... BAB IV PENGUJIAN DAN ANALISA.................4 Pengujian Sistem Keseluruhan .....................................2........................................................................................5..........................................................................................................................................................1 Kesimpulan........................ Dan Pembuatan Perangkat Keras....9 Piranti Keluaran (Motor DC) ..................... 3...........2... 3........ 2......2............. 3. DAFTAR PUSTAKA........................................ 4............. 3.........................2 Saran...........................1 Teori Motor DC .....9......5..................................... 5... Pemakaian.............. 3..................

..............................................1 Gambar 2............................................. Gambar 3................ Gambar 2............ Struktur Memori MCS-51 ....................12 Ilustrasi gerak robot.....................5 Gambar 2...... sebagai 2 Timer/Counter 8 bit ..7 Rangkaian Osilator Mikrokontroler AT89S51.............................. Program Memori MCS-51................14 Diagram Blok Komunikasi Serial ............13 Level Tegangan RS232 ........4 Rangkaian Downloader Mikrokontroller AT89S51 Gambar 3.2 Gambar 2........... Gambar 3.....................................................................11 Disain Robot......................................10 Rangkaian Penggerak Motor DC untuk Penggerak Gambar 3...........6 Gambar 2............................................ Program Status Word .1 Diagram Blok dari Rangkaian Pengujian Sistem minimum dan downlaoder AT89S51…………… Gambar 2........................8 5 6 7 8 8 9 10 21 21 22 25 25 27 28 29 30 31 33 34 36 37 38 39 40 40 41 42 43 46 47 48 9 ....6 Rangkaian Reset pada Mikrokontroler AT89S51. Gambar 3...................4 Gambar 2.. Gambar 3........3 Gambar 2.........1 Diagram Blok ....................3 Rangkaian Power Supply.8 Rangkaian Indikator Led .............................7 Gambar 2. Ruang Special Function Register ............16 Kamera WebCam........... Lower 128 dari RAM Internal ..........5 Rangkaian Sistem Minimum Mikrokontroller AT89S51..................2 Diagram Alir........17 Prinsip Kerja Motor DC............DAFTAR GAMBAR Blok Diagram Inti MCS-51 ........................... Gambar 3....................... Gambar 2......... Data Memori Internal..... Gambar 3.....9 Rangkaian komunikasi serial RS232................................................. Timer/Counter 1 bekerja dalam mode 0 sebagai T/C 13–bit.................... Gambar 2.....................12 Rangkaian power on reset .............. Gambar 2.... Gambar 2............................................ Gambar 3........... Gambar 2.... Gambar 2..... Gambar 2.................... Gambar 3....... Gambar 4................................................ Gambar 2.................................. Gambar 3.....9 Timer/Counter 1 bekerja dalam mode 2 sebagai T/C 8–bit auto-reload.........18 Bagian-bagian Motor DC . Gambar 2.................................... Gambar 3........... Gambar 2....19 Prinsip Kerja PWM.........11 Konfigurasi pin dari mikrokontroller AT89S51...10 Timer/Counter 1 bekerja dalam mode 3.......15 Konfigurasi serial DB-9 ...............

... Gambar 4........................7 Hasil dari pengujian komunikasi serial ..........................4 Diagram Blok dari Rangkaian Pengujian Gerak Motor DC .. Gambar 4...................2 ISP – Flash Programmer.................................3 Tampilan Led pada Port 0..6 Port Settings Hyperterminal............................ Gambar 4....................................................5 Diagram Blok dari Rangkaian Pengujian Komunikasi Serial ..... Gambar 4....8 Diagram Blok dari Rangkaian Pengujian Sistem Secara Keseluruhan......................... Gambar 4............ 52 53 53 57 58 60 61 10 ............ Gambar 4....................Gambar 4..............

...4 Tabel 2..................... Hasil Pengujian Driver Motor ...........4 Tabel 4................................... IE (Interrupt Enable)...........................6 Tabel 4............................DAFTAR TABEL Tabel 2.........................3 Table 4........ Konfigurasi Alternatif dari port AT89S51 ............... Instruksi Data Transfer yang mengakses External Data Memory .......... 12 12 13 14 14 15 18 18 19 20 26 29 44 54 55 56 56 53 62 63 11 .................5 Tabel 4.10 Tabel 2............. Variabel PWM untuk mengatur kecepatan motor Putaran Motor dalam rpm ..............................................9 Table 2............. TCON (Timer Control) ............................ Karakter..2 Tabel 4....5 Table 2......... dan Instruksi Robot.................................................1 Tabel 4............ Karakter..............................3 Table 2...2 Table 2...... Pengujian sistem keseluruhan.................. Instruksi Logika....8 Table 2..... dan kode ASCII..... Pengujian sistem keseluruhan........1 Tabel 2................................................... Konfigurasi pin dan nama sinyal konektor serial DB-9 ....7 Instruksi Aritmatika........................... IP (Interrupt Priority) ........11 Tabel 2.... Instruksi Data Transfer yang mengakses Internal Data Memory .... Mode Timer.......... Instruksi Robot...... Instruksi-Instruksi Boolean................................................ Jump Tanpa Syarat (Unconditional Jump) ...6 Table 2...................................... Kecepatan Motor ..1 Tabel 4....7 Table 2.....12 Tabel 3..............

maka dikembangkan suatu sistem pengendali robot yang menggunakan kamera sebagai pengendalinya. Sistem ini dikontrol oleh mikrokontroler AT89S51. short circuit. dimana kondisi lingkungan selalu berubah dan belum dipetakan sebelumnya. kedokteran. Pengontrolan robot dengan kontroller juga ikut berkembang sesuai dengan kemajuan teknologi robot ini. sehingga didapatkan suatu intruksi data untuk menggerakan motor robot. karena dengan cara ini. sehingga diharapkan dalam proyek akhir ini dapat membuat robot yang berguna sebagai sarana hiburan (entertainment) serta sebagai cara yang efektif dalam memasyarakatkan robot Robot ini menggunakan WebCam sebagai alat deteksi dan navigasi sebagai referensi rangkaian penggerak yang mengendalikan pergerakan motor. sehingga robot itu dapat mengenali perintah yang berupa “image . Hal ini akan sangat memudahkan user dalam mengendalikan robot. Idealnya robot dapat melakukan navigasi pada kondisi yang sebenarnya. pengontrolan robot dengan menggunakan alat kontrol sering terjadi kerusakan atau kesalahan yang diakibatkan kerusakan komponen. ataupun kesalahan pengiriman data. mulai dari robot sederhana untuk aplikasi yang mudah sampai dengan robot canggih dan kompleks yang digunakan dalam pabrik industri.1 LATAR BELAKANG Teknologi robot sudah berkembang dengan pesat pada saat ini. para pengguna (user) tidak perlu lagi mempelajari fungsi dan kegunaan dari tombol-tombol yang ada alat kontrol. dengan menggunakan pengolahan citra. Dengan kamera sebagai pengendali robot seolah-olah robot ini mempunyai mata. dengan menggunakan mikrokontroler AT89S51 ini kita bisa menginisialisasi data yang dikirim dari PC yang sudah terlebih dahulu memanipulasi data gambar. Sebuah teknik 12 . Untuk itu dengan adanya kemajuan ilmu pengetahuan dan teknologi yang ada sekarang ini.BAB I PENDAHULUAN I. Dibeberapa negara maju robot juga telah dapat sebagai alat yang bersifat menghibur (entertaint). maupun dalam bidang-bidang yang lainnya. Oleh karena itu metode yang diusulkan pada proyek akhir kemungkinan akan memberi sumbangan untuk perkembangan sistem navigasi pada mobile robot. baik dalam mengatur posisi robot ataupun mengatur kerja dan fungsi-fungsi yang rumit lainnya.

Ø Penempatan posisi dan integrasi antara robot dengan webcam karena terhubung dengan kabel yang panjang Ø Mengatur luas daerah jangkauan robot untuk gerak robot Ø Pengaturan jarak pengambilan sampah 13 . kemampuan untuk menemukan objek yang dianggap sebagai sampah yang berwarna merah .navigasi ini akan diaplikasikan pada sebuah robot yang diberi nama Robot Pasukan Kuning.3 PERMASALAHAN Sistem kontrol elektronika memiliki fungsi sebagai pusat pengendali kegiatan yang dilakukan oleh alat ini. Mengaplikasikan WebCam sebagai sensor robot untuk mendeteksi bentuk dan jarak suatu obyek dan mengaplikasikan mikrokontroler AT89S51 sebagai pusat pengontrolan robot berdasarkan informasi dari kamera serta untuk lebih memperdalam dan mengaplikasikan Mikrokontroler AT89S51 sebagai interfacing komputer dengan Hardware (robot). merancang dan membuat sistem robot pasukan kuning yang menggunakan pengolahan citra. robot tersebut juga mampu untuk melakukan beberapa tugas. Kemampuan (behaviour) yang dimiliki robot ini adalah kemampuan bergerak secara mandiri. Adapun permasalahan sistem pada perangkat keras (hardware) dan perangkat lunak (software) yang akan dibuat dalam Proyek Akhir adalah sebagai berikut : 1 Pembuatan perangkat mekanik. Dengan selesainya Proyek Akhir ini diharapkan dapat digunakan untuk mengendalikan robot dengan cara yang lebih mudah.2 TUJUAN Tujuan yang ingin dicapai dalam pembuatan Proyek Akhir ini adalah untuk merencanakan. serta memasyarakatkan fungsi atau kegunaan dari robot dan sebagai robot entertainment sebagai sarana hiburan. 1. I. Ø Bagaimana membuat sebuah mekanik yang tepat sehingga robot dapat berjalan stabil dan sesuai dengan yang diharapkan. Selain navigasi. Dalam melakukan tugasnya robot ini dapat bergerak mandiri karena robot memiliki beberapa kemampuan (behaviour) untuk merespon beberapa informasi dari luar yang dibaca oleh sensor (kamera). berukuran kecil dan berserakan/ berada di lantai.

Ø Bagaimana membuat perangkat keras elektronik pendukung sistem minimum berbasis mikrokontroller agar dapat berfungsi sebagai basis sistem kontrol dengan baik.2.Komunikasi data serial Ø Bagaimana membuat komunikasi data serial sehingga dapat menyalurkan informasi yang telah diolah oleh software dari komputer ke mikrokontroller. belok ke kiri. Ø Bagaimana membuat sebuah penggerak motor DC sehingga motor mampu bergerak kearah kiri dan ke kanan maupun maju dan mundur dengan daya yang optimal. berserakan di lantai dan pengambilan sampah harus berada di depan WebCam. dan mengambil sampah Ø Komunikasi antara robot dengan PC menggunakan komunikasi serial Ø Pencahayaan harus terang dan robot harus berada pada lantai yang rata 1. 3.4 BATASAN MASALAH Pada Proyek Akhir ini terdapat batasan masalah pada pembuatan perangkat keras mekanik dan hardware serta komunikasi data serial. 14 .berukuran kecil.5 SISTEMATIKA PEMBAHASAN Sistematika pembahasan dalam penyusunan laporan Proyek Akhir ini adalah sebagai berikut : BAB I PENDAHULUAN Berisi latar belakang pembuatan. Ø Lebar dari ruangan adalah 3x dari dimensi robot Ø Sampah berjumlah 5 dan tinggi minimal sampah 1cm Ø Robot melakukan kinerja berupa gerakan maju. permasalahan. 1. belok ke kanan. Dengan batasan masalah : Ø Objek yang dianggap sampah yaitu benda yang memiliki warna berbeda dengan warna lantai . Perangkat keras (hardware). tujuan. mundur. Ø Tidak ada halangan (obstacle). batasan masalah yang dikerjakan dan sistematika pembahasan.

perangkat lunak (software) maupun pengujian sistem secara keseluruhan. BAB IV PENGUJIAN DAN ANALISA Membahas pengujian mekanik. BAB V PENUTUP Berisi kesimpulan dari keseluruhan pengerjaan Proyek Akhir dan saran-saran untuk memperbaiki kelemahan sistem yang telah dibuat demi pengembangan dan penyempurnaan di masa mendatang. dan sistem minimum yang digunakan serta program untuk mengontrol keseluruhan sistem kerja robot. Teori penunjang disini meliputi teori mikrokontroler AT89S51. komunikasi serial dan Web Camera. BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT KERAS (HARDWARE DAN MEKANIK) Berisi uraian tentang tahap perencanaan serta proses pembuatan perangkat keras dari sistem yang dibuat. motor DC. komunikasi data serial. penggerak motor. pemakaian motor DC.BAB II TEORI PENUNJANG Menjelaskan mengenai teori-teori penunjang yang dijadikan landasan dan rujukan perhitungan dalam mengerjakan Proyek Akhir ini. sistem perangkat keras (hardware). 15 . seperti pembuatan mekanik robot.

sehingga dapat disimpan dan dimanipulasi oleh CPU 8 bit dengan mudah dan cepat. Pemisahan memori program dan data tersebut memperbolehkan memori data diakses dengan alamat 8 bit. 2004. Pembuatan.2 ORGANISASI MEMORI MCS-51 2. Teori yang digunakan meliputi Mikrokontroller. alamat memori data 16 bit bisa juga dihasilkan melalui register DPTR.2. dan Implementasi Robot Pasukan Kuning”. “Belajar mikrokontroler AT89C51/52/55 (Teori dan Aplikasi) Edisi 2”.1 Pendahuluan AT89S51 adalah mikrokontroler keluaran Atmel dengan 4 Kbyte Flash PEROM (Programmable and Erasable Read Only Memory). yang merupakan memory dengan teknologi non-volatile memory. Hal 3. 16 . Yogyakarta.. Gambar 2.1 Pemisahan antara Program Memori dan Data Memori Mikrokontroler AT89S51 mempunyai struktur memori yang terdiri atas: 1 Agfianto Eko Putra. Namun demikian.BAB II TEORI PENUNJANG Pada bab ini akan dijelaskan mengenai teori–teori yang digunakan dalam ”Perancangan. Gava Media. Berikut ini adalah gambar blok diagram inti dari AT89S51.1. Komunikasi data serial. Mikrokontroler AT89S51 memiliki ruang alamat memori data dan memori program yang terpisah. isi memory tersebut dapat diisi ulang ataupun dihapus berkalikali.1. dan Perangkat Input/Output yang digunakan. GAMBARAN UMUM MIKROKONTROLER AT89S51 2. 2.1: Diagram Blok Inti dari AT89S511 2.

untuk pengaksesan Data Memori dengan alamat 16 bit harus dilakukan dengan menggunakan register DPTR (Data Pointer). disediakan sebanyak 4 Kbyte. 2. CPU memulai eksekusi program dari lokasi alamat 0000H. seperti terlihat pada gambar 2.3 menunjukkan peta dari bagian bawah Program Memori. 3 Ibid. memori yang berisi register-register yang mempunyai fungsi-fungsi khusus yang hanya bisa diakses dengan pengalamatan langsung.2 Struktur Memory MCS-51 Pemisahan Program dan Data Memori ini memungkinkan pengaksesan data memori dengan pengalamatan 8 bit.2 : § Gambar 2. dan lain-lain. Sebagai Data Memori eksternal dapat digunakan RAM eksternal (maksimum 64 Kbyte). mikrokontroller akan mengirim sinyal PSEN (Program Store Enable). seperti timer.2 Program Memori 3 Gambar 2. serial.RAM internal. § Flash PEROM. Untuk membaca Program Memori eksternal. bisa ditambahkan ROM eksternal yang besarnya 64 Kbyte. Program Memori hanya dapat dibaca saja (diletakkan pada ROM/EPROM).2. Namun demikian. Jika masih kurang. Setelah reset. yang digunakan untuk menyimpan kode program yang telah di-kompile menjadi biner. sehingga dapat langsung disimpan dan dimanipulasi oleh mikrokontroller dengan kecepatan 8 bit. § Special Function Register (Register Fungsi Khusus). Hal 3 17 . yang dapat digunakan untuk penyimpanan variable atau data yang bersifat sementara sebesar 128 byte dimulai dari alamat 00h hingga 7Fh. counter. 2 Semua perangkat MCS-51 memiliki ruang alamat tersendiri untuk Program Memori dan Data Memori.

3 Program Memori MCS-51 Seperti yang terlihat pada gambar 2. Jika program interupsi cukup pendek. CPU mengeksekusi program dari ROM internal. Port 0 berfungsi sebagai bus alamat/data (bersifat multiplexer) terhadap RAM dan 3 buah jalur dari Port 2 digunakan untuk pemilihan halaman dari RAM (RAM page). Pemilihan ROM internal atau eksternal pada saat pembacaan oleh mikrokontroller.3. Jika dibutuhkan ukuran memory lebih besar dari 2KB dapat menggunakan eksternal RAM. Data Memori Eksternal dapat mencapai 64KB. untuk melompat menuju lokasi awal dimana program interupsi dibuat.2) dapat langung digunakan oleh user. untuk ROM internal. Pengalamatan Data Memori Eksternal ini ada yang memerlukan 4 Ibid.Gambar 2. maka program tersebut dapat dimulai pada alamat vektor interupsi yang ditentukan. Kapasitas 4K (atau 8K. setiap interupsi diberi lokasi tersendiri pada Program Memori (ketentuan tersebut dikenal sebagai vektor interupsi). Bila program interupsi cukup panjang.3 Data Memory 4 Data memory internal dan eksternal (lihat gambar 2. Hal 5 18 . 2. dilakukan dengan mengkondisikan pin EA (External Access) pada kondisi high/low (EA = high. untuk ROM eksternal). Interupsi yang dilakukan menyebabkan CPU melompat ke alamat interupsi yang berisi sebuah rutin khusus dan kemudian mengeksekusinya.2. atau 16K) dari Program Memori dapat difungsikan sebagai onchip ROM (internal) atau sebagai ROM eksternal. maka instruksi ‘Jump’ dapat digunakan pada alamat vektor interupsi tersebut. EA = low. CPU mengaktifkan sinyal RD dan WR berdasarkan kebutuhannya selama pengaksesan RAM eksternal.

Sedangkan pengalamatan 2 byte digunakan dengan catatan Port 2 digunakan untuk mengirim high address byte (byte alamat atas). sebab dengan menggunakan cara ini akan didapatkan instruksi yang lebih pendek dari pada dengan menggunakan direct addressing (pengalamatan langsung). Hal ini akan menyebabkan penggunaan yang lebih efisien dari pengkodean.5. Dua bit dalam PSW (Program Status Word) dipakai untuk memilih bank-bank mana yang akan digunakan.Pengalamatan langsung yang lebih tinggi dari 7FH akan mengakses blok memori yang berbeda.4 Data Memori Internal Data Memori Internal dipetakan seperti pada Gambar 2.4.4 menunjukkan bagaimana Upper 128 dan ruang SFR menggunakan blok yang sama pada pengalamatan 80H sampai FFH. 16 byte berikutnya di atas bank register adalah ruang memori yang bersifat bit-addressable (dapat dialamati per bit). Gambar 2.lebar alamat cukup 1 byte saja atau dengan 2 byte. 5 Blok Lower 128 selalu tersedia pada semua piranti MCS-51 seperti terlihat pada Gambar 2. Lokasi di bawah 32 byte dikelompokan menjadi 4 buah bank dari 8 register. Pengalamatan dengan 1 byte sering digunakan asalkan satu atau lebih dari jalur I/O digunakan untuk memilih RAM page. Gambar 2. dimana secara umum dibedakan menjadi Lower 128. Hal 7 19 . Upper 128 dan ruang Special Function Register (SFR). walaupun secara fisik keduanya adalah terpisah. Gambar 2. Program instruksi mengenalnya sebagai R0 sampai R7.5 Lower 128 dari RAM Internal 5 Ibid. oleh karena itu kapasitas maksimum dari sebuah alamat data adalah 256 byte. Memori ini dibagi menjadi 3 blok. Lebar alamat dari Data Memori Internal selalu sebesar 1 byte.

3. Secara umum.7 berada pada SFR. Dalam ruang SFR terdapat Port latch.6 menunjukkan ruang SFR (Special Function Register).3 INSTRUKSI SET DARI MCS-51 Instruksi set dari MCS-51 dioptimasi untuk aplikasi kontroler 8 bit.6 Ruang Special Function Register 2. 2. Sebanyak 16 alamat pada ruang SFR dapat dilakukan pengalamatan baik pengalamatan bit maupun byte. PSW. Gambar 2. yang terlihat pada Gambar 2. Sedangkan Upper 128 hanya dapat diakses menggunakan indirect addressing. Auxiliary Carry (untuk operasi 6 Ibid. kontrol peripheral dan lain-lain. Bit yang dapat diakses langsung ini adalah daerah dari 00H sampai 7FH. Instruksi set menghasilkan berbagai macam mode pengalamatan yang cepat saat mengakses internal RAM untuk melengkapi fasilitas byte operasi pada data struktur yang kecil. seluruh keluarga MCS51 memiliki ruang SFR yang sama dengan 8051 dan SFR tersebut diletakkan pada alamat yang sama. Register-register ini hanya dapat diakses dengan menggunakan direct addressing. timer. PSW berisi Carry bit. Hal 9 20 . Gambar 2.Ada Instruction Set dari MCS-51 terdapat instruksi-instruksi yang dapat mengolah bit tunggal dan sebanyak 128 bit pada area ini dapat diakses secara langsung dengan menggunakan Intruktion Set. Upper 128 dari RAM tidak digunakan pada MCS-51 tapi menggunakan RAM lain dengan kapasitas 256 byte. Bit yang dialamatkan pada area ini adalah mulai 80H sampai FFH.1 Program Status Word 6 Program Status Word (PSW) berisi beberapa status bit yang menunjukkan keadaan dari CPU. Semua daerah dalam Lower 128 dapat diakses secara direct maupun indirect addressing (pengalamatan langsung maupun tidak langsung). Instruksi set menunjang operasi-operasi bit seperti operasi Boolean. SFR yang bersifat bit addressable adalah alamat-alamat yang berakhir dengan 000BH.

Gambar 2.3. Dua buah bit pada PSW yang tidak terdefinisi. atau Stack Pointer. Register alamat untuk 8 bit yang dapat dipakai adalah R0 dan R1 dari bank register. yaitu : 1. apabila P=1 maka Akumulator sedang berisi bilangan ganjil.7 Program Status Word 2. Hanya internal Data RAM dan SFR yang dapat diproses dengan menggunakan direct addressing ini. dapat digunakan sebagai “general purpose status flag”. 2. Pada pengalamatan 16 bit dapat menggunakan register DPTR (Data Pointer).BCD).2 Mode Pengalamatan (Addressing Modes) 7 Pada MCS-51 terdapat beberapa Mode Pengalamatan. Parity bit dan dua buah flag yang dapat didefinisikan apa saja. bit Carry pada PSW juga memiliki beberapa fungsi untuk membantu “Akumulator” pada operasi-operasi Boolean. Bit RS0 dan RS1 digunakan untuk memilih salah satu dari bank register. Indirect Addressing Pada indirect addressing instruksi yang dikeluarkan akan menyebutkan sebuah register yang berisi alamat dari operand yang akan diproses. sedangkan apabila P=0 maka Akumulator sedang berisi bilangan genap. Hal 10 21 . Isi Akumulator apabila dijumlahkan dengan bit Parity akan selalu menghasilkan bilangan genap. dua buah bit select untuk bank register. Selain untuk melayani fungsi sebagai Carry pada proses aritmatika. Bit Parity akan selalu mengacu pada isi dari “Akumulator”. Overflow flag. Baik internal maupun eksternal RAM dapat diakses menggunakan indirect addressing ini. 7 Ibid. Direct Addressing Pada direct addressing instruksi yang dikeluarkan secara spesifik akan menyebutkan alamat dari operand yang diproses.

Immediate Constants Sebuah konstanta dapat mengikuti opcode pada Program Memori. jadi tidak ada bagian byte alamat yang dibutuhkan pada instruksi ini. sebagai Contoh : MOV A. Sebuah register berbasis 16 bit (dapat DPTR atau Program Counter) menunjuk basis dari tabel dan akumulator akan diset dengan entry dari tabel. beberapa instruksi selalu mengoperasikan Akumulator. Instruksi yang mengakses register dengan cara ini akan lebih efisien.3.#100. Saat instruksi ini dieksekusi. 6. Register Specific Instructions Beberapa instruksi secara spesifik menunjuk sebuah register. Mode pengalamatan ini dimaksudkan untuk membaca tabel pada Program Memori. atau Data Pointer. Tipe lain dari indexed addressingdapat dilihat dari instruksi “Jump”. 4. Perintah di atas akan mengisi Akumulator dengan sebuah konstanta dengan nilai desimal 100. Alamat dari tabel entry pada Program Memori dibentuk dengan menambahkan data dari Akumulator ke dalam basis pointer.sedangkan untuk nilai Hexadesimalnya adalah 64H. sebagai contoh. 22 . Opcode dari instruksi inilah yang langsung menunjuk register yang dibutuhkan. satu dari delapan register dari bank register akan diakses. karena mode ini akan menghilangkan bagian byte alamat. Register Instruction Bank register berisi register R0 sampai R7 yang dapat diakses dengan instruksi-instruksi tertentu dimana hanya akan melibatkan 3 bit register spesifik yang berisi opcode dari instruksi. Pada kasus ini alamat tujuan yang dituju oleh instruksi Jump akan diproses sebagai penjumlahan terhadap basis pointer dan data Akumulator. 5. Indexed Addressing Hanya Program Memori yang dapat diakses secara indexed addressing dan operasi yang dilakukan hanyalah membaca.

3.3 Instruksi-Instruksi Aritmatika Tabel 2.2 Instruksi Logika 23 .2. Tabel 2. Perintah tersebut akan menghasilkan P1=P1.#0FFH.3. Sebagai contoh : XRL P1.1 Instruksi Aritmatika 2.4 Instruksi-Instruksi Logika Yang perlu diingat adalah operasi Boolean/logika yang dilakukan untuk memproses Lower 128 atau SFR yang secara direct addressing.XOR FFH. tidak harus melalui akumulator.

Namun demikian stack itu sendiri dapat diakses menggunakan indirect addressing dengan perantaraan register SP. bila SP menunjuk pada daerah Upper 128. Hal ini berarti stack dapat sampai pada Upper 128 jika dibutuhkan.5 Data Transfer a. Instruksi PUSH dan POP hanya digunakan dengan direct addressing untuk mengidentifikasi byte yang disimpan ataupun dikeluarkan.3 Instruksi Data Transfer yang mengakses Internal Data Memory 8 Ibid hal 14 24 . Tabel 2. sedangkan data yang dikenakan operasi POP akan tidak terdeteksi. Instruksi PUSH mula-mula akan menginkremen nilai dari SP (Stack Pointer). Transfer data di dalam SFR dan Internal RAM dapat dilakukan tanpa melalui Akumulator. kemudian akan menduplikat isi data ke dalam stack. Instruksi-instruksi Data Transfer meliputi sebuah perintah MOV 16 bit yang dapat digunakan untuk menginisialisasi Data Pointer (DPTR) untuk memeriksa tabel-tabel pada Program Memori. atau untuk akses 16 bit pada external Data Memory. maka data yang diberi operasi PUSH akan hilang begitu saja. Pada piranti yang tidak menggunakan Upper 128. Internal RAM 8 Tabel 2.2. namun tidak dapat masuk ke dalam daerah SFR. sedangkan untuk transfer data melalui SFR hanya dapat dilakukan dengan direct addressing. untuk Upper 128 hanya dapat ditransfer melalui indirect addressing.3. Perhatikan bahwa pada semua piranti MCS-51. stack yang berada di dalam memory bergerak dari bawah ke atas.3 menunjukkan perintah-perintah untuk memindahkan data di dalam internal memory.

sedangkan seluruh Port 2 akan digunakan sebagai bus alamat (bukan sebagai I/O Port). Tabel 2.4 akan menunjukkan daftar dari instruksi-instruksi Data Transfer untuk mengakses external Data Memory. Ri dapat berupa R1 ataupun R0 dari bank register.5 Instruksi-Instruksi Boolean 9 Ibid hal 16 10 Ibid hal 18 25 . Pada instruksiinstruksi ini hanya digunakan mode Indirect addressing : Tabel 2. Kerugian dari menggunakan alamat 16 bit ini adalah jika hanya beberapa Kilobyte dari external RAM yang terlibat.4 Instruksi Data Transfer Yang Mengakses External Data Memory Mode pengalamatan indirect di atas. Untuk membaca dan menulis pada external RAM.3.b. External RAM 9 Tabel 2. maka pin ini dapat digunakan sebagai pin I/O ekstra 2. Perlu diperhatikan pada akses external Data RAM selalu menggunakan Akumulator baik sebagai source ataupun tujuan dari data.6 Instruksi-Instruksi Boolean 10 Piranti-piranti MCS-51 berisi instruksi-instruksi Boolean yang cukup lengkap. sinyal baca/tulis hanya aktif pada saat pengeksekusian instruksi MOVX. Biasanya sinyal-sinyal ini tidak aktif dan jika dalam suatu program pin ini tidak diaktifkan sama sekali.

Semua bit pada PSW pengaksesannya adalah hanya dengan direct addressing. Sebaliknya apabila bit2=1 maka C akan berisi hasil akhir.0.FLAG MOV P1. jadi Parity bit. sebagai contoh untuk membentuk Exclusive OR 2 bit : C= Bit1. 2. tapi tidak XRL. Sebuah jalur I/O (dalam hal ini LSB dari Port1) diset atau di-clear bergantung pada harga flag bit 1 atau 0. Alamat-alamat bit 00H sampai dengan 7FH adalah di dalam Lower 128 dan alamat-alamat bit dari 80H sampai dengan FFH ada dalam SFR.OVER CPL C OVER: ………… Mula-mula.3.6 Jump Tanpa Syarat (Unconditional Jumps) 26 . Jika bit2=0 maka C sekarang berisi dari hasil akhir.Instruksi-instruksi untuk prosesor Boolean yang diperlihatkan pada tabel 2. bit1 akan dipindahkan ke Carry. Perlu diingat bahwa instruksi Boolean menyertakan operasi ANL dan ORL.C Dalam contoh di atas FLAG adalah nama sembarang bit yang dapat dialamatkan dalam Lower 128 atau dalam SFR. seluruh pengaksesan bit adalah dengan direct addressing. Bit1 JNB Bit2.7 Instruksi-Instruksi Jump Tabel 2. atau flag-flag yang lain juga dapat digunakan untuk instruksi-instruksi bit test seperti di atas. Bit2 Secara software dapat dilakukan sbb: MOV C.6 menunjukkan daftar dari perintah-perintah Jump tak bersyarat : Tabel 2.5. MOV C. Bit Carry dalam PSW digunakan sebagai akumulator bit tunggal dari prosesor Boolean. Sebuah operasi XRL dapat dengan mudah diimplementasikan ke dalam software. XRL .

programmer mendefinisikan alamat tujuan dengan cara yang sama yaitu dengan label atau dengan konstanta 16 bit. Perintah ini memiliki batas range dari -128 sampai 128 byte dihitung dari perintah SJMP itu dieksekusi. Alamat tujuan diproses pada saat penjumlahan antara DPTR 16 bit dengan Akumulator. Instruksi ini memiliki lebar 2 byte. seperti yang telah dijelaskan di atas. Saat instruksi ini dieksekusi. Pada pencabangan 5 jalur. dimana memiliki perbedaan pada format dan alamat tujuan. dimana opcode itu sendiri berisi 3 bit yang merupakan bagian dari konstanta yang 11 bit itu. Instruksi ini terdiri atas 3 byte. berisi opcode dan byte relative offset. serta 1 byte alamat. DPTR diset dengan diisi alamat basis (acuan) . 11 bit ini akan menggantikan 11 bit terendah dari PC.#JUMP_TABLE MOV A. v Perintah SJMP mengkodekan alamat tujuan sebagai relative offset. Alamat tujuan dapat diletakkan dimana saja di dalam Program Memori yang 64 KB tersebut. sedangkan 5 bit Teratas dari PC tetap pada tempatnya. LJMP dan AJMP. yang berisi opcode. sebuah integer 0 sampai 4 dapat dieksekusi seperti berikut: MOV DPTR. v Perintah AJMP mengkodekan alamat tujuan sebagai konstanta 11 bit. sedangkan akumulator diisi dengan index dari tabel. sebagai contoh. berisi opcode dari instruksi serta dua byte alamat.6 hanya terdapat perintah “JMP addr”. Jika format yang diberikan oleh instruksi tidak mensupport jarak dari alamat tujuan. Pada semua kasus Jump.INDEX_NUMBER RL A JMP @A+DPTR 27 . padahal secara fakta terdapat tiga buah perintah lain. maka pesan “Destination out of Range” akan muncul di dalam file List pada saat kita mengkompilasi. Perintah ‘JMP @ A+DPTR’ juga menunjang instruksi-instruksi jump bersyarat. user biasanya tidak peduli lagi dengan bagaimana suatu perintah Jump itu dikodekan. Biasanya. Sehingga alamat tujuan paling tidak adalah masuk dalam range 2K dari instruksi AJMP. yakni : SJMP. v JMP adalah mnemonic umum yang biasa digunakan pada program. Instruksi ini terdiri atas 2 byte.Pada tabel 2. v Perintah LJMP mengkodekan alamat tujuan sebagai sebuah konstanta 16 bit.

karena tiap entri pada tabel Jump memiliki lebar 2 byte : JUMP_TABLE: AJMP CASE_0 AJMP CASE_1 AJMP CASE_2 AJMP CASE_3 AJMP CASE_4 Pada Tabel 2. namun Sebenarnya terdiri atas dua instruksi. Enable bit =1 . maka seluruh interupsi yang ada tak dapat digunakan.3.8 Struktur Interupsi 11 Inti dari MCS-51 menyediakan lima buah interupsi. Ø CALL adalah mnemonic umum yang dapat digunakan oleh programmer tanpa mempedulikan bagaimana alamat tersebut dikodekan. semua interupsi tak dapat digunakan (disable) 11 Ibid hal 24 28 . yaitu : dua buah interupsi eksternal.Instruksi RL A mengkonversikan nomor index (0 sampai 4) menjadi bilangan ganjil dari 0 sampai 8. Ø Instruksi LCALL menggunakan format alamat 16 bit dan subrutin yang dipanggil dapat terletak dimana saja di dalam Program Memori yang 64 KB.6 disebutkan sebuah instruksi tunggal “CALL addr”. dua buah interupsi timer dan sebuah serial port interupsi. yakni LCALL dan ACALL. Perlu diingat juga bahwa apabila bit EA pada IE diberi nilai 0. 2. enable semua interupsi Enable bit =0 . Di bawah akan dijelaskan lebih mendalam bagaimana memanfaatkan interupsi-interupsi ini: a) Interrupt Enable Tiap interupsi dapat secara individu dimatikan ataupun diaktifkan dengan menset bit yang sesuai pada SFR yang disebut IE (Interrupt Enable). dengan perbedaan format dari alamat subrutin yang diberikan oleh CPU.

Jika dua buah interupsi diterima oleh kontroler secara bersamaan maka interupsi yang memiliki level prioritas yang lebih tinggilah yang akan dilaksanakan. maka urutan internal polling yang akan menentukan interupsi manakah yang akan dilayani.Tabel 2.8 IP (Interrupt Priority) Tiap interupsi juga dapat secara individu diprogram untuk satu atau dua prioritas level dengan menset bit pada SFR yang bernama IP (Interrupt Priority). tapi tidak dapat diganggu oleh interupsi lain yang juga merupakan low priority interrupt.7 IE (Interrupt Enable) b) Interupsi Prioritas (Interrupt Priority) Tabel 2. namun apabila kedua interupsi tersebut Memiliki level interupsi yang sama. Sebuah high priority interrupt tidak dapat diganggu/diinterupsi oleh interupsi manapun. Priority bit = 1 dianggap high priority Priority bit = 0 dianggap low priority 29 . Sebuah Interupsi yang memiliki level Interupsi Prioritas yang rendah (low priority interrupt) dapat diganggu / diinterupsi oleh interupsi yang Memiliki prioritas yang tinggi (high priority interrupt). Jadi di dalam tiap level prioritas terdapat struktur prioritas kedua yang ditentukan oleh urutan polling.

Timer 0 dan Timer 1. Pada saat sebagai counter. T0 atau T1.9 TCON (Timer Control) 12 Ibid hal 112 30 . b. Apabila periode tertentu telah dilampaui.2. Definisi bit-bitnya adalah sebagai berikut: Tabel 2. Sebagai T/C 8 bit T = (255 – TLx) * 1_s Dimana TLx adalah isi register TL0 atau TL1. register naik satu (increment) setiap satu cycle. Timer/Counter segera menginterupsi mikrokontroller untuk memberitahukan bahwa perhitungan periode waktu telah selesai dilaksanakan. Periode waktu Timer/Counter secara umum ditentukan oleh persamaan berikut: a. maka satu cycle sama dengan 1/12 frekuensi osilator = 1_s. Jika digunakan osilator 12 Mhz.4 TIMER/COUNTER 12 Mikrokontroller MCS-51 mempunyai dua buah register Timer/Counter 16 bit . Pada saat sebagai Timer. register naik satu (increment) pada saat transisi 1 ke 0 dari input eksternal . Sebagai T/C 16 bit T = (65535 – THx TLx) * 1_s THx = isi register TH0 atau TH1 TLx = isi register TL0 atau TL1 Pengontrol pemilihan mode operasi Timer/Counter ada pada register timer mode (TMOD) .

mikrokontroller akan mengeset Timer Interrupt Flag (TF1). Definisi bit-bitnya adalah sebagai berikut: Keterangan: Ø GATE Gate control set. Timer”x” akan aktif jika “TRx” set Ø C / T Timer/Counter Selector.Mengeset TR1 tidak akan menghapus isi register. Tabel 2. Setelah perhitungan selesai. Operasi pada mode 0 untuk Timer 0 dan Timer 1 adalah sama. untuk fasilitas pengukuran lebar pulsa. Timer/Counter “x” akan aktif jika pin “INTx” high dan kondisi pin “TRx” sedang set. Register 13 bit yang digunakan terdiri dari 8 bit dari TH1 dan 5 bit bawah dari TL1 ( bit 6. Gambar menunjukkan diagram timer yang bekerja pada mode 0.10 Mode Timer Ø Mode 0 13 Pada mode ini timer bekerja sebagai timer 13 bit yang terdiri dari counter 8-bit dengan pembagi 32 (pembagi 5 bit).Pengontrol pemilihan mode operasi Timer/Counter ada pada register timer mode (TMOD) . Clear untuk mode Timer ( input dari internal clock ) dan set untuk mode Counter (input dari pin “Tx” ) Ø M1 Bit untuk memilih mode timer/counter Ø M0 Bit untuk memilih mode timer/counter Ø x = 0 atau 1.7. 13 Ibid hal 112 31 .8 tidak digunakan ). Dengan membuat GATE = 1. Gate control clear. timer dapat dikontrol oleh input dari luar (INT1).

TR0. Saat Timer 0 dalam mode 3. sebagai T/C 13bit Ø Mode 1 14 Mode 1 sama dengan mode 0 kecuali register timer akan bekerja dalam mode 16 bit.8 Timer/Counter 1 bekerja dalam mode 0. TL0 menggunakan kontrol bit timer 0 yaitu C/T. hitungan yang sedang berjalan dipegang. mikrokontroller 8051 seperti memiliki 3 T/C. sebagai T/C 8-bit auto-reload Ø Mode 3 Dalam operasi mode 3 Timer 1 akan berhenti. TH0 berfungsi hanya sebagai timer dan mengambil alih penggunaan TR1 dan TF1 dari Timer1 dan sekarang TH0 mengontrol interupsi Timer 1. Dengan timer 0 dalam mode 3. dan TF0. Mode 3 diperlukan untuk aplikasi yang membutuhkan ekstra Timer/Counter 8 bit. Pengisian ulang ini tidak mengubah nilai TH1. Efeknya sama seperti mengatur TR1 = 0. Overflow dari TL1 tidak hanya menset TF1 tetapi juga mengisi TL1 dengan isi TH1 yang diisi sebelumnya oleh software. Gambar 2.9 Timer/Counter 1 bekerja pada mode 2.Gambar 2. INT 0. Ø Mode 2 15 Mode 2 menyusun register timer sebagai 8 bit counter (TL1) dengan kemampuan reload otomatis seperti yang ditunjukkan pada gambar 14. Timer 1 dapat 14 15 Ibid hal 113 Ibid hal 114 32 . GATE. Timer 0 dalam mode 3 membuat TL0 dan TH0 sebagai dua counter terpisah.

Register ini berfungsi bit untuk memilih mode operasi. Untuk menjalankan Timer/Counter 0 dalam mode 16 bit counter dengan kontrol eksternal maka nilai yang harus dimasukkan ke register TMOD adalah 0DH. 16 Ibid hal 118 33 .dihidupkan atau dimatikan.10 Timer/Counter 0 bekerja pada mode 3. Pada AT89S1. Sebagai contoh T/C 1 pada mode timer 13-bit kontrol internal dan T/C 0 pada mode 8-bit auto-reload dengan kontrol internal maka nilai yang harus dimasukkan ke TMOD adalah 02H. atau dapat digunakan oleh port serial sebagai pembangkit baud rate dalam aplikasi komunikasi serial. bit data ke 9 untuk penerimaan dan pengiriman (TB8 dan RB8). sebagai 2 timer/counter 8 bit Ø Menset Timer/Counter 0 atau Timer/Counter 1 16 Sebagai contoh untuk menjalankan Timer/Counter 0 dalam mode 8-bit timer auto reload dengan kontrol internal maka nilai yang harus dimasukkan ke register TMOD adalah 02H. Dalam mode kontrol internal. serta bit interupt port serial (TI dan RI). 2.5 Serial Port Control Register Kontrol dan status port serial terdapat pada SFR SCON. Pada kontrol eksternal. Gambar 2. timer dihidup-matikan dengan memberikan logika 0 pada pin INT 0 (kontrol hardware). maka nilai di atas di OR kan dengan nilai yang diperlukan untuk mengoperasikan Timer/Counter 1. operasi Timer/Counter dihidup-matikan dengan mengeset bit “TRx” (kontrol software). baud rate untuk Mode 1 dan Mode 3 ditentukan oleh overflow rate Timer 1. Nilai yang dimasukkan ke register TMOD di atas hanya akan beroperasi pada satu timer bila diinginkan untuk menjalankan timer1 dan timer 0 secara bersamaan.

dan bisa menggunakan salah satu dari 3 mode dimana Timer 1 aktif.14 menunjukkan daftar baud rate yang umum digunakan dan bagaimana cara menghasilkan baud rate tersebut dengan Timer 1.. rumus untuk baud rate : 2SMOD Baud Rate Mode 1. maka interupt Timer 1 diaktifkan.. Interupt Timer 1 ini digunakan untuk mengisi ulang nilai 16 bit pada TH1 dan TL1 secara s Gambar 2.3 = 32 Frekuensi Osilator X 12 X [256-(TH1)] ……….1) Untuk aplikasi ini interupt Timer 1 harus dinonaktifkan. dan menginisialisasi Timer 1 sebagai timer 16 bit (high nibble TMOD = 0001B). Timer bisa dioperasikan sebagai 'timer' atau 'counter'. Dalam kondisi ini. 34 ... Pada umumnya Timer 1 dikonfigurasikan sebagai 'timer' dengan mode auto-reload (Mode 2) dimana high nibble / 4 bit upper TMOD = 0010B.2) Bila diperlukan baud rate yang rendah..(MSB) SM0 SM1 SM2 REN TB8 RB8 TI (LSB) R I SM0 SM1 0 0 0 1 1 1 0 1 MODE 0 1 2 3 Description fixed (fosc/12) variable (set by timer) fixed (fosc/64 or fosc/32) variable (set by timer) Baud Rate Shift Register 8-bit UART 9-bit UART 9-bit UART Nilai dari SMOD adalah sebagai berikut : 2SMOD Baud Rate Mode 1.(2.(2.3 = 32 X (Timer 1 Overflow Rate) ………..

T1 (timer 1). o Interrupt Recovery dari Power-Down Modes.6 Rangkaian Berbasis Mikrokontroller AT89S51 Mikrokontroller yang digunakan didalam proyek akhir ini adalah AT89S51dari ATMEL yang merupakan keluarga MCS 51 yang banyak berada di pasaran. o Dua 16 bit Timer/Counter o Fast Programming Time. Pin 9 (reset) adalah masukan reset (aktif high). c. o Tiga Level Program Memori Lock. Pin ini dihubungkan dengan rangkaian power on reset (gambar 2. Int0 (Interupt 0).6. pena-pena ini dapat digunakan sebagai port pararel serbaguna. RxD (Receive Data). o Lima Sumber Interrupt. T0 (timer 0). o Range operasi 4.5V. WR(Write). RD(Read). o 32 jalur I/O Programmable. dimana semua rangkaian termasuk memori dan I/O tergabung dalam satu pak IC.2. o Operasi Secara penuh Statis: 0 Hz ke 33 MHZ. 2. Pulsa transisi dari rendah ke tinggi akan me-reset.1 Konfigurasi pin dari Mikrokontroller AT89S51 Konfigurasi pin dari Mikrokontroller AT89S51dapat dilihat ada gambar berikut: a. o 125 x 8-bit RAM Internal.12). Pin 1 sampai 8 (port 1) merupakan port pararel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose) b. Bila pin-pin ini tidak dipakai. Mikrokontroller ini merupakan mikrokontroller 8 bit yang merupakan single chip microcontroller. o UART Full Duplex Saluran Serial.0V ke 5. o Low-Power Idle dan Power-Down Modes. Pin 10 sampai 17 (port 3) adalah port pararel 8 bit dua arah yang memiliki fungsi pengganti. Int1 (Interupt 1). Daya tahan: 1000 kali tulis/hapus. 35 . o Fleksibel ISP Programming (Byte dan Page Mode). Fungsi pengganti meliputi TxD (Transmit Data). Mikrokontroller AT89S51 memiliki fasilitas antara lain: o 4K Bytes In-System Programmable (ISP) Flash Memori.

36 . h. e. j.11 Konfigurasi pin dari mikrokontroller AT89S51 Gambar 2. Pin 21 sampai 28 (port 2) adalah port pararel 2 selebar 8 bit dua arah (bidirectional).12 Rangkaian power on reset k. Pin ini dipakai bila mengunakan osilator kristal. i. g. Pin 32 sampai 39 (port 0) merupakan port pararel 8 bit open drain dua arah. Pin 30 adalah pin ALE (Address Latch Enable ) yang digunakan untuk menahan alamat memori eksternal selama pelaksanaan instruksi. Bila pin ini diberi logika tinggi mikrokontroller akan melaksanakan instruksi dari ROM/EPROM. Pin 29 adalah pin PSEN (Program store enable). Pin 31 (EA). Pin 19 (XTAL 2) adalah pin keluaran ke rangkaian osilator internal. Gambar 2.d. Pin 18 (XTAL 1) adalah pin masukan ke rangkaian osilator internal. Bila diberi logika rendah mikrokontroller akan melaksanakan seluruh instruksi dari memori luar. Pin 40 (Vcc) dihubungkan ke Vcc (+5 volt). l. Pin 20 (GND) dihubungkan ke ground. f.

Port 0 juga dapat dijadikan sebagai multiplexed low order address bus saaat dikonfigurasikan dengan rangkaian memori eksternal. sehingga saat diisi logika satu maka port ini akan bersifat mengambang (high impedance). Jadi supaya dapat dijadikan rangkaian I/O diperlukan resistor pull-up eksternal. Saat flash programing port ini menerima byte kode program dan mengeluarkan byte kode saaat proses verifikasi. Port 2 berfungsi sebagai multiplexed high order address bus saat flash programing dan sebagai bit kontrol saat proses verifikasi.2.6. Ø Port 0 Port 0 merupakan 8 bit biderectional I/O dengan dengan dengan rangkaian open drain sebagai penggerak di dalamnya. Saat dikonfigurasikan dengan rangkaian memori eksternal port ini akan berfungsi sebagai addres bus byte yang tinggi (A8-A15).11 Konfigurasi Alternatif dari port AT89S51 37 . Ø Port 2 Port 2 Merupakan 8 bit biderectional I/O dengan internal resistor pullup.2 Konfigurasi I/O Mikrokotroller AT89S51 mempunyai 32 bit jalur I/O yang terbagi dalam 4 port yaitu port 0 sampai dengan port 3. Port 3 juga dapat difungsikan untuk beberapa fungsi khusus seperti yang ditunjukkan pada tabel berikut: Tabel 2. Ø Port 1 Port 1 terdiri dari 8 bit I/O biderectional dengan internal resistor pull-up. Ø Port 3 Port 3 Merupakan 8 bit biderectional I/O dengan internal resistor pullup.

Waktu yang diinginkan untuk melewati daerah peralihan -3 volt sampai +3 volt tidak boleh melebihi 1mdetik \ Gambar 2. Tegangan terbuka maksimum 25 volt. Hambatan keluaran DC harus dikurangi dari 700 ohm jika diberi tegangan 3 volt dan 15 volt. dan harus lebih besar 3000 ohm. Standar ini dibuat oleh Elektronik Industri Association (EIA). RS232 adalah suatu Serial Data Interface Standard yang dikeluarkan oleh EIA. Keadaan logika ‘0’ ditandai dengan tegangan antara -5 volt sampai dengan +15 volt.7 KOMUNIKASI SERIAL RS232 Dalam proyek akhir ini akan dibuat robot otomatis dengan menggunakan komunikasi serial. 4. 3. 5.2. Pada bagian pemroses gambar dalam hal ini warna terdiri dari kamera. Slew rate harus lebih kecil dari 30 volt/µdetik. Standar ini juga berisikan karakteristik sinyal listrik. bila tegangan kurang dari 25 volt. fungsi serta posisi tiap per timing (pewaktu) dan level tegangan/arus.13 Level Tegangan RS232 Beda tegangan 2 volt ini disebut sebagai noise margin dari RS232 38 . komputer. Sedangkan untuk perancangan komunikasi data menggunakan komunikasi serial RS232. USB (Universal Serial Bus). untuk interface antara peralatan terminal data dan peralatan komunikasi data. 2. Keadaan logika ‘1’ ditandai dengan tegangan antara 5 volt sampai dengan -15 volt. RS232 merupakan kependekan dari Recommended Standard number 232. karakteristik mekanik dan cara operasional rangkaian fungsional Beberapa karakterstik rangkaian fungsionalnya adalah sebagai berikut: 1. rangkaian pengubah level tegangan. RS232 merupakan salah satu standar interface dalam proses transfer data antar komputer terutama dalam bentuk serial transfer. dengan menggunakan data biner sebagai data yang ditransmisi. Standarisasi meliputi konektor.

Setelah 8 bit data diterima.1 Konfigurasi Serial DB-9 Berikut ini adalah konfigurasi pin pada DB-9 yang merupakan konektor port serial yang biasanya tersedia pada komputer. penerima. Salah satu perangkat penunjang proses komunikasi data serial pada terminal komputer dengan dunia luar adalah port serial. Pada dasarnya hanya 3 pin yang terpakai. Gambar 2. yaitu pin pengirim. Komunikasi yang digunakan adalah komunikasi serial asinkron dimana komunikasi ini tidak memerlukan sinyal clock sebagai sinkronisasi. Komputer memiliki port serial dengan konektor 9 pin (DB9). penerima akan menunggu adanya stop bit sebagai tanda bahwa 1 byte data telah terkirim dan penerima dapat siap untuk menunggu pengiriman data berikutnya. namun pengiriman data ini harus diawali dengan start dan diakhiri stop bit. Sinyal clock yang merupakan baud rate dari komunikasi data ini dibangkitkan oleh masing _masing sisi penerima dan sisi pengirim data dengan frekuensi yang sama.Terdapat berbagai macam cara untuk menerapkan interface data biner pada komunikasi secara serial. dan ground. Penerima hanya perlu mendeteksi adanya start bit sebagai awal pengiriman data. salah satunya adalah yang disebut RS-232 ini.14 Diagram Blok Komunikasi Serial 2. 39 .7. selanjutnya komunikasi terjadi antara dua buah shift register yang ada pada bagian pengirim dan pemerima.

• Pin2(Received Data). Interfacing Port Paralel dan Port Serial Komputer degan Visual Basic 6. 17 Retna Prasetia & Catur Edi Widodo.0. 18 Retna Prasetia & Catur Edi Widodo. digunakan DTE menerima data dari DCE • Pin3(Transmitted Data). 40 .0. Interfacing Port Paralel dan Port Serial Komputer degan Visual Basic 6.15 Konfigurasi serial DB-917 Tabel 2.DCE Ready Request To send Clear To send Ring Indicator Received Line Signal Received Data Transmitted Data Data Terminal Ready Signal Ground Gambar 2. digunakan DTE mengirimkan data ke DCE.12 Konfigurasi pin dan nama sinyal konektor serial DB-918 Nomor Nama Direction Keterangan Pin Sinyal 1 DCD In Data Carrier Detect / Received Line Signal Detect 2 RxD In Received Data 3 TxD Out Transmit Data 4 DTR Out Data Terminal Ready 5 GND Gound 6 DSR In Data Set Ready 7 RST Out Request to Send 8 CTS In Clear to Send 9 RI In Ring Indicator Keterangan : • Pin 1(Data Carier Detect) berfungsi unutk medeteksi boleh atau tidaknya DTE menerima data.

16 Kamera WebCam 2. disamping itu dimensinya yang tidak terlalu besar. 41 . Motor DC dengan Magnet Permanen. 2.• • • • • • Pin4(Data Terminal Ready). pada saluran ini DCE memberitahukan ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya. pada torsi yang konstan.8 PIRANTI MASUKAN (WEBCAM) WebCam adalah sebuah kamera yang digunakan untuk mengambil objek gambar secara benar dan nyata yang dibutuhkan untuk pengolahan citra . Sedangkan tipe motor DC yang digunakan disini adalah tipe magnet permanen. Pin8(Clear To send). Pin7(Request To Send). Pin5(Signal Ground).9 PIRANTI KELUARAN (MOTOR DC) Motor DC biasanya digunakan dalam rangkaian yang memerlukan kepresisian yang tinggi untuk pengaturan kecepatan. saluran ground. Gambar 2. Terdapat dua tipe motor DC berdasarkan prinsip medannya yaitu: 1. dengan saluran ini DCE diminta mengirimkan data oleh DTE. Pin9(Ring Indicator). sinyal aktif pada saliran ini menunjukan bahwa DCE sudah siap. Pin6(DCE Ready). Motor DC dengan Lilitan yang terdapat pada Stator. objek di depannya nantinya akan diambil kemudian diolah menjadi data-data yang diinginkan di dalam komputer. Motor DC disini digunakan sebagai motor penggerak utama . dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai mengirimkan data. 2. pada saluran ini DTE memberitahukan kesiapan terminalnya. Semua motor DC beroperasi atas dasar arus yang melewati konduktor yang berada dalam medan magnet. karena tipe ini lebih mudah pengontrolannya.

bila motor DC memiliki jari-jari sepanjang r.3) Dimana : B = kepadatan fluks magnet (Gauss) L = penghantar (cm) I = arus listrik yang mengalir (Ampere) Persamaan di atas merupakan prinsip sebuah motor searah. yang berbunyi sebagai berikut :”Apabila tangan kiri terbuka diletakkan diantara kutub U dan S. r…………………………………(2.1 Teori Motor DC Motor DC berfungsi mengubah tenaga listrik menjadi tenaga mekanis dimana gerak tersebut berupa putaran dari motor. dimana terjadi proses perubahan energi listrik (I) menjadi energi mekanik (F).9.10-1 dyne………………………………….4) Pada saat gaya F dibandingkan. Arah gerakan kawat dapat ditentukan dengan mengguankan kaidah tangan kiri. maka kawat itu akan mendapat gaya yang arahnya sesuai dengan arah ibu jari”. r = B I L .(2.17 Prinsip Kerja Motor DC Pada motor arus searah medan magnet akan dihasilkan oleh medan dengan kerapatan fluks sebesar B.2. maka kopel yang dibangkitkan adalah : T = F . bila kumparan jangkar yang dilingkupi medan magnet dari kumparan medan dialiri arus sebesar I. konduktor bergerak dalam medan magnet dan menimbulkan gaya gerak listrik yang merupakn reaksi lawan terhadap tegangan penyebabnya. Gambar 2. sehingga garis-garis gaya yang keluar dari kutub utara menembus telapak tangan kiri dan arus di dalam kawat mengalir searah dengan arah keempat jari. Yang diperlihatkan dengan gambar berikut ini. Prinsip dasar dari motor arus searah adalah kalau sebuah kawat berarus diletakkan antara kutub magnet (U-S). maka akan menghasilkan suatu gaya F dengan besarnya gaya tersebut adalah: F = B I L 1. Suatu motor listrik disebut sebagai motor DC jika memerlukan supply tegangan searah pada kumparan jangkar dan kumparan medan 42 . maka pada kawat itu akan bekerja suatu gaya yang menggerakan kawat itu.

untuk diubah menjadi energi mekanik. Pada motor DC, kumparan medan yang dialiri arus listrik akan menghasilkan medan magnet yang melingkupi kumparan jangkar dengan arah tertentu. Konversi energi listrik yang diubah menjadi energi mekanik berkangsung melalui medium medan magnet. Energi yang akan diubah dari suatu sistem yang lainnya, sementara akan disimpan dalam medium medan magnet untuk kemudian dilepaskan menjadi energi sistem yang lainnya. Dengan demikian, medan magnet berfungsi sebagai tempat penyimpanan energi dan mengkopel proses pengubah energi. Dengan mengingat hukum kekekalan energi, proses konversi energi mekanik dapat dinyatakan sebagai berikut : “Energi listrik sebagai input = Energi mekanik sebagai output + Energi yang diubah sebagai panas + Energi yang tersimpan dalam medan magnet”. Motor DC mempunyai dua bagian dasar yaitu : 1. Bagian diam/tetap (stasioner) yang disebut stator. Stator ini menghasilkan medan magnet, baik yang dibangkitkan dari sebuah koil (elektromagnetik) atau magnet permanen. Bagian stator terdiri dari bodi motor yang memiliki magnet yang melekat padanya. Untuk motor kecil, magnet tersebut adalah magnet permanen sedangkan untuk motor besar menggunakan elektromagnetik. Kumparan yang dililitkan pada lempeng-lempeng magnet disebut kumparan medan. 2. Bagian berputar (rotor). Rotor ini berupa sebuah koil dimana arus listrik mengalir. Suatu kumparan motor akan berfungsi apabila mempunyai : ♦ Kumparan medan,berfungsi sebagai pengahsil medan magnet. ♦ Kumparan jangkar, berfungsi sebagai pengimbas GGL pada konduktor yang terletak pada laur-alur jangkar. ♦ Celah udara yang memungkinkan berputarnya jangkar dalam medan magnet. 2.9.2 Torsi Torsi adalah putaran dari suatu gaya terhadap suatu poros. Hal ini dapat diukur dengan hasil kali gaya itu dengan jari-jari lingkaran, dimana gaya itu bekerja. Pada suatu pulley dengan jari-jari r meter bekerja suatu gaya F Newton yang menyebabkan pulley berputar dengan kecepatan n putaran per detik. Torsi (T) = F x r Newton meter (N-m)………....(2.5) Usaha yang dilakukan oleh gaya tersebut pada suatu putaran adalah :

43

Usaha = gaya x jarak = F x 2πr………………………………....(2.6) Daya yang dibangkitkan adalah : Daya = Usaha x n……………………………….(2.7) 2.9.3 Konstruksi Motor DC Konstruksi dari sebuah motor DC ditunjukkan seperti pada gambar 2.17 di bawah ini. Pada motor arus searah rotornya mempunyai kumparan tidak hanya satu, terdiri kumparan dan komulator yang banyak untuk mendapatkan torsi yang terus menerus. Rotor terdiri dari jangkar yang intinya terbuat dari lempengan-lempengan yang ditakik. Susunan lempengan membentuk celah-celah tersebut dimasuki konduktor kumparan jangkar. Ujung tiap-tiap kumparan dihubungkan pada satu segment komutator. Tiap segmen merupakan pertemuan dua ujung kumparan yang terhubung.

Gambar 2.18 Bagian-Bagian Motor DC Kumparan penguat dihubungkan seri, jangkar merupakan bagian bergerak yang terbuat dari besi berlaminasi untuk mengurangi rugi-rugi arus Eddy. Kumparan jangkar diletakkan pada slot besi di sebelah luar permukaan jangkar. Pada jangkar terdapat komulator yang berbentuk silinder masing-masing diisolasi. Sisi kumparan dihubungkan dengan segmen komulator pada beberapa bagian yang berbeda, tergantung dari tipe lilitan yang diperlukan. 2.9.4 Rugi-rugi dan Efisiensi Terdapat beberapa rugi-rugi yaitu meliputi rugi medan, rugirugi tahanan jangkar dan rugi-rugi putaran. Rugi-rugi dengan presentasi yang rendah terjadi pada mesin-mesin yang besar. η = Daya Output…………………………………………………………………(2.8)
Daya Input

η=

Daya Input rugi-rugi ………………………………………….…….……… Daya Input

(2.9)

44

2.10 PULSE WIDTH MODULATION (PWM) Pada dasarnya putaran motor DC secara umum berbanding lurus dengan tegangan supply pada terminalnya. Untuk mendapatkan putaran/kecepatan motor yang rendah maka diberi yang tegangan rendah. Untuk tegangan yang tinggi maka putaran/kecepatan motor juga akan makin cepat. Dengan demikian, masalah yang harus diseleseikan pada rangkaian pengerak motor adalah bagaimana mengatur putaran/kecepatan motor yang bervariasi secara linier dengan cara mengatur tegangan/arus yang masuk ke rangkaian penggerak (dapat diatur mulai dari 0 Volt hingga tegangan maksimal secara linier ). PWM (Pulse Width Modulation) adalah suatu teknik manipulasi dalam pengaturan kecepatan motor yang menggunakan prinsip ON-OFF dari pulsa yang diberikan ke input rangkaian driver dalam suatu periode waktu tertentu. Lebar pulsa linier dinyatakan dalam Duty Cycle. Misal duty cycle 10 %, berati lebar pulsa adalah 1/10 bagian dari perioda penuh. Pada Gambar 2.19 nampak bahwa makin sempit pulsa PWM, tegangan ekivalen liniearnya makin kecil. Jika duty cycle 100 % maka tegangan ekivalen liniernya sama dengan tegangan maksimum pada motor dikurangi tegangan saturasi pada kolektor-emitor (atau drain-source pada komponen MOSPET). Pembangkitan pulsa PWM dapat diperoleh melalui berbagai rangkaian timer atau pulsa dengan Duty cycle dari mikrokontroller dapat diberikan ke transistor/mosfet sebagai pengaturan arus yang akan mengalir menuju ke motor. Dengan demikian kecepatan motor dapat diubah ubah berdasarkan duty cycle yang dapat diatur dari PWM mikrokontroller

Gambar 2.19 Prinsip Kerja PWM

45

2 SISTEM KONFIGURASI Sistem minimum yang terdapat pada robot ini terbagi atas dua bagian dasar. Sebagai interface dalam sistem ini digunakan sistem minimum AT89S51 yang akan mengontrol perangkat keras melalui port-port yang tersedia. dan rangkaian komunikasi data serial RS232. dan terdapat indikator Led. Kemudian merangkai bagian-bagian tersebut menjadi satu kesatuan yang utuh. sistem minimum ini menggunakan mikrokontroller AT89S51 yang merupakan keluaran dari Atmel. rangkaian indikator Led. Untuk pembuatan perangkat keras yang meliputi pembuatan perangkat mekanik serta perangkat keras elektonik (hardware) akan dibahas pada bab ini yang merupakan pokok bahasan utama dalam proyek akhir ini.BAB III PERENCANAAN DAN PEMBUATAN ALAT (HARDWARE DAN MEKANIK) 3. penyangga kamera. sedangkan port 0 digunakan untuk menampilkan karakter huruf yang merupakan kode ASCII pada indikator led. Sistem minimum ini digunakan sebagai tatap muka (interfacing) dari komputer dengan robot. Sedangkan untuk perencanaan sistem berdasarkan pada fungsi komunikasi data itu sendiri adalah dengan mengintegrasikan dan 46 . penggerak motor DC.1 PENDAHULUAN Pada pembuatan "Robot Pasukan Kuning" untuk proyek akhir ini secara umum terbagi menjadi dua bagian pokok. sistem minimum mikrokontroller AT89S51 serta downloadernya. dan bergerak sesuai dengan hasil yang diharapkan. 3. Pembuatan perangkat mekanik terdiri dari desain mengenai konstruksi robot itu sendiri berupa pembuatan kerangka robot yang menggunakan aluminium yaitu pembuatan tubuh robot. yaitu bagian perangkat keras elektrik (hardware) dan perangkat keras mekanik. Port 2 akan digunakan untuk mengontrol kerja dari penggerak motor DC. rapi. penyangga Motor DC. penyangga Roda serta lengan untuk mengambil sampah. program assembly. yaitu pembuatan perangkat keras dan perangkat lunak. Pembuatan perangkat lunak untuk pengolahan citra ini dirancang dengan menggunakan bahasa pemrograman Visual Basic. Sedangkan pembuatan perangkat keras elektronik terdiri dari pembuatan rangkaian power supply.

Data yang telah dimanipulasi komputer tersebut. Intruksi tersebut digunakan untuk menjalankan penggerak motor DC pada robot. Robot ini bergerak secara otomatis sesuai dengan informasi atau karakter yang diterima.menghubungkan antara komputer dengan mikrokontroller.3 DIAGRAM BLOK Gambar 3. kiri. hasilnya akan dikirim ke Mikrokontroller AT89S51 yang berupa karakter melalui komunikasi serial RS232 yang ditampilkan pada indikator Led pada port 0 dalam bentuk kode Ascii. Pada perencanaan dan pembuatan robot ini hanya sampai pada pembuatan dan perencanaan perangkat mekanik. belok kanan.1 Diagram Blok Dari gambar blok diagram dapat dijelaskan sebagai berikut: Informasi data yang berupa objek gambar yaitu sampah akan ditangkap kamera kemudian data informasi tersebut dikirim ke komputer melalui kabel USB (Universal Serial Bus). mundur. 47 . Karakter tersebut diinisialisasi sehingga menjadi sebuah instruksi untuk menggerakkan motor dc sesuai dengan data yang terkirim. perangkat elektrik dan program assemblynya saja. stop dan ambil sampah. Mikrokontroller menerima masukan berupa karakter melalui komunikasi data serial RS232. setelah komputer menerima hasil informasi tersebut maka data informasi tersebut akan dimanipulasi di komputer dengan menggunakan metode segmentasi warna menjadi suatu data yang diinginkan untuk proses selanjutnya. Karakrer yang diterima oleh mikrokontroller akan diinisialisasi untuk menjadi instruksi gerak pada robot. Instruksi yang diterima oleh mikrokontroller adalah gerak unuk maju. 3.

4 DIAGRAM ALIR START INISIALISASI No Ada Input Dari PC Yes Yes Karakter A Maju Yes No Karakter B Belok Kiri No Yes Karakter C Belok Kanan Yes Mundur Yes No Karakter D No No Karakter H END No Jarak=Referensi Yes Ambil Sampah Gambar 3.3.2 Diagram Alir 48 .

3. Waktu yang diberikan untuk mengambil sampah adalah 1detik. Apabila robot menemukan sampah maka robot akan berhenti dan mengambil sampah. PEMAKAIAN DAN PEMBUATAN PERANGKAT KERAS Perangkat keras elektronik yang digunakan sebagai interface adalah rangkaian-rangkaian berikut ini yaitu power supply. Setelah robot mengambil sampah maka mikrokontroller akan menunggu menerima karakter dari pc untuk kontrol gerak robot selanjutnya. Dalam tugas akhir ini supply yang dibutuhkan adalah 12V dan 5V yang mana masing-masing kedua nilai tersebut diberikan oleh dua buah trafo yaitu trafo 3A dan trafo 0. serta rangkaian IndikatorLed.5 A.1 Rangkaian Power Supply Gambar 3. apabila tidak ada sampah yang ditemukan maka robot akan terus bergerak maju sampai ada sampah yang ditemukan.Dari diagram alir tersebut.3 di atas merupakan rangkaian untuk Power Supply yang bertugas untuk menyediakan tegangan bagi semua piranti hardware/ rangkaian elektronika. pada saat inisialisasi hardware selesai maka robot langsung bergerak maju untuk mencari sampah yang ada didepannya.5. rangkaian penggerak motor DC. downloader dan sistem minimum AT89S51. 3.5 A.5 PERENCANAAN. Gambar 3. Adapun untuk rangkaian mikrokontroller diberikan supply sebesar 5 Volt tersendiri oleh trafo 0.3 Rangkaian Power Supply Rangkaian power supply yang digunakan untuk memberi supply tegangan mikrokontroler harus stabil dan mempunyai arus yang cukup untuk mensupplai mikrokontroller sehingga tidak terjadi drop tegangan saat mikrokontroler dioperasikan. hal ini dikarenakan mikrokontroller membutuhkan tegangan 5V yang cukup stabil didalam proses pembangkitan frekwensi clock karena ketidakstabilan dari 49 .

dibuat juga downloadernya untuk mempermudah pendownload-an program assemblynya. Untuk rangkaian yang lain seperti rangkaian driver motor dc.5. hal ini tergantung dari jenis relay yang digunakan dan besarnya tegangan relay yang digunakan. Pemberian tegangan 12 V yang diberikan oleh trafo 3A juga sangat mempengaruhi penggunaan dari jenis relay 3. Gambar 3.rangkaian ini akan menurunkan performa mikrokontroller dan rangkaian secara keseluruhan. yang mana imbasnya akan juga mengurangi performa dari robot. membutuhkan 12V.4 Rangkaian Downloader Mikrokontroller AT89S51 50 .2 Downloader dan Sistem Minimum Mikrokontroller AT89S51 Pada perencanaan pembuatan sistem minimum mikrokontroller AT89S51. disamping itu supply 5V ini juga dibutuhkan oleh rangkaian yang lain seperti rangkaian optocoupler yang mana rangkaian ini digunakan untuk menjaga supaya mikrokontroller tidak rusak akibat dari imbas dari rangkaian driver motor dan untu mendrive rangkaian driver motor dc. Dengan menggunakan ISP-Flash Programmer dapat dengan mudah dibuat sebuah downloader yang kompatibel dengan mikrokontroller tipe S (AT89S51/52/53).

Pada rangkaian di atas SPI port dihubungkan dengan port-port yang ada pada sistem minimum mikrokontroller AT89S51 yaitu port 1. Gambar 3. untuk interfacing dengan komputer menggunakan kabel dan port pararel DB25.2. Rangkaian reset yang digunakan pada proyek akhir ini adalah seperti gambar 3. dan pin ke 9 adalah RST. hal ini akan berakibat pada pengesetan komunikasi serial dengan menggunakan RS232 untuk memilih baudrate yang digunakan. Setelah kondisi pin RST kembali low.6 Rangkaian Reset pada Mikrokontroler AT89S51 10µF/16v 51 . Pada rangkaian sistem minimum mikrokontroller AT89S51 dipakai frekuensi osilator (Xtall) sebesar 11.5 Rangkaian Sistem Minimum Mikrokontroller AT89S51 3.1Rangkaian Reset Reset pada mikrokontroler AT89S51 terjadi bila ada logika “1” (high) selama dua siklus mesin pada kaki/pin RST.6 di bawah ini.Untuk rangkaian downloader dan sistem minimum mikrokontroller AT89S51 seperti pada gambar di atas.7 adalah SCK.0592 MHz. maka mikrokontroler akan menjalankan program mulai dari alamat 0000H. Vcc PB 10K reset Gambar 3.6 adalah MISO.5 adalah MOSI. port 1. port 1.5.

.2.059 MHz. dibuat rangkaian osilator internal yang berasal dari kristal 11. Sedangkan nilai kapasitor C1 dan C2 masing-masing 30pF.Pin ke 9 adalah RST. 52 . Gambar 3.3 Konfigurasi I/O Pada rangkaian sistem minimum mikrokontroller AT89S51 inilah yang akan mengontrol kinerja dari robot.2.Port 1.6 adalah MISO.7 Rangkaian Osilator Mikrokontroler AT89S51 3.5 adalah MOSI. Rangkaian I/O dari mikrokontroller mempunyai kontrol direksi yang tiap bitnya dapat dikonfigurasikan secara individual. Port-port itu antara lain : . Pada proyek akhir ini.3.7 adalah SCK. Berikut ini akan diberikan konfigurasi dari I/O mikrokontroller tiap bit yang ada pada masing-masing port yang terdapat pada mikrokontroller. Ø Port 0 Pada port 0 digunakan untuk menampilkan karakter huruf yang dikirim dari komputer dan ditampilkan berupa kode ASCII.2 Rangkaian Osilator Pin XTAL1 dan XTAL2 merupakan pin osilator bagi mikrokontroler AT89S51. . . Osilator bisa berasal dari kristal atau dari keramik resonator. maka dalam pengkonfigurasian I/O yang digunakan ada yang berupa operasi port ada pula yang dikonfigurasi tiap bit I/O. Ø Port 1 Pada port 1 dihubungkan dengan SPI port untuk downloader pada sistemnya langsung.Port 1.Port 1.5.5.

Indikator Led ini berfungsi sebagai indikasi adanya data yang ditampilkan.3 sebagai arah motor kiri. Pada port 0 berfungsi untuk menampilkan karakter berupa kode ASCII sedangkan pada port 2 berfungsi untuk menampilkan port yang aktif saat mengontrol penggerak motor penggerak.8 ini anoda led dihubungkan dengan resistor 330 sebagai resistor pull up dan baru dihubungkan dengan Vcc.Port 2.6 sebagai motor lengan. .Ø Port 2 Pada port 2 digunakan sebagai port kontrol untuk penggerak motor DC baik motor penggerak kanan dan kiri ataupun motor pada lengan.0 sebagai pwm motor kanan.3 Perencanaan Perangkat Keras Komunikasi Data Untuk mengaktifkan seluruh kerja sistem sesuai dengan fungsinya perlu dibuat perangkat keras dan perangkat lunak.Port 2.0 sebagai RXD .Port 3.Port 2.1 sebagai TXD Pada rangkaian indikator led seperti pada gambar 3. hal ini berarti rangkaian aktif low.Port 3.1sebagai arah motor kanan.Port 2. Perangkat lunak disini yaitu untuk mengatur jalannya data yang dikirim oleh komputer ke mikrokontroller agar data yang terkirim diterima dengan sempurna oleh mikrokontroller.8 Rangkaian Indikator Led 3. Ø Port 3 . yang berasal dari masukkan (input). . Gambar 3. . Ada dua perangkat lunak pada komunikasi data yaitu perangkat lunak untuk komunikasi data pada 53 .Port 2.5. . . kemudian katoda led dihubungkan dengan port pada mikrokontroller.2 sebagai pwm motor kiri. Rangkaian menggunakan 8 led dan menggunakan komponen 8 buah Resistor 330 .

. Rangkaian pengubah tegangan IC MAX232 ditunjukkan pada gambar 3.. tegangannya 2.komputer dan perangkat lunak untuk komunikasi data pada mikrokontroller..0592 MHz... dengan frekuensi osilator 11.... Hal ini sesuai dengan formula sebagai berikut: 12X(256-TH1) = 1 fosc 9600 X 32 .. (3..9 Rangkaian komunikasi serial RS232 Dalam perancangan ini untuk mengubah level tegangan tersebut digunakan IC MAX232 dengan 4 buah kapasitor sebesar 22µF...... Baud Rate yang digunakan adalah 9600Bps. TH1 adalah 253 atau 0FDH...4 volt sampai 5 volt Gambar 3...1) 54 . Pada level TTL yang didefinisikan untuk kondisi ”0” volt dan untuk kondisi ”1”... Rangkaian ini berfungsi untuk mengubah level keluaran tegangan yang keluar dari komputer yaitu level RS232 menjadi level tegangan TTL. Dengan perangkat tersebut diharapkan dapat digunakan untuk mengirimkan data/karakter dari komputer ke mikrokontroller dengan sempurna.9.... Dimana tegangan pada level RS232 menjadi level logika ”1” didefinisikan -3 volt sampai -15 dan logika ”0” didefinisikan +3 volt sampai +15 volt.... dengan tegangan catunya sebesar 5 volt....

ID = 15A RG = 4. mempunyai arus yang besar.7 VGS Switching Off Turn-off Voltage Rise Time VDD = 80V ID RG = 4.1 Karakter. karena IRF540 ini mempunyai spesifikasi sebagai berikut: High current. High speed switching Low gate charge Solenoide and relay penggeraks Switching On Turn-On Time Rise Time VDD = 50V .4 Rangkaian Penggerak Motor DC Pada perencanaan pembuatan penggerak motor DC ini dipilih beberapa komponen yang mempunyai tegangan yang besar agar motor dapat bergerak secara maksimal sesuai dengan spesifikasi motor yaitu 12V.7 VGS = 10V - = 30A = 10V Dari spesifikasi di atas maka dipakailah IRF540 karena mempunyai tegangan dan arus yang besar.Untuk perencanaan pembuatan karakter yang dikirimkan dari komputer ke mikrokontroller untuk komunikasinya adalah sebagai berikut : Tabel 3. mempunyai kecepatan switching yang tinggi. Disamping itu digunakan 55 .5. Pemilihan relay untuk pembalik polaritas motor diguanakan. Kemudian dipilih IRF540 untuk penggerak pada kontak relay untuk mengatur tegangan yang masuk. dan Instruksi Robot Karakter Instruksi Robot A Maju D Mundur C Kanan B Kiri G Stop/ambil H End 3. karena relay merupakan saklar mekanik dan tidak dipengaruhi oleh Vce atau Ib seperti pada transistor. Maka dari itu dibuatlah penggerak motor dengan komponen yang dapat tahan dengan tegangan pada Vcc yaitu 24V dan arus 5A.

VECO : 7V . 56 . mundur.VCBO : 80V . Rangkaian tersebut membutuhkan hardware tambahan berupa IC 74138 (decoder) karena tanpa menggunakan decoder untuk menpenggerak motor bolakbalik dan mengatur kecepatannya rangkaian tersebut akan short circuit.IC : 1. Pada rangkaian ini juga menggunakan mosfet IRF 540 sebagai komponen yang dapat digunakan untuk mengontrol kecepatan motor dari PWM (Pulse Width Modulation). seperti pada rangkaian penggerak dengan transistor yang disusun H.Tegangan Reverse : 5V . Dimana rangkaian penggerak ini dapat membalik polaritas dari motor. dan ke kiri diperlukan transistor yang dapat tahan terhadap tegangan 24V. dengan begitu motor dapat berputar searah dan berlawanan arah.TLP 621 berupa optocoupler sebagai pentriger dari port mikrokontroller yang mempunyai spesifikasi sebagai berikut: .VEBO : 5V .10 di bawah ini: Pada rangkaian penggerak motor ini digunakan opto TLP621. ke kanan.Arus forward : 60 mA . mosfet IRF 540 dan relay.5A .IB : 0. maka dipilih transistor BD139 yang terhubung dengan kumparan relay. dengan spesifikasi sebagai berikut: .VCEO : 80V . Rangkaian ini mudah digunakan karena tidak ada tambahan lain. Tegangan yang digunakan adalah 12V/5A.VCEO : 55V .5A Dari beberapa spesifikasi komponen yang didapat maka dibuat desain rangkaian seperti pada gambar 3. transistor BD139.IC : 50mA Untuk membalik polaritas motor pada relay agar dapat bergerak maju.

10 maka akan mengaktifkan salah satu optocoupler. 57 .10 Rangkaian Penggerak Motor DC 2 arah Saat mikrokontroler memberikan logika ‘0’ pada salah satu pin switching pada driver gambar 3. Pulsa dengan Duty cycle dari mikrokontroller dapat diberikan ke mosfet sebagai pengaturan arus yang akan mengalir menuju ke motor. Perlu diketahui karena arus yang melewati suatu piranti elektronika yang terdapat kumparan maka tidak lepas dari arus balik oleh karena itu transistor diberikan pengaman dioda untuk menghindari arus balik tersebut. optocoupler digunakan untuk menswitch basis dari transistor BD 139 sehingga dapat mengaktifkan kumparan relay. Sedangkan pada bagian phototransistornya diberikan tegangan dan arus yang lebih besar untuk mengaktifkan transistor dan mosfet. Dengan demikian kecepatan motor dapat diubah ubah berdasarkan duty cycle yang dapat diatur dari PWM mikrokontroller.Gambar 3. Sedangkan pada rangkaian kedua. Kontak-kontak relay tersebut dihubungkan ke motor secara cross supaya dapat membalik polaritas motor. Dengan demikian rangkaian driver menggunakan relay ini dapat digunakan untuk pengaturan arus sekaligus pembalikan arah putaran motor.

Pada perencanaan pembuatan mekanik baik rangka dari robot dipilih bahan yang mudah untuk dibentuk dan mempunyai berat yang ringan. sedangkan untuk spiner dipilih motor dengan bentuk yang kecil tetapi mempunyai putaran (rpm) yang besar. agar robot tidak terlalu berat sehingga dapat bergerak dengan cepat PERANCANGAN DISAIN ROBOT webcam body Roda bebas Roda tetap motor sekop Lengan gerak Gambar 3. maupun dalam pemilihan motor untuk penggerak robot dan spinner juga diperlukan motor dengan putaran (rpm) dan tegangan yang sesuai agar robot dapat bergerak dengan baik.6 PERENCANAAN DAN PEMBUATAN MEKANIK. Pada motor untuk penggerak robot dipilih motor yang mempunyai geerbox agar mempunyai torsi yang besar.3.11 Disain Robot 58 .

2. Arena robot lebarnya 3x dari dimensi robot dimana warna lantai adalah putih. Robot akan bergerak mundur yaitu motor DC bagian roda kiri dan bagian roda kanan bergerak arah mundur secara bersamaan dengan kecepatan yang sama. 3. Robot akan bergerak ke kiri yaitu motor DC bagian roda kanan bergerak ke arah maju dan motor DC bagian roda kiri ke arah maju juga dengan kecepatan yang lebih kecil. 59 .12 Ilustrasi gerak robot Robot mencari sampah menggunakan webcam sebagai sensornya untuk menagkap obyek yang dideteksi sebagai sampah.MAJU Gambar 3. Sampah dapat diambil oleh robot pada jarak 10 . Input dari webcam berupa citra akan ditampilkan di layar PC. kemudian PC memberikan informasi atau instruksi berupa karakter tertentu ke mikrokontroler melalui komunikasi serial. Karakter yang diterima oleh mikrokontroler kemudian diterjemahkan sebagai kontrol gerak dari robot. Robot bergerak mendekati obyek atau sampah sampai dengan beberapa centimeter robot berhenti kemudian memasukkan sampah ke dalam sekop dengan mengerakkan lengan robot yang dilengkapi dengan sapu. Citra yang ditangkap oleh webcam kemudian diolah dan diproses didalam PC.15 cm Robot Pasukan Kuning ini dapat melakukan aksi berupa: 1. Robot akan bergerak maju yaitu motor DC bagian roda kiri dan bagian roda kanan bergerak arah maju secara bersamaan dengan kecepatan yang sama.

Robot akan bergerak ke kanan yaitu motor DC bagian roda kiri bergerak ke arah maju dan motor DC bagian roda kanan bergerak ke arah maju dengan kecepatan yang lebih kecil.4. 5. Robot akan berhenti (stop) yaitu ke dua motor DC bagian kiri dan bagian kanan tidak bergerak/berhenti. Robot akan mengambil sampah yaitu motor depan akan menarik tuas dari lengan robot sehingga lengan akan bergerak berlawanan arah 60 .

Halaman Ini sengaja Dikosongkan 61 .

Mengetik program pengujian pada text editor. Pengujian yang dilakukan pada bab ini antara lain : 1. Pengujian Komunikasi Data Serial 4. Rangkaian PC Downloader AT89S51 Indikator Led Modul AT89S51 Power supply 5 V Gambar 4. c. kemudian dilakukan pengujian pada sistem yang telah terintegrasi. Pengujian ini dilaksanakan untuk mengetahui kehandalan dari suatu sistem yang dibuat. 4.1 di atas b. maka diadakan pengujian pada jalur port – port yang dimiliki oleh mikrokontroller AT89S51 dan seluruh rangkaian downloadernya. Pengujian pertama-tama dilakukan secara terpisah. 2.1 PENGUJIAN DOWNLOADER DAN SISTEM MINIMUM MIKROKONTROLLER AT89S51 Tujuan • Untuk mengetahui downloader dan sistem minimum dari mikrokontroller AT89S51 dapat berfungsi dengan baik.1 Diagram Blok dari Rangkaian Pengujian Sistem minimum dan downlaoder AT89S51 Persiapan a. Pengujian Rangkaian Penggerak Motor DC 3. 62 . Pengujian Sistem Keseluruhan. Pengujian Downloader dan Sistem Minimum Mikrokontroller AT89S51.BAB IV PENGUJIAN DAN ANALISA Dalam Bab ini akan dibahas tentang pengujian berdasarkan perencanaan dari sistem yang dibuat. Pengujian ini dilaksanakan untuk mengetahui apakah sudah sesuai dengan perencanaan atau belum. Meng-compile program dengan menggunakan perangkat Umps sampai didapatkan file berekstensi HEX. Memasang rangkaian seperti yang ditunjukkan pada Gambar 4.

hex. jika sudah selesai dan tidak ada pesan error maka downloader siap digunakan. Programnya dapat diikuti seperti di bawah ini.3 Org nop 0h 63 . caranya hubungkan langsung antara komputer dan mikrokontroller melalui kabel yang terhubung dengan port pararel dan lakukan download program. selanjutnya klik Write sampai ada indikator di bawah form “Programming and Verifying Ok”. Gambar 4. lalu amati hasilnya pada modul percobaan.2 ISP – Flash Programmer Pada Gambar 4. Caranya klik command Open File. dipanggil oleh program ISP-Flash Programmer untuk didownload kemikrokontroller yang sudah terpasang pada sistem minimum. seperti pada gambar 4. Sehingga akan didapat hasil berupa tampilan led pada port 0.Sebelum didownload maka hubungkan konektor DB25 pada port paralel dan tekan ”Verify” pada program ISP-Flash Programmer. dimana modul yang dikontrol berupa 8 buah LED dihubungkan dengan port 0 dari mikrokontroller.2 merupakan downloader ISP-Flash Programmer yang dapat dengan mudah digunakan untuk mendownload file yang sudah berekstensi . Untuk running program. Untuk listing program pengujian sistem minimum dari mikrokontroller dapat dilihat di bawah ini. Setelah program diCompile dan tidak ada error atau kesalahan maka file yang sudah berekstensi Hex.

#0FFh Delay2: Djnz R1.#0FFh Delay1: Mov R1. dan dapat diprogram untuk aplikasi robot selanjutnya. dapat diketahui bahwa program tersebut bertujuan untuk menyalakan LED dengan rotasi ke arah kiri dan kanan. Selama proses looping maka led akan menyala secara bergantian terus menerus sampai power dioffkan atau mikrokontroler diisi program baru.A RR A Call Delay DJNZ R2.ULANG2 Jmp Mulai Delay: Mov R0.Delay1 Ret End Hasil dan Analisa : Bit 7 6 5 4 3 2 1 0 Gambar 4. Rotasi LED ini bergerak dari LSB ke MSB dan dari MSB ke LSB. 64 . Dari hasil tersebut dapat diketahui bahwa downloader dan sistem minimum mikrokontroller AT89S51 dapat berfungsi dengan baik.Delay2 Djnz R0.A RL A Call Delay DJNZ R2.#7 Ulang2: Mov P0.#7 Mov A.#11111110B Ulang1: Mov P0. maka pada LED menghasilkan pergeseran bit – bit ke arah kiri terlebih dahulu kemudian ke kanan demikian seterusnya (looping).Mulai: Mov R2.ULANG1 MOV R2. Dan setelah dilakukan pengujian pada sistem mikrokontroller 89S51 tersebut.3 Tampilan Led pada Port 0 Berdasarkan program di atas.

1 Hasil Pengujian Driver Motor Trigger Kumparan Motor Respon + Trigger Arus Kumparan Arus Port 2. Tujuan § Untuk mengetahui apakah rangkaian penggerak motor DC dapat berjalan dengan baik. b. § Untuk mengetahui torsi dan kecepatan motor DC pada mekanik yang telah dibuat. Tabel 4. Pengujian ini dilakukan untuk mengetahui apakah rangkaian bekerja dengan baik. Meng-compile program dengan menggunakan perangkat Umps sampai didapatkan file berekstensi HEX. c.1 Port 2.2 PENGUJIAN RANGKAIAN PENGGERAK MOTOR DC Untuk pengujian penggerak motor dc harus diperhatikan tegangan dan arus yang masuk melalui transistor. § Untuk mengetahui arah pergerakan robot agar sesuai yang diharapkan dan apakah robot dapat bergerak stabil Rangkaian PC Power supply 12 V Modul AT89S51 Driver motor DC Power supply 5 V Gambar 4.3.0 1 0 Putarsearah(CW) 0 0 Putar berlawanan arah (CCW) 1 1 Diam(relay tidak aktif) 0 1 Diam(relay aktif) Motor Motor Kanan Motor Kanan Motor Kanan Motor Kanan 65 . Mengetik program pengujian pada text editor. Memasang rangkaian seperti Gambar 4. karena hal ini sangat berpengaruh pada kinerja dari rangkaian tersebut.4 Diagram Blok dari Rangkaian Pengujian Gerak Motor DC Persiapan a. Menjalankan program .4. d.untuk pengujiaan ini hubungkan suplai tegangan pada konektor pada rangkaian driver .

2 1 0 0 0 1 0 1 1 Respon Putarsearah(CW) Putar berlawanan arah (CCW) Diam(relay tidak aktif) Diam(relay aktif) Hasil: Tabel 4.1 berlogika 0. Pengujian rangkaian penggerak motor dc telah berhasil dilakukan karena rangkaian tersebut dapat menggerakkan roda /ban searah atau berlawanan jarum jam.3 Port 2.Motor Motor Kiri Motor Kiri Motor Kiri Motor Kiri Trigger Kumparan Motor + Trigger Arus Kumparan Arus Port 2. Sedangkan jika port 2. Pin-pin input dari rangkaian driver ini aktif low. Port 2. Dan ketika kedua input port berlogika 1. relai tidak aktif sehingga arah aliran arus berbalik. Sedangkan port 2.1 terhubung pada triger transistor yang akan mengaktifkan relay. Hal ini karena aliran arus ke motor terputus.0 berlogika 1 dan port 2. baik motor maupun relai keduanya diam. motor tidak berputar walaupun relai aktif. arus mengalir melalui mosfet ke motor dan relai juga aktif sehingga motor berputar dengan arah putar CCW. Hal ini memang keadaan kedua 66 .1 diberi logika 1. Rangkaian driver dan gear yang terpasang pada kedua motor juga sama tapi didapatkan kecepatan yang berbeda meskipun jenis motornya sama.2 Kecepatan Motor Motor Kiri Kanan Kecepatan (rpm) 195 186 Analisa: Dalam pengujian driver motor ini digunakan metode dengan memberikan trigger pada tiap-tiap pin trigger driver dan letak dari kontaktor dari relay itu sendiri. Ketika port 2. Ketika kedua port mendapat logika 0.0 terhubung pada triger mosfet yang akan menghantarkan arus ke motor. Dengan pengujian ini dapat diketahui pergerakan dari tiap-tiap motor. Hal in menyebabkan motor berputar pada arah yang sebaliknya.

67 . belok kanan dan kiri diperlukan pengesetan PWM untuk mengatur kecepatan dari motor supaya putaran motor mendekati sama sehingga robot dapat berjalan dengan stabil.3 0 70. Dengan demikian kecepatan motor dapat diubah ubah berdasarkan duty cycle yang dapat diatur dari PWM mikrokontroller.motor dari awal kondisinya memang tidak sama(motor bekas).3 Variabel PWM untuk mengatur kecepatan motor Perintah PWM kanan PWM kiri Maju Mundur Kanan Kiri Stop 3FH 3FH 0FH 3FH 00H 33H 33H 33H 0BH 00H Tabel 4. yaitu motor kiri dan kanan. Dari pengesetan Nilai konstanta PWM didapatkan kecepatan motor seperti pada tabel 4. dimana robot dapat bergerak maju. mundur.9 70.3 0 0 Motor Lengan(rpm) 188 A D C B G Maju Mundur Kanan Kiri Stop(ambil) Dari hasil pengujian rangkaian driver dapat bergerak searah dan berlawanan arah. Untuk itu diperlukan pengaturan PWM supaya kecepatan kedua motor mendekati sama dan supaya robot dapat bergerak stabil Tabel 4.3 70.1 0 Motor Kiri (rpm) 70.1 70. Pulsa dengan Duty cycle dari mikrokontroller dapat diberikan ke mosfet sebagai pengaturan arus yang akan mengalir menuju ke motor.4 Putaran motor dalam rpm (pengaturan PWM) Karakter Aksi Robot Motor Kanan (rpm) 70. Pada robot ini menggunakan 2 buah motor penggerak.4. Pengaturan kecepatan motor dengan PWM ini adalah mengatur waktu on dan off arus/tegangan yang melalui mosfet dalam suatu periode tertentu.

c.Data bits = 8 . Mengetik program pengujian pada text editor.3 PENGUJIAN KOMUNIKASI DATA SERIAL Pada pengujian komunikasi serial. § Untuk mengetahui kode Ascii dari karakter yang ditekan dari keyboard yang ditampilkan dalam indikator led. Meng-compile program dengan menggunakan perangkat Umps sampai didapatkan file berekstensi HEX.Parity = None 68 . Rangkaian tersebut menggunakan IC MAX232 sebagai perangkat pengubah level tegangan TTL dari IC ke level tegangan komputer. d.BPS 9600 ===è menyesuaikan Inisialisasi Serial pada mikrokontroller . b. Rangkaian PC Modul AT89S51 Power supply 5 V Komunikasi dengan RS232 Gambar 4. Menjalankan program simulasi. begitu juga sebaliknya dan sebagai jalur data ke komputer Tujuan § Untuk mengetahui apakah komunikasi serial antara PC dengan mikrokontroler dapat berjalan sesuai dengan yang diharapkan.4. Setting komunikasi hyperterminal . PC terhubung dengan modul mikrokontroler AT89S51 dengan fasilitas RS232 pada COM1. e.3 untuk komunikasi serial. Buka program Hyperterminal Untuk menguji komunikasi serial pada mikrokontroller ini dapat menggunakan hyperterminal dengan mengeset pada komputer : 1. § Untuk menguji kesamaan data antara yang dikirim dan diterima antara PC dengan mikrokontroler. Memasang rangkaian seperti yang ditunjukkan pada Gambar 4.5 Diagram Blok dari Rangkaian Pengujian Komunikasi Serial Persiapan a. sedangkan input berasal dari penekanan tombol keyboard pada PC.

#20h TH1. dan hyperterminal akan menerima balik dan menuliskan pada form. .Stop bits = 1 . Gambar 4.#0FDH mulai: 69 . maka karakter akan langsung dikirim melalui COM1 (port COM disesuaikan).6 Port Settings Hyperterminal PROGRAM PENGUJIAN KOMUNIKASI SERIAL org org x: 0h jmp 23h push jnb mov cpl mov clr pop reti setb mov mov mulai ACC ri.x A. .Saat karakter diketik dari keyboard.Kemudian mikrokontroller akan mengirim balik karakter tersebut. .2.Flow control = None Form untuk komunikasi data.sbuf A P0.A ri ACC EA TMOD.

===================================== .#Pesan .h c: djnz R6.setb TR1 mov SCON.Ld1 ret .A .Routine delay -Ldelay: mov R2. y: jnb ti.===================================== tulis: mov DPTR. kirim lewat serial comm.#0.next_1 jmp tulis .#50 Ld1: h: djnz R6. mengirimkan data lewat serial port .DATA AREA Pesan: DB 0dh. ambil data clr ES mov sbuf.c djnz R2.y clr ti setb ES Inc DPTR cjne A. alamat text pesan next_1: call Ldelay clr A movc A.0Ah DB 'VIVA AT EEPIS-ITS 2006' DB ' ROBOT PASUKAN KUNING ' DB 0dh.@A+DPTR .#50h .0Ah DB ' ******** proyek akhir 2006 ********* DB 0 end ' 70 .-.

Analisa : Pengujian komunikasi serial telah berhasil dilakukan dan mendapatkan hasil yang sesuai dengan data yang diharapkan. Pada alamat tersebut di port 0 led akan menyala sesuai dengan karakter yang ditekan pada keyboard (bilangan ASCII).7 dan dengan fasilitas interupsi serial mikrokontroler akan menerima data/karakter yang dikirimkan oleh komputer dalam bentuk kode kode ASCII yang ditampilkan ke rangkaian indikator led di port nol ( P0 ) melalui penekanan keyboard. Pemilihan baudrate komunikasi serial diatur berdasarkan koefisien timer.Hasil: Gambar 4.7 Hasil dari pengujian komunikasi serial Pada program serial di atas mikrokontroler akan mengirim pesan ke komputer seperti gambar 4. data-data tersebut disimpan sementara pada ram internal kemudian dikirimkan lagi ke register sbuf sebagai data 8 bit sementara yang ditampilkan ke Console Hyper Terminal. misalnya karakter A akan tampil dengan bilangan ASCII 41H. Setting komunikasi serial dipakai pada Timer 1. Untuk menampilkan data yang berupa beberapa karakter. 71 . Tampilan hyperterminal muncul tulisan ”VIVA AT EEPIS-ITS 2006 ROBOT PASUKAN KUNING proyek akhir 2006” secara terus menerus untuk pengiriman data dari mikrokontroler ke komputer dan untuk penerimaan data dari komputer ke mikrokontroler hanya tinggal menekan tombol pada keyboard maka akan terjadi interupsi serial dan program loncat ke alamat 23h.

perangkat lunak (software) dan Pengolahan citra (Software) di komputer dengan menggunakan komunikasi serial. sistem mekanik. Instruksi Robot.Tabel 4. 72 .4 PENGUJIAN SISTEM KESELURUHAN Pengujian keseluruhan disini merupakan pengujian yag dilakukan dengan menggabungkan seluruh sistem rangkaian (hardware).5 Karakter. Memasang rangkaian seperti yang ditunjukkan pada Gambar 4.8 Diagram Blok dari Rangkaian Pengujian Sistem Secara Keseluruhan Persiapan a. Tujuan • Untuk mengetahui kinerja sistem secara keseluruhan • Untuk mengetahui tingkat keberhasilan robot dalam mengambil sampah Rangkaian Webcam PC Motor kiri serial RS232 Modul AT89S51 Driver Lengan Motor kanan Gambar 4. Meng-compile program dengan menggunakan perangkat Umps sampai didapatkan file berekstensi HEX. dan kode ASCII Karakter A C B D G H Instruksi Robot MAJU KANAN KIRI MUNDUR STOP(AMBIL) End Kode Ascii dalam Heksa 41 43 42 44 47 48 4.7 b.

v V V V - Ki M T v . Misal : Ketika robot mendapat perintah maju maka robot akan terus bergerak maju dan ketika robot mendapat perintah untuk ke kanan maka robot akan berbelok ke kanan. robot dapat bergerak sesuai dengan perintah dari data input yang diolah oleh komputer yang ditangkap oleh kamera.v V V V V .v .v .v . Hasil dari pengambilan data dari objek akan diterima robot kemudian robot akan bergerak sesuai dengan perintah dari data input..M v v v v v - Ka T - 1 2 3 4 5 6 7 8 9 10 Depan V V V V V V V V V V Kiri V V V V - Kanan V V V V V - 73 . robot akan terus bergerak ke arah yang diinstruksikan sampai robot mendapat data input yang baru jika tidak mendapat data input baru maka robot akan terus bergerak sesuai dengan perintah pada saat itu. dan ambil sampah Hasil: Tabel 4. Pada perangkat lunak untuk komputer memerlukan kalibrasi. berupa gerakan maju. belok kiri. belok kanan..c. ini dilakukan agar robot dapat mengenali objek yang berada di ruangan itu. maka robot dapat dirunning test. Dari hasil pengujian yang dilakukan beberapa kali.6 Pengujian sistem keseluruhan (a) Letak Sampah Percobaan D M T . Setelah semua dikalibrasi. d. Namun jika tidak mendapat perintah robot akan terus bergerak maju.v .

Tabel 4..v .M v v v - Ka T - 1 2 3 4 5 6 7 8 9 10 Depan V V V V V V - Kiri V V V - Kanan V V V - Keterangan: V: sampah berhasil diambil M:sampah masih berada dalam sekop T: sampah sudah dapat ditampung % Akurasi = jumlah (Vatau M) / Jumlah Percobaan X 100% Rata-rata = % Akurasi / n Keberhasilan robot untuk menampung sampah yang berada di depan robot adalah sebesar 30% dan untuk sampah yang berada di dalam sekop sebesar 70% Keberhasilan robot untuk menampung sampah yang berada di kanan robot adalah sebesar 0% dan untuk sampah yang berada di dalam sekop sebesar 50% Keberhasilan robot untuk menampung sampah yang berada di kiri robot adalah sebesar 0% dan untuk sampah yang berada di dalam sekop sebesar 40% Dari keseluruhan pengujian sistem secara menyeluruh maka robot dapat mengambil sampah dan menampungnya dengan keberhasilan sebesar 10% dan sampah yang masih di dalam sekop adalah sebesar 53.7 Pengujian sistem keseluruhan Letak Sampah Percobaan D M T .v .v ..3% Dari hasil pengujian sistem terintegrasi..- Ki M T .v . dapat dilihat bahwa lengan robot dapat berhasil mengambil sampah dengan baik untuk posisi sampah ada di depan robot.v .v .v v . Hal ini karena pada posisi awalnya lengan 74 .v .

Setelah robot dapat mengambil sampah maka posisi dari lengan robot akan berhenti secara acak. Apabila lengan robot menyentuh limit switch pada saat lengan robot berhenti maka secara otomatis lengan tersebut akan bergerak membuka lagi ke atas. Lengan robot berada pada posisi acak setelah robot mengambil sampah yang berada didepannya. Waktu yang diperlukan robot untuk mengambil sampah selama 1 detik. kemudian robot mendapat instruksi untuk belok kanan atau kiri untuk mencari obyek dengan kondisi lengan robot masih berada pada posisi acak menyulitkan robot untuk mencari sampah karena pada kondisi acak lengan robot bisa berada pada posisi apa saja. Peletakan webcam membuat jangkauan pandang webcam menjadi sempit sehingga sulit untuk memenpatkan posisi robot supaya sampah berada tepat dalam pandangan / frame dari wecam. sedangkan untuk bisa menemukan sampah maka posisi sampah harus berada di dalam jangkauan pandangan webcam atau harus berada di dalam frame yang telah ditentukan sebelumnya.robot masih terbuka ke atas sehingga mudah bagi robot untuk mengambil sampah karena pada saat lengan robot terbuka ke atas maka pandangan webcam tidak akan terhalang oleh lengan robot. 75 . Lengan robot berhenti secara acak karena tidak ada umpan balik dari segi software (image) untuk kirim karakter ke mikro pada saat pandangan webcam tertutup oleh lengan robot supaya menginstruksikan mikro supaya membuka lengan robot ke atas atau tidak ada rangkaian limit switch pada robot .

mikro dapat mengendalikan gerak lengan robot supaya membuka ke atas Peletakan webcam menyebabkan jangkauan pandang dari webcam menjadi sempit sehingga untuk dapat menemukan sampah maka sampah harus berada didalam frame yang telah ditentukan 2.2 SARAN Pada perencanaan. ada beberapa hal yang dapat disimpulkan yang antara lain adalah : 1. 76 . Setelah melakukan perencanaan. pembuatan dan pengujian sistem ” Robot pasukan Kuning”. 4. Setelah robot dapat mengambil sampah yang berada di depannya maka kondisi lengan robot dalam kondisi acak Diperlukan rangkaian tambahan berupa limit switch atau pengiriman karakter dari pc (image) ke mikro untuk umpan balik agar pada saat lengan robot menghalangi pandangan webcam.BAB V PENUTUP Pada bab ini akan dibahas mengenai hasil dan kelemahan dari alat yang telah dibuat.1 KESIMPULAN Setelah melalui tahap perencanaan. pembuatan dan implementasi sistem ”Robot Pasukan Kuning”. 3. 5. hal ini karena lengan robot dalam kondisi membuka ke atas sehingga pandangan webcam tak terhalang oleh lengan robot. pembuatan dan pengujian sistem ”Robot pasukan Kuning”. Saran untuk pengembangan lebih lanjut pada sistem robot ini adalah : 1. Pembuatan mekanik yang lebih menarik dan bersifat entertainment sehingga benar-benar dapat digunakan untuk hiburan. Pada saat kondisi awal robot dapat mengambil sampah dengan baik. kemudian dilakukan pengujian dan analisa maka dapat diambil kesimpulan dan saran-saran sebagai berikut : 5. masih terdapat beberapa kelemahan. sehingga perlu diperbaiki untuk penyempurnaan.

2. misalnya menggunakan frekuensi (wireless) sehingga robot dapat bergerak bebas. Perbaikan sistem komunikasi data antara komputer dengan robot. 77 .

www. . www.. “datasheet AT89S51”... Verdy Ardianto.. Sharp.. www. Proyek Akhir 2005 EEPIS-ITS. Yogyakarta 2002.. Proyek Akhir 2004 EEPIS-ITS.alldatasheet. 6.com 9.. . “datasheet TLP621”... Belajar Mikrokontroler AT89C51/52/55 Teori Dan Aplikasi. FairChild Semiconductor. 4.. 5.com 7... 3.. Atmel. Teknik Antarmuka dan Pemrograman Mikrokontroller AT89C51... 2.. Perancangan dan Implementasi Robot Banteng Yang Mengikuti Warna Merah Sebagai Acuan Pergerakannya... SGS-Thompson Microelectronic...alldatasheet. Agfianto Putra E. Innovative Electronics.com 78 .... HandBook 89C51 Development Tools DT-51 version 3.“datasheet IRF540”.. Innovative Electronics.DAFTAR PUSTAKA 1.. Robot Penyerang dalam permainan sepak bola(hardware dan mekanik). Mussa Bahtiar Rifa’I Al-Muhammadiy.com 8....... www. ... ..... Gava Media.“datasheet BD139”. Jakarta.alldatasheet.alldatasheet. Paulus Andi Nalwan.... Elex Media Komputindo Kelompok Gramedia. 2003.

Halaman ini sengaja dikosongkan LAMPIRAN I 79 .

DATA SHEET AT89S51 80 .

81 .

82 .

83 .

84 .

85 .

86 .

87 .

88 .

89 .

90 .

91 .

92 .

93 .

94

95

96

97 .

98 .

99 .

A ES wait: .0 SETB p0.PWM_Ret CLR p0. MULAI: LCALL InitSerial LCALL PWM_INIT 100 .0 CheckV2:cjne A.CheckV2 CLR p0.LAMPIRAN II Program Assembly pada Mikrokontroller : MKI EQU MKA EQU STATUS LENG EQU ORG LJMP 32H 31H EQU 34H 0000H MULAI 33H ORG 0BH PWM_Service: djnz R7.MKI.MKA.R7 cjne A.CheckV SETB p0.2 PWM_Ret: xch A.2 DEC R7 CheckV:xch A.wait RI A.SBUF P0.R7 reti ORG CLR JNB CLR MOV MOV SETB reti 23H ES RI.

3 SETB P0.KANAN .START: CJNE A.nxt1 CALL MAJU nxt1: CJNE A.#0C0H MOV TH0.#0 SETB p0.#00H .#22H MOV IE.#0C0H .nxt3 CALL KANAN nxt3: CJNE A.#20H CALL DELAY CALL DELAY .#00H MOV MKI.MOV MKA.#'F'.#00H CALL DELAY CALL DELAY SETB p0.nxt2 CALL MUNDUR nxt2: CJNE A.3 MOV MKA. MOV TH1.#0C0H SETB TR0 SETB TR1 MOV STATUS.#00H MOV MKA.7 SETB ES MOV LENG.START CALL AMBIL JMP START .#'L'.#82H .#0C0H .nxt4 CALL KIRI nxt4: CJNE A.#00H MOV TL0. PWM_INIT: SETB EA MOV TMOD.#20H MOV MKI.KIRI 101 .#'R'.MUNDUR .MOV MKI.#'B'.1 SETB p0.#'G'.1 SETB p0.MAJU .MOV TL1.

#20H DELAY DELAY ES InitSerial: MOV SCON.3 MKA.#0DBH MKI.1 p0.#0FFH TI SBUF.3 MKA.1 p0.#0DCH MKI.3 MKA.A TI.WAIT1 p0.#0FFH p0.#0FDH SETB TR1 SETB TR0 SETB ES MOV 87H.#20H MKI.3 102 .#00H RET KIRIM: CLR MOV WAIT1: JNB RET MAJU: SETB SETB MOV MOV RET MUNDUR: CLR CLR MOV MOV RET KANAN: SETB SETB p0.#50H MOV TH1.SETB SETB MOV MOV CALL CALL SETB RET p0.1 p0.1 p0.

R6 cjne A.LENG.6 DEC R6 CheckV1:xch A.MOV MOV RET KIRI: SETB SETB MOV MOV RET MKA.7 MOV LENG.#09FH MKI.6 CheckV21:xch A.#07fh Delay2: MOV R2.Delay1 Ret End 103 .CheckV1 SETB p0.1 p0.Delay2 DJNZ R0.#01FH AMBIL: MOV MKA.#00H SETB P0.#0fh Delay1: Mov R1.#02FH MKI.R6 RET Delay: Mov R0.Delay3 Djnz R1.3 MKA.#00H Delay3: Djnz R2.#33H djnz R6.#00H MOV MKI.#05FH p0.CheckV21 CLR p0.

LAMPIRAN III GAMBAR ROBOT PASUKAN KUNING Gambar robot tampak samping Gambar robot tampak atas 104 .

14 Agustus 1983 Alamat : JL. PLOSO 7 NO.18 Telp : 5051293 Nama Bapak : PINGI Nama Ibu : PASEH EMAIL :mb_arplos@telkom. Institut Teknologi Sepuluh Nopember (ITS).net HOBBY :jalan jalan/nai naik ke tempat tinggi Riwayat Pendidikan 1990-1996 1996-1999 2000-2003 2003-2006 SDN PLOSO II SURABAYA SLTPN 15 SURABAYA SMUN 3 SURABAYA Jurusan Teknik Elektronika D3 Politeknik Elektronika Negeri Surabaya – ITS Pada tanggal 03 Agustus 2006 telah mengikuti Seminar Proyek Akhir sebagai salah satu persyaratan untuk mendapatkan gelar Ahli Madya (A.Md) di Politeknik Elektronika Negeri Surabaya.RIWAYAT HIDUP PENULIS Nama : Agus Purwanto Tempat/Tgl Lahir : Surabaya. 105 .

106 .

Sign up to vote on this title
UsefulNot useful