You are on page 1of 20

SISTEM PENGENDALI LENGAN ROBOT DENGAN

INTERFACING JAVA BERBASIS


ATMEGA8535
Naskah Publikasi

Diajukan oleh :
Masykuri Syaifullah

07.01.2263

JURUSAN TEKNIK INFORMATIKA


SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
2010

SISTEM PENGENDALI LENGAN ROBOT DENGAN


INTERFACING JAVA BERBASIS
ATMEGA8535
Masykuri Syaifullah
Jurusan D3 Teknik Informatika
STMIK AMIKOM YOGYAKARTA
ROBOT ARM CONTROL SYSTEM WITH JAVA
INTERFACING BASED ATMEGA8535
ABSTRACT
Humans currently confronted with machines, robots and electronic
equipment is increasingly sophisticated and complex it takes a special ability to
control it. Therefore, an interfacing that is used to control the equipment with
ease badly needed by humans. In this final project will describe on the application
that was built to control a robot arm based ATMega8535 using JAVATM
programming language that can run on various platforms including mobile
phones.
The shooting went system consists of two units of interdependent systems
and cant be walked alone desktop applications and the system is a robotic
arm. On this desktop application running on the java virtual machine on a
computer that has a DB-9 serial connector, then this application will pass data
through cables connected to this connector and a robotic arm. so that the robot
has become the second system will move in accordance with commands sent
within the data by users.
The results of this project showed that the control of robots, especially
robotic arm with interfacing using java is much more effective and easier.
because users only need to use a mouse or keyboard to run it and also because the
controlling application built using java language so this application can run
without having to think about compatibility of a specific operating system already
installed java runtime environment. In future development side of controlling the
application may be passed in the Internet network so that it can be used, although
from a very far distance, anywhere and can be used with mobile devices though.
Keywords - JNI, JAVA, Robot Arm, ATMega8535, Serial communication

1. Pendahuluan
Perkembangan industri menuntut penggunaan alat bantu yang dapat
mengoptimal-kan sumber-sumber daya (resources) yang ada agar dapat bersaing
di pasar bebas. Robot merupakan salah satu alat bantu yang dalam kondisi tertentu
sangat diperlukan dalam industri. Terdapat kondisi-kondisi tertentu dalam industri
yang tidak mungkin ditangani oleh manusia seperti kebutuhan akan akurasi yang
tinggi, tenaga yang besar, kecepatan yang tinggi atau resiko yang tinggi. Keadaankeadaan ini dapat diatasi dengan penggunaan robot.
Pada teknologi robot saat ini, permasalahan interfacing untuk mengontrol
robot dapat menjadi suatu permasalahan tersendiri. Sedangkan kita dihadapkan
dengan perkembangan teknologi yang begitu cepat. Hal ini juga didukung dengan
adanya bahasa tingkat tinggi berorientasi objek, multiplatform dan kita dapat
menggunakannya dengan gratis dan legal. Perkembangan ini memicu kebutuhan
akan penerapan teknologi JAVAtm ini disegala bidang termasuk dibidang
teknologi robot.
Implementasi nyata dari perkembangan robot di dunia industri adalah
lengan robot yang memiliki banyak fungsi, diantaranya lengan robot pengelas,
lengan pemindah barang yang dapat di setting dari jarak jauh. Dengan adanya
lengan robot ini pekerjaan yang memerlukan tingkat kesulitan yang tinggi di dunia
industri dapat ditangani.
Pada proyek tugas akhir ini penulis akan membuat suatu aplikasi desktop
yang akan mengendalikan sebuah lengan robot. Antara lengan robot dan aplikasi
desktop akan terhubung dengan sebuah konektor yang mempergunakan

komunikasi serial untuk mengirimkan datanya, sehingga robot tadi bergerak


