BAB III PERANCANGAN ALAT 3.1 BLOCK DIAGRAM Dalam bab ini akan dibahas perancangan perangkat keras dan perangkat lunak dari sistem kendali kecepatan robot troli menggunakan fuzzy logic. Serta latar belakang pemilihan konfigurasi sistem tersebut. Hal ini bertujuan agar robot troli yang dibuat dapat bekerja dengan baik sesuai yg diharapkan. Oleh karena itu dalam perancangan sistem ini, dilakukan dengan memperhatikan aspek-aspek perancangan. Aspek-aspek tersebut adalah penentuan rangkaian dan perangkat lunak, pemilihan komponen, kemudahan pengoperasian serta kemungkinankemungkinan untuk pengembangannya. Sistem Mikrokontroler Arduino UNO Penghitung Jarak TX RX Fuzzy Logic Pembangkit PWM Motor DC & Roda Motor Driver Sensor Ultrasonic Gambar 3.1 Diagram Blok Kendali Kecepatan Robot Troli 35 http://digilib.mercubuana.ac.id/ 36 Robot troli yang dirancang menggunakan motor DC sebagai pengerak dan sensor ultrasonik untuk mengukur jarak antara robot dengan penghalang. Fuzzy logic yang dirancang mempunyai 1 masukan (Jarak) dan 1 keluaran (velocity). Membership function masukan mempunyai 3 label linguistik dengan 4 if-then rule. Signal penggerak motor memanfaatkan fitur PWM (pulse wide modulation) yang terdapat pada mikrokontroler Arduino UNO. 3.2 PERANCANGAN MEKANIK Untuk mendapatkan hasil perancangan mekanik diperlukan berapa tahap. Adapun tahap-tahap tersebut adalah sebagai berikut. 1) Pemilihan Bahan Agar robot memiliki bobot ringan tetapi mampu membawa beban berat maka pemilihan bahan mekanik menjadi hal terpenting dalam pembuatan robot ini. Hal ini karena tidak semua bahan mudah dirangkai dan memiliki spesifikasi diatas. Sehingga berdasarkan faktor tersebut dipilihlah bahan hollow alumunium untuk menjadi bahan inti dalam perancangan robot ini. Pada perancangan ini diperlukan juga bahan lain seperti siku sebagai penghubung antara alumunium satu dengan yang lainnya. 2) Desain Mekanik Pada tahap ini alumunium dibentuk persegi dengan ukuran 726 x 300 mm. Pada proses ini dapat dibantu dengan menggunakan perangkat http://digilib.mercubuana.ac.id/ 37 lunak yang dapat memvisualkan gambar dengan ukuran yang presisi sesuai dengan kenyataan yang diinginkan seperti AutoCad. Adapun bentuk dari mekanik dari tulang penopang setelah dilakukan perancangan pada perangkat lunak AutoCad adalah sebagai berikut : Gambar 3.2 Bentuk Bagian Bawah Robot Berdasarkan pada gambar diatas, alumunium dipotong dengan dengan ukuran tersebut. Alumunim yang ditandai merah untuk membedakan alumunium yang akan jadi penghubung pada kotak “x” tersebut. Setelah pembuatan base selesai maka dilanjutkan pembuatan keranjang dengan cara yang sama seperti pembuatan base robot. Desainnya 3D dan ukurannya adalah sebagai berikut : http://digilib.mercubuana.ac.id/ 38 Gambar 3.3 Bentuk Desain 3D Bagian Atas Robot Setelah dibuat mekaniknya maka base robot dan keranjang tersebut dihubungkan dengan siku dan baut agar mudah dilepas dan dipasang. Setelah tahap ini selesai maka mekanik dapat dikembangkan lebih lanjut. Yaitu bentuk mekanik yang terdiri dari roda yang akan menjadi actuator atau penggerak dari robot nantinya. 3.3 PERANCANGAN ELEKTRIK Perancangan elektrik dimulai dengan perancangan-perancangan manual seperti dengan perancangan regulator 12 V dan perancangan skematik rangkaian dari arduino dengan perangkat lainnya sebelum perancangan secara keseluruhan. Hal ini dilakukan supaya dapat memudahkan logika pada pemprograman mikrokontroler arduino. http://digilib.mercubuana.ac.id/ 39 Perancangan-perancangan manual pada pembuatan rangkaian dengan menggunakan bantuan perangkat lunak “ISIS proteus” sebagai langkah awal atau simulasi sebelum dilakukan rancangan diatas PCB (Printed Circuit Board) dan pengujian dalam bentuk rangkaian. 3.3.1 Perancangan Regulator 12 V Perancangan regulator 12 V dilakukan karena motor DC pada robot memerlukan power supply 24 V sedangkan mikrokontroller arduino hanya memerlukan input 12 V. Pada perancangan ini dimulai dari penentuan beberapa komponen yang digunakan seperti : konektor penghubung dari batterai, resistor sebagai pelindung indikator, kapasitor sebagai penahan tegangan sementara, IC7812 sebagai pemotong tegangan agar menjadi 12V, LED (Light Emitting Diode) sebagai indikator dan konektor penghubung ke Arduino. Gambar 3.4 Simulasi Regulator 12V pada “ISIS-Proteus” Setelah simulasi berikutnya adalah tahap peletakan komponen pada PCB (Printed Circuit Board). http://digilib.mercubuana.ac.id/ 40 Gambar 3.5 Regulator 12V 3.3.2 Perancangan Motor Driver Berdasarkan rancangan pabrik motor driver EMS 30 A H-Bridge dapat digunakan untuk mengatur kerja 1 buah motor DC secara 2 arah. Contoh koneksinya dapat dilihat pada gambar berikut: Gambar 3.6 Koneksi Driver Motor http://digilib.mercubuana.ac.id/ 41 Dari rangkaian tersebut di dapat tabel kebenaran seperti berikut: Tabel 3.1 Tabel Kebenaran Driver Motor Status kerja modul H-Bridge Input dan Status Output MPW MIN MIN MEN MEN MOUT MOUT Forward M H 1 H 2 L 1 H 2 H 1 2 V MOT MGND Reverse H L H H H MGND V MOT Free Running L L L H H OPEN OPEN Stop Running Free L H L H H V MOT OPEN Stop Running Free L L H H H OPEN V MOT Stop Keterangan tabel kebenaran tersebut yaitu “H” menandakan pin tersebut diberikan nilai HIGH atau maksimum, “L” untuk LOW atau minimum dan “X” untuk keadaan don’t care atau nilai LOW maupun HIGH akan menghasilkan output yang sama. Dari data tebel kebenaran tersebut, pin MIN 1 dan MIN 2 selalu pada posisi yg keterbalikkan, untuk menghemat penggunaan pin maka di tambahkan IC 7404. Gambar 3.7 7404 Hex Inverters http://digilib.mercubuana.ac.id/ 42 Tabel 3.2 Pemetaan Pin Motor Driver Pada Arduino No Pasangan Pin Pin Kecepatan Pin Enable Pin Input 1 Motor 1 Pin 5 karena pin Pin 4 Pin 3 2 (pin 5, 4, dan 3) Motor 2 PWM Pin 6 karena pin Pin 7 Pin 8 (pin 6, 7, dan 8) PWM Pada motor driver shield EMS 30 A H-Bridge hanya dapat mengontrol satu buah motor DC saja yang digunakan pada roda robot ini dengan batas arus maksimum sebesar 30A. Hal ini dipengaruhi oleh fasilitas yang terdapat pada IC(Integrated Circuit) VNH2SP30 tersebut. Gambar 3.8 Alur Diagram Motor Driver Gambar 3.8 hanya mewakili salah satu motor saja. Sumber tegangan untuk motor didapat dari 2 buah baterai 12V yang di seri hingga menjadi 24V yang masuk melalui pin “V Motor”. Pin “VCC” diberikan 5V dari output tegangan Arduino Uno yang digunakan untuk tegangan IC driver motor. Pin http://digilib.mercubuana.ac.id/ 43 interface header dihubungkan pada pin Arduino Uno untuk mengatur kerja motor tersebut yang mencakup seperti tabel berikut: Tabel 3.3 Pin Interface Header Motor Driver No. Nama I/O Pin 1 MIN1 I Pin input untuk menentukan output MOUT1 2 MIN2 I Pin input untuk menentukan output MOUT2 3 MEN1 I/O Pin enable untuk output MOUT1 4 MEN2 I/O Pin enable untuk output MOUT2 5 MCS O Fungsi Output tegangan analog yang berbanding lurus dengan arus beban (Range 0 – 5V) Tersedia VNH2SP30 Pin input untuk untuk IC mengatur kerja modul H- 6 MPWM I 7,9 VCC - Terhubung ke catu daya untuk input (5 Volt) 8,10 PGND - Titik referensi untuk catu daya input Bridge secara PWM Gambar 3.9 Motor Driver EMS 30 A H-Bridge 3.3.3 Perancangan Modul Ultrasonic Rangefinder Pada robot troli, modul ini digunakan untuk mengontrol jarak antara robot dan pengguna yang diletakkan di bagian belakang robot dan di bagain http://digilib.mercubuana.ac.id/ 44 depan robot untuk menghindari benturan. Untuk sensor bagian belakang robot ini juga menjadi input utama dari sistem fuzzy logic. Bila jarak antara pengguna dan robot yang terdeteksi oleh modul ultrasonic ini bertambah jauh, maka Arduino UNO akan memperlambat putaran motor. Sebaliknya, jika jarak pengguna dan robot bertambah dekat maka Arduino UNO akan mempercepat putaran motor. Sedangkan untuk sensor bagian depan hanya mengindikasikan ketika bagian depan terdapat halangan. Pada perancangan elektrikal ini, modul ultrasonic menggunakan HCSR04 yang memiliki 4 buah pin, yaitu pin VCC sebagai input tegangan 5V, pin GND sebagai grounding, pin TRIG sebagai output dan pin ECHO sebagai input. Gambar 3.10 Skematik Modul Ultrasonic dengan Arduino UNO 3.3.4 Perancangan Elektrik Indikator Pada dasarnya untuk mengaktifkan indikator saat kondisi tertentu cukup menghubungkan kaki anoda pada pin digital arduino kemudian kaki katoda pada pin ground untuk mendapatkan keadaan aktif high. Keadaan ini http://digilib.mercubuana.ac.id/ 45 mengartikan logika sederhana dimana indikator akan aktif saat diberikan data high pada pin yang terhubung pada kaki anoda dan berlaku sebaliknya indikator akan pasif saat tidak adanya tegangan yang masuk pada kaki anoda atau pemberian data low. Gambar 3.11 Indikator LED pada Arduino Setelah semua tahap diatas selesai, dilakukan tahap yang merupakan langkah terakhir dalam perancangan elektrik akhir yaitu tahap penggabungan semua rangkaian yang sesuai dengan alur skematik baik dari input, output maupun letak mikrokontroller arduino. 3.4 Perancangan Perangkat Lunak Pada tahap akhir perancangan sebuah robot secara umum adalah tahap pemrograman yaitu merupakan tahap penanaman program kedalam mikrokontroller. Penanaman ini merupakan letak inti dimana robot mampu atau tidaknya beroperasi sesuai dengan kemauan awal pemiliknya. Begitu halnya dengan perancangan robot troli ini akan ditutup dengan tahap pemrograman ke dalam Arduino Uno. http://digilib.mercubuana.ac.id/ 46 Perancangan perangkat lunak menggunakan Arduino ini mengikuti diagram alir pada gambar 3.12, sehingga robot troli dapat befungsi seperti yang diinginkan yaitu dapat mengatur kecepatan tergantung dari jarak yang dibaca oleh sensor ultrasonik. START Baca Data Sensor Ultrasonik Algoritma Fuzzy Logic Set PWM Maju Tidak Jarak Sangat Dekat Ya Diam RETRY Gambar 3.12 Diagram Alir Robot Troli http://digilib.mercubuana.ac.id/ 47 Arduino akan membaca data yg dihasilkan sensor ultrasonik, kemudian data tersebut dijadikan input data untuk menghitung nilai jarak antara robot dengan pengguna sehingga akan diketahui nilai perbandingan jarak hasil pengukuran sekarang dengan pengukuran sebelumnya. Nilai tersebut kemudian dihitung menggunakan metoda fuzzy logic sehingga kecepatan roda berbanding terbalik dengan nilai jarak robot dengan pengguna yaitu dengan cara mengatur nilai PWM yang diberikan ke driver motor DC. Pemrograman pada robot secara keseluruhan tersebut dilakukan setelah dilakukan pemrograman masing-masing perangkat penunjangnya. Pemrograman masing-masing perangkat penunjang ini berdasarkan dengan pemasangan rangkaian yang telah dibahas pada sub bab perancangan elektrikal. 3.4.1 Pemrograman Motor DC pada Motor Driver Untuk menggerakan sekaligus mengontrol gerak motor DC dengan menggunakan motor driver EMS 30 A H-Bridge ini perlu memberikan kondisi 1 atau 0 pada pin enable (4 dan 7) dan pin input (3 dan 8), sedangkan untuk mengontrol kecepatan perlu untuk memberikan tegangan yang beragam yang dinyatakan pada bit analog dengan cara mencacah tegangan yang masuk pada pin 5 dan 6. http://digilib.mercubuana.ac.id/ 48 Gambar 3.13 Program Motor Driver 3.4.2 Pemrograman Ultrasonic Sensor Pada penggunaan ultrasonic HC-SR04 ini sedikit berbeda dengan program example sensor PING, untuk pengetesan HC-SR04 ini memiliki library sendiri dengan nama NewPing yang dapat di download di situs resmi Arduino, playground.arduino.cc/Code/NewPing. Kode yang mudah digunakan untuk pengetesan sensor ultrasonic ini yaitu “NewPingExample” sebagai berikut. http://digilib.mercubuana.ac.id/ 49 Gambar 3.14 Program Sensor Ultrasonic HC-SR04 3.4.3 Pemrograman Indikator Sebuah indikator seperti LED (Light Emitting Diode) adalah perangkat yang memerlukan tegangan positif pada kaki anoda dan tegangan negatif (ground) pada kaki katodanya untuk dapat bekerja. Sehingga dengan dasar inilah untuk mengaktifkan indikator cukup memberikan logika 1 pada pin yang terhubung dengan kaki anoda dan menghubungkan kaki katoda pada pin ground saja. Dengan arti lain saat memberikan logika 1 maka akan memberikan tegangan dan arus akan melewati indicator baik LED(Light Emitting Diode). Gambar 3.15 Program Indikator http://digilib.mercubuana.ac.id/ 50 Pemrograman diatas penggunaan indikator akan secara bergantian dengan selang waktu satu detik untuk lama on dan off-nya. Hal ini bertujuan saat proses pengujian terlihat bahwa perangkat ini dapat berfungsi dengan baik ataupun tidak. 3.4.4 Perancangan Kontrol Fuzzy Logic Struktur sederhana dari pengendali fuzzy logic secara umum terdiri dari: 1. Unit fuzzyfikasi 2. Basis data aturan 3. Mekanisme reasoning 4. Unit defuzzyfikasi Gambar 3.16 Pengendali Fuzzy Logic Fungsi yang digunakan adalah fungsi segitiga. Gambar 3.17 Fungsi Segitiga Membership function mempunyai lima label linguistik. Untuk jarak yaitu Dekat, Normal, Jauh, Sangat Dekat dan Sangat Jauh. http://digilib.mercubuana.ac.id/ 51 Gambar 3.18 Membership Function Jarak Tabel 3.4 Nilai Untuk Label Linguistik Jarak Nilai Input Crisp Label Linguistik Sangat Dekat 0 – 10 cm Dekat 11 – 40 cm Aman 20 – 70 cm Jauh 50 – 150 cm Sangat Jauh > 150 cm Pemrograman pada Arduino 1.6.7 dari nilai tersebut adalah sebagai berikut: Gambar 3.19 Program Fuzzy Input Jarak pada Arduino http://digilib.mercubuana.ac.id/ 52 3.4.4.1. Mekanisme Reasoning Untuk memperoleh nilai himpunan fuzzy logic digunakan fungsi implikasi dengan mengambil data nilai minimum dari aturan , yaitu metoda Min-Max atau metoda Mamdani. 3.4.4.2. Defuzzyfikasi Defuzzyfikasi yang dipakai menggunakan metoda Center of Area (COA) karena memilki mean square error yang kecil dan mempunyai kinerja yang baik pada keadaan steady state. Gambar 3.20 Center Of Area PWM Tabel 3.5 Nilai Untuk Label Linguistik Velocity Nilai Input Crisp Label Linguistik Sangat Lambat 0 – 10 Lambat 11 – 40 Normal 20 – 70 Cepat 50 – 150 http://digilib.mercubuana.ac.id/ 53 Pemrograman pada Arduino 1.6.7 dari nilai tersebut adalah sebagai berikut: Gambar 3.21 Program Fuzzy Output Velocity pada Arduino 3.4.4.3. Basis Data Aturan Aturan yang digunakan terdiri dari 5 aturan, yaitu: 1) Jika Jarak = Dekat maka Velocity = Cepat 2) Jika Jarak = Aman maka Velocity = Normal 3) Jika Jarak = Jauh maka Velocity = Lambat 4) Jika Jarak = SangatDekat maka Velocity = SangatLambat 5) Jika Jarak = SangatJauh maka Velocity = SangatLambat Gambar 3.22 Fuzzy Rule http://digilib.mercubuana.ac.id/ 54 Gambar 3.23 Proses Fuzzy Reasoning Pemrograman pada Arduino 1.6.7 untuk rule tersebut adalah sebagai berikut: Gambar 3.24 Program untuk Fuzzy Rule pada Arduino http://digilib.mercubuana.ac.id/