Robot Sumo

July 13, 2017 | Author: sinyorita | Category: N/A
Share Embed Donate


Short Description

Download Robot Sumo...

Description

PROYEK AKHIR

ROBOT SUMO

REJEKI AGUNG SAPUTRO NRP. 7103 030 031

DOSEN PEMBIMBING : AKHMAD HENDRIAWAN, ST. NIP. 132 300 369

JURUSAN TEKNIK ELEKTRONIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2006

ROBOT SUMO Oleh : REJEKI AGUNG SAPUTRO 7103.030.031 Proyek Akhir Ini Diajukan Sebagai Salah Satu Syarat Untuk Memeperoleh Gelar Ahli Madya (A.Md.) di Politeknik elektronika negeri Surabaya Institut teknologi sepuluh nopember Surabaya Disetujui oleh: Tim Penguji Proyek Akhir

1.

Agus Indra Gunawan, ST NIP:132.297.801

2.

Santi Anggraini, ST NIP:132.300.370

3.

Firman Arifin, ST NIP: 132.296.743

Dosen Pembimbing

1.

Akhmad Hendriawan, ST NIP: 132.300.369

Mengetahui : Ketua Jurusan Teknik Elektronika

Ir. Dedid Cahya Happyanto, M.T NIP. 131.694.603

ABSTRAK Teknologi sekarang ini telah berkembang pesat dan sangat luas, terutama dibidang robotika. Di beberapa negara maju, robot tidak hanya digunakan pada bidang industri, namun teknologi robot juga mengarah ke dalam dunia hiburan. Pada tugas akhir ini dibuat Robot Sumo yang diadopsi dari pertandingan robot sumo. Robot sumo ini harus mendorong lawannya hingga keluar arena, apabila robot tersebut berhasil mendorong lawannya keluar arena maka robot tersebut dinyatakan menang. Sensor yang digunakan pada robot sumo adalah sensor inframerah, sensor ini berfungsi sebagai mata robot yang bertugas mencari halangan. Ketika kedua sensor mendeteksi adanya halangan didepan maka robot akan bergerak maju kemudian mendorongnya hingga keluar arena. Sedangkan apabila hanya salah satu sensor saja yang mendeteksi maka robot akan bergerak sesuai dengan kondisi dimana sensor tersebut mendeteksi halangan. Selain itu pada robot sumo juga terdapat sensor untuk mendeteksi adanya garis putih yang merupakan batas tepi arena. Apabila sensor garis ini mendeteksi adanya garis maka robot bergerak menjauh dari garis tersebut agar tidak terjatuh. Hal yang paling penting dari robot sumo ini adalah tidak terjatuh dari arena. Untuk otaknya digunakan mikrokontroller sebagai pusat pengendali sistem secara keseluruhan, sedangkan untuk penggeraknya digunakan motor DC. Seperti halnya manusia, robot juga mempunyai keterbatasan seperti pandangan dan sensor dari robot ini mempunyai batasan tentang jarak deteksi sejauh 100 cm tegak lurus dari sensor dan sudut elevasi sensor adalah 400. Berdasarkan pengukuran pada jarak dibawah 10 cm sensor akan mengalami error, karena jarak bidang pantul terlalu dekat dengan sensor. Kata Kunci : Robot, Mikrokontroller, Sensor

ABSTRACT This time technology have expanded at full speed and very wide, especially in robotic. In other country robots not only use for industry field but also they also used for entertainment. This final project makes the Robot Sumo which adopted from sumo competition. This robot must push out the enemy until out of the ring, if the robot success push out the enemy out of the ring, the robot can be the winner. The sensor that used is infrared sensor, this sensor has function like human eyes to find an obstacle. When both of sensors detect that there is an obstacle in front of robot then the robot will move forward and push it until out of the ring. When only one of the sensors detects an obstacle the robot will move like the condition where the sensors detect an obstacle. Beside that in robot sumo also have sensor to detect the white line on the ring. When this sensor detects it the robot will move away from that line. The important thing from this robot is not fall down from the ring. The brain of this system used a microcontroller to control all of system, and for moving the robot used motor DC. Like human, robot also has a limit such as visualization of sensor. This robot has limit about range detection, the maximum range detection of this sensor about 100 cm forward from sensor and the elevation angle of sensor 400. Based on test when the distance closer than 10 cm the sensor will error because the obstacle is too close with sensor.

Keyword: Robot, Microcontroller, Sensor

KATA PENGANTAR Alhamdulillah, segala puja dan puji syukur penulis panjatkan kepada Allah S.W.T, karena atas limpahan rahmat dan hidayah-Nya penulis diberikan kemudahan dan kelancaran dalam menyelesaikan Proyek Akhir ini, serta tak terlupakan iringan salam dan sholawat bagi junjungan kami nabi besar Muhammad SAW. Dengan pengerahan segenap usaha kami akhirnya kami dapat menyelesaikan Proyek Akhir kami yang berjudul: ROBOT SUMO Dengan terselesaikannya buku laporan Proyek Akhir ini, kami berharap semoga buku ini dapat membawa manfaat pembaca pada umumnya dan juga bagi kami pada khususnya serta semua pihak yang berkepentingan. Kami juga berharap agar Proyek Akhir ini dapat dikembangkan sehingga dapat digunakan untuk mendukung perkembangan ilmu pengetahuan. Dengan segala upaya kami telah berusaha sebaik mungkin menyelesaikan proyek akhir ini, namun kami menyadari bahwa ”tak ada yang sempurna didunia ini” sehingga mungkin masih banyak terdapat kekurangan dalam penulisan Proyek Akhir ini. Untuk itu koreksi, kritik dan saran yang bersifat membangun sangat diperlukan demi pendekatan kesempurnaan dari Proyek Akhir ini. Akhirnya tak lupa kami ucapkan terima kasih kepada semua pihak yang telah memberikan bantuan sehingga terselesaikannya Proyek Akhir ini.

Surabaya, 28 Juli 2006

Penulis

UCAPAN TERIMA KASIH Dengan terselesaikannya proyek akhir ini penulis mengucapkan banyak terima kasih atas bantuan semua pihak yang diberikan pada penulis. Ucapan terima kasih ini kami berikan kepada : 1. Allah SWT yang telah memberikan rahmat dan berkah-Nya, serta tak terlupakan iringan salam dan sholawat bagi junjungan kami Nabi Muhammad SAW 2. Papa & Mama tercinta terima kasih atas doa dan saran yang diberikan sehingga dapat menyelesaikan proyek akhir ini. 3. Bapak Prof. Dr.Ir. Muh. Nuh, DEA, Selaku Rektor ITS 4. Bapak Dr. Ir. Titon Dutono, M Eng , selaku direktur PENS-ITS 5. Bapak Ir. Dedid CH, MT selaku Ketua Jurusan Teknik Elektronika. 6. Bapak Akhmad Hendriawan, ST yang telah memberikan pengarahan dan bimbingan dengan penuh kesabaran untuk menyelesaikan tugas akhir Ini 7. HoNey yang telah memberikanku Dukungan SpirIt dalam kondisi SuSaH SeNanG, suKa Duka ditanggung bersama serta SemangaT dalam mengerjakan TA, MakAsih Ya.... Honey_Q Chayank. Miuu......2 KeEp YouR SmIle 4 Me. 8. Fuad Hasan selaku tim robot its yang telah banyak membantu dalam penyelesaian proyek akhir ini. 9. Teman-teman yang ada di ”CRUSTY CRUB” yang telah banyak membantu dalam penyelesaian TA_Q. Dan jangan lupa Keep Our Friendship FoReVer, O.K. PrEnd!! 10. Seluruh pihak yang tak dapat kami sebut satu persatu terima kasih atas bantuannya dalam penyelesaian tugas akhir ini

