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 Deskt op
M ikrokont roler
M ekanik Penggerak X
M ekanik Pengger ak Y
M ekanik Pengger ak Z
Cat u Daya AC M esin Bor
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
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
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.
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
Gambar 3.9 Mikrokontroler Atmega 32.
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
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
Gambar 3.12. Grafik hubungan VDS, ID dan VGS MOSFET.
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 O
+V VCC
5V
U1 OPTOISO
R2 4k7 R1
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.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
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
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
While rownumber < DataGridView1.RowCount + 1
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 + "#")
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
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
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.
M ot or X 1 2 3 4 5
M ot or 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
for(a=0;a<=acuan;a++)
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==0) {…}
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
3.7 Diagram Alir
3.7.1 Pengolahan Data pada Aplikasi Desktop
Open file
Gambar 3.25. Diagram Alir Pengolahan Data pada Aplikasi Desktop
3.7.2 Pengiriman Data dari Aplikasi Desktop ke Mikrokontroler.
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
3.7.3 Proses Mikrokontroler
Gambar 3.27. Diagram Alir Proses Mikrokontroler
3.7.4 Proses Inisialisasi
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
3.7.5 Proses Pemotongan
Ketika data Titik diterima, terlebih dahulu data akan dicek dan dipisahkan. Data dikirim dengan format $kedalaman@posisiborXdatakoordinatxYdata koordinat y#.