• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
109
0
0

Teks penuh

(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].

(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)

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

(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

(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

(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

(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].

(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)

(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.

(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:

(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

(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:

(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

(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.

(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

(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

(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

(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

(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

(22)

Tabel 2.1 Fungsi-fungsi Khusus Port A

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)

(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)

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)

(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.

(25)

Gambar 2.10 Konfigurasi H-Bridge

(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

(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

(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

(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)

(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

(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

(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

(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)

(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

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:

(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:

(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

(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

(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

(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

(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)

(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

(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

(47)

Tabel 3.2 Perbandingan Sensor Ultrasonik

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 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

(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

(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

(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

(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

(53)

Gambar 3.4 Rangkaian Sistem ATmega32

3.3.4 Modul Sensor Jarak

(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

(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

(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

(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

(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)

(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.

(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.

(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.

(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

(68)

Tabel 4.1 Pengujian PWM Pada Motor DC

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

(69)

Tabel 4.2 Hasil Pengujian Arah Putaran Motor DC

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

(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

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

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:

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

(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.

(76)

3. Menyesuaikan Password

Untuk dapat melakukan proses pair, langkah selanjutnya adalah memasukkan password yang telah ditentukan. Ketika melakukan transfer data, password dibutuhkan untuk memastikan bahwa perangkat terproteksi dari transfer data yang tidak diinginkan. Proses memasukkan password ditunjukkan oleh gambar 4.7.

Gambar 4.7 Memasukkan Password

4. Menghubungkan Bluetooth Serial

(77)

Gambar 4.8 Menghubungkan Perangkat yang Terdeteksi

Untuk dapat menghubungkan modul bluetooth pada robot dengan robot

dengan memilih “Connect Bluetooth Serial Port” seperti ditunjukkan pada gambar

di atas. Proses koneksi ditunjukkan oleh gambar 4.9.

(78)

Gambar 4.10 Robot dan Laptop sudah Terhubung

Pada gambar di atas, robot dan laptop sudah terhubung yang ditandai oleh garis penghubung putus-putus yang ditengahnya terdapat tanda merah. Proses tersebut tidak dapat langsung menampilkan data pada aplikasi yang telah dibuat dan harus ada pengaturan yang dilakukan pada aplikasi untuk menampilkan data serial diantaranya melakukan pemilihan jalur komunikasi sesuai dengan yang terdeteksi dan sesuai dengan laptop.

(79)

Pada gambar di atas terlihat bahwa untuk menampilkan data serial dalam

bentuk grafik, terlebih dahulu dilakukan pengaturan “Visa Resource Name”.

Pengaturan ini berfungsi untuk mengatur jalur komunikasi yang akan digunakan. Pembacaan data serial ditunjukkan oleh gambar 4.12.

Gambar 4.12 Tampilan Pembacaan Data Serial Mode Run

4.6 Pengujian Tuning Kendali PID

(80)

Kendali PID ini adalah untuk mengolah sinyal kesalahan (error) yang dibaca oleh sensor, sinyal errortersebut diumpankan ke pengendali untuk diolah oleh formula PID menjadi sinyal kendali, dan keluaran dari pengendali akan diteruskan ke aktuator.

Untuk menggunakan Kendali PID, terlebih dahulu harus ditentukan konstanta parameter melalui proses penalaan (Tuning). Tuning ini bertujuan untuk menentukan parameter aksi kontrol PID. Proses Tuning yang dilakukan menggunakan metode trial and error, yaitu proses pencarian konstanta yang dilakukan dengan cara melakukan percobaan berkali-kali sampai ditemukan hasil yang sesuai harapan dan tentunya mengacu pada karakteristik masing-masing pengendali. Sebagai tahap awal, proses Tuning hanya melibatkan Kendali Proporsional. Pemberian Kp akan terus ditambahkan sampai diperoleh hasil sampai robot stabil namun masih berosilasi. Hasil pengujian Kendali Proposional ditunjukkan pada tabel 4.4.

Tabel 4.4 Hasil Pengujian Kendali Proporsional

Kp Ki Kd Kondisi Robot

2 0 0 Pergerakan robot lambat dan robot tidak stabil 6 0 0 Pergerakan robot meningkat, dan masih tidak

stabil

10 0 0 Pergerakan robot terlihat cepat, stabil namun masih berosilasi

15 0 0 Pergerakan robot terlihat cepat, dan osilasi meningkat

24 0 0 Robot tidak stabil dan osilasi berlebihan

(81)

mengakibatkan pergerakan robot tidak stabil dan osilasi menjadi tinggi. Dengan demikian Kendali Proporsional belum mampu membuat pergerakan robot menjadi stabil, dan hanya berfungsi sebagai gain (penguat) saja tanpa memberikan efek dinamik berupa kestabilan gerak pada robot. Dari tabel hasil pengujian Kendali Proporsional terlihat bahwa nilai yang didapat tidak berurutan, ini dikarenakan pada interval nilai tertentu respon robot tidak mengalami perubahan yang signifikan. Sebagai contoh ketika pengujian dengan konstanta Kp 2, respon robot terlihat lambat dan tidak stabil. Kondisi tersebut terjadi sampai pemberian konstanta Kp 5. Baru ketika pemberian konstanta Kp 6, respon robot mengalami perubahan yang cukup signifikan dibanding pengujian ketika konstanta Kp 2 sampai 6.

(82)

Gambar 4.13 Grafik Respon Hasil Tuning Kendali Proporsional

Setelah didapatkan konstanta Kp dengan keadaan robot stabil namun masih berosilasi, langkah selanjutnya adalah mencari konstanta Kd. Kd berfungsi untuk membuat pergerakan robot menjadi stabil karena Kd berfungsi untuk meredam osilasi. Hasil Pengujian Kendali Proporsional dan Derivatif ditunjukkan pada tabel 4.5.

Tabel 4.5 Hasil Pengujian Kendali Proporsional dan Derivatif

Kp Ki Kd Kondisi Robot

10 0 20 Pergerakan robot terlihat lambat, osilasi rendah dan tidak stabil

10 0 40 Respon robot terlihat cepat namun masih berosilasi

10 0 67 Respon robot terlihat cepat, osilasi berkurang dan lebih stabil

10 0 75 Respon robot berkurang, dan masih stabil 10 0 100 Respon robot lambat dan stabil

(83)

konstanta Kd yang tidak tepat pada beberapa kondisi menunjukkan respon robot lambat namun terlihat masih stabil.

Gambar 4.14 Grafik Respon Hasil Tuning Kendali Proporsional dan Derivatif

Dari hasil tuning pada Kendali Proporsional dan Derivatif sudah cukup mampu membuat robot stabil dalam artian gabungan konstanta Kp dan Kd telah mampu membuat robot mempertahankan jaraknya dengan dinding sesuai dengan set point.

Gambar

Gambar 2.16 Sensor Ultrasonik HY-SRF05
Tabel 2.5 Susunan kaki LCD 2x16
Gambar 2.18 Tampilan depan CodeVision AVR
Gambar 2.22 Tampilan Function Pallete
+7

Referensi

Dokumen terkait

Pengujian ini dilakukan dengan cara meletakkan robot pada lintasan belokan kiri dan kanan serta mengukur waktu tempuh dan berhasil tidaknya robot melalui lintasan

Sedangkan pada pengujian sumbu y yang ditunjukkan Gambar 15 (gerak maju dan belok kanan), Gambar 17 (gerak maju dan belok kiri), Gambar 19 (gerak mundur dan belok kanan),

45 Pada lintasan lurus, dapat dilihat dari trajektori yang dihasilkan pada gambar 5 bahwa robot bergerak menuju ke arah depan dengan nilai pwm pada motor kiri dan

Prototipe Tongkat Navigasi Tunanetra ini menggunakan sensor ultrasonik umtuk membaca objek dari depan samping kanan dan kiri untuk mengaktifkan buzzer dan motor

Tujuan dari penulisan artikel ini ialah untuk mengetahui dinamika kendali pid pada single link flexible joint manipulator robot menggunakan tuning Ziegler Nichlos.. dan

Skripsi ini merancang dan mengimplementasikan algoritma kendali pada robot wall follower beroda Abimanyu KRPAI 2016 dengan menggunakan metode fuzzy logic model Sugeno, sehingga

Jarak baca dari sensor ultrasonik pada sisi kanan yaitu diatas 30 cm, sedangkan pada sensor bagian depan dan kiri berkisar 5 cm sampai dengan 30 cm yang dilihat pada gambar

Robot wall follower adalah suatu jenis robot beroda yang memiliki sensor untuk mendeteksi suatu dinding dengan sirkuit tertentu kemudian bergerak menelusuri