DAFTAR ISI HALAMAN JUDUL…………………………………………….. HALAMAN PENGESAHAN…………………………………… ABSTRAK……………………………………………………….. ABSTRACT……………………………………………………… KATA PENGANTAR…………………………………………… UCAPAN TERIMA KASIH……………………………………. DAFTAR ISI.................................................................................. DAFTAR GAMBAR…………………………………………….. DAFTAR TABEL………………………………………………...

Hal i ii iii iv v vi vii ix xi

BAB I. PENDAHULUAN……………………………………... 1.1 Pendahuluan………………………………………… 1.2 Permasalahan……………………………………….. 1.3 Batasan Masalah……………………………………. 1.4 Tujuan & Manfaat…………………………………... 1.5 Metodologi………………………………………….. 1.6 Sistematika Pembahasan…………………………….

1 1 2 2 2 3 3

BAB II. TEORI PENUNJANG………………………………… 2.1 Pengertian Robot Sumo…………………………….. 2.2 Mikrokontroller Atmel AVR Atmega16.................... 2.2.1 Mikrokontroler AVR....................................... 2.2.2 Port Berfungsi Sebagai Input/Output ............. 2.2.3 Port Berfungsi Sebagai Analog Digital Converter......................................................... 2.2.4 Interrupt........................................................... 2.2.5 Rutin-Rutin Standar ........................................ 2.3 Sensor Inframerah (SHARP GP2D12)....................... 2.4 Motor DC....................................................................

5 5 5 5 10

BAB III. PERANCANGAN DAN PEMBUATAN ALAT.......... 3.1 Konfigurasi Sistem...................................................... 3.2 Perancangan dan Pembuatan Perangkat Keras ........... 3.2.1 Perencanaan dan Pembuatan Sensor Deteksi Garis................................................................. 3.2.2 Perencanaan dan Pembuatan Sensor Deteksi Lawan..............................................................

11 15 16 18 20 23 23 26 26 27

3.2.3 Perancangan Mikrokontroller..........................

28

3.2.3.1 Rangkaian Clock Generator.................. 3.2.3.2 Perencanaan dan Pembuatan Rangkaian Power Supply...................... 3.2.3.3 Perancangan Interfacing I/O................. 3.2.4 Perencanaan dan Pembuatan Driver Motor...... 3.3 Perancangan dan Pembuatan Perangkat Lunak..........

28 28 29 30 33

BAB IV. PENGUJIAN DAN ANALISIS.................................... 4.1 Pengujian Sensor Inframerah (SHARP GP2D12)….. 4.1.1 Pengujian Jarak Deteksi Sensor Inframerah (SHARP GP2D12) menggunakan LCD.......... 4.1.2 Pengujian Sudut Elevasi Sensor Inframerah (SHARP GP2D12) menggunakan LED........... 4.2 Pengujian Sistem Minimum AVR.............................. 4.3 Pengujian Driver Motor DC....................................... 4.4 Pengujian Sistem Secara Keseluruhan........................

37 38 40 41

BAB V. PENUTUP........................................................................ 5.1 Kesimpulan................................................................. 5.2 Saran………………………………………………...

49 49 49

DAFTAR PUSTAKA LAMPIRAN RIWAYAT PENULIS

35 35 35

DAFTAR GAMBAR Gambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 2.5

Pin-pin Atmega16 dalam kemasan 40-pin DIP.... Blok Diagram Arsitektur CPU dari AVR............. Penentuan Port yang akan dipakai........................ Alur Pemrograman dan Proses Download............ Mengaktifkan ADC Internal dari Mikrokontroller.................................................... Gambar 2.6 Register ADMUX………………………………. Gambar 2.7 Register ADCSRA……………………………… Gambar 2.8 Register SFIOR…………………………………. Gambar 2.9 Timing Diagram ADC Free Running Mode......... Gambar 2.10 LCD pada Port B................................................. Gambar 2.11 Rangkaian Internal dari Sensor Inframerah........ Gambar 2.12 Kurva Perbandingan Antara Tegangan dan Jarak.................................................................... Gambar 3.1 Blok Diagram Sistem............................................ Gambar 3.2 Mekanisme Gerak Robot Sumo............................ Gambar 3.3 Rangkaian Sensor Deteksi Garis........................... Gambar 3.4 Rangkaian Sensor Deteksi Serangan Lawan ........ Gambar 3.5 Rangkaian osilator kristal...................................... Gambar 3.6 Rangkaian power supply untuk mikrokontroler.... Gambar 3.7 Rangkaian Driver Motor....................................... Gambar 3.8 Gambar Robot Sumo Bagian Bawah.................... Gambar 3.9 Gambar Robot Sumo Bagian Atas........................ Gambar 3.10 Gambar Robot Sumo Keseluruhan..................... Gambar 3.11 Flowchart Pembuatan Program........................... Gambar 4.1 Listing Program Pengujian SHARP GP2D12 melalui LCD…………………………………. Gambar 4.2 Listing Program Pengujian SHARP GP2D12 melalui ADC....................................................... Gambar 4.3 Pengujian Sudut Elevasi Sensor............................ Gambar 4.4 Pengujian Sistem Minimum Avr........................... Gambar 4.5 Led Bergeser Ke Kiri............................................ Gambar 4.6 Driver Motor DC................................................... Gambar 4.7 Robot Sumo Bergerak Ke Kiri………………….. Gambar 4.8 Robot Sumo Bergerak Ke Kanan.......................... Gambar 4.9 Robot Sumo Menyerang………………………... Gambar 4.10 Robot Sumo Menghindar dari Serangan Lawan.

Hal 7 8 9 9 11 12 13 14 15 17 18 19 23 24 27 27 28 29 31 31 32 33 34 36 38 38 39 39 40 41 41 42 43

Gambar 4.11 Gambar 4.12 Gambar 4.13 Gambar 4.14 Gambar 4.15 Gambar 4.16

Robot Sumo Menghindar dari Serangan Lawan. Robot Sumo Menghindar dari Serangan Lawan. Robot Sumo Bergerak Menghindar dari Garis... Robot Sumo Bergerak Menghindar dari Garis... Robot Sumo Bergerak Menghindar dari Garis... Robot Sumo Bergerak Menghindar dari Garis...

43 44 44 45 45 46

DAFTAR TABEL Tabel 2.1 Konfigurasi pin port................................................... Tabel 2.2 Port A Sebagai Analog Digital Converter (ADC)…. Tabel 2.3 Bit Pemilih Tegangan Ref.......................................... Tabel 2.4 Pemilihan Auto Trigger ADC.................................... Tabel 2.5 Prioritas Interrupt....................................................... Tabel 3.1 Penjelasan dari Mekanisme Gerak Robot Sumo........ Tabel 4.1 Tabel Pengujian Sensor SHARP GP2D12 dengan LCD............................................................................ Tabel 4.2 Tabel Pengujian Driver Motor DC............................ Tabel 4.3 Pergerakan Robot Sumo Ketika Ada Lawan............. Tabel 4.4 Pergerakan Robot Sumo Menghindar dari Serangan Lawan......................................................................... Tabel 4.5 Pergerakan Robot Sumo Ketika Mendeteksi Garis...

