BAB 3 PERANCANGAN SISTEM
Pada bab ini akan dijelaskan perancangan dari prototype yang dibuat, yaitu konsep dasar alat, diagram blok, perancangan elektronika yang meliputi rangkaian – rangkaian elektronika dari alat, serta perancangan perangkat lunak.
3.1
Konsep Dasar Prototype lengan robot terkendali lengan manusia merupakan system yang dapat bekerja dengan menggunakan mikrokontroller ATMega 8535 sebagai pusat pengendaliannya. Lengan robot ini akan bergerak mengikuti gerakan yang dilakukan oleh lengan pengguna pada lengan pengendalinya. Alat ini terbagi menjadi dua bagian mekanik, yaitu lengan pengendali dan lengan robot. Kedua bagian mekanik tersebut terhubung dengan mikrokontroller sebagai pusat pengendali . Lengan pengendali terdiri dari lima buah sendi dan satu buah endeffector yang menjepit dimana pada masing – masing sendi dan penggerak end-effector terdapat variable resistor ( VR ) yang berfungsi sebagai input. VR ini akan memberikan nilai analog yang berbeda – beda kepada mikrokontroller sesuai dengan simpangan yang terjadi pada lengan pengendali. Seperti juga lengan pengendali, lengan robot memiliki lima buah sendi dan satu buah end-effector. Untuk pergerakkannya, masing – masing sendi dipasangkan motor servo yang terhubung dengan mikrokontroller. 52
53 Untuk lebih jelasnya, rancangan mekanik prototype ini dapat dilihat pada gambar 3.1. Dari gambar dapat dilihat bahwa rancangan mekanik terdiri dari 5 buah sendi. Jenis sendi yang digunakan adalah 5 buah revolute joint ( Joint 1, 2, 3, 4, dan 5 ) dan satu buah prismatic joint sebagai end-effector.
Joint
Gambar 3.1 (a) Rancang Gambar Lengan Pengendali Tampak Belakang
Joint
Gambar 3.1 (b) Rancang Gambar Lengan Pengendali Tampak Samping
54
Joint
Gambar 3.1 (c) Rancang Gambar Lengan Pengendali Tampak Depan
Joint 6
End-effector Joint 5
Joint 4
Joint 3
End-effector
Joint 2
Joint 1 – 5
Joint 1
Gambar 3.2 Rancangan Gambar Lengan Robot
55 Keterangan pada gambar 3.1 dan 3.2 Panah Pada Lengan pengendali Mekanik Menunjukkan joint lengan pengendali mekanik (potensiometer) Panah Pada Lengan Robot menunjukkan Joint Yang akan bergerak •
Base Joint (Joint 1) : bergerak kanan kiri mengikuti pergerakkan kanan kiri pada bahu lengan (Shoulder Rotation), Base rotation ini bergerak seperti pada waist rotation
•
Joint 2 : Bergerak atas bawah mengikuti pergerakkan atas bawah pada Bahu lengan (shoulder)
•
Joint 3 : Bergerak atas atau bawah Mengikuti pergerakkan ke atas atau bawah pada Siku Lengan (Elbow)
•
Joint 4 : Bergerak atas bawah mengikuti Pergerakan sendi pergelangan tangan (wrist)
•
Joint 6 : Bergerak Memutar end effecor hingga 360 derajat yang putarannya diatur oleh tangan kiri dengan memutar potensiometer (Potensiometer ke 5 ini terpisah dari pengontrol mekaniknya)
•
End-effector Joint 5 : bagian ujung lengan robot bergerak bergeser dan menjepit (gripper) yang di fungsikan untuk menjepit dan mengangkat benda tertentu pada bagian ini digerakkan (dicontrol) dengan pergerakkan atas bawah jari telunjuk.
56 3.2
Perancangan Protototipe Manipulator Lengan Robot Perancangan Model prototipe manipulator lengan robot berbentuk articulated joint atau Elbow Manipulator adalah mempunyai model mekanik yang sederhana, reliable dan relatif mudah di implementasikan serta dapat menduduki ruangan yang terbatas karena bentuknya yang ringkas. Sistem dirancang dengan lima derajat kebebasan dan satu end-effector Manipulator yang dirancang terdiri dari 4 bagian, yaitu Base, link 1, link 2 dan link 3 yang berhubungan langsung dengan end-effector Setiap robot pasti memiliki area kerja yang berbeda – beda tergantung dari bagaimana fungsinya robot itu dibuat dan struktur robot tersebut, dalam skripsi lengan robot ini memiliki area kerja yang berbeda di masing joint dan link nya untuk itu disini akan diberikan beberapa gambar dengan posisi yang maksimal, yang dimaksud maksimal disini adalah posisi bagaimana suatu lengan robot dapat mencapai posisi sudut yang maksimal.
Aturan tangan kanan digunakan untuk mempermudah dalam menentukan koordinat (frame) pada sebuah joint Ketentuan : o Z tegak lurus dengan arah putar joint o X searah dengan link
Gambar 3.3 Aturan tangan kanan digunakan untuk mempermudah dalam menentukan koordinat (frame) pada sebuah joint
57
Y5
Z5
Z3
Y6
Z2
X5 Z4
X6 X4
Z6
X3
X2 Y2 Z1
Y4 Y3
X1
WORLD
BASE JOINT Y1
Gambar 3.4 Koordinat Frame Lengan Robot
Berikut ini adalah tabel workspace lengan robot pada skripsi ini. Tabel 3.1 Workspace Perancangan Lengan robot
Joint – n Joint 1 ( Base Joint)
Min -90°
Max 90°
Range 180°
Joint 2
0°
115°
115°
Joint 3
-40°
115°
155°
Joint 4
-40°
90°
130°
Joint 5
-90°
90°
180°
Grip End-Effector
0 cm (Tutup)
5 cm (Buka)
5 cm
58
Link-3
Link-2
Link-1
Base
Gambar 3.5 Link lengan robot yang dirancang
Pada bagian base untuk penggerakknya menggunakan motor servo type GWS S04 BBM yang fungsinya untuk menggerakkan lengan robot pad link-1 hingga end-effector agar dapat berputar -90° hingga 90° dengan diameter perputaran lingkaran 5 cm.
59
90°
Diameter 5 CM
-90°
Gambar 3.6 Sudut Pergerakkan Pada bagian Base lengan robot
Lingkaran Base ditopang lagi dengan acrylic yang berbentuk persegi, tujuannya agar dapat menahan beban lengan robot dan memberikan keseimbangan pada setiap posisi pergerakkan lengan robot, sedangkan jarak antara base atas dengan base bawah adalah 9 cm
9 CM
Gambar 3.7 Bagian Base atas dan Base Bawah Lengan Robot
3.2.1
Perancangan Link-1 dan Joint-2 Lengan Robot Link 1 posisinya berada antara joint 2 dengan joint 3, pada link 1 ini dihubungkan dengan Joint 2 dan Joint 3, dimana pada joint 2 merupakan titik pergerakan yang terberat untuk menggerakkan dan menahan beban lengan
60 robot, oleh sebab itu pada joint 2 lengan robot, diberikan motor servo yang memiliki kekuatan torsi yang paling besar untuk menggerakkan beban, pada perancangan ini diberikan motor servo type HITECH HS-805BB+ dengan kekuatan torsi 19.8kg.cm. Joint Dua ini mempengaruhi pergerakkan lengan robot dengan sudut minimal 0° (Posisi acuan) hingga 115°(Posisi Maksimal). 115°
115°
0°
Gambar 3.8 Pergerakkan Sudut Joint 2 Lengan Robot
3.2.2
Perancangan Link 2 dan Joint 3 Lengan Robot Pada perancangan link 2 ini berhubungan dengan joint 3 dan joint 4 dan sebagai penggeraknya dipengaruhi oleh joint 2 dan joint 3, posisi pada joint 3 diberikan motor servo type GWS SO4 BBM.
61 Pada Joint Link 3 ini, untuk posisi minimal hingga -90° dapat tercapai jika posisi Joint 1 berada di posisi antara sudut 48° hingga 110°.
205°
90°
110°
Gambar 3.9 Sudut Pergerakkan Link 2 Pada Joint 3 Terhadap Joint 1 pada sudut 90°
62 150° 110°
-40°
Gambar 3.10 Sudut Pergerakkan Link 2 Pada Joint 3 Terhadap Joint 1 pad sudut 0°
3.2.3
Perancangan Link 3, Joint 4. Joint 5 dan End-Effector Lengan Robot Pada Perancangan Link 3 ini merupakan bagian dari end-effector dimana pada end-effector terdapat 3 motor servo joint 4, Joint 5. Joint 5 Untuk memutar end-effector dan Grip Tool yang merupakan join prismatic dimana pergerakkannya menjepit (menutup) dan membuka. Pada Gambar 3.10 berikut ini merupakan bentuk sudut pergerakan yang dapat dilakukan pada link 3, joint 4 dan joint 5 serta pergerakan end-effector
63 90° 130°
90°
-90°
-30°
(a)
(b) 5 CM
(c) Gambar 3.11 (a) Pergerakan sudut yang dapat dilakukan oleh link 3 dan end-effectornya (b) Pergerakkan memutar end-effector -90° hingga 90° (c) Pergerakkan tool end-effector posisi menutup/menjepit grip dan membuka grip
64 3.3
Perancangan Lengan Pengendali Untuk Pengendali Lengan Robot Pada Perancangan lengan pengendali ini terdiri dari beberapa joint dan link yang jumlahnya sama dengan lengan robot yang akan dikendalikan, dalam hal ini konstruksi lengan pengendali memiliki analogi dengan bagian lengan manusia
yang
sesungguhnya
dimana
lengan
memiliki
bagian
yang
digambarkan pada gambar 3.11. Lengan Pengendali yang terdiri dari 5 joint dan 1 end-effecto untuk itu pada lengan pengendali ini joint dibuat dengan potensiometer yang mana sebagai deteksi pergerakkan persendian lengan manusia, dan setiap joint pada lengan pengendali di kaitkan dengan link yang dirancang dengan acrylic. Dalam hal ini joint lengan manusia sebagai sendi akan berhubungan dalam pergerakkan joint potensiometer pada lengan pengendali dan link pada lengan manusia yang dianalogikan sebagai tulang lengan manusia yang berhubungan dengan link lengan pengendali dalam bentuk acrylic. Z5 Z2 Y1
X5 Y5
X2 X1
Z4
Z1 Y2
X4
Tool End-Effector JOINT-4
Z3
JOINT-3
Y4
JOINT-2
X3
JOINT-5
JOINT-1 Base Joint
Y3 Gambar 3.12 Hubungan Lengan Pengendali dengan Lengan Manusia
65 Keterangan : Tabel 3.2 hubungan lengan manusia dengan lengan pengendali
Pada Lengan Nama Joint
Pada Lengan Manusia Pengendali
Joint-1 (Base Joint)
Bahu
VR-1
Joint-2
Bahu
VR-2
Joint-3
Siku
VR-3
Joint-4
Pergelangan Telapak Tangan
VR-4
Diputar manual dengan
VR-5 (letaknya
tangan kiri
Terpisah)
Jari Telunjuk
VR-6
Joint-5
Tool-End-effector
3.3.1
Hubungan Lengan Pengendali dengan Lengan Robot Lengan pengendali ini merupakan jenis pengendali manual dimana lengan robot hanya akan bergerak jika dikendalikan manual oleh manusia lewat lengan pengendalinya, berikut ini adalah gambar hubungan joint antara lengan pengendali dengan lengan robot
66
Z4 Z5 X4 X5 Y4 Y5 Z3 Z2
X3 X2
Y3 Y2 Z1 Y1
X1
Gambar 3.13 Hubungan antara Joint Lengan Pengendali dengan lengan robot
Keterangan : Tabel 3.3 hubungan lengan Pengendali dengan lengan Mekanik Robot
Pada Lengan Nama Joint
Pada Lengan Robot Pengendali
Joint-1 (Base Joint)
VR1
Servo 1 (Revolute Joint)
Joint-2
VR2
Servo 2 (Revolute Joint)
Joint-3
VR3
Servo 3 (Revolute Joint)
Joint-4
VR4
Servo 4 (Revolute Joint)
VR5 (Letaknya Joint-5
Servo 5 (Revolute Joint) Terpisah)
Tool-End-effector
VR6
Servo 6 (Prismatic Joint)
67 3.4
Diagram Blok Sistem
Gambar 3.14 Diagram Blok Sistem
Dari diagram blok pada gambar 3.3 diatas, dapat dilihat bahwa sistem pada prototype ini terbagi menjadi tiga bagian utama, yaitu : 1.
Pusat
Pengendali,
merupakan
rangkaian
dari
mikrokontroller
ATMega8535 yang digunakan sebagai pengendali dari keseluruhan sistem.
Mikrokontroller
berupa sinyal
analog.
Besarnya
sinyal
bergantung pada besarnya simpangan lengan pengendali yang memutar VR. 2.
Input, merupakan rangkaian dari VR1, VR2, VR3, VR4, dan VR5 yang berfungsi sebagai pemberi sinyal masukan kepada mikrokontroller berupa sinyal analog. Besarnya sinyal bergantung pada besarnya simpangan lengan pengendali yang memutar VR.
68 3.
Motor Penggerak, adalah lima buah motor servo yang berfungsi sebagai penggerak dari lengan robot. Dimana putaran dari motor servo bergantung pada lebar pulsa yang diberikan oleh mikrokontroller.
3.5
Cara Kerja System Cara kerja keseluruhan system secara garis besar dapat digambarkan dengan diagram blok lingkar tertutup dibawah ini : ATMega8535 r Variable Resisor (Lengan Mekanik)
e ADC
y Actuator (Motor Servo)
Kontroller
Lengan Robot ( °)
Driver Motor Servo
Gambar 3.15 Diagram Blok Lingkar Tertutup
Saat lengan pengendali digerakkan, VR akan ikut berputar dan memberikan besaran input (r) berupa sinyal analog pada mikrokontroller. VR akan memberikan nilai besaran secara terus menerus. Oleh karena itu kualitas VR sangat mempengaruhi kinerja keseluruhan dari sistem. Sinyal analog yang diberikan VR kemudian diubah menjadi sinyal digital oleh internal ADC (Analog to Digital Converter), yang terdapat pada ATMega8535, kemudian mikrokontroller akan memproses semua sinyal digital sesuai dengan program yang telah dibuat. Berdasarkan perintah pada program yang ada, mikrokontroller akan memberikan sinyal keluaran kepada motor servo. Sinyal ini akan
69 mengakibatkan motor servo berputar sehingga lengan robot dapat bergerak. Driver pada motor servo akan memberikan sinyal balikan kepada mikrokontroller berupa besarnya PWM yang telah diterima oleh motor servo.
3.6
Perancangan Alat Elektronika Sistem perancangan alat ini terbagi menjadi tiga bagian rangkaian utama, yaitu : bagian rangkaian input, bagian rangkaian catu daya, dan bagian rangkaian pengendali.
Rangkaian Input VCC1 VR1 PA0
VR
3.6.1
C12 10uF 0
Gambar 3.16 Rangkaian Sensor Potensiometer
Rangkaian transducer ini menggunakan Variable Resistor (VR) berupa potensiometer sebagai komponen utamanya. Fumgsi dari kapasitor pada rangkaian adalah untuk mengurangi noise. Rangkaian sensor ini berguna untuk memberikan data spesifik kepada mikroprosesor atas tiap – tiap pergerakan dari lengan pengendali. VR terletak pada masing – masing sendi dari lengan pengendali. VR akan berputar saat lengan pengendali digerakkan. Besar simpangan VR akan sama dengan besar simpangan dari lengan pengendali. Oleh karena itu VR
70 akan memberikan sinyal analog yang berbeda – beda terhadap tiap – tiap sudut dari pergerakan lengan pengendali. Karena VR memberikan sinyal secara terus menerus, maka penggunaan VR yang memiliki tegangan yang tetap pada tiap – tiap titiknya akan menambah tingkat kestabilan system. Tingkat ketelitian dari VR akan sangat mempengaruhi pergerakan dari lengan robot.
3.6.2
Rangkaian Catu Daya Rangkaian catu daya pada sistem ini digunakan untuk menghasilkan tegangan 5 volt DC yang digunakan untuk mengaktifkan mikrokontroller, sensor dan motor servo. Rangkaian ini menggunakan dioda bridge, transistor dan IC regulator. Fungsi dari dioda bridge ini adalah untuk mengubah fase tegangan dari tegangan bolak – balik (AC) ke searah (DC). Sedangkan transistor digunakan untuk menguatkan arus yang keluar dari dioda bridge. Dan yang terakhir IC regulator digunakan untuk membatasi tegangan yang akan didistribusikan pada implementasi alat. IC regulator yang digunakan pada rangkaian ini adalah IC regulator 7805.
71
Gambar 3.17 Rangkaian Catu Daya
3.6.3
Rangkaian Pengendali Mikrokontroller
pada
rangkaian
ini
berfungsi
sebagai
tempat
pengendalian alat dimana berisi penyimpanan semua program dan instruksi untuk menjalankan alat secara keseluruhan. Mikrokontroler juga digunakan sebagai pengolah data dari input yang berasal dari sensor – sensor kemudian di proses dengan instruksi yang sudah disimpan dalam mikrokontroler sehingga output berupa motor penggerak dapat bekerja sesuai dengan yang diinginkan. Mikrokontroler dapat bekerja dengan memberikan supply berupa tegangan sebesar 5 volt yang dihubungkan pada pin VCC. Pada mikrokontroler ini terdapat 4 buah port dimana masing – masing port terdapat 8 buah pin. Port – port ini berfungsi sebagai port paralel. Mikrokontroler juga memerlukan rangkaian pendukungnya, rangkaian tersebut antara lain : Power reser dan rangkaian on – chip osilator (clock generator). Rangkaian power reset berfungsi untuk mengembalikan program ke posisi awal. Rangkaian ini dibutuhkan apabila terjadi kesalahan (error) pada sistem, sehingga sistem dapat berada pada kondisi semula.
72 Mikroprosesor ATMega 8535 memiliki kondisi reset yang berbeda dari mikrokontroler keluarga MCS – 51. Pada ATMega8535, reset akan terjadi apabila pin reset diberi logika LOW selama dua siklus mesin. Oleh karena itu dibuatlah rangkaian sistem reset seperti pada gambar 3.6 dibawah ini,
Gambar 3.18 Rangkaian Sistem Reset
Rangkaian on-chip osilator menggunakan kristal dengan frekuensi 11.0592 MHz dan untuk menstabilkan sistem ditambahkan pula 2 buah kapasitor pada setiap input osilator sebesar 30pF. Berikut ini merupakan rangkaian dasar mikrokontroller ATMega8535
IC1 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
1 2 3 4 5 6 7 8
PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7
14 15 16 17 18 19 20 21
X2 X1
12 13
PB0 (T0) PB1 (T1) PB2 (AIN0) PB3 (AIN1) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TDX) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
(TOSC2) PC7 (TOSC1) PC6 PC5 PC4 PC3 PC2 PC1 PC0
X2 X1
AREF AGND
RST
9
RESET
AVCC
AT MEGA 8535 C1 X1 Y1 11.0592 X2
VCC 30pF C2
40 39 38 37 36 35 34 33
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
29 28 27 26 25 24 23 22
PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
32
AREF
31 30
VCC
R1 100 SW0 RST RST C3
30pF
Gambar 3.19 Rangkaian dasar Mikrokontroller ATMega8535
73
Dalam proses pengerjaan, harus diketahui berapa jumlah masukkan dan jumlah keluaran yang diperlukan. Selain itu juga perlu ditentukan komponen mana yang berfungsi sebagai masukkan dan komponen mana yang berfungsi sebagai keluaran, sehingga pengalamatan dapat diberikan. Setelah data yang diperlukan sudah lengkap maka dalam penyusunan program dapat dengan mudah dilakukan sehingga script pemrograman dari sistem kerja tersebut dapat dibuat dengan efektif dan efisien serta sempurna. Berikut ini akan dijabarkan alamat dari input dan output yang digunakan serta kegunaannya diperlihatkan pada tabel 3.4 dan 3.5 sebagai berikut :
Tabel 3.4 Alamat input (Lengan Pengendali) pada mikrokontroler
Alamat PORT/PIN Input
Penggunaan
Port A.0 / 40
Sensor VR 1
Port A.1 / 39
Sensor VR 2
Port A.2 / 38
Sensor VR 3
Port A.3 / 37
Sensor VR 4
Port A.4 / 36
Sensor VR 6
Port A.5/35
Sensor VR 5
X1 X2
Clock Generator
74 Tabel 3.5 Alamat Output (Lengan Robot) pada mikrokontroler
Alamat PORT/PIN Output
3.7
Penggunaan
Port C.0
Motor Servo 1
Port C.1
Motor Servo 2
Port C.2
Motor Servo 3
Port C.3
Motor Servo 4
Port C.4
Motor Servo 6
Port C.5
Motor Servo 5
Perancangan Perangkat Lunak Perangkat lunak pengendali sistem alat ini menggunakan Program bahasa basic yang di download ke memori mikrokontroller ATMega8535. Untuk membuat bahasa basic diperlukan suatu software, dalam hal ini software yang digunakan adalah BasComp ( Basic Compiler ), software ini selain dapat digunakan untuk membuat bahasa basic, dapat juga digunakan untuk mensimulasi hasil pemrograman yang telah dilakukan. Apabila terdapat suatu kesalahan pada program yang telah dibuat disediakan debugger yang dapat dimanfaatkan. Kemudian untuk mendownload semua program yang telah selesai maka digunakan download reader dengan bantuan hardware untuk memindahkannya ke IC mikrokontroller ATMega8535. Pada perancangan program untuk alat ini, penulis melakukan tahap – tahap sebagai berikut :
75 1.
Mencari data ADC titik nol (awal) dan maximum (akhir) pada motor servo
cara ini dilakukan dengan menyesuaikan posisi awal motor
servo setelah dipasang pada rancangan hingga menentukan posisi perpindahan sudut terjauh pada motorservo tersebut. 2.
Mencari data ADC titik nol (awal) dan maximum (akhir) pada potensiometer Cara ini sama dilakukan dengan dengan cara diatas menentukan posisi awal dan posisi terjauh pergerakan masing – masing joint lengan pengendali.
3.
Hubungkan Kedua data tersebut (Data motor servo dan potensiometer) untuk mencari rumus persamaannya
4.
Setelah Itu Implentasikan di Program
Berikut ini adalah Parameter Data yang digunakan untuk mengimplementasikan kedalam program : •
Mikrokontroler ATMega 8535 Memiliki Resolusi ADC sebesar 10 bit, sehingga data resolusi data yang dapat digunakan adalah 210 = 1024 data
•
Masing-Masing Motor Servo pada tiap joint lengan robot Memiliki Titik Maksimum (n°) dan Minimum ( 0°) untuk
Titik 0° khusus pada
pencarian data awal ini oleh penulis diasumsikan pada posisi (maksimum), sebagai contoh jika motor servo maksimum bergerak hingga 180° maka kita anggap posisi 0° adalah pada posisi - 180°. Kemudian Penulis mencari Data PWM titik maksimum dan minimum dengan cara mencoba menginputkan data PWM Kepada Masing – Masing motor
76 servo agar dapat juga mengetahui data PWM titik maksimum dan minimumnya. Pergerakannya berikut ini adalah tabel Posisi Maksimum dan Minimum Masing – Masing Servo dalam Ruang Kerja Lengan Robot Tersebut
Motor Servo
Titik Titik Minimum Maksimum ( n°) (n°)
Titik Minimum Data ADC PWM (uS)
Titik Maksimum Data ADC PWM (uS)
Motor Servo 1 (Base)
-90
90
50
240
Motor Servo 2
0
115
50
220
Motor Servo 3
-90
115
70
200
Motor Servo 4
-40
90
40
180
Motor Servo 5 (End-effector)
Posisi Tutup Grip
Posisi Buka Grip
80 (Buka Grip)
150 (Tutup Grip)
Motor Servo 6
-90
90
35
215
Tabel 3.6 Data Pergerakkan Sudut Maksimum dan Minimum Lengan Robot Motor Servo
•
Setelah Mendapatkan Data Motor Servo Diatas, Kemudian Mencari Data ADC pada setiap pergerakkan Potensiometer di setiap joint lengan pengendali dengan memposisikan parameter pergerakan sama dengan lengan robot motor servo, berikut ini tabel Data ADC potensiometer :
77 Titik batas minimum ( n°)
Titik batas maximum (n°)
Nilai Minimum ADC Potensiometer
Nilai Maksimum ADC Potensiometer
VR1 (Base Joint)
-90
90
0
620
VR2 (Link 1)
0
115
240
872
VR3 (Link 2)
-90
115
0
604
VR4 (Link 3)
-30
90
0
570
VR5 (Grip Buka Tutup)
0
80
0
130
VR6 (Putaran Endeffector)
-90
90
0
1000
Potensio meter
Tabel 3.7 Data ADC Potensiometer Pergerakkan Lengan Pengendali berdasarkan sudut maksimum dan minimum
Setelah Kedua Data Diperoleh Potensiometer)
Maka
Penulis
( Data Motor Sevo dan Data Langsung
Menghubungkan
atau
mengkorespondensikan kedua data tersebut agar dapat memperoleh rumus persamaan untuk tiap-tiap joint sebagai berikut :
78 Rumus persamaan umumnya adalah : Data Minimum Servo + (Data ADC potensio yang diterima – Data minimum ADC Potensio) * Perbandingan selisih maximum minimum data servo dengan Selisih maximum minimum data potensiometer Sebagai Contoh dalam mencari rumus adalah sebagai berikut kita ambil contoh pada Motor Servo 1 : •
Data Minimum Servo 1 (Sudut -90°) : 50 us
•
Data Maksimum Servo 1 (Sudut 90°) : 240 us
•
Maka Selisih Data Maksimum Minimum Motor Servo 1 : 240 – 50 = 190 ...........................................Hasil (1)
•
Data Minimum VR1 (sudut -90°) : 0
•
Data Maksimum VR1 (Sudut 90°) : 620
•
Maka Selisih Data Maksimum Minimum VR 1 (Potensiometer 1 ) : 620 – 0 = 620.........................................Hasil (2)
Dari Hasil (1) dan (2), didapat untuk mencari persamaan : = 190 / 620 = 19 / 62 ........................Hasil (3) Setelah itu, Data Min Motor Servo 1 + (Input Data ADC – Data Min VR 1) x Hasil (3) Maka Hasil Akhirnya adalah, 50 + (Input Data ADC dari Potensiometer – 240) x 19/62
Berikut ini adalah tabel lengkap hasil rumus persamaan untuk tiap-tiap joint yang nantinya rumus ini akan diimplementasikan kedalam program.
79 Korespondensi
Rumus Persamaan
M Servo 1 dan VR1
50 + ( Input Data ADC – 0) * 19/62
M Servo 2 dan VR2
50 + ( Input Data ADC – 240) * 85/316
M Servo 3 dan VR3
70 + ( Input Data ADC – 0) * 7/3
M Servo 4 dan VR4
40 + ( Input Data ADC – 0) * 14/57
M Servo 5 dan VR5
80 + ( Input Data ADC – 0) * 70/13
M Servo 6 dan VR6
35 + ( Input Data ADC – 0) * 180/1000
Tabel 3.8 Rumus Persamaan Korespondensi Data digitsl Servo dan potensiometer
Setelah
Rumus
Persamaan
didapat
maka
penulis
langsung
mengimplementasikaannya kedalam program.
3.8
Cara Kerja Sistem Program Urutan dari kerja sistem Program harus berdasarkan flowchart yang sudah dibuat. Flow chart ini dibuat untuk memudahkan dalam proses perancangan pemrograman. Gambar 3.8 berikut ini merupakan diagram alir dari rangkaian pengendali
80 Start
Inisialisasi
Input VR 1
Ada Perubahan ?
Y
Baca Perubahan VR1
Konversi Nilai VR1 kedalam nilai digital
Gerakkan Motor Servo 1
Y
Baca Perubahan VR2
Konversi Nilai VR2 kedalam nilai digital
Gerakkan Motor Servo 2
Y
Baca Perubahan VR3
Konversi Nilai VR3 kedalam nilai digital
Gerakkan Motor Servo 3
Y
Baca Perubahan VR4
Konversi Nilai VR 4 kedalam nilai digital
Gerakkan Motor Servo 4
Y
Baca Perubahan VR5
Konversi Nilai VR5 kedalam nilai digital
Gerakkan Motor Servo 5
Y
Baca Perubahan VR6
Konversi Nilai VR6 kedalam nilai digital
Gerakkan Motor Servo 6
N
Input VR 2
Ada Perubahan ? N
Input VR 3
Ada Perubahan ? N
Input VR 4
Ada Perubahan ? N
Input VR 5
Ada Perubahan ? N
Input VR 5
Ada Perubahan ? N
Gambar 3.20 Diagram alir cara kerja keseluruhan system
81 Pada diagram alir terdapat konversi nilai VR kedalam nilai digital. Mikrokontroler melakukan pengkonversian data analog ke digital dengan menggunakan ADC internal. Pengkonversian dilakukan dengan cara pembacaan multikanal terlebih dahulu. Proses ini dilakukan secara bergantian. Adapun perhitungan dalam program untuk pengkonversian tersebut dapat dijelaskan dengan perhitungan matematis berikut ini :
Resolusi ADC = 10 bit = 210 = 1024 data digital Data analog :
Min = 0 V Max = 5 V
Linearitas :
Gambar 3.21 Linearitas Data digital dan data analog
82
( x1, y1) = (0,0) ( x 2, y 2) = (5,1024) y − y1 x − x1 = y 2 − y1 x 2 − x1 y−0 x−0 = 1024 − 0 5 − 0 y x = 1024 5 x1024 y= 5
Data digital =
VinAna log x1024 5
Dari perhitungan dapat disimpulkan, semakin tinggi resolusi ADC semakin banyak nilai analog yang dikonversikan kedalam nilai digital. Hal tersebut mengakibatkan semakin tinggi tingkat ketelitian sistem karena semakin banyak nilai analog yang dapat diproses Penjelasan Diagram Alir : 1.
Pada saat dinyalakan mikrokontroller akan melakukan inisialisasi terlebih dahulu.
2.
Kemudian mikrokontroler akan memeriksa VR1, Jika VR1 mengalami perubahan maka terjadi langkah – langkah berikut : a. Mikrokontroller akan membaca nilai perubahan VR1 b. Melakukan konversi nilai VR1 kedalam nilai digital c. Menggerakkan motor servo 1 sesuai dengan data yang telah diproses, setelah itu mikrokontroler akan kembali memeriksa VR1
83 3.
Jika VR1 tidak mengalami perubahan maka mikrokontroler akan berlanjut ke instruksi selanjutnya.
4.
Mikrokontroler akan memeriksa VR2, jika VR2 mengalami perubahan maka terjadi langkah – langkah berikut : a.
Mikrokontroller akan membaca nilai perubahan VR2
b.
Melakukan konversi nilai VR2 kedalam nilai digital
c.
Menggerakkan motor servo 2 sesuai dengan data yang telah diproses, setelah itu mikrokontroler akan kembali memeriksa VR2
5.
Jika VR2 tidak mengalami perubahan maka mikrokontroler akan berlanjut ke instruksi selanjutnya.
6.
Mikrokontroler akan memeriksa VR3, jika VR3 mengalami perubahan maka terjadi langkah – langkah berikut : a.
Mikrokontroller akan membaca nilai perubahan VR3
b.
Melakukan konversi nilai VR3 kedalam nilai digital
c.
Menggerakkan motor servo 3 sesuai dengan data yang telah diproses, setelah itu mikrokontroler akan kembali memeriksa VR3
7.
Jika VR3 tidak mengalami perubahan maka mikrokontroler akan berlanjut ke instruksi selanjutnya.
8.
Mikrokontroler akan memeriksa VR4, jika VR4 mengalami perubahan maka terjadi langkah – langkah berikut : a.
Mikrokontroller akan membaca nilai perubahan VR4
b.
Melakukan konversi nilai VR4 kedalam nilai digital
c.
Menggerakkan motor servo 4 sesuai dengan data yang telah diproses, setelah itu mikrokontroler akan kembali memeriksa VR4
84
9.
Jika VR4 tidak mengalami perubahan maka mikrokontroler akan berlanjut ke instruksi selanjutnya.
10. Mikrokontroler akan memeriksa VR5, jika VR5 mengalami perubahan maka terjadi langkah – langkah berikut : a.
Mikrokontroller akan membaca nilai perubahan VR5
b.
Melakukan konversi nilai VR5 kedalam nilai digital
c.
Menggerakkan motor servo 5 sesuai dengan data yang telah diproses, setelah itu mikrokontroler akan kembali memeriksa VR5
11. Proses ini akan berlangsung terus menerus sampai nilai VR1, VR2, VR3, VR4, dan VR5 tidak mengalami perubahan lagi