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 Z2 Y6 X5 Z4 X6 Z6 X4 X3 X2 Y2 Y4 Y3 Z1 WORLD X1 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 Min Max Range Joint 1 ( Base Joint) -90 90 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.
Pada Joint Link 3 ini, untuk posisi minimal hingga -90 dapat tercapai jika posisi Joint 1 berada di posisi antara sudut 48 hingga 110. 61 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 130 90-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 X2 X1 Y5 Z4 Z1 Y2 X4 JOINT-4 Tool End-Effector Z3 Y4 JOINT-3 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 Nama Joint Pada Lengan Manusia Pada Lengan 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 Joint-5 Diputar manual dengan tangan kiri VR-5 (letaknya Terpisah) Tool-End-effector Jari Telunjuk VR-6 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
X4 Z4 Z5 X5 66 Y4 Y5 X3 Z3 Z2 Y3 Y2 X2 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 Nama Joint Pada Lengan Pengendali Pada Lengan Robot 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) Joint-5 VR5 (Letaknya Terpisah) Servo 5 (Revolute Joint) 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 : r Variable Resisor (Lengan Mekanik) ADC ATMega8535 e Kontroller Actuator (Motor Servo) y 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. 3.6.1 Rangkaian Input VCC1 VR1 VR PA0 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 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 1 2 3 4 5 6 7 8 IC1 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) 40 39 38 37 36 35 34 33 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 14 15 16 17 18 19 20 21 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 29 28 27 26 25 24 23 22 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 X2 X1 12 13 X2 X1 AREF AGND 32 31 AREF RST 9 RESET AVCC 30 VCC X1 Y1 11.0592 X2 AT MEGA 8535 C1 30pF C2 30pF VCC R1 100 SW0 RST C3 RST 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 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 3.7 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 :
1. Mencari data ADC titik nol (awal) dan maximum (akhir) pada motor 75 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 2 10 = 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 Minimum ( n ) Titik Maksimum (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 Potensio meter Titik batas minimum ( n ) Titik batas maximum (n ) Nilai Minimum ADC Potensiometer Nilai Maksimum ADC Potensiometer VR1 (Base Joint) VR2 (Link 1) VR3 (Link 2) VR4 (Link 3) VR5 (Grip Buka Tutup) -90 90 0 620 0 115 240 872-90 115 0 604-30 90 0 570 0 80 0 130 VR6 (Putaran Endeffector) -90 90 0 1000 Tabel 3.7 Data ADC Potensiometer Pergerakkan Lengan Pengendali berdasarkan sudut maksimum dan minimum Setelah Kedua Data Diperoleh ( Data Motor Sevo dan Data Potensiometer) Maka Penulis 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 N Input VR 2 Ada Perubahan? Y Baca Perubahan VR2 Konversi Nilai VR2 kedalam nilai digital Gerakkan Motor Servo 2 N Input VR 3 Ada Perubahan? Y Baca Perubahan VR3 Konversi Nilai VR3 kedalam nilai digital Gerakkan Motor Servo 3 N Input VR 4 Ada Perubahan? Y Baca Perubahan VR4 Konversi Nilai VR 4 kedalam nilai digital Gerakkan Motor Servo 4 N Input VR 5 Ada Perubahan? Y Baca Perubahan VR5 Konversi Nilai VR5 kedalam nilai digital Gerakkan Motor Servo 5 N Input VR 5 Ada Perubahan? Y Baca Perubahan VR6 Konversi Nilai VR6 kedalam nilai digital Gerakkan Motor Servo 6 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 = 2 10 = 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) ( x2, y2) = (5,1024) y y1 x x1 = y2 y1 x2 x1 y 0 x 0 = 1024 0 5 0 y x = 1024 5 x1024 y = 5 VinAna log Data digital = x 1024 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