PENERAPAN INTERPOLASI MENGGUNAKAN METODE. pdf

PE NE R A PA N INT E R POL A SI ME NGGUNA K A N ME T ODE DIGIT AL DIF E RE NT IAL ANAL YZE R
PA DA PE NGE NDA L I ME SIN C NC G R A F IR 2.5D
Y ofan A ulia W isnu
Hendi R udiansyah, T ika Meizinta
J urusan Teknik Otomasi Manufaktur dan Mekatronika
Politeknik Manufaktur Negeri Bandung
J l. K anayakan 21 Bandung, Indonesia

ABST RAK
Mesin CNC grafir 2.5D merupakan mesin yang memiliki kemampuan untuk melakukan proses pengukiran
terhadap permukaan benda kerja sesuai yang diinginkan pengguna. Mesin dapat bekerja secara otomatis dan manual.
Terdapat empat buah penggerak pada mesin ini, yaitu 3 buah stepper motor 2 fasa pada sumbu X, sumbu Y dan sumbu
Z, serta satu buah motor DC untuk menggerakkan mesin dan untuk memutar spindel. Mesin CNC grafir 2.5D ini
dikendalikan oleh sistem yang terintegrasi yang terdiri atas kendali berbasis mikrokomputer yaitu Raspberry Pi 3.
Sebuah LCD dan keypad digunakan sebagai antarmuka antara mesin dan operator.
Untuk dapat menjalankan mesin dengan dua buah sumbunya bergerak secara bersamaan, maka diperlukan
sebuah metode algoritma perhitungan. Metode Digital Differential Analyzer (DDA) merupakan sebuah metode
perhitungan yang digunakan untuk memungkinkan dua buah motor mampu bergerak secara bersamaan pada sumbusumbunya.
Dengan menggunakan metode Digital Differential Analyzer memungkinkan stepper motor pada sumbu X dan
sumbu Y mampu untuk bergerak secara simultan dalam waktu yang bersamaan. Dengan adanya metode DDA nilai
error terhadap proses interpolasi berkisar diantara 0 – 2,5%. Sehingga dengan metode DDA, file G-Code yang

dimasukkan secara external dapat dibaca dengan baik oleh mesin dibuktikan dengan hasil output yang disajikan
secara nyata terhadap benda kerja maupun ploting melalui grafik.
Kata kunci : Mesin CNC grafir 2.5D, Raspberry Pi 3, DDA,LCD dan keypad

ABST RACT
2.5D engraving CNC machine is a machine that has the ability to perform the process of engraving on the
workpiece surface as desired by the user. The machine can work automatically and manually. There are four drive
elements on this machine, which are 3 stepper motor 2 phase on the X axis, Y axis and Z axis, and one DC motor to
move the engine and to rotate the spindle. The 2.5D engraving CNC machine is controlled by an integrated system
consisting of a microcomputer-based control Raspberry Pi 3. An LCD and a keypad are used as interfaces between
machines and operators.
To be able to run the machine with two axes moving simultaneously, a method of calculation algorithm is
required. Digital Differential Analyzer (DDA) method is a calculation method used to enable two motors to move
simultaneously on their axes.
Using Digital Differential Analyzer method allows stepper motors on X axis and Y axis able to move
simultaneously at the same time. With the DDA method the error value for the interpolation process ranges between
0 - 2.5%. So with the DDA method, G-Code files that are inserted externally can be read properly by the machine as
evidenced by the output that is presented clearly to the workpiece and ploting through the graph.
Keywords: 2.5D E ngraving Machine, Raspberry Pi 3, DDA, LCD and keypad
.


1

1. PE NDA HUL UA N

1.2.3 Perangkat lunak :
1.

1.1 T ujuan
T ujuan dari proyek akhir ini adalah sebagai
berikut :

1.
2.

3.
4.
5.

6.


Mengotomasikan sebuah mesin CNC Grafir
2,5D.
Mesin harus mampu membuat pola berbentuk
huruf alfabet dengan menerapkan sistem
interpolasi linier dan circular.
Mesin dapat menggerakan aktuator dengan
ketepatan posisi yang diberikan.
Mesin dapat menggerakan sumbu X dan Y
secara simultan sehingga dapat berinterpolasi.
Mesin dapat menggerakkan sumbu Z sehingga
mampu melakukan proses pemakanan pada
kedalaman tertentu.
Input G-Code dapat dilakukan dengan
memasukkan file dari memori secara external.

