BAB III PERANCANGAN ALAT - UKSW
Transcript of BAB III PERANCANGAN ALAT - UKSW
10
BAB III
PERANCANGAN ALAT
Pada bab ini penulis menjelaskan mengenai perancangan dan realisasi
pengecatan untuk model car skala 1:24. Bahasan perancangan dimulai dengan
penjelasan alat secara keselurhuan yaitu penjelasan singkat bagaimana alat bekerja.
Pembahasan selanjutnya mengenai penjelasan perancangan dari sistem
elektroniknya. Yaitu penjelasan perancangan mikrokontroler sebagai pengendali
utama serta komponen lain yang terhubung pada mikrokontroler. Serta penjelasan
mengenai keterkaitan CNC Shield untuk pengendali kedua dan komponen lain yang
digunakan dalam alat ini.
Kemudian pembahasan diakhiri dengan penjelasan dari perancangan
perangkat lunak. Perangkat lunak berupa program pada mikrokontroler untuk
mengolah data dari Grbl controller yang berhubungan dengan CNC Shield.
3.1. Gambaran Alat
Sistem yang dirancang oleh penulis adalah sebuah alat pengecatan dengan
sistem mekanik mengadaptasi 3 axis CNC digunakan sebagai mekanik utama. Proses
pengecatan dikendalikan dengan Grbl controller layaknya pengendali CNC.
Gambar 3.1. Blok Diagram Sistem.
11
3.1.1. Cara Kerja Sistem (3.1)
1. Arduino Uno utama yang menjadi 1 dengan modul CNC Shield V.3
mengendalikan 3 motor stepper yang terdapat pada mekanik utama.
2. 3 motor stepper menjadi 3 penggerak pada mekanik utama dan setiap
motor mendapat 1 driver dengan IC A4988.
3. Motor stepper utama menjadi Y axis untuk menggeser frame utama
penopang sprayer1 dan sprayer2.
4. Motor stepper geser menjadi Z axis untuk menggeser purwarupa
mobil.
5. Motor stepper putar menjadi X axis untuk memutar purwarupa mobil.
6. Arduino Uno kedua mengendalikan mekanik tarik tekan tuas sprayer1
dan sprayer2, mekanik ini menggunakan motor servo1 dan motor
servo2.
7. Ketika program dijalankan, Arduino Uno utama dan Arduino Uno
kedua bekerja bersama dengan mengendalikan mekanik sesuai
dengan alur kedua program.
3.2. Perancangan Perangkat Keras
Perangkat keras yang dirancang adalah dua buah penbrush yang terdapat di
pasaran yang kemudian akan dimodifikasi dengan menambahkan mekanik penekan
dan penarik tuas, mekanik utama menggunakan sparepart dari mesin CNC dan
beberapa komponen elektronik. Adapun komponen elektronik tersebut yaitu:
Modul CNC Shield V.3
Board mikrokontroler jenis Arduino Uno
IC A4988
Power supply 12 volt
12
Gambar 3.2. Gambar Sketsa pengecatan purwarupa mobil skala 1:24
Keterangan :
1. Motor stepper utama (Y axis)
2. Motor stepper putar (X axis)
3. Motor stepper geser (Z axis)
4. Mekanik tekan tuas sprayer1 beserta sprayer1
5. Mekanik tekan tuas sprayer2 beserta sprayer2
6. Frame utama untuk sprayer1 dan sprayer2
7. Dudukan purwarupa mobil
13
Gambar 3.3. Tampak belakang frame utama.
Keterangan:
1. Arduino Uno pengendali mekanik tarik tekan tuas sprayer1 dan sprayer2
2. Modul CNC Shield V.3 yang digabungkan dengan Arduino Uno untuk
pengendali mekanik utama
3. Power supply 12 volt
Gambar 3.4. Realisasi Alat Pengecatan Purwarupa Mobil skala 1:24.
14
Gambar 3.5. Mekanik Tari Tekan Tuas Sprayer beserta Pen Brush.
3.3. Perancangan Elektronika
Pada bagian ini dijelaskan mengenai perancangan elektronika yang dipakai
dalam sistem yang akan dibuat. Perancangan elektronika dalam pembuatan tugas
akhir ini terdiri dari bagian-bagian utama sebagai berikut:
1. Mikrokontroler jenis Arduino Uno sebagai pengendali utama.
2. Modul CNC Shield V.3
3. IC A4988
3.3.1. Pengendali Utama
Pengendali utama pada tugas akhir ini menggunakan board Arduino Uno
dengan IC mikrokontroler ATmega 328P. Sebagai pengendali utama, tugas
mikrokontroler antara lain:
1. Pengendali dengan CNC Shield V.3 melalui media Grbl controller.
2. Mengolah data yang didapat dari modul CNC Shield untuk pengendali 3
axis pada Grbl controller.
3.3.2. Pengendali Kedua
Pengendali kedua pada tugas akhir ini menggunakan board Arduino Uno
dengan IC mikrokontroler ATmega 328P. Sebagai pengendali utama, tugas
mikrokontroler antara lain:
15
1. Pengendali dua motor servo mekanik penekan tuas sprayer1 dan
sprayer2.
3.3.3. Mekanik Tarik Tekan Tuas Sprayer
Mekanik Tarik tekan tuas menggunakan bahan dasar resin yang telah
dicetak pada moulding(cetakan) yang berbahan dasar silicone rubber.
Tabel 3.1. Konfigurasi pin pada Arduino Uno (pengendali utama)
yang terhubung dengan CNC Shield V.3
Arduino UNO CNC Shield V.3
Pin DIGITAL 7 Direction Z-AXIS
Pin DIGITAL 6 Direction Y-AXIS
Pin DIGITAL 5 Direction X-AXIS
Pin DIGITAL 4 Step Pulse Z-AXIS
Pin DIGITAL 3 Step Pulse Y-AXIS
Pin DIGITAL 2 Step Pulse X-AXIS
Pin ANALOG A0 Reset/Abort
Pin ANALOG A1 Feed Hold
Pin ANALOG A2 Cycle Start/Resume
Pin ANALOG A3 Coolant Enable
Pin ANALOG A4 Probe
16
Gambar 3.6. Skema Rancangan Pengendali Utama.
Keterangan gambar:
1. Arduino UNO.
2. IC A4988 untuk axis Z.
3. IC A4988 untuk axis Y.
4. IC A4988 untuk axis X.
3.3.4. CNC Shield V.3
Pada tugas akhir ini membutuhkan CNC Shield V.3 untuk pengendali 3
axis yang berguna sebagai mekanik pada alat pengecatan ini. CNC Shield yang
terhubung dengan Arduino Uno dikendalikan dengan Grbl Controller.
Berikut skema konfigurasi pin antara modul CNC Shield V.3 dengan
Arduino Uno.
Gambar 3.7. konfigurasi Pin antara Arduino Uno dengan CNC Shield V.3
17
3.3.5. IC A4988
IC A4988 digunakan sebagai driver motor pada modul CNC Shield
V.3, modul ini membutuhkan 4 buah IC A4988 karena terdapat 4 axis yaitu X,
Y, Z, dan A. alat ini hanya menggunakan 3 axis sehingga hanya menggunakan 3
buah IC A4988 sebagai driver.
Gambar 3.8. Wiring Modul CNC Shield V.3 dan IC A4988.
3.4. Perancangan Perangkat Lunak
Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak yang
digunakan pada tugas akhir ini. Yang pertama akan membahas mikrokontroler
Arduino Uno yang bekerja sebagai pengolah data dan pengendali utama dengan
digabungkan CNC Shield V.3. Selanjutnya akan membahas mengenai perancangan
sistem mekanik Tarik tekan tuas pada sprayer1 dan sprayer2 yang digunakan untuk
pengecatan.
3.4.1. Program Mikrokontroler
Perancangan perangkat lunak mikrokontroler menggunakan
mikrokontroler Arduino Uno. Program dimulai dari menunggu data dari Grbl
controller, setelah coding Gcode sudah dimasukkan ke Grbl controller, lalu klik
axis control untuk uji tiap axis. Axis control juga berfungsi untuk menentukan
zero position tiap axis. Setelah semua axis sudah sesuai dengan posisi awal,
maka klik begin pada Grbl controller. Program dari Grbl controller bekerja
18
beriringan dengan program mekanik tekan tuas sprayer1 dan sprayer2 dari
mikrokontroler Arduino Uno kedua.
Berikut adalah diagram alir program mikrokontroler pada sistem yang
dibuat.
Gambar 3.9. Diagram Alir Arduino Uno utama yang terhubung
dengan CNC Shield V.3 dan Arduino Uno kedua untuk kendali
mekanik sprayer.
19
3.4.2. Aplikasi Grbl Controller untuk pengendali mekanik alat pengecatan
Alat pengecatan ini dikendalikan oleh Grbl Controller, seluruh mekanik
dikendalikan dari aplikasi ini. Berikut adalah tampilan program Gcode pada
sistem yang dibuat.
Gambar 3.10. Tampilan Aplikasi Grbl Controller dengan Program
Gcode dan Penunjuk Posisi Axis X, Y, dan Z.
Program Gcode android ini dibuat dengan menggunakan
program Notepad++.
Gambar 3.11. Coding Gcode dengan Menggunakan Notepad++.
20
3.4.3. Program Arduino Uno untuk CNC Shield V.3 dan Arduino Uno
untuk Mekanik Sprayer
3.4.3.1 Program Arduino Uno untuk CNC Shield V.3 #include <config.h>
#include <coolant_control.h>
#include <cpu_map.h>
#include <defaults.h>
#include <eeprom.h>
#include <gcode.h>
#include <limits.h>
#include <motion_control.h>
#include <nuts_bolts.h>
#include <planner.h>
#include <print.h>
#include <probe.h>
#include <protocol.h>
#include <report.h>
#include <serial.h>
#include <settings.h>
#include <spindle_control.h>
#include <stepper.h>
#include <system.h>
3.4.3.2 Program Arduino Uno untuk Mekanik Sprayer #include <Servo.h>
Servo servoMain; // Define our Servo
Servo servo2;
void setup()
{
servoMain.attach(9); // servo on digital pin 10
servo2.attach(7);
}
void loop()
{
servoMain.write(50); // Turn Servo Left to 45 degrees
delay(2000); // Wait 1 second
servoMain.write(40); // Turn Servo Left to 0 degrees
delay(45000); // Wait 1 second
servoMain.write(50); // Turn Servo Left to 45 degrees
delay(10000); // Wait 1 second
21
servoMain.write(40); // Turn Servo Left to 0 degrees
delay(46000); // Wait 1 second
servoMain.write(50); // Turn Servo Left to 45 degrees
delay(10000); // Wait 1 second
servoMain.write(40); // Turn Servo Left to 0 degrees
delay(46000); // Wait 1 second
servoMain.write(50); // Turn Servo Left to 45 degrees
delay(10000); // Wait 1 second
servoMain.write(40); // Turn Servo Left to 0 degrees
delay(6000); // Wait 1 second
servoMain.write(50); // Turn Servo Left to 45 degrees
delay(200);
servo2.write(50);
delay(1000);
servo2.write(38);
delay(15000);
servo2.write(50);
}