BAB II TINJAUAN PUSTAKA 2.1. Deskripsi Robot Robot merupakan suatu hasil dari kemajuan teknologi yang dapat berbentuk macam-macam, misalnya robot serangga, robot helikopter, robot berbentuk anjing, robot berbentuk mirip manusia dan masih banyak bentuk-bentuk lainnya. Robot ini pada umumnya diciptakan untuk dapat mempermudah pekerjaan manusia. Saat ini robot telah mengalami perkembangan yang sangat pesat, yaitu dapat di-reprogramming atau dapat diprogram ulang. Jadi dengan bentuk mekanik yang sama, robot dapat diprogram ulang untuk melakukan gerakan-gerakan yang lain. Robot mempunyai dasar operasional. Dasar operasional robot tersusun dari 5 elemen yaitu : a) Mekanik robot merupakan anggota badan robot, yang dapat terbuat dari bermacam-macam bahan baik dari logam, maupun dari bahan non-logam, misalkan kayu, acrylic, dan lain-lain. b) Sumber energi atau baterai. Sumber energi dapat berupa listrik, hidrolik, dan lain-lain. c) Peralatan transmisi. Alat-alat transmisi dapat berupa kabel, gear I gerigi. Alat-alat ini merupakan penghubung antara mekanik robot dengan sumber energi. d) Sensor, merupakan indera dari robot. Alat ini berfungsi untuk mengolah data-data yang diterimanya, dapat berupa switch, kamera, dan lain-lain. e) Otak dari robot merupakan suatu alat yang berfungsi untuk menerima data-data melalui sensor dan mengolahnya untuk melakukannya suatu pekerjaan sesuai dengan program yang telah ditentukan, dapat berupa suatu chip mikrokontroler. (Widodo Budiharto. 2006 ) 5 6 2.2. Pengenalan Hardware Adapun hardware yang digunakan dalam perancangan robot ini adalah Mikrokontroler ATMEGA8535, Sensor Navigasi atau Pengindera (Infra Merah dan Ultrasonik ), Penggerak Kaki (Motor Servo), dan Sumber Daya (Batere). 2.2.1. Mikrokontroler Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol atau pengendali rangkaian elektronika dan pada umumnya dapat menyimpan program didalamnya. Mikrokontroler jika diartikan secara harafiah, berarti pengendali yang berukuran kecil atau mikro. Sekilas mikrokontroler hampir sama dengan mikroprosessor. Namun mikrokontroler memiliki banyak komponen yang terintegrasi di dalamnya misalnya Timer atau counter, sedangkan pada mikroprosessor komponen tersebut tidak terintegrasi. Mikrokontroler sesuai untuk tugastugas yang lebih spesifik, karena mikrokontroler mempunyai kapasitas memori total sebesar 64 Kbyte dimana jumlah memori tersebut sudah termasuk memori internal. Pada mikrokontroler memori yang digunakan biasanya adalah EPROM (Erasable Programabel Read Only Memory), karena dapat diprogram ulang dan dapat juga dihapus dengan sinar ultraviolet. Selain itu ada juga beberapa tipe memori lain yang digunakan misalnya EEPROM (Electric by Erasable Programabel Read Only Memory). Mikrokontroler merupakan sebuah sistem komputer yang seluruh atau sebagian di dalam satu chip IC, sehingga sering disebut sebagai single chip mikrokomputer. Mikrokontroler merupakan sebuah sistem komputer yang mempunyai satu atau beberapa tugas yang sangat spesifik, berbeda dengan PC(Personal Computer) yang mempunyai beberapa fungsi. 7 Gambar 2.1. Diagram Blok Sistem Mikrokontroler ( www.innovativeelectronics.com, 2009) 2.2.1.1. Central Processing Unit (CPU) CPU terdiri atas dua bagian, yaitu unit pengendali (control unit) serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah mengambil, mengkodekan, dan melaksanakan urutan sebuah program yang tersimpan dalam memori. Unit pengendali menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk menyerempakkan operasi, aliran, dan instruksi program. Unit aritmatika dan logika berfungsi untuk menghasilkan proses perhitungan yang diperlukan dalam selama program dijalankan serta mempertimbangkan suatu kondisi dan mengambil suatu keputusan yang diperlukan untuk instruksi – intruksi berikutnya. 2.2.1.2. Bus Alamat Bus alamat berfungsi sebagai sejumlah lintasan saluran pengelamatan antara alat dengan sebuah computer. Pengelamatan ini harus ditentukan terlebih dahulu untuk menghindari terjadinya kesalahan sebuah instruksi dan terjadinya benturan antara dua buah 8 alat yang bekerja secara bersamaan. 2.2.1.3. Bus Data Bus data merupakan sejumlah lintasan saluran keluar masuknya data dalam suatu mikrokontroler. Pada umumnya saluran data yang masuk sama dengan saluran data yang keluar. 2.2.1.4. Bus Control Bus control atau bus pengendali ini berfungsi untuk menyerempakkan operasi mikrokontroler dengan rangkaian luar. 2.2.1.5. Memori Didalam sebuah mikrokontroler terdapat suatu memori yang berfungsi untuk menyimpan data atau program. Ada beberapa jenis memori, diantaranya RAM merupakan memori yang dapat dibaca dan ditulis, dan ROM yaitu memori yang hanya dapat dibaca. Ada beberapa tingkatan memori, diantaranya adalah register internal, memori utama, dan memori massal. Register internal adalah memori di dalam ALU. Waktu akses register sangat cepat, umumnya kurang dari 100ns. Memori utama adalah memori yang ada pada suatu system. Waktu aksesnya lebih lambat dibandingkan dengan register internal, yaitu 200 – 100ns. Memori massal dipakai untuk penyimpanan berkapasitas tinggi, biasanya berbentuk disket, pita magnetik, atau kaset. ( Agfianto Eko Putra. 2004 ) 2.2.2. Mikrokontroler ATmega8535 Mikrokontroler AVR (Alf and Vegard’s Risc processor) standart memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi dalam 1(satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing). 9 Di dalam Mikrokontroler Atmega8535, sudah berisi: a. Saluran I/O sebanyak 32 buah, yaitu Port A sampai Port D b. ADC (Analog to Digital Converter) 10 bit sebanyak 8 chanel. c. Tiga buah Timer/Counter d. CPU yang memiliki 32 buah register e. 131 Instruksi yang hanya membutuhkan 1 siklus clock f. Watchdog Timer dengan osilator internal g. 2 buah timer/counter 8 bit h. 1 buah timer/counter 16 bit i. Tegangan operasi 2,7 V – 5,5 V j. Internal SRAM sebesar 1KB k. Memori Flash sebesar 16KB dengan kemampuan Read While Write. l. Unit interupsi internal dan eksternal m. Port antarmuka SPI (Serial Pheripheral Interface) n. Kecepatan hampir mencapai 16 MPIS pada Kristal 16 Mhz o. Internal downloader USB AVR (In-system Programming dilengkapi LED programming indicatior) p. Tidak membutuhkan power tambahan saat melakukan download program q. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. Beberapa karakteristik ADC mikrokontroler ATMega8535 adalah a. Mudah dalam pengoperasian b. Resolusi 10 bit c. Memiliki 8 masukan analog d. Konversi pada saat CPU sleep e. Interrupt waktu konversi selesai. Internal yang terdapat pada 10 Gambar 2.2. Blok diagram ATmega8535 ( www.innovativeelectronics.com, 2009) 11 Berikut sekema minimum system ATmega 8535 seperti ditunjukkan pada Gambar 2.3. Gambar 2.3. Skema ATmega 8535 ( www.innovativeelectronics.com, 2009) Konfigurasi pin ATmega8535, pada Gambar2.4 berikut ini merupakan susunan kaki standar 40 pin Mikrokontroler AVR ATmega 8535. Gambar 2.4. Konfigurasi pin ATmega8535 ( www.innovativeelectronics.com, 2009) 12 Gambar IC ATMEGA8535 dapat dilihat pada gambar 2.4. Berdasar gambar tersebut, dapat dijelaskan secara fungsional konfigurasi pin dari ATmega8535 sebagai berikut : 1. VCC merupakan pin masukan positif catu daya. Setiap piranti elektronika digital membutuhkan sumber daya yang umumnya sebesar 5V. Oleh karena itu, biasanya di PCB kit mikrokontroler selalu ada IC regulator 7805 2. GND sebagai pin ground 3. Port A (PA0..PA7) merupakan pin I/O dua arah dan dapat diprogram sebagai pin masukan ADC 4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Tmer/Counter, komparator analog, dan SPI 5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog dan Timer Osilator 6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial 7. Reset merupakan pin yang digunakan untuk me-reset mikrokontroler 8. XTAL1 dan XTAL2 sebagai pin masukan clock eksternal. Suatu mikrokontroler membutuhkan sumber detak (clock) agar dapat mengeksekusi instruksi yang ada di memeori. Semakin tinggi nilai kristalnya, semakin cepat mikrokontroler tersebut 9. AVCC sebagai pin masukan tegangan untuk ADC 10. AREF sebagai pin masukan tegangan referensi (Ary Heryanto dan Api Wisnu.2008) 2.2.3. Sensor Sensor yaitu alat yang berfungsi mengukur besaran tertentu (quantity) seperti objek, suhu, kelembaban, panas, jarak, dan sebagainya. Sensor umumnya tidak dapat langsung masuk ke mikrokontroler karena perlu penyesuaian besaran tegangan dan lain-lainnya. Oleh karena itu dikondisikan dulu sinyalnya di bagian pengkondisi sinyal (signal 13 conditioner ), sehingga levelnya sesuai atau dapat dimengerti oleh bagian input mikrokontroler atau prosesor lainnya. 2.2.3.1. Modul Sensor Infra Merah Salah satu jenis sensor yang digunakan adalah sensor Sharp GP2D12, merupakan sensor pendeteksi jarak yang memuaskan pada apliksi robot, selain itu juga ukurannya yang kecil menghemat tempat dan daya. Sensor Sharp GP2D12 ini dilengkapi kabel 3 pin JST. Sensor infrared ranger terdiri dari sebuah LED infrared dan sebuah Position Sensing Device (PSD). Sensor mengukur jarak obyek yang memantulkan cahaya infra merah melalui proses triangulasi. Keluaran analog dari sensor Infrared Ranger diubah oleh modul DT-SENSE ULTRASONIC AND INFRARED RANGER menjadi berbentuk pulsa atau data keluaran yang menyatakan jarak obyek yang memantulkan cahaya infra merah tersebut. ( Budiharto, Widodo. 2006 ) Gambar 2.5. Sharp GP2D12 dan Kabel JST 3 Pin ( www.innovativeelectronics.com, 2009 ) Blok diagram dari sharp GP2D12 berisi led pemancar dan penerima yang memiliki rangkaian pemroses, pengemudi dan rangkaian osilasi, serta rangkaian output analog seperti gambar berikut. 14 Gambar 2.6. Blok Diagram GP2D12 (www.innovativeelectronics.com, 2009) Sensor ini mempunyai output 3 kabel, yang terdiri dari : Pin kabel kuning sebagai tegangan output (Vo), Pin kabel hitam sebagai GND Pin kabel merah sebagai Vcc. Gambar 2.7. Susunan Pin Sharp GP2D12 (www.innovativeelectronics.com, 2009) GP2D12 mendeteksi bacaan terus menerus ketika diberi daya. Out-put-nya berupa tegangan analog yang sesuai dengan jarak yang diukur. Nilai tersebut diperbaharui setiap 32 ms. Umumnya output dihubungkan ke converter A/ D yang mengubah hasil pengukuran jarak ke bilangan biner sebagai input mikrokontroler. 15 Output-nya juga keluarannya adalah serial, jadi dapat langsung dihubungkan ke system mikrokontroler dalam format serial. Berdasarkan pengukuran, tegangan yang dihasilkan pada jarak 10 cm ialah 2.6, dan menurun tidak secara linear pada jarak 80 cm berkisar pada tegangan 0.5 V. Karakteristik optis dari GP2D12 pada (Ta=25 derajat celcius, dan Vcc=5 V ), sensor tersebut dapat mengukur jarak dari 10 hingga 80 cm dengan arus maksimum 50 mA dan tipikal 22 mA. Infrared memiliki sifat yang sama dengan transistor yaitu menghasilkan kondisi cut off dan saturasi. Perbedaannya ialah, bilamana pada transistor kondisi cut off terjadi saat tidak ada arus yang mengalir melalui basis ke emitor dan kondisi saturasi terjadi saat ada arus mengalir melalui basis ke emitor maka ada phototransistor kondisi cut off terjadi saat tidak ada cahaya infrared yang diterima dan kondisi saturasi terjadi saat ada cahaya infrared yang diterima. 2.2.3.2. Sensor UltraSonic and Infrared Ranger (USIRR) DT-SENSE Ultrasonic and InfraRed Ranger merupakan modul sensor pengukur jarak dengan media gelombang ultrasonic dan dapat dihubungkan dengan maksimum 2 buah infrared ranger (Sharp GP2D12). Modul ini dapat dengan mudah dihubungkan ke berbagai sistem berbasis mikrokontroler dan hanya membutuhkan 1 pin I/O saja. Modul ini dapat digunakan dalam aplikasi pengukur jarak, pintu otomatis, sekuriti, robot cerdas, dan lain-lain. 16 Gambar 2.8. Modul Sensor UltraSonic and InfraRed Ranger (www.innovativeelectronics.com, 2009) Sensor ultrasonic adalah sensor yang bekerja berdasarkan prinsip pantulan gelombang suara, dimana sensor menghasilkan gelombang suara yang kemudian menangkapnya kembali dengan perbedaan waktu sebagai dasar penginderaannya. Perbedaan waktu antara gelombang suara yang dipancarkan dan yang diterima kembali adalah berbanding lurus dengan jarak atau tinggi objek yang memantulkannya. Jenis objek yang dapat diinderanya adalah padat, cair dan butiran. Tanpa kontak jarak 2 cm sampai 3 meter dan dapat dengan mudah dihubungkan dengan mikrokontroler malalui satu pin I/O saja Ultrasonic Ranger ini berkerja dengan cara memancarkan sinyal ultrasonic (yang memiliki frekuensi jauh di atas jangkauan pendengaran manusia) dan menghasilkan pulsa atau data keluaran yang menyatakan jarak yang ditempuh oleh sinyal tersebut sebelum menyentuh sebuah obyek dan memantul kembali. 2.2.4. Motor Servo Servo motor dilengkapi dengan motor DC untuk mengendalikan posisi sebuah robot. Rotor motor dapat diputar/ diposisikan hingga 180 derajat.untuk servo motor biasa digunakan untuk mengendalikan gerak dari toys (mainan) seperti model mobil, pesawat, perahu, dan helicopter. Karena motor servo secara luas digunakan untuk hobi-hobi 17 seperti yang telah disebutkan di atas, tentunya variasinya pun sangat banyak dijual. Dan alat penggerak ini banyak tersedia dan murah. Servo motor ialah DC motor berkualitas tinggi yang memenuhi syarat untuk digunakan pada aplikasi servo seperti closed control loop. Motor tersebut harus dapat menangani perubahan yang cepat pada posisi, kecepatan dan perpecepatan, serta harus mempu menangani intermittent torque. Servo mempunyai 3 kabel, yaitu Vcc, ground dan PW input. Tidak seperti PMW pada DC motor, input sinyal untuk servo tidak digunakan untuk mengatur kecepatan tetapi digunakan untuk mengatur posisi dari putaran servo. Gambar 2.9 Pin Pada Motor Servo (www.innovativeelectronics.com, 2009) Sinyal PW digunakan untuk servo mempunyai frekwensi 50 Hz, sehingga pulsa dbuat setiap 20 ms. Sebagai contoh, sebuah pulsa 0.7 ms akan memutarkan disk servo ke posisi kiri (-120 derajat), dan pulsa 1.7 ms akan memutarkan disk ke posisi kanan (+120 derajat). Kekurangan servo ialah tidak menyediakan feedback. Umumnya kita membeli servo continous karena dapat berputar 360 derajat. Berikut contoh dari servo motor dan beberapa alat penggerak lainnya yang biasa digunakan untuk menggerakkan robot. ( Widodo Budiharto, 2006 ) 18 Gambar 2.10. Motor Servo Continous Parallax ( www.innovativeelectronics.com, 2009 ) 2.2.5. Sumber Daya Dalam fungsinya, robot membutuhkan tenaga, dan hampir semua robot menggunakan tenaga listrik dalam penerapannya. Ada dua sumber dari tenaga listrik pada robot bergerak (mobile robotic), yaitu baterai dan tenaga surya(matahari). 2.2.5.1. Baterai Baterai adalah tenaga penggerak robot yang paling banyak digunakan karena penggunaannya sangat mudah. Ada banyak sekali jenis baterai yang ada untuk menggerakkan sebuah robot, tetapi beberapa jenis baterai yang sangat umum digunakan adalah carbonzinc, alkalin, nickel-cadmium, lead-acid, dan lithium. Jika menggunakan IC TTL atau komponen lainnya yang menggunakan tegangan 5 Volt, dapat digunakan dengan sumber dari baterai 9 Volt atau gabungan baterai dengan total tegangan yang memadai sebagai sumber regulator 7805 yang dapat mensuplai arus hingga 90 mA. 2.2.5.2. Catu Daya Saat ini sebagai regulator tegangan, telah digunakan IC yang khusus seperti 7812 untuk regulator tegangan positif 12 Volt dan 19 7912 untuk regulator tegangan negatif -12 Volt. Rangkaian catu daya yang mampu mengeluarkan tegangan sangat stabil. CT adalah singkatan dari Center Tap yang berfungsi sebagai ground / 0 Volt. 2.3. Pengenalan Software Dalam melakukan pemrograman banyak software yang dapat digunakan seperti Pinneacle, CodeVisionAVR, BASCOM-8051, AVR Studio-4 dan BASCOM-AVR. Dalam perancangan robot penghindar halangan penulis menggunakan bahasa pemrograman bahasa C dengan menggunakan software CodeVisionAVR. 2.3.1. CodeVisionAVR Software ini digunakan untuk menuliskan program ke dalam mikrokontroler ATmega8535. Software pemrograman adalah suatu program yang digunakan untuk menulis program. Salah satu softwarenya yaitu CodeVisionAVR program ini mendukung berbagai macam jenis mikrokontroler diantaranya mikrokontroler ATmega8535. Program ini juga mendukung berbagai macam bahasa pemrograman diantaranya adalah bahasa assembler, C, C++ dan bahasa basic. . 2.3.2. OSPAVR II Software Downloader adalah software yang digunakan untuk mendownload program yang berekstensi “.hex” ke mikrokontroler salah satunya jenis mikrokontroler ATmega8535. Software yang dipakai dalam men-download program adalah OspAVR II