1
TUGAS AKHIR
PERANCANGAN SISTEM REMOTE CONTROL PADA ROBOT BERODA PENGHITUNG JARAK BERBASIS ATMEGA 16 Disusun Untuk Memenuhi Syarat Guna Memperoleh Gelar Kesarjanaan Strata Satu
Disusun Oleh :
NAMA : Baradista Dimas Leotman NIM
: 41405010022
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCU BUANA 2010
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
2
LEMBAR PENGESAHAN
PERANCANGAN SISTEM REMOTE CONTROL PADA ROBOT BERODA PENGHITUNG JARAK BERBASIS ATMEGA 16
Disusun Untuk Memenuhi Syarat Guna Memperoleh Gelar Kesarjanaan Strata Satu
Disusun oleh :
Baradista Dimas Leotman 41405010022
Menyetujui,
Koordinator Tugas Akhir
Pembimbing Tugas Akhir
( Ir. Yudhi Gunardi MT.)
( DR. Ir. Andi Adriansyah, M. Eng. )
Mengetahui, Kepala Program Studi Teknik Elektro
( Ir. Yudhi Gunardi MT. )
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
3
LEMBAR PERNYATAAN KEASLIAN TUGAS AKHIR
Saya yang bertanda tangan dibawah ini :
Nama
:
Baradista Dimas Leotman
NIM
:
41405010022
Fakultas
:
Teknologi Industri
Jurusan
:
Teknik Elektro
Program Studi
:
Elektronika
Dengan ini menyatakan bahwa hasil penulisan Skripsi yang telah saya buat dengan judul “PERANCANGAN SISTEM REMOTE CONTROL PADA ROBOT BERODA PENGHITUNG JARAK BERBASIS ATMEGA 16 “ ini merupakan hasil karya sendiri dan benar keasliannya. Apabila ternyata di kemudian hari penulisan Skripsi ini merupakan hasil plagiat atau penjiplakan terhadap karya orang lain, maka saya bersedia mempertanggung-jawabkan sekaligus bersedia menerima sanksi berdasarkan aturan tata tertib di Universitas Mercu Buana.
Demikian, pernyataan ini saya buat dalam keadaan sadar dan tanpa paksaan dari pihak manapun.
Jakarta, 09 Agustus 2010 Yang membuat Pernyataan,
( Baradista Dimas Leotman)
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
4
DAFTAR ISI
Halaman Judul…………………………………………………………………….i Halaman Pengesahan……………………………………………………………..ii Halaman Pernyataan Keaslian Tugas Akhir……………………….……………..iii Abstrak…………………………………………………………….……….……..iv Kata Pengantar……………………………………………………………….……v Ucapan Terima Kasih……………………………………………………….……vi Daftar Isi……………………………………………………………………...…viii Daftar Gambar…………………………………………………………………...xi Daftar Tabel……………………………………………………………………..xiv
BAB I
PENDAHULUAN ................................................................................ 1 1.1 Latar Belakang ........................................................................... 10 1.2 Rumusan Masalah Penelitian ...................................................... 11 1.3 Tujuan Penelitian ........................................................................ 11 1.4 Manfaat Penelitian ...................................................................... 11 1.5 Ruang Lingkup Penelitian ........................................................... 11 1.6 Sistematika Penulisan ................................................................. 11 1.7 Metode Penelitian ....................................................................... 12
BAB II TEORI PENUNJANG ........................................................................ 13 2.1 Gambaran Umum ....................................................................... 14 2.2 Mekatronika ............................................................................... 14 2.3 Robotika ..................................................................................... 16 2.3.1 Robot Beroda .................................................................... 18 2.4 Perlengkapan Dasar Mikrokontroler............................................ 20 2.4.1 CPU .................................................................................. 20 2.4.2 Alamat .............................................................................. 20 2.4.3 Data .................................................................................. 20 2.4.4 Pengendali ........................................................................ 21 2.4.5 Memori ............................................................................. 21 Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
5
2.4.6 RAM................................................................................. 21 2.4.7 ROM................................................................................. 21 2.4.8 Input / Output.................................................................... 21 2.5 Mikrokontroler AVR ATmega 16 ............................................... 22 2.5.1 Konfigurasi Pin AVR ATmega 16..................................... 24 2.5.2 Port sebagai Analag Digital Converter (ADC) ................... 26 2.5.3 Timer ................................................................................ 31 2.6 Pemograman Bahasa C ............................................................... 32 2.6.1 Header .............................................................................. 32 2.6.2 Tipe Data .......................................................................... 33 2.6.3 Operator............................................................................ 34 2.7 Jenis Komunikasi........................................................................ 36 2.7.1 Bluetooth .......................................................................... 36 2.7.2 Robot Jaringan (internet)................................................... 37 2.7.3 Infrared ............................................................................. 38 2.7.4 Modul Radio Frekuensi ..................................................... 39 2.8 Komunikasi Serial ...................................................................... 41 2.9 LCD ........................................................................................... 42 BAB III PERANCANGAN PERANGKAT KERAS DAN LUNAK ............... 43 3.1 Gambaran Umum ....................................................................... 43 3.2 Blok Diagram Sistem .................................................................. 44 3.3 Perancangan Perangkat Keras ..................................................... 45 3.3.1 Perancangan Rangkaian Power Suplly ............................... 45 3.3.2 Rangkaian Downloader Atmega 16 ................................... 47 3.3.3 Rangkaian Sistem Mikrokontroller .................................... 48 3.3.4 Rangkaian Driver Motor DC ............................................. 49 3.3.5 Rangkaiaan Encoder ......................................................... 51 3.3.6 Perancangan LCD ............................................................. 52 3.3.7 Pembuatan Rangkaian Komunikasi Wireless ..................... 53 3.3.8 Perancangan Mekanik Robot ............................................. 55 3.3.9 Remote Control................................................................. 56 3.4 Perancangan Perangkat Lunak .................................................... 57 Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
6
3.4.1 Perencanaan Memori......................................................... 57 3.4.2 Perencanaan Timer............................................................ 57 3.4.3 Perencanaan Masukan Dan Keluaran ................................ 58 3.4.4 Program Utama ................................................................. 58 BAB IV PENGUJIAN DAN ANALISA........................................................... 62 4.1. Tujuan Pengujian ........................................................................ 62 4.2. Pengujian Perangkat Power Supply ............................................. 62 4.3 Pengujian Rangkaian Downloader .............................................. 64 4.4 Pengujian Minimum Sistem ATmega16 ...................................... 66 4.5 Pengujian LCD ........................................................................... 68 4.6 Pengujian Sensor Posisi Potensiometer Dan ADC Internal .......... 70 4.7 Pengujian Rangkaian Driver Motor DC ...................................... 72 4.8 Pengujian RF (Radio Frekuensi) ................................................. 75 4.9 Pengujian Encoder .................................................................... 77 4.10 Pengujian Sistem Keseluruhan .................................................... 79 BAB V PENUTUP ......................................................................................... 83 5.2 Saran ......................................................................................... 83 Daftar Pustaki .................................................................................................... xv Lampiran
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
7
DAFTAR GAMBAR Gambar 2.1 Definisi dan Keterkaitan Ilmu di Mekatronika
6
Gambar 2.2. Contoh Aplikasi Robot
9
Gambar 2.3. Contoh Aplikasi Robot beroda
10
Gambar 2.4 Blok Diagram Arsitektur ATmega16
15
Gambar 2.5 Pin-pin ATmega16 kemasan 40-pin
16
Gambar 2.6 Timing diagram untuk Mode single-conversion
18
Gambar 2.7 register ADMUX
18
Gambar 2.8 register ADCSRA
19
Gambar 2.9 register ADCLAR = 0
20
Gambar 2.10 register ADCLAR = 1
20
Gambar 2.11 register SFIOR
21
Gambar 2.12 blok diagram timer/counter
22
Gambar 2.13 bluetooth
28
Gambar 2.14 aplikasi robot jaringan
29
Gambar 3.1 Sistem diagram blok robot
35
Gambar 3.2 Rangkain power suplai
37
Gambar 3.3 Rangkain downloader atmega 16
38
Gambar 3.4 Sistem minimum rangkaian mikrokontroller
39
Gambar 3.5 IC L298
41
Gambar 3.6 Rangkaian Driver L298 dengan H-Bridge
42
Gambar 3.7 Rangkaian encoder
43
Gambar 3.8 Rangkaian lcd
44
Gambar 3.9 Rangkaian pengirim
45
Gambar 3.10 Rangkaian penerima
45
Gambar 3.11 perancangan mekanik
46
Gambar 3.12 Remote control
47
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
8
Gambar 3.13 Flowchart program remote control
50
Gambar 3.14 Flowchart program robot
51
Gambar 4.1 Rangkain power supply
54
Gambar 4.2 Programmer Setting untuk Rangkaian Downloader
56
Gambar 4.3 CodeVision Chip Programmer untuk proses download
56
Gambar 4.4 Proses mendownload mikrokontroller
57
Gambar 4.5 Blok diagram pengujian minimum sistem
58
Gambar 4.6 Listing program pengujian minimum system
58
Gambar 4.7 Blok diagram pengujian LCD
59
Gambar 4.8 Listing program LCD
60
Gambar 4.9 Tampilan pada LCD
61
Gambar 4.10 Blok diagram pengujian akurasi ADC
62
Gambar 4.11 Grafik hasil pengujian ADC
63
Gambar 4.12 Blok diagram pengujian driver motor DC
64
Gambar 4.13 Listing program transmitter
67
Gambar 4.14 Listing program receiver
67
Gambar 4.15 Blok diagram pengujian encoder
69
Gambar 4.16 Hasil pegujian penerimaan dan pengiriman data
70
Gambar 4.17 Hasil pengujian pergerakkan robot
72
Gambar 4.18 hasil pengujian jarak pada encoder
73
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
9
DAFTAR TABEL Tabel 2.1 Pemilihan scaning ADC
21
Tabel 2.2 Tipe-tipe data dasar
24
Tabel 2.3 Operator Kondisi
25
Tabel 2.4 Operator Aritmatika
25
Tabel 2.5 Operator Logika
26
Tabel 2.6 Operator Bitwise
26
Tabel 2.7 Operator Assignment
27
Tabel 2.8 Spesifikasi modul transmitter
31
Tabel 2.9 Spesifikasi modul receiver
31
Tabel 2.10 Tabel Susunan kaki LCD 2x16
33
Tabel 4.1 Hasil pengujian regulator
54
Tabel 4.2 Kondis pengujian led
59
Tabel 4.3 Hasil data adc pada lcd
62
Tabel 4.4 hasil dari pengujian PWM (Pulse Width Modulato
65
Tabel 4.5 Pengujian Driver motor
65
Tabel 4.6 Hasil Pengujian RF
68
Tabel 4.7 Hasil Pengujian Encoder
69
Tabel 4.8 Hasil pengujian penerimaan dan pengiriman data adc
71
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
10
BAB I PENDAHULUAN
1.1 Latar Belakang Dalam bidang industri penggunaan mesin otomatis dan pemrosesan secara otomatis
merupakan
hal
yang
umum.
Sistem
prengontrolan
dengan
elektromekanik yang menggunakan relay-relay mempunyai banyak kelemahan, diantaranya kontak-kontak yang dipakai mudah haus karena panas / terbakar atau karena hubung singkat, membutuhkan biaya yang besar saat instalasi, pemeliharaan dan modifikasi dari sistem yang telah dibuat jika dikemudian hari diperlukan modifikasi. Perkembangan teknologi saat sekarang ini memiliki peranan yang sangat penting dalam kemajuaan kehidupan manusia. Banyak peralatan dibuat yang fungsinya mempermudah suatu pekerjaan menjadi lebih efisien dan cepat. Mungkin banyak yang berpikir bahwa dibutuhkan keahlian yang sangat tinggi untuk dapat mendesain, merancang, dan membuat suatu proyek, khususnya elektronika. Membuat proyek elektronika dapat dimulai dari tingkat dasar dengan cara yang cukup sederhana dan mudah untuk diaplikasikan dalam pembuatan suatu peralatan. Di butuhkan suatu perancangan untuk membuat proyek elektronika. Kita akan mencoba membuat sistem komunikasi robot penghitung jarak menggunakan mikrokontroller. Mikrokontroller yang akan digunakan adalah ATmega16 keluarga AVR (Alf and Vegard Risc Processor). Mikrokontroller merupakan seperangkat alat yang diadaptasi untuk keperluaan aplikasi dunia industri. Pada peracangan alat ini mikrokontroller digunakan untuk pengontrol robot penghitung jarak dengan menggunakan suatu sensor posisi (potensiometer). Dalam bahasa pemograman kita gunakan bahasa C, karena lebih mudah dipelajari karena mempunyai struktur bahasa tingkat tinggi yang lebih mudah dipahami. Oleh karena itu, tugas akhir ini akan berupaya untuk membuat sistem komunikasi pada robot beroda penghitung jarak. Dengan proses perancangan yang akan dibuat untuk menghindari kesalahan-kesalahan dalam pembuatan robot ini. Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
11
Robot yang akan dibuat akan berguna dalam proses penghitungan jarak. Dalam proses pembuatan robot akan dilakukan pengujian-pengujian pada sistem yang mendukung.
1.2 Rumusan Masalah Penelitian Dalam tugas akhir ini akan dibahas bagaimana merancang dan membuat sebuah robot penghitung jarak menggunakan remote control berbasis ATmega 16. Digunakan suatu sistem komunikasi yang ada pada konfigurasi mikrokontroller ATmega. Pembuatan robot ini berfungsi memudahkan pekerjaan penghitungan jarak untuk melakukan suatu kegiatan pengukuran jarak.
1.3 Tujuan Penelitian Tugas akhir ini bertujuan untuk merancang dan membuat robot penghitung jarak menggunakan remote control berbasis ATmega 16.
1.4 Manfaat Penelitian Penelitian ini dihaharapkan bermanfaat untuk Mahasiswa teknik elektro sebagai referensi pembuatan robot. Hasil penelitian ini dapat bermanfaat untuk dapat diaplikasikan dalam sistem komunikasi serial. Hasil penelitian ini juga dapat bermanfaat sebagai alternatif terhadap permasalahan yang sejenis. Seperti kontes robot Indonesia dalam penggunaan sistem komunikasi antar robot.
1.5 Ruang Lingkup Penelitian Penelitian ini dilakukan terhadap model sebuah alat penghitungan jarak. Komponen-komponen yang dipilih berdasarkan harga, kualitas dan kemampuan yang memadai. Kemudahan untuk melaksanakan sistem komunikasi antar mikrokontroller dijadikan dasar sistem yang dirancang. 1.6 Sistematika Penulisan Untuk membahas permasalahan yang telah disampaikan diatas maka Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
12
dalam Tugas Akhir ini dibuat sistematika penulisan. Adapun sistematika penulisan Tugas Akhir ini adalah sebagai berikut:
BAB I PENDAHULUAN Pada bab ini penulis menyajikan latar belakang masalah, perumusan masalah, manfaat & tujuan penelitian, keaslian penelitian, metode penelitian, pembatasan dan ruang lingkup permasalahan serta sistematika penulisan.
BAB II LANDASAN TEORI Menjelaskan tentang Robot dasar berupa pengertian umum tentang robot, mikrokontroller yang digunakan.
BAB III PERANCANGAN Berisi ide dasar berupa gambaran umum pada pola kerja dan pola perancangan sistem pemindah barang.
BAB IV ANALISA DAN PENGUJIAN DATA Menjelaskan tentang cara kerja alat, cara pengoperasiaan alat
BAB V PENUTUP Berisi kesimpulan-kesimpulan dan saran-saran yang diambil dari hasil Tugas akhir
1.7 Metode Penelitian Metode yang digunakan penulisan Tugas Akhir ini adalah: 1.
Metode Studi Literatur Metode ini dilakukan dengan Cara mempelajari dan berusaha memahami buku-buku litiatur, laporan-laporan, pencarian menggunakan internet dan bentuk penulisan lain yang berhubungan dengan penulisan ini.
2.
Perancangan alat
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
13
Metode ini merupakan tahap awal dalam pembuatan alat dan tindak lanjut dari tahap perancangan, yaitu merealisasikan alat sesuai dengan tujuan. 3.
Analisa Alat Dalam Metode ini berbagai macam data yang terjadi akibat dari berbagai kondisi yang terdapat pada alat dicatat dan dipelajari. Selanjutnya dapat ditarik kesimpulan untuk pengembangan lebih lanjut.
4.
Pengambilan Data Dengan melakukan serangkaian percobaan pada alat, sehingga didapat data yang ingin dicapai dan dapat mengetahui karakteristik dari alat tersebut.
BAB II TEORI PENUNJANG
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
14
2.1 Gambaran Umum Sering kita mendengar istilah mikrokomputer, mikroprosesor, dan mikrokontroler. Mikroprosesor adalah bagian CPU (central processing unit) dari sebuah komputer, tanpa memori, I/O, dan periferal yang dibutuhkan oleh suatu sistem lengkap. Supaya dapat bekerja, mikroprosesor memerlukan perangkat pendukung seperti RAM, ROM dan I/O. Bila sebuah mikroprosesor dikombinasi dengan I/O dan memori (RAM/ROM) akan dihasilkan sebuah mikrokomputer. Sebagai terobosan mikrokomputer ini dapat juga dibuat dalam bentuk single chip yaitu Single Chip Microcomputer (SCM) yang selanjutnya disebut sebagai mikrokontroler. Perbedaan yang menonjol antara mikrokomputer dengan mikrokontroler (SCM) adalah pada penggunaan perangkat I/O dan media penyimpan program. Bila mikrokomputer menggunakan disket atau harddrive lainnya maka mikrokontroler menggunakan EPROM sebagai penyimpan programnya. Sedangkan keuntungan mikrokontroler dibandingkan dengan mikroprosesor adalah pada mikrokontroler sudah terdapat RAM dan peralatan I/O pendukung sehingga tidak perlu menambahkannya.
2.2 Mekatronika Batas formal antara berbagai disiplin ilmu rekayasa (engineering) saat ini semakin kabur seiring dengan perkembangan teknologi IC (Integrated Circuit = rangkaian elektronika terpadu) dan komputer. Hal ini terutama terlihat jelas pada bidang mekanik dan elektronik yaitu semakin banyak produk yang merupakan integrasi dari kedua bidang tersebut, sehingga berkembang suatu bidang yang disebut
mekatronika,
yang
merupakan
perluasan
cakupan
dari bidang
elektromekanik. Istilah “mekatronika” pada awalnya diperkenalkan di Jepang oleh Yaskawa Electronic Corp. pada awal 1970-an yang kemudian dikenal luas hingga
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
15
Gambar 2.1 Definisi dan Keterkaitan Ilmu di Mekatronika Saat ini pengendalian sistem mekanik hampir seluruhnya dilakukan menggunakan sistem kendali elektronik dan sebagian besar di antaranya menggunakan komputer. Contohnya adalah mesin mobil. Dahulu sistem pembakaran yang terjadi pada silinder dikendalikan sepenuhnya secara mekanis. Banyaknya bahan bakar dan udara diatur langsung dari pedal lewat perantaraan kabel dengan perbandingan yang telah disetel sebelumnya. Katup terbuka dan tertutup diatur secara mekanik menggunakan camshaft tergantung posisi piston. Saat ini banyak sekali sensor yang terlibat pada sistem pembakaran mobil yaitu di antaranya sensor kecepatan dan posisi poros engkol, sensor temperatur udara dan bahan bakar, dan sensor pada pedal gas. Kesemua informasi dari sensor tersebut diolah oleh sistem pengendali berupa komputer yang disebut engine control unit untuk digunakan mengatur waktu dan besarnya bukaan katup serta perbandingan bahan bakar – udara yang dapat disesuaikan dengan kondisi mesin ataupun pengendara. Pada mobil juga terdapat berbagai sistem lain yang saat ini menerapkan sistem mekatronika, yaitu sistem transmisi automatis, sistem suspensi aktif, sistem anti-lock braking system (ABS), sistem pengkondisi udara, serta display Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
16
kecepatan, putaran mesin dan level bahan bakar. Selain pada kendaraan bermotor, mekatronika juga diterapkan pada berbagai hal antara lain. •
Perancangan sensor/transduser.
•
Peralatan rumah tangga dan perkantoran : mesin cuci, mesin isap debu, timbangan digital, microwave, remote control, pembuat kopi, sistem HVAC, kamera, mesin foto kopi dan masih banyak lagi.
•
Berbagai peranti pada komputer : mouse, printer, disk drive, CD ROM drive, keyboard.
•
Dunia penerbangan : pengendalian pesawat terbang secara Fly By Wire (FBW).
•
Peralatan medis dan laboratorium.
•
Bidang industri : monitoring dan kendali berbagai peralatan industry.
•
Bidang robotika. Komponen utama pada suatu sistem mekatronika adalah sensor, aktuator,
dan kontroler. Sensor digunakan untuk mendeteksi variabel pada sistem. Aktuator berfungsi
untuk
memberikan
aksi
pada
sistem
yang
dikendalikan.
Kontrol/pengendali digital dapat diibaratkan otak pada manusia untuk memproses data dari sensor untuk kemudian memberi perintah pada aktuator. 2.3 Robotika Perkembangan robotika pada awalnya bukan dari disiplin elektronika, melainkan bersal dari ilmuwan biologi dan pengarang cerita novel pertunjukan drama pada sekitar abad XVIII. Para ilmuwan biologi pada saat itu ingin menciptakan makhluk yang mempunyai karakteristik seperti yang mereka inginkan dan menuruti segala apa apa yang mereka perintahkan, dan sampai sekarang makhluk yang mereka ciptakan tersebut tidak pernah terwujud menjadi nyata. Baru sekitar abad XIX robot mulai dikembangkan oleh insinyur teknik, pada saat itu berbekal keahlian mekanika untuk membuat jam mekanik mereka membuat boneka tiruan manusia yang bisa bergerak pada bagian tubuhnya. Pada tahun 1920 robot mulai berkembang dari disilin ilmu elektronika, lebih spesifik pada cabang kajian disiplin ilmu elektronika yaitu teknik kontrol Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
17
otomatis, tetapi pada masa-masa itu komputer yang merupakan komponoen utama pada sebuah robot yang digunakan untuk pengolahan dan masukan dari sensor dan kendali aktuator belum memiliki kemampuan komutasi yang cepat selain ukuran fisik komputer pada masa itu masih cukup besar. Robot-robot cerdas mulai berkembang pesat seiring berkembangnya komputer pada sekitar tahun 1950-an. Dengan semakin cepatnya kemampuan komputasi komputer dan semakin kecilnya ukuran fisiknya, maka robot-robot yang dbuat semakin memiliki kecerdasan yang cukup baik untuk melakukan pekerjan-pekerjan yang biasa dilakukan oleh manusia. Pada awal diciptakannya, komputer sebagai alat hitung saja, perkembangan algoritma pemrograman menjadikan komputer sebagai instrumentasi yang memiliki kemampuankemampuan seperti otak manusia. Artificial intelegent atau kecerdasan buatan adalah algoritma pemrograman yang membuat komputer memiliki kecerdasan seperti manusia yang mampu menalar, mengambil kesimpulan dan keputusan berdasarkan pengalaman yang dimiliki. Robot adalah sebuah alat elektro-mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dulu melalui kecerdasan buatan. Robot biasanya digunakan untuk tugas yang berat, berbahaya, pekerjaan yang berulang dan kotor. Biasanya kebanyakan robot industri digunakan dalam bidang produksi. Penggunaan robot lainnya termasuk untuk pembersihan limbah beracun, penjelajahan bawah air dan luar angkasa, pertambangan, pekerjaan "cari dan tolong" (search and rescue), dan untuk pencarian tambang. Belakangan ini robot mulai memasuki pasaran konsumen di bidang hiburan, dan alat pembantu rumah tangga, seperti penyedot debu, dan pemotong rumput.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
18
Gambar 2.2. Contoh Aplikasi Robot Setelah berkembang pula teknologi material/bahan, sensor dan ilmu kecerdasan buatan (articial intelligence), maka definisi robot pun berubah pula. Beberapa definisi robot yang ada pada waktu terakhir ini adalah sebagai berikut: A robot is a system that interacts with the world already, and learning as method of improving its performance (Brooks, 91) dan A robot is a machine able to extract information from its environment and use knowledge about its world to move safely in a meaningful and purposive manner (Arkin, 98). Pada waktu ini, robot sudah mampu berinteraksi dengan lingkungannya dan mengambil informasi darinya, untuk kemudian melakukan proses pembalajaran sendiri sehingga mampu meresponnya dalam bentuk suatu tindakan dalam rangka mengerjakan fungsi tertentu. Artinya, robot sudah harus mampu untuk berinteraksi dan mengambil informasi dari lingkungannya melalui sistem sensor tertentu. Selain itu, pada robot juga sudah memiliki sistem kecerdasan buatan berupa algoritma tertentu dalam mikroprosesornya untuk menentukan tindakan yang akan diambil olehnya. 2.3.1 Robot Beroda Ketika para pencipta robot pertama kali mencoba meniru manusia dan hewan, mereka menemukan bahwa hal tersebut sangatlah sulit; membutuhkan Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
19
tenaga penghitungan yang jauh lebih banyak dari yang tersedia pada masa itu. Jadi, penekanan perkembangan diubah ke bidang riset lainnya. Robot sederhana beroda digunakan untuk melakukan eksperimen dalam tingkah laku, navigasi, dan perencanaan jalur. Teknik navigasi tersebut telah berkembang menjadi sistem kontrol robot otonom yang tersedia secara komersial. Robot mobil atau mobile robot adalah konstruksi robot yang ciri khasnya adalah mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi dari satu titik ke titik yang lain. Robot mobil ini sangat disukai bagi orang yang mulai mempelajari robot. Hal ini karena membuat robot mobil tidak memerlukan kerja fisik yang berat. Untuk dapat membuat sebuah robot mobile minimal diperlukan pengetahuan tentang Mikrokontroler dan sensor-sensor elektronik. Base robot mobil dapat dengan mudah dibuat dengan menggunakan plywood /triplek, akrilik sampai menggunakan logam (aluminium). Robot mobil dapat dibuat sebagai pengikut garis (Line Follower) atau pengikut dinding (Wall Follower) ataupun pengikut cahaya.
Gambar 2.3. Contoh Aplikasi Robot beroda. Robot beroda atau wheeled mobile robot adalah konstruksi robot yang ciri khasnya mempunyai actuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
20
dari satu titik ke titik yang lain. Robot beroda ini sangat disukai bagi orang yang mulai mempelajari robot. Hal ini karena membuat robot mobil tidak memerlukan kerja fisik yang berat. Untuk dapat membuat sebuah robot beroda minimal diperlukan pengetahuan tentang mikrokontroler dan sensor-sensor elektronik.
2.4 Perlengkapan Dasar Mikrokontroler Mikrokontroler atau mikroprosesor adalah suatu piranti yang digunakan untuk mengolah data-data biner (digital) yang didalamnya merupakan gabungan dari rangkaian-rangkaian elektronik yang dikemas dalam bentuk suatu chip (IC). Pada umumnya mikrokontroler tediri dari bagian-bagian sebagai berikut: Alamat (address), Data, Pengendali, Memori (RAM atu ROM), dan bagian input-Output.
2.4.1 CPU Unit pengolah pusat (CPU) terdiri atas dua bagian yaitu unit pengendali (CU) serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah untuk mengambil, mengkode, dan melaksanakan urutan instruksi sebuah program yang tersimpan dalam memori. Sedangkan unit aritmatika dan perhitungan bertugas untuk menangani operasi perhitungan maupun bolean dalam program.
2.4.2 Alamat Pada mikroprosesor/mikrokontroler, apabila suatu alat dihubungkan dengan mikrokontroler maka harus ditetapkan terlebih dahulu alamat (address) dari alat tersebut. Untuk menghindari terjadinya dua alat bekerja secara bersamaan yang mungkin akan meyebabkan kerusakan.
2.4.3 Data Mikrokontroler ATmega16 mempunyai lebar bus data 8 bit. Merupakan mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
21
2.4.4 Pengendali Selain bus alamat dan bus data mikroprosesor/mikrokontroler dilengkapi juga
dengan
bus
pengendali
(control
bus),
yang
fungsinya
untuk
menyerempakkan operasi mikroprosesor/mikrokontroler dengan operasi rangkaian luar. 2.4.5 Memori Mikroprosesor/mikrokontroler memerlukan memori untuk menyimpan program/data. Ada beberapa tingkatan memori, diantaranya register internal, memori utama, dan memori massal. Sesuai dengan urutan tersebut waktu aksesnya dari yang lebih cepat ke yang lebih lambat. 2.4.6 RAM RAM (Random Acces Memory) adalah memori yang dapat dibaca atau ditulisi. Data dalam RAM akan terhapus bila catu daya dihilangkan. Oleh karena itu program mikrokontroller tidak disimpan dalam RAM. Ada dua teknologi yang dipakai untuk membuat RAM, yaitu RAM statik dan RAM dinamik. 2.4.7 ROM ROM (Read Only Memory) merupakan memori yang hanya dapat dibaca. Data dalam ROM tidak akan terhapus meskipun catu daya dimatikan. Oleh karena itu ROM dapat digunakan untuk menyimpan program. Ada beberapa jenis ROM antara lain ROM murni, PROM, EPROM, EAPROM. ROM adalah memori yang sudah diprogram oleh pabrik, PROM dapat diprogram oleh pemakai sekali saja. Sedangkan EPROM merupakan PROM yang dapat diprogram ulang.
2.4.8 Input / Output I/O dibutuhkan untuk melakukan hubungan dengan piranti di luar sistem. I/O dapat menerima data dari alat lain dan dapat pula mengirim data ke alat lain. Ada dua perantara I/O yang dipakai, yaitu piranti untuk hubungan serial (UART) dan piranti untuk hubungan paralel (PIO).
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
22
2.5 Mikrokontroler AVR ATmega 16 ATmega16 merupakan mikrokontroller keluarga AVR keluaran atmel dengan 16 Kbyte PEROM (Programable and Erasable Read Only Memory). Pada mikrokontroller tipe ini isi memorinya dapat diisi ulang ataupun dihapus berkalikali sebabab menggunakan teknologi nonvolatile memory. AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer) yang ditingkatkan. Hampir semua instruksi dieksekusi dalam satu siklus clock. 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. Mempunyai ADC dan PWM internal, AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. ATmega16 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Untuk lebih jelas tentang arsitektur dari ATmega16 ditunjukan pada gambar 2.4. ATmega16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses.
Beberapa keistimewaan dari AVR ATmega16 antara lain: 1. Advanced RISC Architecture •
130 Powerful Instructions – Most Single Clock Cycle Execution
•
32 x 8 General Purpose Fully Static Operation
•
Up to 16 MIPS Throughput at 16 MHz
•
On-chip 2-cycle Multiplier
2. Nonvolatile Program and Data Memories •
8K Bytes of In-System Self-Programmable Flash
•
Optional Boot Code Section with Independent Lock Bits
•
512 Bytes EEPROM
•
512 Bytes Internal SRAM
•
Programming Lock for Software Security
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
23
3. Peripheral Features •
Two 8-bit Timer/Counters with Separate Prescalers and Compare Mode
•
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
•
Byte-oriented Two-wire Serial Interface
•
Programmable Serial USART
4. 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
5. I/O and Package •
32 Programmable I/O Lines
•
40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF
6. Operating Voltages •
2.7 - 5.5V for ATmega16L
•
4.5 - 5.5V for Atmega16
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
24
Gambar 2.4 Blok Diagram Arsitektur ATmega16 2.5.1 Konfigurasi Pin AVR ATmega 16 Pin-pin pada ATmega16 dengan kemasan 40-pin DIP (dual inline package) ditunjukkan oleh gambar 2.2. Kemasan pin tersebut terdiri dari 4 Port yaitu Port A, Port B, Port C, Port D yang masing masing Port terdiri dari 8 buah pin. Selain itu juga terdapat RESET, VCC, GND 2 buah, VCC, AVCC, XTAL1, XTAL2 dan AREF.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
25
Gambar 2.5 Pin-pin ATmega16 kemasan 40-pin
Diskripsi dari pin-pin ATmega 16 adalah sebagai berikut : 1. VCC : Supply tegangan digital. 2. GND : Ground 3. Port A : Port A sebagai input analog ke A/D konverter. Port A juga sebagai 8bit bi-directional port I/O, jika A/D konverter tidak digunakan. Pin-pin port dapat menyediakan resistor-resistor internal pull-up. Ketika port A digunakan sebagai input dan pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port A adalah tri-state ketika kondisi reset menjadi aktif sekalipun clock tidak aktif. 4. Port B : Port B adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port B mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port B yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port B adalah tri-state ketika kondisi reset menjadi aktif sekalipun clock tidak aktif. 5. Port C : Port C adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port C mempunyai karaketristik drive yang Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
26
simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port C yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port C adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif. Jika antarmuka JTAG enable, resistor-resistor pull-up pada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akan diktifkan sekalipun terjadi reset. 6. Port D : Port D adalah port I/O 8-bit bit-directional dengan resistor-resistor internal pull-up. Buffer output port D mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port D yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port D adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif. 7. Reset : Sebuah low level pulsa yang lebih lama daripada lebar pulsa minimum pada pin ini akan menghasilkan reset meskipun clock tidak berjalan. 8. XTAL1 : Input inverting penguat Oscilator dan input internal clock operasi rangkaian. 9. XTAL2 : Output dari inverting penguat Oscilator. 10. AVCC : Pin supply tegangan untuk PortA dan A/D converter. Sebaiknya eksternalnya dihubungkan ke VCC meskipun ADC tidak digunakan. Jika ADC digunakan seharusnya dihubungkan ke VCC melalui low pas filter. 11. AREF : Pin referensi analog untuk A/D konverter.
2.5.2 Port sebagai Analag Digital Converter (ADC) ATmega16 mempunyai ADC (Analog to Digital Converter) internal dengan fitur sebagai berikut (untuk lebih detil dapat mengacu pada datasheet) : •
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
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
27
•
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 Dibawah ini gambar timing diagram untuk mode singleconvertion
maksudnya hanya satu input chanel saja yang dikonversi.
Gambar 2.6 Timing diagram untuk Mode single-conversion Register-register yang dipakai untuk mengakses ADC adalah: 1. ADMUX – ADC Multiplexer Selection Register
Gambar 2.7 register ADMUX •
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.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
28
2. ADCSRA – ADC Control and Status Register
Gambar 2.8 register ADCSRA
•
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 akanmemulai 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 vector 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.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
29
•
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.
3. ADCL, ADCH – ADC data register •
Bila ADLAR = 0
Gambar 2.9 register ADCLAR = 0
•
Bila ADLAR = 1
Gambar 2.10 register ADCLAR = 1
Setelah ADC selesai melakukan konversi kedua register ini berisi hasil konversi. Bila channel differensial dipilih maka hasilnya dalam format 2’s komplemen. Saat ADCL dibaca, data register tidak akan meng-update data sampai ADCH dibaca. Jika hasilnya dirata kiri (left adjust) dan hanya butuh 8-bit maka cukuplah dengan membaca ADCH. Jika butuh 10-bit, baca ADCL dahulu kemudian ADCH. Register SFIOR berfungsi untuk sumber auto triger. Dimana kita dapat memilih beberapa mode untuk konversi.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
30
4. SFIOR – Special Function I/O Register untuk sumber auto trigger
Gambar 2.11 register SFIOR
Dengan konfigurasi seperti dibawah maka dapat memilih mode start ADC, ADC akan konversi ketika berdasarkan mode yang dipilih.
Tabel 2.1 Pemilihan scaning ADC
•
Bit 7:5 – ADTS2:0 : ADC Auto Trigger Source Bila ADATE dalam register ADCSRA diset 1, maka nilai dalam bitbit ini akan menentukan sumber mana yang akan mentrigger konversi ADC. Bila bit ADATE bernilai 0, maka bit-bit ini tidak akan mempunyai efek. Sebuah konversi ditrigger oleh sinyal rising-edge dari interrupt flag yang dipilih. Perlu diingat bahwa memindah sumber trigger yang di-clear ke sumber trigger lain yang di-set akan menyebabkan positive-edge pada sinyal trigger. Bila ADEN dalam register ADCSRA diset, juga akan memulai konversi. Memindah mode ke mode freerunning tidak akan menyebabkan pulsa trigger, meskipun bila flag interrupt ADC diset.
•
Bit 4 – RES : Reserved bit
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
31
Bit cadangan, bila dibaca hasilnya nol. 2.5.3 Timer Timer/couter adalah tujuan umum single channel, module 8 bit timer/counter. Beberapa fasilitas chanel dari timer counter antara lain: •
Counter channel tunggal
•
Pengosongan data timer sesuai dengan data pembanding
•
Bebas -glitch, tahap yang tepat Pulse Width Modulator (PWM)
•
Pembangkit frekuensi
•
Event counter external
.
Gambar 2.12 blok diagram timer/counter
Gambar diagram block timer/counter 8 bit ditunjukan pada gambar di bawah ini. Untuk penempatan pin I/O telah di jelaskan pada bagian I/O di atas. CPU dapat diakses register I/O, termasuk dalam pinpin I/O dan bit I/O. Device khusus register I/O dan lokasi bit terdaftar pada deskripsi timer/counter 8 bit.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
32
2.6 Pemograman Bahasa C Penggunaan sebuah sistem mikrokontroler AVR mengunakan sebuah software yang digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC mikrokontroler AVR. Software yang digunakan adalah CodeVision AVR dalam bahasa C, Codevision memilki IDE (integrated Development Environment) yang lengkap, di mana penulisan program, compile, link dan download program ke chip AVR dapat dilakukan oleh CodeVision, selain itu CodeVision juga memiliki fasilitas terminal, yaitu digunakan untuk melakukan komunikasi serial dengan mikrokontroler yang sudah deprogram. Proses download ke Ic mikrokontroler dapat menggunakan sistem download secara ISP (In-System Programming).
2.6.1 Header Di dalam fungsi header berisi include file (.hex), yaitu library (pustaka) yang akan digunakan dalam pemograman. File-file ini mempunyai cirri yaitu namanya diakhiri dengan ekstensi .h. Misalnya pada program #include <stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi. Bentuk umum #include: Contoh: #include <delay.h> #include <delay.h> #include <stdio.h> Prepocessor (#): Digunakan untuk memasukkan (include) text dari file lain, mendefinisikan macro yang dapat mengurangi beban kerja pemograman dan meningkatkan legibility source code (mudah dibaca). Bentuk dari (#include
) memberikan penjelasan pencarian file dilakukan pada direktori khusus (direktori file). Bentuk lain dari header (#include “nama file”) mengisyaratkan bahwa pencarian file terlebih dahulu dilakukan pada direktori aktif tempat sumber program dan bila tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya yang sesuai dengan perintah pada sistem operasi.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
33
2.6.2 Tipe Data Umumnya data yang digunakan didalam bahasa pemograman komputer dibedakan menjadi data nilai numerik dan nilai karakter. Tujuan data menjadi efisien dan efektif digunakan bahasa-bahasa pemograman komputer yang membedakan data kedalam beberapa tipe. Dalam bahasa C tersedia lima tipe data dasar, yaitu tipe data interger (nilai numeric bulat yang dideklarasikan dengan int), floatingpoint (nilai numerik pecahan ketetapan tunggal yang dideklarasikan dengan float), double-precision (nilai numerik pecahan ketetapan ganda yang dideklarasikan dengan double).
Tabel 2.2 Tipe-tipe data dasar Tipe
Ukuran (Bit)
Range
Bit
1
0,1
Char
8
-128 to 127
Unsigned Char
8
0 to 255
Signed Char
8
-128 to 127
Int
16
-32768 to 32767
Short int
16
-32768 to 32767
Unsigned int
16
0 to 65535
Signed int
16
-32768 to 32767
Long int
32
-2147483648 to 2147483647
Unsigned long int
32
0 to 4294967295
Signed long int
32
-2147483648 to 2147483647
Float
32
±1.175e-38 to ±3.402e38
double
32
±1.175e-38 to ±3.402e38
Karakter (dideklarasikan dengan char), dan kosong (dideklarasikan dengan void). Int, float, double dan char dapat dikombinasikan dengan pengubah (modifier) signed, unsigned, long dan short. Hasil dari kombinasi tipe data ini dapat dilihat pada tabel. Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
34
2.6.3 Operator Dalam suatu intruksi mengandung operator dan operand. Operator merupakan sebuah simbol yang menyatakan operasi mana yang harus dilakukan oleh operand tersebut. Sedangkan operand adalah variabel atau konstanta yang merupakan bagian pernyataan. Adatiga operand (a,b dan c) dan dua operator (= dan +). Operator dalam c dibagi menjadi 3 kelompok. Yaitu: 1. Unary Operator yang beroperasi pada satu operand, missal:-n. 2. Binary Operator yang beroperasi padaduaoperand, missal: a-n, 3. Ternary Operator yang memerlukan tiga atau lebih operand, misal: a=(b*c)+d
Tabel 2.3 Operator Kondisi Operator Kondisi
Keterangan
<
Lebih Kecil
<=
Lebih kecil sama dengan
>
Lebih Besar
>=
Lebih Besar sama dengan
==
Sama dengan
!=
Tidak samadengan
Tabel 2.4 Operator Aritmatika Operator Aritmatika
Keterangan
+
Penjumlahan
-
Pengurangan
*
Perkalian
/
Pembagian
%
Sisa bagi(modulus)
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
35
Tabel 2.5 Operator Logika Operator Logika
Keterangan
!
Boolean NOT
&&
Boolean AND
||
Boolean OR
Tabel 2.6 Operator Bitwise Operator Bitwise
Keterangan
~
Komplemen Bitwise
&
Bitwise AND
|
Bitwise OR
^
Bitwise Exclusive OR
>>
Right Shift
<<
Left Shirft
Tabel 2.7 Operator Assignment Operator Asignment
Keterangan
=
Untuk memasukkan nilai
+=
Untuk menambah nilai dari keadaan semula
-=
Untuk mengurangi nilai dari keadaan semula
*=
Untuk mengalikan nilai dari keadaan semula
/=
Untuk melakukan pembagian terhadap bilangan semula
%=
Untuk memsukkan sisa bagi dari pembagian bilangan semula
<<=
Untuk memasukkan Shift left
>>=
Untuk memasukkan Shift right
&=
Untuk memasukkan bitwise AND
^=
Untuk memasukkan bitwise XOR
\=
Untuk memasukkan bitwise OR
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
36
2.7 Jenis Komunikasi Sistem komunikasi banyak digunakan dalam berbagai keperluan dan memilki beberapa jenis sesuai kebutuhan. Dari beberapa jenis komunikasi akan dibahas mengenai komunikasi wireless. Radio adalah teknologi yang digunakan untuk pengiriman sinyal dengan cara modulasi dan radiasi elektromagnetik (gelombang elektromagnetik). Gelombang ini melintas dan merambat lewat udara dan bisa juga merambat lewat ruang angkasa yang hampa udara, karena gelombang ini tidak memerlukan medium pengangkut (seperti molekul udara).
2.7.1 Bluetooth Awal mula dari bluetooth adalah sebagai teknologi komunikasi wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific and Medical) dengan menggunakan sebuah frequency hopping tranceiver yang mampu menyediakan layanan komunikasi data dan suara secara real-time antara host-host bluetooth dengan jarak jangkauan layanan yang terbatas (sekitar 10 meter). Bluetooth berupa card yang menggunakan frekuensi radio standar IEEE 802.11 dengan jarak layanan yang terbatas dan kemampuan data transfer lebih rendah dari card untuk Wireless Local Area Network (WLAN). Pembentukan Bluetooth dipromotori oleh 5 perusahaan besar Ericsson, IBM, Intel, Nokia dan Toshiba membentuk sebuah Special Interest Group (SIG) yang meluncurkan proyek ini. Pada bulan Juli 1999 dokumen spesifikasi bluetooth versi 1.0 mulai diluncurkan. Pada bulan Desember 1999 dimulai lagi pembuatan dokumen spesifikasi bluetooth versi 2.0 dengan tambahan 4 promotor baru yaitu 3Com, Lucent Technologies, Microsoft dan Motorola. Saat ini, lebih dari 1800 perusahaan di berbagai bidang bergabung dalam sebuah konsorsium sebagai adopter teknologi bluetooth. Walaupun standar Bluetooth SIG saat ini ‘dimiliki’ oleh grup promotor tetapi ia diharapkan akan menjadi sebuah standar IEEE (802.15) Bluetooth adalah spesifikasi industri untuk jaringan kawasan pribadi (personal area networks atau PAN) tanpa kabel. Bluetooth menghubungkan dan
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
37
dapat dipakai untuk melakukan tukar-menukar informasi di antara peralatanperalatan.
Spesifiksi
dari
peralatan
bluetooth
ini
dikembangkan
dan
didistribusikan oleh kelompok Bluetooth Special Interest Group. Bluetooth beroperasi dalam pita frekuensi 2,4 Ghz dengan menggunakan sebuah frequency hopping traceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host bluetooth dengan jarak terbatas. Kelemahan teknologi ini adalah jangkauannya yang pendek dan kemampuan transfer data yang rendah.
Gambar 2.13 bluetooth.
2.7.2 Robot Jaringan (internet) Robot jaringan adalah pendekatan baru untuk melakukan kontrol robot menggunakan jaringan internet dengan protokol TCP/IP. Perkembangan robot jaringan dipicu oleh kemajuan jaringan dan internet yang pesat. Dengan koneksi jaringan, proses kontrol dan monitoring, termasuk akuisisi data bila ada, seluruhnya dilakukan melalui jaringan. Keuntungan lain, koneksi ini bisa dilakukan secara nirkabel. Di Indonesia, pengembang robot jaringan belum banyak, meski pengembang dan komunitas robot secara umum sudah banyak. Hal
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
38
ini disebabkan tuntutan teknis yang jauh lebih kompleks. Salah satu robot jaringan yang sudah berhasil dikembangkan adalah LIPI Wireless Robot (LWR) yang dikembangkan oleh Grup Fisika Teoritik dan Komputasi–GFTK LIPI. Seperti ditunjukkan di LWR, seluruh proses kontrol dan monitoring bisa dilakukan melalui perambah internet.
Gambar 2.14 aplikasi robot jaringan.
2.7.3 Infrared Inframerah adalah radiasi elektromagnetik dari panjang gelombang lebih panjang dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio. Namanya berarti "bawah merah" (dari bahasa Latin infra, "bawah"), merah merupakan warna dari cahaya tampak dengan gelombang terpanjang. Adanya sistem sensor infra merah. Sistem sensor ini pada dasarnya menggunakan inframerah sebagai media komunikasi yang menghubungkan antara dua perangkat. Penerapan sistem sensor infra ini sangat bermanfaat sebagai pengendali jarak jauh, alarm keamanan, dan otomatisasi pada sistem. Adapun pemancar pada sistem ini terdiri atas sebuah LED (Lightemitting Diode) infra merah yang telah dilengkapi dengan rangkaian yang mampu membangkitkan data untuk dikirimkan melalui sinar inframerah, sedangkan pada bagian penerima
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
39
biasanya terdapat foto transistor, fotodioda, atau modulasi infra merah yang berfungsi untuk menerima sinar inframerah yang dikirimkan oleh pemancar. Inframerah yang dipancarakan dalam bentuk sinar infra merah terhadap suatu objek, dapat menghasilkan foto infra merah. Foto inframerah yang bekerja berdasarkan pancaran panas suatu objek dapat digunakan untuk membuat lukisan panas dari suatu daerah atau objek. Hasil lukisan panas dapat menggambarkan daerah mana yang panas dan tidak. Suatu lukisan panas dari suatu gedung dapat digunakan untuk mengetahui dari zona bagian mana dari gedung itu yang menghasilkan panas berlebihann sehingga dapat dilakukan perbaikan-perbaikan yang diperlukan. 2.7.4 Modul Radio Frekuensi TDL 9988-2 dan 9921 merupakan modul serial interface tanpa kabel. Modul RF berfungsi menghubungkan komunikasi antar mikrokontroller dengan jarak komunikasi sarial ini bisa mencapai 5 meter diluar ruangan. Kelebihan utama yang menjadikan TDL 9988-2 dan 9921 dipilih sebagai komunikasi serial nirkabel karena modul Rf ini memiliki konsumsi daya yang rendah yaitu hanya 5 volt. Perangkat TDL 9988-2 dan 9921 merupakan modul RF yang didesain dengan standard protokol IEEE 802.15.4 dan sesuai dengan kebutuhan yang sederhana untuk jaringan sensor tanpa kabel. TDL 9988-2 dan 9921 hanya membutuhkan energi yang rendah untuk beroperasi. Modul ini beroperasi pada rentang frekuensi 315 MHz. Tabel 2.2 dan 2.3 merupakan spesifikasi dari TDL 9988-2 dan 9921. Penggunaan TDL 9988-2 dan 9921 sebagai perangkat komunikasi pada external controller pada dasarnya dilihat dari keistimewaan TDL 9988-2 dan 9921, hanya dengan tegangan 5 volt TDL 9988-2 dan 9921 sudah bisa diaktifkan dan dapat berkomunikasi sejauh 5 meter.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
40
Tabel 2.8 Spesifikasi modul transmitter.
Model
TDL-9988-2
Description
2 keys remote control
Operating voltage
DC 12V
Operating Current
4.5 mA
Operating
315MHz (more than 20 frequency points are optional
frequency
between 260 ~ 440 MHz)
Transmitting Distance
150 ~ 200 M (open place)
Coding type
fixed code, dial code, rolling code
The way modify coding type
8 bits bonding pad/8 bits 3 segments dial code/rolling code
Dimension
58 * 39 * 14 mm
Shell color
Blue/Brown/Green
Tabel 2.9 Spesifikasi modul receiver. Model
TDL-9921
Description
RF Superregenerate Receiving Modules
Operating voltage
DC 3 ~ 5V
Operating Current
≤3 mA (DC 5V) 315MHz (more than 20 frequency points are optional
Operating frequency
between 260 ~ 440 MHz)
Modulation Mode
ASK/OOK
RF Sensitivity
over -105 dBm (50 Ω)
Speed
< 5 K bps (at 315 MHz, -95 dBm)
Operating temperature
-20 °C ~ +70 °C
Antenna Length
24 cm (315 MHz), 18 cm (433.92 MHz)
Dimension
32 * 13.5 mm
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
41
2.8 Komunikasi Serial Dikenal ada dua cara komunikasi data secara serial, yaitu komunikasi data serial secara sinkron dan komunikasi data serial secara asinkron. Pada komunikasi data serial sinkron, clock dikrimkan bersama-sama dengan data serial, sedangkan komunikasi data serial asinkron, clock tidak dikirimkan bersama data serial, tetapi dibangkitkan secara sendiri-sendiri baik pada sisi pengirim (transmitter) maupun pada sisi penerima (receiver). Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous Receiver/Transmitter). IC UART dibuat khusus untuk mengubah data parallel menjadi data serial dan menerima data serial yang kemudian diubah kembali menjadi data paralel. IC UART dari Intel merupakan salah satunya. Selain berbentuk IC mandiri, berbagai mikrokontroller ada yang sudah dilengkapi UART, misalnya keluarga mikrokontroller AVR. Pada UART, kecepatan pengiriman data (baudrate) dan fase clock pada sisi transmitter dan pada sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi antara transmitter dan receiver. Hal ini dialakukan oleh bit ‘start ‘ dan bit ‘stop’. Ketika saluran transmisi dalam keadaan idle, output UART adalah dalam keadaan logika ‘1’, ketika transmitter ingin mengirim data, output UART akan diset lebih dulu kelogika ‘0’ untuk waktu satu bit. Sinyal ini pada receiver akan dikenali sebagai sinyal ‘start’ yang digunakan untuk mensinkronkan fase clocknya sehingga sinkron dengan fase clock transmitter. Selanjutnya, data akan dikirimkan secara serial dari bit paling rendah (bit 0) sampai bit tertinggi. Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud raete yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, dan 9600 (bit/detik). Dalam komunikasi data serial, baud rate dari kedua alat yang berhubungan harus diatur dengan kecepatan yang sama. Saluran yang digunakan UART untuk komunikasi baik untuk pengiriman maupun penerimaan data adalah saluran RxD dan saluran TxD serta saluran-saluran untuk kontrol, yaitu saluran DCD, DSR, RTS, CTS, DTR, dan RI. Saluran-saluran ini ada yang sebagai output dan ada yang sebagai input. Kecuali saluran RxD, saluran-saluran ini dapat diakses secara langsung melalui register UART.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
42
2.9 LCD LCD (Liquid Crystal Display) adalah modul penampil yang banyak digunakan karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah LCD M1632 refurbish karena harganya cukup murah. LCD M1632 merupakan modul LCD dengan tampilan 2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD. Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM (Character Generator Read Only Memory), CGRAM (Character Generator Random Access Memory), dan DDRAM (Display Data Random Access Memory).
Tabel 2.10 Tabel Susunan kaki LCD 2x16
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
43
BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK
3.1 Gambaran Umum Perangkat keras dari robot ini secara umum dibagi menjadi dua bagian, yaitu perangkat elektronik dan mekanik robot. Perancangan mekanik meliputi pengaturan struktur kerangka robot yang terbuat dari alumunium dan penggunaan motor DC pada sistem penggerak roda yang terdapat pada robot tersebut, serta penggunaan rangkaian elektronik ke dalam robot tersebut. Untuk rangkaian elektronika terdiri dari rangkaian minimum sistem mikroprosesor menggunakan ATmega16 yang bertindak sebagai pengatur gerakan dari robot. Selain itu juga rangkaian driver motor DC sebagai interface antara mikroprosesor dengan motor tersebut. Secara keseluruhan kerja robot ini sangat ditentukan oleh perangkat lunak yang diterapkan didalamnya. Perangkat lunak yang dibangun didalam robot ini adalah perangkat lunak untuk mengatur respon pergerakan robot terhadap pembacaan sensor dan metode gerak robot itu sendiri. Selain itu agar robot dapat berjalan dengan baik dan sesuai dengan yang diinginkan maka sangat tergantung dari piranti keras sebagai pendukungnya, antara lain design mekanik robot itu sendiri, penggerak motor, pengkopel posisi motor (potensiometer), serta mikrokontroller sebagai pengontrol dari gerak yang dihasilkan oleh robot. Sistem perangkat lunak yang dirancang dalam robot ini terdiri dari sistem kontrol. Sedangkan sistem kontrol adalah yang menjadi kendali pergerakan antar motor yang telah diatur sedemikian rupa sehingga sesuai dengan yang diinginkan. Motor-motor DC tersebut dikontrol pergerakannya oleh sebuah sistem mikrokontroller melalui sebuah rangkaian driver sesuai dengan instruksi program yang dituliskan pada mikrokontroller tersebut.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
44
3.2 Blok Diagram Sistem Sebelum merancang perangkat lunak, yang perlu diketahui adalah susunan dari sistem itu sendiri (blok diagram sistem). Secara keseluruhan gambaran sistem yang dibangun di robot adalah sebagai berikut:
Gambar 3.1 Sistem diagram blok robot
Dari gambar diatas dapat diuraikan bahwa mikrokontroler ATmega16 berfungsi sebagai unit pengontrol utama pada sistem. Perancangan sistem berdasarkan implementasi perilaku dari pergerakan robot dengan menggunakan pendekatan perangkat lunak (software) maupun perangkat keras (hardware). Menurut blok diagram diatas robot bergerak sesuai dengan data yang diterima oleh mikrokontroler dari pembacaan potensiometer, yaitu data untuk melakukan pergerakan lurus, belok kanan, atau belok kiri. Driver motor digunakan untuk Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
45
penyederhanaan pemilihan kontrol pada motor. Sistem dirancang dengan menentukan terlebih dahulu sistem kontroler yang dipakai, perencanaan memori, perencanaan timer yang digunakan, perencanaan port yang digunakan sebagai masukan dan keluaran, selanjutnya dilakukan pembuatan program utama dan subrutin-subrutinnya. 3.3 Perancangan Perangkat Keras Perancangan perangkat keras bertujuan untuk menghindari kesalahankesalahan yang terjadi. Perancangan perangkat keras sangat dibutuhkan dalam pembuatan robot, pembuatan rangkaian-rangkaian yang dibutuhkan untuk pembuatan suatu robot. Dalam perancangan rangkaian-rangkaian yang digunakan bantuan software isis proteus, yang sangat berguna dalam mendesain rangkaian elektronik. Isis proteus memiliki model-model komponen yang akan digunakan dalam pembuatan rangkaian yangdibutuhkan oleh robot. Langkah ini untuk mengetahui kondisi peralatan yang akan digunakan dalam pembuatan robot. Perancangan yang dilakukan pada bab ini antara lain : 1. perancangan suplai daya. 2. Rangkaian downloader atmega 16. 3. Rangkaian sistem mikrokontroller. 4. Rangkaian Driver Motor DC. 5. Rangkaiaan Encoder. 6. Perancangan LCD. 7. Pembuatan Modul Komunikasi Wireless. 8. Perancangan Mekanik Robot
3.3.1 Perancangan Rangkaian Power Suplly Rangkaian power suplly berfungsi sebagai sumber tegangan beberapa rangkaian pendukung robot. Seperti LCD, RF dan driver motor dc. Rangkaian power suplai yang dibuat untuk menghasilkan tegangan 5 volt dan 12 volt. Untuk menghasilkan tegangan 5 volt pada rangkaian power suplai digunakan regulator 7805. Regulator 7805 dapat menurunkan tegangan dari baterai 12 volt ke 5 volt. Tegangan 12 volt dari baterai diturunkan dengan IC regulator 7805, tegangan Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
46
tersebut dapat langsung disambungkan pada mikrokontroller yang membutuhkan tegangan 5 volt. IC 7805 tidak memerlukan komponen tambahan untuk meregulasi tegangan, membuatnya mudah digunakan, ekonomis dan hemat ruang. Regulator tegangan lainnya mungkin memerlukan komponen tambahan untuk membantu peregulasian tegangan. Bahkan untuk regulator bersakelar, selain membutuhkan banyak komponen, juga membutuhkan perencanaan yang rumit. Seri IC 7805 memiliki rangkaian pengaman terhadap pembebanan lebih, panas tinggi dan hubungsingkat, membuatnya hampir tak dapat dirusak. Dalam keadaan tertentu, kemampuan pembatasan arus peranti 7805 tidak hanya melindunginya sendiri, tetapi juga melindungi rangkaian yang ditopangnya. Dari gambar 3.2 dapat dilihat gambar rangkain power suplai.
Gambar 3.2 Rangkain power suplai.
Rangkaian power suplai pada gambar 3.2 memiliki 3 channel 12 volt dan 5 channel 5 volt dari satu input baterai 12 volt. Digunakan satu buah led sebagai indikator bahwa adanya tegangan 5 volt pada konektor. Tegangan masukan harus lebih tinggi dari tegangan keluaran (biasanya 2-3 volt). Ini membuatnya tidak tepat digunakan untuk penggunaan tegangan rendah, misalnya regulasi 5 volt dari sumber baterai 6 volt tidak akan bekerja dengan 7805. Sebagaimana regulator linier lainnya, arus masukan sama dengan arus keluaran. Karena tegangan masukan lebih tinggi daripada tegangan keluaran, berarti ada daya yang diboroskan. Dalam perencanaan rangkaian regulator digunakan software isis
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
47
proteus dalam membuat rangkaian power supply. Setelah dibuat dalam program isis proteus, dibuat rangkaian layout PCB menggunakan ares proteus.
3.3.2 Rangkaian Downloader Atmega 16 Rangkaian
ini
digunakan
untuk
men-download-kan
program
ke
mikrokontroller untuk pengontrolan arah putaran motor DC. Pemrograman secara In System Programming adalah programmer tidak perlu melepas IC mikrokontroller pada waktu akan di-download-kan, hal ini berarti pendownloadan program dapat langsung dilakukan pada rangkaian aplikasi. Yaitu dengan memanfaatkan pin-pin pada mikrokontroller ATmega16. Untuk dapat menyimpan program yang telah kita buat pada memori mikrokontroller dibutuhkan perangkat tambahan yang menghubungkan antara PC dan mikrokontroller. Perangkat interface ini disebut isp_dongle yang menghubungkan port parallel PC dan port SPI (Serial Peripheral Interface) mikrokontroller.
Gambar 3.3 Rangkain downloader atmega 16.
Dalam pembuatan rangkaiaan downloader digunakan terminal db 25 yang support dengan computer. Dari gambar akan dibuat 6 keluaran untuk mendownload program kedalam mikrokontroller. Rangkaian downloader ini bias dipakai langsung pada computer yang memiliki parallel port.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
48
3.3.3 Rangkaian Sistem Mikrokontroller Rangkaian sistem mikrokontroller berfungsi sebagai pengontrol utama dari robot.
perintah
mulai
mengerakkan
motor
dan
menghentikan
motor.
Mikrokontroller juga bertindak sebagai eksekutor untuk mengaktifkan timer0 sebagai pembangkit PWM untuk pengaturan kecepatan motor DC. Sistem Mikrokontroler yang direncanakan adalah menggunakan ATmega16 dengan memori program internal 16 Kbyte sehingga tidak memerlukan memori program eksternal. Mikrokontroler ATmega16 dipilih selain karena telah terdapat ADC internal di dalam chip-nya dengan tingkat kestabilan yang cukup presisi, mempunyai compiler canggih dengan bahasa pemrograman tingkat tinggi yaitu bahasa C sehingga lebih memudahkan programmer, dan juga karena memiliki memori, jumlah timer/counter, serta jumlah port yang cukup untuk digunakan dalam proyek akhir ini. Dengan mengunakan ATmega16 pengontrolan sistem lebih mudah, salah satunya yaitu mengenai pengontrolan 2 chanel ADC yang digunakan sebagai sensor posisi untuk memberikan control kecepatan pada motor DC. Gambar rangkaian sistem mikrikontroller seperti ditunjukkan pada gambar 3.4.
Gambar 3.4 Sistem minimum rangkaian mikrokontroller.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
49
Mikrokontroler Atmega
16 dalam proyek akhir ini digunakan untuk
mengolah data dari masukan sensor dan kemudian diolah menjadi data keluaran. Atmega16 merupakan mikrokontroler keluarga AVR ATmega termasuk tipe CMOS 8 bit dengan 8 Kbytes Flash PEROM (Programmable Erasable Read Only Memory). ATmega16 mempunyai komponen memori sebagai berikut :
1. RAM Internal, memori sebesar 512 bytes yang biasanya digunakan untuk menyimpan program atau data yang sedang berjalan dan bersifat sementara. 2. Special Function Register (SFR) disebut juga register fungsi khusus memori
ini
berisi
register-register
yang mempunyai
karena
fungsi-fungsi
khusus yang disediakan oleh mikrokontroler tersebut seperti timer, serial dan lain-lain. 3. Flash
PEROM,
memori
yang
digunakan
untuk
menyimpan
instruksi/program dasar dari sebuah mikrokontroler. ATmega mempunyai struktur memori yang terpisah antara RAM internal dan Flash PEROM-nya, RAM internal dialamati oleh RAM address register sedang FLASH PEROM dialamati oleh Program address register.
3.3.4 Rangkaian Driver Motor DC Untuk pembuatan driver digunakan IC L298D, Driver tersebut didisain dengan rangkaian H-bridge yang dapat menghasilkan driver 2 arah dengan arus kontinyu sampai dengan 2A pada tegangan 4,8 volt sampai 46 volt. Driver motor digunakan untuk mengontrol lamanya putaran motor dan arah putaran motor. Prinsip kerja dari driver ini hanya dengan melewatkan arus pada motor dan menghentikan arus yang melewati motor serta mengatur arah arusnya. Kumparan motor merupakan beban induktif, sehingga arus yang melewati kumparan motor tidak dapat dinyalakan dan dimatikan secara segera. Tiap h-bridge dilengkapi dengan sensor arus beban yang dapat digunakan sebagai umpan balik ke pengendali. Motor yang digunakan dalam perancangan ini memiliki gearbox dengan arus kurang dari 2 A. penggunaan gearbox ini mengakibatkan kecepatan motor menjadi rendah dan torsi motor meningkat hal ini perlu diberikan arus yang
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
50
kecil, penggunaan torsi yang tinggi dikarenakan motor harus dapat menggerakkan robot yang memiliki beban yang cukup berat. Driver ini memiliki spesifikasi sebagai berikut : 1. Terdiri dari 2 driver full h-bridge yang dapat diparalel. 2. Tiap driver mampu melewatkan arus kontinyu 2A. Jika diparalel, akan mampu melewatkan arus kontinyu 4A. 3. Range tegangan output 4,8 V sampai 46 V. 4. Input komptibel dengan level tegangan TTL dan CMOS. 5. Jalur catu daya input (VCC) terpisah dari jalur catu daya untuk beban (Vmot). 6. Output tri-state. 7. Dilengkapi dengan dioda eksternal untuk pengaman beban induktif. 8. Dilengkapi dengan sensor arus beban untuk tiap h-bridge.
Gambar 3.5 IC L298.
Untuk mengimplementasikan IC h-bridge ini, tidak bisa langsung dihuhubungkan ke output yang diambil dari pin I/O mikrokontroler. Sebab output dari mikrokontroler hanya mempunyai daya yang sangat kecil. Sedangkan untuk motor DC sendiri, kadang-kadang membutuhkan daya yang tidak kecil (misalnya 200 mA, 1 A atau bahkan lebih). Jika dipaksakan menghubungkan output digital dari mikrokontroler langsung ke motor, bisa jadi merusak mikrokontroler itu sendiri.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
51
Gambar 3.6 Rangkaian Driver L298 dengan H-Bridge.
Dioda D1 sampai D8 digunakan untuk mlewatkan arus yang dihasilkan dari putaran motor saat switch dimatikan sehingga tidak akan merusak IC. Tegangan output dapat digunakan untuk mengontrol arus dengan R1 dan R3 digunakan untuk mendeteksi intensitas arus. Driver L298 dibuat untuk menggerakkan dua buah motor DC yang dapat bergerak dua arah kanan dan kiri. Pada L298 terdapat kaki input untuk arah putar dan kaki enable untuk pulsa PWM. Kaki enable digunakan untuk mengatur kecepatan pada motor. Pada rangkaian driver, dioda dibuat h-bridge untuk mengatur arus yang mengalir sebesar 2A.
3.3.5 Rangkaiaan Encoder Encoder ialah sebuah sensor cahaya sensitif untuk digunakan pada aplikasi robot, misalnya sebagai sensor encoder pada robot penghitung jumlah putaran. Sensor ini dibuat untuk membedakan bidang putih memantulkan cahaya, yaitu saat intensitas cahaya yang masuk ke dalam phototransistor cukup tinggi, dan menyebabkan phototransistor mengalirkan arus yang cukup besar. Kapasitor pun akan diisi dengan cepat (sekian puluh mikrodetik), dan menyebabkan tegangan pada pin data turun di bawah level logika low. Sebaliknya, pada bidang gelap, arus yang mengalir cukup kecil, sehingga pengisian kapasitor berlangsung lambat
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
52
(beberapa milidetik). Sensor encoder hanya membedakan saat adanya lubang pada putaran (piringan di buat berlubang yang memiliki jarak 1 cm antar lubang).
Gambar 3.7 Rangkaian encoder.
Arus yang mengalir pada rangkaian ini menyebabkan IR memancarkan cahaya, pantulannya yang mengenai phototransistor menyebabkan arus yang mengalir ke phototransistor itu berubah, sehingga terjadi perubahan logika high/low. Anda juga dapat membuat sensor ini cukup dengan komponen pemancar dan penerima IR, resistor serta transistor, rangkaian ini banyak digunakan dalam aplikasi pembuatan sensor garis.
3.3.6 Perancangan LCD Perancangan LCD terhubung pada port c mikrokontroller, port c pada mikrokontroller difungsikan untuk menampilkan suatu karakter pada LCD yang udah
disetting
dalam
codewizardavr.
Dapat
dilihat
hubungan
antara
mikrokontroller dengan LCD pada isis proteus. Untuk koneksi keluar, modul LCD ini dilengkapi dengan 16 pin. LCD ini dilengkapi dengan jalur data bus (yaitu DB.0..DB7) yang dapat digunakan untuk menyalurkan data ke LCD.selain itu LCD dilengkapi dengan pin E, R/W dan RS sehingga kompatibel dengan mikroprosesor. RS merupakan singkatan dari register select yang berfungsi untuk membedakan data yang akan diterima oleh LCD. Jika RS=0,data yang dikirim adalah perintah yangmengatur kerja LCD.sednagkan jika RS=1,data yang dikirim adalah data yang akan ditampilkan pada panel LCD. Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
53
Gambar 3.8 Rangkaian lcd.
Mikrokontroler hanya perlu untuk mengirimkan data-data yang merupakan karakter yang akan ditampilkan pada layar LCD maupun perintah-perintah pengaturan tampilan LCD. Pada LCD kaki 15 dan 16 akan ditambahkan suplai 5 volt untuk menyalakan itensitas cahaya. Pada rangkaian LCD membutuhkan 5 volt sebagai suplai dan potensiometer untuk mengatur kontras/kecerahan dari LCD tersebut. Pada input LED, dipasang resisistor sebagai penguat arus, sehingga dapat menampilkan cahaya LED yang cukup terang.
3.3.7 Pembuatan Rangkaian Komunikasi Wireless Komunikasi wireless menggunakan perangkat TDL 9988-2 (transmitter) dan TDL-9921 (receiver). Dalam melakukan komunikasi dengan perangkat lainnya mampu perangkat TDL 9988-2 (transmitter) dan TDL-9921 (receiver) melakukan komunikasi dengan dua macam komunikasi yang berbeda, menggunakan mikrokontroller sebagai perangkat apa yang dihubungkan dengan modul
radio frekuensi.
Komunkasi
dapat dilakukan dengan menggunakan
komunikasi serial. Pada jaringan perangkat TDL 9988-2 dan TDL-9921 ini komunikasi serial karena hanya menghubungkan antara remote dengan robot saja.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
54
Gambar 3.9 Rangkaian pengirim.
Gambar 3.10 Rangkaian penerima
Dalam rangkaian penerima dan pengirim terhubung dengan kaki tx dan rx pada mikrokontroller atmega 16. Dibutuhkan sistem minimum mikrokontroller sebagai penerima dan pengirim data karena memilki baudrate Karena pada modul penerima dan pengirim memiliki komunikasi serial. Komunikasi data serial asinkron (uart) merupakan jenis komunikasi yang umum, banyak serta mudah Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
55
digunakan dibandingkan dengan jenis komunikasi lainnya. Uart membutuhkan hanya 2 buah jalur interface Rx (receiver/penerima) dan Tx (Transmitter/ pemancar), tanpa memperdulikan Clock Master-Slave karena memilik baudrate yang standar dan umum. 3.3.8 Perancangan Mekanik Robot Bagian Mekanik Implementasi mekanik robot ditunjukkan pada gambar 3.11, bahan yang digunakan untuk casis robot adalah bahan almunium batangan dan almunium plat. Pada mekanik yang dirancang digunakan 3 roda untuk bagian depan robot agar dihasilkan putaran yang baik dengan reduksi kecepatan yang besar dan kemampuan mengunci pergerakan kemudi. Untuk penggerak belakang robot digunakan roda bulat untuk mempercepat putaran pada motor DC.
Gambar 3.11 perancangan mekanik.
Pada meakanik setiap roda pengikut ditanam satu bearing untuk menghindari slip pada roda. Robot disusun dua tingkat, pada bagian bawah berbentuk persegi panjang dan terdiri dari bagian penggerak mobile robot yang terdiri dari motor DC, gear box dan roda. Roda yang digunakan pada robot adalah
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
56
roda yang biasa digunakan pada mainan dengan diameter roda 3,5cm dan lebar 5 cm dengan bahan karet karena roda jenis ini murah dan mudah diperoleh di pasaran. Setiap motor dc mengunakan ban karet menghindari licin pada robot. Pada tingkat kedua dilapisi akrilik untuk tempat rangkaian robot.
3.3.9 Remote Control Bagian dari remote control ditunjukkan pada gambar 3.10 bahan yang digunakan adalah akrilik setebal 3 mm. Akrilik pada remote berfungsi sebagai tempat beberapa modul rangkaian seperti modul mikrokontroller, transmitter. power suplai, LCD dan potensiometer.
Gambar 3.12 Remote control
Remote berfungsi sebagai pengirim data ke dalam robot penghitung jarak. Kedua potensiometer diletakkan diujung sebelah atas dan saling besebrangan, hal ini dilakukan agar potensiometer dapat diputar dari sebelah kanan dan kiri. LCD diletakkan ditengah remote control agar data dapat mudah terbaca oleh operator. Mikrokontroller sebagai otak dari remote diletakkan di ujung bawah agar tidak
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
57
menggangu modul-modul yang lain, karena modul mikrokontroller merupakan pusat dari seluruh modul yang digunakan. Power suplai diletakkan di sebelah modul mikrokontroller, karena mensuplai LCD dan modul mikrokontroller. 3.4 Perancangan Perangkat Lunak Perangkat Lunak diperlukan sebagai protokol antara remote control dengan mikrokontroller robotSistem komunikasi antara remote control dengan mikrokontroller robot terjadi satu arah yaitu receive dan transmit (deliver dan submit). Pengiriman data ke robot menggunakan jalur serial (serial port) dari mikrokontroller. Mikrokontroller menyesuaikan baud rate remote, yaitu 9600 bps (bit per second).
3.4.1 Perencanaan Memori Dalam sistem ini memori terbagi menjadi dua yaitu memori program dan memori data. Karena tipe Mikrokontroler yang digunakan adalah ATmega16 dimana baik memori program maupun memori data terdapat dalam satu chip dan kapasitasnya sudah lebih dari yang diperlukan, maka tidak diperlukan memori eksternal, didalam program ini nantinya akan terdapat banyak data yaitu data nilai dari putaran motor masing-masing subrutin gerak, karena data ini sifatnya tetap/tidak berubah maka akan disimpan dalam memori flash dari mikrokontroler.
3.4.2 Perencanaan Timer Pada Mikrokontroler ATmega16 terdapat 3 buah timer yang dapat difungsikan sebagai timer/counter dan pembangkit PWM. Pada sistem proyek akhir ini digunakan timer 0 untuk pembacaan data sensor potensiometer, Serta pembangkit PWM motor secara software dengan memanfaatkan interupsi pada timer.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
58
3.4.3 Perencanaan Masukan Dan Keluaran Pada Mikrokontroler ATmega16 terdapat 4 buah port I/O 8 bit, yaitu port A, port B, port C, dan port D. Dimana dalam pengerjaan tugas akhir ini konfigurasi port – port yang digunakan adalah sebagai berikut :
Port A pada transmitter: 2 bit dari port A ini digunakan sebagai 2 chanel ADC untuk konversi input dari 2 potensio yang difungsikan sebagai pengukur sudut motor (sebagai sensor posisi). Dan 6 bit digunakan sebagai input dari push button.
Port A pada receiver : 6 bit dari Port B ini digunakan sebagai keluaran port untuk menggerakkan motor.
Port C : 6 bit dari Port C ini digunakan sebagai keluaran port untuk LCD.
Port D : 2 bit dari Port D ini digunakan sebagai RX dan TX, dan 1 bit untuk masukkan encoder.
3.4.4 Program Utama Program yang dirancang untuk mengendalikan proses kerja sistem, dalam hal ini adalah pergerakan dari robot ular itu sendiri. Program utama ini terdiri atas beberapa sub program yang akan menyusun susunan program yang terintegrasi. Eksekusi terhadap program utama dilakukan setelah alat diaktifkan atau direset secara hardware. Yang perlu diperhatikan sebelum membuat program adalah sebagai berikut: 1) Persiapan Pendefinisian port I/O dan variabel-variabel, inisialisasi chip, inisialisasi timer, dan inisialisasi ADC. 2) Proses pengambilan data masukan Proses pengambilan data masukan selain pembacaan terhadap tegangan pada tiap potensio. Data dari pembacaan potensio kemudian diolah dalam program utama menjadi suatu keputusan untuk memilih jenis pergerakan yang ada, yaitu gerak lurus maju, gerak belok kiri, atau gerak belok kanan. Sedangkan input potensio digunakan untuk acuan nilai kecepatan putaran motor.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
59
3) Proses kerja sistem Proses kerja sistem berisi program utama yang akan menentukan alur kerja sistem secara keseluruhan. STA RT
PO RT A ADC
D ata_ A D C [0] 0 -2 5 5
LCD PORT C
D ata_ A D C [1 ] 0 -2 5 5
P O R T D .1 (T X )
END
Gambar 3.13 Flowchart program remote control.
Pada flowchart program remote control, pada port A mikrokontroller ATmega 16 yang memiliki spesifikasi ADC akan mengkonversi potensiometer menjadikan kedalam data digital. ADC akan meghasilkan bilangan 0 sampai 255 pada setiap potesiometer yang dihubungkan ke port A.0 dan port A.1. Perencanaan pada flowchart semua data yang dihasilkan akan ditampilkan di LCD, untuk mengetahui nilai digital yang dihasilkan oleh setiap channel ADC yang digunakan. Nilai-nilai ADC yang dihasilkan akan dikirim melalui komunikasi serial yang dimiliki oleh mikrokontroller, yaitu pada pin D.0 dan pin D.1 sebagai RX maupun TX. Dalam sistem pengiriman akan digunakan pin D.1 karena mikrokontroller memiliki spesifikasi sebagai transmitter. Pengiriman data dengan menggunakan bantuan modul transmitter TDL 9988-2 yang dihubungkan pada mikrokontroller pin D.1. Data dari potensiometer yang telah dikonversi kedalam bilangan digital akan dikirim melalui modul transmitter tersebut. Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
60
START
PORT D.0 RX
PIN A.0 ADC_DATA [0] 0-255
PIN A.1 ADC_DATA [1] 0-255
LCD
PORT D.2=1 PORTD.2 BERTAMBAH
ADC_DATA[0] >=148
PORT A.0 = 1 PORT A.1 = 0 PORTA.4 = PWM (0-255)
ADC_DATA[0] <=140
PORT A.0 = 0 PORT A.1 = 1 PORTA.4 = PWM (0-255)
ADC_DATA[0] 141-147
PORT A.0 = 0 PORT A.1 = 0 PORTA.4 = PWM (0)
ADC_DATA[1] >=148
PORT A.2 = 1 PORT A.3 = 0 PORTA.5 = PWM (0-255)
ADC_DATA[1] <=140
PORT A.2 = 0 PORT A.3 = 1 PORTA.5 = PWM (0-255)
ADC_DATA[1] 141-147
PORT A.2 = 0 PORT A.3 = 0 PORTA.5 = PWM (0)
END
Gambar 3.14 Flowchart program robot.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
61
Setelah merancang proses pengiriman, akan dibuat perancangan penerimaan data pada robot penghitung jarak. Pada awalnya robot akan menerima data melaui pin D.0 dengan bantuan modul TDL 9921 sebagai receiver. Data yang diterima akan ditampilkan pada LCD, data yang diterima akan digunakan sebagai pergerakkan robot, yaitu mengatur pergerakkan dan kecepatan motor DC. Dari setiap data 0 sampai dengan 255 yang dihasilkan akan mengerakkan satu motor DC, pada data lebih besar dari 148 motor DC akan bergerak searah jarum jam, sedangkan bila data lebih kecil dari 140 motor DC akan bergerak berlawanan searah jarum jam, dan bila data 141-147 motor dc akan berhenti. Kecepatan motor DC akan diatur sesuai data yang dihasilkan pada setiap pergerakkan data. Pada pin D.2 mikrokontroller akan digunakan sebagai penghasil data pada encoder. Mikrokontroller akan menghitung hasil putaran pada piringan encoder dan ditampilkan pada LCD. Setiap data pertambahan 100, akan dirubah dalam satuan meter.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
62
BAB IV PENGUJIAN DAN ANALISA
4.1. Tujuan Pengujian Pengujian yang akan dilakukan untuk mengetahui apakah sistem sudah berjalan sesuai dengan perencanaan yang telah dibuat. Pengujian dilakukan pada beberapa bagian secara terpisah, kemudian dilakukan dalam sistem yang telah terintegrasi. Setelah melakukan perencanaan dan perancangan, selanjutnya perlu dilakukan pengujian dan pengukuran terhadap peralatan. Dalam pengujian dan analisa sistem, terlebih dahulu harus menjalankan rangkaian secara benar dalam pemasangan dan integrasi hardware maupun software. Tujuan pengujian berguna untuk menghindari kesalahan-kesalahan yang terjadi, langkah ini untuk mengetahui kondisi peralatan yang direncanakan sudah dapat berjalan dengan baik dan sesuai dengan yang dikehendaki atau tidak. Pengujian yang dilakukan pada bab ini antara lain, pengujian suplai daya, pengujian mengirim dan menerima data menggunakan mikrokontroler dan diteruskan menggunakan transmitter, pengujian penerimaan data menggunakan receiver apakah hasilnya sesuai dengan data sebenarnya dan pengujian kalibrasi alat secara keseluruhan. Pengujian pada bagian-bagian perangkat meliputi : 1. Pengujian rangkaian power supply. 2. Pengujian rangkaian ISP downloader. 3. Pengujian rangkaian sistem minimum mikrokontroller ATmega 16. 4. Pengujian sensor posisi potensio dan ADC internal. 5. Pengujian rangkaian driver motor DC. 6. Pengujian LCD. 7. Pengujian Encoder. 8. Pengujian Radio Frekuensi. 9. Pengujian sistem keseluruhan. 4.2. Pengujian Perangkat Power Supply Untuk pengujian
modul Power Supply berkerja dengan baik akan
dilakukan pengujian pada rangkaian. Dalam pengujian suplai daya yang Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
63
digunakan untuk beberapa rangkaian yang menggunkan tegangan 5 dan12 volt. suplai yang digunakan adalah baterai 12 volt untuk rangkaian regulator 5 volt. Suplai daya pada modul transmitter dan receiver menggunakan dua buah suplai daya, yaitu sebesar 12 V dan 5 V. Pada gambar 4.1 dapat dilihat jalur tegangan yang dihasilkan pada rangkaian.
1212 Volt volt
Jalur 5 Volt
12 Volt Regulator 5 Volt
12 Volt Suplai 12 volt
Gambar 4.1 Rangkain power supply.
Penggunaan power suplai 12 volt digunakan untuk modul mikrokontroller dan suplai tegangan untuk driver motor. Dari rangkaian memiliki satu masukkan dari baterai 12 volt, 3 channel keluaran 12 volt dan 5 channel keluaran 5 volt. Tabel 4.1 merupakan tabel hasil pengujian pengukuran suplai daya. Tabel 4.1 Hasil pengujian regulator Pengukuran
Tegangan
1
4.79Volt
2
4.8 Volt
3
4.9 Volt
4
4.95 Volt
5
5 Volt
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
64
Dari beberapa pengukuran pada power suplai dapat dilihat presentasi kesalahan sebesar 0.2 %. Adanya perbedaan pengukuran tegangan pada regulator 5 volt disebabkan oleh penurunan suplai daya dari baterai 12 volt. Tegangan pada regulator dapat digunakan, karena tegangan dalam batas yang memenuhi untuk mensuplai beberapa rangkiaan robot yang membutuhkan suplai 5 volt. Dari hasil pengujian dapat disimpulkan bahwa rangkaian regulator dapat digunakan untuk mensuplai beberapa modul yang digunakan untuk pembuatan robot.
4.3 Pengujian Rangkaian Downloader Rangkaian downloader digunakan untuk meng-compile program yang sudah dibuat pada komputer ke mikrokontroller. Pengujian rangkaian downloader dilakukan untuk mengetahui apakah rangkaian ini dapat bekerja dengan baik atau tidak. Apabila rangkaian ini tidak berfungsi maka program tidak dapat di-compile ke mikrokontroller, hal ini akan menghambat seluruh kinerja sistem yang ada. Pada mikrokontroller, rangkaian downloader dihubungkan dengan pin MOSI, MISO, dan SCK yang terdapat pada port B. Peralatan yang dibutuhkan untuk pengujian rangkaian downloader adalah sebagai berikut : 1. DC Power Supply 12 V 2. Rangkaian Downloader 3. Modul Atmega16 4. PC (komputer) 5. Software CodeVisionAVR Evaluation V2.04.4a.
Untuk mengetahui apakah rangkaian ini dapat bekerja dengan baik, dilakukan percobaan download program menggunakan software CodeVisionAVR Evaluation V2.04.4a.
yang sudah ter-instal pada komputer. Sebelum proses
download software CodeVisionAVR harus diatur terlebih dahulu, seperti terlihat pada gambar 4.2.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
65
Gambar 4.2 Programmer Setting untuk Rangkaian Downloader.
Dari gambar diatas dapat dilihat bahwa programmer settings yang dipilih adalah Kanda sistem STK200+/300, hal ini dikarenakan sistem tersebut support terhadap rangkaian downloader yang sudah dibuat. Kemudian setelah itu dilakukan proses download menggunakan CodeVision Chip Programmer yang sudah ada pada software.
Gambar 4.3 CodeVision Chip Programmer untuk proses download.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
66
Gambar 4.4 Proses mendownload mikrokontroller.
Dari proses gambar 4.4 program berhasil di download ke mikrokontroller. Dari hasil pengujian diketahui bahwa rangkaian downloader dapat bekerja dengan baik, yaitu dapat mengirimkan data program dari komputer ke dalam mikrokontroller. Hal ini dilihat pada pada saat proses peng-compile-an program menggunakan Chip Programmer pada software CodeVision AVR. 4.4 Pengujian Minimum Sistem ATmega16 Untuk pengujian modul mikrokontroller ATmega 16 berkerja dengan baik akan dilakukan pengujian pada jalur-jalur port yang dimiliki oleh mikrokontroller Atmega 16. Untuk pengujian modul dilakukan pengisian program terlebih dahulu menggunakan CodeVisionAVR Evaluation V2.04.4a. Dengan mengcompile program ke mikrokontroller kita dapat mengetahui adanya eror atau tidak. Untuk menjalankan program, caranya hubungkan langsung antara komputer dengan mikrokontroller melalui rangkaian downloader kemudian lakukan download program. Lalu lihat pada CodeVision AVR Evaluation V2.04.4a apakah program berhasil terdowload. Bila berhasil berarti modul ATmega 16 dapat digunakan. Peralatan yang digunakan untuk pengujian modul atmega 16 :
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
67
1. DC power suplai +5V. 2. Modul mikrokontroler ATmega16. 3. Kabel Downloader. 4. Seperangkat PC. 5. Software CodeVisionAVR Evaluation V2.04.4a Rangkaian yang digunakan untuk melakukan pengujian sistem minimum adalah sebagai berikut :
Gambar 4.5 Blok diagram pengujian minimum sistem
Untuk pengujian modul mikrokontroller dibuat program menyalakan led pada port
C
mikrokontroller
atmega
16.
Menggunakan
bantuan
CodeVisionAVR Evaluation V2.04.4a.
Gambar 4.6 Listing program pengujian minimum sistem
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
Software
68
Pada program yang sudah kita download ke dalam mikrokontroller. Dapat lihat kondisi pada rangkaian led yang disambungkan pada port C, apakah led bergantian selama satu detik kemudian mematikannya kembali sesuai kondisi program yang diberikan. Tabel 4.2 merupakan tabel pengujian pada led. Tabel 4.2 Kondis pengujian led No
Output
1
11111111
2
00000000
3
01010101
4
10101010
Kondisi led
Pengujian pada rangkain led terlihat keluaran yang sama pada program yang telah dibuat untuk pengujian. Kondisi rangkaiaan led berubah nyala atau mati sesuai dengan proram yang diberikan setiap satu detik seperti pada kondisi led yang ditunjukkan pada tabel 4.2. Dari hasil tersebut dapat dianalisa bahwa minimum sistem mikrokontroler ATmega16 dapat berfungsi dengan baik dan dapat diprogram untuk aplikasi pergerakan robot selanjutnya. 4.5 Pengujian LCD Pengujian LCD ini untuk mengetahui apakah LCD dapat dipakai atau rusak. Pengujian pertama yang dilakukan dengan memberi tegangan pada pada kaki catu daya (kaki 2 dan 15). Maka LCD akan menyala, namun demikian tidak berarti LCD akan bekerja dengan. Blok diagram sistem yang digunakan dalam pengujian LCD adalah sebagai berikut:
Gambar 4.7 Blok diagram pengujian LCD Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
69
Peralatan yang digunakan untuk pengujian LCD : 1. DC power suplai +5V. 2. Modul mikrokontroler ATmega16. 3. Kabel Downloader. 4. Seperangkat PC. 5. Software CodeVisionAVR Evaluation V2.04.4a 6. LCD 2x16. Pengujian selanjutnya adalah menjalankan program menggunakan sistem minimum ATmega16 yang akan di tampilkan oleh LCD melalui port B. Sebagai contoh perintah untuk menampilkan tulisan “TEKNIK ELEKTRO Mercu Buana”. Pada CodeWizartAVR dilakukan pengaturan port B untuk LCD. Selanjutnya pada CodeVisionAVR dituliskan program sebagai berikut:
Gambar 4.8 Listing program LCD.
Hasil dari program yang telah dibuat dapat dilihat pada tampillan lcd pada gambar 4.9 sebagai berikut :
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
70
Gambar 4.9 Tampilan pada LCD.
Tampilan pada LCD 2x16 sama seperti program yang telah di buat. Yaitu pada tampilan pada LCD “TEKNIK ELEKTRO Mercu Buana”.
Dari hasil
tersebut dapat dianalisa bahwa LCD yang digunakan dapat berfungsi dengan baik dan dapat digunakan untuk aplikasi penampilan data secara digital pada robot.
4.6 Pengujian Sensor Posisi Potensiometer Dan ADC Internal Pengujian ini dilakukan untuk mengetahui tingkat resolusi dan kestabilan dari konversi yang dilakukan oleh ADC internal Atmega16 dan juga untuk mengetahui ke-linear-an dari potensiometer yang digunakan untuk sensor posisi motor. Potensiometer sebagai komponen yang akan dikonversi menjadi data digital oleh adc yang terdapat pada mikrokontroller dan ditampilkan pada layar LCD. Dari data digital yang di dapat akan digunakan sebagai pergerakkan pada motor sebagai gerak pada robot. Peralatan yang digunakan untuk pengujian ADC : 1. DC power supply +5V. 2. Modul mikrokontroler ATmega16. 3. Potensiometer. 4. Kabel secukupnya. 5. Seperangkat komputer. 6. Software CodeVisionAVR Evaluation V2.04.4a. 7. LCD 2x16. Blok diagram sistem yang digunakan dalam pengujian ADC adalah sebagai berikut :
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
71
Gambar 4.10 Blok diagram pengujian akurasi ADC
Untuk pengujian ADC digunakan LCD untuk menampilkan data potensio yang telah dikonversi menjadi digital. Potensiometer 10K yang telah diberikan tegangan 5 volt menghasilkan tegangan yang berbeda pada setiap putarannya. Pada lcd menampilkan data digital 0-255 pada setiap potensio yang digunakan. Karena digunakan 8 bit ADC, maka rentang output yang dihasilkan adalah dari 0 sampai 255 (8bit = 28 = 256). Pada tabel 4.3 dapat dilihat data hasil dari potensio.
Tabel 4.3 Hasil data adc pada lcd No.
Tegangan pada potensio
Hasil digital pada lcd
1
0.5 volt
25
2
0.97 volt
50
3
1.47 volt
75
4
1.95 volt
100
5
2.45 volt
125
6
2.97 volt
150
7
3.45 volt
175
8
3.97 volt
200
9
4.4 volt
225
10
4.9 volt
250
Dari hasil pengujian nilai tegangaan pada potensiometer telah di konversi kedalam nilai digital yang ditampilkan pada lcd. Nilai digital yang dihasilkan bergantung pada nilai tegangan potensiometer. Untuk membandingkan setiap Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
72
perubahan ADC pada potensiometer kedalam nilai digital dibuatkan sebuah grafik.
Gambar 4.11 Grafik hasil pengujian ADC.
Setelah melakukan pengujian pada adc yang ada dalam sistem minimum ATmega16, hasil yang didapatkan dari pengujian tersebut ADC berkerja sesuai dengan keinginan. Dalam pengambilan data pada tabel dapat dilihat tegangan pada potensiometer dapat dikonversi kedalam data digital. Dari 10 kali pengambilan data setiap tegangan memiliki output data digital. Dari hasil tersebut dapat dianalisa bahwa ADC yang digunakan dapat berfungsi dengan baik dan dapat digunakan untuk aplikasi pergerakan robot selanjutnya.
4.7 Pengujian Rangkaian Driver Motor DC Tujuan dari pengujian driver motor DC ini adalah untuk mengetahui apakah rangkaian driver motor DC ini dapat bekerja sesuai dengan yang diinginkan dan mampu bergerak sesuai dengan yang diharapkan yaitu mampu bergerak dua arah, searah jarum jam maupun berlawan dengan arah jarum jam. Driver motor berguna dalam mengatur kecepatan motor DC, yaitu dapat mengatur
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
73
tegangan yang mengalir pada motor DC. Tegangan yang mengalir untuk mengatur motor DC adalah 12 volt. Driver motor L298 harus bisa mengontrol 2 buah motor DC yang digunakan untuk pergerakkan robot. Blok diagram sistem yang digunakan dalam pengujian driver adalah sebagai berikut:
Gambar 4.12 Blok diagram pengujian driver motor DC.
Peralatan yang digunakan untuk pengujian driver motor : 1. DC Power Supply. 2. Rangkaian driver motor DC. 3. Sistem minimum mikrokontroler ATmega16. 4. Motor DC 12 volt 2 buah. 5. Kabel secukupnya. Untuk pengujian rangkaian driver L298 dibuat program untuk menjalankan dua buah motor. Driver L298 digunakan untuk menjalankan robot agar dapat bergerak lurus, belok kanan, belok kiri, dan mundur. Rangkaian driver L298 memiliki kaki enable yang dapat diatur untuk menghasilkan kecepatan pada motor DC. Dalam pengujian PWM (Pulse Width Modulator) digunakan osiloskop untuk melihat adanya transisi perubahan tegangan pada driver motor. Pada tabel 4.4 hasil dari pengujian PWM pada driver motor.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
74
Tabel 4.4 hasil dari pengujian PWM (Pulse Width Modulator) No.
PWM
Tegangan
1
50
2.63 Volt
2
100
5.20 Volt
3
150
7,74 Volt
4
200
10.28 Volt
5
225
11.56 Volt
Hasil Osiloskop
Dari hasil pengujian PWM pada kaki enable driver motor L298 terlihat perubahan pada tegangan sesuai PWM yang diberikan. Dalam pengujian diberikan waktu selama 5 detik untuk setiap perubahan pada tegangan sesuai tabel PWM. Dari pengujian tersebut PWM yang diberikan pada driver motor tidak mengalami perubahan. Dengan hasil tersebut pwm pada driver motor bekerja dengan baik dan dapat digunakan untuk mengatur kecepatan motor DC
Tabel 4.5 Pengujian Driver motor PIN
PIN
PIN
PIN
PIN
PIN
Kondisi
Enable A
Enable B
A.1
A.2
B.1
B.2
Motor
1
1
0
1
0
1
Maju
1
1
1
0
1
0
Mundur
1
1
1
0
0
1
Putar Kanan
1
1
0
1
1
0
Putar kiri
0
0
1
0
0
1
Diam
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
75
Setelah melakukan pengujian pada driver motor, hasil yang didapatkan dari pengujian tersebut driver berkerja sesuai dengan keinginan. Untuk pengontrol driver diberi logika high atau logika
low pada modul mikrokontroller dan
diberikan nilai PWM pada pin enable. Dimana apabila logika pada pin enable low maka motor akan tetap diam meskipun logika pada A dan B diganti-ganti. Hal ini disebabkan pin enable merupakan pin yang menentukan aktif atau tidak driver motor. Pin enable ini bersifat aktif high sehingga akan aktif bila diberi logika 255. Dari hasil pengujian dan data yang telah diambil dari hasil pengujian, driver motor DC ini dapat berfungsi dengan baik dan dapat digunakan sebagai kontrol gerak motor pada sistem gerak robot ini. Motor DC berhasil berputar sesuai program yang telah dibuat. Dari hasil tersebut dapat dianalisa bahwa driver L298 yang dibuat dapat berfungsi dengan baik dan dapat digunakan untuk aplikasi pergerakan robot selanjutnya.
4.8 Pengujian RF (Radio Frekuensi) Dalam pengujian ini modul rangkaian transmitter harus terhubung. Pada sisi transmitter (pengirim) terhubung pada mikrokontroller AVR dengan menghubungkan port Tx dan Rx. Sedangkan pada sisi receiver (penerima) terhubung pada modul TDL-9921 yaitu modul receiver. Pengujian ini menggunakan koneksi serial mikrokontroller, tetapi tanpa menggunakan kabel yaitu menggunakan modul Tx dan Rx melalui frekuensi 315 MHz. Langkah awal pengujian ini adalah mengirim data dari transmitter ke receiver. Pertama-tama, set baud rate yang sesuai dengan modul yang digunakan. Digunakan rangkaian led sebagai output dari modul penerima. Digunakan progam untuk pengujian RF (radio frekuensi) yaitu menerima output pada port yang dikirimkan dari transmitter sebagai input. Pada gambar dapat dilihat listing program transmitter dan receiver.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
76
Gambar 4.13 Listing program transmitter.
Pada pin A akan mengirimkan sebuah karakter, setiap pin A mempunyai karakter masing-masing. Tujuanya adalah untuk memisahkan pengiriman data agar pada penerima tidak mengalami pertukaran data. Misalnya jika pin A.0 mengirimkan karakter “A” bila berkondisi low dan mengirimkan karakter ”B” bila berkondisi high.
Gambar 4.14 Listing program receiver.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
77
Program yang digunakan untuk pengujian RF yaitu setiap port C akan mengalami kondisi high dan low bila memenuhi syarat penerimaan. Misal port c.0 berkondisi high bila menerima data “A” dan port c.0 berkondisi low bila menerima data “B”. Dapat dilihat hasil pengujian pada tabel 4.4 :
Tabel 4.6 Hasil Pengujian RF. No.
Input (pengirim)
Input A.0
1
Pin A.0 high
2
Pin A.1 high
3
Pin A.0 high dan Pin A.1 high
4
Pin A.1 high dan Pin A.2 high
A.1
Output A.2
C.0
C.1
Dari pengujian pengirim data sesuai karakter telah sesuai dengan output di penerima. Led akan menyala bila pada push button ditekan pada transmitter, yaitu data pada penerima sesuai dengan pada input pada transmitter. Dari beberapa percobaan tidak terjadi pertukaran data karena setiap input maupun output sudah diberikan karakter masing-masing.
4.9 Pengujian Encoder Tujuan dari pengujian encoder ini adalah untuk mengetahui apakah rangkaian encoder ini dapat bekerja sesuai dengan yang diinginkan dan mampu berkerja sesuai dengan yang diharapkan. Rangkaian encoder diharapkan dapat mengirimkan seluruh data yang berjumlah 16 putaran ke mikrokontroller. Peralatan yang digunakan untuk pengujian encoder : 1. DC power suplai +5V. 2. Modul mikrokontroler ATmega16. 3. Seperangkat PC. Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
C.2
78
4. Software CodeVisionAVR Evaluation V2.04.4a 5. Rangkaian encoder. 6. LCD 2x16 Blok diagram sistem yang digunakan dalam pengujian LCD adalah sebagai berikut :
Gambar 4.15 Blok diagram pengujian encoder
Untuk pengujian encoder digunakan lcd untuk menampilkan data putaran yang telah dikonversi menjadi digital. Dalam setiap putaran encoder, tampilan pada LCD akan bertambah sesuai jumlah putaran.
Tabel 4.7 Hasil Pengujian Encoder Pengujian
Putaran pada encoder
Tampilan LCD
1
10
Putaran = 10
2
20
Putaran = 20
3
30
Putaran = 30
4
40
Putaran = 40
5
50
Putaran = 50
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
79
Dari pengujian encoder data putaran pada LCD sesuai dengan jumlah perputaran encoder. Yaitu apabila encoder diputar maka LCD akan menampilkan data sesuai jumlah putaran. Dari hasil tersebut dapat dianalisa bahwa rangkaian encoder yang digunakan dapat berfungsi dengan baik dan dapat digunakan.
4.10 Pengujian Sistem Keseluruhan Untuk pengujian apakah seluruh sistem dapat berkerja, akan dilakukan pengujian pengiriman pada modul TDL 9988 berupa data ADC yang terdapat pada master (mikrokontroller sebagai pengirim). Data ADC akan diterima oleh slave (mikrokontroller sebagai penerima) dan ditampilkan pada LCD. Data digital yang dikirimkan
akan diterima oleh slave apabila transmitter pada master
dihidupkan, Pada gambar 4.16 akan ditampilkan hasil pengiriman dan penerimaan data pada LCD.
Data pada transmitter
Data pada receiver
Gambar 4.16 Hasil pegujian penerimaan dan pengiriman data.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
80
Data ADC yang ditampilkan pada LCD pada transmitter sesuai dengan data pada receiver. Data adc berguna untuk mengatur pegerakkan dan kecepatan motor DC. Pada data ADC 0-119 motor bergerak maju, data ADC 127-250 motor bergerak mundur, dan data ADC 120-126 motor dalam kondisi berhenti.
Tabel 4.8 Hasil pengujian penerimaan dan pengiriman data adc. No.
Data transmitter
Data receiver
1
0
2
2
25
25
3
50
50
4
75
75
5
100
100
6
125
125
7
150
150
8
175
175
9
200
200
10
225
225
11
250
250
12
253
255
Dalam hasil pengujian terdapat kesalahan pada penerimaan data, yaitu saat data ADC mendekati angka 0 dan 255 mengalami pertukaran data ADC 1 menjadi data ADC 2. Hal ini sebabkan data tegangan 0 dan 5 volt (data 0 dan 255) pada penerima dalam kondisi low atau high secara bersamaan. Dimana potensiometer yang diputar terlebih dahulu dianggap sebagai data ADC 1, tetapi setelah data lebih dari 0 dan kurang dari 255 tidak akan mengalami pertukaran data. Walaupun adanya pertukaran data robot masih bisa dikendalikan karena data ADC 1 dan 2 memiliki data yang sama untuk mengontrol pergerakkan robot. Pada data adc 1 dan 2 dengan nilai 255 robot bergerak maju dan pada data bernilai 0 robot bergerak mundur. Yang membedakan pada saat adanya pertukaran data hanyalah saat robot bergerak belok kanan dan belok kiri. Pergerakkan robot akan ditampilkan pada gambar dan akan dilihat juga hasil pengukuran jarak oleh Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
81
encoder yang ditampilkan pada LCD. Pada LCD ditampilkan jarak yang sudah ditempuh oleh robot dalam satuan meter. Karena setiap jarak antar lubang pada encoder berjarak 1 cm, lcd akan menampilkan data encoder setiap 1 meter per 100 putaran.
MAJU
MUNDUR
BELOK KIRI
BELOK KANAN
Gambar 4.17 Hasil pengujian pergerakkan robot.
Dari hasil pengujian pergerakkan robot dapat bergerak sesuai perintah dari operator yang mengendalikan remote dan kecepatan pada robot dapat diatur. Saat bergerak maju robot sedikit berbelok kearah kanan karena adanya ban untuk perputaran encoder yang berada disebelah kanan robot. Roda untuk putaran encoder memiliki tekanan yang menyebabkan robot sedikit berbelok kearah kanan. Saat robot dikendalikan untuk berbelok kearah kanan dan kiri robot Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
82
terkadang mengalami slip pada roda karena licin. Untuk pergerakkan maju maupun mundur pada robot tidak mengalami gangguan, robot lancar saat maju dan mundur. Saat robot bergerak putaran pada encoder akan menghitung jarak yang sudah dilalui oleh robot.
Gambar 4.18 hasil pengujian jarak pada encoder.
Dari hasil pengujian encoder saat robot dikendalikan oleh operator dapat dilihat jarak yang ditempuh oleh robot dalam satuan meter. Saat putaran bertambah setiap 100 maka jumlah jarak akan terus bertambah. Jumlah putaran menunjukkan berapa putaran pada encoder. Dari hasil keseluruhan robot dapat berkerja sesuai perencanaan dan perancangan yang telah dibuat.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
83
BAB V PENUTUP 5.1 Kesimpulan Setelah dilakukan pengujian alat dan sistem, maka diperoleh beberapa kesimpulan dan saran. Berdasakan hasil studi dan analisa terhadap pembuatan sistem, maka dapat diambil kesimpulan: 1. Teknik pemrograman untuk mikrokontroller ATmega16 dapat dilakukan dengan
ISP
programmer.
(In
System
Perangkat
Programming), lunak
sehingga
downloader
memudahkan
yang
digunakan
CodeVisionAVR. 2. Pengujian Perangkat Keras terdiri atas : a. Pengujian Port Mikrokontroller Pengecekan I/O menggunakan simulasi nyala LED. b. Pengujian rangkaian driver menggunakan PWM, untuk mengetahui kecepatan pada motor DC yang digunakan. c. Pengujian Sistem (Kontrol Motor DC Menggunakan RF) remote control mengirim data ADC ke robot. Kemudian mikrokontroller pada robot akan memproses untuk menggerakkan motor DC. d. Encoder pada robot dapat menghitung jarak yang ditempuh dan ditampilkan pada LCD. 3. Secara keseluruhan, dari pengujian-pengujian tersebut. Di dapatkan masing-masing modul berkerja dengan baik. Robot dapat berfungsi sesuai perintah dari remote control yang dapat mengendalikan kendalikan kecepatan dan pergerakkan oleh operator.
5.2 Saran Pada sistem pengontrolan pada robot beroda penghitung jarak banyak kekurangan, maka perlu pengembangan lebih lanjut pada waktu yang akan datang. Adapun saran-saran:
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
84
1. Robot ini dapat dikembangkan dengan menambahkan komunikasi balik dari robot ke remote control. Supaya LCD pada remote dapat menampilkan jarak yang sudah ditempuh oleh robot. 2. Dalam
pembuatan
sistem
komunikasi
sebaiknya
menggunakan
handShake atau Jabat tangan berfungsi sebagai tanda serah terima data dan pergantian fungsi Agar komunikasi data tidak membingungkan maka sebaiknya salah satu mengirim dan yang lainnya menerima pada satu waktu, jika diinginkan sebaliknya maka harus ada sinyal atau data handShake yang memicu pertukaran fungsi yaitu yang semula mengirim jadi penerima dan yang semula penerima jadi pengirim. Apabila mendukung fungsi full duplex dan dalam hal tertentu mewajibkan komunikasi input output bersamaan maka mengirim dan menerima dapat dilakukan bersamaan.
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)
85
DAFTAR PUSTAKA
1. Andi, adriansyah. Modul-1. Mekatronika. Universitas mercu buana. Jakarta. 2010 2. Andi, adriansyah. Modul-2. Mekatronika. Universitas mercu buana. Jakarta. 2010 3. Balch, T., dan R.C.Arkin (1998), Behavior-based formation control for multi-robot teams, IEEE Transaction on Robotics and Automation, 14 (6), pp. 926-939, 1998 4. Eddy. 2000. Pengendali Kecepatan Motor Arus Searah Menggunakan Logika Fuzzy. Tugas Akhir 5. Gerkey, B.P. dan Mataric, M.J. (2003), A Formal Analysis and Taxonomy of Task Allocation in Multi-robot Systems, International Journal of Robotics Research, USA, 2003 6. Hendawan, soebhakti. Modul-2. Analog To Digital Converter ATmega 16. Jakarta. 2008 7. Roth, M.,et al (2003), A world model for multi-robot teams with communication, Proceeding of the International Conference of Robotics and Automation, Taiwan, 2003 8. Sekarsari, Kartika. 2007. Dasar Sistem Kontrol. Modul-1
Tugas akhir (Perancangan sistem remote control pada robot beroda penghitung jarak berbasis ATmega 16)