21
BAB III PERANCANGAN SISTEM PEMROGRAMAN DAN IMPLEMENTASI ROBOT KARTESIAN
Rancang bangun robot kontur kartesian ini melibatkan beberapa unsur sistem yang digabung menjadi satu kesatuan yang saling berkaitan yaitu unsur mekanik sebagai hasil akhir dari pergerakan robot , elektronika sebagai penghubung antara unit pengolah computer dengan peralatan luar dan informatika sebagai pengolahan data. Sistem robot Kartesian yang diimplementasikan memiliki 4 unsur utama yaitu : a. Unit Komputer sebagai penerima input, pengolah data G-Code dan pemroses alogaritma data untuk mengatur pergerakan motor stepper melalu driver stepper. b. Driver Stepper sebagai unit pengatur pergerakan motor stepper setelah mendapatkan perintah dari unit computer melalui Port PIO sebagai gerbang antarmuka antara komputer dengan perangkat luar. c. Motor Stepper sebagai unit penggerak mekanik utama yang akan menggerakan lengan - lengan robot.
22
d. Unit sistem mekanik yang merubah bentuk pergerakan putaran poros motor stepper menjadi gerakan linear pada setiap lengan robot.
Driver Stepper
Gambar 3.1 Struktur utama implementasi robot kontur Kartesian
3.1 Sistem Mekanik Sistem mekanik yang digunakan adalah dengan memasang sebuah pulley pada poros motor stepper yang dihubungkan dengan sebuah belt bergigi yang diikatkan pada suatu blok mekanik yang pergerakannya diarahkan oleh 2 buah poros luncur sepanjang lengan robot. Sehingga dengan berputarnya poros motor akan menyebabkan pergerakan linear pada blok mekanik. Blok mekanik ini yang dimanfaatkan untuk menggerakan lengan robot menuju ke titik – titik koordinat yang diharapkan. Sistem mekanik lengan robot ini mempunyai 3 unit penggerak utama yaitu unit mekanik sumbu X, Y dan Z. Masing – masing unit mempunyai fungsi : a. Unit mekanik sumbu X, berfungsi untuk menggerakan lengan robot sumbu X ke arah positif dan negatif. b. Unit mekanik sumbu Y, berfungsi untuk menggerakan lengan robot sumbu Y kearah positif dan negatif. c. Unit mekanik sumbu Z, berfungsi untuk menggerakan aktuator ke arah atas dan kearah bawah.
23
Konstruksi unit mekanik sumbu Y dipadukan tegak lurus 900 terhadap sumbu X kearah horizontal dan unit mekanik sumbu Z dipadukan tegak lurus 900 terhadap sumbu Y kearah vertical. Perpaduan pergerakan sumbu X dan Y akan menghasilkan suatu pergerakan aktuator sumbu Z ke posisi koordinat tertentu sesuai dengan bentuk kontur yang diharapkan.
Gambar 3.1.1 Komponen mekanik lengan robot kartesian
Gambar 3.1.2 Unit mekanik robot Kartesian 2 1/2 axis
3.2 Perangkat Pemrograman Tahapan pemrograman yang dirancang untuk mendukung aplikasi robot kontur kartesian berbasis G-Code ini meliputi beberapa tahap pemrograman yang dapat dilihat pada diagram alir berikut :
24
Mulai
Buka File ( Coba.Txt )
Simpan Data Tiap Baris ke Memory Komputer
Simulasi
Terjemahkan Data G-Code pada tiap Baris yang tersimpan di memori.
Tampilkan dalam bentuk visual di Layar Monitor
Baca Baris Berikutnya
Tidak EOF ( End Of File )
Ya
A
Tidak
Visual Kontur OK?
Ya
B
25
B
Set Posisi awal Aktuator sumbu-Z
Eksekusi
Terjemahkan Data G-Code pada tiap Baris yang tersimpan di memori.
Baca Baris Berikutnya
Output Data X,Y,Z melalui PIO Card untuk Menggerakan Axis Robot
Tidak
EOF ( End Of File )
Ya
A
Selesai
Gambar 3.2.1 Diagram alir robot kontur kartesian 21/2 axis Dasar program G-Code yang akan dieksekusi dibuat terlebih dahulu dalam bentuk txt file. Kemudian file tersebut akan dibaca pada aplikasi robot kontur yang dibuat dengan menggunakan struktur pemrograman Visual Basic.
26
Code G-Code pada file txt ini akan diterjemahkan oleh program menjadi tampilan dari bentuk kontur pada layar monitor. Hal ini dimaksudkan agar pengguna mengetahui terlebih dahulu bentuk dari konturnya guna meminimalisir kesalahan proses terutama pada benda kerja yang akan dieksekusi oleh perangkat mekanik robot. Menu aplikasi robot kontur ini dibuat sedemikian rupa supaya memudahkan pengguna dalam operasional dan memberikan informasi sedetail mungkin mengenai beberapa data yang diperlukan selama proses operasional.
Gambar 3.2.2 Menu utama aplikasi program robot kontur Kartesian 2 ½ axis 3.3 Perangkat Keras Data hasil pengolahan alogaritma pada program aplikasi akan dikirim ke perangkat luar untuk menggerakan lengan – lengan robot melalui putaran motor. Adapun tahapan pengolahan data untuk sampai ke putaran motor melalui beberapa perangkat keras yang digunakan yaitu :
27
a. ISA PIO Card Merupakan modul yang memiliki 24 Jalur input/output (PPI) yang dapat diprogram. Modul ini difungsikan sebagai output untuk mengendalikan driver stepper. b. Driver Stepper Merupakan modul pengontrol motor stepper yang memiliki 5 jalur input yang akan diakses oleh signal dari ISA PIO. c. Motor Stepper Motor Stepper Unipolar sebagai aktuator dari driver stepper yang putaran porosnya dihubungkan dengan konstruksi mekanik robot.
3.3.1 ISA PIO Card Modul PIO Card ini dipasangkan pada slot ISA yang terdapat pada pada unit motherboard computer. Level tegangan ouput yang digunakan adalah +5VDC pada saat kondisi High dan 0VDC pada saat kondisi Low. Modul ini terdiri dari 3 Port jalur input/output yaitu Port A, Port B dan Port C, dengan 8 jalur input/output pada tiap portnya. Masing – masing port memiliki alamat yang berbeda untuk mempermudah pemrograman yaitu : Port A : Alamat 300H Port B : Alamat 301H Port B : Alamat 302H Pada implementasi robot Kartesian ini, masing – masing port di rancang untuk mengontrol dan mengendalikan pergerakan motor dengan cara memberikan beberapa input signal ke modul driver stepper. Berikut pembagian jalur output dari ketiga port PIO :
28
Tabel 3.3.1.1 Pembagian jalur output ketiga port PIO PORT ALAMAT
PIN PA0 PA1 PA2
PORT A
300H
PA3
PA4 PA5 PA6 PA7 PB0 PB1 PB2 PORT B
301H
PB3
PB4 PB5 PB6 PB7 PC0 PC1 PC2 PORT C
302H
PC3
PC4 PC5 PC6 PC7
FUNGSI Rst - Reset modul driver Stepper X Axis S4 - Clock untuk menjalankan motor stepper X Axis S3 - Mode putaran motor Stepper X axis ( Full beri logika '1' ) ( Half beri logika '0' ) S2 - Arah putaran motor stepper X Axis ( searah jarum jam beri logika '1' ) ( berlawanan arah jarum jam beri logika '0' ) S1 - Tipe motor stepper X axis yang digunakan Motor stepper Bipolar beri logika '1' Motor stepper Unipolar beri logika '0' tidak dipakai tidak dipakai tidak dipakai Rst - Reset modul driver Stepper Y Axis S4 - Clock untuk menjalankan motor stepper Y Axis S3 - Mode putaran motor Stepper Y axis ( Full beri logika '1' ) ( Half beri logika '0' ) S2 - Arah putaran motor stepper Y Axis ( searah jarum jam beri logika '1' ) ( berlawanan arah jarum jam beri logika '0' ) S1 - Tipe motor stepper Y Axis yang digunakan Motor stepper Bipolar beri logika '1' Motor stepper Unipolar beri logika '0' tidak dipakai tidak dipakai tidak dipakai Rst - Reset modul driver Stepper Z Axis S4 - Clock untuk menjalankan motor stepper Z Axis S3 - Mode putaran motor Stepper Z axis ( Full beri logika '1' ) ( Half beri logika '0' ) S2 - Arah putaran motor stepper Z Axis ( searah jarum jam beri logika '1' ) ( berlawanan arah jarum jam beri logika '0' ) S1 - Tipe motor stepper Z Axis yang digunakan Motor stepper Bipolar beri logika '1' Motor stepper Unipolar beri logika '0' tidak dipakai tidak dipakai tidak dipakai
29
Pin P0 berperan sebagai Lsb dan PC7 berperan sebagai MSB, dengan demikian muatan dari tiap – tiap pin output port adalah sbb : Tabel 3.3.1.2 Muatan bit tiap pin output port P7
P6
P5
P4
P3
P2
P1
P0
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
Sebagai contoh untuk mengaktifkan motor stepper unipolar X axis beregerak searah jarum jam sebesar 1 step sudut pergerakan, diperlukan output data : Alamat X axis : 300H PA0 : beri logika ‘0’ Reset tidak diaktifkan PA1 : beri logika ‘0’ atau ‘1’ Dilakukan bergantian sesuai dengan jumlah clock PA2 : beri logika ‘0’ Mode Half PA3 : beri logika ‘1’ Searah Jarum Jam PA4 : beri logika ‘0’ Tipe motor stepper unipolar Maka konfigurasi data output yang harus diberikan pada port A adalah : 01010b = 10 ( dengan clock diberi logika ‘1’ ) dan 01000b= 8 ( dengan clock diberi logika ‘0’ )
Dituangkan dalam bentuk pemrograman pada visual basic menjadi : Out Val(&H300), Val(10) Call Speed Out Val (&H300), Val(8)
30
Maka data yang telah kita buat akan secara otomatis akan dikeluarkan di PortA untuk mengendalikan drive motor stepper sesuai dengan fungsi masing-masing pin. Adapun bentuk dari rangkaian ISA PIO card 8255 ini adalah :
Gambar 3.3.1.3 Rangkaian Elektronik ISA PIO Card 8255
31
Gambar 3.3.1.4 Modul ISA PIO Card dengan tata letak komponennya
3.3.2 SPC Stepper Motor Driver SPC Stepper Motor digunakan secara komunikasi pararel dengan cara mengatur pin-pin S1, S2, S3, S4 dan RST yang ada pada board SPC Stepper Motor. Semua pin-pin pararel ini diakses degan taraf logik TTL. Logika ‘1’ yang digunakan adalah +2.5 – 5Vdc dan logika ‘0’ menggunakan 0 – 0.8Vdc. Hal ini sesuai dengan keluaran signal dari PIO yang sama-sama mempunyai taraf logic TTL seperti yang diperlukan oleh pin-pin pararel SPC Stepper Motor. Sehingga jalur sinyal komunikasi bisa langsung dikoneksikan antara output pin PIO dengan input pin SPC Stepper Motor tanpa menggunakan rangkaian tambahan lainnya.
32
Berikut adalah table kegunaan dari pin-pin SPC Stepper Motor : Tabel 3.3.2.1 Fungsi pin SPC Stepper Motor Pin
Nama Pin
Setting
S1
Sel
Bi/Uni
S2
Dir
CW/CCW
S3
Mode
Full/Half
S4
Step
Clock
RST
Reset
RST
Fungsi Untuk tipe motor stepper yang digunakan : Motor stepper Bipolar beri logika '1' Motor stepper Unipolar beri logika '0' Untuk arah putaran motor stepper : CW ( searah jarum jam ) beri logika '1' CCW ( berlawanan arah jarum jam ) beri logika '0' Untuk mode putaran motor stepper : Full ( penuh ) beri logika '1' Half ( setengah ) beri logika '0' Untuk menjalankan motor stepper sebanyak jumlah clock Untuk melepaskan motor stepper dari keadaan "lock"
Terdapat empat keluaran output Aout, Bout, Cout dan Dout yang dihasilkan dari modul stepper motor ini yang nantinya akan disambungkan ke motor stepper.
Gambar 3.3.2.2 Modul SPC Motor Stepper dengan tata letak komponennya
33
Arus tak berulang maksimum untuk modul SPC Motor Stepper adalah 1.2A. Untuk menghindari kenaikan beban pergerakan robot yang menyebabkan kenaikan arus pada modul SPC Motor Stepper, digunakan tambahan rangkain switching transistor untuk memisahkan tegangan dan arus yang masuk ke modul SPC Motor Stepper dan Motor Steppernya sendiri. Berikut rangkaian tambahan switching untuk drive tegangan motor stepper :
Gambar 3.3.2.3 Rangkaian switching driver motor stepper 3.3.3 Motor Stepper Motor stepper yang digunakan adalah motor stepper jenis unipolar yang memiliki 4 jalur masukan ditambah jalur common yang dihubungkan dengan GND 0VDC.
Gambar 3.3.3.1 Unipolar Stepper Motor
34
Tegangan masukan pada tiap – tiap coil motor stepper yang digunakan sebesar +12VDC. Dan dengan menggunakan mode Half step untuk mendapatkan torsi yang cukup besar pada saat menggerakan lengan – lengan robot. Berdasarkan perancangan data diatas, aliran sinyal data dipadukan mulai dari pengolahan data dengan menggunakan program, kemudian data tersebut dikeluarkan pada port output PIO untuk mengatur pergerakan motor sesuai dengan fungsi – fungsi jalur pada SPC stepper motor. Secara garis besar, hubungan antara unit – unit sistem robot dapat digambarkan sebagai berikut :
Gambar 3.3.3.2 Skematik diagram control robot kontur kartesian
35
3.4 Sinkronisasi sumbu X, Y dan Z Untuk membentuk suatu pergerakan garis lurus, garis miring atau garis melingkar diperlukan pergerakan robot yang sinkron terutama antara pergerakan sumbu X dan Y untuk membentuk suatu kontur yang diharapkan. Dasar perancangan diawali dengan perhitungan koordinat dari masing-masing pergerakan yang secara umum dapat dijabarkan menjadi beberapa sub gerakan.
3.4.1 Pergerakan garis lurus yang membentuk sudut 00 dan 900 ( G01 ) Perhitungan dibagi menjadi 2 syarat utama yaitu pergerakan garis lurus ke kanan atau kekiri, dan pergerakan garis lurus ke atas atau kebawah.
Gambar 3.4.1.1 Pergerakan garis lurus 00 dan 900
36
x1 dan y1 yang dimaksud adalah posisi awal koordinat x dan y sebelum pergerakan dimulai. a. Untuk pergerakan x positif diperoleh persamaan : x2>x1 y1=y2 Δx = x2-x1 Dikarenakan y2=y1 (Δy=0) maka pergerakan sumbu y tidak mengalami pergerakan, pergerakan ada pada sumbu x, dengan pergerakan : x(step n) = x(step n-1) +akurasi pergerakan { sampai dengan x(step n) = x2 }
b. Untuk pergerakan x negatif diperoleh persamaan : x2<x1 y1=y2 Δx = x1-x2 Dikarenakan y2=y1 (Δy=0) maka pergerakan sumbu y tidak mengalami pergerakan, pergerakan ada pada sumbu x, dengan pergerakan : x(step n) = x(step n-1) – akurasi pergerakan { sampai dengan x(step n) = x2 }
c. Untuk pergerakan y positif diperoleh persamaan : y2>y1 x1=x2 Δy = y2-y1
37
Dikarenakan x2=x1 (Δx=0) maka pergerakan sumbu x tidak mengalami pergerakan, pergerakan ada pada sumbu y, dengan pergerakan : y(step n) = y(step n-1) +akurasi pergerakan { sampai dengan y(step n) = y2 }
d. Untuk pergerakan y negatif diperoleh persamaan : y2
3.4.2 Pergerakan garis lurus yang membentuk sudut tertentu Untuk membuat garis lurus yang membentuk sudut tertentu diperlukan pergerakan sumbu x dan y secara sinkron sesuai dengan perhitungan matematis. Dibedakan menjadi 3 kondisi sudut yang berbeda yaitu sudut 00<α<450 , sudut 450 dan sudut 450< α<900. Hal ini dibedakan untuk mendapatkan resolusi pergerakan yang cukup tinggi. Sebagai acuan perhitungan dicari delta x atau delta y yang lebih besar. Untuk mensinkronkan gerakan sumbu y terhadap sumbu x diperlukan nilai gradien dari garis tersebut dengan tujuan untuk mendapatkan koordinat sumbu y pada setiap perubahan koordinat yang terjadi pada sumbu x . Dengan menggunakan acuan delta yang lebih besar akan didapatkan data koordinat x dan y lebih banyak. Sehingga dengan data yang lebih banyak, akan didapatkan hasil kontur yang lebih mendekati dengan hasil yang diinginkan.
38
A. Pergerakan garir lurus yang membentuk sudut 00<α<450
Gambar 3.4.2.1 Pergerakan garis lurus dengan kemiringan sudut 0<α<45 a. Untuk pergerakan sumbu x positif dan y positif (00<α<450) : x2>x1 y2>y1 Δx = x2-x1 Δy = y2-y1 Δx> Δy
Dikarenakan Δx>Δy, maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
39
x(step n) = x(step n-1) + akurasi pergerakan { sampai dengan x(step n) = x2 } dan, jarak y(step n) = Gradien * (x(step n –x(step n-1)) y(step n) = y(step n-1)+jarak y(step n) b. Untuk pergerakan sumbu x negatif dan y negatif : x2<x1 y2
Δy
Dikarenakan Δx>Δy, maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
x(step n) = x(step n-1) - akurasi pergerakan { sampai dengan x(step n) = x2 } dan, jarak y(step n) = Gradien * (x(step n-1) –x(step n)) y(step n) = y(step n-1) - jarak y(step n)
c. Untuk pergerakan sumbu x negatif dan y positif : x2<x1 y2>y1 Δx = x1-x2 Δy = y2-y1 Δx> Δy
40
Dikarenakan Δx>Δy, maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
x(step n) = x(step n-1) - akurasi pergerakan { sampai dengan x(step n) = x2 } dan, jarak y(step n) = Gradien * (x(step n-1) –x(step n)) y(step n) = y(step n-1) + jarak y(step n)
d. Untuk pergerakan sumbu x positif dan y negatif :
x2>x1 y2 Δy
Dikarenakan Δx>Δy, maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
x(step n) = x(step n-1) + akurasi pergerakan { sampai dengan x(step n) = x2 } dan, jarak y(step n) = Gradien * (x(step n –x(step n-1)) y(step n) = y(step n-1) - jarak y(step n)
41
B. Pergerakan garir lurus yang membentuk sudut 450 Pada dasarnya ide perhitungan koordinat sumbu x dan y untuk sudut 450 adalah sama dengan perhitungan sudut lainnya hanya perbedaan disyarat awalnya. Dikarenakan delta x dan delta y untuk sudut 450 adalah sama (gradien=1), maka acuan perhitungan bisa dari sumbu x atau sumbu y karena akan menghasilkan pergerakan dengan nilai yang sama antara sumbu x dan sumbu y.
Gambar 3.4.2.2 Pergerakan garis lurus dengan kemiringan sudut 450
a. Untuk pergerakan sumbu x positif dan y positif : x2>x1 y2>y1 Δx = x2-x1 Δy = y2-y1 Δx= Δy
42
Maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
x(step n) = x(step n-1) + akurasi pergerakan { sampai dengan x(step n) = x2 } dan, jarak y(step n)
= Gradien * (x(step n) –x(step n-1)) =1*(x (step n) –x(step n-1)) = x (step n) –x(step n-1) = akurasi pergerakan
y(step n)
= y(step n-1)+jarak y(step n) = y(step n-1)+akurasi pergerakan
b. Untuk pergerakan sumbu x negatif dan y negatif : x2<x1 y2
Maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
43
x(step n) = x(step n-1) - akurasi pergerakan { sampai dengan x(step n) = x2 } dan, jarak y(step n)
= Gradien * (x(step n-1) – x(step n)) = 1*akurasi pergerakan = akurasi pergerakan
y(step n) = y(step n-1) - jarak y(step n)= y(step n-1)-akurasi pergerakan
c.
Untuk pergerakan sumbu x negatif dan y positif : x2<x1 y2>y1 Δx = x1-x2 Δy = y2-y1 Δx= Δy
Maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
x(step n) = x(step n-1) - akurasi pergerakan { sampai dengan x(step n) = x2 } dan, jarak y(step n)
= Gradien * (x(step n-1) –x(step n)) = 1*akurasi pergerakan = akurasi pergerakan
y(step n)
= y(step n-1) + jarak y(step n) = y(step n-1) + akurasi pergerakan
44
d. Untuk pergerakan sumbu x positif dan y negatif :
x2>x1 y2
Maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
x(step n) = x(step n-1) + akurasi pergerakan { sampai dengan x(step n) = x2 } dan, jarak y(step n)
= Gradien * (x(step n ) –x(step n-1)) = 1* (x(step n) –x(step n-1)) = akurasi pergerakan
y(step n)
= y(step n-1) - jarak y(step n) = y(step n-1) – akurasi pergerakan
C. Pergerakan garis lurus yang membentuk sudut 450<α<900 Perhitungan untuk pergerakan garis lurus yang membentuk sudut 450<α<900 adalah sama seperti perhitungan garis lurus yang membentuk sudut 00<α<450 hanya saja sebagai acuan awal perhitungan yang digunakan adalah sumbu y. Hal ini dikarenakan Δy > Δx maka akan didapatkan data yang lebih banyak untuk memperoleh akurasi kontur yang lebih baik.
45
Gambar 3.4.2.3 Pergerakan garis lurus dengan kemiringan sudut 450<α<900 a. Untuk pergerakan sumbu x positif dan y positif (450<α<900) : x2>x1 y2>y1 Δx = x2-x1 Δy = y2-y1 Δy> Δx
Dikarenakan Δy>Δx, maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
y(step n) = y(step n-1) + akurasi pergerakan { sampai dengan y(step n) = y2 } dan, jarak x(step n) = Gradien * (y(step n) –y(step n-1)) x(step n) = x(step n-1)+jarak x(step n)
46
b. Untuk pergerakan sumbu x negatif dan y negatif : x2<x1 y2 Δx
Dikarenakan Δy>Δx, maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
y(step n) = y(step n-1) - akurasi pergerakan { sampai dengan y(step n) = y2 } dan, jarak x(step n) = Gradien * (y(step n-1) –y(step n)) x(step n) = x(step n-1) - jarak x(step n)
c. Untuk pergerakan sumbu x negatif dan y positif : x2<x1 y2>y1 Δx = x1-x2 Δy = y2-y1 Δy > Δx
Dikarenakan Δy>Δx, maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
47
y(step n) = y(step n-1) + akurasi pergerakan { sampai dengan y(step n) = y2 } dan jarak x(step n) = Gradien * (y(step n) –y(step n-1)) x(step n) = x(step n-1) - jarak x(step n)
d. Untuk pergerakan sumbu x positif dan y negatif :
x2>x1 y2 Δx
Dikarenakan Δy>Δx, maka pada saat yang bersamaan akan didapatkan hasil perhitungan koordinat sumbu x dan y :
y(step n) = y(step n-1) – akurasi pergerakan { sampai dengan y(step n) = y2 } dan, jarak x(step n) = Gradien * (y(step n –y(step n-1)) x(step n) = x(step n-1) + jarak x(step n)
3.4.3 Pergerakan garis melingkar searah dan berlawanan arah jarum jam Untuk membentuk kontur melingkar diperlukan code tambahan pada perintah G-Code nya yaitu code I dan J. Code I merupakan jarak titik pusat lingkar terhadap koordinat akhir yang sejajar sumbu x. Sedangkan Code J merupakan jarak titik pusat lingkar terhadap koordinat akhir yang sejajar dengan sumbu y. Arah I dan J yang berlawanan arah dengan sumbu masing-masing diberi
48
tanda negative (-). Code I dan J ini diperlukan untuk menghitung jari-jari dari lengkungan yang akan menjadikannya acuan untuk perhitungan koordinat x dan y. Perhitungan dilakukan dengan cara mengolah data koordinat awal dan koordinat akhir, jari-jari garis lengkung kemudian diambil data koordinat (n) menggunakan metode perhitungan trigonometri dengan merubah perhitungan pergerakan dari nol derajat sampai dengan tercapainya koordinat akhir dengan step pergerakan 10 (mode degrees) yang setara dengan nilai 0.0174532951994330 pada mode radians. Hal ini untuk menyesuaikan mode yang dipakai pada proses kalkulasi yang mengharuskan menggunakan radians untuk kalkulasi sudut. Dibedakan menjadi dua pergerakan untuk garis melingkar ini yaitu pergerakan melingkar yang searah dengan arah jarum jam (G02) dan pergerakan melingkar yang berlawanan arah dengan arah jarum jam (G03). A. Pergerakan garis melingkar searah pergerakan jarum jam ( G02 )
Gambar 3.4.3.1 Pergerakan garis melingkar searah pergerakan jarum jam
49
a. Untuk pergerakan melingkar x positif dan y negative ( -i, -j ) x2>x1 dan y1>y2
xp = x2 + i yp = y2 + j
sudut (step n) = sudut (step n-1) + 0.0174532951994330 { sampai dengan x(step n) = x2 atau y(step n) = y2 } ry (step n) = r * cos (sudut(step n))
b. Untuk pergerakan melingkar x negatif dan y negatif ( -i, j ) x2<x1 dan y2
xp = x2 + i yp = y2 + j
sudut (step n) = sudut (step n-1) + 0.0174532951994330 { sampai dengan x(step n) = x2 atau y(step n) = y2 } rx (step n) = r * cos (sudut(step n))
50
c. Untuk pergerakan melingkar x negative dan y positif ( i, j ) x2<x1 dan y2>y1
xp = x2 + i yp = y2 + j
sudut (step n) = sudut (step n-1) + 0.0174532951994330 { sampai dengan x(step n) = x2 atau y(step n) = y2 } ry (step n) = r * cos (sudut(step n))
d. Untuk pergerakan melingkar x positif dan y positif ( i, -j ) x2<x1 dan y2
xp = x2 + i yp = y2 + j
sudut (step n) = sudut (step n-1) + 0.0174532951994330 { sampai dengan x(step n) = x2 atau y(step n) = y2 } rx (step n) = r * cos (sudut(step n))
51
B. Pergerakan garis melingkar berlawanan arah pergerakan jarum jam ( G03 )
Gambar 3.4.3.2 Pergerakan garis melingkar berlawanan arah pergerakan jarum jam
a. Untuk pergerakan melingkar x negatif dan y positif ( -i, -j ) x2<x1 dan y2>y1
xp = x2 + i yp = y2 + j sudut (step n) = sudut (step n-1) + 0.0174532951994330 { sampai dengan x(step n) = x2 atau y(step n) = y2 } rx (step n) = r * cos (sudut(step n))
52
b. Untuk pergerakan melingkar x negatif dan y negatif ( i, -j ) x2<x1 dan y2
xp = x2 + i yp = y2 + j
sudut (step n) = sudut (step n-1) + 0.0174532951994330 { sampai dengan x(step n) = x2 atau y(step n) = y2 } ry (step n) = r * cos (sudut(step n))
c. Untuk pergerakan melingkar x positif dan y negatif ( i, j ) x2>x1 dan y2
xp = x2 + i yp = y2 + j
sudut (step n) = sudut (step n-1) + 0.0174532951994330 { sampai dengan x(step n) = x2 atau y(step n) = y2 } rx (step n) = r * cos (sudut(step n))
53
d. Untuk pergerakan melingkar x positif dan y positif ( -i, j ) x2>x1 dan y2>y1
xp = x2 + i yp = y2 + j
sudut (step n) = sudut (step n-1) + 0.0174532951994330 { sampai dengan x(step n) = x2 atau y(step n) = y2 } ry (step n) = r * cos (sudut(step n))