Hal 10 12 12 14 16 24 36 40 42 44 47

BAB I PENDAHULUAN I.1 PENDAHULUAN Teknologi robot sudah berkembang dengan pesat pada saat ini, mulai dari robot sederhana untuk aplikasi yang mudah sampai dengan robot canggih dan kompleks yang digunakan dalam pabrik industri, maupun dalam bidang-bidang yang lainnya. Penggunaan piranti robot dewasa ini sudah tidak didominasi oleh kepentingan industri, tetapi juga sudah mengarah pada dunia hiburan. Salah satu robot yang sifatnya sebagai hiburan adalah Robot Sumo. Robot Sumo telah dikenalkan pada dunia sejak tahun 1990 oleh Perusahaan Fuji Software dari Jepang[3]. Seperti pertandingan sumo, robot ini bertanding hanya dengan satu lawan. Di atas ring kedua robot ini saling mendorong hingga salah satu dari robot keluar arena, apabila salah satu robot telah berhasil mengeluarkan lawannya dari arena maka robot tersebut dinyatakan menang[4]. Peraturan pertandingan dari Robot Sumo seperti pada pertandingan sumo yang sebenarnya dimana masing-masing robot harus mempunyai berat yang sama, setiap pertandingan sumo ada kelasnya masingmasing[5]. Jadi berat dan tinggi dari robot akan menentukan kelas bertandingnya. Pada Robot Sumo digunakan sensor pendeteksi obyek sebagai identifikasi posisi robot lawan. Sensor pendeteksi obyek ini berfungsi sebagai pengendali robot dengan mengikuti pergerakan obyek jadi seolah-olah robot ini mempunyai mata. Keseluruhan sistem ini dikontrol oleh mikrokontroller dimana fungsi dari mikrokontroller adalah sebagai pusat/otak dari keseluruhan suatu sistem untuk mengolah data yang diambil dari berbagai macam sensor. Pada mikrokontroller ini kita dapat menginisialisasi data yang dikirim dari sensor pendeteksi obyek kemudian mikrokontroller itu sendiri mengirimkan instruksi untuk menjalankan motor sesuai data yang diberikan oleh sensor. Robot ini dapat bergerak secara otomatis karena robot memiliki beberapa kemampuan untuk merespon beberapa informasi dari luar yang dibaca oleh sensor. Kemampuan yang dimiliki robot ini adalah kemampuan bergerak secara otomatis, kemampuan untuk menemukan objek yang berupa robot lawan dan kemampuan menyerang lawan.

I.2 PERMASALAHAN Permasalahan sistem yang akan dibuat dalam Proyek Akhir adalah sebagai berikut : a. b.

c. d.

Membuat perangkat lunak yang mampu mengontrol pergerakan robot untuk menyerang lawan secara otomatis. Membuat komunikasi data serial sehingga dapat menyalurkan informasi yang telah diolah oleh software dari komputer ke mikrokontroller. Bagaimana robot dapat mengenali satu obyek benda yaitu berupa robot lawan sehingga dapat menyerangnya. Bagaimana robot dalam melakukan kinerja, berupa gerakan : maju, menghindar, dan menyerang lawan setelah mengetahui posisi robot lawan.

I.3 BATASAN MASALAH Asumsi-asumsi berikut ini adalah sebagai batasan masalah yang dipakai dalam penyelesaian tugas akhir: a. Robot hanya mengenal satu obyek yaitu berupa robot lawan. b. Robot lawan mempunyai ukuran yang sama. c. Jarak maksimum yang dapat dijangkau oleh sensor adalah 100 cm tegak lurus dari sensor. d. Mobilitas robot hanya pada lantai yang rata atau memiliki ketinggian yang sama. e. Robot hanya menyerang robot lawan dari depan. I.4 TUJUAN DAN MANFAAT Tujuan dari Proyek Akhir ini meliputi tujuan umum dan khusus yaitu : • Tujuan Umum : Sebagai syarat kelulusan bagi mahasiswa Politeknik Elektronika Surabaya. • Tujuan Khusus : Membuat sistem yang dapat mengidentifikasi suatu obstacle/halangan yang berada didepan robot sehingga didapatkan respon untuk menyerang halangan tersebut.

I.5 METODOLOGI Dalam pengerjaan Proyek Akhir ini diperlukan suatu metode untuk mendapatkan hasil yang maksimal. Untuk itu penulis merencanakan suatu langkah-langkah yang dapat memaksimalkan dalam pelaksanaan pengerjaan Tugas Akhir ini. Langkah-langkah yang perlu dilakukan adalah sebagai berikut : 1.4.1 Studi Literatur Mempelajari prinsip kerja dari sistem pengontrollan sensor inframerah (SHARP GP2D12) sebagai sensor untuk mengidentifikasi suatu halangan, sensor garis sebagai pendeteksi garis, sensor lawan untuk mengidentifikasi ada atau tidak robot lawan, mikrokontroller sebagai pusat pengolah data, motor sebagai penggerak. 1.4.2 Perencanaan dan Pembuatan Merencanakan dan membuat peralatan maupun program yang dibutuhkan baik secara hardware, dan software. 1.4.3 Pengujian dan Analisis Mengintegrasikan sistem antara hardware dengan software, kemudian dilakukan pengujian dan analisis terhadap hasil yang telah didapatkan I.6 SISTEMATIKA PEMBAHASAN Untuk mempermudah dalam penyelesaian proyek akhir ini, maka kami membuat urutan pembahasan sebagai berikut : BAB I PENDAHULUAN Dalam bab ini akan dibahas latar belakang, maksud dan tujuan, batasan masalah, metodologi, dan sistematika pembahasan. BAB II TEORI PENUNJANG Dalam bab ini kami menuliskan beberapa teori dasar yang diperlukan dalam penyelesaian pembuatan sistem rangkaian “ROBOT SUMO”.

BAB III PERENCANAAN DAN PEMBUATAN ALAT Bab ini membahas tentang perencanaan dan pembuatan alat berupa sensor, driver motor, dan rangkaian yang mendukung sistem ini, serta realisasi program, dimana mencakup blok diagram rangkaian dan flowchart dari perencanaan sistem secara lengkap beserta penjelasan cara kerja dari sistem. BAB IV PENGUJIAN DAN ANALISA Pada bab ini merupakan bagian pengujian alat, serta menganalisa akurasi dari sistem yang telah dibuat. BAB V PENUTUP Berisi kesimpulan dari keseluruhan proyek akhir yang diambil berdasarkan data yang ada, juga berisi tentang saran serta petunjuk untuk pengembangan serta penyempurnaan alat.