2.

3.
4.

5.
6.

7.

V isual Studio 2015 64bit, digunakan
untuk membuat program antarmuka mesin.
Python 3.5.1, digunakan untuk membuat
program inti yang mengendalikan
pergerakan mesin.
PyQt 5.6, digunakan untuk membuat
program program antarmuka mesin.
Qt 5.7.1 C reator & Designer, digunakan
untuk membuat program antarmuka mesin.
Proteus 8, digunakan untuk membuat
skematik unit pengendali.
A utocad E lectrical, digunakan untuk
membuat desain PCB dan skematik unit
pengendali.
Solidworks 2014, digunakan untuk

membuat desain panel kontrol.

1.2.4 Spesifikasi mesin
Tabel berikut merupakan spesifikasi mesin
secara keseluruhan.

1.2 T eknologi
Teknologi yang digunakan pada proyek akhir
ini adalah teknologi yang berada pada ranah teknologi
kontrol dan produksi. A dapun perangkat yang
digunakan pada proyek akhir ini adalah sebagai
berikut:
1.2.1 Perangkat pengendali :
1. Unit A ntarmuka
: LCD berwarna 5
inci – Keypad (Numpad set).
2. Unit Proses
: Microcomputer –
Raspberry Pi 3.
3. Unit Pengendali

: Microcomputer –
Raspberry Pi 3.

1.2.2 Perangkat keras :
1.

2.
3.
4.
5.

Stepper motor
: 2-phase hybrid
stepping motor 57BY GH56-4011Y D, 8
segments drive.
Motor DC
: 500W / 11000r/min
(Very Smallnoise).
Driver Stepper
:

MOSFE T
HBridge drive stepper motor.
Driver DC
:
MOSFE T
HBridge drive motor DC.
HMI
: 5 inch L CD HDMI
800x480 + Qliptec Numerical Keypad

T abel 1.1 Spesifikasi Mesin
A rea kerja
275 x 385 x 55 mm
sumbu X , Y , Z
Maksimal tinggi
≤70mm
pemakanan
Dimensi luar
610 x 480 x 400 mm
Ukuran meja

530 x 320 mm
Struktur
6061/6063 A lumunium alloy
material
Stepper motor
Two phase 57/1.8A
Unit penggerak 1204 Ball Screw
Unit penggeser Chromeplate shaft
K ecepatan
0- 4000 mm/min
maksimum
K ecepatan
300 – 2500mm/min
pemakanan
K etepatan posisi
0.05mm
pengulangan
Motor spindel dengan arus
Motor spindel
langsung (200w)

K ecepatan
1000~8000 RPM/min
spindel
A lat pemotong ER11/3.175mm
A ntarmuka
Pararel port
(interface)
K omtabilitas
Mach3/Emc2,
perangkat lunak
(Type3,Wentai,A rtCA M)
(software)
K ode perintah
G-Code/.nc/.ncc/.tab/.txt

1

2. ME T ODOL OGI PE NUL ISA N
Penyelesaian masalah dalam proyek akhir ini
menggunakan metode sebagai berikut.


Setelah data berhasil ditampung kemudian dilakukan
kalkulasi terhadap data dengan algoritma seperti pada
Gambar 3.1.
a U LA L

Dcode ,X,
Y ,C ,w

a. Studi pustaka, yaitu melakukan pengumpulan
data dari buku-buku, jurnal, dan artikel di internet.
b. Studi analisis, yaitu melakukan analisa dari teori
dan hasil pengamatan.
c. Metode wawancara, yaitu dengan mendapatkan
informasi dari alumni, serta melalui bimbingan
dengan
dosen-dosen,
terutama
dosen
pembimbing.

d. Studi lapangan, yaitu melakukan pengumpulan
data dari hasil pengamatan.

Dcode =D00
atauD0
1

Tidak

Dcode =D02

Ya

Ya

55A L inier

55A / ircular
/W

Tidak

Dcode =D03

55A / ircular
//W

Tab ulasidata
pada array
sumb uXdan
sumb uY

