IMPLEMENTASI DDA INTERPOLATOR UNTUK PERG
IMPLEMENTASI DDA INTERPOLATOR UNTUK
PERGERAKAN MOTOR STEP DUA SUMBU
PADA MESIN GRAFIR 2,5D
BERBASIS ARDUINO
Reza Maliki Akbar
Hadi Supriyanto, S.T., M.T., Dr. Noval Lilansa, Dipl.Ing(FH)., M.T.
Jurusan Teknik Otomasi Manufaktur dan Mekatronika,
Politeknik Manufaktur Negeri Bandung
Jl. Kanayakan 21, Bandung, Indonesia
ABSTRAK
Mesin grafir 2,5D merupakan mesin yang digunakan untuk penggoresan, mesin ini memiliki tiga sumbu
yaitu X, Y dan Z, dimana dua sumbu (X dan Y) bergerak secara bersamaan dan sumbu lainnya (sumbu Z) tidak
bersamaan. Permasalahan yang muncul adalah bagaimana mengimplementasikan sebuah mekanisme
pemrograman yang paling efektif untuk melakukan proses interpolasi sumbu X dan sumbu Y yang digerakkan
oleh penggerak motor stepper 5 fasa.
Pengontrol yang digunakan adalah mikrokontroler Arduino sebagai pengendali utama dan software
Python TkInter sebagai antarmuka. Perangkat kerasnya menggunakan motor stepper yang dikendalikan oleh
MOSFET IRF540 dan IRF9540 serta komponen pendukung lainnnya. Pada pengontrol ini menerapkan konsep
interpolasi secara linear dan circular untuk proses pengontrolan pergerakan kedua buah motor stepper dua sumbu
(X dan Y). Metode interpolasi linear memanfaaatkan selisih antara koordinat X dan Y tujuan dengan koordinat
X dan Y sebelumnya, sedangkan metode interpolasi circular memanfaatkan perubahan frekuensi dari pulsa yang
menyerupai fungsi sinus dan cosinus.
Dari hasil pengujian yang telah dilakukan, mesin grafir 2,5D sudah bisa melakukan interpolasi linear
dan circular pada empat kuadran. Pada pengujian kecepatan putar motor stepper apabila frekuensi masukan
bernilai 3000 Hz maka kecepatan putaran motor yang dihasilkan adalah 176 rpm, berbeda dengan hasil
perhitungan yang seharusnya bernilai 180 rpm. Nilai keakuratan pada interpolasi linear memiliki rata-rata selisih
0,43 mm, sedangkan pada interpolasi sirkular memiliki rata-rata selisih 2,7 mm dibandingkan dengan perkiraan
perhitungan. Rata-rata waktu tempuh secara aktual lebih lama 4,44 detik untuk interpolasi linear, sedangkan pada
interpolasi sirkular memiliki rata-rata selisih waktu tempuh 3,27 detik dibandingkan dengan hasil perhitungan.
Kata kunci : mesin grafir 2.5D, motor stepper 5 fasa, interpolasi, DDA.
ABSTRACT
2.5D engraving machine is a machine used for etching, this machine has three axes which are X, Y and Z,
which move two axes (X and Y) simultaneously, and the Z axis moves is not the same. Emerging issues how to
implement a programming mechanism which is the most effective to perorm the interpolation process the X and
Y axes are driven by 5-phase stepper motor.
Arduino microcontroller is used as a main controller, and Python TkInter as an interface. Hardware used are
stepper motors which is controller by MOSFET IRF540 and IRF9540, and other supporting components. This
controller apply the interpolation concept in linear and circular for the process of controlling the movement of
two-axis stepper motors (X and Y). Linear interpolation method uses the difference between the X and Y
coordinates of the destination with the previously coordinates, while the circular interpolation method using a
change in frrequency of the pulses that are similar to the sine and cosine functions.
From the results of tests that have been done, 2,5D engraving machine is able to do linear and circular
interpolation on four quadrant. On testing the stepper motor speed, if the input frequency is 3000 Hz, then the
motor speed is 176 rpm, in contrast to the result of calculation that ought to be worth 180 rpm. The value of the
accuracy of the linear interpolation has an average difference of 0,43 mm, while the circular interpolation has
an average difference of 2,7 mm compared with the estimated calculation. The average time required to perform
the interpolation process is actually much longer 4,44 second for linear interpolation, while the circular
interpolation has an average of 3,27 second time difference compared with the calculation results.
Key word : 2.5D engraving machine, 5-phase stepper motor, interpolation, DDA.
1. PENDAHULUAN
Tujuan
Tujuan dibuatnya sistem penggerak mesin grafir
2.5D berbasis Arduino adalah sebagai berikut :
a. Membuat sistem kendali interpolasi
motor stepper 5 fasa pada sumbu X dan
sumbu Y mesin grafir 2.5D,
b. Membuat program Arduino untuk
sistem kendali keseluruhan yang
terintegrasi.
Tabel 1.3. Spesifikasi Arduino Nano
Tegangan kerja
Masukan
tegangan
Masukan
tegangan (batas)
Teknologi yang Digunakan pada Proyek
Akhir
1.2.1. Plant mesin grafir 2.5D
Spesifikasi
konstruksi
mesin
yang
digunakan pada plant proyek akhir dapat
dilihat pada tabel 1.1.
Tabel 1. 1 Spesifikasi Konstruksi Mesin
pada Plant Proyek Akhir
Ball Screw
Sumbu X
Ball Screw
Sumbu Y
Ball Screw
Sumbu Z
Panjang
Total
Panjang
Uliran
Diameter
530 mm
445 mm
250 mm
530 – 65 =
465 mm
12 mm
445 – 65 =
380 mm
12 mm
250 – 65 =
185 mm
12 mm
Pitch / Lead
4 mm
4 mm
4 mm
Spesifikasi
1.2.2. Mikrokontroler Arduino
Tabel 1.2. Spesifikasi Arduino Mega 2560
Tegangan kerja
5V
Masukan tegangan
7-12 V
(disarankan)
Masukan tegangan
6-20 V
(batas)
Pin masukan dan
54 (15 memberikan
keluaran digital
keluaran PWM)
Masukan pin analog
16
Arus DC per masukan
40 mA
dan keluaran
DC saat ini untuk 3.3V
50 mA
pin
Flash memory
256 Kb (8 Kb
digunakan bootloader)
SRAM
8 Kb
EEPROM
4 Kb
Kecepatan clock
16 MHz
5V
7-12 V
6-20 V
Pin masukan
dan keluaran
14 (6 PWM)
digital
Masukan pin
analog
8
Arus DC per
masukan dan
40 mA
keluaran
Flash memory
32 Kb (2 Kb digunakan
bootloader)
SRAM
2 Kb
EEPROM
1 Kb
Kecepatan clock
16 MHz
1.2.3. HMI (Human Machine Interface)
HMI yang digunakan pada sistem kendali
mesin grafir 2.5D ini memiliki spesifikasi
yang perlu diperhatikan diantaranya tipe dan
ukuran layar, sumber tegangan, serta tipe
koneksi komunikasi. HMI yang digunakan
ialah LCD HDMI Waveshare 7 inci tipe C,
dari kode nama HMI dapat diketahui HMI
yang digunakan memiliki spesifikasi ukuran
7 inci, layar warna dengan resolusi 1024 x
600, koneksi dari HMI ke mikorkomputer
menggunakan
HDMI
dan
USB,
menggunakan teknologi LCD (Liquid
Crystal Display) TFT (Thin Film Transistor),
pengendali sentuhan bersifat kapasitif,
kompatibel
RaspberryPi,
mendukung
Banana Pi dan Banana Pro dengan system
operasi Lubuntu dan Raspbian, dengan
sumber tegangan 5VDC. Berikut rincian
dimensi daripada HMI yang digunakan.
Pada proyek akhir ini tim penulis
menggunakan sistem operasi Raspberry Pi
dan perangkatan lunak TkInter berbasis
bahasa pemrograman Python untuk
antarmukanya.
terlaksananya proyek akhir dengan baik.
Tabel 1. 4 Perangkat Lunak pada Plant Proyek
Akhir
Keperluan
Perangkat Lunak
Program
Antarmuka
Python TkInter
(HMI)
Arduino IDE dan CodeVision
Program Utama
AVR
(Arduino Mega)
Program
Penggerak
Arduino IDE
Stepper (Arduino
Nano)
Protel 99, Proteus 8.0, dan
Desain Elektrik
Caddy See Electrical
SolidWork 2015
Desain Mekanik
Gambar 1.1 LCD Waveshare dan Raspberry Pi
1.2.4. Motor
Spesifikasi motor yang digunakan pada
plant proyek akhir dapat dilihat pada tabel
dibawah ini.
Tabel 1. 4 Spesifikasi Motor pada Plant
Proyek Akhir
Jenis Motor
Motor
Stepper
(sumbu X
dan sumbu
Y)
Motor DC
(sumbu Z dan
spindle)
Spesifikasi
Autonics A41K-M599 (maks. torsi
4,1Nm ; 1,4A/fasa ; 5 fasa ; 85 x 85 x
98mm ; Tipe koneksi : Pentagon)
RS-715-112 (6 - 24 VDC)
1.2.5. Penggerak Motor (Motor Driver)
Penggerak motor (Motor Driver) yang
digunakan pada plant proyek akhir
menggunakan komponen semikonduktor
dengan pertimbangan kemampuan switching,
dan ketahanan arus, serta kecocokan
komponen sebagai komponen penggerak
motor.
Tabel
1.5
Spesifikasi
komponen
semikonduktor untuk penggerak motor
Komponen
VDSS
ID
PD
(BR)
-23 A
IRF540
-100
V
100 V
L298
46 V
4A
IRF9540
33 A
140
W
130
W
25 W
Td
Td
(on)
(off)
15 ns
51 ns
11 ns
39 ns
2 us
1,5 us
2. PROSES PENYELESAIAN PROYEK
Gambaran Umum Sistem
Mesin grafir 2.5D merupakan suatu mesin
perkakas yang bertujuan untuk mempermudah
pengerjaan manusia (operator) dalam proses
penggoresan benda kerja (grafir) yang
mempunyai 3 sumbu, namun hanya 2 sumbu
saja yang dapat bergerak secara bersamaan
melakukan gerak interpolasi yang simultan,
yaitu sumbu X dan sumbu Y, sedangkan sumbu
Z bergerak terpisah dan terdapat pula spindle
untuk memutarkan alat potong yang menggores
benda kerja.
Mesin grafir ini mempunyai area kerja seluas
347,4mm x 377,92 mm. Motor stepper yang
digunakan memiliki spesifikasi 5 fasa; 1,4
A/phase; 0,72o/step; 3,6 VDC, sedangkan motor
DC yang digunakan memiliki tegangan kerja 24
VDC dan terintegrasi dengan encoder serta
proximity induktif dan dibatasi area kerjanya
oleh limit switch. Sebagai sistem transmisi dari
putaran motor pada sumbu X, Y, dan Z
digunakan ball screw dengan spesifikasi utama
yaitu diameter 12 mm dan pitch 4 mm. Berikut
visualisasi plant diperlihatkan pada gambar.
Gambar 2.2 Mesin Grafir 2,5D
1.2.6. Perangkat Lunak
Berbagai perangkat lunak digunakan untuk
berbagai macam keperluan guna menunjang
Pada bagian antarmuka digunakan perangkat
lunak TkInter untuk media antarmuka dengan
pengguna. Selain digunakan sebagai antarmuka,
TkInter digunakan sebagai input data koordinat
penggrafiran Berikut adalah konstruksi
mekanik mesin grafir 2,5D :
Gambar 2.2. Konstruksi Mekanik Mesin
Grafir 2.5D Tampak Atas
Gambar 2.3. Konstruksi Mekanik Mesin
Grafir 2.5D Tampak Samping
Mesin grafir 2.5D ini dikontrol menggunakan
Arduino Mega 2560. Komunikasi antara
mikrokontroler dengan mesin grafir 2.5D
menggunakan pengendali motor stepper dan
pengendali motor DC sebagai penerjemah
program yang telah dibuat. Sistem pengendali
pada motor stepper menggunakan MOSFET
IRF9540 dan IRF540.
Gambar 2.4 Gambaran umum sistem
Operator memasukkan data titik koordinat
melalui perangkat antarmuka yang sudah
disediakan. Untuk memasukkan data titik
koordinat yang dimaksud yakni melalui LCD
touchscreen. Nilai-nilai koordinat yang telah
dimasukan akan diproses oleh Arduino dan
dikonversikan menjadi jumlah pulsa dalam
frekuensi tertentu. Jumlah pulsa yang keluar
tersebut akan dkonversikan kembali oleh
rangkaian penggerak menjadi sinyal untuk
memutarkan motor stepper pada sumbu X dan
sumbu Y. Lama pergerakan motor stepper ini
tergantung pada jumlah pulsa yang diberikan
sedangan kecepatan putarnya tergantung dari
frekusensi pulsa tersebut. Setelah koordinat X
dan Y tercapai pengontrol akan menggerakan
motor DC secara otomatis. Arduino akan
membaca status running pada motor stepper X,
Y dan Z, lalu akan mengirimkan pulsa dengan
jumlah dan frekuensi tertentu kepada arduino
pengendali motor DC. Pulsa ini akan
dibandingkan dengan pulsa yang dihasilkan
oleh rotary encoder dan dikonversikan menjadi
nilai PWM. Nilai PWM yang dihasilkan akan
disesuaikan dengan parameter pengontrol PID
yang telah dimasukan dalam program arduino di
dalamnya. Sinyal PWM yang dihasilkan akan
mendetak rangkaian pengendali motor DC
sehingga dapat memutarkan motor DC
penggerak sumbu Z dan Spindle, sesuai dengan
parameter yang diberikan.
Tuntutan Sistem
2.2.1. Fungsi standar
Fungsi standar yang harus dipenuhi adalah
sebagai berikut.
a. Mampu melakukan proses grafir dengan
kelajuan konstan setelah operator
melakukan pemilihan kelajuan proses.
b. Mampu mengimplementasikan G-Code.
c. Mampu melakukan interpolasi linear
dan interpolasi srikular pada empat
kuadran pada koordinat kartesian.
d. Mampu melakukan pergerakan sumbu
X dan Y baik otomatis maupun manual.
e. Mampu melakukan pergerakan sumbu Z
baik otomatis maupun manual.
2.2.2. Fungsi tambahan
Fungsi tambahan yang harus dipenuhi
sebagai berikut.
a. Mampu melakukan proses grafir multi
koordinat secara otomatis pada dua area
ketinggian.
b. Mampu melakukan pengendalian
kecepatan spindle dengan metode PID
dan melakukan proses grafir dengan
putaran spindle yang konstan.
c. Mampu menambahkan fungsi M-Code.
d. Kontrol mesin grafir menggunakan
komunikasi nirkabel (wireless).
Perencanaan dan Pembuatan Program
Interpolasi
2.3.1. Konsep pengendalian sumbu X dan Y
Sebagai arah pergerakan motor (CW atau
CCW). Hasil keluaran Arduino dikonversi
menjadi keluaran bit eksitasi motor stepper
yang terlebih dahulu dikuatkan dengan
driver MOSFET. Sebelum menentukan
kecepatan dari tiap sumbu dengan
menggunakan
interpolasi,
penulis
menampilkan perhitungan dari spesifikasi
motor stepper lima fasa yang digunakan.
Gambar 2.5 Diagram blok pengendali sumbu
X dan Y
1. Perhitungan jumlah pulsa
Pada tahapan ini terdapat dua metode
perhitungan, yaitu dengan menggunakan full
step dan half step. Namun penulis
menggunakan metode half step.
1 Pulsa = 0.36⁰
3600
Pulsa /Rotasi = 0.36⁰ = 1000 𝑝𝑢𝑙𝑠𝑎
Pitch = 4 mm
𝑃𝑢𝑙𝑠𝑎
𝐽𝑎𝑟𝑎𝑘 × 𝑅𝑜𝑡𝑎𝑠𝑖
𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑢𝑙𝑠𝑎
=
𝑃𝑖𝑡𝑐ℎ
32 𝑚𝑚 × 500
𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑢𝑙𝑠𝑎
=
4
𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑢𝑙𝑠𝑎
= 8000 𝑝𝑢𝑙𝑠𝑎
Maka, untuk menempuh satu koordinat
(jarak 3,2 cm) dibutuhkan pulsa sebanyak
8000. Pemberian kecepatan frekuensi harus
diberikan pada kisaran 2,5 kHz, pada
pemberian frekuensi feedrate sekitaran 4000
ke atas akan menyebabkan melencengnya
garis interpolasi dari koordinat yang
diharapkan.
Pada proyek akhir ini terdapat tiga buah
plant yaitu plant A, plant B, dan plant C,
ketiga plant tersebut memiliki karakteristik
mekanik penggerak sumbu horizontal yang
berbeda-beda. Maka dari itu, untuk
mendapatkan hasil yang diinginkan,
diaturlah kecepatan frekuensi yang berbedabeda pula. Plant A diatur pada kecepatan
frekuensi 3,7 kHz, plant B diatur pada
kecepatan frekuensi 3kHz, dan plant C
diatur pada kecepatan frekuensi 2,5kHz.
Semakin besar frekuensi semakin cepat
kecepatan putar motor lalu semakin kecil
pula torsi semakin kecil arus listrik, karena
kecepatan putar motor dan torsi selalu
berbanding terbalik. Begitu juga, semakin
kecil frekuensi semakin lambat kecepatan
putar motor, semakin besar torsi semakin
besar arus listrik.
2.3.2. Perancangan program interpolasi
1. Metode pembangkit sinyal
interpolator linear
Salah satu tuntutan pada sistem yang
akan dibuat adalah sistem pembangkitan
sinyal interpolator linear. Mengacu
pada ketersediaan referensi dari metode
yang akan digunakan, maka diputuskan
untuk menggunakan DDA integrator
sebagai metode pembangkit sinyal
interpolator linear.
Pada DDA integrator digunakan dua
buah register yang dapat
membangkitkan sinyal pulsa. Untuk
menghasilkan garis linear, maka DDA
integrator harus memiliki perbandingan
frekuensi yang sama pada masingmasing sumbu. Setiap sumbu
pergerakan memerlukan satu integrator
DDA. Integrator DDA 1 menghasilkan
pulsa-pulsa pergerakan untuk sumbu X
dan integrator DDA 2 menghasilkan
pulsa-pulsa untuk pergerakan sumbu Y.
Dengan demikian gerakan resultan yang
dihasilkan merupakan gerakan dari dua
sumbu pergerakan yang bergerak secara
simultan.
Cara kerja dari DDA integrator ini
menggunakan sistem open loop yaitu
pulsa yang dihasilkan tidak
mempengaruhi nilai p atau nilai p
konstan. Jadi, hasil pulsa dikeluarkan
langsung untuk pergerakan motor
stepper. DDA integrator menggunakan
sistem open loop ini di tunjukan pada
gambar 2.6
Gambar 2.6 DDA
interpolator linear
integrator
untuk
Dari integrator yang ditunjukkan pada
gambar 2.6, dibuatlah algoritma untuk
interpolator linear yang memanfaatkan
proses iterasi pada proses
interpolasinya. Iterasi berfungsi sebagai
pengurang variabel proses yang akan
mempengaruhi jumlah pulsa yang
dihasilkan dan sebagai indikator bahwa
proses DDA telah berlangsung selama 1
siklus.
Interpolator linear membutuhkan
inisialisasi beberapa variabel yang
diperlukan seperti X1, Y1, X2, Y2,
dltPX, dltPY, iterasi, dan jarak_tempuh.
X1 dan Y1 merupakan variabel yang
menyimpan koordinat awal sebelum
proses interpolasi, sedangkan X2 dan
Y2 merupakan variabel yang
menyimpan koordinat X dan Y yang
menjadi tujuan akhir proses interpolasi.
DltPX dan dltPY merupakan variabel
yang menghitung jarak dari koordinat
awal hingga koordinat tujuan sekaligus
menjadi arah kuadran tempat proses
interpolasi akan diproses. Iterasi adalah
variabel untuk menyimpan kapasitas
register dari proses interpolasi dan
jarak_tempuh merupakan variabel yang
berisi panjang iterasi yang akan
dilaksanakan. Apabila digambarkan
dalam bentuk diagram alir adalah
seperti yang ditunjukkan pada gambar
2.7.
Gambar 2.7 Diagram alir linear interpolator
2. Metode pembangkit sinyal interpolator
sirkular
Tuntutan lain yang harus dicapai pada sistem
yang
akan
dibuat
adalah
sistem
pembangkitan sinyal interpolator circular.
Mengacu pada ketersediaan referensi dari
metode yang akan digunakan, maka
diputuskan untuk menggunakan DDA
integrator sebagai metode pembangkit
sinyal interpolator circular.
Pada DDA integrator digunakan dua buah
register yang dapat membangkitkan sinyal
pulsa yang perubahan frekuensi dari pulsa
yang dihasilkan menyerupai fungsi sinus dan
cosinus. Fungsi cosinus yang dimaksud
adalah frekuensi dari pulsa keluaran yang
menyerupai
fungsi
cosinus
dimana
perubahan frekuensinya dari nilai yang
tinggi ke nilai yang lebih rendah. Fungsi
sinus yang dimaksud adalah frekuensi dari
pulsa keluaran yang menyerupai fungsi sinus
dimana perubahan frekuensinya dari nilai
yang rendah ke nilai yang lebih tinggi.
Untuk membuat frekuensi dari pulsa yang
menghasilkan fungsi sinus dan cosinus maka
DDA integrator dihubungkan saling
mengumpan balik.
Umpan balik dari masing-masing keluaran
DDA integrator akan dipengaruhi oleh
frekuensi dari pulsa selanjutnya. Untuk
memperoleh
frekuensi
dari
pulsa
menyerupai fungsi cosinus, maka keluaran
dari DDA integrator dengan fungsi sinus
diumpan balikkan pada DDA integrator
dengan fungsi cosinus dengan nilai negatif.
Sementara pada DDA integrator dengan
fungsi sinus berlaku sebaliknya.
Untuk pengaturan kecepatan, maka
diperlukan pengaturan speed clock yang
berfungsi sebagai jantung DDA. Masukan
berasal dari clock yang akan membuat DDA
interpolator bekerja. Bila tidak ada masukan
clock maka tidak ada pulsa keluar.
Pada Gambar 2.8 menunjukan DDA
integrator yang saling bersilangan yaitu bila
pada DDA 1 menghasilkan pulsa maka nilai
P pada DDA 2 akan bertambah dan apabila
DDA 2 menghasilkan pulsa maka nilai P
pada DDA 1 akan berkurang. Begitu
seterusnya hingga hingga nilai p pada DDA
1 bernilai nol dan nilai P pada DDA 2
bernilai maksimum.
Gambar 2.9 Diagram alir circular
interpolator (1)
Gambar 2.8 DDA integrator untuk
interpolator sirkular
Dari integrator yang ditunjukkan pada
gambar 2.8, dibuatlah algoritma untuk
interpolator circular yang memanfaatkan
proses iterasi pada proses interpolasinya.
Iterasi berfungsi sebagai pengurang variabel
proses yang akan mempengaruhi jumlah
pulsa yang dihasilkan dan sebagai indikator
bahwa proses DDA telah berlangsung
selama 1 siklus. Untuk itu, diperlukan
variabel untuk mengakomondasi proses
iterasi tersebut. Gambar 2.9 merupakan
diagram alir dari pengolahan awal variabel
pada interpolator circular.
Setelah pengolahan awal variabel
dilakukan untuk menentukan kuadran
tempat dilakukannya proses interpolasi
circular maka langkah selanjutnya
adalah mengolah data variabel yang
diperoleh untuk melakukan proses
interpolasi. Gambar 2.10 merupakan
diagram alir dari interpolator circular
untuk proses pada kuadran 1 dan 4.
Gambar 2.10 Diagram alir circular
interpolator (2)
Setelah dilakukan pengolahan awal pada
variabel seperti yang ditunjukkan pada
gambar 3.15, maka langkah selanjutnya
setelah ditentukan kuadran 1 dan 4
adalah nilai QY2 adalah QY1 yang
ditambahkan dengan nilai dltPY.
Apabila nilai QY2 lebih besar dari iterasi
maka nilai QY2 akan dikurangi kapasitas
register, nilai QY2 dimasukkan pada
QY1, nilai ovf_y high dan nilai dltPX
akan bertambah. Sedangkan apabila
QY2 lebih kecil daripada iterasi maka
ovf_y low dan nilai QY2 tetap
dimasukkan ke QY1. Selanjutnya nilai
QX2
adalah
nilai
QX1
yang
ditambahkan dengan nilai dltPX.
Apabila nilai QX2 lebih besar dari iterasi
maka nilai QX2 akan dikurangi kapasitas
register, nilai QX2 dimasukkan pada
QX1, nilai ovf_x high dan nilai dltPY
akan berkurang. Proses ini akan terus
berulang hingga nilai dltPY mencapai 0
dan dltPX sama dengan nilai r. Adapun
untuk diagram alir untuk kuadran 2 dan
3 ditunjukkan pada gambar 2.11.
iterasi maka nilai QX2 akan dikurangi
kapasitas register, nilai QX2 dimasukkan
pada QX1, nilai ovf_x high dan nilai
dltPY akan bertambah. Proses ini akan
terus berulang hingga nilai dltPX
mencapai 0 dan dltPY sama dengan nilai
r.
Integrasi Program Pengendalian Mesin
Grafir 2,5D
Seluruh program kendali perlu diintegrasikan
pada pengendali utama (master). Master
menangani beberapa masukan dan keluaran.
Pengintegrasian ini ada yang menggunakan dari
pin ke pin mikrokontroler dan ada juga yang
menggunakan komunikasi serial.
Pada proses intergrasi program keseluruhan hal
yang dilakukan adalah mengatur dan menaikkan
nilai baud rate yang awalnya 9600 menjadi
115200 agar pada proses pengiriman data tidak
mengalami jeda waktu.
Saat melakukan komunikasi serial dengan
driver-driver tidak dapat dilakukan monitoring
karena karena akan mempengaruhi kinerja
driver menjadi lebih lambat beserta data yang
dikirimnya menjadi tidak sempurna.
Kapasitas buffer serial pada Arduino yang mulamula 64 byte dinaikkan menjadi 128 byte, agar
tampungan data masukan lebih banyak ketika
memasukkan program G-Code.
Gambar 2.12 Alur proses masukan dan keluaran Arduino
Gambar 2.11 Diagram alir circular
interpolator (3)
Setelah dilakukan pengolahan awal pada
variabel seperti yang ditunjukkan pada
gambar 2.9, maka langkah selanjutnya
setelah ditentukan kuadran 2 dan 3
adalah nilai QY2 adalah QY1 yang
ditambahkan dengan nilai dltPY.
Apabila nilai QY2 lebih besar dari iterasi
maka nilai QY2 akan dikurangi kapasitas
register, nilai QY2 dimasukkan pada
QY1, nilai ovf_y high dan nilai dltPX
akan berkurang. Sedangkan apabila QY2
lebih kecil daripada iterasi maka ovf_y
low dan nilai QY2 tetap dimasukkan ke
QY1. Selanjutnya nilai QX2 adalah nilai
QX1 yang ditambahkan dengan nilai
dltPX. Apabila nilai QX2 lebih besar dari
3. HASIL IMPLEMENTASI
Pengujian
3.1.1. Frekuensi keluaran mikrokontroler
Pengukuran menggunakan alat ukur juga
menjadi hal yang penting pada saat ingin
memastikan bahwa program yang telah
dibuat bekerja sesuai dengan keinginan,
adapun alat yang dapat digunakan untuk
melihat
gelombang
frekuensi
yang
dihalsilkan oleh mikrokontroler adalah
osiloskop. Dengan bantuan alat ini kita dapat
mengambil beberapa sampling data apakah
bila kita berikan
koordinat
pada
mikrokontroler, mikrokontroler tersebut
merespon dengan baik atau tidaknya dapat
diketahui ditampilkan pada alat ukur ini. Hal
penting lainnya yaitu frekuensi tersebut akan
berhenti beroperasi ketika program
penghitung pulsanya telah mencapai syarat
ondisi off. Pengujian frekuensi keluaran
menggunakan metode interpolasi linear
No
X : 10, Y: 18
X : 10, Y : 30
X : 20, Y: 8
X : 10, Y : 30
X : 5, Y : 1
X : 5, Y : 2
Frek. (Hz)
Tabel 3.1. Pengujian kecepatan putaran motor
stepper dengan frekuensinya
Perhitungan
(rpm)
1
2
3
4
5
6
7
8
9
10
300
600
900
1200
1500
1800
2100
2400
2700
3000
15,7
30,4
51,3
68,7
89,9
105,7
121,2
139
155,5
176
18
36
54
72
90
108
126
144
162
180
11
3300
198,4
198
12
3600
214.5
216
Gambar 3.1. Hasil keluaran frekuensi koordinat
linear pada osiloskop
Kurva Kecepatan Frekuensi
300
Kecepatan (rpm)
3.1.2. Kecepatan
Pada pengujian kecepatan putar motor
stepper pada proses interpolasi, pengujian
kecepatan putar motor stepper dilakukan
dengan mengatur berdasarkan tinggi
rendahnya frekuensi yang dikirim oleh
interpolator. Pengujian ini menggunakan
alat tachometer untuk mendapatkan nilai
kecepatannya (rpm). Pada dasarnya, nilai
frekuensi yang dikirim akan berbanding
lurus dengan nilai kecepatan putar motor.
Semakin tinggi nilai frekuensi yang dikirim,
maka kecepatan putar motor stepper pun
akan semakin tinggi. Adapun perhitungan
untuk pengujian kecepatan putar motor
stepper ditunjukkan pada persamaan (4-1).
𝑝𝑝𝑠
𝜔 = 60 𝑁𝑝 [rotasi/menit].....................(4-1)
Tachometer
(rpm)
200
100
0
0
1000
2000
3000
Frekuensi (Hz)
Gambar 3.2. Kurva kecepatan – frekuensi
motor stepper
3.1.3. Keakuratan
Pada pengujian keakuratan tujuannya adalah
membandingkan jarak pada perhitungan dan
jarak sebenarnya (aktual). Keakuratan pada
proses interpolasi diukur berdasarkan
jumlah pulsa yang dikirim dengan panjang
iterasi yang seharusnya. Alat ukur yang
digunakan
dalam
pengujian
adalah
penggaris dengan ketelitian 1 mm,
dikarenakan pergerakan 1 step pulsa pada
motor stepper bergerak sebesar 0,004 mm,
ketelian alat ukur yang terbatas dan alat ukur
4000
keliling lingkaran, terdapat pada
persamaan (3-4).
Keliling = 2 × 3,14 × r……...(3-4)
Contoh :
R= 30 mm
Keliling = 2 × 3,14 × r
= 188,49 mm
yang belum terkalibrasi, data pada pengujian
dikatakan perkiraan perhitungan. Untuk
menghitung persentase perkiraan keakuratan
dapat menggunakan persamaan sebagai (32).
%𝑃𝑒𝑟𝑘𝑖𝑟𝑎𝑎𝑛 𝐾𝑒𝑎𝑘𝑢𝑟𝑎𝑡𝑎𝑛 =
𝑃𝑒𝑟𝑘𝑖𝑟𝑎𝑎𝑛 𝑝𝑒𝑛𝑔𝑢𝑘𝑢𝑟𝑎𝑛
× 100%..........(3-2)
𝑝𝑒𝑟ℎ𝑖𝑡𝑢𝑛𝑔𝑎𝑛
1. Interpolasi linear
Keakuratan pada proses interpolasi
linear diuji pada garis resultan pada
interpolasi linear menggunakan teorema
Pythagoras, terdapat pada persamaan (43).
𝑅 = √𝑥 2 + 𝑦 2 ………..(3-3)
Contoh :
x = 3 mm, y = 3 mm.
R = √32 + 32 = 4,24 mm
Tabel 3.2 Perbandingan hasil pengukuran dan
perhitungan koordinat linear
Koordinat
Jarak (mm)
Selisih
No
Perkiraan
(mm)
Perkiraan
Keakuratan
X
Y
Perhitungan
1
32
96
101,19
101
0,19
2
96
32
101,19
102
0,81
100,8
3
60
60
84,85
85
0,15
100,18
90
108,17
109
0,83
100,77
4
60
Pengukuran
(%)
99,81
5
30
30
42,43
42
0,43
98,99
6
90
60
108,17
108
0,17
99,84
Pada tabel 3.2 ditunjukkan perbandingan
antara
hasil
perhitungan
untuk
pengukuran keakuratan dengan hasil
pengukuran menggunakan penggaris
dengan ketelitian 1 mm. Dari tabel
tersebut dapat dihitung bahwa rata-rata
selisih keakuratan untuk interpolasi
linear bernilai 0,43 mm dan rata-rata dari
persentase
perkiraan
keakuratan
100,06%. Adapun perbedaan yang
terjadi antara hasil pengukuran dengan
perhitungan bisa disebabkan oleh
kondisi lain pada sistem, seperti
konstruksi plant yang kurang baik,
ataupun kondisi pada penggerak dan lain
sebagainya.
2. Interpolasi sirkular
Keakuratan pada proses interpolasi
sirkular diuji pada garis resultan pada
interpolasi sirkular menggunakan rumus
Tabel 3.3 Perbandingan hasil pengukuran dan
perhitungan koordinat sirkular
Koordinat
Jarak (mm)
No
Selisih
Perkiraan
(mm)
Perkiraan
Keakuratan
X
Y
R
Perhitungan
1
30
30
30
188,4
185,3
3,1
98,35
2
15
15
15
94,2
94,2
0
100
3
5
5
5
31,4
28,3
3,1
90,12
Pengukuran
Pada tabel 3.3 ditunjukkan perbandingan
antara
hasil
perhitungan
untuk
pengukuran keakuratan dengan hasil
pengukuran menggunakan penggaris
dengan ketelitian 1 mm. Dari tabel
tersebut dapat dihitung bahwa rata-rata
selisih keakuratan untuk interpolasi
sirkular bernilai 2,7 mm dan rata-rata
dari perkiraan keakuratan 96,16% .
Adapun perbedaan yang terjadi antara
hasil pengukuran dengan perhitungan
bisa disebabkan oleh kondisi lain pada
sistem, seperti konstruksi plant yang
kurang baik ataupun kondisi pada
penggerak dan lain sebagainya.
3.1.4. Kepresisian (Repeatability)
Kepresisian
adalah
variasi
dalam
pengukuran yang dilakukan oleh seseorang
atau isntrumen pada hasil yang sama dan
dalam kondisi yang sama. Dalam uji coba
kepresisian ini yang diukur adalah garis
yang dihasilkan dari pergerakan interpolasi
linear dan sirkular pada mesin grafir 2,5D.
Pengujian untuk interpolasi linear dilakukan
secara berulang sebanyak 10 kali pergerakan,
dengan cara menggerakkan salah satu sumbu
sejauh 32 mm yang bernilai 8000 pulsa. Lalu
pada pengujian untuk interpolasi sirkular
diberikan sejumlah pulsa 7500 yang berarti
dengan nilai radius 30 mm, dilakukan
berulang kali pada masing-masing kuadran
lingkaran, mulai dari kuadran 1-4. Alat ukur
yang digunakan dalam pengujian adalah
penggaris dengan ketelitian 1 mm. Berikut
merupakan hasil daripada uji coba
kepresisian.
(%)
pergerakan mesin, maka hasil yang
didapatkan
dibandingkan
dengan
persamaan (3-5). Pada perbandingan
waktu tempuh aktual dengan waktu
tempuh ideal didapatkan persentase
ketepatan pergerakan mesin yang
ditunjukan pada persamaan (3-7).
𝑊𝑎𝑘𝑡𝑢 𝑃𝑒𝑟ℎ𝑖𝑡𝑢𝑛𝑔𝑎𝑛
%𝐾𝑒𝑡𝑒𝑝𝑎𝑡𝑎𝑛 = 𝑊𝑎𝑘𝑡𝑢 𝑃𝑒𝑛𝑔𝑢𝑘𝑢𝑟𝑎𝑛 ×
Gambar 3.4 Pengujian kepresisian interpolasi
linear dan sirkular
100% ……….. (3-7)
7.18
Contoh : %Ketepatan= 13.4 𝑥100% =
53.58%
Dari tabel tersebut dapat dihitung bahwa
rata-rata selisih waktu tempuh untuk
interpolasi linear bernilai 4,44 detik dan
rata-rata dari persentase keakuratan
65,69% .
2. Interpolasi sirkular
3.1.5. Waktu tempuh antar koordinat
Pengujian ketepatan waktu tempuh adalah
variabel yang di ukur adalah waktu tempuh
alat dalam melakukan interpolasi terhadap
koordinat yang dituju. Pada pengujian ini,
alat ukur yang digunakan adalah stopwatch
digital.
1. Interpolasi linear
Ketepatan
waktu
tempuh
pada
interpolasi linear menggunakan teorema
Pythagoras pada pengujiannya untuk
menentukan garis miring dari koordinat
yang ditentukan. Untuk menentukan
waktu tempuh interpolasi linear terdapat
pada formula (3-5):
7500
× √𝑋 2 + 𝑌 2 ……….(3-5)
Ketepatan
waktu
tempuh
pada
interpolasi sirkular menggunakan rumus
keliling lingkaran pada pengujiannya
untuk menentukan bentuk lingkaran dari
koordinat yang ditentukan. Untuk
menentukan waktu tempuh Interpolasi
linear terdapat pada formula (3-8):
250
× 2 × 3.14 × 𝑟……(3-8)
𝑓𝑟𝑒𝑘 𝑚𝑎𝑘𝑠𝑖𝑚𝑎𝑙
𝑓𝑟𝑒𝑘 𝑚𝑎𝑘𝑠𝑖𝑚𝑎𝑙
Nilai 7500 merupakan pulsa yang
diberikan mikrokontroler untuk bergerak
sejauh 30mm yang juga merupakan nilai
pulsa yang dijadikan referensi untuk
menentukan jumlah pulsa untuk jarak
yang diinginkan. Nilai 7500 didapatkan
dari perbandingan aktuator yang
digunakan pada plan dengan sistem
mekanik yang terpasang pada plan, juga
kebutuhan yang diinginkan oleh sistem.
Nilai 7500 di dapat kan dari formula (46).
∑ 𝑃𝑢𝑙𝑠𝑎 =
…(3-6)
360°
(
)
𝑠𝑢𝑑𝑢𝑡 𝑝𝑒𝑟 𝑠𝑡𝑒𝑝 𝑚𝑜𝑡𝑜𝑟
𝑃𝑖𝑡𝑐ℎ 𝑏𝑎𝑙𝑙 𝑠𝑐𝑟𝑒𝑤
Nilai 250 merupakan pulsa yang
diberikan mikrokontroler untuk bergerak
sejauh 1 mm yang juga merupakan nilai
pulsa yang dijadikan referensi untuk
menentukan jumlah pulsa untuk jarak
yang diinginkan. Nilai 250 didapatkan
dari perbandingan aktuator yang
digunakan pada plan dengan sistem
mekanik yang terpasang pada plan. Nilai
250 didapatkan dari rumus (3-9).
∑ 𝑃𝑢𝑙𝑠𝑎 =
𝑗𝑎𝑟𝑎𝑘(𝑚𝑚)
(
360°
)
𝑠𝑢𝑑𝑢𝑡 𝑝𝑒𝑟 𝑠𝑡𝑒𝑝 𝑚𝑜𝑡𝑜𝑟
𝑃𝑖𝑡𝑐ℎ 𝑏𝑎𝑙𝑙 𝑠𝑐𝑟𝑒𝑤
….(3-9)
Tabel 3.5 Waktu tempuh antar koordinat pada
Tabel 3.4 Waktu tempuh antar koordinat pada
uji interpolasi sirkular
uji interpolasi linear
Koordinat
Waktu tempuh
(detik)
No
Perhitungan
Waktu Tempuh
Koordinat
Selisih
Ketepatan
(detik)
(%)
(detik)
No
X
Y
R
Perhit
ungan
Aktual
Selisih
Ketepatan
(detik)
(%)
X
Y
Aktual
1
3
1
13,4
7,18
6,22
53,58
1
30
30
30
14,27
19,4
5,13
73,56
2
2
2
6,9
6,4
0,5
92,75
2
15
15
15
7,1
9,3
2,2
76,34
3
3
0
13,4
6,8
6,6
50,75
3
5
5
5
2,3
4,8
2,5
47,91
Pada tabel 3.4 hasil data pengujian
menunjukan waktu tempuh mesin
bekerja pada koordinat tertentu. Untuk
memastikan ketepatan pada pada
Pada tabel 3.5 hasil data pengujian
menunjukan waktu tempuh mesin
bekerja pada koordinat tertentu. Untuk
memastikan ketepatan pada pada
pergerakan mesin, maka hasil yang
didapatkan
dibandingkan
dengan
persamaan (3-8). Pada perbandingan
waktu tempuh aktual dengan waktu
tempuh ideal didapatkan persentase
ketepatan pergerakan mesin yang
ditunjukan pada persamaan (3-7).
Dari tabel tersebut dapat dihitung bahwa
rata-rata selisih waktu tempuh untuk
interpolasi sirkular bernilai 3,27 detik
dan rata-rata dari persentase keakuratan
65,93% .
Waktu tempuh interpolasi linear dan
sirkular yang tidak tepat 100%
dikarenakan penggunaan delay pada
program
Arduino,
maka
ketika
menggunakan delay pada Arduino
menggunakan frekuensi clock utama
pada Arduino. Hal ini menyebabkan
panjangnya program sebelum delay
berpengaruh pada proses looping
program untuk membangkitkan keluaran
pulsa.
Hasil Pengujian Pada Plant
Gambar 3.5 Pola yang diuji
Pada gambar 3.5 Menunjukkan pengujian pada
plant yang dilakukan sebanyak sekian kali
terhadap sekian titik pengujian. Pengujian
dilakukan dari posisi titik (0,4) yang
sebelumnya sudah diatur pada titik tersebut,
setelah itu melakukan penggoresan berdasarkan
titik-titik yang telah ditentukan pada kertas uji.
Berikut adalah tabel hasil pengujian pada plant.
Tabel 3.6 Hasil pengujian pada plant
No.
Koordinat
R
Waktu tempuh
(detik)
4
-
21,9
3
30
7,2
0
2
30
2,8
1
0
-
9,3
X
Y
1
0
2
1
3
4
Berdasarkan hasil pengujian pada plant dapat
disimpulkan beberapa hal, antara lain:
1. Keakuratan
𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑡𝑖𝑘 𝑦𝑎𝑛𝑔 𝑡𝑒𝑝𝑎𝑡
%𝑘𝑒𝑎𝑘𝑢𝑟𝑎𝑡𝑎𝑛 =
𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑡𝑖𝑘 𝑝𝑒𝑛𝑔𝑢𝑗𝑖𝑎𝑛
× 100
3
%𝑘𝑒𝑎𝑘𝑢𝑟𝑎𝑡𝑎𝑛 = 𝑥 100
4
𝑘𝑒𝑎𝑘𝑢𝑟𝑎𝑡𝑎𝑛 = 75%
Keakuratan dari program interpolasi yang
dibuat, untuk pola uji seperti di atas adalah 75%.
2. Kepresisian
%𝑘𝑒𝑝𝑟𝑒𝑠𝑖𝑠𝑖𝑎𝑛
𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑡𝑖𝑘 𝑦𝑎𝑛𝑔 𝑝𝑟𝑒𝑠𝑖𝑠𝑖
=
𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑡𝑖𝑘 𝑝𝑒𝑛𝑔𝑢𝑗𝑖𝑎𝑛 × 𝑝𝑒𝑛𝑔𝑢𝑙𝑎𝑛𝑔𝑎𝑛
× 100
12
%𝑘𝑒𝑝𝑟𝑒𝑠𝑖𝑠𝑖𝑎𝑛 =
𝑥 100
4 × 4
12
%𝑘𝑒𝑝𝑟𝑒𝑠𝑖𝑠𝑖𝑎𝑛 =
𝑥 100
16
𝑘𝑒𝑝𝑟𝑒𝑠𝑖𝑠𝑖𝑎𝑛 = 75%
Keakuratan dari program interpolasi yang
dibuat, untuk pola uji seperti di atas adalah 75%.
Hal ini disebabkan pada saat penitikan titik
utama, setting kertas dan pengaruh karakteristik
pada plant.
4. PENUTUP
Ketercapaian Tujuan dan Tuntutan
Adapun
ketercapaian
tuntutan
sistem
perancangan mesin grafir 2,5D adalah sebagai
berikut :
1. Mesin mampu melakukan penggoresan
pada beberapa sebaran titik di bidang
pertama dan beberapa sebaran titik di
bidang kedua dengan dua ketinggian
bidang yang berbeda.
2. Mesin mampu melakukan gerak
interpolasi linear dan interpolasi
sirkular pada empat kuadran koordinat
kartesian.
3. Dapat
mengintegrasikan
seluruh
sistem kendali pada mesin grafir 2,5D.
4. Rata-rata selisih waktu tempuh
interpolasi linear secara aktual lebih
lama 4,44 detik dibandingkan dengan
hasil perhitungan. Untuk rata-rata
selisih waktu tempuh interpolasi
sirkular secara aktual lebih lama 3,27
detik dibandingkan dengan hasil
perhitungan.
5. Rata-rata selisih nilai keakuratan
pemberian pulsa dan ketepatan
koordinat pada interpolasi linear
bernilai 0,43 mm, sedangkan pada
interpolasi sirkular bernilai 2,7 mm
dibandingkan
dengan
hasil
perhitungan.
Permasalahan yang Ditemukan
Dari pengujian yang telah dilakukan terhadap
rangkaian penggerak yang dibuat sudah
mendekati dengan tuntutan yang ada, akan
tetapi tidak terlepas dari permasalahan.
Beberapa masalah yang ditemukan adalah :
1. Berpengaruhnya penampilan data serial
ketika komunikasi dan pengendalian
motor stepper membuat pergerakan
menjadi tidak sempurna juga tidak sesuai
lalu driver motor stepper menjadi panas.
2. Berpengaruhnya kecepatan transfer data
serial pada saat pengiriman data untuk
pengendalian. Sehingga terjadi waktu
tunda dalam pengiriman data apabila
transfer datanya lambat.
3. Kapasitas
serial
buffer
pada
mikrokontroler
Arduino
terbatas,
sehingga apabila G-Code dan M-Code
yang dimasukkan lebih besar dari 18
baris. Apabila data yang dimasukkan
lebih dari yang disebutkan, beberapa
baris perintah G-Code dan M-Code ada
yang tidak dieksekusi.
4. Pada rasio feedrate semisal 4 kHz ke atas
terdapat masalah yaitu melencengnya
garis dari koordinat yang diharapkan.
5. Perbedaan
karakteristik
mekanik
penggerak sumbu horizontal (sumbu X
dan Y) antara plant A, plant B dan plant
C serta kemampuan driver motor stepper
yang hanya mampu bekerja optimal pada
plant C sumbu Y sebagai sumbu yang
membawa beban keseluruhan meja
ringan karena ulir dan kopling tepat satu
sumbu, membuat akurasi menurun pada
perbandingan X dan Y besar, karena
salah satu sumbu bekerja pada frekuensi
rendah, karena berdasarkan percobaan
semakin rendah frekuensi yang diberikan
pada motor stepper, maka arus yang
ditarik akan semakin besar.
Solusi Permasalahan
Adapun
solusi
ataupun
saran
untuk
menyelesaikan permasalahan diatas adalah
1. Tidak perlu ditampilkan data serial atau
monitoring prosesnya, sehingga hanya
proses read dan write saja yang
dilakukan.
2. Menaikkan baud rate dari 9600 ke
115200.
3. Menaikkan kapasitas serial buffer
Arduino hinnga 512 byte pada file header
AVR hardware cores.
4. Frekuensi feedrate diatur pada kisaran
2,5 kHz dengan cara mengatur lebih
kecil dari nilai 4 kHz.
5. Dengan mengatur kecepatan frekuensi
penyulutan motor stepper , maka kerja
driver MOSFET akan lebih ringan dan
tentunya performa motor stepper akan
lebih optimal.
DAFTAR PUSTAKA
[1]
Kartidjo, Muljowidodo, dan Djodikusumo,
Indra, 1996, Mekatronika, Higher Education
Development Support Project.
[2]
Koren, Yoram. 1983. Computer Control of
Manufacturing Systems, Mc-Graw Hill.
[3]
Mohan, Ned, Undeland, Tore M. and Robbins,
William P., 1995, Power Electronics
Converters, Application, and Design, John
Wiley and Sons, Inc
[4]
Nasar, Syed Abu, 1987, Handbook of Electric
Machines, Mc-Graw Hill.
[5]
Wiawan,
Muhammad
Iqbal.
2015.
Pemrograman Interpolasi Sumbu X dan
Sumbu Y Pada Mesin Grafir 2.5D. Bandung:
Politeknik Manufaktur Negeri Bandung.
[6]
Autonics. 2005. 5-Phase Stepping Motor
Selection Guide. Korea: Autonics.
[7]
Autonics. 2005. E50S Rotary Encoder
Datasheet. Korea: Autonics.
[8]
STMircoelectronics. 2003. MOSFET IRF540
Datasheet. China: STMircoelectronics.
[9]
STMircoelectronics. 2003. MOSFET IRF9540
Datasheet. China: STMircoelectronics.
[10] STMircoelectronics. 2000. MOSFET L298
Datasheet. China: STMircoelectronics.
[11] Arduino. http://www.arduino.cc/ . (diakses
pada 10 Juni 2016)
[12] Waveshare
Wiki.
http://www.waveshare.com/wiki/Main_Page/
(diakses pada 13 Juni 2016)
[13] Nick Johantgen. 2010. The 5-phase New
Pentagon
Driver
Chip
Set.
http://www.orientalmotor.com/technology/art
icles/pdfs/BuildingA5PhaseDriver_wDriverO
ptions.pdf (diakses pada 10 Juni 2016)
PERGERAKAN MOTOR STEP DUA SUMBU
PADA MESIN GRAFIR 2,5D
BERBASIS ARDUINO
Reza Maliki Akbar
Hadi Supriyanto, S.T., M.T., Dr. Noval Lilansa, Dipl.Ing(FH)., M.T.
Jurusan Teknik Otomasi Manufaktur dan Mekatronika,
Politeknik Manufaktur Negeri Bandung
Jl. Kanayakan 21, Bandung, Indonesia
ABSTRAK
Mesin grafir 2,5D merupakan mesin yang digunakan untuk penggoresan, mesin ini memiliki tiga sumbu
yaitu X, Y dan Z, dimana dua sumbu (X dan Y) bergerak secara bersamaan dan sumbu lainnya (sumbu Z) tidak
bersamaan. Permasalahan yang muncul adalah bagaimana mengimplementasikan sebuah mekanisme
pemrograman yang paling efektif untuk melakukan proses interpolasi sumbu X dan sumbu Y yang digerakkan
oleh penggerak motor stepper 5 fasa.
Pengontrol yang digunakan adalah mikrokontroler Arduino sebagai pengendali utama dan software
Python TkInter sebagai antarmuka. Perangkat kerasnya menggunakan motor stepper yang dikendalikan oleh
MOSFET IRF540 dan IRF9540 serta komponen pendukung lainnnya. Pada pengontrol ini menerapkan konsep
interpolasi secara linear dan circular untuk proses pengontrolan pergerakan kedua buah motor stepper dua sumbu
(X dan Y). Metode interpolasi linear memanfaaatkan selisih antara koordinat X dan Y tujuan dengan koordinat
X dan Y sebelumnya, sedangkan metode interpolasi circular memanfaatkan perubahan frekuensi dari pulsa yang
menyerupai fungsi sinus dan cosinus.
Dari hasil pengujian yang telah dilakukan, mesin grafir 2,5D sudah bisa melakukan interpolasi linear
dan circular pada empat kuadran. Pada pengujian kecepatan putar motor stepper apabila frekuensi masukan
bernilai 3000 Hz maka kecepatan putaran motor yang dihasilkan adalah 176 rpm, berbeda dengan hasil
perhitungan yang seharusnya bernilai 180 rpm. Nilai keakuratan pada interpolasi linear memiliki rata-rata selisih
0,43 mm, sedangkan pada interpolasi sirkular memiliki rata-rata selisih 2,7 mm dibandingkan dengan perkiraan
perhitungan. Rata-rata waktu tempuh secara aktual lebih lama 4,44 detik untuk interpolasi linear, sedangkan pada
interpolasi sirkular memiliki rata-rata selisih waktu tempuh 3,27 detik dibandingkan dengan hasil perhitungan.
Kata kunci : mesin grafir 2.5D, motor stepper 5 fasa, interpolasi, DDA.
ABSTRACT
2.5D engraving machine is a machine used for etching, this machine has three axes which are X, Y and Z,
which move two axes (X and Y) simultaneously, and the Z axis moves is not the same. Emerging issues how to
implement a programming mechanism which is the most effective to perorm the interpolation process the X and
Y axes are driven by 5-phase stepper motor.
Arduino microcontroller is used as a main controller, and Python TkInter as an interface. Hardware used are
stepper motors which is controller by MOSFET IRF540 and IRF9540, and other supporting components. This
controller apply the interpolation concept in linear and circular for the process of controlling the movement of
two-axis stepper motors (X and Y). Linear interpolation method uses the difference between the X and Y
coordinates of the destination with the previously coordinates, while the circular interpolation method using a
change in frrequency of the pulses that are similar to the sine and cosine functions.
From the results of tests that have been done, 2,5D engraving machine is able to do linear and circular
interpolation on four quadrant. On testing the stepper motor speed, if the input frequency is 3000 Hz, then the
motor speed is 176 rpm, in contrast to the result of calculation that ought to be worth 180 rpm. The value of the
accuracy of the linear interpolation has an average difference of 0,43 mm, while the circular interpolation has
an average difference of 2,7 mm compared with the estimated calculation. The average time required to perform
the interpolation process is actually much longer 4,44 second for linear interpolation, while the circular
interpolation has an average of 3,27 second time difference compared with the calculation results.
Key word : 2.5D engraving machine, 5-phase stepper motor, interpolation, DDA.
1. PENDAHULUAN
Tujuan
Tujuan dibuatnya sistem penggerak mesin grafir
2.5D berbasis Arduino adalah sebagai berikut :
a. Membuat sistem kendali interpolasi
motor stepper 5 fasa pada sumbu X dan
sumbu Y mesin grafir 2.5D,
b. Membuat program Arduino untuk
sistem kendali keseluruhan yang
terintegrasi.
Tabel 1.3. Spesifikasi Arduino Nano
Tegangan kerja
Masukan
tegangan
Masukan
tegangan (batas)
Teknologi yang Digunakan pada Proyek
Akhir
1.2.1. Plant mesin grafir 2.5D
Spesifikasi
konstruksi
mesin
yang
digunakan pada plant proyek akhir dapat
dilihat pada tabel 1.1.
Tabel 1. 1 Spesifikasi Konstruksi Mesin
pada Plant Proyek Akhir
Ball Screw
Sumbu X
Ball Screw
Sumbu Y
Ball Screw
Sumbu Z
Panjang
Total
Panjang
Uliran
Diameter
530 mm
445 mm
250 mm
530 – 65 =
465 mm
12 mm
445 – 65 =
380 mm
12 mm
250 – 65 =
185 mm
12 mm
Pitch / Lead
4 mm
4 mm
4 mm
Spesifikasi
1.2.2. Mikrokontroler Arduino
Tabel 1.2. Spesifikasi Arduino Mega 2560
Tegangan kerja
5V
Masukan tegangan
7-12 V
(disarankan)
Masukan tegangan
6-20 V
(batas)
Pin masukan dan
54 (15 memberikan
keluaran digital
keluaran PWM)
Masukan pin analog
16
Arus DC per masukan
40 mA
dan keluaran
DC saat ini untuk 3.3V
50 mA
pin
Flash memory
256 Kb (8 Kb
digunakan bootloader)
SRAM
8 Kb
EEPROM
4 Kb
Kecepatan clock
16 MHz
5V
7-12 V
6-20 V
Pin masukan
dan keluaran
14 (6 PWM)
digital
Masukan pin
analog
8
Arus DC per
masukan dan
40 mA
keluaran
Flash memory
32 Kb (2 Kb digunakan
bootloader)
SRAM
2 Kb
EEPROM
1 Kb
Kecepatan clock
16 MHz
1.2.3. HMI (Human Machine Interface)
HMI yang digunakan pada sistem kendali
mesin grafir 2.5D ini memiliki spesifikasi
yang perlu diperhatikan diantaranya tipe dan
ukuran layar, sumber tegangan, serta tipe
koneksi komunikasi. HMI yang digunakan
ialah LCD HDMI Waveshare 7 inci tipe C,
dari kode nama HMI dapat diketahui HMI
yang digunakan memiliki spesifikasi ukuran
7 inci, layar warna dengan resolusi 1024 x
600, koneksi dari HMI ke mikorkomputer
menggunakan
HDMI
dan
USB,
menggunakan teknologi LCD (Liquid
Crystal Display) TFT (Thin Film Transistor),
pengendali sentuhan bersifat kapasitif,
kompatibel
RaspberryPi,
mendukung
Banana Pi dan Banana Pro dengan system
operasi Lubuntu dan Raspbian, dengan
sumber tegangan 5VDC. Berikut rincian
dimensi daripada HMI yang digunakan.
Pada proyek akhir ini tim penulis
menggunakan sistem operasi Raspberry Pi
dan perangkatan lunak TkInter berbasis
bahasa pemrograman Python untuk
antarmukanya.
terlaksananya proyek akhir dengan baik.
Tabel 1. 4 Perangkat Lunak pada Plant Proyek
Akhir
Keperluan
Perangkat Lunak
Program
Antarmuka
Python TkInter
(HMI)
Arduino IDE dan CodeVision
Program Utama
AVR
(Arduino Mega)
Program
Penggerak
Arduino IDE
Stepper (Arduino
Nano)
Protel 99, Proteus 8.0, dan
Desain Elektrik
Caddy See Electrical
SolidWork 2015
Desain Mekanik
Gambar 1.1 LCD Waveshare dan Raspberry Pi
1.2.4. Motor
Spesifikasi motor yang digunakan pada
plant proyek akhir dapat dilihat pada tabel
dibawah ini.
Tabel 1. 4 Spesifikasi Motor pada Plant
Proyek Akhir
Jenis Motor
Motor
Stepper
(sumbu X
dan sumbu
Y)
Motor DC
(sumbu Z dan
spindle)
Spesifikasi
Autonics A41K-M599 (maks. torsi
4,1Nm ; 1,4A/fasa ; 5 fasa ; 85 x 85 x
98mm ; Tipe koneksi : Pentagon)
RS-715-112 (6 - 24 VDC)
1.2.5. Penggerak Motor (Motor Driver)
Penggerak motor (Motor Driver) yang
digunakan pada plant proyek akhir
menggunakan komponen semikonduktor
dengan pertimbangan kemampuan switching,
dan ketahanan arus, serta kecocokan
komponen sebagai komponen penggerak
motor.
Tabel
1.5
Spesifikasi
komponen
semikonduktor untuk penggerak motor
Komponen
VDSS
ID
PD
(BR)
-23 A
IRF540
-100
V
100 V
L298
46 V
4A
IRF9540
33 A
140
W
130
W
25 W
Td
Td
(on)
(off)
15 ns
51 ns
11 ns
39 ns
2 us
1,5 us
2. PROSES PENYELESAIAN PROYEK
Gambaran Umum Sistem
Mesin grafir 2.5D merupakan suatu mesin
perkakas yang bertujuan untuk mempermudah
pengerjaan manusia (operator) dalam proses
penggoresan benda kerja (grafir) yang
mempunyai 3 sumbu, namun hanya 2 sumbu
saja yang dapat bergerak secara bersamaan
melakukan gerak interpolasi yang simultan,
yaitu sumbu X dan sumbu Y, sedangkan sumbu
Z bergerak terpisah dan terdapat pula spindle
untuk memutarkan alat potong yang menggores
benda kerja.
Mesin grafir ini mempunyai area kerja seluas
347,4mm x 377,92 mm. Motor stepper yang
digunakan memiliki spesifikasi 5 fasa; 1,4
A/phase; 0,72o/step; 3,6 VDC, sedangkan motor
DC yang digunakan memiliki tegangan kerja 24
VDC dan terintegrasi dengan encoder serta
proximity induktif dan dibatasi area kerjanya
oleh limit switch. Sebagai sistem transmisi dari
putaran motor pada sumbu X, Y, dan Z
digunakan ball screw dengan spesifikasi utama
yaitu diameter 12 mm dan pitch 4 mm. Berikut
visualisasi plant diperlihatkan pada gambar.
Gambar 2.2 Mesin Grafir 2,5D
1.2.6. Perangkat Lunak
Berbagai perangkat lunak digunakan untuk
berbagai macam keperluan guna menunjang
Pada bagian antarmuka digunakan perangkat
lunak TkInter untuk media antarmuka dengan
pengguna. Selain digunakan sebagai antarmuka,
TkInter digunakan sebagai input data koordinat
penggrafiran Berikut adalah konstruksi
mekanik mesin grafir 2,5D :
Gambar 2.2. Konstruksi Mekanik Mesin
Grafir 2.5D Tampak Atas
Gambar 2.3. Konstruksi Mekanik Mesin
Grafir 2.5D Tampak Samping
Mesin grafir 2.5D ini dikontrol menggunakan
Arduino Mega 2560. Komunikasi antara
mikrokontroler dengan mesin grafir 2.5D
menggunakan pengendali motor stepper dan
pengendali motor DC sebagai penerjemah
program yang telah dibuat. Sistem pengendali
pada motor stepper menggunakan MOSFET
IRF9540 dan IRF540.
Gambar 2.4 Gambaran umum sistem
Operator memasukkan data titik koordinat
melalui perangkat antarmuka yang sudah
disediakan. Untuk memasukkan data titik
koordinat yang dimaksud yakni melalui LCD
touchscreen. Nilai-nilai koordinat yang telah
dimasukan akan diproses oleh Arduino dan
dikonversikan menjadi jumlah pulsa dalam
frekuensi tertentu. Jumlah pulsa yang keluar
tersebut akan dkonversikan kembali oleh
rangkaian penggerak menjadi sinyal untuk
memutarkan motor stepper pada sumbu X dan
sumbu Y. Lama pergerakan motor stepper ini
tergantung pada jumlah pulsa yang diberikan
sedangan kecepatan putarnya tergantung dari
frekusensi pulsa tersebut. Setelah koordinat X
dan Y tercapai pengontrol akan menggerakan
motor DC secara otomatis. Arduino akan
membaca status running pada motor stepper X,
Y dan Z, lalu akan mengirimkan pulsa dengan
jumlah dan frekuensi tertentu kepada arduino
pengendali motor DC. Pulsa ini akan
dibandingkan dengan pulsa yang dihasilkan
oleh rotary encoder dan dikonversikan menjadi
nilai PWM. Nilai PWM yang dihasilkan akan
disesuaikan dengan parameter pengontrol PID
yang telah dimasukan dalam program arduino di
dalamnya. Sinyal PWM yang dihasilkan akan
mendetak rangkaian pengendali motor DC
sehingga dapat memutarkan motor DC
penggerak sumbu Z dan Spindle, sesuai dengan
parameter yang diberikan.
Tuntutan Sistem
2.2.1. Fungsi standar
Fungsi standar yang harus dipenuhi adalah
sebagai berikut.
a. Mampu melakukan proses grafir dengan
kelajuan konstan setelah operator
melakukan pemilihan kelajuan proses.
b. Mampu mengimplementasikan G-Code.
c. Mampu melakukan interpolasi linear
dan interpolasi srikular pada empat
kuadran pada koordinat kartesian.
d. Mampu melakukan pergerakan sumbu
X dan Y baik otomatis maupun manual.
e. Mampu melakukan pergerakan sumbu Z
baik otomatis maupun manual.
2.2.2. Fungsi tambahan
Fungsi tambahan yang harus dipenuhi
sebagai berikut.
a. Mampu melakukan proses grafir multi
koordinat secara otomatis pada dua area
ketinggian.
b. Mampu melakukan pengendalian
kecepatan spindle dengan metode PID
dan melakukan proses grafir dengan
putaran spindle yang konstan.
c. Mampu menambahkan fungsi M-Code.
d. Kontrol mesin grafir menggunakan
komunikasi nirkabel (wireless).
Perencanaan dan Pembuatan Program
Interpolasi
2.3.1. Konsep pengendalian sumbu X dan Y
Sebagai arah pergerakan motor (CW atau
CCW). Hasil keluaran Arduino dikonversi
menjadi keluaran bit eksitasi motor stepper
yang terlebih dahulu dikuatkan dengan
driver MOSFET. Sebelum menentukan
kecepatan dari tiap sumbu dengan
menggunakan
interpolasi,
penulis
menampilkan perhitungan dari spesifikasi
motor stepper lima fasa yang digunakan.
Gambar 2.5 Diagram blok pengendali sumbu
X dan Y
1. Perhitungan jumlah pulsa
Pada tahapan ini terdapat dua metode
perhitungan, yaitu dengan menggunakan full
step dan half step. Namun penulis
menggunakan metode half step.
1 Pulsa = 0.36⁰
3600
Pulsa /Rotasi = 0.36⁰ = 1000 𝑝𝑢𝑙𝑠𝑎
Pitch = 4 mm
𝑃𝑢𝑙𝑠𝑎
𝐽𝑎𝑟𝑎𝑘 × 𝑅𝑜𝑡𝑎𝑠𝑖
𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑢𝑙𝑠𝑎
=
𝑃𝑖𝑡𝑐ℎ
32 𝑚𝑚 × 500
𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑢𝑙𝑠𝑎
=
4
𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑢𝑙𝑠𝑎
= 8000 𝑝𝑢𝑙𝑠𝑎
Maka, untuk menempuh satu koordinat
(jarak 3,2 cm) dibutuhkan pulsa sebanyak
8000. Pemberian kecepatan frekuensi harus
diberikan pada kisaran 2,5 kHz, pada
pemberian frekuensi feedrate sekitaran 4000
ke atas akan menyebabkan melencengnya
garis interpolasi dari koordinat yang
diharapkan.
Pada proyek akhir ini terdapat tiga buah
plant yaitu plant A, plant B, dan plant C,
ketiga plant tersebut memiliki karakteristik
mekanik penggerak sumbu horizontal yang
berbeda-beda. Maka dari itu, untuk
mendapatkan hasil yang diinginkan,
diaturlah kecepatan frekuensi yang berbedabeda pula. Plant A diatur pada kecepatan
frekuensi 3,7 kHz, plant B diatur pada
kecepatan frekuensi 3kHz, dan plant C
diatur pada kecepatan frekuensi 2,5kHz.
Semakin besar frekuensi semakin cepat
kecepatan putar motor lalu semakin kecil
pula torsi semakin kecil arus listrik, karena
kecepatan putar motor dan torsi selalu
berbanding terbalik. Begitu juga, semakin
kecil frekuensi semakin lambat kecepatan
putar motor, semakin besar torsi semakin
besar arus listrik.
2.3.2. Perancangan program interpolasi
1. Metode pembangkit sinyal
interpolator linear
Salah satu tuntutan pada sistem yang
akan dibuat adalah sistem pembangkitan
sinyal interpolator linear. Mengacu
pada ketersediaan referensi dari metode
yang akan digunakan, maka diputuskan
untuk menggunakan DDA integrator
sebagai metode pembangkit sinyal
interpolator linear.
Pada DDA integrator digunakan dua
buah register yang dapat
membangkitkan sinyal pulsa. Untuk
menghasilkan garis linear, maka DDA
integrator harus memiliki perbandingan
frekuensi yang sama pada masingmasing sumbu. Setiap sumbu
pergerakan memerlukan satu integrator
DDA. Integrator DDA 1 menghasilkan
pulsa-pulsa pergerakan untuk sumbu X
dan integrator DDA 2 menghasilkan
pulsa-pulsa untuk pergerakan sumbu Y.
Dengan demikian gerakan resultan yang
dihasilkan merupakan gerakan dari dua
sumbu pergerakan yang bergerak secara
simultan.
Cara kerja dari DDA integrator ini
menggunakan sistem open loop yaitu
pulsa yang dihasilkan tidak
mempengaruhi nilai p atau nilai p
konstan. Jadi, hasil pulsa dikeluarkan
langsung untuk pergerakan motor
stepper. DDA integrator menggunakan
sistem open loop ini di tunjukan pada
gambar 2.6
Gambar 2.6 DDA
interpolator linear
integrator
untuk
Dari integrator yang ditunjukkan pada
gambar 2.6, dibuatlah algoritma untuk
interpolator linear yang memanfaatkan
proses iterasi pada proses
interpolasinya. Iterasi berfungsi sebagai
pengurang variabel proses yang akan
mempengaruhi jumlah pulsa yang
dihasilkan dan sebagai indikator bahwa
proses DDA telah berlangsung selama 1
siklus.
Interpolator linear membutuhkan
inisialisasi beberapa variabel yang
diperlukan seperti X1, Y1, X2, Y2,
dltPX, dltPY, iterasi, dan jarak_tempuh.
X1 dan Y1 merupakan variabel yang
menyimpan koordinat awal sebelum
proses interpolasi, sedangkan X2 dan
Y2 merupakan variabel yang
menyimpan koordinat X dan Y yang
menjadi tujuan akhir proses interpolasi.
DltPX dan dltPY merupakan variabel
yang menghitung jarak dari koordinat
awal hingga koordinat tujuan sekaligus
menjadi arah kuadran tempat proses
interpolasi akan diproses. Iterasi adalah
variabel untuk menyimpan kapasitas
register dari proses interpolasi dan
jarak_tempuh merupakan variabel yang
berisi panjang iterasi yang akan
dilaksanakan. Apabila digambarkan
dalam bentuk diagram alir adalah
seperti yang ditunjukkan pada gambar
2.7.
Gambar 2.7 Diagram alir linear interpolator
2. Metode pembangkit sinyal interpolator
sirkular
Tuntutan lain yang harus dicapai pada sistem
yang
akan
dibuat
adalah
sistem
pembangkitan sinyal interpolator circular.
Mengacu pada ketersediaan referensi dari
metode yang akan digunakan, maka
diputuskan untuk menggunakan DDA
integrator sebagai metode pembangkit
sinyal interpolator circular.
Pada DDA integrator digunakan dua buah
register yang dapat membangkitkan sinyal
pulsa yang perubahan frekuensi dari pulsa
yang dihasilkan menyerupai fungsi sinus dan
cosinus. Fungsi cosinus yang dimaksud
adalah frekuensi dari pulsa keluaran yang
menyerupai
fungsi
cosinus
dimana
perubahan frekuensinya dari nilai yang
tinggi ke nilai yang lebih rendah. Fungsi
sinus yang dimaksud adalah frekuensi dari
pulsa keluaran yang menyerupai fungsi sinus
dimana perubahan frekuensinya dari nilai
yang rendah ke nilai yang lebih tinggi.
Untuk membuat frekuensi dari pulsa yang
menghasilkan fungsi sinus dan cosinus maka
DDA integrator dihubungkan saling
mengumpan balik.
Umpan balik dari masing-masing keluaran
DDA integrator akan dipengaruhi oleh
frekuensi dari pulsa selanjutnya. Untuk
memperoleh
frekuensi
dari
pulsa
menyerupai fungsi cosinus, maka keluaran
dari DDA integrator dengan fungsi sinus
diumpan balikkan pada DDA integrator
dengan fungsi cosinus dengan nilai negatif.
Sementara pada DDA integrator dengan
fungsi sinus berlaku sebaliknya.
Untuk pengaturan kecepatan, maka
diperlukan pengaturan speed clock yang
berfungsi sebagai jantung DDA. Masukan
berasal dari clock yang akan membuat DDA
interpolator bekerja. Bila tidak ada masukan
clock maka tidak ada pulsa keluar.
Pada Gambar 2.8 menunjukan DDA
integrator yang saling bersilangan yaitu bila
pada DDA 1 menghasilkan pulsa maka nilai
P pada DDA 2 akan bertambah dan apabila
DDA 2 menghasilkan pulsa maka nilai P
pada DDA 1 akan berkurang. Begitu
seterusnya hingga hingga nilai p pada DDA
1 bernilai nol dan nilai P pada DDA 2
bernilai maksimum.
Gambar 2.9 Diagram alir circular
interpolator (1)
Gambar 2.8 DDA integrator untuk
interpolator sirkular
Dari integrator yang ditunjukkan pada
gambar 2.8, dibuatlah algoritma untuk
interpolator circular yang memanfaatkan
proses iterasi pada proses interpolasinya.
Iterasi berfungsi sebagai pengurang variabel
proses yang akan mempengaruhi jumlah
pulsa yang dihasilkan dan sebagai indikator
bahwa proses DDA telah berlangsung
selama 1 siklus. Untuk itu, diperlukan
variabel untuk mengakomondasi proses
iterasi tersebut. Gambar 2.9 merupakan
diagram alir dari pengolahan awal variabel
pada interpolator circular.
Setelah pengolahan awal variabel
dilakukan untuk menentukan kuadran
tempat dilakukannya proses interpolasi
circular maka langkah selanjutnya
adalah mengolah data variabel yang
diperoleh untuk melakukan proses
interpolasi. Gambar 2.10 merupakan
diagram alir dari interpolator circular
untuk proses pada kuadran 1 dan 4.
Gambar 2.10 Diagram alir circular
interpolator (2)
Setelah dilakukan pengolahan awal pada
variabel seperti yang ditunjukkan pada
gambar 3.15, maka langkah selanjutnya
setelah ditentukan kuadran 1 dan 4
adalah nilai QY2 adalah QY1 yang
ditambahkan dengan nilai dltPY.
Apabila nilai QY2 lebih besar dari iterasi
maka nilai QY2 akan dikurangi kapasitas
register, nilai QY2 dimasukkan pada
QY1, nilai ovf_y high dan nilai dltPX
akan bertambah. Sedangkan apabila
QY2 lebih kecil daripada iterasi maka
ovf_y low dan nilai QY2 tetap
dimasukkan ke QY1. Selanjutnya nilai
QX2
adalah
nilai
QX1
yang
ditambahkan dengan nilai dltPX.
Apabila nilai QX2 lebih besar dari iterasi
maka nilai QX2 akan dikurangi kapasitas
register, nilai QX2 dimasukkan pada
QX1, nilai ovf_x high dan nilai dltPY
akan berkurang. Proses ini akan terus
berulang hingga nilai dltPY mencapai 0
dan dltPX sama dengan nilai r. Adapun
untuk diagram alir untuk kuadran 2 dan
3 ditunjukkan pada gambar 2.11.
iterasi maka nilai QX2 akan dikurangi
kapasitas register, nilai QX2 dimasukkan
pada QX1, nilai ovf_x high dan nilai
dltPY akan bertambah. Proses ini akan
terus berulang hingga nilai dltPX
mencapai 0 dan dltPY sama dengan nilai
r.
Integrasi Program Pengendalian Mesin
Grafir 2,5D
Seluruh program kendali perlu diintegrasikan
pada pengendali utama (master). Master
menangani beberapa masukan dan keluaran.
Pengintegrasian ini ada yang menggunakan dari
pin ke pin mikrokontroler dan ada juga yang
menggunakan komunikasi serial.
Pada proses intergrasi program keseluruhan hal
yang dilakukan adalah mengatur dan menaikkan
nilai baud rate yang awalnya 9600 menjadi
115200 agar pada proses pengiriman data tidak
mengalami jeda waktu.
Saat melakukan komunikasi serial dengan
driver-driver tidak dapat dilakukan monitoring
karena karena akan mempengaruhi kinerja
driver menjadi lebih lambat beserta data yang
dikirimnya menjadi tidak sempurna.
Kapasitas buffer serial pada Arduino yang mulamula 64 byte dinaikkan menjadi 128 byte, agar
tampungan data masukan lebih banyak ketika
memasukkan program G-Code.
Gambar 2.12 Alur proses masukan dan keluaran Arduino
Gambar 2.11 Diagram alir circular
interpolator (3)
Setelah dilakukan pengolahan awal pada
variabel seperti yang ditunjukkan pada
gambar 2.9, maka langkah selanjutnya
setelah ditentukan kuadran 2 dan 3
adalah nilai QY2 adalah QY1 yang
ditambahkan dengan nilai dltPY.
Apabila nilai QY2 lebih besar dari iterasi
maka nilai QY2 akan dikurangi kapasitas
register, nilai QY2 dimasukkan pada
QY1, nilai ovf_y high dan nilai dltPX
akan berkurang. Sedangkan apabila QY2
lebih kecil daripada iterasi maka ovf_y
low dan nilai QY2 tetap dimasukkan ke
QY1. Selanjutnya nilai QX2 adalah nilai
QX1 yang ditambahkan dengan nilai
dltPX. Apabila nilai QX2 lebih besar dari
3. HASIL IMPLEMENTASI
Pengujian
3.1.1. Frekuensi keluaran mikrokontroler
Pengukuran menggunakan alat ukur juga
menjadi hal yang penting pada saat ingin
memastikan bahwa program yang telah
dibuat bekerja sesuai dengan keinginan,
adapun alat yang dapat digunakan untuk
melihat
gelombang
frekuensi
yang
dihalsilkan oleh mikrokontroler adalah
osiloskop. Dengan bantuan alat ini kita dapat
mengambil beberapa sampling data apakah
bila kita berikan
koordinat
pada
mikrokontroler, mikrokontroler tersebut
merespon dengan baik atau tidaknya dapat
diketahui ditampilkan pada alat ukur ini. Hal
penting lainnya yaitu frekuensi tersebut akan
berhenti beroperasi ketika program
penghitung pulsanya telah mencapai syarat
ondisi off. Pengujian frekuensi keluaran
menggunakan metode interpolasi linear
No
X : 10, Y: 18
X : 10, Y : 30
X : 20, Y: 8
X : 10, Y : 30
X : 5, Y : 1
X : 5, Y : 2
Frek. (Hz)
Tabel 3.1. Pengujian kecepatan putaran motor
stepper dengan frekuensinya
Perhitungan
(rpm)
1
2
3
4
5
6
7
8
9
10
300
600
900
1200
1500
1800
2100
2400
2700
3000
15,7
30,4
51,3
68,7
89,9
105,7
121,2
139
155,5
176
18
36
54
72
90
108
126
144
162
180
11
3300
198,4
198
12
3600
214.5
216
Gambar 3.1. Hasil keluaran frekuensi koordinat
linear pada osiloskop
Kurva Kecepatan Frekuensi
300
Kecepatan (rpm)
3.1.2. Kecepatan
Pada pengujian kecepatan putar motor
stepper pada proses interpolasi, pengujian
kecepatan putar motor stepper dilakukan
dengan mengatur berdasarkan tinggi
rendahnya frekuensi yang dikirim oleh
interpolator. Pengujian ini menggunakan
alat tachometer untuk mendapatkan nilai
kecepatannya (rpm). Pada dasarnya, nilai
frekuensi yang dikirim akan berbanding
lurus dengan nilai kecepatan putar motor.
Semakin tinggi nilai frekuensi yang dikirim,
maka kecepatan putar motor stepper pun
akan semakin tinggi. Adapun perhitungan
untuk pengujian kecepatan putar motor
stepper ditunjukkan pada persamaan (4-1).
𝑝𝑝𝑠
𝜔 = 60 𝑁𝑝 [rotasi/menit].....................(4-1)
Tachometer
(rpm)
200
100
0
0
1000
2000
3000
Frekuensi (Hz)
Gambar 3.2. Kurva kecepatan – frekuensi
motor stepper
3.1.3. Keakuratan
Pada pengujian keakuratan tujuannya adalah
membandingkan jarak pada perhitungan dan
jarak sebenarnya (aktual). Keakuratan pada
proses interpolasi diukur berdasarkan
jumlah pulsa yang dikirim dengan panjang
iterasi yang seharusnya. Alat ukur yang
digunakan
dalam
pengujian
adalah
penggaris dengan ketelitian 1 mm,
dikarenakan pergerakan 1 step pulsa pada
motor stepper bergerak sebesar 0,004 mm,
ketelian alat ukur yang terbatas dan alat ukur
4000
keliling lingkaran, terdapat pada
persamaan (3-4).
Keliling = 2 × 3,14 × r……...(3-4)
Contoh :
R= 30 mm
Keliling = 2 × 3,14 × r
= 188,49 mm
yang belum terkalibrasi, data pada pengujian
dikatakan perkiraan perhitungan. Untuk
menghitung persentase perkiraan keakuratan
dapat menggunakan persamaan sebagai (32).
%𝑃𝑒𝑟𝑘𝑖𝑟𝑎𝑎𝑛 𝐾𝑒𝑎𝑘𝑢𝑟𝑎𝑡𝑎𝑛 =
𝑃𝑒𝑟𝑘𝑖𝑟𝑎𝑎𝑛 𝑝𝑒𝑛𝑔𝑢𝑘𝑢𝑟𝑎𝑛
× 100%..........(3-2)
𝑝𝑒𝑟ℎ𝑖𝑡𝑢𝑛𝑔𝑎𝑛
1. Interpolasi linear
Keakuratan pada proses interpolasi
linear diuji pada garis resultan pada
interpolasi linear menggunakan teorema
Pythagoras, terdapat pada persamaan (43).
𝑅 = √𝑥 2 + 𝑦 2 ………..(3-3)
Contoh :
x = 3 mm, y = 3 mm.
R = √32 + 32 = 4,24 mm
Tabel 3.2 Perbandingan hasil pengukuran dan
perhitungan koordinat linear
Koordinat
Jarak (mm)
Selisih
No
Perkiraan
(mm)
Perkiraan
Keakuratan
X
Y
Perhitungan
1
32
96
101,19
101
0,19
2
96
32
101,19
102
0,81
100,8
3
60
60
84,85
85
0,15
100,18
90
108,17
109
0,83
100,77
4
60
Pengukuran
(%)
99,81
5
30
30
42,43
42
0,43
98,99
6
90
60
108,17
108
0,17
99,84
Pada tabel 3.2 ditunjukkan perbandingan
antara
hasil
perhitungan
untuk
pengukuran keakuratan dengan hasil
pengukuran menggunakan penggaris
dengan ketelitian 1 mm. Dari tabel
tersebut dapat dihitung bahwa rata-rata
selisih keakuratan untuk interpolasi
linear bernilai 0,43 mm dan rata-rata dari
persentase
perkiraan
keakuratan
100,06%. Adapun perbedaan yang
terjadi antara hasil pengukuran dengan
perhitungan bisa disebabkan oleh
kondisi lain pada sistem, seperti
konstruksi plant yang kurang baik,
ataupun kondisi pada penggerak dan lain
sebagainya.
2. Interpolasi sirkular
Keakuratan pada proses interpolasi
sirkular diuji pada garis resultan pada
interpolasi sirkular menggunakan rumus
Tabel 3.3 Perbandingan hasil pengukuran dan
perhitungan koordinat sirkular
Koordinat
Jarak (mm)
No
Selisih
Perkiraan
(mm)
Perkiraan
Keakuratan
X
Y
R
Perhitungan
1
30
30
30
188,4
185,3
3,1
98,35
2
15
15
15
94,2
94,2
0
100
3
5
5
5
31,4
28,3
3,1
90,12
Pengukuran
Pada tabel 3.3 ditunjukkan perbandingan
antara
hasil
perhitungan
untuk
pengukuran keakuratan dengan hasil
pengukuran menggunakan penggaris
dengan ketelitian 1 mm. Dari tabel
tersebut dapat dihitung bahwa rata-rata
selisih keakuratan untuk interpolasi
sirkular bernilai 2,7 mm dan rata-rata
dari perkiraan keakuratan 96,16% .
Adapun perbedaan yang terjadi antara
hasil pengukuran dengan perhitungan
bisa disebabkan oleh kondisi lain pada
sistem, seperti konstruksi plant yang
kurang baik ataupun kondisi pada
penggerak dan lain sebagainya.
3.1.4. Kepresisian (Repeatability)
Kepresisian
adalah
variasi
dalam
pengukuran yang dilakukan oleh seseorang
atau isntrumen pada hasil yang sama dan
dalam kondisi yang sama. Dalam uji coba
kepresisian ini yang diukur adalah garis
yang dihasilkan dari pergerakan interpolasi
linear dan sirkular pada mesin grafir 2,5D.
Pengujian untuk interpolasi linear dilakukan
secara berulang sebanyak 10 kali pergerakan,
dengan cara menggerakkan salah satu sumbu
sejauh 32 mm yang bernilai 8000 pulsa. Lalu
pada pengujian untuk interpolasi sirkular
diberikan sejumlah pulsa 7500 yang berarti
dengan nilai radius 30 mm, dilakukan
berulang kali pada masing-masing kuadran
lingkaran, mulai dari kuadran 1-4. Alat ukur
yang digunakan dalam pengujian adalah
penggaris dengan ketelitian 1 mm. Berikut
merupakan hasil daripada uji coba
kepresisian.
(%)
pergerakan mesin, maka hasil yang
didapatkan
dibandingkan
dengan
persamaan (3-5). Pada perbandingan
waktu tempuh aktual dengan waktu
tempuh ideal didapatkan persentase
ketepatan pergerakan mesin yang
ditunjukan pada persamaan (3-7).
𝑊𝑎𝑘𝑡𝑢 𝑃𝑒𝑟ℎ𝑖𝑡𝑢𝑛𝑔𝑎𝑛
%𝐾𝑒𝑡𝑒𝑝𝑎𝑡𝑎𝑛 = 𝑊𝑎𝑘𝑡𝑢 𝑃𝑒𝑛𝑔𝑢𝑘𝑢𝑟𝑎𝑛 ×
Gambar 3.4 Pengujian kepresisian interpolasi
linear dan sirkular
100% ……….. (3-7)
7.18
Contoh : %Ketepatan= 13.4 𝑥100% =
53.58%
Dari tabel tersebut dapat dihitung bahwa
rata-rata selisih waktu tempuh untuk
interpolasi linear bernilai 4,44 detik dan
rata-rata dari persentase keakuratan
65,69% .
2. Interpolasi sirkular
3.1.5. Waktu tempuh antar koordinat
Pengujian ketepatan waktu tempuh adalah
variabel yang di ukur adalah waktu tempuh
alat dalam melakukan interpolasi terhadap
koordinat yang dituju. Pada pengujian ini,
alat ukur yang digunakan adalah stopwatch
digital.
1. Interpolasi linear
Ketepatan
waktu
tempuh
pada
interpolasi linear menggunakan teorema
Pythagoras pada pengujiannya untuk
menentukan garis miring dari koordinat
yang ditentukan. Untuk menentukan
waktu tempuh interpolasi linear terdapat
pada formula (3-5):
7500
× √𝑋 2 + 𝑌 2 ……….(3-5)
Ketepatan
waktu
tempuh
pada
interpolasi sirkular menggunakan rumus
keliling lingkaran pada pengujiannya
untuk menentukan bentuk lingkaran dari
koordinat yang ditentukan. Untuk
menentukan waktu tempuh Interpolasi
linear terdapat pada formula (3-8):
250
× 2 × 3.14 × 𝑟……(3-8)
𝑓𝑟𝑒𝑘 𝑚𝑎𝑘𝑠𝑖𝑚𝑎𝑙
𝑓𝑟𝑒𝑘 𝑚𝑎𝑘𝑠𝑖𝑚𝑎𝑙
Nilai 7500 merupakan pulsa yang
diberikan mikrokontroler untuk bergerak
sejauh 30mm yang juga merupakan nilai
pulsa yang dijadikan referensi untuk
menentukan jumlah pulsa untuk jarak
yang diinginkan. Nilai 7500 didapatkan
dari perbandingan aktuator yang
digunakan pada plan dengan sistem
mekanik yang terpasang pada plan, juga
kebutuhan yang diinginkan oleh sistem.
Nilai 7500 di dapat kan dari formula (46).
∑ 𝑃𝑢𝑙𝑠𝑎 =
…(3-6)
360°
(
)
𝑠𝑢𝑑𝑢𝑡 𝑝𝑒𝑟 𝑠𝑡𝑒𝑝 𝑚𝑜𝑡𝑜𝑟
𝑃𝑖𝑡𝑐ℎ 𝑏𝑎𝑙𝑙 𝑠𝑐𝑟𝑒𝑤
Nilai 250 merupakan pulsa yang
diberikan mikrokontroler untuk bergerak
sejauh 1 mm yang juga merupakan nilai
pulsa yang dijadikan referensi untuk
menentukan jumlah pulsa untuk jarak
yang diinginkan. Nilai 250 didapatkan
dari perbandingan aktuator yang
digunakan pada plan dengan sistem
mekanik yang terpasang pada plan. Nilai
250 didapatkan dari rumus (3-9).
∑ 𝑃𝑢𝑙𝑠𝑎 =
𝑗𝑎𝑟𝑎𝑘(𝑚𝑚)
(
360°
)
𝑠𝑢𝑑𝑢𝑡 𝑝𝑒𝑟 𝑠𝑡𝑒𝑝 𝑚𝑜𝑡𝑜𝑟
𝑃𝑖𝑡𝑐ℎ 𝑏𝑎𝑙𝑙 𝑠𝑐𝑟𝑒𝑤
….(3-9)
Tabel 3.5 Waktu tempuh antar koordinat pada
Tabel 3.4 Waktu tempuh antar koordinat pada
uji interpolasi sirkular
uji interpolasi linear
Koordinat
Waktu tempuh
(detik)
No
Perhitungan
Waktu Tempuh
Koordinat
Selisih
Ketepatan
(detik)
(%)
(detik)
No
X
Y
R
Perhit
ungan
Aktual
Selisih
Ketepatan
(detik)
(%)
X
Y
Aktual
1
3
1
13,4
7,18
6,22
53,58
1
30
30
30
14,27
19,4
5,13
73,56
2
2
2
6,9
6,4
0,5
92,75
2
15
15
15
7,1
9,3
2,2
76,34
3
3
0
13,4
6,8
6,6
50,75
3
5
5
5
2,3
4,8
2,5
47,91
Pada tabel 3.4 hasil data pengujian
menunjukan waktu tempuh mesin
bekerja pada koordinat tertentu. Untuk
memastikan ketepatan pada pada
Pada tabel 3.5 hasil data pengujian
menunjukan waktu tempuh mesin
bekerja pada koordinat tertentu. Untuk
memastikan ketepatan pada pada
pergerakan mesin, maka hasil yang
didapatkan
dibandingkan
dengan
persamaan (3-8). Pada perbandingan
waktu tempuh aktual dengan waktu
tempuh ideal didapatkan persentase
ketepatan pergerakan mesin yang
ditunjukan pada persamaan (3-7).
Dari tabel tersebut dapat dihitung bahwa
rata-rata selisih waktu tempuh untuk
interpolasi sirkular bernilai 3,27 detik
dan rata-rata dari persentase keakuratan
65,93% .
Waktu tempuh interpolasi linear dan
sirkular yang tidak tepat 100%
dikarenakan penggunaan delay pada
program
Arduino,
maka
ketika
menggunakan delay pada Arduino
menggunakan frekuensi clock utama
pada Arduino. Hal ini menyebabkan
panjangnya program sebelum delay
berpengaruh pada proses looping
program untuk membangkitkan keluaran
pulsa.
Hasil Pengujian Pada Plant
Gambar 3.5 Pola yang diuji
Pada gambar 3.5 Menunjukkan pengujian pada
plant yang dilakukan sebanyak sekian kali
terhadap sekian titik pengujian. Pengujian
dilakukan dari posisi titik (0,4) yang
sebelumnya sudah diatur pada titik tersebut,
setelah itu melakukan penggoresan berdasarkan
titik-titik yang telah ditentukan pada kertas uji.
Berikut adalah tabel hasil pengujian pada plant.
Tabel 3.6 Hasil pengujian pada plant
No.
Koordinat
R
Waktu tempuh
(detik)
4
-
21,9
3
30
7,2
0
2
30
2,8
1
0
-
9,3
X
Y
1
0
2
1
3
4
Berdasarkan hasil pengujian pada plant dapat
disimpulkan beberapa hal, antara lain:
1. Keakuratan
𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑡𝑖𝑘 𝑦𝑎𝑛𝑔 𝑡𝑒𝑝𝑎𝑡
%𝑘𝑒𝑎𝑘𝑢𝑟𝑎𝑡𝑎𝑛 =
𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑡𝑖𝑘 𝑝𝑒𝑛𝑔𝑢𝑗𝑖𝑎𝑛
× 100
3
%𝑘𝑒𝑎𝑘𝑢𝑟𝑎𝑡𝑎𝑛 = 𝑥 100
4
𝑘𝑒𝑎𝑘𝑢𝑟𝑎𝑡𝑎𝑛 = 75%
Keakuratan dari program interpolasi yang
dibuat, untuk pola uji seperti di atas adalah 75%.
2. Kepresisian
%𝑘𝑒𝑝𝑟𝑒𝑠𝑖𝑠𝑖𝑎𝑛
𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑡𝑖𝑘 𝑦𝑎𝑛𝑔 𝑝𝑟𝑒𝑠𝑖𝑠𝑖
=
𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑡𝑖𝑘 𝑝𝑒𝑛𝑔𝑢𝑗𝑖𝑎𝑛 × 𝑝𝑒𝑛𝑔𝑢𝑙𝑎𝑛𝑔𝑎𝑛
× 100
12
%𝑘𝑒𝑝𝑟𝑒𝑠𝑖𝑠𝑖𝑎𝑛 =
𝑥 100
4 × 4
12
%𝑘𝑒𝑝𝑟𝑒𝑠𝑖𝑠𝑖𝑎𝑛 =
𝑥 100
16
𝑘𝑒𝑝𝑟𝑒𝑠𝑖𝑠𝑖𝑎𝑛 = 75%
Keakuratan dari program interpolasi yang
dibuat, untuk pola uji seperti di atas adalah 75%.
Hal ini disebabkan pada saat penitikan titik
utama, setting kertas dan pengaruh karakteristik
pada plant.
4. PENUTUP
Ketercapaian Tujuan dan Tuntutan
Adapun
ketercapaian
tuntutan
sistem
perancangan mesin grafir 2,5D adalah sebagai
berikut :
1. Mesin mampu melakukan penggoresan
pada beberapa sebaran titik di bidang
pertama dan beberapa sebaran titik di
bidang kedua dengan dua ketinggian
bidang yang berbeda.
2. Mesin mampu melakukan gerak
interpolasi linear dan interpolasi
sirkular pada empat kuadran koordinat
kartesian.
3. Dapat
mengintegrasikan
seluruh
sistem kendali pada mesin grafir 2,5D.
4. Rata-rata selisih waktu tempuh
interpolasi linear secara aktual lebih
lama 4,44 detik dibandingkan dengan
hasil perhitungan. Untuk rata-rata
selisih waktu tempuh interpolasi
sirkular secara aktual lebih lama 3,27
detik dibandingkan dengan hasil
perhitungan.
5. Rata-rata selisih nilai keakuratan
pemberian pulsa dan ketepatan
koordinat pada interpolasi linear
bernilai 0,43 mm, sedangkan pada
interpolasi sirkular bernilai 2,7 mm
dibandingkan
dengan
hasil
perhitungan.
Permasalahan yang Ditemukan
Dari pengujian yang telah dilakukan terhadap
rangkaian penggerak yang dibuat sudah
mendekati dengan tuntutan yang ada, akan
tetapi tidak terlepas dari permasalahan.
Beberapa masalah yang ditemukan adalah :
1. Berpengaruhnya penampilan data serial
ketika komunikasi dan pengendalian
motor stepper membuat pergerakan
menjadi tidak sempurna juga tidak sesuai
lalu driver motor stepper menjadi panas.
2. Berpengaruhnya kecepatan transfer data
serial pada saat pengiriman data untuk
pengendalian. Sehingga terjadi waktu
tunda dalam pengiriman data apabila
transfer datanya lambat.
3. Kapasitas
serial
buffer
pada
mikrokontroler
Arduino
terbatas,
sehingga apabila G-Code dan M-Code
yang dimasukkan lebih besar dari 18
baris. Apabila data yang dimasukkan
lebih dari yang disebutkan, beberapa
baris perintah G-Code dan M-Code ada
yang tidak dieksekusi.
4. Pada rasio feedrate semisal 4 kHz ke atas
terdapat masalah yaitu melencengnya
garis dari koordinat yang diharapkan.
5. Perbedaan
karakteristik
mekanik
penggerak sumbu horizontal (sumbu X
dan Y) antara plant A, plant B dan plant
C serta kemampuan driver motor stepper
yang hanya mampu bekerja optimal pada
plant C sumbu Y sebagai sumbu yang
membawa beban keseluruhan meja
ringan karena ulir dan kopling tepat satu
sumbu, membuat akurasi menurun pada
perbandingan X dan Y besar, karena
salah satu sumbu bekerja pada frekuensi
rendah, karena berdasarkan percobaan
semakin rendah frekuensi yang diberikan
pada motor stepper, maka arus yang
ditarik akan semakin besar.
Solusi Permasalahan
Adapun
solusi
ataupun
saran
untuk
menyelesaikan permasalahan diatas adalah
1. Tidak perlu ditampilkan data serial atau
monitoring prosesnya, sehingga hanya
proses read dan write saja yang
dilakukan.
2. Menaikkan baud rate dari 9600 ke
115200.
3. Menaikkan kapasitas serial buffer
Arduino hinnga 512 byte pada file header
AVR hardware cores.
4. Frekuensi feedrate diatur pada kisaran
2,5 kHz dengan cara mengatur lebih
kecil dari nilai 4 kHz.
5. Dengan mengatur kecepatan frekuensi
penyulutan motor stepper , maka kerja
driver MOSFET akan lebih ringan dan
tentunya performa motor stepper akan
lebih optimal.
DAFTAR PUSTAKA
[1]
Kartidjo, Muljowidodo, dan Djodikusumo,
Indra, 1996, Mekatronika, Higher Education
Development Support Project.
[2]
Koren, Yoram. 1983. Computer Control of
Manufacturing Systems, Mc-Graw Hill.
[3]
Mohan, Ned, Undeland, Tore M. and Robbins,
William P., 1995, Power Electronics
Converters, Application, and Design, John
Wiley and Sons, Inc
[4]
Nasar, Syed Abu, 1987, Handbook of Electric
Machines, Mc-Graw Hill.
[5]
Wiawan,
Muhammad
Iqbal.
2015.
Pemrograman Interpolasi Sumbu X dan
Sumbu Y Pada Mesin Grafir 2.5D. Bandung:
Politeknik Manufaktur Negeri Bandung.
[6]
Autonics. 2005. 5-Phase Stepping Motor
Selection Guide. Korea: Autonics.
[7]
Autonics. 2005. E50S Rotary Encoder
Datasheet. Korea: Autonics.
[8]
STMircoelectronics. 2003. MOSFET IRF540
Datasheet. China: STMircoelectronics.
[9]
STMircoelectronics. 2003. MOSFET IRF9540
Datasheet. China: STMircoelectronics.
[10] STMircoelectronics. 2000. MOSFET L298
Datasheet. China: STMircoelectronics.
[11] Arduino. http://www.arduino.cc/ . (diakses
pada 10 Juni 2016)
[12] Waveshare
Wiki.
http://www.waveshare.com/wiki/Main_Page/
(diakses pada 13 Juni 2016)
[13] Nick Johantgen. 2010. The 5-phase New
Pentagon
Driver
Chip
Set.
http://www.orientalmotor.com/technology/art
icles/pdfs/BuildingA5PhaseDriver_wDriverO
ptions.pdf (diakses pada 10 Juni 2016)