Implementasi Sistem Navigasi Wall Following Masukan Sensor Ultrasonik Menggunakan Metode Tuning Kendali PID

(1)

1 1.1 Latar Belakang

Perkembangan teknologi pada bidang robotika terus mengalami kemajuan yang sangat pesat sejak ditemukannya piranti semikonduktor. Piranti semikonduktor memungkinkan penciptaan robot dalam ukuran yang lebih kecil, kemampuan kerja yang lebih baik dan memiliki tingkat akurasi yang lebih tinggi. Robot wall follower merupakan jenis mobile robot yang memiliki kemampuan dalam mengikuti dinding (wall following). Robot tipe ini menjadi salah satu pilihan yang dijadikan sebagai objek penelitian baik dalam event nasional maupun internasional. Pada beberapa kasus, permasalahan yang muncul adalah bagaimana membuat suatu sistem navigasi pada robot agar robot mampu menyelesaikan tantangan yang memiliki rintangan berupa dinding dalam suatu lintasan.

Salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan tersebut adalah dengan mengikuti kontur dinding (wall following). Navigasi wall following adalah suatu algoritma untuk menyediakan orientasi navigasi kepada robot dengan menyusuri dinding. Salah satu keuntungannya adalah tidak memerlukan garis penuntun ataupun tanda khusus sebagai arahan bagi robot. Cara kerjanya adalah dengan mengatur jarak dinding dengan robot tetap konstan. Jika terjadi perubahan, maka robot akan bergerak untuk kemudian menyesuaikan jarak kembali [1].

Selain memiliki sistem navigasi yang baik, robot wall follower juga harus memiliki sistem kendali yang tepat. Untuk memuluskan pergerakan robot saat


(2)

menelusuri ruang/lorong lintasan, diperlukan suatu pengendali yang membuat pergerakan robot saat dioperasikan dapat sesuai dengan harapan. Kendali PID merupakan sistem kendali yang mampu memperbaiki dan membuat pergerakan robot menjadi lebih stabil dan memiliki koreksi kesalahan yang handal.

Berdasarkan latar belakang tersebut, maka dalam tugas akhir ini akan mengimplementasikan sistem navigasi wall following pada robot beroda (robot wall follower) serta sistem kendali PID dengan metode tuning untuk membuat pergerakan robot menjadi halus, cepat dan responsif saat menelusuri ruang/lorong lintasan. Serta akan dibuat suatu aplikasi yang digunakan untuk menampilkan data-data untuk keperluan analisa apakah tuning Kendali PID yang telah dilakukan mampu membuat pergerakan robot selalu dalam kondisi/keadaan yang diinginkan.

1.2 Identifikasi Masalah

Berdasarkan uraian yang telah dikemukakan dalam latar belakang masalah, maka dapat diidentifikasikan beberapa masalah sebagai berikut.

1. Dibutuhkan suatu sistem navigasi pada robot yang mampu menyelesaikan tantangan pada suatu lintasan yang memiliki pembatas berupa dinding.

2. Dibutuhkan suatu sistem kendali yang mampu membuat pergerakan robot menjadi stabil dan halus saat bernavigasi mengikuti kontur dinding.

3. Dibutuhkan suatu aplikasi yang mampu menampilkan data-data yang jelas untuk keperluan analisa ketika robot sedang bernavigasi untuk mengetahui apakah tuning Kendali PID yang telah dilakukan telah mampu membuat pergerakan robot selalu dalam kondisi yang diinginkan.


(3)

1.3 Rumusan Masalah

Berdasarkan permasalahan yang teridentifikasi di atas, maka dapat dirumuskan beberapa rumusan masalah sebagai berikut.

1. Bagaimana mengimplementasikan sistem navigasi pada robot wall follower ? 2. Bagaimana merancang sistem kendali yang mampu membuat pergerakan

robot menjadi halus, stabil dan responsif saat melakukan navigasi ?

3. Bagaimana merancang suatu aplikasi yang dapat menampilkan data-data yang digunakan untuk keperluan analisa untuk mengetahui apakah kondisi pergerakan robot telah mampu dalam keadaan yang telah ditentukan sebelumnya ?

1.4 Tujuan

Tujuan yang ingin dicapai dalam pembuatan tugas akhir ini adalah sebagai berikut.

1. Mengimplementasikan sistem navigasi wall following pada robot wall follower.

2. Merancang Kendali PID yang mampu membuat pergerakan robot wall follower menjadi halus dan responsif saat robot melakukan navigasi.

3. Merancang aplikasi menggunakan software LabVIEW yang digunakan untuk mengetahui apakah parameter konstanta PID yang telah didapatkan melalui tuning telah mampu membuat pergerakan robot stabil.

1.5 Batasan Masalah

Dalam merancang dan membuat tugas akhir ini, penulis membatasi beberapa batasan masalah sebagai berikut.


(4)

1. Implementasi dilakukan pada robot beroda.

2. Set point jarak antara robot dengan dinding adalah 10 cm.

3. Pemandu navigasi robot adalah dinding labirin, berlantai datar, tidak ada halangan lain dalam lintasan selain dinding.

4. Sensor yang digunakan adalah sensor jarak ultrasonic HY-SRF05.

5. Menggunakan metode tuning Kendali PID. Proses tuning dilakukan secara trial and error.

6. Robot dapat mengikuti dinding kiri dan dinding kanan lintasan.

7. Penggunaan Bluetooth hanya sebagai media komunikasi antara robot dengan laptop untuk pengambilan data untuk keperluan analisa tuning kendali PID yang ditampilkan dalam bentuk grafik pada aplikasi yang telah dibuat menggunakan software LabVIEW.

1.6 Metode Penelitian

Metode yang digunakan dalam penyusunan tugas akhir ini adalah sebagai berikut.

1. Studi Pustaka

Studi pustaka dilakukan untuk mengumpulkan dan mempelajari dari berbagai referensi, baik melalui browsing internet, buku maupun jurnal-jurnal yang berkaitan langsung maupun tidak langsung dengan tugas akhir ini.

2. Mengumpulkan Informasi

Mengumpulkan informasi bertujuan untuk mendapatkan informasi yang berkaitan dengan penelitian yang dilakukan. Informasi didapat dengan cara diskusi dengan dosen pembimbing serta pihak lain mengenai hal-hal yang dipelajari dalam pengerjaan tugas akhir.


(5)

3. Perancangan Perangkat Keras

Melakukan perancangan desain mekanik, perancangan desain elektronik, membuat sistem minimum ATmega32, membuat modul Bluetooth untuk keperluan komunikasi dengan laptop, tata letak sensor dan driver motor . 4. Perancangan Perangkat Lunak

Melakukan perancangan program sistem navigasi wall following dengan menggunakan metode telusur kanan dan telusur kiri, dan merancang kendali PID yang akan diterapkan pada robot. Selain itu juga merancang aplikasi menggunkan software LabVIEW.

5. Pengujian dan Analisis

Melakukan pengujian alat untuk memperoleh data dari beberapa bagian perangkat keras. Analisis dilakukan apakah sistem yang telah dibuat telah sesuai dengan yang direncanakan. Jika terdapat kesalahan maka dapat dilakukan perbaikan sistem sehingga dapat diambil kesimpulan dari penelitian ini.

1.7 Sistematika Penulisan Laporan

Sistematika penulisan laporan yang akan diuraikan dalam laporan ini terbagi dalam bab-bab yang akan dibahas, yaitu:

BAB I PENDAHULUAN

Menguraikan tentang latar belakang, identifikasi masalah, rumusan masalah, tujuan, batasan masalah, metode penelitian, dan sistematika penulisan.

BAB II DASAR TEORI

Berisi teori-teori penunjang yang digunakan sebagai dasar dalam penelitian tugas akhir ini, meliputi teori definisi robot, teori Kendali PID, spesifikasi


(6)

perangkat keras (hardware), spesifikasi perangkat lunak (software), dan beberapa teori lain yang digunakan dalam pembuatan tugas akhir ini.

BAB III PEMILIHAN KOMPONEN DAN PERANCANGAN ALAT Menjelaskan tentang perancangan perangkat keras (hardware), perancangan perangkat lunak (software), pemilihan komponen berserta alasannya, dan perancangan pengendali yang akan dibuat.

BAB IV PENGUJIAN SISTEM

Berisi tentang pengujian kerja alat, mulai dari hardware sampai software. Tujuan dari pengujian ini adalah untuk mengetahui apakah sistem telah dapat berfungsi sesuai dengan harapan.

BAB V PENUTUP

Berisi tentang kesimpulan dari alat yang telah dibuat, serta saran untuk pengembangan dan penyempurnaan lebih lanjut dari alat yang telah dibuat.


(7)

7 2.1 Definisi Robot

Kata robot berasal dari kosakata “Robota” yang berarti “kerja cepat”, yang berasal dari Cekoslowakia. Istilah robot pertama kali dikenalkan dalam sebuah drama antara tahun 1920-1921 oleh seorang pengarang sandiwara bernama Karel Capec. Karyanya dikenal berjudul “Rossum’s Universal Robots”, yang artinya robot dunia milik Rossum [1].

Pada tahun 1942, Isaac Asimov juga memperkenalkan istilah robot pada karyanya yang berbentu novel fiksi sains “runaround” . Pengertian mengenai apa itu robot terus mengalami perkembangan. Menurut Robotics Industry Association (1985) robot adalah sebuah manipulator multifungsi yang dapat diprogram ulang yang di desain untuk memindahkan material, bagian, peralatan untuk berbagai macam tugas. Pengertian robot sendiri mengalami perluasan, hal ini nampak dari definisi yang dibuat oleh Roy Arkin (1998). Menurutnya, robot adalah sebuah mesin yang mampu mengekstrak informasi dari lingkungannya dan menggunakan pengetahuan mengenai lingkungannya tersebut untuk melakukan tindakan yang sadar dan bertujuan secara aman. Selain itu pengertian lain dari robot adalah sistem atau alat yang terdiri dari sistem mekanik, sistem elektronik dan sistem kendali yang dapat berperilaku atau meniru perilaku manusia dengan tujuan menggantikan dan mempermudah kerja/aktifitas manusia [6].


(8)

Dari pengertian tersebut dapat ditarik tiga hal utama yang harus dimiliki oleh sebuah mesin untuk mendapatkan predikat sebagai robot, diantaranya adalah sebagai berikut:

a. Kemampuan untuk mengekstrak/mendapatkan informasi dari sekelilingnya. b. Kemampuan untuk mengolah informasi tersebut.

c. Kemampuan untuk melakukan sesuatu secara fisik seperti bergerak atau memanipulasi objek.

Untuk dapat dikatakan sebagai robot sebuah sistem tidak perlu untuk meniru semua tingkah laku manusia. Namun suatu sistem tersebut dapat mengadopsi satu atau dua dari sistem yang ada pada diri manusia saja sudah dapat dikatakan sebagai robot. Untuk melakukan ketiga hal tersebut di atas, robot senantiasa dilengkapi dengan tiga komponen utama: sensor, aktuator dan pengendali atau kontroler. Sampai saat ini terdapat beberapa jenis robot yang dibedakan berdasarkan bentuknya antara lain humanoid robot, robot industri dan mobile robot (Autonomous Mobile Robot).

2.1.1 Autonomous Mobile Robot (AMR)

Mobile dapat diartikan bergerak, sehingga robot ini dapat memindahkan dirinya dari satu tempat ke tempat lain. Jadi, Autonomous Mobile Robot adalah robot bergerak yang mampu melakukan tugas-tugas suatu lingkungan tanpa panduan dari manusia secara berkelanjutan. Secara praktek, sebuah Autonomous Mobile Robot memiliki definisi sebagai gabungan alat elektronik dan mekanik seperti motor, gearbox, ban, dan susunan barang elektronik yang setiap bagiannya membentuk