Selesaib aris
program

Tidak

3. SUBSIST E M R A NC A NGA N PE NGE NDA L I
Ya

S 9L9S A L

Subsistem merupakan bagian dari sistem yang
memiliki fungsi tertentu sehingga sistem dapat
bekerja sebagaimana mestinya.
3.1 Pembuatan unit proses
Unit proses berfungsi untuk menentukan
pergerakan mesin. Segala perhitungan pergerakan
mesin dilakukan oleh unit proses terutama
perhitungan interpolasi. Unit proses menerima data
berupa G-Code yang kemudian diteruskan ke driver
agar driver dapat menggerakan aktuator. Oleh sebab
itu maka dibutuhkan suatu alat yang dapat
menyalurkan data dari unit proses ke driver. A lat
tersebut mampu menggerakan aktuator untuk dapat
melakukan interpolasi dua sumbu secara bersamaan,
serta mampu mengaktifkan spindel untuk melakukan
proses pemakanan.
1. Program perhitungan interpolasi dengan
menggunakan metode DDA
Interpolasi yang dimaksud dalam proyek akhir
ini adalah kemampuan mesin untuk bergerak secara
simultan yaitu sumbu X dan sumbu Y secara
bersamaan menuju koordinat yan.g telah ditentukan.
A ktuator yang digunakan dari kedua sumbu ini adalah
stepper motor dua fasa. Output dari program
perhitungan interpolasi dengan metode DDA adalah
urutan pulse (pulse train output) sebagai sinyal input
masing-masing motor. Dengan metoda DDA , dapat
dianalisis perbedaan antara urutan pulse motor X dan
motor Y yang pada akhirnya akan mengakibatkan
frekuensi pulse yang berbeda di setiap sumbu. Pada
unit proses, hasil data interpolasi dengan perhitungan
DDA ditampung terlebih dahulu ke dalam data array
sumbu X dan sumbu Y .

Gambar 3. 1 Diagram alir perhitungan DDA .
Pada diagram alir Gambar 3.1, eksekusi
program dilakukan secara baris per baris. Dalam satu
baris program berisikan perintah G-Code , koordinat
x , koordinat y, feedrate, dan nilai r untuk interpolasi
circular). J enis perhitungan dipilih berdasarkan
variabel G-Code yang diinputkan yaitu “G01” dan
“G00” untuk interpolasi linier dan “G02” dan “G03”
untuk interpolasi circular.
Pada metode DDA , integrasi digital dilakukan
dengan melalukan penambahan pada suatu register
(QK ) disetiap iterasinya. Penambahan ini dilakukan
secara berulang-ulang. Pada program interpolasi
linier nilai register (QK ) bersifat konstan sehingga
tidak ada perubahan nilai register tersebut disetiap
iterasinya. Sedangkan, pada program interpolasi
circular nilai register berubah-ubah setiap iterasi
perhitungan DDA circular. Hal ini karena harus
adanya perubahan frekuensi pergerakan pada kedua
sumbu yang berinterpolasi agar terciptanya gerakan
melingkar.

Dimana:
QK x =
QK y =
PK x =
PK y =

nilai register DDA sumbu X
nilai register DDA sumbu Y
masukan register X
masukan register Y

Berdasarkan pada rumus , register (qk) terus
mengalami penambahan nilai, akan ada saatnya nilai
register akan melebihi kapasitas, kelebihan ini disebut
overflow. K ondisi overflow akan memberikan data
keluaran berupa perintah maju sejauh satu BL U. J ika
tidak terjadi kondisi overflow, data keluaran berupa

2

perintah diam. Nilai BL U ideal pada mesin didapat
berdasarkan hubungan resolusi stepper motor dan
pitch dari ballscrew. K onfigurasi yang digunakan
untuk menggerakan stepper motor adalah konfigurasi
full-step. Sehingga perhitungan BL U ideal paling
kecil yang dapat digunakan adalah sebagai berikut.
���=�
������


