BAB III RANCANGAN SISTEM PENGENDALI ROBOT CRANE
3.1
Perancangan Perangkat Keras
3.1.1 Arduino Board Pada perancangan perangkat keras, Arduino Board berfungsi sebagai mikrokontroller sekaligus antarmuka dimana pada rangkaian antarmuka tersebut sinyal data akan diubah menjadi sinyal listrik bertegangan 12VDC untuk menggerakkan motor-motor. Pada Arduino Board terdapat pin-pin yang berguna membawa saluran pembawa informasi, dalam hal ini penulis menggunakan 1 pin sebagai inputan dan 8 pin sebagai output-an. Pin inputan digunakan untuk membaca dan menerima sinyal yang dihasilkan dari Communication Port yg sebelumnya telah diprogram penghasil sinyal dari Visual Basic. Sedangkan pin output-an digunakan sebagai penggerak relay-relay yang terintegrasi pada papan driver motor, relay-relay tersebutlah yang sebenarnya mensuply tegangan 12VDC pada motor-motor robot supaya dapat bergerak. Ilustrasinya adalah: PerintahVB.NetArduinoRelay BoardMotor. Namun demikian, pada Arduino Board terlebih dahulu harus di program microcontroler-nya supaya dapat menterjemahkan perintah-perintah yang dikirim oleh
27 27
28
VB.Net untuk diubah menjadi sinyal-silnyal listrik pada pin output.
Gambar 3.1. Modul Arduino Uno
3.1.2 Rangkaian Antar Muka a) Gambaran Umum Antar Muka Antar muka pada sistem pengendali Robot Crane berfungsi sebagai driver (pengendali), yang cara kerjanya adalah mengubah sinyal data digital dari Arduino Board menjadi sinyal penggerak motor DC sebesar 12 Volt DC. Hal ini diperlukan karena tegangan sinyal data digital pada Arduino Board kurang mencukupi untuk menggerakkan sebuah motor DC, sinyal - sinyal tersebut hanya mampu menyalakan dioda led saja yang membutuhkan tegangan sekitar 2 s/d 3 volt DC. Rangkaian antar muka terdiri dari beberapa komponen, diantaranya adalah : 8 buah relay dengan tipe HRS2H-5VDC, 8 buah Dioda LED, dan 8 buah resistor 100 ohm. Keseluruhan komponen ini terintegrasi pada sebuh PCB (Printed Circuit Board), dan memiliki fungsi masing-masing.
29
Delapan buah relay bertipe HRS2H-5VDC fungsinya dibagi menjadi 2 bagian, yaitu 4 relay sebagai penggerak motor forward, dan 4 relay sebagai penggerak motor reverse. Fungsi dari 8 buah dioda LED pada rangkaian antar muka disini adalah hanya sebagai indikator langkah motor yang sedang digerakkan. Resistor hanya berfungsi sebagai pengaman LED. b) Rangkaian Penggerak Motor DC Rangkaian penggerak motor DC terdiri dari 8 buah relay bertipe HRS2H-5VDC. Seperti yang telah dibahas pada Bab sebelumnya, sifat relay adalah apabila terdapat arus pada katub input, maka internal saklar akan bekerja untuk melewatkan arus output ke motor. Sifat relay inilah yang digunakan sebagai penggerak motor DC, bila input pada relay pertama mendapatkan sinyal data dari Arduino Board, maka arus bertegangan 12 Volt DC akan menggerakkan motor DC.
3.1.3 Rancangan Robot Crane a) Motor DC Pada rancangan Robot Crane ini, terdapat empat buah motor DC yang fungsinya berbeda-beda. Motor DC pertama berfungsi untuk menggerakkan gripe, motor DC kedua berfungsi sebagai elevator, motor DC ketiga berfungsi sebagai shifter (penggeser gerak maju-mundur), sedangkan motor DC empat berfungsi sebagai penggerak axis putar. Masing - masing penggerak motor DC tersebut dikendalikan oleh antar muka pengendali motor DC yang telah dibahas pada sub-bab sebelumnya. b) Spesifikasi Gripe Gripe merupakan bagian Robot Crane yang berfungsi mencengkram suatu benda. Konstruksi gripe adalah konstruksi yang paling rumit diantara konstruksi yang
30
lain. Pada gripe ini terdapat dua buah relay yang dirangkai pada kutub positif motor dan pada salah satu kutub negatif motor. Oleh karena motor DC yang digunakan menggunakan internal gearbox, maka cengkraman gripe tidak akan terlepas walaupun supply arus ke motor gripe terputus. Berikut ini adalah konstruksi dari gripe :
Gambar 3.2 Konstruksi Gripe
Gripe digerakkan oleh motor DC pertama dengan cara kerja sebagai berikut: Motor DC pertama berputar searah jarum jam Putaran tersebut menggulung tali yang menarik sistem katrol Sistem katrol terdiri dari 1 katrol bergerak, sehingga motor DC gripe 2 kali lebih ringan kerjanya untuk menutup sebuah gripe. Cara kerja rnernbuka Gripe adalah sebagai berikut: Motor DC berputar berlawanan arah jarum jam Putaran tersebut mengulur tali, sehingga sistem katrol bergerak sebaliknya.
31
c) Spesifikasi Lift Lift pada Robot Crane berfungsi sebagai pengangkat sebuah benda. Lift tersebut digerakkan oleh motor DC kedua yang menarik sebuah sistem katrol dengan 2 katrol bergerak dan 1 katrol tetap, sehingga motor DC kedua 4 kali lebih ringan untuk mengangkat sebuah benda. Penggunaan katrol bergerak diperlukan karena robot tidak hanya mengangkat benda saja tapi juga mengangkat motor gripe, sehingga beban pada motor lift adalah berat motor gripe + berat benda.
Gambar 3.3 Konstruksi Lift
32
d) Spesifikasi Shift Shift pada Robot Crane berfungsi sebagai penggeser sebuah benda. Artinya, motor shift menggeser beban menjauh atau mendekati titik pusat. Shift tersebut digerakkan oleh motor DC ketiga yang menarik dan mengulur secara bolak-balik dengan sebuah sistem katrol tetap, sehingga motor DC ketiga tidak mengalami peringanan kerja. Konstruksi shift tidak sederhana dikarenakan pemilihan bahan yang dapat bergerak geser kanan-kiri serta mampu menahan beban yaitu berat motor lift + berat motor gripe + berat benda.
gambar 3.4 Konstruksi Shift
33
e) Spesifikasi Axis Putar Seperti yang telah dikatakan pada sub-bab sebelumnya, bahwa motor DC keempat berhubungan dengan axis putar yang berfungsi sebagai pemutar Robot Crane. Putaran Robot Crane diawali pada posisi 0 °, dan mampu melakukan putaran 90° sampai dengan -90°. Posisi tersebut berdasarkan kisaran perhitungan sinyal penggerak yang diberikan kepada motor DC keempat tersebut. Lain halnya dengan motor DC pertama, kedua dan ketiga yang menggerakkan gripe, lift, dan shift, motor DC keempat ini langsung berhubungan dengan axis putar dengan menggunakan belt. Belt berfungsi sebagai penghubung antara motor dengan poros utama robot. Sehingga penggunaan belt menjadi sistem gear yang dapat meringankan kerja motor. Yang harus diperhatikan dalam konstruksi axis putar adalah keseimbangan antara beban dengan pemberat supaya robot tidak terjungkal manakala mengangkat beban yang berat.
Gambar 3.5 Konstruksi Axis Putar
34
3.2
Perancangan Perangkat Lunak Pada perancangan perangkat lunak, Bahasa pemrograman Visual Studio
VB.Net 2010 digunakan sebagai bahasa untuk membuat program Robot Crane, dimana pada VB.Net akan berkomunikasi langsung dengan Arduino Board. Adapun script perancangan program pada Arduino dan program VB.Net dapat dilihat pada halaman Lampiran. Pada perancangan perangkat lunak ini sepenuhnya mengadopsi metode teach pendant. Teach Pendant merupakan metode mengajarkan robot dengan menekan tombol-tombol pada keyboard yang telah difungsikan sesuai dengan gerakan-gerakan robot yang diinginkan. Pada Teach Pendant ini terdapat dua metode yang digunakan. Pertama menggunakan fungsi tombol pada keyboard dan yang kedua menggunakan tombol GUI (Graphical User Interface). Keduanya memiliki fungsi yang sama yakni digunakan untuk memfungsikan gerakan-gerakan robot. Hal yang membedakan diantara keduanya, yaitu pada metode Keyboard dilengkapi dengan tombol OTOMATIS sebagai pengulang gerakan dan Tabel Rekam Pulsa. Tombol OTOMATIS dimaksudkan untuk mempresentasikan bahwa kita dapat mengajarkan kepada robot untuk mengulang gerakan-gerakan yang sudah kita perintahkan. Sehingga robot dapat melakukan pengulangan gerakan yang serupa. Sedangkan Tabel Rekam Pulsa berfungsi untuk menghitung berapa durasi tiap-tiap gerakan, durasi inilah yang nantinya akan digunakan robot untuk mengulangi gerakan sehingga pengulangan gerakan dapat dilakukan dengan ketepatan yang nyaris sama. Adapun pada metode GUI tidak dilengkapi dengan tombol otomatis, dikarenakan pada metode GUI hanya diperuntukkan untuk menggerakkan robot secara
35
manual. Tidak ada pengulanagan gerakan pada metode GUI. Perancangan perangkat lunak dibangun dengan algoritma sebagai berikut:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Mulai Baca serial port = count Alamat port Arduino = COM18 Delay axis = 100 Delay lift = 100 Delay shift = 100 Delay gripe = 100 repeat Tampilkan menu utama Baca pilih jika pilih = keyboard maka jalankan sub program keyboard function akhir jika jika pilih = GUI maka jalankan sub program GUI function akhir jika sampai pilih = exit Selesai
36
MULAI 1 1 Persiapan Sistem
Form Menu Utama
Input Pilihan
2
Pilihan = Keyboard
Pilihan = GUI
1
Pilihan Keluar
SELESAI
Gambar 3.6 Diagram Alir Menu Utama
3
37
Teach Pendant metode Keyboard
3.2.1
Teach Pendant metode Keyboard mengajarkan robot dengan menekan tombol-tombol pada keyboard yang telah difungsikan sesuai dengan gerakan-gerakan robot yang diinginkan. Tombol – tombol tersebut adalah :
1 berfungsi menggerakkan Robot Crane cengkram.
2 berfungsi menggerakkan Robot Crane buka cengkram.
3 berfungsi menggerakkan Robot Crane keatas.
4 berfungsi menggerakkan Robot Crane kebawah.
5 berfungsi menggerakkan shift bergerak menarik.
6 berfungsi menggerakkan shift bergerak mendorong.
7 berfungsi menggerakkan axis ke kanan.
8 berfungsi menggerakkan axis ke kiri.
Berikut ini adalah algoritma subprogram Teach Pendant metode Keyboard
1. 2. 3. 4. 5. 6. 7. 8.
tampilkan form teach pendant keyboard baca pilih jika pilih = 3 maka tulis kolom nomor perintah = nomor perintah ke tulis kolom perintah = ‘cNAIK’ tulis kolom pulsa = jumlah pulsa brs = brs+1 akhir jika
9. 10. 11. 12. 13. 14.
jika pilih = 4 maka tulis kolom nomor perintah = nomor perintah ke tulis kolom perintah = ‘dTURUN’ tulis kolom pulsa = jumlah pulsa brs = brs+1 akhir jika
15. 16. 17. 18. 19. 20.
jika pilih = 7 maka tulis kolom nomor perintah = nomor perintah ke tulis kolom perintah = ‘gKIRI’ tulis kolom pulsa = jumlah pulsa brs = brs+1 akhir jika
21. 22. 23. 24. 25. 26.
jika pilih =8 maka tulis kolom nomor perintah = nomor perintah ke tulis kolom perintah = ‘hKANAN’ tulis kolom pulsa = jumlah pulsa brs = brs+1 akhir jika
38
27. 28. 29. 30. 31. 32.
jika pilih = 5 maka tulis kolom nomor perintah = nomor perintah ke tulis kolom perintah = ‘eTARIK’ tulis kolom pulsa = jumlah pulsa brs = brs+1 akhir jika
33. 34. 35. 36. 37. 38.
jika pilih = 6 maka tulis kolom nomor perintah = nomor perintah ke tulis kolom perintah = ‘fDORONG’ tulis kolom pulsa = jumlah pulsa brs = brs+1 akhir jika
39. 40. 41. 42. 43. 44.
jika pilih = 1 maka tulis kolom nomor perintah = nomor perintah ke tulis kolom perintah = ‘aCENGKRAM’ tulis kolom pulsa = jumlah pulsa brs = brs+1 akhir jika
45. 46. 47. 48. 49. 50.
jika pilih = 2 maka tulis kolom nomor perintah = nomor perintah ke tulis kolom perintah = ‘bBUKA’ tulis kolom pulsa = jumlah pulsa brs = brs+1 akhir jika
39
2
1
Persiapan Teach Pendant kiri
Pilih = LEFT
Input Pilih
t
Pilih = UP
y
Tulis y ‘gKIRI
Kiri_g
Tulis no perintah
No
Tulis jumlah pulsa
Pulsa
naik
t Tulis ‘cNAIK
Pilih = DOWN
Naik_c
Tulis no perintah
No
Tulis jumlah pulsa
Pulsa
Pilih = RIGHT
kanan
Tulis ‘hKANAN
Kanan_a
Tulis no perintah
No
Tulis jumlah pulsa
Pulsa
y turun
t Tulis ‘dTURUN
Turun_a
2a Tulis no perintah
No
Tulis jumlah pulsa
Pulsa
1
Gambar 3.7 Diagram Teach Pendant I
40
2
2a
Pilih = INS
y
maju
t
t Tulis ‘eTARIK
Tulis no perintah
Tulis jumlah pulsa
Pilih = END
y
y
Pilih = PGUP
tutup
Tulis ‘aCENGKRAM
Cengkram _a
Tarik_e
Tulis no perintah
No
Tulis jumlah pulsa
Pulsa
No
Pulsa
buka
Pilih = PGDN
mundur
t
y Tulis ‘bBUKA
Buka_b
Tulis no perintah
No
Tulis jumlah pulsa
Pulsa
t Tulis ’fDORONG
Tulis no perintah
Tulis jumlah pulsa
Doong_f
No
Pulsa Ulang_a
2
Gambar 3.8 Diagram Teach Pendant II
41
Metode Perulangan/Otomatis
3.2.2
Seperti yang pernah disinggung terdahulu bahwa pada Teach Pendant metode Keyboard ini terdapat metode perulangan/otomatis sebagai presentasi bahwa robot dapat melakukan perintah sama seperti perintah yang terakhir kita berikan. Dalam hal ini perintah
pengulangan
penulis
CENGKRAMNAIKKANANBUKAKIRITURUN
batasi dan
yaitu kembali
CENGKRAM. Metode perulangan ini memiliki algorotma sebagai berikut 1. 2. 3. 4. 5. 6. 7. 8. 9.
procedure repeat begin baca table jika lift=NAIK maka baca jumlah pulsa cmd=”aNaik” dengan jumlah pulsa brs=brs+1 akhir jika
10. 11. 12. 13. 14. 15.
jika lift=TURUN maka baca jumlah pulsa cmd=”bTurun” dengan jumlah pulsa brs=brs+1 akhir jika
16. 17. 18. 19. 20. 21.
jika axis=KIRI maka baca jumlah pulsa cmd=”cKiri” dengan jumlah pulsa brs=brs+1 akhir jika
22. 23. 24. 25. 26. 27.
jika axis=KANAN maka baca jumlah pulsa cmd=”dKanan” dengan jumlah pulsa brs=brs+1 akhir jika
28. 29. 30. 31. 32. 33.
jika shift=MAJU maka baca jumlah pulsa cmd=”eMaju” dengan jumlah pulsa brs=brs+1 akhir jika
34. 35. 36. 37. 38. 39.
jika shift=MUNDUR maka baca jumlah pulsa cmd=”fMundur” dengan jumlah pulsa brs=brs+1 akhir jika
ke
42
40. 41. 42. 43. 44. 45.
jika gripe=TUTUP maka baca jumlah pulsa cmd=”gTutup” dengan jumlah pulsa brs=brs+1 akhir jika
46. 47. 48. 49. 50. 51. 52.
jika gripe=BUKA maka baca jumlah pulsa cmd=”hBuka” dengan jumlah pulsa brs=brs+1 akhir jika akhir
43
Ulang_a
Ulang
y Baca row 1+1
t P=readclm, brs = 1-awal
Ulang_a
P = ‘a’
Naik
Naik_a
Winstat
Turun
Turun_a
P = ‘b’
Winstat
Kiri
Kiri_a
P = ‘c’
Winstat
P = ‘d’
Kanan
Kanan_a
Winstat
Ulang_b
Gambar 3.9 Diagram Repeat I
44
Ulang_b
P = ‘e’
y
Maju
Maju_a
t
Winstat
P = ‘f’
y
Mundur
Mundur_ a
t
Winstat
P = ‘g’
y
Tutup
Tutup_a
t
Winstat
y P = ‘h’
Buka
Buka_a
t
Winstat
Ulang-a
Gambar 3.10 Diagram Repeat II