(9)

sebagian kehidupan dan keseluruhannya akan menghasilkan suatu benda menyerupai manusia yang mampu melakukan tugas-tugas seperti bergerak, pemberi peringatan terhadap bahaya, dapat memberikan informasi dari sensor, dan sebagainya.

Kemampuan yang harus dimiliki setiap Autonomous Mobile Robot adalah otonom, bergerak, dan cerdas. Otonom artinya mampu melakukan tugasnya tanpa bantuan dari manusia secara terus menerus. Bergerak artinya robot dapat berpindah dari satu tempat ke tempat lain dengan aktuator seperti motor DC, motor servo, dan motor stepper. Untuk melakukan pergerakan otonom tersebut, maka dibutuhkan suatu kecerdasan. Kecerdasan tersebut harus mampu mengenali lingkungan yang dilewatinya, beradaptasi, mempelajarinya, kemudian menelaahnya sesuai dengan algoritma yang dipakai dan menggunakannya untuk mengambil keputusan pada setiap langkah berikutnya untuk mencapai tujuan. Kemampuan-kemampuan tersebut dapat diperoleh dari berbagai komponen seperti sensor, aktuator, dan perangkat untuk mengambil keputusan. Secara umum, struktur dari sebuah Autonomous Mobile Robot dapat dilihat pada gambar 2.1.

Kemampuan mengenali lingkungan yang dilakukan oleh sensor-sensor akan memberikan suatu informasi yang akan digunakan oleh pengambilan keputusan yang dapat berupa kontroler atau prosesor. Setelah pengolahan informasi, keputusan akan dihasilkan yang kemudian dilaksanakan oleh aktuator. Pergerakan aktuator memberikan perubahan Autonomous Mobile Robot terhadap lingkungan. Sensor-sensor akan bekerja kembali untuk beradaptasi terhadap langkah selanjutnya.


(10)

Gambar 2.1 Skema Sistem Kerja Robot

Dalam melakukan tugasnya, sebuah Autonomous Mobile Robot memerlukan beberapa kemampuan dasar seperti berikut:

a. Otonom

Autonomous Mobile Robot harus otonom atau tidak memerlukan kendali dari manusia secara langsung. Pengguna hanya perlu melakukan pengaturan (setting) dan menetapkan algoritma sistem pada saat pengaturan awal. Setelah itu Autonomous Mobile Robot diharapkan mampu menentukan arah pergerakannya sendiri dalam memenuhi misi dengan mengatasi keadaan di lingkungannya. b. Bergerak

Autonomous Mobile Robot harus mampu bergerak atau berpindah dari suatu tempat ke tempat lain, sehingga harus memiliki komponen-komponen penggerak seperti motor, kontroler aktuator, dan desain roda penggerak robot.

c. Cerdas

Autonomous Mobile Robot harus mampu mengenali lingkungan yang dilewatinya, beradaptasi, mempelajarinya, kemudian menelaahnya sesuai dengan algoritma yang dipakai dan menggunakannya untuk mengambil keputusan pada setiap langkah berikutnya untuk mencapai tujuan yang diberikan.

Informasi Pengolahan Keputusan


(11)

2.1.2 Prinsip Pergerakan Mobile Robot dan Sistem Navigasi Robot

Pergerakan merupakan cara berpindah dari satu titik ke titik lain. Terdapat banyak bentuk pergerakan robot, yang paling umum adalah roda, rel, dan kaki. Salah satu contoh sistem kemudi untuk robot beroda adalah Differential Steering.

1. Differential Steering Robot

Differential Steering Robot adalah robot yang dapat bermanuver dengan memanipulasi perbedaan kecepatan kedua roda di sisi kanan dan sisi kiri. Di bawah ini merupakan ilustrasinya yang ditunjukkan pada gambar 2.2.

Gambar 2.2 Ilustrasi Sistem Pergerakan Differential Steering Berdasarkan gambar 2.2, pergerakan differential steering dapat dijelaskan sebagai berikut:

a. Posisi a (forward). Jika kedua motor berputar dengan arah dan kecepatan yang sama maka robot akan lurus maju ke depan.


(12)

b. Posisi b (reverse). Jika kedua motor berputar dengan arah dan kecepatan yang sama maka robot akan lurus mundur ke belakang.

c. Posisi c (left turn). Jika di sisi kanan berputar dan motor di sisi kiri tidak berputar, maka robot akan bergerak/berbelok ke kiri.

d. Posisi d (right turn). Jika di sisi kiri berputar dan di sisi motor di sisi kanan tidak berputar, maka robot akan bergerak/berbelok ke kanan.

e. Posisi e (spin left turn). Motor kiri dan kanan berputar dengan arah yang berlawanan. Pada keadaan ini robot akan berbelok/berputar ke kiri/berlawan arah jarum jam dengan pusat putaran pada titik hitam (pivot point). Untuk melakukan maneuver ini, kedua motor harus berputar dengan kecepatan yang sama sehingga pivot point tetap berada di tengah.

f. Posisi f (spin right turn). Motor kiri dan kanan berputar dengan arah yang berlawanan. Pada keadaan ini robot akan berbelok/berputar ke kanan/searah jarum jam dengan pusat putaran pada titik hitam (pivot point). Untuk melakukan maneuver ini, kedua motor harus berputar dengan kecepatan yang sama sehingga pivot point tetap berada di tengah.

2. Wall Following

Wall Following adalah suatu algoritma untuk menyediakan orientasi navigasi kepada robot dengan menyusuri dinding. Salah satu keuntungannya adalah tidak perlu adanya garis penuntun atau suatu tanda khusus sebagai arahan bagi robot. Cara kerjanya adalah dengan mengatur jarak dinding dengan robot agar tetap konstan. Bila terjadi perubahan, maka robot akan bergerak untuk kemudian menyesuaikan jarak


(13)

lagi [1]. Proses ini akan dilakukan secara berulang-ulang. Di bawah ini merupakan metode-metode wall following yang ditunjukkan pada gambar 2.3.

Gambar 2.3 Metode-metode Wall Following Dari gambar di atas, dapat dijelaskan metode-metode wall following tersebut:

a. Contact. Robot menggunakan saklar mekanik yang merasakan sentuhan dengan dinding. Ini adalah metode yang paling mudah namun saklar akan cenderung mengalami kerusakan mekanis setelah beberapa waktu karena terus bersentuhan dengan objek (dinding).


(14)

b. Noncontact, active sensor. Robot menggunakan sensor aktif yang beroperasi dalam jarak dekat seperti infra merah atau ultrasonik untuk mengukur jarak antara dinding dengan robot.

c. Noncontact, passive sensor.Robot memakai sensor pasif seperti saklar Hall effect untuk mengukur jarak antara robot dengan dinding. Pada kasus ini, dinding harus berbahan logam atau dipasangkan kabel elektrik agar sensor dapat menangkap medan magnetik saat robot mendekati dinding.

d. Soft-contact.Robot menggunakan bahan mekanik untuk mendeteksi sentuhan dengan dinding, namun sentuhan ini diperhalus dengan memasang material lunak atau lentur contohnya roda dari busa atau karet. Kelebihan dari metode ini adalah berkurangnya kerusakan mekanis.

2.2 Pengendali

Pengendali merupakan salah satu komponen sistem yang berfungsi mengolah sinyal umpan balik dari sinyal referensi menjadi sinyal kendali sedemikian rupa sehingga performansi dari sistem yang dikendalikannya sesuai dengan spesifikasi performansi yang diinginkan. Keberadaan kendali dalam sebuah sistem kendali mempunyai kontribusi yang besar terhadap perilaku sistem. Pada prinsipnya hal itu disebabkan oleh tidak dapat diubahnya komponen penyusun sistem tersebut. Artinya, karakteristik plant harus diterima sebagaimana adanya, sehingga perubahan perilaku sistem hanya dapat dilakukan melalui penambahan suatu sub sistem, yaitu pengendali. Salah satu tugas komponen pengendali adalah mereduksi sinyal kesalahan, yaitu perbedaan antara sinyal setting dan sinyal aktual agar sama atau


(15)

mendekati setpoint. Semakin cepat reaksi sistem mengikuti sinyal aktual dan semakin kecil kesalahan yang terjadi, semakin baik kinerja sistem kendali yang diterapkan.

Pada sub bab selanjutnya akan dibahas tentang kendali Proporsional, kendali Integral, kendali Derivatif, dan penggabungan ketiga kendali menjadi kendali PID.

2.2.1 Kendali Proporsional

Kendali Proporsional menghasilkan sinyal keluaran yang sebanding atau proporsional dengan besarnya sinyal kesalahan (selisih antara besaran yang diinginkan dengan harga aktualnya). Secara lebih sederhana dapat dikatakan, bahwa keluaran kendali proporsional merupakan perkalian antara konstanta proporsional dengan masukannya [7]. Gambar 2.4 menunjukkan diagram blok kendali proporsional.

Gambar 2.4 Diagram Blok Kendall Proporsional

Hubungan antara output kendali proporsional u(t) dengan sinyal error e(t) dibuat oleh persamaan:

u(t) = K . e(t)……….(2.1) Ciri-ciri kendali proporsional dapat dijelaskan sebagai berikut.

1. Jika nilai K kecil maka kendali proporsional hanya mampu melakukan koreksi kesalahan yang kecil, sehingga akan menghasilkan respon sistem yang lambat.


(16)

2. Jika nilai K dinaikkan, respon sistem menunjukkan semakin cepat mencapai keadaan mantapnya.

3. Jika nilai K diperbesar mencapai harga yang berlebihan, akan mengakibatkan sistem bekerja tidak stabil, atau sistem akan berosilasi.

2.2.2 Kendali Integral

Kendali Integral berfungsi menghasilkan respon sistem yang memiliki error steady state nol. Kalau sebuah plant tidak memiliki unsur integrator (1/s), kendali proporsional tidak akan mampu menjamin keluaran sistem dengan kesalahan keadaan mantapnya nol. Karena itu dengan adanya kendali integral, respon sistem dapat diperbaiki, yaitu mempunyai kesalahan keadaan mantapnya nol. Kendali integral memiliki karakteristik seperti halnya sebuah integral. Keluaran pengendali sangat dipengaruhi oleh perubahan yang sebanding dengan nilai sinyal kesalahan. Keluaran pengendali ini merupakan jumlahan yang terus menerus dari perubahan masukannya. Kalau sinyal kesalahan tidak mengalami perubahan, keluaran akan menjaga keadaan seperti sebelum terjadinya perubahan masukan [7]. Gambar 2.5 menunjukkan hubungan antara output kendali integral u(t) dengan sinyal error e(t).


(17)

Diagram blok di atas dapat diwujudkan dalam bentuk persamaan yang menunjukkan hubungan antara output kendali integral u(t) dengan sinyal error e(t) sebagai berikut:

u(t) = �

0 ……….………(2.2)

Ciri-ciri kendali Integral dijelaskan sebagai berikut.

1. Keluaran pengendali membutuhkan selang waktu tertentu sehingga kendali integral cenderung memperlambat respon.

2. Ketika sinyal kesalahan berharga nol, keluaran pengendali akan bertahan pada nilai sebelumnya.

3. Jika sinyal kesalahan tidak berharga nol, keluaran akan menunjukan sinyal kesalahan dan nilai K.

4. Kendali integral K yang berharga besar akan mempercepat hilangnya offset. Tetapi semakin besar nilai konstanta K akan mengakibatkan peningkatan osilasi dari sinyal keluaran pengendali.