sesuai dengan perintah yang kita kirimkan. Dalam kesempatan ini proyek tugas
akhir ini akan di beri judul Sistem Pengendali Lengan Robot dengan Interfacing
Java Berbasis ATMega8535.
2. Landasan Teori
Dasar teori dari Sistem Pengandali Lengan Robot dengan Interfacing Java
Berbasis ATMega8535.
2.1 Dasar Teori
2.1.1 Derajat Kebebasan
Derajat kebebasan merupakan istilah yang sangat penting untuk dipahami.
Derajat kebebasan adalah sambungan pada lengan, dapat dibengkokkan, diputar
maupun digeser. Jumlah derajat kebebasan dapat diketahui dari banyaknya
aktuator dari lengan robot. Derajat kebebasan digunakan untuk mengetahui
bagaimana robot nanti akan bergerak, tingkat kerumitan algoritma kendali, jumlah
motor dan encoder dari robot yang dibuat.
2.1.2 Kaidah Denavit-Hartenberg
Kaidah Denavit-Hartenberg merupakan aturan yang digunakan dalam
perancangan robotika yang di perkenalkan oleh Jaques Denavit dan Ricard S
Hartenberg. Aturan tersebut menyatakan hanya terdapat dua gerakan yang
mungkin terjadi yaitu bergeser dan berputar serta hanya terdapat 3 sumbu yang
dapat terjadi yaitu sumbu x, y dan z

2.1.3 Ruang Kerja Robot


Ruang kerja robot atau ruang jangkauan robot adalah semua tempat yang
dapat dijangkau oleh end effector. Hal ini tergantung pada sudut derajat
kebebasanya dan panjang jangkauan lengan, ruang kerja ini sangat tergantung dari
konfigurasi dari robot yang dibuat.
Berikut ini merupakan tipe-tipe robot berdasarkan ruang kerjanya:
a.

Robot Lengan Gantry Cartesian

b. Robot Lengan Silinder


c. Robot Lengan Spherical
d. Robot Lengan Scara
e. Robot Lengan Artikulasi
f. Robot Lengan Paralel
2.1.4 Komunikasi Serial
Dalam dunia telekomunikasi dan computer komunikasi serial adalah suatu
proses pengiriman data secara sequential atau satu persatu melalui kanal
informasi. Komunikasi ini mempunyai kecepatan transfer data yang rendah tetapi
cocok untuk komunikasi jarak jauh.
Komunikasi serial mempunyai parameter yang harus ditentukan yaitu :
1. Baud Rate atau kecepatan transmisi data.
2. Data bit.
3. Parity bit yang terdiri dari even dan odd parity bit biasanya untuk error
detection
4. Stopbit

Gambar 2.1 Format Pada Komunikasi Data Serial


2.1.5 Servo
MotorServo atau Servo adalah motor kecil yang dengan rangkaian
elektronik yang memantau dan mengontrol posisi putaran secara presisi,
rangkaian elektronik ini digunakan untuk menerima panjang pulsa yang berbeda
kemudia menterjemahkannya kemudian mengirimkan perintah mekanik pada
motor di lokasi sudut yang diinginkan.
2.1.6 Mikrokontroler
Mikrokontroler adalah piranti elektronik berupa IC (Integrated
Circuit) yang memiliki kemampuan manipulasi data (informasi) berdasarkan
suatu urutan instruksi (program) yang dibuat oleh programmer.
2.1.6.1 ATMega8535
Mikrokontroler tipe ATMega8535 termasuk dalam keluarga megaAVR
merupakan suatu mikrokomputer dengan lebar bus data 8 bit berbasis RISC (
Reduced Instruction Set Computing ) dengan kecepatan maksimal 16 MHz yang
menggunakan konsumsi daya rendah.
2.1.7 Bahasa Basic
BASIC adalah singkatan dari Beginners All-puporse Symbolic Instruction Code
yang merupakan salah satu bahasa pemrograman tingkat tinggi. Secara harfiah,
Basic memiliki arti kode instruksi simbolis semua tujuan yang dapat digunakan
oleh para pemula. Memang, istilah Bahasa BASIC disini juga bisa diartikan
sebagai bahasa untuk pemula,akan tetapi hal tesebut kurang tepat, mengingat
BASIC banyak digunakan oleh para programmer ahli. Basic dikembangkan oleh

