5D
DENGAN ANTARMUKA TOUCHSCREEN
BERBASIS RASPBERRY PI 3
Dina Nurul Aliyyah1, Ismail Rokhim, S.T., M.T.2, Nuryanti, S.T., M.Sc.3
Jurusan Teknik Otomasi Manufaktur dan Mekatronika Politeknik Manufaktur Negeri Bandung
Jl.Kanayakan 21, Bandung, Indonesia
ABSTRAK
Dalam proses manufaktur, hampir di setiap pengerjaannya membutuhkan proses penggrafiran. Proses tersebut
umumnya masih menggunakan metode manual sehingga memakan waktu yang cukup lama dan rentan akan kesalahan.
Oleh karena itu, dibuatlah mesin grafir otomatis agar didapatkan hasil yang efisien dan tingkat kepresisian yang tinggi.
Mesin grafir 2.5D merupakan mesin yang digunakan untuk pemakanan atau pembuatan pola pada permukaan benda
kerja.
Pada mesin grafir 2.5D terdapat 4 buah motor yaitu 3 buah stepper motor 2 phase untuk pergerakan pada sumbu
X,Y, dan Z serta 1 buah motor DC untuk pergerakan pada spindle. Mesin ini menggunakan mikrokontroller AVR
ATmega32A sebagai pengendali utama dengan antarmuka berupa Touchscreen 7 inch. Antarmuka ini dibuat agar
operator dapat mengendalikan sistem dan dapat memonitor pergerakan pola dan kedalaman yang dilakukan oleh mesin
grafir. Touchscreen sebagai antarmuka ini menggunakan Raspberry Pi 3, yaitu minicomputer berbasis Linux.
Touchscreen menggunakan tegangan sebesar 5V dan arus 2A yang disuplai oleh Raspberry Pi 3. Pemrograman
tampilan visual pada sistem antarmuka menggunakan aplikasi Gambas 3.5.2. Tampilan antarmuka ini akan muncul
pada layar touchscreen melalui kabel HDMI. Masukan pada antarmuka berupa G-Code. G-Code ini dapat diinputkan
pada antarmuka dalam bentuk file eksternal atau internal, yang kemudian G-Code tersebut akan diinterpretasi oleh
sistem menjadi pola pergerakan linear maupun circular.
Hasil yang didapat dari pembuatan proyek akhir ini adalah pergerakan stepper motor pada sumbu X dan Y dapat
bergerak secara simultan dengan pola linear maupun sirkular dari koordinat awal menuju koordinat selanjutnya,
sumbu Z dapat bergerak naik turun, dan spindle dapat berputar selama proses pemakanan benda kerja berlangsung.
Semua pergerakan tersebut dimonitoring oleh antarmuka dengan kesalahan ketepatan nilai koordinat kurang dari atau
sama dengan 4% dari pergerakan sesungguhnya.
Kata Kunci : Mesin Grafir 2.5 D, AVR ATmega32A, Touchscreen, Raspberry Pi 3, Gambas 3.5.2, G- Code
2.5 Pengendali
2.5.1 AVR ATmega32A
Salah satu arsitektur mikrokontroler yang
terdapat di pasaran adalah jenis AVR
(Advanced Virtual RISC). Pemrograman
mikrokontroler AVR dapat menggunakan low
level language (assembly) dan high level
language (C, Basic, Pascal, JAVA, dll)
tergantung compiler yang digunakan.
Metode NO
memungkinkan?
YES
Perancangan antarmuka
Pembelian komponen
antarmuka
Pemasangan OS Raspbian
dan software GAMBAS 3.6.3 Komunikasi Raspberry Pi 3 dan AVR
ATMega32A
Uji coba komunikasi Antarmuka harus dapat memberikan
Raspberry dan AVR
ATMega
instruksi-instruksi kepada pengendali sistem
melalui pin GPIO Raspberry Pi dan pengendali
harus dapat menerima instruksi yang diberikan
Pembuatan design
antarmuka oleh pin GPIO Raspberry PI, berupa sinyal
high atau low pada saat mode manual.
Sedangkan pada saat mode auto antarmuka
Pembuatan program
antarmuka dapat mengirimkan G-Code pada pengendali
menggunakan komunikasi serial melalui pin
Rx dan Tx pada Raspberry Pi serta AVR
Uji coba antarmuka ATMega32A.
Untuk mengaktifkan pin GPIO Rapberry
di aplikasi Gambas 3.5.2 yaitu dengan
Ada perubahan?
NO menggunakan library pigpio. Sedangkan untuk
dapat melakukan komunikasi serial yaitu
YES dengan menggunakan komponen SerialPort
Selesai pada aplikasi Gambas.
Gambar 3. 2 Diagram langkah pembuatan
3.6.4 Pembuatan design antarmuka
antarmuka
Pembuatan design antarmuka pada
software Gambas 3.5.2 menggunakan
beberapa komponen yang telah tersedia pada 1. Program fungsi Setting
software tersebut. Program ini berfungsi untuk mengatur
mode, tool, federate, dan putaran spindle
pada mesin grafir 2.5D.
2. Program fungsi auto
Antarmuka ini akan ditampilkan ketika
mode auto diaktifkan. Pada bagian antarmuka
ini, pengguna dapat menginputkan G-code
secara manual ataupun memasukan file G-
Code pada antarmuka dengan mengunakan
tombol Browse. Pengguna juga dapat
Gambar 3. 3 Tampilan awal antarmuka mengedit G-Code yang telah dimasukan
didalam antarmuka kemudian menyimpan
(save) G-Code tersebut menjadi sebuah file
dalam bentuk .txt. Sebelum G-Code dikirim
ke pengendali dilakukan compile data G-
Code terlebih dahulu. Program compiler
berfungsi untuk memastikan data yang
terinput ke pengendali memiliki format yang
benar untuk menghindari kesalahan
pemrosesan data. Setelah itu barulah kirim G-
Code tersebut dengan mengklik tombol RUN.
3. Program fungsi Manual
Pada pengoperasian antarmuka dengan
mode operasi manual maka perpindahan
sumbu pada masing masing sumbu akan
terjadi jika kita menekan tombol X+ X- Y+
Gambar 3. 4 Design antarmuka mode auto dan
Y- Z+ atau Z- karena ketika tombol tombol
kompoen yang dipakai
tersebut ditekan maka antarmuka akan
mengirimkan sinyal high kepada pengendali
untuk menggerakan motor. Nilai-nilai
koordinat yang ditampilkan dihasilkan dari
jumlah pulse yang diterima oleh antarmuka.
Berikut merupakan tabel pembuatan fungsi
manual.
4. Program fungsi Exit dan Reset
5. Program fungsi Real time
Program fungsi Real time digunakan agar
antarmuka dapat memonitoring pergerakan
setiap sumbu secara grafis, selain itu juga
untuk menampilkan feedrate dan nilai-nilai
koordinat sumbu X, Y dan Z. Monitoring
pergerakan sumbu Z (kedalaman pemakanan)
Gambar 3. 5 Design antarmuka mode manual dan dilihat dari perubahan warna grafik.
kompoen yang dipakai Monitoring pergerakan dan nilai setiap sumbu
dipengaruhi oleh data yang dihasilkan oleh
3.6.5 Pembuatan program antarmuka pengendali. Selain mengirimkan pulse
Dalam membuat antarmuka berbasis kemotor, pengendali juga mengirimkan data
minikomputer ataupun mikrokontroller, pulse tersebut dalam bentuk string ke
dibutuhkan basis pemograman yang berfungsi antarmuka, sehingga dapat dilakukan
sebagai program utama dalam mengaktivasi monitoring pergerakan dan nilai dari setiap
fungsi fungsi dari komponen pada Gambas sumbu
3.5.2 yang digunakan sesuai dengan
kebutuhan. Dengan menggunakan aplikasi 3.6.6 Perencanaan pengujian antarmuka
Gambas 3.5.2, maka bahasa pemograman yang Pengujian tersebut dilakukan untuk
digunakan adalah bahasa pemograman Basic. mengetahui apakah antarmuka yang telah
Pada pembuatan program antarmuka ini, dibuat sudah berfungsi dengan baik dan benar
dibentuk beberapa bagian program diantaranya atau tidak. Rencana pengujian yang akan
adalah : dilakukan antara lain sebagai berikut:
1. Perencanaan pengujian fungsi tombol.
2. Perencanaan pengujian pin GPIO
Raspberry Pi 3.
3. Perencanaan pengujian real time.
4.
IV. HASIL IMPLEMENTASI
4.1 Visualisasi Sistem Antarmuka Touchscreen
B. Enter
Ketika tombol Enter daktifkan maka G-Code
yang terdapat pada TextBox akan akan
diinputkan pada ListBox. Namun apabila tidak
Gambar 4. 11 Kondisi pin GPIO 22 ketika terdapat G-Code pada TextBox, kemudian
tombol ON aktif pengguna menekan tombol Enter maka akan
muncul perintah Please Entry G-Code.
C. Clear E. Browse
Jika tombol Clear ini ditekan maka semua G- Jika tombol Browse ditekan maka akan
Code yang terdapat pada TextBox dan ListBox muncul tampilan choose a file untuk memilih file
akan terhapus semua. G-Code yang akan diinputkan pada antarmuka.
G. Insert
Jika tombol Insert ditekan maka G-Code
Gambar 4. 25 Baris G-Code yang akan diubah yang terdapat pada TextBox akan diinputkan
Jika tombol Edit ditekan maka G-Code yang akan pada ListBox dengan urutan baris setelah baris
diubah akan ditampilkan pada TextBox seperti G-Code yang terseleksi.
berikut:
H. Save
Jika tombol Save ditekan maka akan muncul
tampilan Save file , seperti gambar dibawah ini.
Gambar 4. 27 G-Code yang telah diubah Pada tampilan ini pengguna akan memberikan
nama file G-Code yang akan disimpan. Setelah
itu klik tombol Save maka otomatis file G-Code
akan disimpan.
Tanda * digunakan untuk menandai awal G-
Code, tanda ; digunakan untuk menandai baris
G-Code , dan tanda @ digunakan untuk
menandai akhir G-Code.
I. Compile
Jika format data yang diinputkan pada
antarmuka tidak sesuai maka akan muncul
massage box yang memberitahu bahwa format
G-Code yang diinputkan salah. Seperti hasil
pengujian dibawah ini G-Code yang diinputkan
terdeteksi error karena terdapat double X dalam Gambar 4. 35 G-Code yang telah diolah oleh
satu baris G-Code. antarmuka untuk dikirimkan ke pengendali
J. Run
Tombol Run akan berfungsi jika G-Code
dalam ListBox tidak terdapat kesalahan setelah
dicompile. Jika G-Code tidak terdapat kesalahan
maka akan muncul massege info G-Code has
been compiled.
Format pengiriman G-Code ke pengendali
utama: Gambar 4. 36 Kondisi pin GPIO 5 ketika
tombol X+ ditekan
Gambar 4. 37 Kondisi pin GPIO 5 ketika Gambar 4. 40 Kondisi pin GPIO 19
tombol X+ dilepas ketika tombol Y- ditekan
B. Tombol X- E. Tombol Z+
Jika tombol X- ditekan maka pin GPIO 6 Jika tombol Z+ ditekan maka pin GPIO 26
Raspberry Pi3 akan memberikan sinyal high. Raspberry Pi3 akan memberikan sinyal high.
Gambar 4. 38 Kondisi pin GPIO 6 ketika Gambar 4. 41 Kondisi pin GPIO 26 ketika
tombol X- ditekan tombol Z+ ditekan
C. Tombol Y+ F. Tombol Z-
Jika tombol Y+ ditekan maka pin GPIO 13 Jika tombol Z- ditekan maka pin GPIO 21
Raspberry Pi3 akan memberikan sinyal high. Raspberry Pi3 akan memberikan sinyal high.
V. PENUTUP
Gambar 4. 47 Antarmuka memonitoring pergerakan 5.1. Ketercapaian Tujuan dan Tuntutan
motor Berdasarkan pengujian yang telah dilakukan
perancangan dan pembuatan antarmuka pada mesin
grafir 2.5D dengan menggunakan touchscreen
berbasis Raspberry Pi telah mencapai tujuan dan DAFTAR PUSTAKA
tuntutan. Antarmuka yang dibuat mampu melakukan [1]Koren, Yoram. 1984. Numerical Control of
komunikasi dengan pengendali sehingga antarmuka Machine Tools. Madison: Engineering
dapat memonitor feedrate , pergerakan pola dan Experiment Station, University of
kedalaman secara grafis dengan cara mengolah data Wisconsin-Madison.
yang diterima oleh antarmuka dari pengendali [2] Pengertian Interface.
dengan kesalahan ketepatan nilai koordinat kurang http://farihaalkaff.blogspot.co.id/2014/04/peng
dari atau sama dengan 4%. Selain itu G-Code dapat ertian-interface.html/ (Diakses pada 1 Juni
dimasukan pada antarmuka dalam bentuk file 2017).
eksternal dan internal yang kemudian G-Code dapat [3]Mengenal Layar Sentuh Komponen Utamanya.
terkirim 100% ke pengendali. https://intrik.wordpress.com/2007/11/14/meng
enal-layar-sentuh-komponen-utamanya-2/
5.2 . Permasalahan yang Ditemukan (Diakses pada 5 Juni 2017).
Permasalahan yang ditemukan pada saat [4] Pengetahuan Dasar dan Pemrograman
perancangan dan pembuatan antarmuka pada mesin Raspberry Pi.
grafir 2.5D adalah : https://pccontrol.wordpress.com/2014/06/17/p
1. Sulit menemukan referensi atau bahan ajar engetahuan-dasar-dan-pemrograman-
penggunaan software Gambas. raspberry-pi/ (Diakses pada 2 Juni 2017).
2. Terjadi Hold Position pada mode jog yang [5] Raspberry Pi 3 Model B GPIO 40 Pin.
menyebabkan sumbu terus bergerak ketika https://www.element14.com/community/docs/
button JOG telah dilepas dari sentuhan DOC-73950/l/raspberry-pi-3-model-b-gpio-
operator. 40-pin-block-pinout (Diakses pada 2 Juni
2017).
3. Library pigpio tidak dapat digunakan. [6] Apa Itu Gambas.
4. Jika Raspberry Pi3 dipakai secara terus http://dhitro.blogspot.co.id/2009/06/apa-itu-
menerus, terkadang antarmuka menjadi error gambas.html (Diakses pada 3 Juni 2017).
menyebabkan pin GPIO pada Raspberry Pi3 [7] Mengirim dan Menerima Data Melalui Serial
tidak mau memberi atau membaca sinyal. UART Tx Rx Raspberry.
5. Keadaan serial port tidak stabil terkadang http://blog.ulindev.com/mengirim-dan-
ketika realtime bisa mencapai nilai akhir, menerima-data-melalui-serial-uart-tx-rx-
terkadang juga terjadi error ketika menerima raspberrypi/ (Diakses pada 7 Juni 2017).
data sehingga antarmuka tidak dapat [8] Mesin CNC.http://mesin-
digunakan. cnc.blogspot.co.id/2012/03/numerical-control-
6. Touchscreen tidak sensitif terhadap sentuhan. nc-berarti-kontrol.html (Diakses pada 10 Juni
2017).
5.3 . Solusi Permasalahan [9] Motors.http://lancet.mit.edu/motors (diakses
Solusi permasalahan dari perancangan dan pada 9 Mei 2016).
pembuatan antarmuka pada mesin grafir 2.5D adalah: [10] Motor Stepper. http://zonaelektro.net/motor-
1. Karena bahasa pemrograman yang digunakan stepper/ (diakses pada 2 Juni 2017).
Gambas sama seperti bahasa pemrograman [11] Microcontroller AVR
Visual Basic, maka bahan ajar dapat ATMega32A.http://www.atmel.com/images/at
menggunakan bahan ajar tentang Visual mel-8155-8-bit-microcontroller-avr-
Basic. atmega32a_datasheet-summary.pdf. (diakses
2. Hold Position yang terjadi pada mode manual pada 1 Mei 2017).
dapat diatasi dengan menggunakan event [12] Top Seller Mini CNC Metal Engraving
Mouseup dan Mousedown pada komponen Machine.http://www.ebay.com/itm/TOP-
Button yang digunakan, jangan SELLER-MINI- CNC-METAL-
menggunakan event click. ENGRAVING-MACHINE-3020-
3. Library pigpio harus diinstal terlebih dahulu ENGRAVER-CARVING-MACHINE-e3-
sebelum digunakan di Gambas. /200864210343(diakses pada 9 Juni 2017).
4. Jika GPIO pada Raspberry Pi3 tiba-tiba tidak
bisa digunakan maka Raspberry Pi3 harus di
Reboot terlebih dahulu.
5. Serial port dapat stabil dengan dengan
merubah pemrograman menerima data.
6. Agar touchscreen sensitif terhadap sentuhan,
sumber yang diterima oleh touchscreen
tidak boleh kurang dari 2A.