2.2.3 Kendali Derivatif

Keluaran kendali derivatif memiliki sifat seperti halnya suatu operasi derivatif. Perubahan yang mendadak pada masukan pengendali,akan mengakibatkan perubahan yang sangat besar dan cepat juga pada keluaran [7]. Diagram blok dari kendali derivatif ditunjukkan oleh gambar 2.6.


(18)

Gambar 2.6 Diagram Blok Kendali Derivatif

Diagram blok di atas diwujudkan dalam bentuk persamaan yang menunjukkan hubungan antara output kendali integral u(t) dengan sinyal error e(t) sebagai berikut:

u(t) = � ( )………...(2.3) Ciri-ciri kendali derivatif sebagai berikut.

1. Pengendali ini tidak dapat menghasilkan keluaran bila tidak ada perubahan pada masukannya (berupa sinyal kesalahan).

2. Jika sinyal kesalahan berubah terhadap waktu, maka keluaran yang dihasilkan pengendali tergantung pada nilai Kd dan laju perubahan sinyal kesalahan.

3. Kendali derivatif mempunyai karakteristik untuk mendahului, sehingga pengendali ini dapat menghasilkan koreksi yang signifikan sebelum pembangkit kesalahan menjadi sangat besar. Jadi kendali derivatif dapat mengantisipasi pembangkit kesalahan, memberikan aksi yang bersifat korektif, dan cenderung meningkatkan stabilitas sistem.

2.2.4 Kendali PID

Setiap kekurangan dan kelebihan dari masing-masing kendali Proporsional, Integral dan Dervatif dapat saling menutupi dengan menggabungkan ketiganya


(19)

menjadi kendali proporsional plus integral plus derivatif (kendali PID). Elemen-elemen kendali P, I dan D masing-masing secara keseluruhan bertujuan untuk mempercepat reaksi sebuah sistem, menghilangkan offset dan menghasilkan perubahan awal besar. Diagram Blok kendali PID ditunjukkan pada gambar 2.7.

Gambar 2.7 Diagram blok kendali PID Dari diagram blok di atas dapat diperoleh persamaan:

= K + K 0 + K ( )……….…….(2.4) 2.3 Mikrokontroler ATmega32

Mikrokontroler ATmega32 merupakan salah satu mikrokontroler buatan Atmel yang memiliki banyak kegunaan. ATmega32 memiliki empat port yang dapat digunakan untuk banyak masukan atau keluaran, memiliki memori flash 32K Bytes, ADC dan PWM internal, timer dan fasilitas lainnya.


(20)

Gambar 2.8 Bentuk fisik ATmega32

Adapun beberapa fitur/keistimewaan dari mikrokontroler ATmega32 diantaranya:  Memiliki 32 port I/O

 32K Bytes Flash PEROM  1024 Bytes EEPROM  2K Bytes Internal SRAM  3 buah Timer/Counter  4 channel PWM

 8 channel ADC dengan resolusi 10 bit  Osilator internal

 USART

 Catu daya

- 2.7 - 5.5V untuk ATmega32L - 4.5 – 5.5V untuk ATmega32  Kecepatan

- Maksimal 8 MHz untuk ATmega32L - Maksimal 16 MHz untuk ATmega32


(21)

Konfigurasi pin pada ATmega32 dengan kemasan 40 pin DIP (dual in-line package) ditunjukan pada gambar 2.9. Kemasan pin tersebut terdiri dari 4 port yaitu: port A, port B, port C, port D yang masing-masing terdiri dari 8 buah pin. Selain itu juga terdapat RESET, VCC, GND 2 buah, AVCC, XTAL1, XTAL2 dan AREF.

Gambar 2.9 Pin-pin ATmega32 Dari gambar 2.10 dapat dijelaskan pin-pin dari ATmega32. 1. VCC : Supply tegangan digital

2. GND : Ground

3. PORT A : Port A sebagai input analog ke A/D konverter. Port A juga sebagai 8-bit 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. Berikut merupakan tabel fungsi-fungsi khusus pin-pin port A.


(22)

Tabel 2.1 Fungsi-fungsi Khusus Port A

Port Fungsi

PA0 ADC0 (ADC input channel 0) PA1 ADC1 (ADC input channel 1) PA2 ADC2 (ADC input channel 2) PA3 ADC3 (ADC input channel 3) PA4 ADC4 (ADC input channel 4) PA5 ADC5 (ADC input channel 5) PA6 ADC6 (ADC input channel 6) PA7 ADC7 (ADC input channel 7)

4. PORT B : Port B adalah port I/O 8-bit yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Buffer output port B mempunyai karakteristik 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. Berikut merupakan tabel fungsi-fungsi khusus pin-pin port B.

Tabel 2.2 Fungsi-fungsi Khusus Port B

Port Fungsi

PB0 T0 (Timer/Counter External Counter Input)

XCK (USART External Clock Input/Output)

PB1 T1 (Timer/Counter1 External Counter Input)

PB2 AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input) PB3 AIN1 (Analog Comparator Negative Input)

OCO (Timer/Counter0 Output Compare Match Output)

PB4 SS (SPI Slave Select Input)

PB5 MOSI (SPI Bus Master Output/Slave Input) PB6 MISO (SPI Bus Master Input/Slave Output) PB7 SCK (SPI Bus Serial Clock)

5. PORT C : Port C adalah port I/O 8-bit yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Buffer output port C mempunyai karakteristik drive yang simetris dengan kemampuan keduanya sink dan source


(23)

yang tinggi. Sebagai input, port C yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Berikut merupakan tabel fungsi-fungsi khusus pin-pin port C.

Tabel 2.3 Fungsi-fungsi Khusus Port C

Port Fungsi

PC0 SCL (Two-wire Serial Bus Clock Line)

PC1 SDA (Two-wire Serial Bus Data Input/Output Line)

PC2 TCK (JTAG Test Clock)

PC3 TMS (JTAG Test Mode Select)

PC4 TD0 (JTAG Test Data Out)

PC5 TD1 (JTAG Test Data In)

PC6 TOSC1 (Timer Oscillator Pin1) PC7 TOSC2 (Timer Oscillator Pin2)

6. PORT D : Port D adalah port I/O 8-bit yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Buffer output port B mempunyai karakteristik 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. Berikut merupakan tabel fungsi-fungsi khusus pin-pin port D.

Tabel 2.4 Fungsi-fungsi Khusus Port D

Port Fungsi

PD0 RXD (USART Input Pin)

PD1 TXD (USART Output Pin)

PD2 INT0 (External Interrupt 0 Input)

PD3 INT1(External Interrupt 1 Input)

PD4 TD0 (JTAG Test Data Out)

PD5 OCIB (Timer/Counter1 Output Compare B Match) PD6 ICP1 (Timer/Counter1 Input Capture Pin) PD7 OC2 (Timer/Counter2 Output Compare Match Output)


(24)

7. RESET : Sebuah low level pulsa yang lebih lama dari pada lebar pulsa minimum pada pin ini akan menghasilkan reset meskipun clock tidak berjalan.

8. XTAL 1 : Input inverting penguat Oscilator dan input internal clock operasi rangkaian.

9. XTAL 2 : Output dari inverting penguat Oscilator.

10. AVCC : Pin supply tegangan untuk port A dan A/D konverter. Sebaliknya eksternalnya dihubungkan ke VCC meskipun ADC tidak digunakan.

11. AREF : pin referensi analog untuk A/D konverter.

2.4 Driver Motor DC

Dalam menggerakkan motor, pada dasarnya mikrokontroler dapat langsung dihubungkan dengan motor DC, dengan catatan harus memenuhi keluaran arus dari mikrontroler. Jika arus motor besar, maka tidak dapat langsung dihubungkan dengan mikrokontroler karena keluaran arus dari pin-pin mikrokontroler terlalu kecil. Jadi dibutuhkan driver yang sesuai dengan spesifikasi dari motor yang akan digunakan. Dalam prakteknya, dapat dijumpai berbagai macam driver motor seperti L293D, L298, dan Dual H-Bridge Mosfet.

H-bridge adalah sekumpulan elemen elektronik yang disatukan dalam satu rangkaian yang berfungsi untuk menggerakkan motor. Rangkaian ini diberi nama H-bridge karena bentuk rangkaiannya yang menyerupai huruf H seperti pada gambar 2.10.


(25)

Gambar 2.10 Konfigurasi H-Bridge

Rangkaian ini terdiri dari dua buah MOSFET kanal P dan dua buah MOSFET kanal N. Prinsip kerja rangkaian ini adalah dengan mengatur On-Off ke empat MOSFET tersebut. Titik tengah dari rangkaian merupakan motor DC yang akan dikendalikan. Bagian atas rangkaian akan dihubungkan dengan sumber daya kutub positif, sedangkan bagian bawah rangkaian akan dihubungkan dengan sumber daya kutub negatif. Pada saat MOSFET A dan MOSFET D on sedangkan MOSFET B dan MOSFET C off, maka sisi kiri dari gambar motor akan terhubung dengan kutub positif dari catu daya, sedangkan sisi sebelah kanan motor akan terhubung dengan kutub negatif dari catu daya sehingga motor akan bergerak searh jarum jam [1]. Dijelaskan pada gambar 2.11.


(26)

Gambar 2.11 Konfigurasi MOSFET A&D ON, B&C OFF

Sebaliknya, jika MOSFET B dan MOSFET C on sedangkan MOSFET A dan MOSFET D off, maka sisi kanan motor akan terhubung dengan kutub positif dari catu daya sedangkan sisi kiri motor akan terhubung dengan kutub negatif dari catu daya. Maka motor akan bergerak berlawanan arah jarum jam. Dijelaskan pada gambar 2.12.

Gambar 2.12 Konfigurasi MOSFET A&D OFF, B&C ON

Konfigurasi lainnya adalah apabila MOSFET A dan MOSFET B sedangkan MOSFET C dan MOSFET D off. Konfigurasi ini akan menyebabkan sisi kiri dan kanan motor terhubung pada kutub yang sama yaitu kutub positif sehingga tidak ada


(27)

perbedaan tegangan diantara dua buah polaritas motor, sehingga motor tidak ada respon. Konfigurasi ini disebut sebagai konfigurasi break. Begitu juga jika MOSFET C dan MOSFET D saklar on, sedangkan MOSFET A dan MOSFET C off, kedua polaritas motor akan terhubung pada kutub negatif dari catu daya. Maka tidak ada perbedaan tegangan pada kedua polaritas motor, dan motor tidak akan memberikan respon. Konfigurasi yang harus dihindari adalah pada saat MOSFET A dan MOSFET C on secara bersamaan atau MOSFET B dan MOSFET D on secara bersamaan. Pada konfigurasi ini akan terjadi hubungan arus singkat antara kutub positif catu daya dengan kutub negatif catu daya.

2.5 Motor DC

Motor DC adalah transducer yang mengubah energi listrik menjadi energi mekanik berupa gerak rotasi. Bentuk fisik motor DC ditunjukkan oleh gambar 2.13.

Gambar 2.13 Bentuk fisik motor DC

Kecepatan minimum sampai maksimumnya dari motor DC dapat diatur berdasarkan duty cycle yang diberikan, jika duty cycle pada sinyal PWM besar, maka akan menghasilkan rata-rata tegangan yang yang besar pula sehingga motor DC akan


(28)

berputar cepat, begitu juga sebaliknya jika duty cycle yang diberikan kecil, akan menghasilkan rata-rata tegangan yang kecil yang mengakibatkan motor DC berputar lambat.

2.6 Pulse Width Modulation (PWM)