BAB II TEORI PENUNJANG 2.1 PENGERTIAN ROBOT SUMO Robot sumo dirancang mempunyai kemampuan untuk mendeteksi suatu objek kemudian menyerang objek tersebut dengan mendorongnya. Untuk mendeteksi ada atau tidak halangan didepan robot maka pada bagian robot diberikan suatu sensor yang dapat mendeteksi halangan. Robot sumo akan menyerang halangan apabila halangan tersebut benarbenar berada didepan robot sumo. Jika halangan belum berada tepat didepan robot atau belum ada halangan maka robot akan melakukan pencarian. Apabila halangan tersebut berada didepan namun posisinya agak kesamping kiri maupun kekanan maka robot sumo akan mengikutinya terus sampai halangan tersebut tepat berada didepan robot sumo. Jika halangan berada tepat didepan robot maka robot sumo akan mendorongnya hingga keluar arena. Pada bab ini akan diberikan teori penunjang yang mendukung pembuatan keseluruhan dari robot sumo, terdiri antara lain : • Mikrokontroller ATMEGA 16 • Sensor Inframerah (SHARP GP2D12) • Motor DC 2.2 MIKROKONTROLLER ATMEL AVR ATMEGA16 2.2.1 Mikrokontroller AVR AVR merupakan bagian dari keluarga mikrokontroller CMOS 8-bit buatan Atmel. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving. Beberapa dari mikrokontroller atmel AVR mempunyai ADC internal dan PWM internal. AVR juga mempunyai In-Sistem Programmable Flash on-chip yang mengijinkan memori program untuk diprogram berulang-ulang dalam sistem menggunakan hubungan serial SPI. Mikrokontroller AVR yang digunakan pada robot sumo ini adalah ATMega16. Beberapa keistimewaan dari ATMEGA 16 antara lain : • High-performance, Low-power AVR® 8-bit Microcontroller • Advanced RISC Architecture – 131 Powerful Instructions – Most Single-clock Cycle Execution – 32 x 8 General Purpose Working Registers

– Fully Static Operation – Up to 16 MIPS Throughput at 16 MHz – On-chip 2-cycle Multiplier • Nonvolatile Program and Data Memories – 16K Bytes of In-System Self-Programmable Flash Endurance: 1,000 Write/Erase Cycles – Optional Boot Code Section with Independent Lock Bits In-System Programming by On-chip Boot Program True Read-While-Write Operation – 512 Bytes EEPROM Endurance: 100,000 Write/Erase Cycles – 1K Byte Internal SRAM – Programming Lock for Software Security • JTAG (IEEE std. 1149.1 Compliant) Interface – Boundary-scan Capabilities According to the JTAG Standard – Extensive On-chip Debug Support – Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface • Peripheral Features – Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode – Real Time Counter with Separate Oscillator – Four PWM Channels – 8-channel, 10-bit ADC 8 Single-ended Channels 7 Differential Channels in TQFP Package Only 2 Differential Channels with Programmable Gain at 1x, 10x, or 200x – Byte-oriented Two-wire Serial Interface – Programmable Serial USART – Master/Slave SPI Serial Interface – Programmable Watchdog Timer with Separate On-chip Oscillator – On-chip Analog Comparator • Special Microcontroller Features – Power-on Reset and Programmable Brown-out Detection – Internal Calibrated RC Oscillator – External and Internal Interrupt Sources

– Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby • I/O dan Packages – 32 Programmable I/O Lines – 40-pin PDIP, 44-lead TQFP, and 44-pad MLF • Tegangan Kerja – 2.7 - 5.5V untuk ATmega16L – 4.5 - 5.5V untuk ATmega16 • Kecepatan – 0 - 8 MHz untuk ATmega16L – 0 - 16 MHz untuk ATmega16

Gambar 2.1 Pin-pin Atmega16 dalam kemasan 40-pin DIP8 Pin-pin pada Atmega16 dengan kemasan 40-pin DIP (dual in-line package) ditunjukkan oleh Gambar 2.1. untuk memaksimalkan performa dari mikrokontroller, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data). Sedangkan untuk blok diagram arsitektur CPU dari AVR ditunjukkan oleh gambar 2.2.

Gambar 2.2 Blok Diagram Arsitektur CPU dari AVR8 Pemrograman yang digunakan untuk mengisi program pada mikrokontroller AVR ini digunakan CodeVision AVR dan bahasa pemrograman yang digunakan adalah bahasa C. Pada CodeVision AVR ini bisa ditentukan port-port dari mikrokontroller AVR yang berfungsi sebagai input maupun output, serta bisa juga ditentukan tentang penggunaan fungsi-fungsi internal dari AVR. Sebelum menentukan port-port dan fungsi-fungsi internal yang akan digunakan, harus ditentukan terlebih dahulu mikrokontroller yang akan dipakai. Masingmasing mikrokontroller mempunyai perbedaan dalam fungsi-fungsi internal. Untuk menentukan mikrokontroller dan port-port yang akan digunakan sebagai input maupun output ditunjukkan oleh gambar 2.3.

Gambar 2.3 Penentuan Port yang akan dipakai2 Setelah jenis chip mikrokontroller dan port dari AVR ditentukan sebagai input atau output maka program ditulis dalam bahasa C, kemudian program dapat didownload ke dalam mikrokontroller AVR, namun sebelum didownload kedalam mikrokontroller program harus dicompile terlebih dahulu untuk mengetahui apakah ada error atau tidak, jika tidak ada error maka program siap didownload dengan alur seperti yang ditunjukkan oleh gambar 2.4.

Gambar 2.4 Alur Pemrograman dan Proses Download2

2.2.2 Port Berfungsi Sebagai Input/Output Atmega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’ untuk mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Sebaliknya bila DDxn diset F maka Px berfungsi sebagai pin output. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1)atau kondisi output low (DDxn=1, PORTxn=0). Untuk lebih detail mengenai port ini dapat dilihat pada datasheet dari Atmega16. Tabel 2.1 Konfigurasi pin port 8

2.2.3 Port Berfungsi Sebagai Analog Digital Converter (ADC) Pada port ATMEGA 16 terdapat Analog Digital Coverter (ADC) internal dimana letak dari ADC internal tersebut berada di Port A. Dimana fitur dari ADC internal dari ATMEGA 16 disebutkan sebagai berikut : 10-bit Resolution 65 - 260 µs Conversion Time Up to 15 kSPS at Maximum Resolution 8 Multiplexed Single Ended Input Channels Optional Left Adjustment for ADC Result Readout 0 - VCC ADC Input Voltage Range Selectable 2.56V ADC Reference Voltage Free Running or Single Conversion Mode ADC Start Conversion by Auto Triggering on Interrupt Sources Interrupt on ADC Conversion Complete Sleep Mode Noise Canceler Apabila Port A tersebut digunakan sebagai Analog Digital Converter (ADC) maka pada CodeVision AVR harus diset seperti yang ditunjukkan oleh gambar berikut.

Gambar 2.5 Mengaktifkan ADC Internal dari Mikrokontroller2

Pada gambar tersebut ADC Internal dari Mikrokontroller diaktifkan. ADC tersebut diset dengan Auto Trigger Source dipilih yang Free Running. Untuk bit pada Port A yang digunakan sebanyak dua bit yaitu bit 0 dan bit 1. Tabel 2.2 Port A Sebagai Analog Digital Converter (ADC)8

Register-register yang dipakai untuk mengakses ADC adalah: ADMUX – ADC Multiplexer Selection Register

