-
15
BAB III
PERANCANGAN SISTEM
Pada bab ini membahas tentang perancangan yang merupakan
realisasi
dasar teori yang telah dijelaskan pada bab 2. Bab ini merupakan
inti dari tugas akhir
ini. Pembahasan perancangan meliputi gambaran sistem, rancang
bangun perangkat
keras robot, tipe gerakan pada robot, pembacaan kecepatan motor,
sistem kontrol
PID motor.
3.1. Gambaran Sistem
Arduino akan menerima nilai parameter motion, speed, heading
dari
kontroler utama yang akan digunakan untuk menentukan gerakan
yang akan
dilakukan oleh robot. Ketiga nilai parameter tersebut akan
digunakan untuk
menentukan kecepatan, arah putar robot, dan mode gerakan
sehingga robot akan
bergerak sesuai yang di inginkan. Pada kontrol penggerak utama,
digunakan sistem
kontrol PID agar kecepatan putar motor sesuai dengan yang
diharapkan. Sistem
kontrol PID membutuhkan feedback berupa pembacaan sensor encoder
dari tiap β
tiap motor.
Sensor inframerah E18-D80NK memiliki dua fungsi, yang
pertama
digunakan untuk mendeteksi adanya bola lambung bila terdeteksi
adanya bola
lambung maka output dari sensor inframerah ini akan digunakan
sebagai pemicu
untuk meng-aktif-kan relay yang terhubung ke solenoid valve.
Solenoid valve
berfungsi sebagai penghubung antara kompresor dan cylinder
double acting.
Kompresor yang dimaksud adalah berupa dua buah botol minuman
bersoda yang
memiliki ukuran 1,5 L dan 3,1 L. Kedua botol tersebut
dihubungkan menggunakan
selang khusus pneumatic. Botol yang telah di dihubunngkan dengan
selang
pneumatic akan diisi angin menggunakan kompresor luar sampai
batas yang
diharapkan. Dan yang kedua untuk mendeteksi kanan dan kiri dari
gawang sehingga
robot tidak menabrak bagian kanan dan kiri gawang terlalu
keras.
-
16
Gambar 3.1. Diagram blok perangkat keras robot
3.2. Rancang Bangun Perangkat Keras Robot
Gambar 3.2. Rancangan bangun dimensi
pneumatic off
Gambar 3.3. Rancangan bangun dimensi
pneumatic on
-
17
Gambar 3.4. Rancang bangun robot tampak atas
Gambar 3.5. Realisasi perangkat keras
Robot yang telah direalisasikan memiliki dimensi 51 Γ 51 ππ,
tinggi
80 ππ saat pneumatic tidak diaktifkan dan 90 ππ saat pneumatic
diaktifkan
dengan berat Β±19 πΎπ. Konstruksi robot menggunakan bahan
alumunium dengan
tebal 2 mm untuk rangka dan aluminium dengan tebal 3 mm untuk
bagian dasar.
Kemudian menggunakan motor PG 36 dengan roda mecanum berdiameter
100 mm
digunakan sebagai penggerak utama robot, serta menggunakan
cylinder double
acting berdimensi 20 Γ 300 ππ untuk digunakan sebagai penghalang
bola
-
18
lambung. Kontroler utama robot kiper menggunakan INTEL NUC,
sedangkan
subkontrolernya menggunakan Arduino Mega 2560.
Untuk peletakan komponen β komponen yang digunakan pada robot
kiper
terdapat pada (Gambar 3.6) sampai (Gambar 3.12)
Gambar 3.6. Peletakan komponen bagian 1
Keterangan :
1. INTEL NUC yang berfungsi sebagai otak dari robot kiper.
2. Arduino Mega 2560 yang berfungsi untuk memproses sensor β
sensor
yang digunakan.
3. IR untuk pendekteksi bagian kanan gawang.
4. IR untuk pendekteksi bagian kiri gawang.
5. Motor A.
6. Motor C.
7. Roda mecanum A.
8. Roda mecanum C.
9. Tempat battre.
-
19
Gambar 3.7. Peletakan komponen bagian 2
Keterangan :
10. Solenoid valve digunakan untuk menggerakan cylinder double
acting.
11. SRF belakang digunakan untuk mendeteksi bagian belakang
gawang.
12. Arduino nano digunakan untuk memproses data SRF.
13. SRF samping digunakan untuk mendeteksi bagian samping
gawang.
-
20
Gambar 3.8. Peletakan komponen bagian 3
Keterangan :
14. Power management digunakan sebagai pelindung bila terjadi
short circuit
pada rangkaian elektrik.
15. Motor D.
16. Motor B.
17. Roda mecanum D.
18. Roda mecanum B.
19. Driver motor untuk mengendalikan motor yang digunakan.
-
21
Gambar 3.9. Peletakan komponen bagian 4
Keterangan :
20. Cylinder double acting digunakan sebagai bagian sistem
penangkap bola
lambung.
Gambar 3.10. Peletakan komponen bagian 5
Keterangan :
21. IR pendeteksi bola lambung
22. Kamera C930
-
22
Gambar 3.11. Peletakan komponen bagian 6
Keterangan :
23. Keypad 5Γ4
Gambar 3.12. Peletakan komponen bagian 7
Keterangan :
24. Kompas CMPS 11.
-
23
3.3. Tipe Gerakan pada Robot
Untuk membuat robot bergerak, kontroler utama akan mengirimkan
nilai
parameter motion, heading, speed. Parameter motion digunakan
untuk
menentukan jenis gerakan yang diinginkan. Untuk parameter
heading, pada
motion 1 digunakan untuk menentukan sudut gerak yang diinginkan.
Kemudian
untuk motion 2, parameter heading digunakan untuk menentukan
arah putar
robot.
3.3.1. Tipe Gerakan Omnidirectional (Motion 1)
Gambar 3.13. Ilustrasi gerakan omnidirectional (motion 1)
Motion 1 merupakan tipe gerakan dimana robot dapat melakukan
pergerakan ke segala arah dengan tetap mempertahankan arah
hadapnya.
Tipe gerakan ini digunakan untuk memposisikan robot kiper di
lapangan
saat awal permainan (positioning).
Untuk mengaktifkan gerakan ini, parameter motion bernilai 1.
Lalu
parameter heading bernilai 0Β° β 360Β° dalam hal ini robot kiper
hanya
menggunakan heading 0Β°, 90Β°, 180Β°, dan 270Β° yang digunakan
untuk
menentukan arah gerakan. Dan parameter speed, digunakan
untuk
mengatur kecepatan gerak robot dengan nilai skala kecepatan
antara 0 β
-
24
200. Agar dapat melakukan gerakan ini, robot memanfaatkan
kecepatan
masing β masing motor. Persamaan yang digunakan untuk
menentukan
setpoint kecepatan tiap β tiap motor yaitu Persamaan (1) untuk
nilai
kecepatan motor A, Persamaan (2) untuk nilai kecepatan motor
B,
Persamaan (3) untuk nilai kecepatan motor C, dan Persamaan (4)
untuk nilai
kecepatan motor D. Namun pada motion 1 nilai π diberi nilai 0
karena pada
pada motion ini robot tidak melakukan gerakan berputar.
Pada keempat persamaan tersebut terdapat variabel berupa ππ₯
dan
ππ¦ . Untuk mengisi nilai variabel ππ₯ dan ππ¦ membutuhkan rumus
matematika
berupa rumus polar ke kartesian pada Persamaan (5) dan Persamaan
(6).
Pada Persamaan (5) dan Persamaan (6) nilai π adalah parameter
dari nilai
kecepatan sedangkan nilai π adalah parameter dari nilai heading
yang akan
digunakan. Hasil dari perhitungan ini adalah nilai setpoint
kecepatan dari
masing β masing motor untuk menghasilkan gerakan yang
diinginkan. Nilai
setpoint positif berarti motor berputar CW dan nilai setpoint
negatif berarti
motor berputar CCW. Kemudian sistem kontrol PID motor akan
bekerja
untuk membuat masing β masing motor berputar dengan kecepatan
sesuai
setpoint yang sudah ditentukan. Satuan kecepatan motor yang
digunakan
dalam sistem ini adalah RPM (Rotasi per menit).
-
25
3.3.2. Tipe Gerakan Rotasi (Motion 2)
Gambar 3.14. Ilustrasi gerakan rotasi (motion 2)
Motion 2 merupakan tipe gerakan dimana robot bergerak secara
rotasi dengan titik pusat bodi robot, diilustrasikan pada Gambar
3.14.
gerakan ini digunakan saat robot memperbaiki arah hadap jika
terjadi
kemiringan. Untuk mengaktifkan gerakan ini parameter motion
bernilai 2.
Sedangkan parameter speed digunakan untuk mengatur kecepatan
gerak
rotasi. Nilai dari parameter heading digunakan untuk menentukan
robot
berputar kekanan atau kekiri, jika nilai heading bernilai
positif maka robot
akan berputar kekanan dan jika heading bernilai negatif maka
robot akan
berputar kekiri.
Gambar 3.15. Rotasi kanan
Gambar 3.16. Rotasi kiri
Agar robot bergerak rotasi, semua motor harus bergerak ke
arah
yang sama dengan kecepatan yang sama sehingga robot berputar
dengan
titik pusat bodi robot sebagai porosnya. Pada (Gambar 3.15)
menunjukan
arah putar motor agar menghasilkan gerak rotasi ke kanan dan
(Gambar
3.16) menunjukkan arah putar motor agar menghasilkan gerak
rotasi ke kiri.
-
26
3.4. Pembacaan Kecepatan Motor
Pembacaan kecepatan motor menggunakan sensor encoder yang
sudah
terpasang pada masing β masing motor PG36 dengan resolusi 7 ppr
(pulses per
revolution). Hasil interrupt dari sensor encoder tersebut akan
diproses Arduino
untuk mendapatkan kecepatan motor dengan satuan RPM (Rotasi Per
Menit).
Persamaan yang digunakan untuk mendapatkan kecepatan motor
yaitu:
ππ
ππ =(πΌπ Γ 20 Γ 60)
96 (12)
Dimana,
ππ
ππ = Kecepatan Motor (RPM)
πΌπ = Jumlah interrupt yang diterima
Pada persamaan (12) jumlah interrupt dikali dengan 20 lalu
dikali lagi
dengan 60 karena satuan waktu yang digunakan adalah menit,
sedangkan delay
yang digunakan dalam program hanya selama 50 ms. Kemudian hasil
perkalian
tersebut dibagi dengan 96 yang merupakan jumlah interrupt dalam
melakukan 1
kali putaran. Nilai interrupt sebanyak 96 tersebut didapat dari
percobaan secara
langsung pada motor. Nilai kecepatan ini akan menjadi feedback
pada sistem PID
motor.
-
27
3.5. Sistem Kontrol PID Motor
Sistem kontrol PID digunakan untuk mengatur nilai PWM tiap motor
agar
kecepatan putarnya sesuai dengan setpoint yang telah ditentukan.
Proses ini
dilakukan oleh Arduino dengan nilai setpoint yang didapat dari
hasil perhitungan
masing-masing tipe motion dengan feedback berupa nilai kecepatan
masing-masing
motor dengan satuan RPM. Berdasarkan Persamaan (11), maka
program sistem
kontrol PID untuk tiap β tiap motor dapat ditulis sebagai
berikut:
error = setpoint - rpm;
P = error;
I = error + previous_error;
D = error - previous_error;
PID_value = (Kp * P) + (Ki * I) + (Kd * D);
PWM = PWM + PID_value;
previous_error = error;
Pseudocode 3.1. Pseudocode sistem kontrol PID motor
Untuk menentukan konstanta πΎπ, πΎπ , πΎπ dilakukan trial &
error. Respon
sistem yang diharapkan tidak berupa under damped response, yaitu
tanggapan
sistem kecepatan motor saat menuju setpoint tidak terjadi
overshoot. Apabila
respon sistem yang terjadi under damped response, maka motor
akan langsung
berputar cepat dan kecepatannya melebihi nilai setpoint (terjadi
overshoot). Putaran
roda secara cepat saat awal pergerakan akan menyebabkan roda
mengalami slip
yang berakibat terhadap kesalahan gerakan yang dihasilkan.
-
28
3.6. Perangkat Lunak
Perangkat lunak dari sistem gerak robot kiper R2C-WARRIOR
terdiri atas
dua bagian yaitu:
3.6.1. Perangkat Lunak pada Motor Penggerak
Gambar 3.17. Diagram alir perangkat lunak pada motor
Saat saklar on maka Arduino akan menerima nilai parameter
motion, speed, heading dari kontroler utama. Setelah
menerima
parameter tersebut, maka parameter digunakan untuk menentukan
nilai
setpoint yang diinginkan. Setelah nilai setpoint didapat,
kontrol PID akan
-
29
mengatur nilai PWM dari setiap motor sehingga kecepatan motor
sesuai
dengan setpoint. Feedback untuk kontrol PID adalah pembacaan
kecepatan
motor menggunakan sensor encoder yang berada di masing β masing
motor.
3.6.2. Perangkat Lunak Pembacaan Nilai Kecepatan Motor
Gambar 3.18. Diagram alir kontrol PID
Pertama program akan delay selama 50 ms. Kemudian akan
dilakukan perhitungan kecepatan tiap motor dari nilai
variabel
encoderValue_A, encoderValue_B, encoderValue_C,
encoderValue_D. setelah didapatkan nilai kecepatan tiap motor,
nilai tersebut
digunakan sebagai feedback kontrol PID. Lalu nilai variabel
encoderValue_A,
encoderValue_B, encoderValue_C, encoderValue_D akan dinolkan
kembali
-
30
3.7. Metode Perhitungan PID
Metode perhitungan PID menggunakan metode Ziegler Nichols metode
ini
digunakan untuk menentukan nilai πΎπ, πΎπ, πΎπ.
Gambar 3.19. Tanggapan kurva S
Kurva berbentuk-S menghasilkan dua konstanta yaitu waktu tunda L
dan
konstanta waktu T, yang ditentukan dengan menggambar garis
singgung pada titik
infleksi kurva dan menemukan perpotongan garis singgung dengan
sumbu waktu
dan garis steady-state, K merupakan gain dari input yang
dimasukan. Aturan tuning
Ziegler Nichols yang digunakan sebagai berikut :
Tabel 3.1. Aturan Ziegler Nichols open loop
Tipe Kendali πΎπ ππ ππ
P 1
πΎΓ
π
πΏ β 0
PI 0.9
πΎΓ
π
πΏ
πΏ
0.3 0
PID 1.2
πΎΓ
π
πΏ 2πΏ 0.5πΏ
Dari tabel 3.1 nilai ππ dan ππ harus di konversikan untuk
mendapatkan
nilai πΎπ dan πΎπ dengan menggunakan rumus :
πΎπ = πΎπ ππβ (13)
πΎπ = πΎπ Γ ππ (14)
-
31
3.8. Sistem Penangkap Bola Lambung
Sistem penangkap bola lambung adalah sistem yang digunakan
untuk
menghalau bola apabila bola ditendang secara melambung bukan
secara mendatar.
Sistem penangkap bola ini menggunakan sistem pneumatic. Dengan
menggunakan
cylinder double acting yang dihubungkan dengan solenoid valve
5/2 maka ketika
solenoid valve diaktifkan, tekanan udara yang berada dikompresor
mini akan
mengalir ke cylinder double acting dan akan mendorong ekstensi
dari penangkap
bola lambung.
Gambar 3.20. Cylinder double acting
keadaan off
Gambar 3.21. Cylinder double acting
keadaan on
Gambar 3.22. Sistem penangkap bola off
Gambar 3.23. Sistem penangkap bola on
-
32
Cara kerja dari sistem penangkap bola lambung yaitu sensor IR
akan
mendeteksi ada tidaknya benda yang berada di depan sensor IR,
benda yang
dimaksud adalah bola futsal yang memiliki diameter Β±20 cm.
ketika sensor IR
mendeteksi adanya bola, maka output dari sensor IR akan menjadi
input dari
Arduino Mega. Output dari Arduino Mega akan mengaktifkan
rangkaian relay.
Relay digunakan sebagai penghubung antara battre 24V dengan
solenoid valve.
Ketika solenoid valve diaktifkan maka akan mengalirkan tekanan
udara dari
kompresor mini menuju cylinder double acting. Bagian dalam dari
cylinder double
acting akan terdorong karena tekanan udara sehingga akan
menggerakkan ekstensi
dari penangkap bola, karena ekstensi penangkap bola terhubung
langsung dengan
cylinder double acting.