PWM adalah sebuah cara memanipulasi lebar sinyal yang dinyatakan dengan pulsa dalam periode yang berulang antara high atau low, dimana durasi sinyal high atau low dapat diatur. Ilustrasi sinyal PWM ditunjukkan oleh gambar 2.14.

Gambar 2.14 Sinyal PWM

Duty cycle merupakan perbandingan periode lamanya suatu sistem bernilai logika high dan low. Variasi duty cycle ini memberikan harga tegangan rata-rata yang berbeda. Sinyal PWM dengan duty cycle yang besar memiliki nilai rata-rata tegangan yang lebih besar dibandingkan dengan duty cycle kecil. Nilai tegangan yang diberikan sebanding dengan nilai duty cycle yang diberikan [3]. Adapun rumus dari duty cycle, yaitu:

Duty Cycle = ℎ�� ℎ


(29)

Sedangkan untuk menghitung tegangan rata-rata, output dapat dihitung dengan rumus:

�� = Duty Cycle x �� �� ……….(2.6)

Dari rumus di atas, �� �� merupakan tegangan yang diberikan untuk mengaktifkan motor.

2.7 Modul Bluetooth HC-05

Modul Bluetooth HC-05 adalah modul yang digunakan untuk mengirimkan data serial secara wireless (tanpa kabel). Modul Bluetooth HC dibedakan menjadi dua yaitu modul tipe ganjil dan genap. Modul tipe ganjil memiliki keunggulan yaitu dapat dijadikan sebagai master maupun slave pada mode operasinya [8]. Berbeda dengan tipe genap yang hanya mampu memiliki salah satu mode operasi, karena sudah diset oleh pabrik.

Gambar 2.15 Modul Bluetooth HC-05

Modul Bluetooth HC-05 digunakan sebagai peranti untuk menjembatani antara mikrokontroler dengan laptop supaya dapat berkomunikasi. Modul ini dihubungkan


(30)

dengan robot dan ketika power robot ON, modul akan secara otomatis mengirimkan data pada laptop.

2.8 Sensor Jarak Ultrasonik HY-SRF05

Sensor HY-SRF05 merupakan salah satu jenis sensor ultrasonik yang banyak digunakan khususnya pada bidang robotika. Sensor ini terdiri dari rangkaian pemancar (transmitter) dan rangkaian penerima (receiver), dan dapat mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik dengan frekuensi 40 kHz dan kemudian mendeteksi pantulannya. Sensor HY-SRF05 memiliki jarak pengukuran terendah 2cm dan maksimal pengukuran jarak sampai 450cm. selain itu sensor ini juga memiliki tingkat akurasi yang tinggi yaitu 0,3cm. Tampilan sensor HY-SRF05 ditunjukkan oleh gambar 2.16.

Gambar 2.16 Sensor Ultrasonik HY-SRF05 Adapun spesifikasi dari sensor HY-SRF05 adalah sebagai berikut:  Jarak pengukuran : 2cm – 450cm

 Catu daya : 5Vdc  Arus statis : 2mA


(31)

 Frekuensi kerja : 40kHz  Temperatur : 20-60°C

 Koneksi : VCC, Trigger, Echo, GND

Pada dasarnya sensor ultrasonik terdiri dari 3 bagian utama, yaitu chip pembangkit, speaker ultrasonik dan mikropon ultrasonik. Chip pembangkit berfungsi untuk membangkitkan sinyal 40kHz. Speaker ultrasonik berfungsi untuk mengubah sinyal 40kHz menjadi suara. Mikropon ultrasonik berfungsi untuk mendeteksi pantulannya [10].

Prinsip kerja dari sensor ultrasonik yaitu gelombang ultrasonik akan dibangkitkan dan dipancarkan melalui transmitter secara menyebar. Gelombang ultrasonik yang dipancarkan tersebut akan merambat sebagai sinyal/gelombang bunyi dengan kecepatan bunyi yang berkisar 340 m/s. Sinyal tersebut kemudian akan dipantulkan dan akan diterima kembali oleh bagian receiver ultrasonik. Setelah sinyal tersebut diterima kembali, kemudian sinyal tersebut akan diproses untuk menghitung jaraknya. Jarak tersebut dihitung berdasarkan rumus :

S = 340.t/2………(2.6)

Dari persamaan di atas, S adalah jarak antara sensor ultrasonik dengan bidang pantul, dan t adalah selisih waktu antara pemancaran gelombang ultrasonik sampai diterima kembali oleh bagian penerima ultrasonik.


(32)

2.9 LCD 2x16

Liquid Crystal Display (LCD 2x16) adalah modul elektronik yang dapat menampilkan suatu karakter tertentu dan memiliki 2 baris dan 16 kolom. LCD ini dilengkapi panel LCD serta dilengkapi dengan kontroler LCD (CMOS) yang sudah terintegrasi dengan modul tersebut. Selain itu LCD jenis ini memiliki konsumsi daya yang rendah. LCD 2x16 memiliki memori yang dapat diakses yaitu Display Data Random Access Memory (DDRAM).

Gambar 2.17 Bentuk fisik LCD 2x16

Berikut merupakan tabel pin-pin untuk LCD 2x16:

Tabel 2.5 Susunan kaki LCD 2x16

NO Nama Pin Deskripsi Port

1 VCC + 5 V VCC

2 GND 0 V GND

3 VEE Tegangan kontras Trimpot

4 RS Register select, 0 = input intruksi, 1 =

input data

PD 5

5 R/W 1 = read : 0 = write PD 6

6 E Enable clock PD 7

7 D0 Data bus 0 PC 0

8 D1 Data bus 1 PC 1

9 D2 Data bus 2 PC 2


(33)

11 D4 Data bus 4 PC 4

12 D5 Data bus 5 PC 5

13 D6 Data bus 6 PC 6

14 D7 Data bus 7 PC 7

15 Anoda Tegangan Positif backlight VCC 16 Katoda Tegangan Negatif backlight GND

2.10 Pemrograman Bahasa C (CodeVision AVR)

Bahasa pemrograman yang digunakan dalam tugas akhir ini adalah program bahasa C dengan compiler CodeVision AVR. CodeVision AVR merupakan salah satu bahasa pemrograman yang dapat digunakan untuk memprogram mikrokontroler. Keunggulan dari CodeVision AVR yaitu memiliki fasilitas codewizard. Fasilitas ini akan memudahkan dalam inisialisasi mikrokontroler yang akan digunakan.

Gambar 2.18 Tampilan depan CodeVision AVR

CodeWizardAVR Automatic Program Generator merupakan fasilitas CodeVision AVR yang dapat menghasilkan kode program secara otomatis. Dengan adanya fasilitas ini, maka penulisan program dapat dilakukan dengan waktu yang


(34)

relatif cepat dan lebih efisien. Seluruh kode dapat dimplementasikan dengan fungsi sebagai berikut:

 Inisialisasi port input/output  Inisialisasi LCD

 Inisialisasi interupsi eksternal

 Inisialisasi timer/counter dan watchdog timer

 Inisialisasi USART (Universal Synchronous Asychronous Serial Receiver Transmitter)

 Inisialisasi ADC dan komparator analog  Inisialisasi antarmuka SPI dan TWI  Inisialisasi watchdog timer

 Inisialisasi komparator analog  Inisialisasi ADC

 Inisialisasi I2C Bus, sensor suhu, DS1621 thermometer/thermostat dan real time PCF8563, PCF8583, DS1302, DS1307

 Inisialisasi 1 wire bus dan sensor suhu DS1820/DS18S20

CodeVision AVR adalah compiler dengan bahasa pemrograman C. Untuk dapat membangun program, maka harus diperhatikan struktur yang digunakan dalam pemrograman C.


(35)

1. Header

Header berisi include file (.hex), yaitu library (pustaka) yang akan digunakan dalam pemrograman.

Contoh penulisan: #include <mega32.h> #include <delay.h> #include <alcd.h>

2. Deklarasi konstanta global atau variabel a. Deklarasi konstanta

Aturan penulisan konstanta dijelaskan sebagai berikut:

 Integer atau Ing integer : dapat ditulis dengan format desimal dan tidak didahului angka nol (contoh 678), biner ditulis dengan awalan 0b (contoh 0b00001111), octal ditulis dengan diawali angka nol (0645), heksadesimal ditulis dengan diawali 0x (contoh : 0x42)

 Data berupa karakter diapit „‟ (contoh : „a‟)

 Data berupa string diapit “” (contoh : “TES”)

 Unsigned integer : ditulis dengan diakhiri U (contoh 1000U)  Long integer : ditulis dengan diakhiri L (46L)

 Unsigned long integer : ditulis dengan diakhiri UL (46UL)  Floating point : dititulis dengan diakhiri F (contoh 2.56F)


(36)

b. Variabel

Variabel adalah tempat untuk menyimpan dan mengakses data yang mewakili memori dalam mikrokontroler. Tabel 2.6 menunjukkan jenis tipe data dan banyaknya bilangan yang dapat ditampung.

Tabel 2.6 Tipe Data