Gambar 2.6 register ADMUX8

Bit 7:6 – REFS1:0 : Bit Pemilih tegangan referensi Bit ini berfungsi untuk memilih tegangan referensi ADC untuk lebih jelasnya terdapat pada tabel dibawah ini. Tabel 2.3 Bit Pemilih Tegangan Ref8

Bit 5 – ADLAR : ADC Left Adjust Result Bit 4:0 – MUX 4:0 : Bit pemilih Analog Channel dan Gain ADCSRA – ADC Control and Status Register

Gambar 2.7 register ADCSRA8 Bit 7 – ADEN : ADC Enable Diisi 1 untuk mengaktifkan ADC, diisi 0 untuk mematikan ADC sekaligus memberhentikan konversi yang sedang berlangsung. Bit 6 – ADSC : ADC Start Conversion Pada mode single-conversion, set bit ini untuk memulai tiap konversi. Pada mode free-running, set bit ini untuk konversi pertama kalinya. Bit ADSC bila dibaca akan bernilai 1 selama proses konversi, dan bernilai 0 bila konversi selesai. Mengisi bit ini dengan nilai 0 tidak akan mempunyai dampak. Bit 5 – ADATE : ADC Auto Trigger Enable Bila bit ini diisi 1 maka auto trigger ADC akan diaktifkan. ADC akan memulai konversi pada saat tepi positif dari sumber sinyal trigger yang dipilih. Sumber sinyal trigger ditentukan dengan menseting bit ADTS pada register SFIOR. Bit 4 – ADIF : ADC Interrupt Flag Bit ini akan bernilai 1 pada saat ADC selesai mengkonversi dan Data register telah diupdate. ADC Conversion Complete Interrupt akan dijalankan bila bit ADIE dan bit-I pada register SREG diset 1. ADIF akan di-clear secara hardware bila mengerjakan penanganan vektor interrupt yang bersesuaian. Alternatifnya, ADIF dapat di-clear dengan menuliskan 1. Hati-hati bila bekerja dengan Read-Modify-Write pada ADCSRA, interrupt yang tertunda dapat dinonaktifkan/batal. Hal ini juga berakibat sama bila instruksi SBI dan CBI digunakan.

Bit 3 – ADIE : ADC Interrupt Enable Mengisi bit ini dan bit-I pada register SREG menjadi 1 akan mengaktifkan ADC Conversion Complete Interrupt. Bit 2:0 – ADPS2:0 – Bit pemilih ADC Prescaler Menentukan bilangan pembagi antara sumber clock XTAL ke clock ADC. •

SFIOR – Special Function I/O Register untuk sumber auto trigger

Gambar 2.8 Register SFIOR8 Bit 4 –ADHSM : ADC High Speed Mode Bila bit ini diset 1 maka akan mengaktifkan ADC High Speed Mode. Mode start ADC ditunjukkan pada tabel konfigurasi dibawah. Sesuai dengan konfigurasi tersebut maka dapat dipilih mode start ADC, ADC akan konversi ketika berdasarkan mode yang dipilih. Tabel 2.4 Pemilihan Auto Trigger ADC8

Pada mikrokontroller ini digunakan ADC Internal dimana dalam pemilihan Auto Trigger ADC digunakan Free Running Mode. Untuk Timing Diagramnya ditunjukkan oleh gambar 2.9.

Gambar 2.9 Timing Diagram ADC Free Running Mode8 2.2.4 Interrupt Interrupt merupakan suatu peristiwa yang menyebabkan mikrokontroller menghentikan program sejenak untuk mengerjakan proses interrupt tersebut. Setelah interrupt yang dikerjakan tersebut telah selesai maka mikrokontroller akan kembali ke rutin program yang telah dihentikan sejenak. Interrupt yang mempunyai prioritas tertinggi tidak dapat diganggu oleh program yang lain maupun interrupt yang mempunyai prioritas lebih rendah. Selama proses interrupt dijalankan maka Program Counter (alamat dari instruksi yang sedang berjalan) disimpan ke stack. Berikut merupakan prioritas interrupt dari prioritas tinggi sampai prioritas rendah.

Tabel 2.5 Prioritas Interrupt8

2.2.5 Rutin-Rutin Standar Pada CodeVision AVR telah disediakan beberapa rutin-rutin yang siap diisi dengan program. Setelah mengeset port AVR yang berfungsi sebagai input maupun output maka program disesuaikan dengan penentuan port yang telah ditentukan. Beberapa contoh fungsi yang telah disediakan pada CodeVision AVR seperti berikut : Fungsi Delay Untuk menghasilkan delay pada pemrograman AVR maka sebelum dipanggil pada subrutin program maka fungsi delay harus dideklarasikan pada header. Setelah dideklarasikan maka program

akan menjalankan rutin untuk memanggil delay. Letaknya pada header dari program, dituliskan sebagai berikut : #include #include Pada bagian atas sendiri merupakan inisialisasi jenis tipe AVR yang akan digunakan. Karena yang digunakan adalah AVR ATMEGA 16 maka pada header paling atas sendiri terdapat keterangan bahwa program ini khusus digunakan untuk AVR ATMEGA 16. Pada CodeVision AVR juga terdapat fungsi untuk memanggil delay selain cara diatas yaitu • void delay_us(unsigned int n) menghasilkan delay selama n µ-detik, n adalah nilai konstan. • void delay_ms(unsigned int n) menghasilkan delay selama n mili-detik, n adalah nilai konstan. Fungsi LCD Fungsi LCD harus dideklarasikan terlebih dahulu pada header program apabila fungsi LCD tersebut jika dipanggil. Selain itu fungsi LCD harus diaktifkan terlebih dahulu pada CodeVision Wizard, misal jika LCD tersebut diletakkan pada Port B dari mikrokontroller, ditunjukkan seperti berikut:

Gambar 2.10 LCD pada Port B2

Untuk menghapus karakter yang tampil di layar LCD dan posisi karakter kembali ke posisi semula. • void lcd_clear(unsigned char x, unsigned char y) Untuk meletakkan posisi karakter c pada layar LCD pada kolom ke-x dan baris ke-y maka pada program harus dituliskan: • void lcd_gotoxy(unsigned char x, unsigned char y) • void lcd_putchar(char c) 2.3 Sensor Inframerah (SHARP GP2D12) Sensor inframerah adalah sensor yang bekerja berdasarkan cahaya dan digunakan untuk mendeteksi ada atau tidak suatu objek yang berada didepan. Sensor inframerah ini digunakan sebagai piranti masukan (input) pada mikrokontroller. Pada kali ini digunakan sensor inframerah dengan tipe SHARP GP2D12 dimana pada bagian pengirim (transmitter) terdapat osilator dan bagian penerima (receiver) terdapat filter cahaya, dimana filter tersebut hanya menyaring frekuensi yang dipancarkan inframerah bagian pengirim (transmitter). Selain itu warna dari obyek tidak berpengaruh terhadap sensor ini. Berikut ini adalah gambar rangkaian dari sensor inframerah.

Gambar 2.11 Rangkaian Internal dari Sensor Inframerah7

