BAB III PERANCANGAN SISTEM -...
Transcript of BAB III PERANCANGAN SISTEM -...
12
BAB III
PERANCANGAN SISTEM
Pada bab ini akan diuraikan mengenai perancangan perangkat keras dan
perangkat lunak yang digunakan untuk membangun Mesin Pemotong Akrilik Berbasis
Mikrokontroler. Dalam skripsi ini akan dirancang sebuah sebuah mesin yang
dihubungkan dengan sebuah komputer dimana kerja dari mesin tersebut berdasarkan
data yang dikirim dari komputer.
Gambar 3.1. Blok diagram Alat
3.1 Perancangan Perangkat Keras
3.1.1 Mekanik
Bagian mekanik dibagi menjadi 3 bagian yaitu rangka, mekanik penggerak dan
Bagian Pemotong
a. Rangka
Rangka disusun menggunakan pipa segiempat dengan ukuran 20 mm x 30 mm
dengan ketebalan 1.9 mm. Dimensi rangka mempunyai ukuran panjang 80 cm x lebar
75 cm dan tinggi 25 cm
Aplikasi Desktop
Mikrokontroler
Mekanik Penggerak X
Mekanik Penggerak Y
Mekanik Penggerak Z
Catu Daya AC
Mesin Bor
Catu Daya DC
13
Gambar 3.2. Rancangan Gambar
Gambar 3.3. Mekanik
b. Mekanik Penggerak X,Y dan Z
Masing-masing mekanik penggerak terdiri dari ulir, linear shaft dan linear bearing. Jenis ulir yang digunakan adalah jenis Ball screw.
Tabel 3.1 : Ukuran ball screw
Penggerak Panjang Diameter Jarak Gang
X 65 cm 15 mm 10 mm
14
Y 65 cm 15 mm 10 mm
Z 11.2 cm 15 mm 4 mm
Gambar 3.4 Penggerak X
Gambar 3.5 Penggerak Y
Gambar 3.6 Penggerak Z
Linear Shaft
Linear Shaft Ulir
15
Untuk menjaga gerakan ball screw agar stabil digunakan Linear shaft. Linear
shaft menggunakan sebuah silinder pejal dengan bahan stainless steel dengan diameter
5/8 inch atau 15.85 mm dan untuk bagian yang bergerak menggunakan 2 buah linear
bearing yang ditanam pada sebuah balok besi pada masing-masing sisi.
Gambar 3.7 Blok besi tempat linear bearing
16
c. Bagian Pemotong
Bagian pemotong adalah sebuah mesin bor dan mata bor potong yang
diletakkan pada penggerak Z. Mesin yang menggunakan mesin trimmer merek Makita
dengan seri MT370 .
Tabel 3.2. Spesifikasi mesin trimmer Makita MT370
Model MT370
Kapasitas Cekam Kolet 6.35 mm(1/4”) atau 6 mm Kecepatan tanpa beban (min-1) 35.000
Panjang keseluruhan 199 mm Berat Bersih 1.5 Kg
Kelas Keamanan Kelas 1
Gambar 3.8 Mesin trimmer Makita MT370
3.1.2 Elektronik
a. Modul Mikrokontroler
Mikrokontroler yang digunakan adalah ATmega32 . Mikrokontroler ini
mempunyai saluran I/O sebanyak 32 buah yang terbagi dalam 4 port yaitu port A, port
B, port C, dan port D. Jumlah itu cukup untuk mengontrol 3 buah motor stepper yang
masing-masing memerlukan 4 pin kontrol. Untuk komunikasi data digunakan port
USART pada port D0 dan portD1 dan untuk input sensor digunakan port C. Untuk
pembagian port dapat dilihat pada Tabel 3.3.
17
Gambar 3.9 Mikrokontroler Atmega 32.
Gambar 3.10. Skematik Modul Pengendali Mikrokontroler Atmega32
18
Tabel 3.3. Konfigurasi port mikrokontroler.
PORT Fungsi Koneksi ke Modul
PortA.0 Output Driver Motor X input 1
PortA.1 Output Driver Motor X input 2
PortA.2 Output Driver Motor X input 3
PortA.3 Output Driver Motor X input 4
PortA.4 Output Driver Motor Y input 1
PortA.5 Output Driver Motor Y input 2
PortA.6 Output Driver Motor Y input 3
PortA.7 Output Driver Motor Y input 4
PortB.0 Output Driver Motor Z input 1
PortB.1 Output Driver Motor Z input 2
PortB.2 Output Driver Motor Z input 3
PortB.3 Output Driver Motor Z input 4
PortC.0 Input Photo Interrupter Batas Atas
PortC.1 Input Photo Interrupter Batas Bawah
PortC.6 Input Photo Interrupter X titik 0
PortC.7 Input Photo Interrupter Y titik 0
PortD.0 Serial Serial terima data
PortD.1 Serial Serial kirim data
b. Modul Driver Motor
Driver motor menggunakan transistor BC546 dan MOSFET IRF 640 sebagai
komponen utamanya. Transistor BC546 difungsikan sebagai saklar dengan menerima
input dari mikrokontroler.
19
Gambar 3.11. Skematik modul transistor sebagai saklar
Karena difungsikan sebagai saklar, maka transistor harus dibuat dalam kondisi
saturasi (low) dan cutoff (high). Berikut adalah perhitungannya:
퐼 푗푒푛푢ℎ = = 12푚퐴 (3.1)
퐼 = = = 109푢퐴 (3.2)
(Nilai hfe BC 546 pada datasheet adalah 110-800).
푅 = = . = 4311Ω (3.3)
Dari perhitungan didapatkan nilai maksimal RB untuk mencapai nilai saturasi
adalah 4311Ω.
Output tegangan kolektor masuk di gate MOSFET. Tegangan ini untuk
membuat channel di antara source dan drain, sehingga elektron dapat mengalir dari
source ke drain.
20
Gambar 3.12. Grafik hubungan VDS, ID dan VGS MOSFET.
Gambar 3.13. Skematik Modul Driver Motor Stepper
21
c. Modul Sensor Photo Interrupter
Sensor photo interrupter yang digunakan adalah tipe H21A3. Pada saat
photo interrupter terhalang, maka tidak ada cahaya yang ditangkap oleh photo
transistor. Hal ini menyebabkan photo transistor dalam kondisi cutoff. Nilai
tegangan kolektor sama dengan tegangan sumber sehingga VCE = 5 volt. Namun
pada saat photo interrrupter tidak terhalang maka photo transistor dalam
keadaan saturasi sehingga nilai tegangan kolektor sama dengan tegangan emitor
= 0 volt.
Gambar 3.14. Skematik Modul Sensor Photo Interrupter
Dua buah sensor digunakan untuk mendeteksi titik acuan atau 0,0 dari X
dan Y dan 2 buah sensor untuk mendeteksi batas atas dan batas bawah posisi
bor.
Gambar 3.15. Photo interrupter pembatas atas dan bawah
Out
+V
VCC5V
U1OPTOISO
R24k7
R1100
22
Gambar 3.16. Sensor Photo Interrupter X
d. Motor Stepper
Motor stepper yang digunakan adalah motor stepper unipolar 2 phase
merek Sanyo Denki seri 103H7124. Motor stepper ini mempunyai resolusi gerak
1.8° sehingga mempunyai 200 step dalam 1 putaran [6]. Terdapat 6 buah kabel
yaitu hitam, putih, merah,biru, kuning dan orange.
Gambar 3.17. Motor Stepper Sanyo Denki
Gambar 3.18. Lilitan berdasarkan warna kabel
23
Gambar 3.19. Lilitan berdasarkan urutan kabel
Untuk mengontrol gerakan motor stepper digunakan metode half step.
Dengan menggunakan metoode half step, akan didapatkan resolusi dua kali lebih
kecil dari resolusi jika menggunakan full step.
Tabel 3.4 Half Step
Step Konektor
Hitam Putih Merah Biru Kuning Orange
1 1 1 1 1 0 2 1 1 1 0 0 3 1 1 1 0 1 4 1 1 0 0 1 5 1 1 0 1 1 6 1 0 0 1 1 7 1 0 1 1 1 8 1 0 1 1 0
24
3.2. Perancangan perangkat lunak
3.2.1 Aplikasi Desktop
Aplikasi desktop digunakan sebagai perangkat antarmuka antara mesin dengan
user. Data yang ada dalam file plotter tersebut akan ditampilkan dalam bentuk tabel
yang berisi data kedalaman data posisi pen, koordinat X dan koordinat Y. Data tersebut
akan digunakan untuk membuat gambar yang ditampilkan pada aplikasi desktop.
Gambar 3.20. Aplikasi Desktop
1. Data Garis
Data Garis merupakan data asli dari file .PLT yang dipisahkan menjadi data tiap
garis. Berisi data berupa nomer garis, data kedalaman dan data koordinat-
koordinat yang menyusun garis. Data kedalaman dapat diubah langsung pada
tabel.
2. Data sebuah Garis
Tabel 2 adalah data garis yang dipilih dengan mouse klik pada tabel 1 data garis.
Melalui data ini dibuat gambar pada panel gambar dengan warna merah.
Tujuannya adalah untuk melihat garis yang diinginkan ketika kita ingin mengubah
data kedalamnya.
3. Data Titik
3
1
2
5
6
7
4
25
Data Titik adalah data koordinat dan perintah dari semua data garis yang yang
sudah dibagi ke dalam titik-titik koordinat sesuai urutan garisnya. Data titik-titik
ini yang digunakan untuk membuat gambar pada panel gambar dengan warna biru
dan data yang akan dikirim ke mikrokontroler.
4. Data Kirim
Data kirim adalah data yang dikirim dari aplikasi desktop ke mikrokontroler.
Setiap pergantian data, isi dari text box akan berubah sesuai data yang dikirim.
5. Data Terima
Data yang sudah diproses di mikrokontroler akan dikirim kembali ke aplikasi
desktop. Fungsinya untuk mengetahui bahwa mikrokontroler sudah melakukan
proses yang diinginkan dan supaya aplikasi desktop mengirimkan data
selanjutnya.
6. Tombol Operasi
Tombol operasi adalah tombol untuk menjalankan proses pemotongan. Dimulai
dengan memilih port komunikasi. Kemudian ada tombol “connect” untuk
membuka port serial yang dpilih. Tombol “send” untuk mulai mengirim data ke
mikrokontroler. Sedangkan tombol “clear” untuk menghapus data yang
ditampilkan pada texbox data kirim dan data terima
3.3 Pengiriman data
Pengiriman data dilakukan dalam 1 paket data. Paket data berisi data dari data
Titik. Data yang dikirim berisi 4 data yaitu :
1. Kedalaman pemotongan
2. Data posisi Pen
3. Koordinat X
4. Koordinat Y.
Berikut program untuk mengambil data dari tabel Data Titik.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click rownumber = 0 totalrow = DataGridView1.RowCount + 2
26
While rownumber < DataGridView1.RowCount + 1 If rownumber = DataGridView1.RowCount Then griddata(rownumber) = "T" ElseIf rownumber > 0 And rownumber < DataGridView1.RowCount Then griddata(rownumber) = ("$" + DataGridView1.Rows(rownumber - 1).Cells(0).Value.ToString + "@" + DataGridView1.Rows(rownumber - 1).Cells(1).Value.ToString + "x" + DataGridView1.Rows(rownumber - 1).Cells(2).Value.ToString + "y" + DataGridView1.Rows(rownumber - 1).Cells(3).Value.ToString + "#") ElseIf rownumber = 0 Then griddata(rownumber) = "I" End If rownumber += 1 End While timer_receive = "" timer_send = "" BackgroundWorker2.RunWorkerAsync() Timer1.Start()
Setelah data diambil dan disimpan kemudian fungsi BackgroundWorker diaktifkan
untuk mulai mengirim data.
Private Sub BackgroundWorker2_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker2.DoWork rownumber = 0 While rownumber < totalrow data_sending = griddata(rownumber) timer_send = data_sending SerialPort1.WriteLine(data_sending) receive = "" While receive = String.Empty Or rownumber = totalrow - 2 Threading.Thread.Sleep(100) Try receive = SerialPort1.ReadLine() timer_receive = receive Catch End Try End While rownumber += 1 End While End Sub
Data dikirim sesuai urutan dalam tabel. Sebagai pemisah antar data disisipkan
karakter penanda agar pembacaan di mikrokontroler menjadi lebih mudah. Setiap file
27
baru yang diproses selalu diawali dengan mengirim data Inisialisasi. Data ini bertujuan
untuk menset posisi bor pada titik acuan pemotongan yaitu titik 0,0. Dan setiap selesai
memproses data file, dikirim data Angkat bor untuk menset posisi bor dititik 0,0 dengan
posisi mesin bor diatas.
3.4 Menentukan Koordinat Pemotongan
Setelah data diterima oleh mikrokontroler, data akan diolah untuk menentukan
gerakan motor X dan motor Y. Pemprosesan data selalu menggunakan 2 titik yaitu titik
awal dan titik akhir. Titik awal digunakan sebagai titik acuan dan titik akhir adalah titik
yang diproses.
Gambar 3.21. Garis dengan 2 titik
Karena ada kemungkinan perbedaan jarak X dan Y, maka gerakan motor harus
diatur supaya hasil putaran motor sesuai dengan data yang diberikan. Berikut adalah
urutan prosesnya.
1. Tentukan Jarak Acuan
Jarak Acuan berfungsi supaya gerakan motor mulai dan berhenti pada waktu yang
sama. Jarak acuan adalah nilai yang lebih besar antara |X2-X1| dan |Y2-Y1|. if(abs(dx)>abs(dy)) acuan=abs(dx); else acuan=abs(dy);
Titik awal Titik akhir
28
X1 X2
Y1 Y2
Gambar 3.22 Garis X dan Y
2. Ubah jarak ke dalam bentuk titik-titik
Proses ini untuk membagi total gerakan motor yang dibutuhkan ke dalam tiap-tiap
step gerakan motor.
Motor X 1 2 3 4 5
Motor Y 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Gambar 3.23 Garis X dan Y dalam step
3. Tentukan gerakan motor X dan Y
Untuk menentukan gerakan motor X dan Y digunakan rumus berikut
푀표푡표푟 푋 = ( ). − 푋 푎푤푎푙 (3.4)
푀표푡표푟 푌 = ( ). − 푌 푎푤푎푙 (3.5)
Xakhir = Nilai koordinat X yang akan diproses
Xawal = Nilai koordinat X yang diproses sebelumnya
Acuan = Jarak yang terbesar antara Xakhir-Xawal dan Yakhir-Yawal
Motor X = Nilai 1 step Motor X
Motor Y = Nilai 1 step Motor Y
Nilai X awal dan Y awal adalah posisi koordinat dimana motor terakhir kali
bergerak.
29
for(a=0;a<=acuan;a++) fX=((dx*a)/acuan)-Xold; fY=((dy*a)/acuan)-Yold;
Move_xy(fX,fY); Xold+=fX;
Yold+=fY; Tabel : 3.5 Tabel nilai motor X dan Y
N Motor X Motor Y
N=0 푀표푡표푟 푋 =(푋퐴푘ℎ푖푟− 푋푎푤푎푙).0
퐴푐푢푎푛 − 푋 푎푤푎푙 푀표푡표푟 푌 =(푌푎푘ℎ푖푟 − 푌푎푤푎푙).0
퐴푐푢푎푛 − 푌 푎푤푎푙
N=1 푀표푡표푟 푋 =(푋퐴푘ℎ푖푟− 푋푎푤푎푙).1
퐴푐푢푎푛 − 푋 푎푤푎푙 푀표푡표푟 푌 =(푌푎푘ℎ푖푟 − 푌푎푤푎푙).1
퐴푐푢푎푛 − 푌 푎푤푎푙
N=2 푀표푡표푟 푋 =(푋퐴푘ℎ푖푟− 푋푎푤푎푙).2
퐴푐푢푎푛 − 푋 푎푤푎푙 푀표푡표푟 푌 =(푌푎푘ℎ푖푟 − 푌푎푤푎푙).2
퐴푐푢푎푛− 푌 푎푤푎푙
. . .
. . .
. . .
N=Acua
n 푀표푡표푟 푋 =
(푋퐴푘ℎ푖푟 − 푋푎푤푎푙).푁퐴푐푢푎푛 − 푋 푎푤푎푙 푀표푡표푟 푌 =
(푌푎푘ℎ푖푟 − 푌푎푤푎푙).푁퐴푐푢푎푛
− 푌 푎푤푎푙
Motor X 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 . . . N
Motor Y 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 . . . N
Gambar 3.24 Gerakan Motor X dan Y
Kemudian setelah didapatkan nilai dari motor X dan motor Y baru digunakan
untuk menggerakkan motor.
void Move_xy(int flagX,int flagY)
int x; if(flagX==1&&flagY==1) …
30
if(flagX==1&&flagY==0) … if(flagX==0&&flagY==1) … if(flagX==0&&flagY==0) … if(flagX==0&&flagY==-1) … if(flagX==-1&&flagY==0) … if(flagX==-1&&flagY==-1) … if(flagX==1&&flagY==-1) … if(flagX==-1&&flagY==1) …
3.5 Menghitung Jarak dan Putaran Motor Stepper.
Motor stepper yang digunakan mempunyai resolusi 1.8° atau 200 step tiap
putaran. Ulir yang dipakai menggunakan ball screw dengan jarak gang 1 cm. Dengan
menggunakan metode halfstep maka resolusi motor stepper bisa diperkecil menjadi 0.9°
atau 400 step tiap putaran.
Jika 1 langkah gerakan motor adalah 1 siklus halfstep maka jarak yang ditempuh
dalam 1 langkah dapat dihitung sebagai berikut :
퐽푎푟푎푘 1 푙푎푛푔푘푎ℎ = 8
400 푥 1 푐푚 = 0.2 푚푚
Jadi dengan resolusi gerak 0.2 mm maka untuk menghasilkan 50 cm dibutuhkan
2500 step. Karena resolusi jarak titik pada file plt adalah 50cm/20000 atau 0.025 mm
maka resolusi tersebut harus disamakan dengan resolusi gerak mesin yaitu dikalikan
dengan 8.
3.6 Menghitung Kecepetan Potong
Kecepatan potong dipengaruhi frekuensi pulsa yang diberikan untuk
menggerakkan motor stepper. Untuk memutar motor 1 putaran dibutuhkan motor
stepper harus diberikan pulsa sebanyak 400 kali. Jika frekuensi pulsa sebesar 5 mili
detik, maka untuk menggerakan motor 1 putaran penuh didapatkan waktu sebagai
berikut :
푇1 푃푢푡푎푟푎푛 푀표푡표푟 = 400 푥 5 푚푖푙푖푑푒푡푖푘 = 2 퐷푒푡푖푘
Jika menggunakan ulir dengan jarak gang 1 cm, maka kecepatan potong mesin adalah 1 cm / 2 detik atau 30 cm / menit.
31
3.7 Diagram Alir
3.7.1 Pengolahan Data pada Aplikasi Desktop
Open file
Start
Open file
Baca data file
Pisahkan data menjadi data pergaris
Baca data Garis pada
tabel
Pisahkan data menjadi data
titik
Ubah resolusi dan masukan dalam tabel
Masukan dalam tabel
Buat gambar dari tabel data
titik
Stop
Gambar 3.25. Diagram Alir Pengolahan Data pada Aplikasi Desktop
Untuk membuka file, pilih menu Open file kemudian pilih file yang diinginkan.
Aplikasi Desktop akan membaca dan menyimpan semua data yang ada pada file. Data
akan dipisahkan menjadi data tiap-tiap garis. Jumlah data tiap garis akan dihitung dan
dimasukan ke dalam tabel. Setiap data Garis akan dipisahkan menjadi data Titik. Setiap
data Titik akan diubah resolusinya dan dimasukan ke dalam tabel. Dari data Titik dalam
tabel dibuat Gambar pada panel gambar berdasarkan data koordinat X dan Y
32
3.7.2 Pengiriman Data dari Aplikasi Desktop ke Mikrokontroler.
Gambar 3.26. Diagram Alir Pengiriman
Data dari Aplikasi Desktop ke Mikrokontroler.
33
Ketika tombol “Connect” ditekan, maka serialport akan dibuka untuk
melakukan pengiriman data. Saat tombol “Send” ditekan, maka program akan
menghitung jumlah data yang ada pada tabel. Data pada tabel akan ditambah dengan
data Inisialisasi dan Data Angkat Bor. Setelah semua data dihitung, data pada tabel akan
dikirim satu per satu sesuai urutan data pada tabel. Data pertama yang dikirim adalah
data Inisialisasi kemudian data Titik pada tabel dan diakhiri Data Angkat Bor.
Setiap melakukan pengiriman data, data yang dikirim selalu ditampilkan pada
TextBox “Data Kirim”. Selanjutnya aplikasi desktop akan menunggu data balik dari
mikrokontroler. Jika ada data yang diterima, data akan ditampilkan pada TextBox “Data
Terima”. Jika data sudah ditampilkan maka data selanjutnya akan dikirim lagi ke
mikrokontroler. Proses tersebut dilakukan berulang sampai data habis.
34
3.7.3 Proses Mikrokontroler
Tunggu Data
Ada Data?
Tidak
Ya
Data Inisialisasi?
Proses Inisialisasi Ya
Proses data koordinat Data TitikYa
Tidak
Kirim Data Ke Aplikasi Desktop
Data Angkat Bor?
Tidak
Proses Angkat Pena Ya
Start
Power On? Stop
Ya
Tidak
Gambar 3.27. Diagram Alir Proses Mikrokontroler
Jika catudaya pada mikrokontroler dihidupkan, mikrokontroler akan selalu
menunggu data dari aplikasi desktop. Jika ada data diterima, data akan dicek apakah
merupakan data Inisialisasi, data Titik atau data Angkat Bor. Jika data adalah data
Inisialisasi maka dilakukan proses Inisialisasi. Jika data adalah data Angkat bor maka
akan dilakukan proses angkat bor dan jika data adalah data Titik maka akan dilakukan
proses pemotongan akrilik. Jika data sudah diproses, maka data akan dikirim kembali ke
aplikasi desktop kemudian mikrokontroler akan menunggu sampai ada data
selanjutnya.
35
3.7.4 Proses Inisialisasi
Angkat Bor ke Batas
atas
Bor diposisi Batas Atas?
Putar Motor X ke titik 0
Putar Motor Y ke titik 0
Motor X sudah di titik 0?
Start
Motor Y sudah di titik 0?
Bor diposisi Batas Bawah?
Tidak
Turunkan Bor ke Batas bawah
Stop
Cek Posisi Bor
Cek Posisi Bor
Cek Posisi Motor X
Ya
Cek Posisi Motor Y
Tidak
Ya
Tidak
Ya
tidak
Gambar 3.28. Diagram Alir Proses Inisialisasi
Posisi bor akan dicek apakah di atas atau di bawah. Jika dibawah maka posisi
bor akan diangkat ke atas. Setelah posisi bor diatas, bor akan dibawa ke posisi titik 0,0.
Titik 0,0 adalah titik dimana sensor photo interrupter X dan Y dalam kondisi ‘1’. Jika
posisi motor X da Y sudah di titik 0,0, bor akan diturunkan ke titik sampai sensor photo
interrupter batas bawah dalam kondisi ‘1’.
36
3.7.5 Proses Pemotongan
Cek dan Simpan Data Kedalaman
Cek dan Simpan Data
posisi bor
Hitung dan simpan Data koordinat X
Hitung dan simpan Data Koordinat Y
Hitung Jarak Y dengan Y
sebelumnya (dY)
Hitung Jarak X dengan X
sebelumnya (dX)
Angkat Bor sejauh Data Kedalaman
Data Posisi Bor Naik/turun?
Posisi Bor = Naik?
Naik Turun
Posisi Bor = Turun?
Tidak
Turunkan Bor sejauh Data Kedalaman
TidakApakah Data Kedalaam?
Ya
Apakah Data Posisi Bor
Ya
Apakah Data Koordinat X?
Apakah Data Koordinat Y?
Ya
Ya
tidak
YaYa
dY>dX?
Putar Motor X dengan dY
sebagai acuan
Ya
Putar Motor X dengan dX
sebagai acuan
Putar Motor Y dengan dY
sebagai acuan
Putar Motor Y dengan dX
sebagai acuan
Cek Data
Start
StopStop
Gambar 3.29 Diagram Alir Proses Pemotongan
37
Ketika data Titik diterima, terlebih dahulu data akan dicek dan dipisahkan. Data
dikirim dengan format $kedalaman@posisiborXdatakoordinatxYdata koordinat y#.
Karakter ‘$’, ‘@’, ‘X’, ‘Y’ digunakan sebagai penanda untuk memisahkan
datanya. Sedangkan ‘#’ sebagai penanda akhir data. Jika format data tidak terpenuhi
atau tidak sama maka data tidak akan dipakai dan mikrokontroler akan menunggu data
lagi. Jika sesuai, maka data akan disimpan sesuai urutan data kedalaman, data posisi
bor, data koordinat X dan data koordinat Y. Data kedalaman digunakan sebagai acuan
untuk mengerakkan posisi bor. Naik atau turunnya posisi bor ditentukan oleh data posisi
bor. Sedangkan data koordinat X dan Y digunakan untuk menggerakkan motor ke posisi
yang diinginkan.