Tipe Data` Byte bit Minimum Maksimum

Char 1 8 -128 127

Signed char 1 8 -128 127

Unsigned char 1 8 0 255

Int 2 16 -32768 32767

Signed int 2 16 -32768 32767

Unsigned int 2 16 0 65535

Long 3 32 -2147483648 2147483647

Signed long 3 32 -2147483648 2147483647

Unsigned long 3 32 0 4294967295

Float 3 32 1.28E-38 3.4E38

3. Fungsi Utama

Dalam pemrograman, fungsi utama wajib ada. Penulisannya diawali dengan void main () kemudian Program atau perintah ditempatkan diantara tanda

kurung kurawal buka „{„ dan diakhiri dengan kurung kurawal tutup „}‟.

4. Operator

Operator adalah karakter-karakter khusus untuk memanipulasi variabel. Operand adalah variabel atau konstanta yang merupakan bagian dari pernyataan.

Aritmatika:

 (+) adalah penjumlahan  pengurangan (-)


(37)

 (*) adalah perkalian  (/) adalah pembagian  (++) adalah increment  (--) adalah decrement

Logika:

 (==) adalah logika sama dengan  (!=) adalah logika tidak sama dengan  (<) adalah logika lebih kecil

 (<=) adalah logika lebih kecil sama dengan  (>) adalah logika lebih besar

 (>=) adalah logika lebih besar sama dengan  (!) adalah logika not

 (&&) adalah logika AND  (!!) adalah logika OR

Manipulasi Bit:

 (~) adalah mengkomplementkan  (&) adalah mengANDkan  ( | ) adalah mengORkan  (^) adalah mengXORkan  (<<) adalah shift left  (>>) adalah shift right


(38)

5. Kontrol Aliran Program

Kontrol aliran program digunakan untuk mencerdaskan sebuah program, dengan cara melakukan pengendalian aliran program.

 If (…){…}

Digunakan untuk mengecek satu kondisi satu jawaban.  If (…){…} else {…}

Digunakan untuk mengecek satu kondisi dua blok jawaban.  If (…){…} else if (…){…} else {…}

Digunakan untuk mengecek beberapa kondisi yang berkaitan.  While (…){…}

Digunakan untuk perulangan/looping jika kondisi yang diuji bernilai benar.  Do {…} while (…)

Digunakan untuk perulangan/looping jika kondisi yang diuji bernilai benar. Pada while tanpa do, blok dieksekusi dulu baru diuji. Sementara pada while dengan do blok diuji dulu baru dieksekusi.

 For (… ; … ; … ; …) {…}

Digunakan untuk perulangan/looping jika kondisi dan syarat yang ditentukan.

2.11 LabVIEW

LabVIEW adalah sebuah perangkat lunak (software) yang diproduksi oleh National Instruments dengan konsep yang berbeda dalam pemrogramannya. Pada dasarnya pemrograman pada LabVIEW berbasis Graphical User Interface (GUI) atau


(39)

diagram blok, berbeda dengan bahasa pemrograman yang digunakan oleh Matlab atau Visual Basic yang berbasis text. Program LabVIEW dikenal dengan sebutan VI atau Virtual Instruments karena penampilan dan operasinya dapat meniru sebuah instrument. LabVIEW terdiri dari 3 bagian utama.

1. Front Panel

Bagian front panel adalah bagian yang dapat digunakan untuk membangun sebuah VI, menjalankan program dan menghentikan program. Tampilan front panel ditunjukkan oleh gambar 2.19.

Gambar 2.19 Tampilan Front Panel LabVIEW

2. Blok Diagram dari Vi

Bagian blok diagram adalah bagian yang berisi source code yang telah dibuat dan berfungsi sebagai instruksi untuk front panel. Tampilan dari diagram blok ditunjukkan oleh gambar 2.20.


(40)

Gambar 2.20 Tampilan Diagram Blok LabVIEW 3. Control dan Functions Pallete

Bagian Control dan Functions Pallete adalah bagian yang digunakan untuk membangun sebuah Vi.

a. Control Pallete

Control Pallete merupakan tempat untuk beberapa control dan indikator. Control digunakan untuk memasukan input ke dalam suatu VI. Control dapat dibuat melalui diagram tetapi hanya dapat dimodifikasi melalui front panel. Indikator digunakan untuk menampilkan output. Indikator dapat dibuat melalui diagram tetapi hanya dapat dimodifikasi melalui front panel. Tampilan dari control pallete ditunjukkan oleh gambar 2.21.


(41)

Gambar 2.21 Tampilan Control Pallete b. Functions Pallete

Function Pallete digunakan untuk membangun suatu diagram blok. Function Pallete hanya tersedia pada diagram blok. Tampilan function pallete ditunjukkan oleh gambar 2.22.


(42)

42

Perancangan dan realisasi sistem merupakan serangkaian tahap dan bagian yang sangat penting dalam pembuatan tugas akhir ini. Karena dalam tahap ini akan menentukan bagaimana suatu sistem dapat bekerja dengan baik dan sesuai harapan. Pada bab ini akan dijelaskan tentang perancangan sistem, baik perancangan perangkat keras (hardware) maupun perancangan perangkat lunak (software), serta alasan pemilihan komponen yang digunakan.

3.1 Perancangan Sistem

Perancangan sistem navigasi wall following menggunakan metode tuning Kendali PID ini, secara umum terdiri dari tiga bagian utama, yaitu masukan (input), proses (process) dan keluaran (output), seperti yang ditunjukkan oleh diagram blok sistem pada gambar 3.1.


(43)

Pada diagram blok di atas terdapat tiga bagian utama sistem, yaitu bagian masukan yang terdiri dari informasi data jarak dari sensor ultrasonik SRF05 yang ditempatkan pada sisi kanan, sisi kiri, dan depan robot. Push button yang berjumlah empat memiliki fungsi yang berbeda, yang difungsikan sebagai tombol up, back, start, untuk melakukan pengaturan, diantaranya pengaturan konstanta PID, Pengaturan nilai PWM. Selanjutnya bagian proses yang terdiri dari mikrokontroler yang akan memproses data masukan yang sudah terintegrasi dengan Kendali PID untuk mengolah sinyal error yang dibaca oleh elemen feedback yaitu sensor ultrasonik. Bagian terakhir adalah keluaran yang terdiri dari LCD 2x16, driver motor untuk mengatur arah dan putaran motor DC, dan modul bluetooth HC-05 yang akan mengirimkan data ke PC.

3.1.1 Bagian Masukan (Input)

Bagian masukan (input) terdiri dari tiga buah sensor ultrasonik HY-SR05 dan empat buah push button.

a. Sensor ultrasonik

Sensor ultrasonik yang digunakan adalah tipe HY-SRF05. Sensor ultrasonik merupakan bagian terpenting dalam tugas akhir ini. Selama proses navigasi wall following berlangsung, sensor ultrasonik akan terus mendeteksi jarak robot dengan dinding. Posisi robot dengan dinding disesuaikan dengan mengatur set point jarak. Apabila terjadi perubahan posisi, maka terjadi kesalahan (error). Disinilah peran dari Kendali PID untuk mengolah sinyal error menjadi suatu sinyal Kendali yang diharapkan dapat selau dalam kondisi yang diharapkan (sesuai set point). Dengan


(44)

Kendali PID diharapakan dapat membuat pergerakan robot menjadi aman dalam bernavigasi, halus, dan responsif.

b. Push button

Push button difungsikan sebagai tombol yang bertanggung jawab untuk melakukan beberapa pengaturan, seperti melakukan pengaturan set point jarak antara dinding dengan robot, pengaturan konstanta PID, pengaturan kecepatan motor (PWM) dan pengaturan algoritma telusur kiri dan kanan.

3.1.2 Bagian Proses (Process)

Mikrontroler ATmega32 difungsikan sebagai „otak‟ untuk mengendalikan navigasi robot saat mengikuti dinding menggunakan Kendali PID. Mikrokontroler bertanggung jawab untuk melakukan proses masukan baik dari sensor ultrasonik maupun dari push button dan dapat memberikan keputusan keluaran (output) pada LCD maupun pada motor DC berupa kecepatan dan arah putarannya.

3.1.3 Bagian Keluaran (Output)

Bagian keluaran (output) terdiri dari penampil LCD 2x16, driver motor yang berfungsi untuk men-drive dan meneruskan perintah dari mikrokontroler ke dua buah motor DC, dan modul bluetooth HC-05 yang dipasang pada mikrokontroler untuk mengirimkan data pada laptop. Berikut masing-masing penjelasannya :

a. LCD (Lyquid Crystal Display)

LCD difungsikan untuk menampilkan pengaturan yang telah dibuat agar dapat mempermudah dalam melakukan pengaturan tersebut.


(45)

b. Driver Motor

Driver motor bertanggung jawab untuk meneruskan perintah dari mikrokontroler pada motor DC. Perintah tersebut dapat berupa arah putaran motor (maju atau mundur) dan kecepatan yang telah dihasilkan oleh perhitungan Kendali PID yang ditambahkan dan dikurangkan dengan nilai base PWM.

c. Motor DC

Motor DC yang digunakan berjumlah dua buah dengan posisi peletakan berada di kanan dan kiri robot.Motor DC difungsikan sebagai penggerak (aktuator) robot, baik itu pergerakan maju maupun pergerakan mundur dan kecepatannya telah diatur.

d. Modul Bluetooth

Modul bluetooth yang digunakan adalah HC-05 yang difungsikan sebagai BT Slave. Penggunaan modul bluetooth bertujuan untuk menampilkan data-data sensor jarak, error dan measurement variable pada laptop. Ditampilkannya data-data tersebut juga bertujuan untuk mengetahui apakah tuning Kendali PID yang telah dilakukan sudah mampu membuat pergerakan robot menjadi lebih stabil.

3.2 Pemilihan Komponen

Pemilihan komponen yang tepat dalam membangun suatu perangkat akan berdampak langsung pada kualitas perangkat, efektifitas perangkat dan menunjang hasil yang diharapkan. Oleh karena itu akan dijelaskan mengenai perbandingan komponen, perbandingan harga, perbandingan fitur, keakuratan dari komponen dan mengapa memilih komponen tersebut.


(46)

3.2.1 Mikrokontroler

Jenis mikrokontroler yang digunakan pada tugas akhir ini adalah mikrokontroler jeni AVR seri ATmega 32. Pemilihan jenis mikrokontroler ATmega 32 karena memenuhi spesifikasi yang diinginkan dan berdasarkan perbandingan dengan mikrokontroler yang lain yang diuraikan pada Tabel 3.1 di bawah ini.

Tabel 3.1 Perbandingan Jenis Mikrokontroler

Spesifikasi ATmega 8535 Jenis Mikrokontroler ATmega 16 ATmega 32

Flash 8 Kb 16 Kb 32 Kb

RAM 512 byte 1 Kb 2 Kb

I/O 32 32 32

Pada Tabel 3.1 terlihat persamaan dan perbedaan masing-masing mikrokontroler. Mikrokontroler ATmega 32 dipilih karena memiliki kapasitas memori FLASH dan RAM yang lebih besar dan menunjang pada pemrograman dan mempengaruhi kecepatan akses data.

3.2.2 Sensor Jarak

Sensor jarak yang digunakan pada tugas akhir ini berjumlah tiga. Ketiga sensor tersebut ditempatkan pada posisi yang berbeda. Untuk dapat melakukan telusur dinding kanan, maka sensor yang diaktifkan adalah sensor ultrasonik depan dan sensor ultrasonik yang ditempatkan di kanan. Sedangkan untuk telusur dinding kiri, maka sensor yang diaktifkan adalah sensor depan dan sensor yang ditempatkan di kiri. Tabel 3.2 menguraikan perbandingan sensor ultrasonik.


(47)

Tabel 3.2 Perbandingan Sensor Ultrasonik

Spesifikasi Jenis Sensor

HY-SRF05 SRF-04 PING

Tegangan 5Vdc 5Vdc 5Vdc

Arus 2mA 150mA 30mA

Jarak Pantul 2cm – 450 cm 3cm – 300cm 2cm - 300cm

Indikator Sensor Tidak ada Tidak ada Ada

Frekuensi 40kHz/10us 40kHz/100us 40kHz/200us

Tabel 3.2 memperlihatkan perbedaan yang tidak jauh pada tegangan, arus, dan frekuensi. Berdasarkan uraian perbandingan tersebut, sensor ultrasonik HY-SRF05 dipilih karena memiliki kemampuan jangkauan pengukuran dekat dan jauh lebih tinggi dibandingkan sensor SRF-04 dan sensor PING))). Selain itu sensor HY-SRF05 memiliki tingkat akurasi yang tinggi yaitu sebesar 0,3cm. Dengan kelebihan yang dimiliki sensor ultrasonik HY-SRF05, sudah cukup memenuhi kriteria sensor yang diinginkan dalam menunjang tugas akhir ini.

3.2.3 Driver Motor

Jenis driver motor yang digunakan pada tugas akhir ini adalah driver motor MOSFET. Keunggulan dari driver motor MOSFET yaitu hanya membutuhkan satu pin untuk mengatur kecepatan putar motor dan juga hanya membutuhkan satu pin untuk mengatur arah putaran motor. Pemilihan jenis driver motor juga berdasarkan spesifikasi dari motor. Tabel 3.3 menguraikan perbandingan jenis driver motor.

Tabel 3.3 Perbandingan Jenis Driver Motor

Spesifikasi Jenis Driver Motor

L293D L298N MOSFET


(48)

Driver MOSFET dipilih karena memiliki kesanggupan dilewati arus yang besar, serta memiliki daya disipasi yang kecil. Pemilihan jenis driver juga memenuhi dari spesifikasi motor yang digunakan, yaitu memiliki 12.000 rpm.

3.2.4 Motor DC

Motor DC yang digunakan dalam perancangan sistem navigasi wall following menggunakan metode tuning Kendali PID ini memiliki spesifikasi sebagai berikut :  voltage operation : 12V

 RPM : 12.000rpm  Torsi : 500gr-700gr.

3.2.5 Baterai

Sampai saat ini, banyak beragam jenis baterai yang beredar di pasaran, diantaranya Li Ion (Lithium Ion) dan LiPo (Lithium Polymer). Lithium Polymer merupakan jenis baterai yang dapat diisi ulang kembali (rechargeable). Jenis baterai yang digunakan di perancangan ini menggunakan LiPo 1.300 mAh.

Tabel 3.4 Perbandingan Jenis Baterai

Spesifikasi Jenis Komponen

NiMH Li Ion LiPo

Tegangan 3.7 Vdc 3.7 Vdc 1.2 Vdc

Inti Sel 1 Sel 1 Sel 3 Sel

Rechargeable Ya Ya Ya

Memori efek No No No

Berdasarkan table perbandingan 3.4, baterai Lithium Polymer dipilih karena memiliki jumlah sel yang banyak sehingga meningkatkan kapasitas arus listrik, dan


(49)

tidak memiliki memori efek yang manfaatnya untuk tidak harus menunggu kosong saat akan di charging.

3.2.6 LCD 2x16

Lyquid Crystal Display (LCD) merupakan sebuah piranti yang berfungi untuk menampilkan suatu karakter berbentuk matriks baris dan kolom. Jenis LCD yang digunakan dalam perancangan ini adalah LCD yang memiliki 2 baris dan 16 kolom. Tabel 3.5 menunjukan perbandingan jenis LCD.

Tabel 3.5 Perbandingan Jenis LCD

Spesifikasi Jenis Komponen

LCD 2x16 LCD 4x16

Tegangan Iput 5 Vdc 5 Vdc

Tampilan 16 Karakter 2 kolom 16 karakter 4 kolom

Karakter 32 64

Berdasarkan tabel 3.5, LCD 2x16 jumlah karakter dan kolom sudah cukup untuk memenuhi dan menampilkan data keluaran dari mikrokontroler.

3.2.7 Modul Bluetooth

Dalam tugas akhir ini modul bluetooth digunakan untuk menghubungkan robot dengan laptop dan hanya berfungsi untuk menampilkan data-data dalam proses wall following, yaitu data pembacaan sensor, data error dan data measurement variable (MV). Oleh karena dibutuhkan suatu perangkat yang dapat menunjang hal tersebut. Tabel 3.5 menunjukkan perbandingan berbagai modul bluetooth.


(50)

Tabel 3.5 Perbandingan Beberapa Modul Bluetooth

Spesifikasi Jenis Modul Bluetooth

HC-05 HC-06

Versi Bluetooth v2.0+EDR v2.0+EDR

Tegangan Input 3.3V 3.3V

Mode Operasi Master atau Slave Slave

Berdasarkan perbandingan table diatas, dapat dilihat bahwa modul bluetooh dengan seri ganjil, yaitu HC-05 memiliki kemampuan mode operasi yang dapat diubah-ubah, yaitu bias difungsikan sebagai master maupun slave. Sedangkan modul bluetooth dengan seri genap, yaitu HC-06 tidak memiliki kemampuan untuk mengubah-ubah mode operasinya dikarekan sudah diatur oleh pabrik. Modul HC-06 biasanya sudah diatur untuk menjadi slave.

3.3 Perancangan dan Implementasi Perangkat Keras (Hardware)

Perancangan perangkat keras pada tugas akhir ini terdiri dari dua bagian yaitu: perancangan dan realisasi mekanik dan desain sistem elektronik.

3.3.1 Desain Mekanik

Untuk dapat bekerja dengan baik, salah satu faktor penting dalam perancangan pada tugas akhir ini adalah desain mekanik. Sistem mekanik yang baik harus mendukung pergerakan robot menjadi lebih baik. Oleh karena itu perancangan yang meliputi semua bagian mekanik seperti bodi robot, bodi motor DC, gear box, dimensi ban, dan ban bagian depan robot, rancangan panjang, lebar dan tingginya haruslah proporsional.


(51)

(a) (b)

Gambar 3.2 (a) Rancangan Desain Mekanik Robot dan (b) Implementasinya.

Berdasarkan gambar rancangan di atas, bagian mekanik robot memiliki panjang 17,5 cm, lebar 17,5 cm dan tinggi 8 cm. Bodi dari robot menggunakan bahan akrilik yang ukuran ketebalannya telah disesuaikan untuk dapat menunjang berbagai perangkat elektronik seperti sensor ultrasonik dan modul mikrokontroler.

3.3.2 Modul Power Supply

Setiap komponen pembangun dalam tugas akhir ini seperti: mikrokontroler, aktuator, LCD, sensor ultrasonik memerlukan masukan daya yang mampu membuat komponen-komponen tersebut digunakan. Kebutuhan akan daya masing-masing komponen berbeda, dan membutuhkan daya yang memiliki karakteristik yang sesuai dengan komponen-komponen tersebut.


(52)

Gambar 3.3 Rangkaian Regulator 5V

Pada rangkaian di atas, teganan input (masukan) berasal dari baterai 12V. Dua buah diode 1N4002 pada rangkaian di atas berfungsi untuk melindungi regulator tegangan LM7805 dari kesalahan pemasangan polaritas tegangan input dan melindungi driver MOSFET dari kesalahan polaritas tegangan input. Kapasitor 1000µF berfungsi sebagai filter, dan kapasitor 10µF dan 10nF sebagai filter terakhir dan berfungsi mengurangi noise (ripple tegangan).

3.3.3 Modul Mikrokontroler ATmega32

Modul mikrokontroler merupakan modul utama yang mengendalikan berbagai operasi. Mikrokontroler inilah yang nantinya digunakan sebagai pusat sistem Kendali pada navigasi wall following. Mikrokontroler ATmega32 memiliki port I/O yang berfungsi untuk menerima masukan (input) seperti masukan dari tombol, sensor, dan keluaran (output) seperti keluaran LCD, driver motor. Berikut adalah rangkaian dari mikrokontroler ATmega32.


(53)

Gambar 3.4 Rangkaian Sistem ATmega32

3.3.4 Modul Sensor Jarak

Dalam sistem Kendali lup tertutup (closed loop control system) dibutuhkan suatu elemen yang berfungsi untuk mengukur keluaran sistem dan membandingkannya dengan referensi masukan. Sensor adalah alat yang digunakan untuk mengukur keluaran sistem dan menyetarakannya dengan sinyal masukan sehingga dapat dilakukan operasi hitung antara keluaran dan masukan. Sehingga, dengan elemen feedback, perbedaan antara keluaran sistem dengan refensi masukan dapat dikurangi. Sensor yang digunakan dalam tugas akhir ini adalah sensor ultrasonik HY-SRF05 yang berjumlah tiga, yang sudah cukup memadai untuk dapat melakukan tindakan pergerakan ketika menemui persimpangan, telusur dinding kiri atau telusur dinding kanan.


(54)

Gambar 3.5 Rangkaian Modul Sensor Jarak HY-SRF05

Ketiga sensor ultrasonik SRF05 dihubungkan dengan PA.0-PA.5. Ketika mode operasi kanan dipilih, maka sensor yang aktif hanya sensor depan dan sensor kanan. Kemudian jika mode operasi kiri dipilih, maka sensor yang aktif adalah sensor depan dan sensor kiri.

3.3.5 Modul Driver Motor DC

Dual H-bridge adalah driver motor menggunakan MOSFET, dimana untuk dapat menggerakan satu buah motor terdiri dari dua buah MOSFET kanal N dan dua buah MOSFET kanal P. disebut dual H-bridge karena memiliki kemampuan untuk mengendalikan dua buah motor. Keunggulan dari driver MOSFET adalah memiliki kemampuan mengalirkan arus yang besar dan memiliki disipasi daya yang kecil.


(55)

Selain itu jenis driver MOSFET hanya memerlukan dua pin untuk dapat mengendalikan kecepatan dan arah putar motor. Gambar 3.9 menunjukan rangkaian dual H-bridge MOSFET.

Gambar 3.6 Rangkaian Dual H-Bridge Driver Motor DC

MOSFET yang digunakan adalah jenis IRF9540 (MOSFET kanal P) dan IRF540 (MOSFET kanal N). MOSFET jenis ini memliki 3 pin yaitu G (GATE), D (DRAIN) , dan S (SOURCE). MOSFET mengalirkan arus dari drain ke source sehingga arus aktif MOSFET biasa disebut IDS, sehingga memungkinkan adanya IDS negatif. MOSFET kanal N dan P memiliki kinerja yang komplemen. MOSFET N akan aktif jika VGS tidak sama dengan nol atau sebesar 10V untuk IRF540 sedangkan untuk MOSFET kanal P aktif saat VGS sama dengan -10V (IDS kanal P biasanya negatif).

3.3.6 Modul Keypad

Modul keypad dalam tugas akhir ini adalah modul yang tersusun dari empat buah push button dan merupakan komponen masukan (input). Dengan fasilitas ini


(56)

maka akan mempermudah dalam melakukan pengatur seperti melakukan pengaturan konstanta PID, pengaturan kecepatan motor, dan mode operasi robot.

Gambar 3.7 Rangkaian Swtich

Pada gambar 3.10 menunjukan keempat tombol push button dihubungkan dengan PD.0, PD.1, PD.2, dan PD.3.

3.3.7 Modul LCD

LCD yang digunakan dalam tugas akhir ini menggunakan LCD 2x16, dimana LCD tersebut memiliki 2 baris dan 16 kolom. LCD 2x16 digunakan sebagai elemen keluaran dari mikrokontroler yang akan menampilkan pengaturan konstanta PID, pengaturan kecepatan motor, mode operasi, sehingga akan mempermudah dalam proses pengaturan untuk menuju kondisi yang diingikan.


(57)

Pada gambar 3.11 menunjukan koneksi LCD dengan mikrokontroler. Modul LCD tersebut dihubungkan dengan PC.0-PC.7 pada mikrokontroler. Penggunaan potensiometer adalah untuk mengatur kontras dari LCD.

3.3.8 Modul Bluetooth

Modul HC-05 memiliki enam buah pin, dimana pin yang digunakan dalam tugas akhir ini hanya pin RXD, TXD, VCC dan GND. Pin RXD modul bluetooth dihubungkan dengan PD.0 (TX) pada mikrokontroler, dan PIN TXD modul bluetooth dihubungkan dengan PD.1 (RX) pada mikrokontroler. Sedangkan pin VCC dihubungkan pada tegangan 5V dan pin GND dihubungkan dengan ground pada mikrokontroler.

Gambar 3.9 Konfigurasi Modul HC-05 dengan Mikrokontroler

Syarat untuk terjadinya komunikasi antara mikrokontroler dengan laptop adalah adanya suatu peranti yang terpasang pada kedua perangkat tersebut. Oleh karena itu, modul HC-05 dipasang pada robot, dan pada laptop dipasang adapter BT.

Komunikasi terjadi ketika power robot dalam kondisi “on”, maka robot sudah dapat

mengirimkan data pada laptop. Untuk dapat menampilkan data tersebut pada aplikasi yang telah dibuat pada software LabVIEW, harus ada beberapa pengaturan yang harus dilakukan untuk dapat menerima data dari robot.


(58)

3.4 Perancangan Kendali PID

Dalam membangun suatu sistem robot, salah satu bagian terpenting adalah bagian Kendali. Bagian Kendali merupakan bagian yang berfungsi untuk mengukur nilai dari variabel terkontrol dari suatu sistem dan mengaplikasikan variabel terakumulasi pada sistem untuk mengoreksi atau mengurangi deviasi yang terjadi terhadap nilai keluaran yang dituju. Dengan demikian, tujuan dari penerapan Kendali PID adalah untuk mengolah sinyal kesalahan (error) yang dibaca oleh sensor, kemudian sinyal kesalahan tersebut akan diolah oleh Kendali PID dan hasilnya akan diteruskan ke aktuator. Pada subbab ini akan dibahas mengenai perancangan Kendali PID yang meliputi penurunan persamaan Kendali PID dalam domain waktu ke dalam persamaan PID diskrit.

Sebelum melakukan perancangan persamaan PID diskrit, terlebih dahulu akan dijelaskan sistem Kendali pada robot wall follower. Gambar 3.10 menunjukkan diagram blok Kendali PID pada robot wall follower untuk sensor kanan dan gambar 3.11 diagram blok Kendali PID untuk sensor kiri.


(59)

Sebelum beraksi, robot wall follower terlebih dahulu diberikan set point. Set point adalah suatu parameter nilai acuan atau nilai yang diinginkan. Ketika sedang melakukan navigasi terdapat gangguan pada kondisi tertentu, gangguan tersebut akan menghasilkan error. Error merupakan deviasi/simpangan antara variabel terukur dengan nilai acuan. Sensor jarak digunakan sebagai elemen feedback untuk mengumpanbalikan error. Jika terdapat error maka Kendali PID akan mengolah error tersebut dan hasil pengolahan tersebut adalah variabel termanipulasi. Variabel termanipulasi adalah suatu besaran atau kondisi yang divariasi oleh kontroler sehingga mempengaruhi variabel terkontrol. Hasil pengolahan Kendali PID tersebut akan diteruskan ke aktuator. Dengan demikian variabel terkontrol akan mempengaruhi pergerakan robot dan menjaga kestabilan jarak sesuai dengan nilai acuan.

Komponen-komponen yang ditunjukan oleh diagram blok di atas diantaranya :  Set Point : 10 cm dari dinding

 Kontroler : Mikrokontroler ATmega32  Aktuator : Motor DC

 Elemen Feedback : Sensor HY-SRF05  Plant : Posisi (jarak)

Output : Pergerakan robot

Untuk dapat menjaga pergerakan robot agar selalu dalam keadaan sesuai set point, maka dibutuhkan pengendali yang tepat untuk dapat membuat pergerakan robot aman saat bernavigasi, halus dan responsif. Kendali PID merupakan sistem Kendali


(60)

yang dapat digunakan untuk memenuhi kriteria tersebut karena pada beberapa kasus memiliki unjuk kerja yang memuaskan.

Langkah awal dalam merancang Kendali PID untuk dapat diterapkan pada mikrokontroler adalah dengan membuat persamaan PID diskrit yang didapat dari penurunan persamaan PID domain waktu.

Kendali PID merupakan Kendali yang menggabungkan kelebihan dari Kendali P, I dan D. Jika diterapkan pada sistem Kendali PID akan memperbaiki respon transien, menghilangkan error steady state, dan memberikan efek redaman pada sistem yang berosilasi.

Persamaan Kendali PID diberikan oleh persamaan (3.1) sebagai berikut : = � +�

0

+� ( )… … … …. (3.1) Jika persamaan (3.2) didiskretisasi maka akan menjadi :

= � +�� 0

+1

� � − −1 … … … …(3.2) Apabila diterapkan ke dalam bahasa pemograman maka persamannya menjadi : MV = KPx � + KI � +�� _ � ∗Ts +

KD

� � − �� _ � … …(3.3) Persamaan (3.3) telah dilakukan diskretisasi, sehingga persamaan tersebut sudah dalam bentuk persamaan digital. Dengan demikian, persamaan digital tersebut sudah dapat direalisasikan kedalam bahasa pemrograman.


(61)

3.5 Perancangan Perangkat Lunak (Software)

Pada sub bab ini akan dijelaskan perancangan perangkat lunak yang meliputi perancangan pemrograman Kendali PID pada robot wall follower, dan perancangan aplikasi yang digunakan untuk pembacaan data menggunakan media bluetooth pada LabVIEW.

3.5.1Pemrograman Kendali PID

Dari pembahasan sebelumnya, persamaan yang telah didiskretisasi tersebut dapat langsung diterapkan kedalam bahasa pemrograman. Pembuatan program Kendali PID pada robot wall follower dilakukan berdasarkan persamaan PID digital. Kendali PID digital merupakan bentuk lain dari Kendali PID yang diprogram dan dijalankan pada mikrokontroler. Terlebih dahulu akan dibuat variabel yaitu error dan last_error, yang digunakan pada perhitungan aksi Kendali PID. Setiap satu kali looping progam, error akan diperbaharui dengan data yang diambil dari sensor dan data sebelumnya akan disimpan di last_error. Keluaran dari perhitungan program Kendali PID ini adalah nilai PWM. Keluaran Kendali PID berupa nilai PWM akan memanggil fungsi pengendali driver motor [1].

error = SP-PV last_error=error rate = error-last_error Acc_error=error+last_error P=Kp*error


(62)

D=Kd/Ts*rate MV=P+I+D LPWM=V+MV RPWM=V-MV

Program Kendali PID yang akan diterapkan pada sensor kanan dan kiri menggunakan program diatas yang menjelaskan secara garis besarnya. MV merupakan nilai PID. Set point (SP) merupakan suatu parameter nilai acuan atau nilai yang diinginkan. Present Value (PV) merupakan nilai pembacaan sensor saat itu atau variabel terukur yang di umpan balikan oleh sensor. Seperti yang telah dijelaskan sebelumnya,, keluaran dari perhitungan PID adalah nilai PWM. Nilai PWM hasil perhitungan PID akan dijumlahkan dan dikurangkan dengan Base_PWM. Dengan demikian akan diperoleh nilai PWM untuk masing-masing motor.

Flowchart program dari sistem navigasi wall following dengan Kendali PID yang diterapkan pada robot wall follower ditujukkan oleh gambar 3.11.


(63)

(64)

3.5.2 Pembacaan Data Serial pada LabVIEW

Pada tahap ini akan dibuat suatu aplikasi menggunakan software LabVIEW yang digunakan untuk menampilkan pembacaan data menggunakan media bluetooth yang akan ditampilkan dalam bentuk grafik. Aplikasi yang dibuat hanya untuk menerima data yang dikirim oleh robot ketika sedang beraksi.

Gambar 3.12 Tampilan Front Panel LabVIEW 2015

Dari keterangan tampilan gambar di atas, dapat dijelaskan masing-masing fungsinya sebagai berikut.

1. VISA resource name, merupakan panel untuk mengatur jalur komunikasi yang akan digunakan.

2. Maksimal pembacaan data, digunakan untuk mengatur pembacaan maksimal data yang dilakukan.

3. Boolean push button, digunakan sebagai tombol untuk memulai pembacaan data serial.


(65)

4. String, digunakan untuk menampilkan pembacaan data sensor jarak.

5. Boolean stop button, digunakan untuk menghentikan pembacaan data yang dilakukan.

6. Graph 1, digunakan untuk menampilkan data sensor jarak dalam bentuk grafik 7. Graph 2, digunakan untuk menampilkan data error dalam bentuk grafik.

8. Graph 3, digunakan untuk menampilkan measurement variable yang ditampilkan dalam bentuk grafik.

9. Graph 4, digunakan untuk menampilkan kecepatan motor kanan yang ditampilkan dalam bentuk grafik.

10. Graph 5, digunakan untuk menampilkan kecepatan motor kiri yang ditampilkan dalam bentuk grafik.


(66)

(67)

67

Pada bab ini akan diuraikan mengenai proses pengujian dan analisa dari sistem yang telah dirancang. Pengujian yang akan dilakukan meliputi pengukuran terhadap parameter-parameter dari setiap komponen-komponen penunjang dari sistem baik pengujian setiap bagian maupun secara komprehensif. Adapun pengujian yang akan dilakukan meliputi: pengujian PWM pada motor DC, pengujian aktuator, pengujian LCD, pengujian sensor ultrasonik, pengujian komunikasi serial, pengujian tuning Kendali PID dan pengujian sistem secara keseluruhan yaitu pengujian robot mengikuti dinding kanan dan dinding kiri.

4.1 Pengujian PWM Sebagai Pengatur Kecepatan Motor DC

Pada pengujian ini akan dijelaskan mengenai pengaruh sinyal PWM terhadap perubahan kecepatan motor DC. Pengujian PWM bertujuan untuk mengetahui apakah program pengatur kecepatan motor DC yang telah dibuat dapat mengatur motor DC. Metode pengujian dilakukan dengan cara memberikan nilai duty cycle PWM secara bertahap mulai dari nilai terkecil sampai terbesar dan mengamati hasilnya langsung dan menentukan tegangan keluaran sesuai dengan duty cycle yang diberikan. Pengujian dilakukan dengan cara membandingkan hasil pengukuran langsung dengan alat ukur multimeter dengan hasil perhitungan. Pengujian dilakukan sebanyak 10 kali, dengan �� ��12V, duty cycle PWM 10%, 20%, 30% sampai 100%.


(68)

Tabel 4.1 Pengujian PWM Pada Motor DC

Pengujian

ke- (Volt) � ��

Duty Cycle PWM (%) (Volt) Hasil Pengukuran Hasil Perhitungan 1 12

10 1 1,2

2 20 2 2,4

3 30 3 3,6

4 40 4 4,8

5 50 5 6

6 60 6 7,2

7 70 7 8,4

8 80 8 9,6

9 90 9 10,8

10 100 10 12

Dari hasil pengujian dapat disimpulkan bahwa semakin besar duty cycle pada sinyal PWM yang diberikan, maka tegangan yang masuk ke motor akan semakin besar. Dari data tersebut terbukti bahwa putaran motor menjadi semakin cepat. Begitu juga sebaliknya semakin kecil duty cycle pada sinyal PWM yang diberikan, makan tegangan yang masuk ke motor semakin kecil. Dari data tersebut terbukti bahwa putaran motor akan semakin lambat.

4.2 Pengujian Aktuator

Pengujian ini bertujuan untuk mengetahui apakah driver motor yang telah dirancang mampu meneruskan perintah dari mikrokontroler untuk mengendalikan arah putaran motor. Driver motor yang digunakan adalah rangkian H-bridge yang dikonstruksi oleh MOSFET. Dengan memberikan logika yang tepat akan menentukan arah putaran motor. Pengujian ini dilakukan dengan cara memberikan masukan yang sama untuk kedua motor, kemudian mengamati langsung hasilnya. Hasil dari pengujian arah putaran motor DC ditunjukkan oleh tabel 4.2.


(69)

Tabel 4.2 Hasil Pengujian Arah Putaran Motor DC Motor Kanan Motor Kiri Arah Putaran

Motor Kanan Motor Kiri

High High Searah jarum jam Searah jarum jam Low Low Berlawanan jarum

jam

Berlawanan jarum jam Low High Berlawanan jarum

jam

Searah jarum jam High Low Searah Jarum Jam Berlawanan

jarum jam

4.3 Pengujian LCD

Pengujian LCD bertujuan untuk mengetahui apakah LCD mampu menampilkan dengan baik setiap perintah yang ingin ditampilkan di LCD. Pengujian dilakukan dengan cara membuat karakter dan mengkombinasikannya pada berbagai posisi. Hasil dari pengujian LCD ditunjukkan oleh gambar 4.1

Gambar 4.1 Hasil Pengujian LCD

4.4 Pengujian Sensor Ultrasonik

Pengujian sensor ultrasonik bertujuan untuk mengetahui kemampuan sensor dalam mendeteksi jarak objek atau halangan dan untuk mengetahui tingkat ketelitian (accuracy) dari sensor ultrasonik yang digunakan untuk mengukur posisi jarak robot terhadap dinding. Untuk memperoleh pengukuran yang tepat, dilakukan pengujian sebanyak 20 kali dengan tingkat pengukuran mulai dari jarak dekat, jarak sedang dan jarak jauh dengan objek pengukuran berupa bidang datar. Hasil pengujian ditampilkan pada layar LCD. Untuk mengetahui ketepatan


(70)

pembacaan sensor, akan dibandingkan dengan jarak yang sebenarnya sebagai pembanding antara hasil pengukuran sensor dengan jarak yang sebenarnya. Berikut hasil pengujian dari ketiga sensor ultrasonik yang digunakan.

Tabel 4.3 Perbandingan Hasil Pengujian Sensor Ultrasonik dengan Jarak Sebenarnya Pengujian ke-Jarak Sebenarnya (cm)

Tampilan Jarak di LCD (cm) Sensor Ultrasonik A Sensor Ultrasonik B Sensor Ultrasonik C

1 5 5,1 5,1 5,1

2 6 5,9 5,9 5,8

3 7 7,1 6,8 7,2

4 8 8,1 8,1 7,8

5 9 8,9 9,2 9,1

6 10 10,3 10,2 10,2

7 12 12,2 12,2 12,2

8 15 15,1 14,9 14,9

9 16 16 15,8 16,2

10 17 17,2 17,1 17,2

11 18 18 18,1 18,2

12 19 18,8 19,1 19

13 20 20,1 20 19,9

14 30 30,3 29,8 30,2

15 40 40,1 40 40,1

16 50 50,2 50,1 50,3

17 60 60,2 60,1 60,2

18 70 69,9 69,8 70,1

19 80 80,2 80,1 80,3

20 100 100,3 99,8 100,2

Dari hasil pengukuran di atas dapat diperoleh: 1. Deviasi terhadap jarak sebenarnya

Untuk mengetahui deviasi (penyimpangan) terhadap jarak sebenarnya, cara yang dilakukan adalah dengan mengurangi jarak sebenarnya dengan jarak yang terukur oleh sensor. Berikut hasil perhitungan deviasi untuk setiap sensor:


(71)

Berikut proses penentuan deviasi masing-masing pengukuran sensor ultrasonik A:

d1 = 5−5,1 = −0,1 cm d11 = 18−18 = 0 cm d2 = 6−5,9 = 0,1 cm d12 = 19−18,8 =−0,2 cm d3 = 7−7,1 =−0,1 cm d13 = 20−20,1 =−0,1 cm d4 = 8−8,1 =−0,1 cm d14 = 30−30,3 =−0,3 cm d5 = 9−8,9 = 0,1 cm d15 = 40−40,1 =−0,1 cm d6 = 10−10,3 =−0,3 cm d16 = 50−50,2 =−0,2 cm d7 = 12−12,2 =−0,2 cm d17 = 60−60,2 =−0,2 cm d8 = 15−15,1 =−0,1 cm d18 = 70−69,9 = 0,1 cm d9 = 16−16 = 0 cm d19 = 80−80,2 =−0,2 cm d10 = 17−17,2 =−0,2 cm d20 = 100−100,3 =−0,3 cm

Dari penyimpangan pengukuran yang telah di dapat, maka dapat ditentukan penyimpangan rata-ratanya yang diperoleh dengan cara menjumlahkan nilai-nilai mutlak dari penyimpangan dibagi dengan jumlah pembacaan.

D = 0,1+0,1+0,1+0,1+0,1+0,3+0,2+0,1+0+0,2+0+0,2+0,1+0,3+0,1+0,2+0,2+0,1+0,2+0,3

20

= 0.15 cm

Dari hasil perhitungan deviasi rata-rata untuk sensor ultrasonik A diperoleh deviasi rata-rata sebesar 0.15 cm.

Adapun tampilan grafik dari hasil pengukuran sensor A ditunjukkan oleh gambar 4.2.


(72)

 Deviasi dan Penyimpangan rata-rata Sensor Ultrasonik B

Berikut proses penentuan deviasi masing-masing pengukuran sensor ultrasonik B:

d1 = 5−5,1 = −0,1 cm d11 = 18−18,1 =−0,1 cm d2 = 6−5,9 = 0,1 cm d12 = 19−19,1 =−0,1 cm d3 = 7−6,8 = 0,2 cm d13 = 20−20 = 0 cm d4 = 8−8,1 =−0,1 cm d14 = 30−29,8 = 0,1 cm d5 = 9−9,2 =−0,2 cm d15 = 40−40 = 0 cm d6 = 10−10,2 =−0,2 cm d16 = 50−50,1 =−0,1 cm d7 = 12−12,2 =−0,2 cm d17 = 60−60,1 =−0,1 cm d8 = 15−14,9 = 0,1 cm d18 = 70−69,8 = 0,2 cm d9 = 16−15,8 = 0,2 cm d19= 80−80,1 =−0,1 cm d10 = 17−17,1 =−0,1 cm d20 = 100−99,8 = 0,2 cm

Dari penyimpangan pengukuran yang telah di dapat, maka dapat ditentukan peyimpangan rata-ratanya:

D = 0,1+0,1+0,2+0,1+0,2+0,2+0,2+0,1+0,2+0,1+0,1+0,1+0+0,1+0+0,1+0,1+0,2+0,1+0,2

20

= 0.125 cm

Adapun tampilan grafik dari hasil pengukuran sensor B ditunjukkan oleh gambar 4.3.


(73)

 Sensor Ultrasonik C

Berikut proses penentuan deviasi masing-masing pengukuran sensor ultrasonik C:

d1 = 5−5,1 = −0,1 cm d11 = 18−18,2 =−0,2 cm d2 = 6−5,8 = 0,2 cm d12 = 19−19 = 0 cm d3 = 7−7,2 =−0,2 cm d13 = 20−19,9 = 0,1 cm d4 = 8−7,8 = 0,2 cm d14 = 30−30,2 =−0,2 cm d5 = 9−9,1 =−0,1 cm d15 = 40−40,1 =−0,1 cm d6 = 10−10,2 =−0,2 cm d16 = 50−50,3 =−0,3 cm d7 = 12−12,2 =−0,2 cm d17 = 60−60,2 =−0,2 cm d8 = 15−14,9 = 0,1 cm d18 = 70−70,1 =−0,1 cm d9 = 16−16,2 =−0,2 cm d19= 80−80,3 =−0,3 cm d10 = 17−17,2 =−0,2 cm d20 = 100−100,2 =−0,2 cm

Dari penyimpangan pengukuran yang telah di dapat, maka dapat ditentukan peyimpangan rata-ratanya:

D = 0,1+0,2+0,2+0,2+0,1+0,2+0,2+0,1+0,2+0,2+0,2+0+0,1+0,2+0,1+0,3+0,2+0,1+0,3+0,2

20

= 0.17 cm

Adapun tampilan grafik dari hasil pengukuran sensor C ditunjukkan oleh gambar 4.4.

Gambar 4.4 Hasil Pengukuran Sensor Ultrasonik C

Dari hasil pengujian sensor ultrasonik dapat diperoleh hasil peyimpangan rata-rata untuk sensor ultrasoni A sebesar 0.15 cm, sensor ultrasonik B sebesar


(74)

0.125 cm dan sensor ultrasonik C sebesar 0.17 cm. Dengan demikian dapat disimpulkan bahwa kemampuan masing-masing sensor ultrasonik dalam melakukan pengukuran selalu mendekati dengan jarak sebenarnya, dengan hanya memiliki rata-rata kesalahan yang kecil untuk setiap pengurukuran.

4.5 Pengujian Komunikasi Serial

Salah satu tujuan dari penelitian yang dilakukan adalah untuk membuat sebuah aplikasi menggunakan software LabVIEW agar data seperti data jarak robot ketika bergerak dapat ditampilkan di aplikasi dalam bentuk grafik. Tujuannya adalah untuk mengetahui apakah hasil tuning kendali PID yang telah dilakukan sesuai dengan yang diharapkan. Salah satu media yang dapat digunakan untuk menjembatani komunikasi antara robot dengan laptop adalah perangkat Bluetooth. Modul Bluetooth yang dipilih adalah tipe HC-05 karena tipe ini memiliki keunggulan yaitu mode kerja yang dapat diatur, yaitu dapat difungsikan sebagai master maupun slave. Untuk dapat mengirimkan data serial, pada robot dipasang modul bluetooh slave dan pada laptop dipasang adapter bluetooth.

Sebelum dapat menampilkan data serial pada aplikasi yang telah dibuat, harus dilakukan pengaturan terlebih dahulu, diantaranya: mencari perangkat, melakukan pair, menyesuaikan password, dan menguhubungkan bluetooth serial port.

1. Mencari Perangkat

Tahap awal dalam menampilkan data pada laptop adalah mencari perangkat bluetooth yang akan dihubungkan dengan laptop. Laptop yang telah dipasangi adapter kemudian akan mencari setiap perangkat bluetooth yang aktif dalam jarak


(75)

dalam keadaan aktif. Begitu juga sebaliknya, jika power robot “OFF” maka modul

Bluetooth tidak akan aktif.

Gambar 4.5 Mencari Perangkat Bluetooth 2. Melakukan Pair

Setelah perangkat bluetooth terdeteksi, langkah selanjutnya yang dilakukan adalah melakukan pair. Fungsi dari pair ini adalah untuk mengurangi resiko perangkat yang tidak diizinkan melakukan transfer data yang tidak diinginkan. Transfer data tanpa melawati proses pair cenderung sulit karena sistem menolak dan menyatakan data yang dikirim dinyatakan tidak aman. Jadi pair ini bisa dikatakan sebagai sebuah sistem proteksi dalam proses transfer data.


(1)

(2)

iv

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Allah SWT, yang senantiasa melimpahkan taufik serta hidayah-Nya kepada penulis sehingga dapat menyelesaikan laporan tugas akhir ini yang berjudul “IMPLEMENTASI SISTEM NAVIGASI

WALL FOLLOWING MASUKAN SENSOR ULTRASONIK MENGGUNAKAN

METODE TUNINGKENDALI PID”.

Dalam menyusun laporan tugas akhir ini penulis telah mengerahkan segala kemampuan yang dimiliki supaya mendapatkan hasil yang bermutu dan bernilai ilmiah tinggi. Terselesaikannya laporan tugas akhir ini juga tidak terlepas dari arahan, bimbingan dan bantuan dari berbagai pihak baik secara langsung maupun tidak langsung.

Dalam kesempatan ini penulis ingin menyampaikan ucapan terima kasih serta penghargaan yang setinggi-tingginya kepada :

1. Kedua Orang Tua penulis yang telah memberikan segala dukungan serta doa, cinta dan kasih sayang yang senantiasa tercurah.

2. Bapak Rodi Hartono, M.T., selaku pembimbing penulis yang telah memberikan bimbingannya selama pengerjaan sampai terselesaikannya laporan tugas akhir ini.

3. Bapak Dr. Ir. Eddy Soeryanto Soegoto, M.Sc., selaku Rektor UNIKOM Bandung.


(3)

v

4. Bapak Prof. Dr. Ir. Denny Kurniadie, M.Sc., selaku Dekan Fakultas Teknik dan Ilmu Komputer UNIKOM Bandung.

5. Bapak Muhammad Aria, M.T., selaku Ketua Jurusan Teknik Elektro UNIKOM Bandung.

6. Ibu Tri Rahajoeningroem, M.T., selaku koordinator Tugas Akhir Program Studi Teknik Elektro UNIKOM Bandung.

7. Rekan-rekan seperjuangan Mahasiswa Teknik Elektro 2011 UNIKOM atas semangat dan motivasinya selama ini.

Penulis menyadari bahwa dalam penyusunan laporan ini masih jauh dari kesempurnaan baik isi maupun susunan bahasanya. Untuk itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan laporan tugas akhir ini. Akhrinya penulis berharap semoga laporan ini dapat bermanfaat bagi semua pihak. Aamiin.

Bandung, Maret 2016


(4)

(5)

(6)