Dari gambar tersebut dapat diketahui bahwa sensor inframerah, osilator, regulator tegangan, dan filter sudah dalam satu kemasan. Output dari sensor inframerah ini adalah data analog, karena data output berupa data analog maka pada mikrokontroller terletak pada port yang memiliki fungsi sebagai ADC internal yaitu PortA. Berikut merupakan data analog yang dikeluarkan oleh sensor inframerah.

Gambar 2.12 Kurva Perbandingan Antara Tegangan dan Jarak7 Dari kurva perbandingan tersebut dapat diketahui bahwa semakin jauh jarak suatu benda yang dideteksi maka semakin kecil juga nilai tegangan yang dihasilkan dari sensor, begitu juga sebaliknya semakin dekat jarak suatu benda maka semakin besar nilai tegangan. Kurva tersebut menunjukkan bahwa jarak terjauh yang dapat dideteksi oleh sensor adalah 100 cm, sedangkan untuk jarak terdekat adalah 10 cm

2.4 Motor DC Motor DC adalah suatu mesin yang berfungsi merubah tenaga listrik arus searah menjadi tenaga gerak, dimana tenaga gerak tersebut berupa putaran motor. Pada prinsipnya mesin listrik dapat berlaku sebagai motor atau generator. Perbedaan hanya terletak pada konversi dayanya, jika generator merubah daya mekanik menjadi daya listrik sedangkan motor merubah daya listrik menjadi daya mekanik. Dasar kerja motor DC adalah atas prinsip bahwa suatu penghantar yang membawa arus listrik diletakkan didalammedan magnet, maka akan timbul gaya mekanik yang mempunyai arah sesuai dengan hukum tangan kiri dan besarnya adalah: F = B I L (Newton) Untuk suatu kebutuhan yang menghendaki adanya variasi putaran motor yang dapat diatur maka penggunaan motor DC lebih menguntungkan apabila dibandingkan dengan motor jenis lain karena motor DC lebih mudah diatur kecepatannya dalam rentang yang lebar dan karakteristik kopel putaran yang baik. Pada umumnya mesin dinamik terdiri dari bagian yang berputar disebut rotor dan bagian yang diam disebut stator. Pada motor DC, rotor merupakan kumparan jangkar dengan belitan konduktor, dan stator merupakan kumparan medan berbentuk katup sepatu.Terdapat dua tipe motor DC berdasarkan prinsip medan yaitu: 1. Motor DC dengan magnet permanent 2. Motor DC dengan lilitan yang terdapat pada stator Sedangkan tipe motor DC yang digunakan pada proyek akhir ini adalah tipe magnet permanen, karena tipe ini lebih mudah dalam pengontrolannya, disamping itu dimensi yang tidak terlalu besar. Motor DC pada saat ini banyak digunakan pada industri yang memerlukan gerakan dengan kepresisian yang sangat tinggi untuk pengaturan kecepatan pada torsi yang konstan. Motor DC berfungsi mengubah tenaga listrik menjadi tenaga mekanis dimana gerak tersebut berupa putaran. Prinsip dasar dari motor arus searah adalah “kalau sebuah kawat berarus diletakkan antara kutub-kutub magnet (U– S), maka pada kawat tersebut akan bekerja suatu gaya yang menggerakkan kawat tersebut”. Arah gerakan kawat dapat ditentukan dengan kaidah tangan kiri yang berbunyi sebagai berikut. ”Apabila pada tangan kiri yang terbuka diletakkan diantara kutub U dan S pada sebuah magnet, maka garis-garis gaya yang keluar dari kutub utara menembus telapak tangan

kiri dan arus didalam kawat mengalir searah dengan arah keempat jari, maka kawat tersebut akan mendapatkan gaya yang searah dengan arah ibu jari “. Pada motor arus searah rotor mempunyai kumparan tidak hanya satu, namun terdiri dari kumparan dan komutator yang banyak untuk mendapatkan torsi yang terus menerus. Rotor terdiri dari jangkar yang inti terbuat dari lempengan-lempengan yang ditaktik. Susunan lempengan membentuk celah-celah, dan celah-celah tersebut terdapat konduktor kumparan jangkar. Ujung tiap-tiap kumparan dihubungkan pada satu segmen komutator. Tiap segmen merupakan pertemuan dua ujung kumparan yang terhubung. Kumparan penguat dihubungkan secara seri, jangkar merupakan bagian bergerak yang dibuat dari besi berluminasi untuk mengurangi rugi-rugi arus Eddy. Kumparan jangkar diletakkan pada slot besi pada bagian luar permukaan jangkar. Pada jangkar terdapat komutator yang berbentuk silinder dan masing-masing di isolasi. Sisi kumparan dihubungkan dengan segmen komutator pada beberapa bagian yang berbeda, tergantung dari tipe belitan yang diperlukan.

BAB III PERANCANGAN DAN PEMBUATAN ALAT 3.1 KONFIGURASI SISTEM Secara umum konfigurasi sistem dari Robot Sumo ini terdiri dari input, kontroler dan output. Dari sisi masukan (input) terdiri dari sensor inframerah, kontroler yang digunakan adalah mikrokontroller ATMEGA 16, dan pada sisi keluaran (output) digunakan driver motor .

Gambar 3.1 Blok Diagram Sistem Pada robot sumo diperlukan teknik agar didapatkan pergerakan yang baik. Pada robot sumo ini hal yang paling penting adalah posisi bertahan. Untuk mendapatkan teknik tersebut maka diperlukan metode yang digambarkan sebagai berikut ini.

Gambar 3.2 Mekanisme Gerak Robot Sumo5 Untuk penjelasan dari mekanisme gerak tersebut dijelaskan pada tabel berikut ini. Tabel 3.1 Penjelasan dari Mekanisme Gerak Robot Sumo5 Status Deskripsi Tindakan BERTAHAN Robot masuk kedalam kategori ini ketika mendeteksi adanya garis tepi arena. Robot akan dinyatakan menang apabila robot tidak keluar arena. Robot segera berputar menjauh dari garis tepi apabila mendeteksi garis tepi arena.

1.

Berputar menjauh dari garis tepi arena

2.

Beralih ke posisi Mencari setelah berputar selesai

MENCARI

TARGET

Robot tidak berada di tepi arena dan 1. tidak mendeteksi adanya lawan. Robot terus berputar didalam arena dengan harapan menemukan lawan.

Kembali ke status bertahan apabila garis tepi terdeteksi.

2.

Beralih ke posisi Target apabila sensor mendeteksi adanya robot lawan.

3.

Tetap mencari apabila robot lawan belum ditemukan.

1.

Kembali ke status bertahan apabila garis arena terdeteksi.

2.

Jika robot lawan berada didepan langsung dan posisi robot lawan dekat maka alihkan ke posisi Serang.

3.

Jika robot lawan berada didepan namun

Robot lawan telah terdeteksi berada didepan.

posisinya cukup jauh, kendalikan robot bergerak maju.

SERANG

4.

Kembali ke posisi Mencari apabila robot lawan belum ditemukan.

Robot lawan telah ditemukan. 1. Kendalikan robot bergerak lurus kedepan dengan kekuatan penuh untuk mendorong lawan keluar arena.

Kembali keposisi Bertahan apabila garis arena terdeteksi.

2.

Kendalikan robot bergerak lurus kedepan.

