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/