����/���
���=��� /���
���=�.
����
Dimana ;
Lead ballscrew = J arak translasi yang dihasilkan
ballscrew dalam satu putaran
SPR = J umlah step dalam satu putaran
Nilai kapasitas register DDA pada perhitungan
ditentukan berdasarkan nilai maksimal masukan
pergerakan motor. Dalam hal ini dimensi area kerja
pada plant adalah 200 mm x 300 mm. Maka jumlah
maksimal BL U yang dikeluarkan adalah :
���
=�����
����������=
�.
��
Maka minimal kapasitas register yang
digunakan adalah 15000. Pada DDA ini, max register
yang digunakan bernilai 20000.

A

QK y > Max
Register

OutY = 0
QK y-1 = QK y

Ya
Ya

Y1> 0

Tidak
OutY = 2

OutY = 1

QK y-1 = QK xy– Max
Register

Data ditampung ke
array sumbu X dan
sumbu Y

.
Loop = Loop + 1
Loop > iterasi

Tidak

Ya

a.

Interpolasi linier
Pada interpolasi linier menghasilkan gerakan
antara posisi awal dan posisi akhir dari koordinat
yang telah diberikan berupa garis lurus. Program
menerima input berupa nilai sumbu X dan sumbu Y
dari proses perintah G-Code. Sehingga didapatkan
diagram alir proses DDA linier ditunjukkan pada
Gambar 3.2.
Mulai

X 0, X 1, Y 0, Y 1, Mode
koordinat

PKx = ∆X 1/BL U
Pky = ∆Y 1/BL U

QKx = QKx-1 + PK x
QKy = QK y-1+ PKy

OutX = 0
QKx-1 = QK x

.

Ya
Ya

X1>0

Tidak
OutX = 2

OutX = 1

QK x-1 = QK x – Max
Register

A

Seperti yang terlihat pada Gambar 3.2 ,
penambahan masukan register dimasukan ke dalam
block perulangan sehingga proses penambahan
dilakukan terus menerus sampai
register
menghasilkan overflow atau keluaran. A gar
didapatkan hasil integrasi DDA yang menyeluruh,
jumlah perulangan di-set sebanyak jumlah max
register. Dengan menggunakan metode pemograman
conditional dapat dipilah hasil keluaran overflow X
dan Overflow Y. K etika nilai keluaran overflow
bernilai 1 maka hasil DDA akan ditampung untuk
menggerakkan motor. Dan ketika hasil keluaran
overflow bernilai 0 maka data tidak akan tersimpan
pada penampung.
Berikut adalah cuplikan progam DDA linier.
for j in range(iteration):
qkx = qkx+abs(pkx)
qky = qky+abs(pky)

QKx > Max
Register

Tidak

Selesai

Gambar 3.2 Diagram alir interpolasi linier

if qkx >= capacity:
if pkx > 0:
OutX = 1
elif pkx < 0:
OutX = 2
qkx = qkx - capacity
else:
OutX = 0
if qky >= capacity:
if pky > 0:

3

Mulai

OutY = 1
elif pky < 0:
OutY = 2
qky = qky - capacity
else:
OutY = 0

K uadran, Radius,
Iterasi = Max
Reg*1.57

if OutX A= 0 or OutY A= 0 : #tabulation
ptoX La] = OutX
ptoY Lb]= OutY
ptoZLb] = 0
a=a+1
b=b+1
Gambar 3. 3 Program DDA linier

K uadran II atau IV ?

Yu
adranLatauLLL?

PK x = Radius
Pky = 0
Operator X = -1
OperatorY = 1

PK x = 0
Pky = R adius
Operator X = 1
OperatorY = -1

PK x = PKx + (OperatorX *dY )
PK y = Pky + (OperatorY *dX )

Seperti yang terlihat pada Gambar 3.3, nilai dari
keluaran iterasi ditampung pada variable data OutX
dan OutY . Nilai yang ditampung pada OutX dan
OutY dibagi atas dua arah. Pembagian akan
menentukan arah pergerakan motor fordward dan
backward. Sehingga didapatkan arah yang berbeda di
setiap sumbu berdasarkan titik tuju masing-masing.
J ika nilai OutX /OutY bernilai 1 maka motor akan
bergerak menuju sumbu positif dan jika nilai
OutX /OutY bernilai 2 maka motor akan bergerak
menuju sumbu negatif. J ika nilai OutX dan OutY
bernilai 0 maka tidak ada pergerakan pada motor.
Selanjutnya nilai OutX dan OutY akan ditampung
pada array ptoX La] dan ptoY La]. Penyaringan ini
dilakukan untuk menyaring data yang bernilai tidak
sama dengan 0.
Interpolasi circular
Pada diagram alir proses DDA lingkaran ini,
program diinputkan dengan selisih nilai posisi dari
setiap sumbu X dan sumbu Y yang didapatkan dari
proses perintah G-Code, perintah G-Code untuk
pergerakkan Clockwise dan Counterclockwise.
Fungsi dari selisih nilai posisi sumbu X dan sumbu Y
untuk menentukan titik awal pergerakkan serta titik
awal posisi kuadran serta nilai Radius (R) yang
digunakan untuk menentukan jari - jari lingkaran
yang digunakan.

