RANCANG BANGUN ROBOT MOBIL PENJEJAK BENDA BERGERAK BERBASIS PENGENDALI PD (Proposional-Derivative) MENGGUNAKAN MIKROKONTROLLER AVR ATmega8535 Proposal Tugas Akhir
oleh
Endang Dwi Hartanti L2F 003 496
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO Semarang, Maret 2007
Proposal Tugas Akhir RANCANG BANGUN ROBOT MOBIL PENJEJAK BENDA BERGERAK BERBASIS PENGENDALI PD (Proposional-Derivative) MENGGUNAKAN MIKROKONTROLLER AVR ATmega8535
Yang diajukan oleh Endang Dwi Hartanti L2F 003 496
Kepada Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro
Telah disetujui oleh: Pembimbing I,
Pembimbing II,
Iwan Setiawan, ST, MT NIP. 132 283 183 Tanggal:_______________
Sumardi, ST. MT. NIP. 132 125 670 Tanggal: ______________
Mengetahui, Koordinator Tugas Akhir
R. Rizal Isnanto, ST , MM, MT NIP. 132 288 515 Tanggal:__________________
ABSTRAK Robot mobil merupakan salah satu bentuk robot yang dapat digunakan untuk berbagai macam keperluan. Robot mobil dapat dimanfaatkan untuk memindahkan barang dalam suatu pabrik atau rumah sakit, melakukan pemetaan atau observasi pada suatu daerah asing yang belum terjamah, melakukan pengukuran jarak jauh (telemetri) pada suatu kondisi yang membahayakan manusia, menjinakkan bom, kendaraan yang mampu berjalan secara otomatis dan mampu menghindari halangan di depannya, serta masih banyak manfaat yang lainnya. Untuk melakukan semua itu robot mobil memerlukan sebuah “kecerdasan”. Kecerdasan ini meliputi kemampuan robot untuk menghasilkan lintasan sendiri yang efisien (generator trayektori) dan sistem control agar robot mobil selalu berada pada lintasan trayektori yang dihasilkannya tadi. Pada tugas akhir ini trayektori robot mobil adalah sebuah benda bergerak. Sedangkan sistem control yang digunakan adalah pengendali Proporsional plus Derivative (PD) yang ditanamkan pada sebuah mikrokontroler. Pengendali PD ini dimaksudkan agar robot mampu mempertahankan jarak relatifnya terhadap benda bergerak sewaktu berjalan. Sehingga robot mobil tidak akan membentur benda bergerak acuannya. Robot mobil dilengkapi dengan sensor jarak pada sisinya sehingga robot akan dapat mengetahui posisinya terhadap benda bergerak. Sensor jarak yang digunakan adalah sensor infra merah yang menerapkan prinsip triangulation (segitiga). Pengendali PD dipilih karena pengendali ini umum digunakan untuk mengendalikan kecepatan putaran motor listrik. Meskipun secara umum yang dikendalikan adalah posisi robot mobil terhadap benda bergerak tetapi pengendalian ini dilakukan melalui pengendalian kecepatan putaran roda-roda robot yang tidak lain adalah kecepatan putaran motor listrik (motor DC). Pengendalian kecepatan putar motor DC dilakukan dengan memanfaatkan prinsip PWM (Pulse Width Modulation), yaitu pengaturan lebar pulsa pada supply motor DC. Makin lebar waktu aktifnya maka putaran motor DC akan semakin cepat, begitu pula sebaliknya. Dengan demikian maka kecepatan putar motor DC dapat dikendalikan. Robot mobil dalam mekanisme geraknya dibagi menjadi 2 yaitu steering atau ackerman drive dan differensial drive. Pada tugas akhir ini robot yang akan dibuat adalah robot mobile dengan penggerak diferensial dengan pertimbangan bahwa robot dengan konstruksi semacam ini akan lebih mudah melakukan manuever serta tidak terlalu rumit pengendaliannya. Kata kunci:
Pengendali PD, mikrokontroler, sensor jarak, triangulation, PWM, Motor DC.
PROPOSAL TUGAS AKHIR
I.
Judul RANCANG BANGUN ROBOT MOBIL PENJEJAK BENDA BERGERAK BERBASIS PENGENDALI PD (ProposionalDerivative) MENGGUNAKAN MIKROKONTROLLER AVR ATmega8535
II.
Bidang Ilmu Teknik Kontrol
III.
Latar Belakang Robot mobil merupakan salah satu bentuk robot yang dapat digunakan
untuk berbagai macam keperluan. Robot mobil dapat dimanfaatkan untuk memindahkan barang dalam suatu pabrik atau rumah sakit, melakukan pemetaan atau observasi pada suatu daerah asing yang belum terjamah, melakukan pengukuran jarak jauh (telemetri) pada suatu kondisi yang membahayakan manusia, menjinakkan bom, kendaraan yang mampu berjalan secara otomatis dan mampu menghindari halangan di depannya, serta masih banyak manfaat yang lainnya. Karena manfaatnya yang besar ini sehingga banyak negara-negara maju telah melakukan penelitian dan pengembangan di bidang robotika terutama robot mobil. Robot mobil memiliki 3 hal penting yang harus diperhatikan, yaitu desain penggerak robot mobil, pembangkitan trayektori (navigasi robot), dan pengendalian pada robot mobil. Pengemudian robot mobil terbagi menjadi 2 yaitu tipe ackerman (car steering) dan tipe penggerak diferensial (differensial steering). Terdapat 2 kendala utama dalam membangun sebuah system “robot cerdas”. Dua masalah tersebut yaitu pembangkitan trayektori dan pengendalian robot. Pembangkitan trayektori dimaksudkan bahwa robot mobil mampu menentukan lintasan yang akan dilaluinya sendiri dengan mempertimbangkan jarak terdekat, kecepatan, rintangan, waktu dan lain-lain. Sedangkan pengendalian
robot adalah sebuah algoritma yang akan membuat robot untuk selalu berada pada lintasannya tadi. Pada tugas akhir ini trayektori robot adalah sebuah benda bergerak dengan berbagai macam bentuk sehingga robot mobil tidak perlu membangkitkan trayektorinya sendiri. Dengan demikian robot yang akan dibuat pada tugas akhir ini hanya akan menjejak benda bergerak tersebut sebagai trayektorinya atau lintasannya.
IV.
Tujuan Tujuan yang hendak dicapai dalam tugas akhir ini adalah membangun
suatu sistem robot mobil yang mampu menjejak atau mengikuti benda bergerak sebagai lintasannya.
V.
Pembatasan Masalah Pembatasan masalah pada Tugas Akhir ini adalah: Robot mobil yang dibuat menggunakan penggerak diferensial. Pergerakan robot mengabaikan massa, percepatan, gaya, gesekan karena robot mobil yang dibuat berukuran kecil. Mikrokontroler yang digunakan adalah mikrokontroler AVR Atmega8535. Sensor jarak yang digunakan adalah sensor infra merah dengan prinsip triangulation. Robot mobil dibuat hanya untuk menjejak atau mengikuti benda bergerak yang sudah disediakan. Pengendali yang digunakan adalah pengendali proposional plus derivative (PD) dengan tuning parameter dilakukan secara empiris. Robot mobil yang dirancang hanya dapat melakukan gerakan maju dan tidak didesain untuk manuever bergerak mundur. Pengendalian kecepatan motor DC dilakukan melalui PWM. Bahasa pemrograman yang digunakan adalah dengan menggunakan bahasa C yang diadaptasikan pada software Code Vision AVR.
VI.
Tinjauan Pustaka
6.1
Hasil Penelitian Terdahulu
1. Rancang Bangun Robot Mobil Penjejak Dinding Berbasis Pengendali PD Menggunakan Mikrokontroler AVR ATmega8535 Oleh : Accep Handyarso (Teknik Elektro UNDIP, Semarang) 1 Dalam makalah Tugas Akhir ini yang digunakan sebagai pengendali robot mobil adalah pengendali PD (Proposional-Derivative) dan trayektori yang digunakan adalah dinding. Mekanisme penggerak yang digunakan adalah pergerakan diferensial. Robot mobil tipe penggerak diferensial memiliki 2 buah roda penggerak yang terpisah (kanan dan kiri). Kedua roda ini digerakkan oleh motor DC yang ditempatkan pada satu sumbu secara terpisah. Sehingga kedua roda ini berfungsi sebagai penggerak sekaligus sebagai kemudi robot mobil. Sehingga tingkat keluwesan robot dan kemampuan maneuver robot mobil tipe penggerak diferensial jauh lebih baik Pengendali
proposional-derivative
tertanam
dalam
suatu
mikrokontroller. Mikrokontroller yang digunakan adalah mikrokontroller Atmega 8535. Sensor yang digunakan adalah sensor ultrasonik buatan Parallax (Sensor PING Ultrasonik Range Finder) yang mempunyai prinsip kerja mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonok (40KHz) selama waktu pemancaran kemudian mendeteksi pantulannya. Prinsip kerja robot ini adalah masukan pengendali berupa error jarak terhadap dinding yang diperoleh melalui sensor jarak ultrasonik (PING™). Kemudian sinyal Kendali berupa sinyal kontrol yang digunakan untuk mengendalikan kecepatan angular robot. Dengan menggunakan kinematika balik maka kecepatan angular robot diubah menjadi kecepatan putaran roda kanan dan roda kiri robot. Sehingga robot akan dapat berjalan menelusuri dinding sebelah kiri.
Pengujian yang dilakukan pada robot ini ada dua yaitu pengujian perangkat keras dan penmgujian perangkat lunak. Pengujian perangkat keras meliputi pengujian sensor jarak, dan pengujian driver motor DC sedangkan pengujian perangkat lunak meliputi pengujian algoritma PD dan pengujian nilai Kp dan Kd.
Hasil pengujian sensor jarak adalah
pembacaan sensor dibatasi antara range 10 cm – 150 cm, hal ini disebabkan karena untuk dapat mengukur jarak yang lebih jauh (lebih dari setengah meter), maka sensor PING™ harus diletakkan minimal pada ketinggian setengah meter dari lantai. Untuk hasil pengujian driver motor DC adalah menggunakan baterai dengan tegangan nominal 9 V (namun terukur 9.6 V). Untuk pengujian algoritma PD robot ditempatkan pada 3 macam posisi, yaitu [1] Robot berada pada posisi jauh dari jarak referensi, [2] Robot berada pada posisi dekat dengan dinding, [3] Robot berada pada jarak referensi. Pengujian untuk ketiga posisi tersebut dilakukan dengan mengambil data yang ditampilkan dan membandingkannya dengan hasil perhitungan manual. Dan hasil yang diperoleh untuk pengujian nilai Kp dan Kd adalah semakin besar nilai Kp maka robot mobil akan dapat melakukan gerakan memutar (berbelok) yang lebih tajam dan cepat dan semakin besar nilai Kd akan membuat robot mobil memiliki sensitivitas yang semakin tinggi terhadap perubahan jarak.
2. Embedded C pada Mikrokontroller AVR AT90S8515 Oleh : Fajar Mahadmadi (Teknik Elektro UNDIP, Semarang) 3 Dalam
tugas
akhir
ini
membahas
pengkodean
C
pada
mikrokontroller AVR AT90S8515 sehingga program yang dihasilkan kompiler bisa sekecil mungkin dan secepat mungkin. AT90S8515 adalah salah satu jenis AVR tipe klasik yang mempunyai unjuk kerja hampir sama dengan AT89C52, yaitu memiliki kapasitas memori program sebesasr 8Kbytes, kemasan 40 pin, 4 port paralel, serta port serial. Keunggulan dari AT90S8515 ini adalah kemampuan ISP (In System Programming) mempunyai internal EEPROM sebesar 512 bytes, 512
RAM, PWM, kecepatan clock sampai dengan 8 MHZ dengan frekuensi kerja sama dengan frekuensi kristal osilator, interupsi 11 jalan, analog komparator, serta 32 register serbaguna yang langsung terhubung dengan ALU sehingga menyerupai akumulator. Berdasarkan tugas akhir ini dapat disimpulkan bahwa Embedded C atau program bahasa C untuk mikrontroler AVR 90S8515 mempunyai kemampuan yang handal karena prinsip logikanya menggunakan bahasa tinggat tinggi sehingga mendekati ke logika manusia. Selain itu bahasa C mampu mengakses suatu memori atau register dalam level bit. File-file fungsi yang terdapat pada file library sangat membantu dalam perancangan program.
6.2
Landasan Teori
6.2.1
Kinematika Robot Mobil Penggerak Diferensial Robot mobil berdasarkan sistem penggeraknya terbagi menjadi 2 macam
yaitu robot mobil tipe penggerak diferensial dan tipe penggerak ackerman. Tipe penggerak ackerman dapat kita jumpai secara umum pada kendaraan-kendaraan mobil sedangkan tipe penggerak diferensial dapat kita lihat pada kendaraan tempur (tank), kursi roda cerdas (smart wheel chair). Berdasarkan arsitekturnya robot mobil tipe penggerak diferensial memiliki tingkat keluwesan dalam melakukan maneuver seperti berputar atau berotasi di tempat, berputar 90° dan sebagainya serta relative lebih mudah dalam pengendaliannya. Robot mobil tipe penggerak diferensial memiliki 2 buah roda penggerak yang terpisah (kanan dan kiri). Kedua roda ini digerakkan oleh motor DC yang ditempatkan pada satu sumbu secara terpisah.
Gambar 1 Lintasan roda terhadap suatu titik di luar system.
Robot mobil tipe diferensial bergerak berdasarkan kecepatan putaran roda kanan dan kiri robot. Apabila kedua roda robot berputar dengan kecepatan yang sama maka robot mobil akan bergerak lurus, namun bila salah satu roda bergerak lebih lambat maka robot mobil akan bergerak dengan lintasan berbentuk kurva dengan kelengkungan menuju ke arah roda yang berputar lebih pelan. Pada Gambar diatas SL adalah panjang lintasan yang ditempuh roda kiri, SR adalah panjang lintasan yang ditempuh roda kanan, SM adalah panjang lintasan yang ditempuh titik tengah robot, b adalah jarak antara roda kanan dan roda kiri, θ adalah sudut perputaran robot, r adalah jari-jari lintasan dalam robot. Secara matematis dapat dituliskan sbb: SL
= r.
[1]
SR
= ( r b).
[2]
SM
= (r
b ). 2
[3]
Dengan menganggap bahwa orientasi robot adalah θ, diukur berlawanan arah jarum jam dari sumbu x pada koordinat kartesian (x-y). Sehingga dapat diambil persamaan m(t) dan θ(t) sebagai persamaan fungsi t untuk kecepatan dan orientasi robot.
dx m(t ).cos( (t )) dt dy m(t ) sin( (t )) dt
[4]
Gambar 2 Roda dengan kecepatan yang berbeda
Apabila robot sedang bergerak maka setiap bagian dari robot juga ikut bergerak, oleh karena itu kita memerlukan suatu titik acuan pada robot itu sendiri. Asumsikan roda kiri robot sebagai titik referensi atau acuan, seperti Gambar 2. Roda kanan dan roda kiri robot berputar dengan kecepatan yang berbeda, roda kanan berputar lebih cepat dari pada roda kiri, maka kecepatan relative roda kanan terhadap roda kiri adalah VR – VL. sehingga kecepatan rotasi robot dapat dirumuskan:
(t )
(VR VL ) b
d (VR VL ) dt b
[5]
[6]
Dengan mengintegralkan persamaan [6] diatas akan diperoleh :
(t )
(VR VL )t 0 b
[7]
Kecepatan robot adalah rata-rata dari kecepatan roda kanan dan roda kiri atau
(VR VL ) . Kemudian nilai rata-rata kecepatan ini disubstitusikan ke 2
persamaan [4 ] menjadi:
dx (VR dt dy (VR dt
VL ) . cos( (t )) 2 VL ) .sin( (t )) 2
[8]
Dengan mengintegralkan persamaan diatas maka akan diperoleh:
6.2.2
x(t ) x0
b (VR VL ) (VR VL )t sin 0 sin 0 2(VR VL ) b
[9]
y (t ) y 0
b(VR VL ) (VR VL )t cos 0 cos 0 2(VR VL ) b
[10]
Pengendali Proposional plus Derivative (PD) Suatu sistem dengan pengendali PD diperlihatkan pada Gambar 3. Input
suatu pengendali PD adalah kesalahan (error) yaitu perbedaan antara variabel output dengan nilai variabel yang inginkan (set point). Sinyal kontrol dari pengendali ini merupakan hasil kali suatu penguatan terhadap error, perubahan error, dan hasil penjumlahan error dari proses.
Gambar 3 Diagram Blok Pengendali PD
Suatu pengendali PD dapat dituliskan sebagai persamaan berikut, de(t ) u t K p et Td dt
[11]
dengan u adalah sinyal kontrol, e adalah kesalahan (error), de/dt adalah perubahan kesalahan dan Kp dan Td berturut-turut adalah penguatan proporsional, konstanta waktu derivative. Pengendali PD merupakan gabungan dari 2 jenis pengendali yaitu pengendali proporsional dan derivative. Penggabungan ini didasarkan atas perbedaan karakteristik dari tiap-tiap pengendali sehingga diperoleh performansi pengendali yang lebih baik. Suatu pengendali proporsional yang memberikan aksi kontrol proporsional dengan error akan mengakibatkan efek pada pengurangan rise time dan pengurangan pada kesalahan keadaan tunak (steady state error). Pengendali derivatif yang memberikan aksi kontrol sebanding dengan perubahan kesalahan akan mengakibatkan efek peningkatan pada stabilitas sistem, pengurangan overshoot, dan memperbaiki respon transien. Pengetahuan tentang efek
yang diakibatkan oleh masing-masing
pengendali tersebut yang nantinya akan digunakan dalam penentuan nilai-nilai penguatan proporsional (Kp) dan derivative (Kd). Tabel basis pengetahuan hubungan antara penguatan dan efeknya pada pengendali PID diperlihatkan pada Tabel 1. Tabel 1. Efek dari pengendali P, I, dan D
Penguatan
Rise time
Overshoot
Setling time
Steady State error
Kp
menurun
meningkat
perubahan kecil
menurun
Ki
menurun
meningkat
meningkat
menghilangkan
Kd
perubahan kecil
menurun
menurun
perubahan kecil
Penalaan pada pengendali PD adalah penentuan besaran penguatanpenguatan parameter P dan parameter D sehingga diperoleh karakteristik sistem yang baik. Ada beberapa cara penalaan kontroler PD diatantaranya yaitu metode respon frekuensi Ziegler-Nichols, manual (hand-tuning/trial-error), metode analitik dengan optimasi, penempatan pole (pole placement), atau swatala (autotuning).
6.2.3
Mikrokontroler ATMEGA8535 Mikrokontroler AVR ATMEGA8535 merupakan mikrokontroler 8 bit
dengan konsumsi daya rendah produksi ATMEL, yang memiliki beberapa fitur istimewa antara lain: a.
Arsitektur RISC (Reduced Instruction Set Computer).
b.
118 instruksi sebagian besar satu siklus instruksi.
c.
32x8 register kerja serbaguna.
d.
ADC internal 8 channel 10 bit.
e.
8 Kbytes In-Sistem Programmable Flash (1000 siklus hapus/tulis).
f.
512 bytes SRAM.
g.
512 bytes In-Sistem Programmable EEPROM (100.000 siklus hapus/tulis).
h.
Satu 8 bit timer/counter dengan Prescaler terpisah.
i.
Satu 16 bit timer/counter dengan Prescaler terpisah yang dapat digunakan untuk. mode Compare, Mode Capture dan dual 8, 9, atau 10 bit PWM.
j.
Analog comparator dalam chip.
k.
Serial UART terprogram.
l.
Antarmuka serial SPI master/slave.
m. 32 jalur I/O terprogram. Mikrokontroler AVR ATMEGA8535 telah didukung penuh dengan program dan sarana pengembangan seperti: kompiler-kompiler C, simulator program, emulator dalam rangkaian, dan kit evaluasi. ATMEGA8535 adalah mikrokontroler handal yang dapat memberikan solusi biaya rendah dan fleksibilitas tinggi pada banyak aplikasi kontrol.
Konfigurasi Mikrokontroler ATMEGA8535
Gambar 4 Konfigurasi pin-pin ATMEGA8535.
Penjelasan dari masing-masing pin adalah sebagai berikut: a.
VCC (kaki 40) dihubungkan ke Vcc.
b.
GND (kaki 20) dihubungkan ke ground.
c.
PortA (PA7..PA0) (kaki 32-39) merupakan port
8 bit dua arah
(bidirectional) I/O. Port ini berfungsi sebagai port data/alamat I/O ketika menggunakan SRAM eksternal. d.
Port B (PB7-PB0) (kaki 1-8) merupakan port 8 bit dua arah (bidirectional) I/O,untuk berbagai keperluan (multipurpose).
e.
Port C (PC7..PC0) (kaki 21-28) adalah port 8 bit dua arah I/O, dengan internal pull-up resistor. Port C ini juga berfungsi sebagai port alamat ketika menggunakan SRAM eksternal.
f.
Port D (PD7..P0) (kaki 10-17) adalah port 8 bit dua arah I/O dengan resistor pull-up internal. Port D juga dapat berfungsi sebagai terminal khusus.
g.
Reset (kaki 9) Kondisi rendah yang lebih lama dari 50 nS akan mereset mikrokontroler.
h.
XTAL1 (kaki 19) masukan dari osilator eksternal dan masukan bagi rangkaian osilator internal.
i.
XTAL2 (kaki 18) keluaran dari rangkaian osilator internal. Kaki ini digunakan apabila dipakai osilator kristal.
j.
ICP (kaki 31)
adalah kaki masukan untuk fungsi Timer/Counter1 Input
Capture. k.
OC1B (kaki 29) adalah kaki keluaran bagi fungsi Output CompareB keluaran Timer/Counter1.
l.
ALE (Address Latch Enable) (kaki 30) digunakan ketika menggunakan SRAM eksternal. Kaki ini digunakan untuk mengunci 8 bit alamat bawah pada saat siklus akses pertama, dan berfungsi sebagai port data pada siklus akses kedua.
Memori Program Memori program pada ATMEGA8535 diperlihatkan pada Gambar 6. Memori Program
$000
Program FLASH (4Kx16)
$FFF
Gambar 5 Memori program.
ATMEGA8535 mempunyai kapasitas memori program sebesar 8 Kbytes. Karena semua format instruksi berupa kata (word) 16-32 bit maka format memori program ini adalah 4Kx16 bit. Memori Flash ini dirancang untuk dapat di hapus dan tulis sebanyak seribu kali. Program Counter (PC)-nya sepanjang 12 bit sehingga mampu mengakses hingga 4096 lokasi memori.
Gambar 7 memperlihatkan bagian bawah dari memori program. Setelah reset, CPU memulai eksekusi dari lokasi 0000h. Setiap interupsi mempunyai lokasi tetap dalam memori program. Interupsi menyebabkan CPU melompat ke lokasi tersebut dimana pada lokasi tersebut terdapat subrutin yang harus dilaksanakan. 000H 001H 002H 003H 004H 005H 006H 007H 008H 009H 00AH 00BH 00CH
RESET INT0 INT1 TIMER1 CAPT TIMER1 COMPA TIMER1 COMPB TIMER1 OVF TIMER0 OVF SPI, STC UART,RX UART,UDRE UART,TX ANA_COMP
Gambar 6 Vektor Interupt ATMEGA8535
6.2.4
Sensor PING Ultrasonik Range Finder Sensor yang digunakan pada tugas akhir ini merupakan sebuah sensor
ultrasonik buatan Parallax (Sensor PING Ultrasonik Range Finder). Bentuk visual sensor yang digunakan dalam tugas akhir ini ditunjukkan pada Gambar 7. Sensor PING ini secara khusus didesain untuk dapat mengukur jarak sebuah benda padat.
Gambar 7 Sensor PING Ultrasonik Range Finder.
Sensor PING mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik (40kHz) selama waktu pemancaran kemudian mendeteksi pantulannya. Sensor PING memancarkan gelombang ultrasonik sesuai dengan pulsa trigger
dari mikrokontroler sebagai pengendali. Gambar 8 menunjukkan timing diagram dari sensor PING.
Gambar 8 Timing Diagram Sensor PING Ultrasonik Range Finder.
Waktu tempuh gelombang ultrasonik untuk ditunjukkan pada Gambar 9. Maka jarak yang diukur dapat dirumuskan sebagai berikut :
t sx344m / s Jarak = IN meter 2
Gambar 9 Ilustrasi cara kerja sensor PING.
Untuk menempuh jarak sepanjang 1 cm maka gelombang ultrasonik memerlukan waktu:
1cm t in
t in x34400cm / s cm 2
2 x1cm s 34400cm
t in 58.14us
Dengan demikian maka untuk mengukur jarak tempuh gelombang ultrasonik diperlukan timer dengan waktu overflow sebesar 58.0 us (0x17 heksadesimal pada register TCNT0 dengan prescaler 1). Setiap terjadi overflow pada timer tersebut maka telah terjadi jarak tempuh sebesar 1 cm. Perhitungan jarak akan dihentikan pada saat terjadi perubahan logika low pada PINB.2 dari sensor PING™ sebagai isyarat bahwa sinyal ultrasonik telah kembali.
6.2.5
Lintasan Robot Mobil yang akan digunakan Kemampuan robot agar dapat bergerak secara otomatis meliputi 3 hal
yaitu desain rancangan penggerak robot, pembangkitan trayektori untuk keperluan navigasi, dan sistem kontrol yang digunakan. Pada tugas akhir ini robot yang dirancang tidak dilengkapi dengan kemampuan untuk menghasilkan trayektori sendiri, melainkan robot hanya akan mengikuti trayektori yang telah disediakan yaitu sebuah benda bergerak (misalkan manusia berjalan).
Gambar 10 lintasan robot mengikuti manusia berjalan
6.2.6
Desain Mekanik Robot Mobil Robot mobil yang akan dibuat ini menggunakan penggerak tipe
diferensial, yaitu robot mobil yang memiliki dua buah roda penggerak yang saling bebas dan dipasang pada satu sumbu. Pergerakan robot memanfaatkan pengaturan
kecepatan putar roda kanan dan kiri yang berbeda sehingga melalui pengaturan ini maka posisi dan orientasi robot mobil dapat diatur dengan mudah.
Gambar 11 Desain Mekanik Robot Mobil.
Desain robot yang demikian dinilai akan lebih handal dalam melakukan manuever-manuever serta akan lebih mudah pengendaliannya bila dibandingkan dengan tipe ackerman (car steering).
6.2.7
Peletakan Posisi Sensor Pada Robot Mobil Sensor merupakan indera bagi robot, sehingga peletakan sensor juga akan
sangat berpengaruh terhadap performa robot. Robot mobil dibuat agar dapat menjejak benda bergerak. Agar dapat menjejak benda bergerak seperti pada gambar 10 maka robot memerlukan sensor jarak pada 1 posisi yaitu sensor jarak depan. Sensor jarak depan berfungsi untuk mengetahui jarak robot terhadap benda bergerak (manusia) yang berada di depannya.Adapun penempatan sensor dapat digambarkan sebagai berikut:
sensor PING
Gambar 12 Peletakan Sensor Pada Robot Mobil.
6.2.8
Sensor Kecepatan Motor DC Penentuan posisi dan orientasi robot dilakukan melalui pengaturan
kecepatan putaran roda kanan dan kiri robot. Umpan balik kecepatan diperoleh dari sensor kecepatan yang berupa optokopler yang kemudian dihubungkan dengan f to V konverter sehingga akan dihasilkan keluaran berupa tegangan analog. Dengan demikian kecepatan putar roda kanan dan kiri robot dapat dikendalikan.
Gambar 13 Rangkaian f to V.
6.2.9
Driver Motor DC Motor DC merupakan sebuah komponen yang memerlukan arus yang
cukup besar untuk menggerakannya. Oleh karena itu motor DC biasanya memiliki penggerak tersendiri. Pada tugas akhir ini motor DC akan digerakkan dengan menggunakan PWM yang telah terintegrasi dengan rangkaian H-Bridge.
Dengan rangkaian H-Bridge yang memiliki input PWM ini, maka selain arah kita juga bisa mengendalikan kecepatan putar motor DC tersebut. Hal ini tentunya akan sangat memudahkan kita dalam perancangan robot mobil.
Gambar 14 Blok Diagram dan Wiring Rangkaian Driver Motor DC.
VII.
Metode Penelitian Metode Penelitian yang digunakan dalam penyusunan Tugas Akhir ini
dibagi dalam tahapan-tahapan sebagai berikut :
7.1
Studi Literatur Dengan mempelajari literatur yang berhubungan dengan pembuatan Tugas
Akhir. Studi literatur dimaksudkan untuk penyusunan dasar teori mengenai pengendali proposional Derivative (PD), Mikrokontroler AVR Atmega8535, buku panduan Software CodeVision AVR, AVRISP, Sensor jarak, Robot mobil tipe penggerak diferensial.
7.2
Perancangan Perangkat Keras (Hardware) Secara umum perancangan sistem robot mobil yang akan dibuat dapat
dilihat pada Gambar 15.
Gambar 15 Blok Diagram Sistem
Robot mobil penjejak benda bergerak ini dirancang untuk dapat bergerak mengikuti benda bergerak. Mekanik robot mobil penjejak dinding ini dibuat berdasarkan tipe penggerak differensial. Yaitu robot mobil memiliki 2 buah roda yang berfungsi sebagai penggerak sekaligus kemudi robot. Robot mobil ini dikendalikan dengan menggunakan mikrokontroler AVR ATmega 8535. Mikrokontroler men-trigger sensor ultrasonik (PING™) dan kemudian menunggu sinyal ultrasonik kembali, yaitu sampai terjadi perubahan logika tinggi ke logika rendah pada PINB.2. Selama menunggu terjadinya perubahan ini mikrokontroler menghitung selang waktu yang terjadi. Setelah terdeteksi PINB.2 low maka penghitungan jarak dihentikan dan kemudian akan diperoleh data jarak robot mobil terhadap dinding. Jarak terdeteksi ini kemudian dibandingkan dengan jarak referensi sehingga diperoleh error jarak. Dengan adanya error jarak ini maka akan diperoleh besarnya sinyal kontrol untuk robot mobil (sinyal kontrol berupa kecepatan angular robot). Sinyal kontrol ini kemudian dikonversi menjadi sinyal kontrol untuk motor kanan dan motor kiri menggunakan kinematika balik.
Selain mikrokontroler terdapat pula komponen-komponen lain seperti keypad, LCD, sensor jarak (ultrasonik), driver motor, catu daya, saklar / bumper switch. LCD berfungsi untuk menampilkan menu input dan menu monitoring pada robot mobil. Sehingga pada saat robot mobil run, user dapat mengetahui kecepatan angular robot, error jarak, sinyal kendali untuk roda kanan dan roda kiri. Keypad digunakan untuk memasukkan data-data seperti nilai set point dan nilai parameter-parameter kendali. Saklar / bumper switch berfungsi sebagai proteksi apabila robot mobil menabrak dinding. Pada saat robot menabrak objek maka secara otomatis putaran roda kanan dan roda kiri dihentikan.
7.3
Perancangan Perangkat Lunak (Software) Robot yang dibuat pada tugas akhir ini adalah robot penjejak benda
bergerak yang berada didepannya. Robot ini dikendalikan dengan menggunakan pengendali Proposional – Derivative (PD). Masukan pengendali berupa error jarak terhadap dinding yang diperoleh melalui sensor jarak ultrasonik (PING™). Kemudian sinyal Kendali berupa sinyal kontrol yang digunakan untuk mengendalikan kecepatan angular robot. Dengan menggunakan kinematika balik maka kecepatan angular robot diubah menjadi kecepatan putaran roda kanan dan roda kiri robot. Sehingga robot akan dapat berjalan menelusuri dinding sebelah kiri. Blok diagram pengendalian secara umum dapat dilihat pada Gambar 3.16 berikut.
Gambar 3.16 Blok Diagram Pengendalian
VIII
Pengujian Alat Pada tahap ini dilakukan pengujian terhadap robot mobil, bagaimana
respon robot mobil terhadap berbagai macam jarak referensi robot mobil terhadap benda bergerak.
IX
Pembuatan Laporan Membuat laporan dan analisa dari seluruh rancangan yang dibuat.
X
Jadwal Pelaksanaan Penelitian
Tabel 2 Waktu pelaksanaan tugas akhir Bulan Minggu ke-
April
Mei
Juni
Juli
Agustus
2007
2007
2007
2007
2007
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Studi Pustaka dan observasi Perancangan perangkat lunak Pengujian dan Validasi Penyusunan Laporan
XI.
Penutup Proposal Tugas Akhir ini di buat belum dalam format yang sebenarnya,
sehingga masih sangat memungkinkan adanya perubahan yang disesuaikan dengan kondisi yang ada. Atas perhatiannya, penulis ucapkan terima kasih.
DAFTAR PUSTAKA
[1].
Handyarso, Acep. “Rancang Bangun Robot Mobil Penjejak Dinding Berbasis
Pengendali
PD
Menggunakan
Mikrokontroller
AVR
ATmega8535” Universitas Diponegoro. 2007 [2].
Lucas, GW. “A Tutorial and Elementary Trajectory Model for the Differential Steering System of Robot Wheel Actuators”. Internet. 2006.
[3].
Mahadmadi, Fajar. “Embedded
C
pada Mikrokontroller
AVR
AT90S8515” Universitas Diponegoro. 2003 [4].
Setiawan, Iwan. Trias A. Darjat. “Rancang Bangun Sistem Kontrol Robot Mobil untuk Keperluan Navigasi Darat Berbasis Trayektori Bezier”. Universitas Diponegoro. 2006
[5].
Ogata, Katsuhiko. “Teknik Kontrol Otomatik jilid 1”. 1994. Erlangga: Jakarta.
[6].
Silveira, PE. “Speed Control of an Autonomous Mobile Robot Comparison between a PID Control and a Control Using Fuzzy Logic”. Internet. 2006.
[7].
Wiharto, Sumarno, Supriyanto. “Fisika SMA Kelas X”. 2004. Pemerintah Kota Semarang: Semarang.
[8].
Julio E. Normey-Rico dkk. “Mobile Robot Path Tracking Using a Robust PID Controller”. 2001. University of Santa Catarina—Brazil.