John Gorge Kemeny dan Thomas Eugene Kurtz yang berasal dari Dartmounth
College pada tahun 1963.
2.1.8 Bahasa JAVA
Java merupakan bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Bahasa java dikembangkan oleh Sun
Microsystem dan mulai di terbitkan pada tahun 1995. Salah satu kelebihan dari
bahasa java yaitu dapat dijalankan diberbagai operating sistem, ini dimungkinkan
apabila JRE (java runtime environment) atau yang biasa disebut JVM (java virtual
machine) sudah terinstal pada operating sistem tersebut.
3. GAMBARAN UMUM
Sistem pengendali lengan robot adalah sebuah sistem yang dibuat dengan
menggunakan bahasa JAVATM. Sistem ini kemudian digunakan untuk
mengendalikan sebuah robot lengan melalui perantara sebuah konektor serial.
Robot dibuat dengan actuator berupa motor servo yang dapat dikendalikan
besaran sudutnya. Motor servo ini di kendalikan secara langsung oleh sistem
kendali yang menggunkan mikrokontroller ATMega8535 yang mendapat data
berupa instruksi pergerakan motor servo.

Gambar 3.1 Rancangan Seluruh Sistem

3.1 Perancangan Sistem


Sistem yang di bangun terdiri dari dua sub unit sistem, yaitu robot lengan
dan aplikasi java.
3.1.1 Robot Lengan
3.1.1.1 Elektronis
Sistem perangkat keras dibagi menjadi tiga buah proses, yaitu input,
proses dan output.
3.1.1.1.1 Input
Data yang digunakan tidak didapat dari sensor, akan tetapi data yang
digunakan untuk menggerakan lengan robot didapat dari computer yang diterima
oleh PORTD.0 melewati rangkain shift RS-232 trlebih dahulu.
3.1.1.1.2 Proses
Mikrokontroller produk ATMEL dengan seri ATmega8535 menjadi
komponen

utama

pada

rangkaian

kendali

lengan

robot

ini.

Didalam

mikrokontroller ini tertanam program yang dibuat untuk mengendalikan semua


gerak dari lengan robot. Agar mikrokontroller ini dapat dipergunakan dengan baik
maka perlu dibuat minimum sistem. Minimum sistem merupakan rangkaian
sederhana yang dibutuhkan oleh mikrokontroller agar bisa berjalan dengan baik.
3.1.1.1.3 Output
Hasil output terdiri dari data yang dikirimkan kepada komputer melalui
PORTD.1 yang kemudian dikonversi oleh rangkaian komunikasi pada gambar3.1
diatas. Selain data yang dilewatkan pada port komunikasi, hasil output juga di

keluarkan pada PORTA.0-7. Pada PORTA.0-7 kemudian di hubungkan pada


motorservo yang berfungsi sebagai penggerak utama dari lengan robot ini.
3.1.1.1.4 Catu Daya
Rangkaian power supply dirancang sebagai penyuplai tegangan pada
mikrokontroler yang membutuhkan tegangan +5V. Perancangan power supply
merupakan salah satu perancangan yang sangat vital karena diposisikan sebagai
sumber bagi tiap tiap komponen. Komponen pengendali mikrokontroler
membutuhkan tegangan yang stabil sebesar +5V.
3.1.1.2 Mekanis
Rancangan lengan robot yang di pakai pada tugas akhir ini adalah
rancangan robot artikulasi, rancangan ini dipilih karena pada rancangan robot
artikulasi sudut yang dapat di ekplorasi oleh end effector sangat luas, selain itu
rancangan lengan robot artikulasilah yang memiliki struktur menyerupai lengan
manusia.
Lengan robot yang akan dibuat memiliki lima derajat kebebasan. Desain
derajat kebebasan ini di simbolkan dengan lingkaran besar dengan titik ditengah
atau dengan symbol segitiga saling behadapan untuk setiap derajat kebebasan.
Dalam mendesain dan menentukan banyaknya derajat kebebasan end effector
tidak perlu didefinisikan, karena end effector memiliki tingkat kompleksitasannya
sendiri dan disarankan didesain secara terpisah dari desain utama dari lengan
robot.

Gambar 3.2 Rancangan Derajat Kebebasan Lengan


3.1.3 Perangkat Lunak
3.1.3.1 Aplikasi Mikrokontroller
Berikut adalah skema perancangan program dari pengendali lengan robot
yang ditanamkan pada mirkokontroler ATMEGA8535. Dimana program akan
dibuat menggunakan BascomAVR

Gambar 3.3 State Machine Diagram Sistem pada Mikrokontroller

Perangkat lunak yang di tanam di mikrokontroller memiliki pola kerja


seperti diagram diatas. Data yang dikirim kemikrokontroller adalah arah gerak dan
data kode pin(channel) dari mikrokontoller yang terpasang motor servo. Sehingga
motor servo tersebut hanya akan bergerak sesuai dengan arah gerak dan
chanelnya.
3.3.2 Perancangan Aplikasi Desktop
3.3.2.1 Aplikasi Desktop
Berikut ini adalah rancangan desain antar muka dari aplikasi desktop yang
digunakan untuk mengendalikan lengan robot.

Gambar 3.4 Rancangan Desain Antar Muka Kendali Utama


Tampilan diatas digunakan untuk menggerakkan semua aktifitas dari
lengan robot. Diatas ada combobox yang digunakan untuk memilih jalur
komunikasi yang serial yang akan kita gunakan, dan dibawahnya terdapat status
dari aplikasi apakah sedang terhubung atau tidak sserta tombol kendali utama
yang digunakan untuk menggerakkan robot.

Gambar 3.5 Rancangan Desain Antar Muka Port Setting


Digunakan untuk mengubah konfigurasi settingan dari komunikasi
serial.dengan adanya aplikasi ini user tidak perlu mengubahnya dengan mengubah
baris kode, melainkan hanya dengan melakukan clik. Kemudian ada sebuah form
lagi yaitu menu help yang digunakan pengguna untuk mengetahu bagaimana
mengoperasikan aplikasi yang telah dibuat. berikut ini disertakan rancangan class
diagram dari aplikasi java :

Gambar 3.6 Rancangan Desain Class Diagram

4. PEMBAHASAN
4.1 Elektronik keseluruhan
Rangkaian keseluruhan terdapat rangkaian mikrokontroler yang hanya
dapat di aliri tegangan sebesar +5 volt. Akan tetapi dengan rangkaian power
supply kita dapat memberinya tegangan +12 volt. Dalam rangkaian kendali lengan
robot ini ada 19 buah pin mikrokontroller yang digunakan dari 40 pin yang
tersedia. Dengan 8 buah dari PORTA dari PINA.0 hingga PINA.7, 2 buah PIN
untuk komunikasi USART yang tedapat pada PORTD di PIND.0 dan PIND.1, 5
buah pin yang digunakan untuk mendownload program, 2 buah pin untuk external
clock, dan 2 buah pin yang digunakan untuk mensuplai catu daya pada rangkaian
dan mikrokontroller sebagai pusat kendalinya.
Didalam rangkaian elektronik ini ada tiga buah blok rangkaian yang sangat
penting, yaitu blok rangkaian shift-232 yang digunakan sebagai output atau pun
input yang berada di PORTD.0 dan PORTD.1, kemudian blok proses yang berisi
minimum sistem agar mikrokontroller ATMega8535 dapat berjalan dengan baik
dan rangkaian yang terakhir yaitu rangkaian output yang menggunakan motor
servo.

Gambar 4.1 Rangkaian Mainboard

Gambar 4.2 Skema Rangkaian Elektronis Keseluruhan


4.1 Mekanik Keseluruhan
Pada bagian ini adalah menampilkan keseluruhan dari rancangan mekanik
yang dibuat berdasarkan tipe robot lengan artikulasi.

Gambar 4.4 Rangka Mekanik Keseluruhan


4.1 Aplikasi Mikrokontroller
Program yang download pada mikrokontroller dibuat menggunakan
bahasa basic dengan IDE BascomAVR. Alur proses dari program yang dibuat
yaitu dengan menangkap data yang dikirimkan oleh aplikasi desktop pada
komputer yang berupa derajat setiap port keluaran, kemudian data ini di olah
sehingga menjadi nilai yang digunakan untuk membangkitkan pulsa yang dapat
menstimulasi motor servo bergerak dengan sudut yang di inginkan.
4.1 Aplikasi Desktop
Sebelumnya telah disebutkan bahwa aplikasi pengontrol lengan robot ini
terdiri dari tiga buah form yang dapat digunakan. Form utama yang digunakan
sebagai antar muka kendali utama dari robot, form setting port yang digunakan
sebagai konfigurasi komunikasi yang dapat diatur sendiri oleh pengguna dan form
help and about sebagai panduan user untuk menggunkan program ini.

Gambar 4.5 Interface Utama Kendali Lengan Robot

Gambar 4.5 Interface Konfigurasi Port Serial

TABEL PERCOBAAN
Untuk mengetahui apakah besarnya sudut dengan timer yang diberikan
sesuai atau tidak maka perlu dilakukan pengujian berikut ini adalah hasil dari
pengujian besarnya nilai sudut dengan nilai timer1 yang kita berikan.
Tabel 4.1 Daftar Pengujian timer1 pada Servo
No

Timer1 Value

Derajat

Period Pulsa

1.

58900

600 uSec

2.

48947

90

1500 uSec

3.

43417

180

2000 uSec

Tabel diatas menunjukkan bahwa dengan memberikan nilai timer1 berupa


sebuah angka timer1 value diatas maka dapat kita ketahui besarnya sudut dari
motor servo.
Kemudian setelah semua sistem telah disatukan maka tinggal kita uji
seluruh aplikasi, mulai dari aplikasi desktop hingga lengan robotnya. Berikut ini
adalah daftar tabel hasil pengujian seluruh sistem.
Tabel 4.2 Daftar Pengujian Keseluruhan Sistem
No

Data yang dikirimkan

Derajat

ket

1.

180+180+180+180+180+180+180+180+#

180

sesuai

2.

090+090+090+090+090+090+090+090+#

90

sesuai

3.

045+045+045+045+045+045+045+045+#

45

sesuai

4.

000+000+000+000+000+000+000+000+#

sesuai

5.1 PENUTUP
5.1.1 KESIMPULAN
Setelah semua pembahasan dan penjelasan materi maupun implementasi
program di kemukakan, maka penulis menarik kesimpulan mengenai pokok
permasalahan bab-bab sebelumnya:
1. Mikrokontroler ATMega8535 dapat digunakan sebagai sistem kendali
lengan robot.
2. Penentuan mekanik tipe lengan robot yang di pakai tergantung dengan
cara kerja dari sistem yang akan dibuat.
3. Sistem dapat berjalan apabila terdapat Java Runtime Environment di
sistem operasinya.
4. Sistem dapat berjalan apabila terdapat serial konektor pada komputer.
5. Sistem dapat berjalan dengan baik apabila aplikasi Dekstop dan lengan
robot hidup dan terkoneksi.
5.1.2 SARAN
Adapun saran yang dapat di ajukan guna untuk mengembangkan dari
system kendali lengan robot yang telah dibuat yaitu:
1. Pengembangan kendali lengan robot dengan mengunakan modul berbasis
IP sehingga akan semakin banyak lengan robot yang dapat dikendalikan
oleh sebuah computer.

2. Pengembangan dalam aspek sensor, yaitu menggunakan sensor rotary


encoder agar besarnya sudut yang dibentuk oleh sendi setiap lengan robot
dapat di monitoring.
3. Di kembangkan dalam komunikasinya tanpa menggunakan perangkat
kabel.
4. Pengembangan aplikasi yang dapat mengendalikan robot melewati
jaringan internet.

You might also like