3.2 PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS Sistem perangkat keras disini terdiri dari sensor inframerah, sensor garis, perangkat komparator, perangkat mikrokontroller, dan driver motor. 3.2.1 Perencanaan dan pembuatan sensor deteksi garis Pada sensor garis ini digunakan led dan photodiode, dimana led sebagai pengirim (transmitter) dan photodiode sebagai penerima (receciver). Sensor garis ini mendeteksi warna putih, apabila terdeteksi adanya warna putih maka nilai dari output komparator juga akan berubah. Karena output dari komparator berupa nilai digital 0 atau 1 maka nilai komparator akan merubah nilai yang sebelumnya. Misal nilai yang sebelumnya bernilai 0 maka setelah terdeteksi adanya warna

putih nilai komparator akan berubah menjadi 1. Untuk rangkaian dari sensor garis ditunjukkan oleh gambar berikut.

Gambar 3.3 Rangkaian Sensor Deteksi Garis Karena kondisi tiap ruangan berbeda maka kepekaan sensor juga perlu diperhatikan. Untuk merubah kepekaan sensor garis ini dapat diatur pada VR (Variable Resistor), nilai dari VR dapat diubah sesuai dengan kondisi ruangan. 3.2.2 Perencanaan dan pembuatan sensor deteksi lawan Pada sensor deteksi lawan ini hampir sama prinsipnya seperti sensor deteksi garis, hanya saja yang digunakan untuk bagian pengirim (transmitter) digunakan inframerah, sedangkan untuk bagian penerima (receiver) photodiode. Sensor ini mendeteksi ada atau tidak lawan dibagian samping kiri, kanan, dan bagian belakang robot. Apabila sensor ini mendeteksi adanya lawan dibagian samping kiri, kanan, dan bagian belakang robot maka sensor akan memberikan data kepada mikrokontroller untuk menggerakkan motor supaya robot menghindar.

Gambar 3.4 Rangkaian Sensor Deteksi Serangan Lawan

3.2.3 Perancangan mikrokontroller Dalam membuat rangkaian mikrokontroller diperlukan pemahaman mengenai sistem minimum dari mikrokontroller yang akan dirancang. Sistem rangkaian yang akan dirancang diusahakan menggunakan rangkaian yang seringkas mungkin dan dengan sistem penataan kabel yang baik. ATMEGA16 mempunyai rangkaian eksternal yang relatif sedikit dibanding dengan mikrokontoler yang lain. Rangkaian eksternal yang dibutuhkan adalah sebagai berikut : 3 4 5 6

Rangkaian Clock Generator CPU Rangkaian Eksternal Reset Rangkaian Regulator Interfacing ke rangkaian luar (tergantung kebutuhan pemakai)

3.2.3.1 Rangkaian Clock Generator Mikrokontroller ATMEGA16 memiliki osilator internal (on chip oscillator) yang dapat digunakan sebagai sumber clock bagi CPU. Untuk mengunakan osilator internal diperlukan sebuah kristal antara pin XTAL1 dan XTAL2 serta kapasitor ke ground seperti gambar.

Gambar 3.5 Rangkaian osilator kristal Untuk kristal dapat digunakan frekuensi dari 6 sampai 12 MHz. Namun pada rangkaian kali ini digunakan kristal dengan frekuensi 11.0562 MHz. Sedangkan untuk kapasitor dapat digunakan kapasitor dengan nilai 27 pF sampai 33 pF.

3.2.3.2 Perencanaan dan Pembuatan Rangkaian Power Supply Rangkaian power supply yang digunakan untuk memberi tegangan pada mikrokontroller harus stabil, dan mempunyai arus yang cukup sehingga tidak terjadi drop tegangan pada mikrokontroller dan rangkaian yang lain. Supply tunggal yang dibutuhkan mikrokontroller sebesar +5 Volt. Pada pemilihan baterai dipilih yang relatif kecil sehingga tidak terlalu membebani daya dari motor penggerak, disamping itu diperlukan baterai yang mempunyai kapasitas daya yang cukup besar untuk mensupply rangkaian secara keseluruhan. Tegangan yang digunakan untuk mensupply mikrokontroller diambilkan dari baterai yang terpasang pada badan robot. Supaya tegangan dari baterai tersebut sesuai dengan tegangan kerja dari mikrokontroller, maka perlu diberikan rangkaian regulator tegangan yang berfungsi menurunkan tegangan baterai dari 12 Volt atau 9 Volt menjadi 5 Volt. Regulator yang digunakan adalah IC 7805 seperti yang ditunjukkan oleh gambar berikut:

Gambar 3.6 Rangkaian power supply untuk mikrokontroller Pemasangan kapasitor juga diperlukan, karena power supply dari baterai biasanya mendapatkan noise dari rangkaian. Untuk menghindari kerusakan supply yang disebabkan oleh hubungan singkat, maka perlu diberi kapasitor polar dengan nilai besar. 3.2.3.3 Perancangan Interfacing I/O Rangkaian I/O dari mikrokontroller mempunyai kontrol direksi yang tiap bit dapat dikonfigurasikan secara individual, maka dalam pengkonfigurasian I/O yang digunakan ada yang berupa operasi port ada pula yang dikonfigurasi tiap bit I/O. Berikut ini akan diberikan

konfigurasi dari I/O mikrokontroller tiap bit yang ada pada masingmasing port yang terdapat pada mikrokontroller. 1.

Port A

Pada PortA ini berfungsi sebagai ADC internal dari mikrokontroller, dimana dua bit awal dari PortA yaitu PortA.0 dan PortA.1 difungsikan sebagai input dari sensor inframerah (SHARP GP2D12). 2 Port B Port B digunakan sebagai input dari sensor garis dan sensor inframerah pendeteksi ada tidaknya lawan yang berada di sebelah kiri, dan belakang robot. 3. Port C Port C digunakan sebagai input dari sensor garis dan sensor inframerah pendeteksi ada tidaknya lawan yang berada di sebelah kanan robot. 4. Port D Port yang digunakan pada Port D ini antara lain : Port D.0 sebagai arah motor kanan Port D.1 sebagai PWM untuk motor kanan Port D.2 sebagai PWM untuk motor kiri Port D.3 sebagai arah motor kiri 3.2.3

Perencanaan dan Pembuatan Driver Motor

Driver motor digunakan sebagai penghubung antara mikrokontroller ke motor DC. Digunakan driver motor karena arus yang keluar dari mirokontroller tidak mampu mencukupi kebutuhan dari motor DC. Rangkaian utama dari driver motor DC ini terdiri dari mosfet, motor, dan optocoupler. Untuk rangkaian motor DC ditunjukkan pada gambar dibawah ini:

Gambar 3.7 Rangkaian Driver Motor

3.2.4

Gambar Desain Robot Sumo

Gambar 3.8 Gambar Robot Sumo Bagian Bawah Pada robot sumo ini menggunakan roda belakang yang cukup besar agar didapatkan daya dorong serta torsi yang cukup kuat untuk mendorong lawan. Masing-masing dari roda belakang ini digerakkan dengan motor DC. Pada bagian depan bawah digunakan satu roda depan

yang berfungsi sebagai roda bebas agar bisa bergerak kemana saja. Untuk mendeteksi adanya garis digunakan empat sensor deteksi garis, dimana dua sensor garis terletak pada bagian bawah depan dan dua yang lain terletak pada bagian bawah belakang .