.

QKx = QK x-1 + PK x
QKy = QK y-1 PK y

OutX = 0
QK x-1 = QKx

Tidak

QKx > Max Reg

Ya

K I atau IV

Tidak

Ya
OutX = 1

OutX = 2

QKx-1 = QKx – Max Reg
dX = 1

b.

QK y > Max Reg

OutY = 0
QK y-1 = QKy

Tidak

Ya

K I atau IV

Tidak

Ya
OutY = 1

OutY = 2

QKy-1 = QKy – Max Reg
dY = 1

Loop = Loop + 1
Simpan ke array X dan Y

Loop > Iterasi

Tidak

.

Ya

Selesai

Gambar 3. 4 Diagram alir interpolasi circular
clockwise

4

Nilai masukan register (PK) di sumbu X dan
sumbu Y bergantung kepada jenis kuadran yang
dikerjakan. Pada kuadran II CW, IV CW, I CCW dan
III CCW nilai awal masukan register X (PKx)
bernilai Radius dari circular yang diinginkan dan
nilai awal masukan register Y (PKx) bernilai nol.
Untuk kuadran I CW, IIIV CW, II CCW dan IV CCW
nilai awal masukan register X (PKx) bernilai nol dan
nilai awal masukan register Y (PKx) bernilai Radius
dari circular yang diinginkan. Berikut adalah
algoritma DDA circular arah Counter Clock wise,
ditunjukkan pada Gambar 3.5
Mulai

A

QK y > Max Reg

OutY = 0
QK y-1 = QK y

Tidak

Ya

K I atau IV

Tidak

Ya
OutY = 1

OutY = 2

K uadran, R adius,
Iterasi = Max
Reg*1.57

QK y-1 = QK y – Max Reg
dY = 1
K uadran I atau III ?

Yuadran
iiatauLV ?

PK x = R adius
Pky = 0
Operator X = -1
OperatorY = 1

PK x = 0
Pky = Radius
Operator X = 1
OperatorY = -1

Loop = Loop + 1
Simpan ke array X dan Y

Loop > Iterasi

PK x = PK x + (OperatorX *dY )
PK y = Pky + (OperatorY *dX )

Tidak

.

QK x = QK x-1 + PK x
QK y = QK y-1 PK y

Ya
.

Selesai
OutX = 0
QK x-1 = QK x

Tidak

QK x > Max Reg

Gambar 3. 5 Diagram alir interpolasi circular
counter clockwise

Ya

K I atau IV

Tidak

Ya
OutX = 1

QK x-1 = QK x – Max Reg
dX = 1

A

OutX = 2

Seperti yang terlihat pada Gambar 3.5, cara
integrasi DDA circular tidak jauh berbeda dengan
DDA linier. Untuk mendapatkan overflow hasil
integrasi dilakukan dengan penambahan nilai register
dalam perulangan. Perbedaan dengan DDA linier
adalah terdapat pada nilai masukan register (PK ).
Berikut adalah persamaan nilai register di setiap
sumbu.
���=���±��
���=���±��
Dimana,
dY =
K eluaran atau overflow sumbu Y
dX =
K eluaran atau overflow sumbu X
Berikut adalah salah satu potongan pseudocode
DDA circular di arah clockwise.
if Quadrant == 1 or Quadrant == 3:
pkx = 0
pky = Radius / BL U
sumx = 1

5

