bab iii perancangan sistem - repository.uksw.edu...3.3.1. tipe gerakan omnidirectional (motion 1)...
TRANSCRIPT
-
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.