BAB III PERANCANGAN ALAT

advertisement
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/
Download