sumy = -1
if Quadrant == 2 or Quadrant == 4:
pkx = Radius / BL U
pky = 0
sumx = -1
sumy = 1
for j in range(int(iteration)):
pkx = pkx + (sumx * dpy)
pky = pky + (sumy * dpx)
qky = qky+abs(pky)
qkx = qkx+abs(pkx)
if Quadrant == 1 or Quadrant == 3:
if dxx >= X init*100:
enX = 1
enY = 1
else:
enX = 0
enY = 0
if Quadrant == 2 or Quadrant == 4:
if dyy >= Y init*100:
enX = 1
enY = 1
else:
enX = 0
enY = 0
if qkx >= capacity:
dpx = 1
dxx = dxx + 1
if Quadrant == 1 or Quadrant == 2:
OutX = 1*enX
elif Quadrant == 4 or Quadrant == 3:
OutX = 2*enX
qkx = qkx - capacity
else:
OutX = 0
dpx = 0

kecepatan pada setiap sumbu. Sumbu dengan PK
awal bernilai Radius akan mengalami perlambatan,
dan sumbu dengan PK awal bernilai nol akan
mengalami percepatan. Hal ini dikarenakan,
frekuensi overflow yang terjadi adalah berbanding
lurus dengan besar nilai masukan register (PK ).
Pada DDA circular nilai iterasi dipengaruhi
besarnya sudut circular yang dibuat. Sehingga dalam
kasus dimana satu lingkaran penuh memiliki sudut

sebesar ()maka nilai iterasi sama dengan nilai



maksimal register dikali (). K emudian hasil keluaran

DDA akan ditampung kembali dalam array
penampung PtoX L] dan PtoY L] untuk disaring
keluarannya.
2.
a.

Program sumbu Z dan spindel
Sumbu Z
Pada pengendali sumbu Z , motor bergerak tidak
secara interpolasi tapi bergerak terpisah. Sehinggga
perhitungan pada sumbu Z dapat dilakukan tanpa
menggunakan metode DDA . Berikut adalah
algoritma pada sumbu Z, ditunjukkan oleh Gambar
3.7.
au
l
ai
Z = (Z1 – Z0) / BL U

Z >0

Tidak

Ya
OutZ = 1

OutZ = 2

Tabulasi data
ke array
sumbu Z

if qky >= capacity:
dpy = 1
dyy = dyy + 1
if Quadrant == 1 or Quadrant == 4:
OutY = 1*enY
elif Quadrant == 3 or Quadrant == 2:
OutY = 2*enY
qky = qky - capacity
else:
OutY = 0
dpy = 0

L oop = L oop
+1

Lo
o
p>Z

Tidak

Ya

S el
e sai

if OutX A= 0 or OutY A= 0 : #tabulation
ptoX La] = OutX
ptoY Lb]= OutY
ptoZLb] = 0
a=a+1
b=b+1

Gambar 3. 6 Program DDA circular.
Seperti yang terlihat pada Gambar 3.6, nilai
PK x dan Pky diperbaharui pada setiap perulangan.
Sumbu dengan PK awal yang bernilai Radius
mengalami pengurangan pada setiap overflow di
sumbu proyeksinya. Sumbu dengan nilai awal 0 akan
mengalami penambahan pada setiap overflow pada
sumbu proyeksinya, sehingga terjadinya perbedaan

Gambar 3. 7 Diagram alir program sumbu z.
Untuk mendapatkan data pergerakan sumbu Z,
dibuat sebuah perulangan. J umlah perulangan yang
dibuat adalah senilai dengan jarak yang akan
ditempuh oleh sumbu Z. Setiap akhir perulangan
terdapat block program untuk menyimpan data posisi
ke array sumbu Z.
b.

Spindel
Pada bagian spindel menggunakan sebuah
motor DC untuk melakukan proses pemakanan.
Untuk tu dibutuhkan sebuah program untuk dapat

6

mengontrol menyalakan spindel dan mengontrol
besarnya RPM motor.
Berikut adalah diagram alir program pengontrol
spindel, ditunjukkan pada Gambar 3.8
a ulai

Crequen
cy,
5uty/ y
cle

a otor A k
tif

ao
tor
b ergerak/ W

Tidak

a otor
. ergerak
/ /W

Ya

Gambar 3. 9 Standarisasi pinout untuk unit
pengendali dan unit proses.

Selesai

