TUGAS AKHIR
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh:
THOMAS SUPRIADI
NIM : 055114002
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2009
FINAL PROJECT
In partial fulfilment of the requirements
For the degree of Sarjana Teknik
Electrical Engineering Study Program
Electrical Engineering Departement
Science and Technology Faculty Sanata Dharma University
By:
THOMAS SUPRIADI
NIM : 055114002
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTEMENT
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2009
SISTEM KENDALI MOBILE ROBOT
BERBASIS PERSONAL
COMPUTER (PC) MELALUI APLIKASI LAYANAN
BLUETOOTH
Disusun oleh:
THOMAS SUPRIADI
NIM : 055114002
Telah disetujui oleh:
Pembimbing I
Ir. Theresia Prima Ari Setiyani, M.T.
Tanggal:
SISTEM KENDALI MOBILE ROBOT
BERBASIS PERSONAL
COMPUTER (PC) MELALUI APLIKASI LAYANAN
BLUETOOTH
Disusun oleh:
THOMAS SUPRIADI
NIM : 055114002
Telah dipertahankan di depan panitia penguji
Pada tanggal: _____________
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji:
Nama Lengkap
Tanda Tangan
Ketua
: Damar Widjaja,S.T.,M.T.
Sekretaris
: Ir. Theresia Prima Ari Setiyani, M.T.
Anggota
: Pius Yozy Merucahyo,S.T.,M.T.
Yogyakarta,
Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan Fakultas Sains dan Teknologi
Yosef Agung Cahyanta, S.T., M.T.
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 28 September 2009
Thomas Supriadi
Tuhan Yesus Kristus
Ayah dan Ibu ku
Kakak ku Mas Toni dan Mbak Maria
Kekasih ku Flora Srisusanti
Dan kepada seluruh teman2 ku . . . .
Takut akan Tuhan adalah permulaan pengetahuan
(Amsal 1:7)
Karena Tuhan adalah hikmat,
dari mulut Nya lah datang pengetahuan dan kepandaian
(Amsal 2:6)
Tak perlulah kita menulis rancangan hidup ini dengan tinta.
Cukup tuliskan dengan pensil & serahkan penghapus beserta
tintanya kepada Tuhan untuk menyempurnakannya. Dia
pasti tau yang terbaik untuk hidup kita..
Berikanlah senyum kita yang paling tulus agar kita makin
mengerti betapa berharganya hidup ini..
sebuah sistem kendali mobile robot yang dikontrol melalui PC dapat dibuat dengan menggunakan aplikasi layanan dari teknologi Bluetooth. Pada sistem kendali ini, mobile robot dirancang agar dapat melakukan komunikasi dua arah yaitu antara PC dan mobile robot. PC berfungsi mengontrol mobile robot dengan memberi perintah maju, mundur, belok kiri, belok kanan, dan berhenti serta menampilkan data-data yang dikirimkan dari mobile robot yaitu data jarak dan kecepatan. Mobile robot berfungsi melaksanakan perintah yang berasal dari PC dan mengirimkan data-data hasil sensoring jarak dan kecepatan ke PC.
Proses pembuatan sistem ini dimulai dengan proses pengenalan identifikasi controller antara PC dan mobile robot. Tahap selanjutnya adalah memberikan perintah-perintah gerak dan melakukan proses sensoring jarak dan kecepatan. Tahap terakhir adalah pengiriman data dari mobile robot ke PC. Pengiriman perintah gerak dan penampilan data hasil sensoring menggunakan software Visual Basic 6,0. Pada sistem ini menggunakan mikrokontroler AVR ATmega 8535, modul Bluetooth Embedded BluetoothTM500, sensor jarak sensor
ping, dan sensor kecepatan rotary encoder.
Pada pengujian ini, mobile robot dapat dikontrol oleh PC dengan menggunakan aplikasi layanan dari Bluetooth sampai jarak ± 7,2 meter (close field) dan ± 9,7 meter (open field). Kecepatan maksimal mobile robot saat diberi perintah maju adalah 105 RPM dan pada jarak ± 20 cm dari halangan maka kecepatanya akan menjadi 30 RPM dan akan berhenti pada jarak ± 10 cm. Saat diberi perintah mundur, kecepatan mobile robot adalah 105. Saat diberi perintah gerak belok kanan dan kiri, kecepatan mobile robot adalah 67 RPM. Jarak jangkauan yang dapat ditempuh oleh sensor ping mulai dari 3,83 cm sampai 340,88 cm.
Kata kunci:
Mobile Robot, Bluetooth, Embedded BluetoothTM500 (EB500), Sensor
Ping, Rotary Encoder, Mikrokontroler ATmega8535
using service application from Bluetooth technology. In this system, mobile robot is designed to communicate two directions. PC is used to control mobile robot by giving forward, backward, turn left, turn right, stop command, and presents data that is sent from mobile robot, i.e. distance and speed data. Mobile robot executes command that is coming from PC and send sensoring distance and speed data to PC.
The process of system design starts with recognition process of controller identification between PC and mobile robot. The next stage is giving movement commands and sensoring process of distance and speed data. The last stage is delivering data from mobile robot to PC. Delivery of movement commands and display of sensoring data result is using Visual Basic 6.0 software. This system is using AVR ATmega8535 microcontroller, Embedded BluetoothTM500, ping
sensor for distance sensor, and rotary encoder for speed sensor.
The result of the test shows that mobile robot can be controlled by PC using service application from Bluetooth up to distance ± 7.2 meter (close field) and ± 9.7 meter (open field). Maximum speed of mobile robot when it is given forward command is 105 RPM and at ± 20 cm from barrier, speed of mobile robot become 30 RPM and will stop at ± 10 cm from barrier. When it is given backward command, the speed of mobile robot is 105 RPM. When it is given turn right and turn left commands, the speed of mobile robot is 67 RPM. Maximum distance can be achieved by ping sensor start from 3,83 cm up to 340,88 cm.
Key word:
Mobile Robot, Bluetooth, Embedded BluetoothTM500 (EB500), Ping
Censor, Rotary Encoder, Microcontroller ATmega8535
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Thomas Supriadi
Nomor Mahasiswa : 055114002
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:
SISTEM KENDALI MOBILE ROBOT
BERBASIS PERSONAL
COMPUTER (PC) MELALUI APLIKASI LAYANAN
BLUETOOTH
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengolahnya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet dan media lain untuk kepentingan akademis tanpa perlu minta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di Yogyakarta
Pada tanggal: 28 September 2009
Yang menyatakan
(Thomas Supriadi)
menyelesaikan penulisan karya tugas akhir ini. Tugas akhir berjudul : “Sistem Kendali Mobile Robot Berbasis Personal Computer (PC) Melalui Aplikasi Layanan Bluetooth”.
Tugas akhir ini ditulis untuk memenuhi salah satu syarat dalam memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Universitas Sanata Dharma.
Penulisan skripsi ini didasarkan pada hasil-hasil yang penulis peroleh pada saat perancangan alat, pembuatan alat, sampai pada hasil pengujian pengujian alat.
Penulis ingin mengucapkan terima kasih kepada beberapa pihak yang telah memberikan banyak bimbingan, bantuan, dan arahan sehingga laporan ini dapat diselesaikan, diantaranya :
1. Tuhan Yesus Kristus, sebagai pelindung dan penuntun hidupku
2. Ibu Ir. Theresia Prima Ari Setiyani, M.T. selaku dosen pembimbing skripsi yang telah memberikan masukan, arahan, serta bimbingan selama pengerjaan rugas akhir ini.
3. Bapak Martanto, S.T., M.T. dan Bapak Ir. Tjendro selaku dosen Jurusan Teknik Elektro yang telah membantu dalam memberikan arahan serta masukan dalam pengerjaan proyek ini dan telah memberikan bimbingan sehingga penulis dapat menyelesaikan proyek ini dengan baik.
4. Bapak dan Ibu dosen Jurusan Teknik Elektro yang telah mendidik dan mengajarkan banyak hal yang berguna untuk masa depan penulis.
5. Seluruh staf sekretariat yang telah membantu penulis dalam mengurus semua masalah administrasi selama perkuliahan di Universitas Sanata Dharma ini.
6. Para laboran prodi Teknik Elektro Universitas Sanata Dharma.
7. Ayah, Ibu, dan kakak-kakak penulis yang telah memberikan dukungan sehingga penulis dapat menyelesaikan tugas akhir ini tepat waktu.
penulis sehingga tugas akhir ini dapat selesai.
10. Teman-teman angkatan 2005 dan semua pihak yang telah terlibat yang tidak dapat penulis sebutkan satu per satu, terimakasih atas semua dukungannya.
Penulis menyadari bahwa penulisan skripsi ini masih banyak terdapat kekurangan. Segala kritik dan saran dari berbagai pihak penulis terima untuk perkembangan selanjutnya. Semoga karya tulis ini dapat bermanfaat bagi pembaca. Terimakasih.
Yogyakarta, 28 September 2009 Penulis,
Thomas Supriadi
Halaman Judul (Inggris) ……… ii
Lembar Pengesahan oleh Pembimbing ………. iii
Lembar Pengesahan oleh Penguji ………. iv
Lembar Pernyataan Keaslian Karya ……….. v
Halaman Persembahan dan Motto Hidup ………. vi
Intisari ……… vii
Abstract ………. viii
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah ……….. ix
Kata Pengantar ……….. x
Daftar Isi ………... xii
Daftar Gambar ……….. xv
Daftar Tabel ……….. xviii
Bab I Pendahuluan ………. 1
1.1. Judul ………...………... 1
1.2. Latar Belakang ………..……….. 1
1.3. Tujuan ……....….………... 3
1.4. Manfaat ………... 3
1.5. Batasan Masalah ………... 3
1.6. Metodologi Penelitian ………... 4
Bab II Dasar Teori ……… 6
2.1. Bluetooth ……… 6
2.1.1. Pengertian Bluetooth ………... 6
2.1.2. Aplikasi dan Layanan ……….. 7
2.1.3. Deskripsi Umum Sistem Bluetooth ………. 8
2.2. Modul Embedded BluetoothTM 500 ……….. 9
2.2.1. Karakteristik Operasional EB500 ……… 9
2.2.2. Konfigurasi Pin-Pin pada EB500 ……… 10
2.7. PWM (Pulse Width Modulation) ………... 18
2.8. IC L293D ………... 20
2.9. Mikrokontroler ATMEGA8535 ………. 20
2.10. Microsoft Visual Basic 6.0 ………... 23
2.11. Modul LCD Karakter 2x16 ……….. 26
Bab III Rancangan Penelitian ……… 29
3.1. Perancangan Sistem ………... 29
3.1.1. Bagian-Bagian dari PC ……… 31
3.1.2. Bagian-Bagian dari Mobile Robot ……….. 32
3.1.2.1. Mikrokontroler ………... 32
3.1.2.2. Sensor Jarak ……… 32
3.1.2.3. Sensor Kecepatan ………... 33
3.1.2.4. Driver Motor ……….. 33
3.2. Perancangan Hardware ……….. 34
3.2.1. Perancangan PC ………... 34
3.2.2. Perancangan Mobile Robot ………. 34
3.2.3. Perancangan Elektronika ………. 37
3.2.3.1. Rangkaian Mikrokontroler ………. 37
3.2.3.2. Rangkaian Sensor Kecepatan ………. 39
3.3. Perancangan Software ……… 40
3.3.1. Perancangan Program pada Mikrokontroler ……… 40
3.3.2. Perancangan Program Komunikasi Bluetooth …… 42
3.3.3. Perancangan Program Sensor Ping ………. 46
3.3.4. Perancangan Program Sensor Kecepatan ………… 48
3.3.5. Perancangan Program Gerak Robot ……… 49
3.3.6. Perancangan Controller pada PC ……… 51
4.3.1. Pengujian Tingkat Ketelitian Sensor Ping ………. 65
4.3.2. Pengujian Jangkauan Sensor Ping Terhadap Tingkat Kemiringan Penghalang ……… 68
4.4. Pengujian Modul Embedded BluetoothTM 500 ………….. 69
4.4.1. Pengujian Jangkauan Komunikasi ………..……… 69
4.4.2. Konsumsi arus dari EB500 ………. 72
4.5. Pengujian Driver Motor ……… 72
4.6. Pengujian Sensor Kecepatan …………..……….. 73
Bab V Kesimpulan dan Saran ……….. 76
5.1. Kesimpulan ……… 76
5.2. Saran ……….. 76
Daftar Pustaka ………... 78
Lampiran ……… 79
Gambar 2.2. Blok Fungsional pada Sistem Bluetooth ………. 8
Gambar 2.3. Embedded BluetoothTM 500 (EB500) ………... 9
Gambar 2.4. Bentuk dari Sensor Ping ……….. 15
Gambar 2.5. Simbol Optocoupler ………. 16
Gambar 2.6. Pemasangan sensor kecepatan ………. 16
Gambar 2.7. Karakteristik dan Simbol dari Schmitt Trigger ……… 17
Gambar 2.8. Motor dengan Jumlah Pulsa yang Berbeda ……….. 18
Gambar 2.9. Gambar PWM dengan Beberapa Duty Cycle ……….. 19
Gambar 2.10. Bentuk dari IC L293D ………. 20
Gambar 2.11. Pin ATmega8535 ……….. 23
Gambar 2.12. Layar Kerja Microsoft Visual Basic 6.0 ………... 24
Gambar 2.13. Tampilan Form dalam Visual Basic ……… 25
Gambar 2.14. ToolBox dalam Visual Basic ………... 25
Gambar 2.15. Properties dalam Visual Basic ………. 25
Gambar 2.16. ToolBar dalam Visual Basic ……… 26
Gambar 2.17. Modul LCD Karakter 2x16 ………. 26
Gambar 3.1. Rancangan Sistem secara Keseluruhan ……… 29
Gambar 3.2. Blok Diagram Sistem Kendali ……….. 31
Gambar 3.3. Rangkaian IC L293D ………... 33
Gambar 3.4. Rancangan Mekanik Robot ……….. 35
Gambar 3.8. Rangkaian Connectable Status ……… 37
Gambar 3.9. Rangkaian Mikrokontroler secara Keseluruhan ……….. 38
Gambar 3.10. Rangkaian Sensor Kecepatan ……….. 39
Gambar 3.11. Flowchart Program pada Mikrokontroler ……… 41
Gambar 3.12. Flowchart Program Komunikasi Bluetooth ………. 42
Gambar 3.13. Flowchart Program Sensor Ping ……….. 46
Gambar 3.14. Flowchart Program Sensor Kecepatan ………. 48
Gambar 3.15. Flowchart Perancangan Program Gerak Robot ……… 50
Gambar 3.16. Tampilan Program Bluetooth Control ………. 51
Gambar 3.17. Tampilan Program Setting Communication Port ……… 53
Gambar 3.18. Flowchart Perancangan Koneksi Bluetooth pada PC ……….. 54
Gambar 3.19. Flowchart Perancangan Setting Communication Port ………. 55
Gambar 3.20. Flowchart Perancangan Setting Communication Port ………. 56
Gambar 4.1. Ukuran Mobile Robot ………..………… 58
Gambar 4.2. Komponen-Komponen Mobile Robot ………. 59
Gambar 4.3. Tampilan Kondisi Awal dari Bluetooth Control ………. 60
Gambar 4.4. Tampilan Setting Port ……….. 60
Gambar 4.5. Tampilan Bluetooth Control Setelah Terkoneksi …..……….. 61
Gambar 4.6. Tampilan Bluetooth Control dalam Kondisi Tidak Terkoneksi ……….. 62
Gambar 4.10. Gelombang dari Phototransistor dan Schmitt Trigger ……….. 74
Tabel 2.2. Tabel Kode Error ………. 14
Tabel 2.3. Pin dan Fungsi LCD Karakter 2x16 ……….... 27
Tabel 3.1. Daftar Penggunaan Port I/O ………. 32
Tabel 4.1. Reaksi Mobile Robot Saat Diberi Perintah Gerak …….………... 64
Tabel 4.2. Perbandingan Data yang Tertampil pada Bluetooth Control dan LCD ……….…….. 65
Tabel 4.3. Perbandingan Jarak penghalang yang Sebenarnya dengan Hasil Pengukuran Sensor ………. 66
Tabel 4.4. Hasil Pengukuran dengan Menggunakan Beberapa Angka Pembagi ……… 67
Tabel 4.5. Perbandingan Derajat Kemiringan Sensor Ping ……….. 68
Tabel 4.6. Konsumsi Arus dari EB500 ………..………... 72
Tabel 4.7. Pengukuran Arus Motor Driver …..………. 73
Tabel 4.8. Hasil Pengukuran Kecepatan Putaran Motor ………... 74
1.1
Judul
Sistem Kendali Mobile Robot Berbasis Personal Computer (PC) Melalui Aplikasi Layanan Bluetooth
1.2
Latar Belakang
Perkembangan teknologi saat ini sudah semakin berkembang khususnya di dunia teknologi komunikasi. Salah satu perkembangannya adalah teknologi bluetooth. Bluetooth merupakan suatu teknologi komunikasi wireless (tanpa
kabel) yang beroperasi pada pita frekuensi 2,4 GHz [1]. Pada awalnya bluetooth digunakan hanya untuk menggantikan penggunaan kabel dalam melakukan pertukaran informasi. Perkembangan selanjutnya, bluetooth dapat digunakan sebagai mobile wireless dengan biaya yang relatif rendah dan mudah dalam pengoperasiannya. Aplikasi-aplikasi yang disediakan oleh layanan bluetooth antara lain: PC to PC file transfer, PC to PC file synch (notebook to desktop), PC to mobile phone, PC to PDA (Personal Digital Assistant), wireless headset, LAN
(Local Area Network) connection via ethernet access point dan sebagainya.
Saat ini, teknologi bluetooth berkembang dan dapat diaplikasikan sebagai penghubung antara PC ke suatu perangkat elektronika ataupun sebaliknya [2].
Berdasarkan hal tersebut, penulis akan mencoba mengembangkan suatu aplikasi layanan bluetooth yaitu antara PC ke Mikrokontroler berupa suatu sistem kendali mobile robot yang dikontrol melalui PC dengan menggunakan aplikasi layanan
dari teknologi bluetooth. Teknologi bluetooth ini sudah diaplikasikan pada: Pengendali Utama pada Pemodelan Rumah Pintar Berbasis Visual Basic 6.0 [3] dan Aplikasi Bluetooth sebagai Pengendali Robot Sederhana [4]. Pada pemodelan rumah pintar, aplikasi layanan bluetooth pada sistem ini hanya bersifat satu arah yaitu dari Handphone ke PC. Handphone mengirimkan kode password ke PC untuk mengaktifkan sistem dari pemodelan rumah pintar tersebut. Pada pengendali robot sederhana, aplikasi layanan bluetooth juga bersifat satu arah yaitu dari PC to Mikrokontroler. Robot dikendalikan oleh mikrokontroler berdasarkan perintah yang diberikan dari PC. Pada sistem ini, aplikasi robot masih sederhana yaitu PC mengirimkan perintah-perintah untuk mengontrol robot tanpa ada feedback dari robot ke PC. Pada penelitian yang akan dibuat oleh penulis, sistem pada mobile robot dirancang sehingga mampu melakukan komunikasi dua arah (duplex). Pada sistem ini, PC mengontrol mobile robot berdasarkan perintah-perintah yang dikirimkan dan mobile robot dapat mengirimkan sinyal ke PC berupa data-data yang diambil oleh sensor-sensor yang terpasang di mobile robot.
dari PC dan mengirimkan data-data ke PC yaitu data jarak dan kecepatan. Bagian mobile robot terdiri dari Embedded BluetoothTM500 yang berfungsi sebagai device
penghubung antara mobile robot dengan PC, sensor jarak berfungsi untuk mengetahui jarak mobile robot dengan halangan di depannya, sensor kecepatan berfungsi untuk mengetahui kecepatan dari mobile robot, mikrokontroler AVR berfungsi mengontrol mobile robot berdasarkan perintah dari PC dan output dari setiap sensor, serta mengirim data-data ke PC yaitu data jarak dan kecepatan, motor driver dan motor DC berfungsi untuk menggerakkan mobile robot.
1.3
Tujuan
Tujuan dari tugas akhir ini adalah membuat sebuah sistem kendali mobile robot yang dapat dikontrol melalui PC dengan menggunakan aplikasi layanan dari
teknologi bluetooth.
1.4
Manfaat
Manfaat yang dapat dicapai dari tugas akhir ini yaitu dapat digunakan sebagai acuan dalam membuat model pengendali atau pengontrol suatu perangkat elektronika lainnya dengan menggunakan aplikasi layanan dari teknologi bluetooth.
1.5
Batasan Masalah
jarak jangkauan maksimal dari USB Bluetooth Dongle) dengan menggunakan program Visual Basic 6.0. Pengujian mobile robot dilakukan dalam suatu ruangan tertutup. Peletakan halangan diatur dengan tinggi halangan lebih tinggi dari mobile robot.
Spesifikasi alat yang akan digunakan:
1. Modul bluetooth menggunakan Embedded BluetoothTM500 atau EB500 .
2. USB Bluetooth Dongle menggunakan merk Mini Nova Bluetooth Dongle dengan jangkauan koneksi mencapai 10 meter.
3. Sensor jarak menggunakan sensor ping dengan jarak minimal mobile robot dengan benda di depannya adalah ± 10 cm.
4. Sensor kecepatan menggunakan sensor rotary encoder. Kecepatan mobile robot akan berkurang mulai pada jarak 20 cm dan akan berhenti pada jarak
± 10 cm.
5. Mikrokontroler menggunakan AVR ATmega8535.
6. Hasil pengukuran jarak dan kecepatan ditampilkan pada LCD 2x16.
7. Motor listrik menggunakan motor DC 6V dengan IC L293D sebagai motor driver.
1.6
Metodologi Penelitian
Metodologi yang digunakan pada penelitian ini adalah : 1. Studi pustaka dan literatur
rotary encoder, dan program Visual Basic 6.0. Sumber literatur penulis
ambil dari buku-buku dan internet.
2. Perancangan dan pembuatan alat serta program, seperti algoritma, flow chart, layout rangkaian, dan mekanik robot.
Pada tahap ini akan dilakukan dua tahap. Tahap pertama: perancangan dari bentuk mekanik robot yaitu sistem gerak dan penempatan sensor-sensor serta komponen lainnya. Tahap kedua: pembuatan flowchart program yang digunakan sebagai algoritma untuk mengontrol dan menghubungkan antara PC dengan mobile robot. Setelah itu dilanjutkan dengan pembuatan program berdasarkan dari flowchart yang telah dibuat tersebut.
3. Pengujian sistem pada mobile robot yang meliputi pengujian EB500, pengujian sensor jarak, pengujian sensor kecepatan, pengujian motor driver, dan pengujian mobile robot secara keseluruhan.
Pada tahap ini akan dilakukan pengujian terhadap komponen-komponen dan sensor-sensor yang digunakan pada mobile robot ini. Pengujian sistem ini dilakukan untuk mengetahui mobile robot sudah dapat bekerja sesuai dengan input yang diberikan.
4. Analisa data hasil pengujian.
Pada tahap ini penulis akan melakukan analisa berdasarkan data-data yang telah didapatkan saat pengujian mobile robot.
5. Pengambilan kesimpulan
2.1
Bluetooth
2.1.1
Pengertian
Bluetooth
Bluetooth adalah sebuah 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) [1]. Bluetooth sendiri dapat berupa card yang bentuk dan fungsinya hampir sama dengan card yang digunakan untuk Wireless Local Area Network (WLAN), menggunakan frekuensi radio standar IEEE 802.11. Hanya saja pada bluetooth mempunyai jangkauan jarak layanan yang lebih pendek dan kemampuan transfer data yang lebih rendah.
Pada dasarnya bluetooth diciptakan bukan hanya untuk menggantikan atau menghilangkan penggunaan kabel di dalam melakukan pertukaran informasi, tetapi juga mampu menawarkan fitur yang baik untuk teknologi mobile wireless dengan biaya yang relatif rendah, konsumsi daya yang rendah, mudah dalam pengoperasian dan mampu menyediakan layanan yang bermacam-macam.
2.1.2 Aplikasi dan Layanan
Protokol bluetooth menggunakan sebuah kombinasi antara circuit switching dan packet switching. Bluetooth dapat mendukung sebuah kanal data
asinkron, tiga kanal suara sinkron simultan atau sebuah kanal yang secara bersamaan mendukung layanan data asinkron dan suara sinkron. Setiap kanal suara mendukung sebuah kanal suara sinkron 64 kb/s. Kanal asinkron dapat mendukung kecepatan maksimal 723,2 kb/s asimetris, untuk arah sebaliknya dapat mendukung sampai dengan kecepatan 57,6 kb/s, sedangkan untuk mode simetris dapat mendukung sampai dengan kecepatan 433,9 kb/s.
Sebuah perangkat yang memiliki teknologi wireless bluetooth akan mempunyai kemampuan untuk melakukan pertukaran informasi dengan jarak jangkauan sampai dengan 10 meter (30 feet). Sistem bluetooth menyediakan layanan komunikasi point to point maupun komunikasi point to multipoint. Produk bluetooth dapat berupa PC card atau USB adapter yang dimasukkan ke dalam perangkat. Perangkat-perangkat yang dapat diintegerasikan dengan teknologi bluetooth antara lain: mobile PC, mobile phone, PDA (Personal Digital Assistant), headset, kamera, printer, router dan masih banyak peralatan lainnya.
Aplikasi-aplikasi yang dapat disediakan oleh layanan bluetooth ini antara lain : PC to PC file transfer, PC to PC file synch (notebook to desktop), PC to mobile phone, PC to PDA, wireless headset, LAN (Local Area Network) connection via
ethernet access point dan sebagainya. Contoh modul aplikasi beberapa peralatan
Gambar 2.1 Aplikasi Peralatan yang Menggunakan Bluetooth [1]
2.1.3
Diskripsi Umum Sistem
Bluetooth
Sistem bluetooth terdiri dari sebuah radio transceiver, baseband link controller dan sebuah link manager. Baseband link controller menghubungkan
perangkat keras radio ke base band processing dan layer protokol fisik. Link manager melakukan aktivitas-aktivitas protokol tingkat tinggi seperti melakukan
link setup, autentikasi dan konfigurasi. Secara umum blok fungsional pada sistem
bluetooth dapat dilihat pada Gambar 2.2.
2.2
Modul
Embedded Bluetooth
TM500
Pada aplikasi ini, Embedded BluetoothTM500 (EB500) digunakan sebagai
perantara komunikasi bluetooth antara mikrokontroler dengan PC (menggunakan USB Dongle Bluetooth). Bentuk dari modul Embedded BluetoothTM 500 dapat
dilihat pada Gambar 2.3.
Gambar 2.3 Embedded BluetoothTM500 (EB500) [5]
2.2.1 Karakteristik Operasional EB500
Komunikasi bluetooth yang digunakan pada EB500 memiliki karakteristik sebagai berikut [5]:
1. Kekuatan pengiriman sinyal sebesar 4dBm (maksimal).
2. Menggunakan tipe komunikasi serial dengan jangkauan komunikasi pada lapangan terbuka dapat lebih dari 100 meter (328 feet).
3. EB500 dapat bekerja dengan baik pada temperatur 00 sampai 700 C.
4. Supply power sebesar 5 sampai 12 Vdc.
6. Disertai dengan LED kecil untuk menunjukkan kondisi sinyal yang diterima oleh EB500.
2.2.2 Konfigurasi Pin-Pin pada EB500
Konfigurasi pin-pin pada modul EB500 dapat dilihat pada Tabel 2.1. Tabel 2.1 Tabel Konfigurasi Pin [5]
Pin Name Pin Type Description
VSS 1, 2 GND Ground
RX 3 TTL output UART data output
TX 4 CMOS/TTL input UART data input RX Flow (RTS) 5 CMOS/TTL
input, weak pulldown
Signaled high to stop module data transmission TX Flow (CTS) 6 TTL output Signaled high to stop
host data transmission 7 Reserved Reserved for future use Connection
Status
8 TTL output High when there is an active wireless
connection Mode Control 9 CMOS/TTL
input, weak pulldown
Low for command mode/High for data
mode
10 - 19 Reserved Reserved for future use
VIN 20 VCC Module supply, 5 to 12
Vdc
Pin yang dipakai adalah VSS, VIN, RX TX, dan Connection Status. Pin RX Flow tidak digunakan karena format data serial yang dipakai tidak menggunakan sistem flow control, sedangkan pin mode control tidak digunakan karena proses perubahan mode pada EB500 dapat dilakukan dengan software.
Komunikasi yang digunakan antara EB500 dengan microcontroller adalah secara serial TTL (standar pabrik = 9600 baud, 8 data bits, 1 stop bits, no parity, dan no flow control). Baud rate dapat dimodifikasi sesuai dengan keinginan pemrogram.
EB500 mempunyai dua mode operasi utama yaitu command mode dan data mode. Setiap kali dilakukan power up, EB500 akan selalu masuk dalam
command mode. Pada command mode ini terdapat beberapa perintah yang dikirimkan menggunakan berbagai macam fitur yang dimiliki oleh EB500. Perintah-perintah itu antara lain:
1. get con <CR> (notasi <CR> merupakan 0Ah dan 0Dh): Perintah untuk melihat kondisi connectable dari EB500 yang digunakan. Setelah EB500 menerima perintah ini, E500 akan terlebih dahulu mengirimkan ACK (perintah benar) atau NAK (perintah salah), kemudian kondisi dari koneksi (apabila “on” berarti EB500 akan menerima semua koneksi yang masuk, namun apabila “off” berarti EB500 akan menolak semua koneksi yang masuk).
3. lst [timeout] <CR>: Perintah untuk mencari bluetooth lain yang masuk dalam jangkauan EB500 dan dalam keadaan discoverable on. Timeout disini hanya bersifat optional, variable timeout dapat diisi lama waktu (detik) yang digunakan dalam melakukan pencarian bluetooth lain. Setelah EB500 menerimah perintah ini, EB500 akan terlebih dahulu mengirimkan ACK atau NAK kemudian akan memulai pencarian. Apabila dalam pencarian ditemukan adanya bluetooth device yang lain, maka EB500 akan mengirimkan hardware address dari bluetooth device tersebut. Apabila menerima perintah ini, EB500 akan selalu
melakukan proses pencarian sampai terjadi timeout. Untuk membatalkan proses pencarian EB500, pengguna dapat mengirimkan notasi <CR>.
4. set con status <CR>: Perintah untuk mengubah kondisi connectable dari EB500. Variable status diisi on (aktif) atau off (non aktif). EB500 hanya mengirimkan ACK atau NAK setelah menerima perintah ini. 5. set dis status <CR>: Perintah untuk mengubah kondisi discoverable
dari EB500. Variable status diisi on (aktif) atau off (non aktif). EB500 hanya mengirimkan ACK atau NAK setelah menerima perintah ini.
Proses komunikasi pada EB500 secara serial dengan mengirimkan karakter-karakter ASCII. Contoh mencari bluetooth device aktif didekat EB500.
Perintah yang dikirim dalam notasi hexadecimal adalah sebagai berikut: 6D 74 75 0A 0D
Data yang diterima dalam notasi hexadecimal adalah sebagai berikut: 41 43 4B 0A 0D <Delay> 30 30 3B 31 30 3B 36 30 3B 41 45 3B 39 33 3B 34 44 0A 0D <Delay> 30 30 3B 30 44 3B 31 38 3B 30 31 3B 30 34 3B 46 46 0A 0D <Delay>
Data yang diterima tersebut adalah: ACK <CR> <Delay>
00:10:60:AE:93:4D <CR> <Delay> 00:0D:18:01:04:FF <CR> <Delay>
Sebagai contoh: setelah menerima ACK, EB500 akan segera mengirimkan hardware address dari bluetooth dongle yang ada disekitarnya. 00:10:60:AE:93:4D merupakan nilai hardware address dari bluetooth dongle yang ditemukan pertama kali, sedangkan 00:0D:18:01:04:FF merupakan hardware address dari bluetooth dongle kedua yang ditemukan. EB500 akan
selalu melakukan proses pencarian sampai terjadi timeout atau menerima notasi <CR> dari AVR. Delay yang terjadi pada contoh di atas disebebkan karena EB500 sedang melakukan proses pencarian.
Tabel 2.2 Tabel Kode Error [5]
Kode Error Deskripsi
Err 1 Kode ini muncul apabila bluetooth yang akan dihubungkan tidak terkonfigurasi dengan baik (misal: bluetooth yang akan dihubungkan membutuhkan bluetooth security)
Err 2 Kode ini muncul apabila EB500 berusaha untuk menghubungkan diri dengan alamat bluetooth yang salah atau bluetooth tidak ada Err 3 Kode ini muncul pada saat adanya koneksi aktif dan perintah
yang diberikan tidak berlaku jika EB500 dalam kondisi terhubung.
Err 4 Kode ini muncul pada saat tidak adanya koneksi aktif dan perintah yang diberikan hanya dapat dilaksanakan jika EB500 dalam kondisi tidak terhubung.
2.3
USB Bluetooth Dongle
Bluetooth dari Mini Nova Bluetooth Dongle mempunyai spesifikasi umum
sebagai berikut [6]:
1. Bluetooth 1.1 compliant
2. Bluetooth class 2, compatible with bluetooth class 1 3. USB 1.1 compliant
4. Lebih dari 33 feet wirelwss networking range 5. Date Rate sampai 723 Kbps
6. Jangkauan koneksi sampai 10 meter 7. Sangat kecil dan tipis.
2.4
Sensor
Ultrasonic
Ultrasonic adalah penerapan dan penggunaan gelombang bunyi dengan
Dalam tugas akhir ini sensor ultrasonic yang digunakan adalah PING))) Ultrasonic Sensor yang diproduksi oleh Parallax. Gambar 2.4 merupakan bentuk
dari sensor ping.
Gambar 2.4 Bentuk dari Sensor Ping [7]
Sensor ping mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonic (40KHz) selama tBURST (200µs) kemudian mendeteksi pantulanya [7].
Sensor ping memancarkan gelombang ultrasonic sesuai dengan kontrol dari mikrokontroler (pulsa trigger dengan tOUT min 2 µs). Gelombang ultrasonic ini
melalui udara dengan kecepatan 344 meter per detik, mengenai objek dan memantul kembali ke sensor. Sensor ping mengeluarkan pulsa output high setelah memancarkan gelombang ultrasonic dan setelah gelombang pantulan terdeteksi oleh sensor ping, sensor ping akan membuat output low. Lebar pulsa high (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonic untuk dua
Keterangan:
Sp = jarak yang ditempuh oleh gelombang
tIN = waktu selama pulsa high
2.5
Sensor Kecepatan
Untuk mengetahui atau mengukur kecepatan putar motor digunakan sensor optik berupa sepasang pemancar dan penerima infra merah yang disebut optocoupler [8]. Simbol optocoupler seperti terlihat pada Gambar 2.5.
Gambar 2.5 Simbol Optocoupler [8]
Sensor optik ini membaca piringan berlubang yang dipasangkan dengan dikopel pada poros motor. Banyaknya lubang sangat mempengaruhi ketelitian pembacaan kecepatan. Pemasangan sensor ditunjukkan pada Gambar 2.6 berikut:
Optocoupler terdiri atas LED inframerah dan fototransistor. LED
inframerah yang digunakan hanya mampu melewatkan arus maksimal sebesar 20 mA. Oleh karena itu perlu ditambahkan sebuah resistor sebagai pembatas arus. Besaran nilai resistor minimal ditentukan dengan menggunakan rumus sebagai berikut:
I V
R= (2.2)
Pada bagian fototransistor, kaki kolektor diberikan resistor pull-up dan dihubungkan ke kaki schmit trigger inverter yang dibangun dengan IC 74LS14 untuk memperbaiki pulsa yang dihasilkan oleh optocoupler. Sebagai indikator pulsa keluaran, ditambahkan sebuah LED dan resistor pembatas arus yang dipasang pada keluaran IC 74LS14. LED dihubungkan dengan keluaran IC 74LS14 pada bagian katoda, sehingga LED difungsikan aktif high.
Dalam kondisi tidak ada penghalang (kisi-kisi piringan), fototransistor di dalam optocoupler menghantarkan arus sehingga keluaran dari optocoupler ini bernilai low (logika 0). Akan tetapi penggunaan IC schmitt trigger akan membalik nilai logika. Jadi dalam kondisi tidak ada halangan kisi piringan, keluaran sensor bernilai digital high (logika 1) [9]. Gambar 2.7.a) merupakan karakteristik schmitt trigger dan Gambar 2.7.b) simbol schmitt trigger.
a) Karakteristik schmitt trigger b) Simbol schmitt trigger Gambar 2.7 Karakteristik dan Simbol dari Schmitt Trigger [9]
5 Volt
0 Volt
5 Volt
2.6 Pengukuran Kecepatan Putaran Motor
Gambar 2.8 Motor dengan Jumlah Pulsa yang Berbeda [10]
Gambar 2.8 adalah gambar motor dengan jumlah pulsa yang berbeda. Jika n adalah banyaknya pulsa dalam satu putaran dan x adalah banyaknya pulsa yang terukur dalam satu detik, maka didapatkan rumus untuk mendapatkan banyaknya putaran dalam satu menit yaitu [10]:
RPM =
(2.3)
Keterangan:
RPM = rotation per minute
X = banyaknya pulsa yang terukur dalam satu detik n = banyaknya pulsa dalam satu putaran
2.7
PWM (
Pulse Width Modulation
)
mengatur duty cycle dari tegangan pulsa yang diberikan terhadap motor. Semakin besar duty cycle dari pulsa tegangan, kecepatan motor akan bertambah. Duty cycle adalah perbandingan waktu antara saat sinyal pada posisi ‘on’ atau berlogika ‘1’ dengan waktu yang diperlukan untuk menyelesaikan satu pulsa.
Duty cycle (%) =
(2.4)
Dengan: Ton = saat pulsa PWM bernilai 1
Toff = saat pulsa PWM bernilai 0
Gambar 2.9 adalah PWM dengan beberapa duty cycle. Duty cycle dapat diubah mulai dari posisi 0% sampai dengan 100% sesuai dengan kecepatan motor yang diinginkan. Pada saat duty cycle mendekati 0%, motor DC akan berhenti karena arus rata-rata pada saat itu akan mendekati 0, sedangkan pada saat duty cycle 100%, motor DC akan berputar dengan kecepatan penuh.
Gambar 2.9 PWM dengan Beberapa Duty Cycle [11]
2.8 IC L293D
L293D adalah IC dua rangkaian half-H bridge untuk mengatur arah aliran arus listrik ke beban dengan kemampuan dapat mengalirkan arus hingga 600 mA dan range power supply antara 4,5v – 36v [12]. IC ini dirancang untuk mengendalikan beban induktif seperti solenoid, motor stepper, motor DC dan compatible lainnya dengan semua masukan TTL. IC L293D berisi dua buah input
dan dua buah output. Setiap input dan output dapat digunakan sebagai sebuah untai H-bridge dan dapat diaktifkan dengan sebuah sinyal enable. Gambar 2.10 adalah bentuk dari IC L293D.
Gambar 2.10 Bentuk dari IC L293D [12]
2.9 Mikrokontroler ATMEGA8535
Mikrokontroller AVR memiliki arsitektur RISC (Reduced Instruction Set Computing) 8 Bit, sehingga semua instruksi dikemas dalam kode 16-bit (16-bits
word) dan sebagian besar instruksi dieksekusi dalam satu siklus instruksi clock
berarsitektur CISC (Complex Instruction Set Computing) yang membutuhkan siklus 12 clock.
AVR dikelompokkan ke dalam 4 kelas, yaitu ATtiny, keluarga AT90Sxx, keluarga ATMega, dan keluarga AT86RFxx. Dari ke semua kelas yang membedakan satu sama lain adalah ukuran on board memori, on-board peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, bisa
dikatakan hampir sama.
Berikut adalah arsitektur,fitur dan konfigurasi pin ATmega8535. 1. Arsitektur ATMega8535
a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D b. ADC 10 bit sebanyak 8 Channel
c. Tiga buah timer / counter d. 32 register
e. Watchdog Timer dengan oscilator internal f. SRAM sebanyak 512 byte
g. Memori Flash sebesar 8 kb
h. Sumber Interrupt internal dan eksternal i. Port SPI (Serial Pheriperal Interface) j. EEPROM on board sebanyak 512 byte k. Komparator analog
2. Konfigurasi Pin ATMega8535
a. VCC merupakan Pin yang berfungsi sebagai pin masukan catudaya b. GND merupakan Pin ground
c. Port A (PA0...PA7) merupakan port I/O dan pin masukan ADC
d. Port B (PB0...PB7) merupakan port I/O dan pin yang mempunyai fungsi khusus yaitu timer/counter, komparator analog dan SPI
e. Port C (PC0...PC7) merupakan port I/O dan pin yang mempunyai fungsi khusus, yaitu komparator analog dan timer oscillator
f. Port D (PD0...PD1) merupakan port I/O dan pin fungsi khusus yaitu komparator analog dan interrupt eksternal serta untuk komunikasi serial
g. RESET merupakan pin yang digunakan untuk mengembalikan mikrokontroler ke kondisi awal.
h. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal i. AVCC merupakan pin masukan untuk tegangan ADC
Gambar 2.11 adalah IC ATmega8535:
Gambar 2.11 Pin ATmega8535 [13]
2.10
Microsoft Visual Basic
6.0
Microsoft Visual Basic 6.0 merupakan bahasa pemrograman visual yang
digunakan secara umum untuk membuat program aplikasi yang bekerja menggunakan Operating System (OS) Microsoft Windows. Bahasa pemrograman Visual Basic yang dikembangkan oleh Microsoft sejak tahun 1991 merupakan
yang mendukung OOP (Object Oriented Programming). Gambar 2.12 menunjukkan tampilan dari layar kerja Microsoft Visual Basic 6.0.
Gambar 2.12 Layar Kerja Microsoft Visual Basic 6.0 [14]
Form adalah bagian dari project yang digunakan untuk merancang
windows yang merupakan tampilan antar muka program. Form juga digunakan
Gambar 2.13 Tampilan Form dalam Visual Basic [14]
Gambar 2.14 menunjukkan tampilan Toolbox yang menampilkan semua standar Visual Basic Control ditambah dengan kontrol yang bisa kita atur dalam project tersebut.
Pengaturan properties dapat dilakukan dari form dengan menggunakan properties window. Dengan properties ini (seperti yang ditunjukkan pada Gambar
2.15) anda dapat mengubah nilai dari form tersebut seperti caption, name, font, colour, size, dan position. Gambar 2.16 merupakan Visual Basic Toolbar yang
menyediakan shortcuts untuk operasi yang biasa digunakan.
Gambar 2.16 ToolBar dalam Visual Basic [14]
2.11Modul LCD Karakter 2x16
Modul LCD karakter dapat dengan mudah dihubungkan dengan mikrokontroller. LCD yang akan digunakan mempunyai lebar display 2 baris dan 16 kolom atau biasa disebut sebagai LCD karakter 2x16, dengan 16 pin konektor [15]. Gambar 2.17 merupakan LCD karakter 2x16.
Konfigurasi pin dan fungsi pada LCD Karakter 2x16 dapat dilihat pada Tabel 2.3.
Tabel 2.3 Tabel Pin dan Fungsi LCD Karakter 2x16 [15]
PIN Name Function
1 VSS Ground voltage
2 VCC +5V
3 VEE Contrast voltage
4 RS Register Select
0 = Instruction Register 1 = Data Register
5 R/W Read/ Write, to choose write or read mode 0 = write mode
1 = read mode
6 E Enable
0 = start to lacht data to LCD character 1= disable
7 DB0 Data (LSB)
8 DB1 Data
9 DB2 Data
10 DB3 Data
11 DB4 Data
12 DB5 Data
13 DB6 Data
14 DB7 Data (MSB) 15 BPL Back Plane Light 16 GND Ground voltage
Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan dianggap sebagi sebuah perintah atau instruksi khusus, seperti clear screen, posisi kursor, dll. Ketika RS berlogika high “1”, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk
3.1 Perancangan Sistem
Pada perancangan ini, sistem kendali mobile robot dirancang agar dapat melakukan komunikasi dua arah (duplex) antara PC dengan mobile robot. Komunikasi ini menggunakan aplikasi layanan dari teknologi bluetooth.
Gambar 3.1 Rancangan Sistem secara Keseluruhan
Mobile robot yang dibuat pada tugas akhir ini sesuai rancangan Gambar
3.1. Sistem ini mempunyai tiga fitur utama, yaitu: proses identifikasi controller, memberi perintah gerak dan sensoring, dan pengiriman hasil pengukuran sensor.
Proses identifikasi controller dilakukan secara otomatis oleh mobile robot apabila security mode EB500 diaktifkan. Proses ini merupakan sistem keamanan yang dipakai pada pembuatan mobile robot. Hal ini dilakukan untuk menghindari masuknya device bluetooth lain yang tidak diinginkan. Ketika sistem keamanan
29
Pengiriman Hasil Pengukuran Sensor Memberi Perintah Gerak dan Sensoring pada Mobile Robot
Proses Identifikasi Controller
(tombol security) diaktifkan, mobile robot hanya mencari ID controller dari PC yang digunakan pada sistem ini. Setelah mobile robot mengenali ID controller dari PC, lampu status akan menyala dan mobile robot telah siap untuk menerima koneksi dari PC. Lampu status adalah tanda yang digunakan untuk mengetahui mobile robot sudah mengenali ID controller. Apabila sistem keamanan tidak
diaktifkan, mobile robot dapat menerima koneksi dari bluetooth device yang lain. Jika PC dan mobile robot sudah dalam kondisi terkoneksi, maka dapat diberikan perintah-perintah untuk menggerakkan dan melakukan sensoring pada mobile robot. Perintah-perintah gerak yaitu: perintah maju, mundur, kiri, dan kanan. Mobile robot akan bergerak jika tombol perintah untuk bergerak ditekan oleh pengguna. Proses sensoring yang dilakukan yaitu sensoring jarak dan kecepatan. Sensoring jarak dilakukan untuk mengukur jarak mobile robot dengan halangan di depannya (jika terdapat halangan). Sensoring kecepatan berfungsi untuk mengatur kecepatan dari mobile robot dengan menggunakan PWM. Jika mobile robot mendeteksi adanya halangan di depannya yang berjarak ± 20cm,
maka kecepatan dari mobile robot akan berkurang dan berhenti pada jarak ± 10cm. Pada kondisi tersebut, perintah untuk bergerak maju tidak aktif sampai jarak antara penghalang dengan mobile robot melebihi jarak minimal yang sudah ditentukan.
modul Embedded BluetoothTM500, sensor jarak, sensor kecepatan, dan motor
driver. Blok diagram sistem kendali dapat dilihat pada Gambar 3.2.
Gambar 3.2 Blok Diagram Sistem Kendali
3.1.1 Bagian-Bagian dari PC
Fungsi dari PC adalah sebagai human machine interface, sehingga memudahkan pengguna dalam memberikan perintah pada mobile robot. PC terdiri dari komputer dan USB Bluetooth Dongle. Komputer berfungsi untuk mengubah perintah-perintah gerak atau penekanan tombol menjadi data serial. USB Bluetooth Dongle mempunyai dua fungsi yaitu pertama mengubah data serial
menjadi sinyal bluetooth agar dapat diterima oleh modul EB500 dan kedua menerima sinyal dari modul EB500 serta mengubahnya menjadi data serial sehingga dapat diproses pada komputer.
3.1.2 Bagian-Bagian dari
Mobile Robot
3.1.2.1 Mikrokontroler
PC Komputer
USB Bluetooth
Mikrokontroler yang digunakan adalah tipe mikrokontroler ATmega8535. Penggunaan port I/O pada mikrokontroler dapat dilihat pada Tabel 3.1.
Tabel 3.1 Daftar Penggunaan Port I/O
No Nama Port Fungsi No Nama Port Fungsi 1 PortC.6 Sensor Ping 11 PortD.2 Output Motor 2
2 PortC.7 Sensor Rotary Encoder
12 PortD.3 Output Motor 2
3 PortB.0 RX EB500 13 PortC.0 LCD (RS) 4 PortB.1 TX EB500 14 PortC.1 LCD (EN) 5 PortB.2 Connection
Status EB500
15 PortC.2 LCD (D4) 6 PortD.6 Tombol Security 16 PortC.3 LCD (D5) 7 PortD.4 Enable Motor 17 PortC.4 LCD (D6)
8 PortD.7 LED status 18 PortC.5 LCD (D7)
9 PortB.3 Output Motor 1 19 PortD.0 RX Serial
10 PortB.4 Output Motor 1 20 PortD.1 TX Serial
Mikrokontroler digunakan untuk menerima dan mengirim data serial dari dan ke modul EB500, mengukur kecepatan putar roda dengan sensor kecepatan, mengukur jarak dengan menggunakan sensor jarak, dan menampilkan data hasil pengukuran ke LCD.
3.1.2.2 Sensor Jarak
Sensor jarak yang dipergunakan adalah sensor ping. Sensor ping yang dipergunakan berjumlah satu buah dan diletakkan pada bagian depan mobile robot. Fungsi penggunaan sensor ping adalah untuk mengetahui jarak antara
mobile robot dengan jarak halangan di depannya.
Sensor kecepatan terdiri dari sebuah roda sensor (roda yang memiliki lubang pada bagian pinggirnya) dan rangkaian optocoupler. Sensor kecepatan ditempatkan hanya pada salah satu roda saja dengan anggapan kecepatan putar roda kiri dan kanan sama.
3.1.2.4
Motor Driver
Motor driver yang digunakan adalah IC L293D. Motor driver berfungsi
untuk memperkuat arus dari mikrokontroler agar mampu menggerakan robot dengan baik. Supply tegangan pada Motor driver terpisah dengan mikrokontroler. Hal ini bertujuan agar mikrokontroler dapat bekerja secara maksimal tanpa ada gangguan supply tegangan. Gambar 3.3 merupakan rangkaian dari IC L293D.
6 V J2 Motor 1 1 2 J3 Motor 2 1 2 U1 L293 2 7 10 15 1 9 3 6 11 14 1 6 8
4 5 13 12
1A 2A 3A 4A 1,2EN 3,4EN 1Y 2Y 3Y 4Y V C C 1 V C C 2 G N D G N D G N D G N D J7 input uC 1 2 3 4 J8 enable 1 2 PINB.3 PINB.4 PIND.2 PIND.3 PIND.7 PIND.7
Gambar 3.3 Rangkaian IC L293D
3.2 Perancangan
Hardware
Perancangan PC terdiri dari sebuah komputer dan USB Bluetooth Dongle. Komputer yang digunakan mempunyai spesifikasi sebagai berikut: Intel Pentium IV 1.5 GHz, 512 MB RAM, Windows XP Professional SP 2. USB Bluetooth Dongle yang digunakan adalah Mini Nova Bluetooth Dongle. Bluetooth ini
menggunakan driver Widcomm 4.0.1.3500.
3.2.2 Perancangan
Mobile Robot
Perancangan mekanik robot menggunakan sistem penggerak empat roda. Sebagai penggerak digunakan dua buah motor DC. Dua buah roda berada di sebelah kiri dengan sebuah motor DC dan dua buah roda di sebelah kanan dengan sebuah motor DC. Roda depan dan roda belakang bergerak secara bersamaan kerena sistem penggeraknya menjadi satu. Mekanik robot dirancang berbentuk kotak dengan dimensi ukuran 20cm x 20cm x 10cm. Robot dibagi menjadi dua bagian yaitu bagian atas dan bawah. Bagian atas merupakan tempat dari rangkaian-rangkaian, battery dan sensor ping. Bagian bawah merupakan tempat dari roda, gearbox, motor DC, dan sensor kecepatan. Gambar rancangan mekanik robot dapat dilihat pada Gambar 3.4.
Keterangan gambar:
1. Sensor ping 6. Gearbox 2. Rangkaian-rangkaian 7. Optocoupler
3. Bateray 8. Roda sensor kecepatan
4. Roda 9. Motor DC
a) Tampak Belakang
1 2
3
4
5 6
7 8
9
20 cm
10 cm 20 cm
10 cm
b) Tampak Samping
Gambar 3.4 Rancangan Mekanik Robot
Gambar 3.5 merupakan rancangan mekanik sensor kecepatan. Mekanik untuk sensor kecepatan dibuat dari gear dengan diameter 2 cm. Gear dipasang pada bagian gandar roda sehingga akan berputar saat roda mobile robot berputar. Pada sisi gear bagian pinggir dibuat lubang sebanyak empat buah. Lubang-lubang ini berfungsi sebagai sinyal input pada optocoupler. Optocoupler output akan mengeluarkan logika ‘1’ jika ada lubang dan logika ‘0’ jika tidak ada lubang. Jarak waktu perubahan output inilah yang menentukan hasil pengukuran kecepatan putaran roda (semakin cepat putaran roda, maka semakin pendek jarak waktunya).
Gambar 3.5 Rancangan Mekanik Sensor Kecepatan Keterangan gambar:
1. Lubang sensor 2. Optocoupler 3. Roda sensor
1
2
4. Gandar
3.2.3 Perancangan Elektronik
3.2.3.1 Rangkaian Mikrokontroler
Rangkaian mikrokontroler terdiri dari rangkaian crystal, rangkaian reset, dan rangkaian LED untuk connectable status. Pada rangkaian crystal, nilai crystal dan kapasitor yang terpasang disesuaikan dengan datasheet. Rangkaian crystal dapat dilihat pada Gambar 3.6. Rangkaian reset terdiri dari sebuah push button, resistor 4.7 kΩ, dan kapasitor 0.1 µF. Fungsi kapasitor untuk mencegah terjadinya bouncing. Rangkaian reset dapat dilihat pada Gambar 3.7. Rangkaian LED untuk
connectable status terdiri dari resistor 220 Ω dan sebuah LED. Rangkaian
connectable status dapat dilihat pada Gambar 3.8.
Gambar 3.6 Rangkaian Crystal Gambar 3.7 Rangkaian Reset
Gambar 3.8 Rangkaian Connectable Status
Untuk mendapat nilai resistor yang terdapat pada rangkaian connectable status, sesuai dengan datasheet LED, tegangan forward pada LED adalah sebesar
1.5 volt sehingga tegangan resistor (VR) yang dihubungkan seri dengan LED
adalah:
VR = VCC - VLED (3.1)
= 5 – 1.5 = 3.5 volt
Arus forward maksimum yang dapat mengalir pada LED adalah sebesar 20 mA, sehingga apabila digunakan arus forward LED sebesar 15 mA, maka didapat nilai RLED sebagai berikut:
RLED = VR / Iforward LED (3.2)
= 3.5 v / 15 mA = 220 ohm
Rangkaian mikrokontroler yang digunakan dapat dilihat pada gambar 3.9.
6 V C1 0.1u C3 22p R1 10k C2 22p J30 SERIAL 1 2 Y 1 4 MHz R12 100 R13 100 R14 100 R15 100 R16 100 R17 100 R18 100 R19 100 Q1 TIP31C J32
CATU DAY A EB500
1 2 SW3 security 2 1 3 J25 PING 1 2 3 J29 isp 1 2 3 4 5 6 J33 LED 1 2 3 4 5 6 7 8 9 SW2 RESET 1 2 J35
CATU DAY A SERIAL
Gambar 3.9 Rangkaian Mikrokontroler
3.2.3.2 Rangkaian Sensor Kecepatan
Rangkaian sensor kecepatan terdiri dari optocoupler, resistor, LED, dan IC 74LS14. Gambar 3.10 merupakan rangkaian dari sensor kecepatan.
5 V PINC.7 U2A 74LS14 1 2 7 1 4 D2 LED R3 220 R2 10k R1 220 U1 H21A2 3 1 4 2
Gambar 3.10 Rangkaian Sensor Kecepatan
Dalam perancangan digunakan resistor dengan resistansi (R1) 220 Ω.
Dengan nilai resistansi ini, arus yang masuk ke LED inframerah sebesar 15 mA. Pada bagian fototransistor, kaki kolektor diberikan resistor pull-up (R2) 10 kOhm
dan dihubungkan ke kaki schmit trigger inverter (IC 74LS14) untuk memperbaiki pulsa yang dihasilkan oleh optocoupler. Bila LED infra merah optocoupler mempunyai If maksimum = 15 mA dan Vf = 1.5 V, maka nilai resistor =
R1 = (Vcc – Vf) / If (3.3)
Bila fototransistor optocoupler dalam kondisi ‘off’’, maka arus akan mengalir ke schmitt trigger. Jika arus masuk maksimum adalah 0.5 mA, maka nilai resistor dapat dicari sebagai berikut:
R2 = Vcc / Imaks (3.4)
= 5 V / 0.5 mA = 10 KΩ
Sebagai indikator pulsa keluaran, ditambahkan sebuah LED dan resistor pembatas arus (R3) yang dipasang pada keluaran IC 74LS14. LED dihubungkan
dengan keluaran IC 74LS14 pada bagian katoda, sehingga LED difungsikan aktif high.
3.3 Perancangan
Software
Perancangan software pada tugas akhir ini terdiri dari perancangan program utama, perancangan program komunikasi bluetooth, perancangan program sensor ping, perancangan program gabungan, perancangan program gerak robot, dan perancangan controller pada PC.
3.3.1 Perancangan Program pada Mikrokontroler
sensoring kecepatan dan jarak. Tahap ketiga adalah perancangan program gerak
dari robot.
START
Penentuan baud rate
Pengaturan timer
Deklarasi variable
Penentuan pin-pin
Sudah terhubun
Menghubungkan EB500 dengan USB BluetoothDongle
Jalankan program gerak robot Robot berhenti? Cuplik sensor jarak Cuplik sensor kecepatan
Tampilkan hasil pengukuran ke LCD dan PC
yes
no
yes
Gambar 3.11 Flowchart Program pada Mikrokontroler
3.3.2 Perancangan Program Komunikasi
Bluetooth
Perancangan program komunikasi bluetooth akan menghubungkan mikrokontroler dengan komputer melalui modul EB500 dan USB Bluetooth Dongle. Gambar 3.12 adalah diagram alir dari program perancangan program
komunikasi bluetooth.
Gambar 3.12 Flowchart Program Komunikasi Bluetooth Masukkan hardware address dari
USB Bluetooth Dongle Matikan discoverable mode dan
connectable mode START
A
B
Penentuan baud rate 1
Pengaturan timer
Deklarasi variable
Penentuan baud rate 2
Penentuan pin TX &
Lakukan listing device
Aktifkan timer 1
Device Ditemuka n ? Timeout ? Hardware address sama ? Reset timer 1
Nyalakan discoverable mode dan connectable mode no no no yes yes yes
Menunggu koneksi dari komputer
Mikrokontroler dan komputer telah terhubung via bluetooth
Disconnect dari komputer ?
Gambar 3.12 Flowchart Program Komunikasi Bluetooth (sambungan)
Gambar 3.12 Flowchart Program Komunikasi Bluetooth (sambungan) Penjelasan dari flowchart:
1. Proses pertama yang dilakukan adalah pengaturan baud rate untuk komunikasi serial antara PC dengan mikrokontroler. Komunikasi serial dapat menggunakan Terminal dengan baud rate 9600, 8 bit data, tanpa bit parity, 1 bit stop, tanpa flow control. Tahap selanjutnya menyalakan
program Terminal pada komputer dan aktifkan koneksi dengan menekan tombol connect untuk membuka COM port.
2. Proses berikutnya adalah pengaturan Timer 1 sebagai pewaktu timeout. Ada data
dari
Ada data dari mikrokontrol
Kirim ke mikrokontroler
Kirim ke komputer
no no
yes
yes C
D
3. Program akan mematikan Discoverable Mode dan Connectable Mode pada EB500 agar modul Bluetooth yang lain tidak dapat masuk/terhubung ke dalam EB500.
4. Setelah itu program akan meminta agar pengguna mengetikkan alamat hardware USB Bluetooth Dongle yang terhubung pada komputer.
5. Program akan mengirimkan perintah ke EB500 untuk melakukan Listing Device Bluetooth. Program juga akan menyalakan Timer 1 sebagai
patokan terjadinya timeout.
6. Jika sebuah modul Bluetooth ditemukan sebelum timeout, maka Timer 1 akan segera diulang. Tetapi jika terjadi timeout sebelum sebuah modul Bluetooth ditemukan, maka program ini akan segera kembali ke no 3.
7. Jika alamat modul Bluetooth yang ditemukan tidak sesuai dengan alamat yang ditetapkan oleh pengguna, maka program akan kembali ke no 6. 8. Program akan menyalakan Discoverable Mode dan Connectable Mode
pada EB500.
9. Setelah itu program akan membaca status mode EB500 dan mengirimkannya ke komputer.
10. Mikrokontroler akan berada dalam kondisi “Wait for Connection” untuk menunggu koneksi dari komputer yang telah dilengkapi dengan USB Bluetooth Dongle.
12. Setelah terhubung, maka mikrokontroler dan komputer dapat melakukan komunikasi.
13. Jika komputer memutus hubungan (disconnect) dengan menutup COM port USB Bluetooth Dongle, maka program pada mikrokontroler akan
diakhiri. Untuk memulai hubungan lagi, tekan tombol Reset pada mikrokontroler, program akan dimulai dari awal.
3.3.3 Perancangan Program Sensor Ping
Sensor ping mengukur jarak obyek dengan cara memancarkan gelombang ultrasonik (40 kHz) selama 200 µs. Gambar 3.13 adalah diagram alir dari program perancangan program sensor ping.
Ping = “low”
Atur tampilan LCD
Timer = 0
Ping = pulsa “high” Selebar 3 µs
Tunda 700 µs START
F
Deklasari Variable
Definisi pin SIG
Gambar 3.13 Flowchart Program Sensor Ping
Gambar 3.13 Flowchart Program Sensor Ping (sambungan) Tunda 3 µs
Ukur lebar pulsa ‘high” pada pin SIG menggunakan timer
Ping = “low”
Menghitung jarak yang terukur berdasarkan nilai timer
Tulis jarak yang terukur ke LCD
Tunggu 250 ms
F E
E
Sensor ping hanya membutuhkan satu pin port mikrokontroler dan tidak memerlukan komponen tambahan. Oleh karena satu pin digunakan sebagai input dan output, maka harus menentukan saat yang tepat untuk mengatur port mikrokontroler sebagai input (dibuat “high”) setelah mengeluarkan pulsa trigger ke sensor ping. Bila terlalu cepat atau terlalu lambat mengatur port sebagai input, maka akan menyebabkan kesalahan pengukuran jarak.
Pada proses sensoring sensor jarak, mikrokontroler akan selalu mengirimkan pulsa ultrasonik dengan frekuensi 40KHz. Mikrokontroler akan menghentikan pengiriman jika memperoleh feedback atau terjadi timeout. Timeout baru akan terjadi apabila mikokontroler sudah mengirimkam pulsa
selama 250 ms, namun masih belum juga menerima feedback.
3.3.4 Perancangan Program Sensor Kecepatan
Pada proses sensoring sensor kecepatan, mikrokontroler melakukan pengukuran kecepatan. Dari hasil pengukuran tersebut, mikrokontroler akan melakukan proses perhitungan dan menampilkan hasil perhitungan tersebut ke LCD dan ke PC melalui EB500. Gambar 3.14 adalah diagram alir dari program perancangan program sensor kecepatan.
START
Speed = 0 Timer = 0
Start Timer
Gambar 3.14 Flowchart Program Sensor Kecepatan
3.3.5 Perancangan Program Gerak Robot
Pada perancangan program gerak robot, mikrokontroler menerima perintah dari PC kemudian mengolah dan menjalankannya dengan memberi perintah gerak pada driver motor. Untuk mengendalikan kecepatan motor, mikrokontroler menggunakan teknik PWM. Gambar 3.15 merupakan flowchart dari perancangan program gerak robot.
Perintah-perintah yang diterima oleh mikrokontoler berupa karakter-karakter ASCII yang dimasukkan ke dalam variable comm dan memiliki fungsi sebagai berikut:
1. ‘2’ (32H) : program untuk maju
2. ‘4’ (34H) : program untuk belok kiri
3. ‘5’ (35H) : program untuk berhenti
4. ‘6’ (36H) : program untuk belok kanan
5. ‘8’ (38H) : program untuk mundur
Stop Timer
no yes no yes no Comm = ‘6’ Motor kanan yes Delay Comm = ‘4’ Motor kiri Delay ada perintah Comm = ‘8’ Motor mundur Delay Motor maju yes Delay Motor berhenti Comm = ‘2’ yes no Comm = ‘5’ START
Konfigurasi baud rate dan pin-pin
yang dipakai
Deklarasi
Gambar 3.15 Flowchart Perancangan Program Gerak Robot
3.3.6 Perancangan
Controller
pada PC
Design ini dibuat dengan menggunakan program Visual Basic 6.0 dan
diberi nama bluetooth control. Program ini dibuat dengan tujuan untuk menghasilkan tampilan yang baik dan untuk memudahkan proses pengontrolan pada PC. Gambar 3.16 adalah tampilan Bluetooth Control yang digunakan untuk mengkontrol mobile robot dan Gambar 3.17 adalah tampilan Setting Communication Port pada VB.
1 2
3
4
5 6
Gambar 3.16 Tampilan Program Bluetooth Control Keterangan gambar:
1. Tombol untuk melakukan koneksi
Sebelum tombol “connect” ditekan, mobile robot harus terlebih dahulu dalam keadaan siap menerima koneksi (LED Connectable Status menyala). Apabila tombol “connect” ditekan sebelum mobile robot siap, maka akan mengakibatkan error pada program.
2. Tombol untuk melakukan konfigurasi port pada saat koneksi serial
Konfigurasi terhadap koneksi serial dapat dilakukan dengan menekan tombol “setting port” selama status koneksi masih belum aktif. Apabila status koneksi dalam keadaan aktif, maka tombol ini akan terkunci dan tidak bisa ditekan.
3. Kondisi status dari koneksi
Status koneksi menampilkan apakah PC sedang terhubung dengan mobile robot atau tidak.
4. Tombol-tombol untuk menggerakkan mobile robot
perintah pada mobile robot untuk melalukan proses sensoring dan menampilkannya pada bagian “status” (jarak dan kecepatan).
5. Status jarak
Status jarak menampilkan hasil sensoring dalam satuan sentimeter. Apabila dalam proses sensoring tidak ditemukan adanya halangan, maka status jarak akan menampilkan keterangan ‘tidak ada halangan’.
6. Status kecepatan
Status kecepatan menampilkan hasil sensoring dalam satuan rpm (rotation per minute). Apabila dalam proses sensoring motor dalam keadaan diam,
maka status kecepatan akan menampilkan keterangan ‘robot tidak bergerak’.
1
Gambar 3.17 Tampilan Program Setting Communication Port
Keterangan gambar:
1. Tombol untuk memilih COM port yang akan digunakan untuk melakukan komunikasi bluetooth.
2. Tombol untuk menyetujui bahwa COM port yang dipilih sudah benar. 3. Tombol untuk membatalkan setting communication port.
Gambar 3.18 adalah diagram alir perancangan koneksi bluetooth pada PC dan Gambar 3.19 adalah diagram alir perancangan setting communication port.
Connect dengan Input
ComPort ?
yes START
Setting Communicatio
n Port ?
no
no
Input Communication
Port
Gambar 3.18 Flowchart Perancangan Koneksi Bluetooth pada PC
Gambar 3.18 Flowchart Perancangan Koneksi Bluetooth pada PC (sambungan)
Prosedur Dijalankan End A A yes yes no no Connect dengan EB500 Pilih Prosedur ? Disconne ct ? Setting Communication Port
Gambar 3.19 Flowchart Perancangan Setting Communication Port Gambar 3.20 adalah diagram alir perintah gerak dari perancangan bluetooth control pada PC. Program utama ini akan bekerja jika mobile robot
dalam kondisi siap menerima perintah (tidak melakukan proses sensoring). Hal ini bertujuan untuk menghindari hilangnya perintah yang dikirimkan akibat bertabrakan dengan proses sensoring.
Gambar 3.20 Flowchart Perancangan Control pada PC
Gambar 3.20 Flowchart Perancangan Control pada PC (sambungan)
Setelah perancangan dan pembuatan sistem, langkah selanjutnya adalah melakukan pengujian dan analisa terhadap sistem kendali yang telah dibuat. Pengujian ini terdiri dari: bentuk fisik mobile robot, program bluetooth control, jangkauan modul EB500, sensor ping, dan sensor kecepatan.
4.1
Bentuk Fisik Mobile Robot
Setelah melakukan pengukuran terhadap bentuk fisik dari mobile robot, didapatkan ukuran dari mobile robot yaitu: panjang 16.5 cm, lebar 16 cm, tinggi 14cm, dan berat 1.2 kg. Ukuran mobile robot yang dibuat tidak sesuai dengan perancangan (ukuran mobile robot lebih kecil dari perancangan). Pengecilan ukuran dari mobile robot bertujuan agar mobile robot tidak begitu berat dan dapat bergerak dengan cepat. Gambar 4.1 dan 4.2 merupakan bentuk fisik mobile robot.
Gambar 4.1. Ukuran Mobile Robot 58
16
14 14
Gambar 4.2. Komponen-Komponen Mobile Robot Keterangan gambar:
1. Sensor ping 9. Rangkaian sensor kecep