Gambar 3.9 Gambar Robot Sumo Bagian Atas Untuk robot sumo bagian atas terdapat enam sensor deteksi serangan lawan dari belakang samping kiri maupun samping kanan. Masing-masing sisi robot terdapat dua sensor. Sedangkan untuk bagian depan sensor juga terdapat dua sensor untuk mendeteksi pergerakan lawan. Sensor tersebut mengikuti robot lawan kemanapun robot lawan pergi. Selain sensor, pada bagian atas robot juga terdapat mikrokontroller dan buzzer. Robot sumo ini menggunakan pelindung bagi sensor depan agar terhindar dari kemungkinan tumbukan yang terjadi dengan robot lawan. Kemudian robot ini dikemas seperti yang ditunjukkan oleh gambar berikut ini.

Gambar 3.10 Gambar Robot Sumo Keseluruhan

3.3 PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK Sistem perangkat lunak pada proyek akhir ini adalah mengaktifkan sensor dan menggerakkan motor dengan menggunakan CodeVision AVR. Flowchart pembuatan software ditunjukkan pada gambar berikut:

START

Init sensor, init motor,init pwm

Start scan

Ada garis?

T

Y

Menghindar

Ada lawan?

Y Serang

Y Ada garis?

Y

T T

Ada lawan?

Y Menang

Gambar 3.11 Flowchart Pembuatan Program

BAB IV PENGUJIAN DAN ANALISIS Dalam Bab ini akan dibahas tentang pengujian berdasarkan perencanaan dari sistem yang dibuat. Pengujian ini dilaksanakan untuk mengetahui kehandalan dari sistem dan untuk mengetahui apakah sudah sesuai dengan perencanaan: 1. Pengujian Sensor Inframerah (SHARP GP2D12) 2. Pengujian Sistem Minimum AVR 3. Pengujian Driver Motor DC 4.1 Pengujian Sensor Inframerah (SHARP GP2D12) 4.1.1 Pengujian Jarak Deteksi Sensor Inframerah (SHARP GP2D12) menggunakan LCD Pada bagian ini diuji tentang jarak minimum dan maksimum yang dapat dijangkau oleh sensor inframerah (SHARP GP2D12). Robot ini menggunakan dua buah sensor inframerah (SHARP GP2D12). Untuk mengetahui jarak yang dapat dijangkau oleh sensor ini digunakan LCD. Dari LCD dapat diketahui data yang dikeluarkan oleh sensor. Berikut merupakan potongan program untuk menguji sensor tersebut melalui LCD. #include // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x12 #endasm #include convert(unsigned char b) { unsigned char adc; adc=b/100; lcd_putchar(48+adc); b%=100; adc=b/10; lcd_putchar(48+adc); b%=10; lcd_putchar(48+b); }

void tampil_adc() { lcd_gotoxy(0,0); lcd_putsf("ired 0="); convert(adc_data[0]); lcd_gotoxy(0,1); lcd_putsf("ired 1="); convert(adc_data[1]); } while (1) { tampil_adc(); // Place your code here }; Gambar 4.1 Listing Program Pengujian SHARP GP2D12 melaui LCD Setelah program diatas didownload dan diuji, karena tipe sensor yang digunakan sama maka dapat diambil salah satu dari kedua sensor tersebut. Data dari sensor tersebut ditunjukkan pada tabel berikut. Tabel 4.1 Tabel Pengujian Sensor SHARP GP2D12 dengan LCD Jarak (Cm) 3 5 7 10 15 20 25 30 35 40 45 50 55

Data (Dec) 54 85 100 132 95 72 60 50 46 38 34 31 28

60 65 70 75 80 85 90 95 100 105

26 25 22 20 19 17 10 8 5 1

Dari tabel tersebut dapat diketahui bahwa pada jarak 10 cm sensor ini berada pada nilai yang tertinggi yaitu 132, sedangkan sebelum jarak 10 cm data yang ditunjukkan oleh sensor ini turun lagi ini dapat diartikan bahwa data yang ditunjukkan sebelum jarak 10 cm kacau. Ini berarti bahwa sensor ini dapat mendeteksi suatu objek dimulai dari 10 cm. 4.1.2 Pengujian Sudut Elevasi Sensor Inframerah (SHARP GP2D12) menggunakan LED Pada bagian ini sensor inframerah (SHARP GP2D12) akan diuji seberapa besar sudut elevasi yang dapat dijangkau oleh sensor ini. Untuk mengetahui pelebaran sudut elevasi digunakan simulasi led, apabila diberi suatu halangan dan halangan tersebut digeser kekiri maupun kekanan akan diketahui bahwa halangan tersebut masih terdeteksi oleh sensor atau tidak, hal tersebut bisa diketahui dari nyala led. Berikut merupakan potongan program untuk mengetahui sudut elevasi sensor. #include unsigned char sens; flash unsigned char xx[2]={0x01,0x02}; flash unsigned char yy[2]={0xfe,0xfd}; flash unsigned char zz[2]={23,23};

if(adc_data[input_index] < zz[input_index]) sens|=xx[input_index]; else sens&=yy[input_index]; while (1) { // Place your code here PORTD=(((sens>>1)|(senscc[input_index]) se|=aa[input_index]; else se&=bb[input_index]; #asm pop r30 out sreg,r30 pop r31 pop r30 pop r27 pop r26 #endasm }

#pragma savereg+ // Declare your global variables here /* void mundur_serong_ka() { dir_kanan=0;dir_kiri=0;pwmr=100;pwml=200; delay_ms(100); } void mundur_serong_ki() { dir_kanan=0;dir_kiri=1;pwmr=200;pwml=100; delay_ms(100); } */ void maju_kiri_putar() { dir_kanan=1;dir_kiri=1;pwmr=200;pwml=200; delay_ms(100); dir_kanan=1;dir_kiri=0;pwmr=150;pwml=100; delay_ms(100); } void maju_kanan_putar() { dir_kanan=1;dir_kiri=0;pwmr=200;pwml=200; delay_ms(100); dir_kanan=0;dir_kiri=0;pwmr=100;pwml=150; delay_ms(100); } void maju_putar_ki() { dir_kanan=1;dir_kiri=1;pwmr=200;pwml=200; delay_ms(100); dir_kanan=1;dir_kiri=0;pwmr=150;pwml=100; delay_ms(100); }

void maju_putar_ka() { dir_kanan=1;dir_kiri=1;pwmr=200;pwml=200; delay_ms(100); dir_kanan=0;dir_kiri=1;pwmr=100;pwml=150; delay_ms(100); } void mundur_banting_ka() { dir_kanan=0;dir_kiri=1;pwmr=150;pwml=150; delay_ms(100); dir_kanan=0;dir_kiri=0;pwmr=100;pwml=150; delay_ms(100); } void maju_dikit() { dir_kanan=1;dir_kiri=0;pwmr=200;pwml=200; delay_ms(100); } void mundur_banting_ki() { dir_kanan=0;dir_kiri=1;pwmr=150;pwml=150; delay_ms(100); dir_kanan=1;dir_kiri=1;pwmr=150;pwml=100; delay_ms(100); }

void serang() { sensor=((se>>1)|(se1)|(se1)|(se
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF