5 BAB II LANDASAN TEORI Untuk merancang sistem robot kontur

advertisement
5
BAB II
LANDASAN TEORI
Untuk merancang sistem robot kontur kartesian, diperlukan beberapa
pemahaman teori yang merupakan dasar dari pembentukan sistem yang akan
diimplementasikan. Berawal dari pemahaman input code – G, pemrograman
dengan menggunakan visual basic, PIO sebagai gerbang antar muka penghubung
ke perangkat luar sampai dengan stepper driver yang akan digunakan untuk
menggerakan motor stepper sebagai aktuator dari lengan-lengan robot kartesian.
2.1 G-Code
G-Code adalah istilah yang biasanya digunakan pada pemrograman bahasa
NC ( Numerical Control ) yang biasa digunakan pada beberapa implementasi
teknik. Untuk pertama kalinya sistem NC diterapkan di labolatorium MIT
servomechanics di sekitar awal tahun 1950. Semenjak itu sistem NC ini mulai
diterapkah oleh beberapa organisasi manufaktur baik itu komersil maupun non
komersil. Standarisasi utama dari versi code-G ini diresmikan di Amerika serikat
oleh Electronic Industries Alliance di awal tahun 1960’an.
6
Revisi terakhir telah di sepakati pada bulan Februari 1980 dengan istilah RS274D.
Di Eropa dikenal dengan istilah standar DIN66025 / ISO6983.
Beberapa pengembangan ditambahkan secara terpisah oleh beberapa produsen
kontrol manufaktur dan peralatan permesinan manufaktur. Sehingga operator
harus memahami beberapa code yang lebih spesifik tergantung pada masingmasing produk manufaktur tersebut. Secara umum Code-G ini merupakan code
yang memerintahkan perangkat mesin untuk melakukan eksekusi tertentu seperti :

Pergerakan dengan kecepatan tertentu

Mengontrol pergerakan yang membentuk garis lurus maupun membentuk
sudut tertentu.

Penggabungan dari beberapa pergerakan seperti membentuk material
berlubang, pemotongan benda kerja dengan dimensi tertentu, maupun
penambahan bentuk dekoratif pada permukaan benda kerja, dll.
Hampir ada seratus Code-G yang sudah distandarisasikan dan juga digunakan
dibeberapa manufaktur permesinan mulai dari G00 sampai dengan G99 yang
masing-masing mempunyai fungsi code yang berbeda-beda. Namum pada
implementasi robot kartesian ini akan diterapkan hanya beberapa contoh G-Code
dasar yang sering digunakan yaitu :
Tabel 2.1.1 Contoh perintah G-Code dasar
G-Code
Fungsi Code
G00
G01
G02
G03
Pergerakan pemosisian ke koordinat tertentu
Pergerakan interpolasi linear atau garis lurus
Pergerakan melingkar searah pergerakan jarum jam
Pergerakan melingkar berlawanan arah pergerakan jarum jam
Untuk melengkapi perintah pergerakan, ditambahkan beberapa code tambahan
yang sudah distandarisasi sebagai code informasi mengenai pergerakan pada saat
dilakukan eksekusi. Dari standarisasi yang ada code informasi ini dimulai dari
huruf A sampai dengan huruf Z yang masing-masing code informasi mempunyai
fungsi code informasi yang berbeda-beda.
7
Berikut beberapa contoh Code Informasi dasar yang sering disertakan pada satu
baris Code-G yaitu :
Tabel 2.1.2 Contoh perintah code informasi dasar
Variabel
Fungsi Code
I
J
N
Menerangkan jarak radius arah X-axis pada perintah G02 atau G03
Menerangkan jarak radius arah Y-axis pada perintah G02 atau G03
Nomor baris pada baris pemrograman
X
Absolute atau incremental posisi koordinat pada sumbu X
Y
Absolute atau incremental posisi koordinat pada sumbu Y
Z
Absolute atau incremental posisi koordinat pada sumbu Z
Sehingga dalam satu baris program G-Code dapat ditambahkan beberapa code
informasi, sebagai contoh :
N001 G01
X50.0
Y50.0
N002 G02
X100.0
Y100.0
I0.0
J-50.0
Pada implementasi robot kartesian ini menggunakan metoda absolute dimana titik
akhir dari suatu baris perintah akan dijadikan titik koordinat awal untuk
pergerakan baris perintah berikutnya.
2.2 Software pemrograman Microsoft Visual Basic 6.0
Bahasa Basic pada dasarnya adalah bahasa yang mudah dimengerti
sehingga pemrograman di dalam bahasa Basic dapat dengan mudah dilakukan
meskipun oleh orang yang baru belajar membuat program. Hal ini lebih mudah
lagi setelah hadirnya Microsoft Visual Basic, yang dibangun dari ide untuk
membuat bahasa yang sederhana dan mudah dalam pembuatan scriptnya (simple
scripting language) untuk graphic user interface yang dikembangkan dalam
sistem operasi Microsoft Windows. Dengan teknik pemrograman visual yang
memungkinkan penggunanya untuk berkreasi lebih baik dalam menghasilkan
suatu program aplikasi.
8
Ini terlihat dari dasar pembuatan dalam visual basic adalah FORM, dimana
pengguna dapat mengatur tampilan form kemudian dijalankan dalam script yang
sangat mudah.
Keunggulan penggunaan Visual Basic ditandai dengan kemampuan Visual Basic
untuk dapat berinteraksi dengan aplikasi lain di dalam sistem operasi
Windows
dengan komponen ActiveX
Control.
Dengan
komponen ini
memungkinkan penguna untuk memanggil dan menggunakan semua model
data yang ada di dalam sistem operasi windows. Hal ini juga ditunjang
dengan teknik pemrograman di dalam Visual Basic yang mengadopsi dua
macam jenis pemrograman yaitu Pemrograman Visual dan Object Oriented
Programming (OOP).
Visual Basic 6.0 sebetulnya perkembangan dari versi sebelumnya
dengan beberapa penambahan komponen yang sedang tren saat ini, seperti
kemampuan pemrograman internet dengan DHTML (Dynamic HyperText Mark
Language), dan beberapa penambahan fitur database dan multimedia yang
semakin baik.
Interface antar muka Visual Basic 6.0, berisi menu, toolbar, toolbox, form,
project explorer dan property seperti terlihat pada gambar 2.2.1. berikut:
Gambar 2.2.1 Interface antar muka Visual Basic 6.0
9
Menu pada dasarnya adalah operasional standar di dalam sistem operasi
windows, seperti membuat form baru, membuat project baru, membuka project
dan menyimpan project. Di samping itu terdapat fasilitas-fasilitas pemakaian
visual basic pada menu. Untuk lebih jelasnya Visual Basic menyediakan
bantuan yang sangat lengkap dan detail dalam MSDN.
Toolbox
berisi
komponen-komponen
yang
bisa
digunakan
oleh
suatu
project aktif, artinya isi komponen dalam toolbox sangat tergantung pada
jenis project yang dibangun. Komponen standar dalam toolbox dapat dilihat pada
gambar 2.2.2 berikut ini.
Gambar 2.2.2 Komponen standard dalam Toolbox
Konsep dasar pemrograman Visual Basic 6.0, adalah pembuatan form
dengan mengikuti aturan pemrograman Property, Metode dan Event. Hal
ini berarti:
(1) Property: Setiap komponen di dalam pemrograman Visual Basic dapat
diatur propertinya
tidak
sesuai
dengan
kebutuhan
aplikasi. Property
yang
boleh dilupakan pada setiap komponen adalah “Name”, yang
berarti nama variabel (komponen) yang akan digunakan dalam scripting.
Properti
“Name”
ini
hanya bisa
diatur
melalui
jendela
Property,
sedangkan nilai peroperti yang lain bisa diatur melalui script seperti :
10
Command1.Caption=”Play”
Text1.Text=”Visual Basic”
Label1.Visible=False
Timer1.Enable=True
(2) Metode: Bahwa jalannya program dapat diatur sesuai aplikasi dengan
menggunakan metode
pemrograman
yang diatur sebagai
aksi
dari
setiap komponen. Metode inilah tempat untuk mengekpresikan logika
pemrograman dari pembuatan suatu prgram aplikasi.
(3) Event: Setiap komponen dapat beraksi melalui event, seperti event click
pada command button yang tertulis dalam layar script Command1_Click,
atau event Mouse
Down
pada
picture
yang
tertulis
dengan
Picture1_MouseDown. Pengaturan event dalam setiap komponen yang akan
menjalankan semua metode yang dibuat.
2.3 Programmable Peripheral Interface 8255
PPI 8255 merupakan sebuah chip memungkinkan CPU untuk melakukan
akses terhadap Programmable parallel IO. PPI terkadang juga digunakan di
microcontroller untuk memperbanyak input-output.
Gambar 2.3.1 Chip PPI 8255
11
PPI memiliki 3 port yaitu port A, port B dan port C serta satu buah control
register, sehingga PPI membutuhkan 4 buah alamat untuk mengontrol ke 4 port
tersebut. Pin D0-D7 merupakan data bus untuk mengirimkan data. A0 dan A1
digunakan untuk menyeleksi port mana yang akan digunakan. Pin RD untuk
mengaktifkan mode read sedangkan pin RW untuk write (low active). Pin CS
digunakan untuk mengaktifkan PPI tersebut. PPI akan bekerja jika pin CS di set
bernilai 0.
Gambar 2.3.2 Blok diagram PPI 8255
PPI 8255 memiliki 3 mode operasi :
mode 0
Operasi input-output sederhana tanpa menggunakan sinyal handshaking.
Jika port A dan port B diinisialisasi pada mode 0, port C dapat digunakan
sebagai port 8 bit atau sebagai 2 buah port 4 bit.
mode 1
Mode ini digunakan untuk mengoperasikan port input-output parallel
menggunakan sinyal handshaking.
mode 2
Mode ini digunakan untuk komunikasi handshaking dua arah dan port
yang bisa dugunaka adalah PortA. Sehingga port A bisa digunakan
sebagai input dan output sekaligus.
12
Mode operasi pada PPI 8255 dapat dipilih dengan memberikan nilai pada control
register. Mode operasi yang dihasilkan bergantung pada nilai masingmasing pin
yang diberikan ke control register melalui bus data D0-D7. Konfigurasinya bisa
dilihat pada gambar berikut.
Gambar 2.3.3 Pemilihan mode operasi pada PPI 8255
ISA PIO card merupakan sebuah perangkat yang menghubungkan antara PPI
8255 dengan computer melalui port ISA. Bentuk dari ISA PIO card bisa dilihat
pada gambar 2.3.4
Gambar 2.3.4 ISA PIO Card
13
Seperti yang telah dijelaskan sebelumnya, PPI 2255 membutuhkan 4 alamat untuk
mengakses 3 alamat port dan 1 alamat untuk mengakses control register. Pada
ISA PIO card, kita diperbolehkan mengubah alamat tersebut dengan mengganti
konfigurasi jumper yang terdapat pada ISA PIO card.
Untuk konfigurasi default, alamatnya terdapat di 300h-303h
300h : untuk mengakses port A
301h : untuk mengakses port B
302h : untuk mengakses port C
303h : untuk mengakses control register
Tabel 2.3.5 Konfigurasi jumper pada ISA PIO Card
2.4 Motor Stepper
Motor stepper merupakan motor yang mengubah pulsa listrik yang
diberikan menjadi gerakan rotor yang diskrit disebut step. Misalnya jika satu
derajat per langkah (step) maka motor tersebut memerlukan 360 pulsa untuk
bergerak sebanyak satu putaran (pada intinya stepper motor mengubah pulsa
listrik menjadi suatu perpindahan gerak yang tertentu secara rotasi) . Ukuran kerja
dari stepper biasanya diberikan dalam jumlah langkah per putaran per detik.
Motor stepper banyak digunakan dalam bidang industri terutama dipakai pada
suatu mesin atau peralatan kontrol digital yang membutuhkan ketepatan posisi.
14
Keunggulan motor stepper lainnya adalah frekuensi pulsa input-nya tidak
tergantung pada beban. Perputaran motor stepper adalah perputaran yang diskrit
dan arah perputarannya dapat searah ataupun berlawanan dengan arah jarum jam.
Stuktur sederhana dari motor stepper tampak pada Gambar 2.4.1 dalam
penampang melintang :
Gambar 2.4.1 Struktur Stepper motor sederhana
Dilihat dari lilitannya motor stepper terbagi menjadi 2 jenis yaitu :
a. Motor Stepper Unipolar
Motor stepper unipolar terdiri dari dua lilitan yang memiliki center tap. Center tap
dari masing masing lilitan ada yang berupa kabel terpisah ada juga yang sudah
terhubung didalamnya sehingga center tap yang keluar hanya satu kabel. Untuk
motor stepper yang center tapnya ada pada masing – masing lilitan kabel inputnya
ada 6 kabel. Namun jika center tapnya sudah terhubung di dalam kabel
inputannya hanya 5 kabel. Center tap dari motor stepper dapat dihubungkan ke
pentanahan atau ada juga yang menghubungkannya ke +VCC hal ini sangat
dipengaruhi oleh driver yang digunakan. Sebagai gambaran dapat dilihat
konstruksi motor stepper unipolar pada gambar 2.4.2.
Gambar 2.4.2 Konstruksi motor stepper unipolar
15
b. Motor Stepper Bipolar
Motor stepper bipolar memiliki dua lilitan perbedaaan dari tipe unipolar adalah
bahwa pada tipe bipolar lilitannya tidak memiliki center tap. Keunggulan tipe
bipolar yaitu memiliki torsi yang lebih besar jika dibandingkan dengan tipe
unipolar untuk ukuran yang sama. Pada motor stepper tipe ini hanya memiliki
empat kabel masukan. Namun untuk menggerakan motor stepper tipe ini lebih
rumit jika dibandingkan dengan menggerakan motor stepper tipe unipolar.
Sebagai gambaran dapat dilihat konstruksi motor stepper bipolar pada gambar
2.4.3.
Gambar 2.4.3 Konstruksi motor stepper bipolar
Bagian-bagian dari motor stepper yaitu tersusun atas rotor, stator, bearing, casing
dan poros motor. Poros motor merupakan pegangan dari rotor dimana poros
merupakan bagian tengah dari rotor, sehingga ketika rotor berputar poros ikut
berputar. Stator memiliki dua bagian yaitu pelat inti dan lilitan. Plat inti dari
motor stepper ini biasanya satu bagian dengan casing. Casing motor stepper
terbuat dari aluminium dan ini berfungsi sebagai dudukan bearing. Di dalam
motor stapper memiliki dua buah bearing yaitu bearing bagian atas dan bearing
bagian bawah.
Gambar 2.4.4 Bagian stator motor stepper
16
Gambar 2.4.5 Bagian rotor motor stepper
2.5 Driver Stepper
Untuk menggerakan motor stepper berbeda dengan menggerakan motor
dc, dimana untuk menggerakan motor stepper diperlukan rangkaian driver yang
fungsinya untuk memberikan catu ke motor stepper. Driver tidak hanya
mengeluarkan tegangan, namun tegangan yang dikeluarkan juga harus dalam
bentuk pulsa. Karena motor stepper bergerak step by step sesuai dengan pulsa.
Bentuk pulsa yang dikeluarkan oleh driver dapat dilihat pada Gambar 2.5.1 dan
gambar 2.5.2.
Gambar 2.5.1 Pulsa driver bipolar mode full step
Gambar 2.5.2 Pulsa driver unipolar mode full step
17
Bentuk pulsa seperti pada gambar harus dapat dikeluarkan oleh driver sebagai
syarat untuk dapat menggerakan motor stepper.
Tinggi pulsa yang dikeluarkan juga harus sesuai dengan spesifikasi tegangan
motor stepper. Bentuk pulsa pada gambar sebenarnya memiliki bentuk yang sama
hanya saja susunannya berbeda. Pada gambar 2.2.13 adalah susunan pulsa untuk
menggerakan motor stepper tipe bipolar, sedangkan pada gambar 2.2.14 adalah
susunan pulsa untuk menggerakan motor stepper tipe unipolar.
Driver untuk motor stepper unipolar lebih sederhana dari driver tipe bipolar
karena untuk motor stepper tipe unipolar driver cukup dengan dilalui arus satu
arah saja sedangkan untuk tipe bipolar driver harus dapat dilalui oleh arus dengan
dua arah. Dari alasan ini motor stepper tipe unipolar lebih banyak digunakan
karena untuk menggerakannya lebih sederhana. Driver untuk motor stepper
unipolar data menggunakan IC ULN2003, ULN2004 atau dapat juga dengan
menggunakan
transistor.
Jika
menggunakan
transistor,
maka
transistor
difungsikan sebagai saklar untuk menghubungkan motor stepper ke Vcc atau ke
ground tergantung dari hubungan common motor stepper.
2.6 Sistem Koordinat Kartesius
Dalam matematika, Sistem koordinat Kartesius digunakan untuk menentukan tiap
titik dalam bidang dengan menggunakan dua bilangan yang biasa disebut
koordinat x dan koordinat y dari titik tersebut.
Untuk mendefinisikan koordinat diperlukan dua garis berarah yang tegak lurus
satu sama lain (sumbu x dan sumbu y), dan panjang unit, yang dibuat tanda-tanda
pada kedua sumbu tersebut seperti pada gambar 2.6.1.
18
Gambar 2.6.1 Sistem koordinat Kartesius. Terdapat empat titik yang ditandai:
(2,3), (-3,1), (-1.5,-2.5), dan (0,0), titik asal.
Sistem koordinat Kartesius dapat pula digunakan pada dimensi-dimensi yang
lebih tinggi, seperti 3 dimensi, dengan menggunakan tiga sumbu (sumbu x, y, dan
z).
Gambar 2.6.2 Sistem koordinat Kartesius disertai lingkaran yang berjari-jari 2
yang berpusat pada titik asal (0,0). Persamaan lingkaran merah ini adalah x² +
y² = 4.
Dengan menggunakan sistem koordinat Kartesius, bentuk-bentuk geometri seperti
kurva dapat diekspresikan dengan persamaan aljabar. Sebagai contoh, lingkaran
yang berjari-jari 2 dapat diekspresikan dengan persamaan x² + y² = 4 (lihat
Gambar 2.6.2).
19
Istilah Kartesius digunakan untuk mengenang ahli matematika sekaligus filsuf
dari Perancis Descartes, yang perannya besar dalam menggabungkan aljabar dan
geometri (Cartesius adalah latinisasi untuk Descartes). Hasil kerjanya sangat
berpengaruh dalam perkembangan geometri analitik, kalkulus, dan kartografi.
Ide dasar sistem ini dikembangkan pada tahun 1637 dalam dua tulisan karya
Descartes. Pada bagian kedua dari tulisannya Discourse on Method, ia
memperkenalkan ide baru untuk menggambarkan posisi titik atau obyek pada
sebuah permukaan, dengan menggunakan dua sumbu yang bertegak lurus antar
satu dengan yang lain. Dalam tulisannya yang lain, La Géométrie, ia
memperdalam konsep-konsep yang telah dikembangkannya.
Sistem koordinat Kartesius dalam dua dimensi umumnya didefinisikan dengan
dua sumbu yang saling bertegak lurus antar satu dengan yang lain, yang keduanya
terletak pada satu bidang (bidang xy). Sumbu horizontal diberi label x, dan sumbu
vertikal diberi label y. Pada sistem koordinat tiga dimensi, ditambahkan sumbu
yang lain yang sering diberi label z. Sumbu-sumbu tersebut ortogonal antar satu
dengan yang lain. (Satu sumbu dengan sumbu lain bertegak lurus.)
Titik pertemuan antara kedua sumbu, titik asal, umumnya diberi label 0. Setiap
sumbu juga mempunyai besaran panjang unit, dan setiap panjang tersebut diberi
tanda dan ini membentuk semacam grid. Untuk mendeskripsikan suatu titik
tertentu dalam sistem koordinat dua dimensi, nilai x ditulis (absis), lalu diikuti
dengan nilai y (ordinat). Dengan demikian, format yang dipakai selalu (x,y) dan
urutannya tidak dibalik-balik.
Pilihan huruf-huruf didasari oleh konvensi, yaitu huruf-huruf yang dekat akhir
(seperti x dan y) digunakan untuk menandakan variabel dengan nilai yang tak
diketahui, sedangkan huruf-huruf yang lebih dekat awal digunakan untuk
menandakan nilai yang diketahui.
20
Gambar 2.6.3 Keempat kuadran sistem koordinat Kartesius. Panah yang ada
pada sumbu berarti panjang sumbunya tak terhingga pada arah panah tersebut.
Sebagai contoh, pada Gambar 2.6.3, titik P berada pada koordinat (3,5).
Karena kedua sumbu bertegak lurus satu sama lain, bidang xy terbagi menjadi
empat bagian yang disebut kuadran, yang pada Gambar 2.6.3 ditandai dengan
angka I, II, III, dan IV. Menurut konvensi yang berlaku, keempat kuadran
diurutkan mulai dari yang kanan atas (kuadran I), melingkar melawan arah jarum
jam. Pada kuadran I, kedua koordinat (x dan y) bernilai positif. Pada kuadran II,
koordinat x bernilai negatif dan koordinat y bernilai positif. Pada kuadran III,
kedua koordinat bernilai negatif, dan pada kuadran IV, koordinat x bernilai positif
dan y negatif (lihat tabel dibawah ini).
Kuadran
I
II
III
IV
nilai x
>0
<0
<0
>0
nilai y
>0
>0
<0
<0
Download