Gambar 3. 8 Diagram alir program spindel
4. UC A PA N T E R IMA K A SIH
Pada program pengendali spindel terdapat jenis
masukkan berupa Pulse Width Modulated (PWM).
PWM adalah salah satu teknik modulasi dengan
mengubah lebar pulse (duty cylce) dengan nilai
amplitudo dan frekuensi yang tetap. Dengan merubah
variabel Duty Cycle maka akan berpengaruh terhadap
kecepatan motor. V ariabel Duty Cycle berkisar antara
range 0% hingga 100%.

Dalam pembuatan Proyek A khir ini banyak sekali
pihak yang membantu baik secara moral ataupun
materi sehingga Proyek A khir ini dapat diselesaikan
tepat waktun. Ucapan terima kasih kepada semua
pihak yang telah membantu, khususnya kepada :
1.

3.2 Integrasi Sistem
Pada suatu sistem yang rumit dibutuhkan
standar yang pasti dalam setiap subsistemnya, agar
jika beberapa subsistem dikerjakan oleh orang yang
berbeda-beda, ketika subsistem tersebut digabungkan
akan langsung terhubung satu sama lain dan
membentuk suatu sistem. Pada mesin grafir 2.5D ini
terdapat tiga subsistem utama yaitu unit proses, unit
pengendali motor, dan unit antarmuka. Untuk
menghubungkan ketiga subsistem tersebut maka
dibuatlah sebuah board tempat terhubungnya semua
subsistem atau yang biasa dikenal dengan nama
motherboard. Motherboard juga berfungsi untuk
menghubungkan sinyal-sinyal yang ada pada panel
seperti tombol “RUN”, “RESET”, dan lain-lain.
Motherboard juga berfungsi sebagai penyalur catu
daya 24V dan 5V serta sebagai penghubung
rangakaian kontrol dengan mesin.
Berikut merupakan standarisasi penggunaan
pinout GPIO pada proyek akhir ini, ditunjukkan pada
Gambar 3.9.

2.

3.

4.

5.

6.

7.

T uhan yang Maha E sa karena atas berkatnya
K arya T ulis Proyek A khir ini dapat selesai.
K edua orang tua dan saudara tercinta yang
selalu memberikan nasihat dan memberikan
doa.
Bapak Hendi R udiansyah dan Ibu Tika Meizinta
selaku pembimbing yang telah membimbing
dan mengarahkan penulis dalam menyelesaikan
karya tulis serta program yang dibuat.
Bapak Ismail R selaku K epala J urusan Teknik
Otomasi Manufaktur dan Mekatronika sekaligus
Walikelas 3A EC yang selalu memotivasi dan
memberi semangat.
Seluruh instruktur Teknik Otomasi Manufaktur
dan Mekatronika yang telah memberikan
nasihat dan penyegaran dikala penulis sedang
mengalami kesulitan dan kebuntuan.
Institusi Politeknik Manufaktur Negeri
Bandung,
khususnya
jurusan
Teknik
mekatronika dan Otomasi Manufaktur, untuk
fasilitas yang dipakai selama masa perkuliahan
dan pengerjaan tugas akhir ini.
Naufal A ziz Syahmenan dan Wahyu Hidayat
selaku teman seperjuangan dalam penyelesaian
proyek tim C2.

7

8.

Teman-teman tingkat 3, khususnya temanteman A EA , A EB, A EC atas semua bantuan
dan dorongan semangatnya.

Mohon maaf kepada semua pihak atas kesalahan
yang pernah dilakukan baik itu sengaja ataupun tidak
sengaja selama pengerjaan proyek akhir ini.
DA F T A R PUST A K A
K oren, Y oram. 1984. Numerical Control of Machine
Tools. Madison: Engineering Experiment Station,
University of Wisconsin-Madison
Firman. 2015. Tentang PWM (Pulse Width Modulation).
http://kl301.ilearning.me (diakses pada 20 J uni
2017)
Saputra,
Mifan.
2011.
Stepper
motor.
http://mifansaputra.wordpress.com (diakses pada
21 J uni 2017)
A nonim. 2014. Macam macam bahasa pemrograman
komputer . http://dokumentekno. blogspot.co.id
(diakses pada 15 J uni 2017)

8