1. Pendahuluan
Perkembangan teknologi manufaktur skala kecil (Computer Numerical Control/CNC) saat ini menuntut efisiensi tinggi dengan biaya produksi yang minimal. Salah satu implementasi nyatanya adalah mesin grafir 2,5 dimensi (2,5D). Mesin grafir 2,5D bekerja dengan mengontrol pergerakan simultan pada dua sumbu (X dan Y) untuk membentuk pola atau kontur gambar, sedangkan sumbu ketiga (Z) bertindak secara diskrit untuk mengatur kedalaman pahat atau posisi pen/laser down-up.
Tantangan utama dalam perancangan mesin grafir mandiri (DIY) adalah menghasilkan pergerakan linear yang halus dan presisi menggunakan mikrokontroler dengan sumber daya komputasi terbatas seperti Arduino. Untuk mengatasi keterbatasan ini, algoritma interpolasi Digital Differential Analyzer (DDA) diterapkan sebagai jembatan kalkulasi real-time guna menyinkronkan langkah (step) dari kedua motor stepper sumbu X dan Y agar menghasilkan garis lurus yang presisi.
2. Arsitektur Sistem Mesin Grafir 2,5D
Sistem ini dirancang dengan mengintegrasikan komponen perangkat keras dan perangkat lunak secara modular. Berikut adalah arsitektur umum dari sistem mesin grafir yang dibangun:
- Unit Pengendali Utama: Arduino (misalnya Arduino Uno berbasis ATmega328P). Bertugas memproses kode koordinat (G-code) dan menjalankan algoritma interpolasi DDA untuk menghasilkan sinyal pulsa kontrol.
- Driver Motor: Driver motor stepper seperti A4988 atau DRV8825 yang berfungsi menerjemahkan sinyal logika (Step dan Direction) dari Arduino menjadi arus listrik untuk menggerakkan fase motor.
- Aktor Gerak (Sumbu X dan Y): Dua unit motor stepper bipolar (seperti NEMA 17) yang terhubung dengan mekanisme lead screw atau timing belt untuk mentranslasikan gerak rotasi menjadi gerak linear.
- Mekanisme Sumbu Z: Menggunakan motor stepper kecil atau servo motor untuk mengangkat dan menurunkan alat pahat/penulis berdasarkan instruksi kerja.
Kenapa Menggunakan Konsep 2,5D?
Dalam pemesinan 2,5D, pergerakan pahat pemotong terjadi secara simultan pada bidang XY, sementara sumbu Z melakukan penetrasi kedalaman secara statis sebelum pergerakan XY dimulai. Hal ini jauh lebih sederhana dibanding sistem 3D murni yang membutuhkan koordinasi tiga sumbu secara simultan dan dinamis, sehingga sangat cocok dikendalikan oleh mikrokontroler 8-bit.
3. Konsep dan Algoritma Interpolator DDA
Algoritma DDA (Digital Differential Analyzer) adalah algoritma interpolasi garis lurus yang melakukan kalkulasi langkah berdasarkan persamaan diferensial dari sebuah garis. Pada prinsipnya, algoritma ini menghitung nilai koordinat piksel atau langkah motor berikutnya berdasarkan rasio perubahan sumbu X (ΔX) dan sumbu Y (ΔY).
Langkah-langkah matematis penerapan DDA pada kontrol motor stepper adalah sebagai berikut:
- Tentukan titik awal $(X_0, Y_0)$ dan titik akhir $(X_1, Y_1)$ dalam satuan pulsa/langkah (step).
- Hitung selisih jarak:
ΔX = X_1 - X_0ΔY = Y_1 - Y_0 - Tentukan jumlah langkah maksimum (Steps) untuk proses iterasi:
Steps = max(|ΔX|, |ΔY|) - Hitung pertambahan nilai (increment) untuk setiap sumbu per iterasi:
X_inc = ΔX / StepsY_inc = ΔY / Steps - Lakukan akumulasi koordinat pada setiap siklus loop:
X_baru = X_lama + X_incY_baru = Y_lama + Y_inc - Kirimkan pulsa step ke driver motor jika hasil pembulatan nilai akumulasi mendeteksi adanya transisi bilangan bulat (integer step).
4. Implementasi Perangkat Lunak pada Arduino
Karena Arduino Uno bekerja dengan mikroprosesor 8-bit tanpa unit pemroses aritmatika pecahan (Floating Point Unit) yang cepat, kalkulasi pecahan desimal murni dapat memperlambat performa motor. Oleh karena itu, dalam pemrograman Arduino, algoritma DDA sering dioptimalkan menggunakan teknik Fixed-Point Arithmetic atau akumulator berbasis bilangan bulat.
Berikut adalah representasi logis implementasi DDA sederhana dalam bahasa C++ Arduino untuk menggerakkan dua sumbu:
5. Analisis Kinerja dan Kelebihan Sistem
Penerapan algoritma DDA pada mesin grafir berbasis Arduino memiliki beberapa keunggulan teknis serta beberapa batasan yang perlu dipahami:
| Parameter Evaluasi | Kelebihan DDA Interpolator | Kelemahan / Solusi |
|---|---|---|
| Beban Komputasi | Sangat ringan, struktur algoritma sederhana dan mudah diimplementasikan pada mikrokontroler 8-bit. | Kalkulasi pembagian floating-point bawaan lambat; dapat dioptimalkan dengan aritmatika integer. |
| Sinkronisasi Gerak | Kedua motor berputar serentak menghasilkan garis lurus yang presisi tanpa distorsi tangga yang kasar. | Akurasi posisi bergantung pada resolusi microstepping driver motor. |
| Kecepatan Transversal | Konsisten pada lintasan lurus tunggal. | Sulit mempertahankan kecepatan konstan (feedrate) saat sudut lintasan berubah drastis tanpa algoritma akselerasi. |
6. Kesimpulan
Implementasi DDA interpolator pada mesin grafir 2,5D berbasis Arduino terbukti efektif dalam menghasilkan pergerakan linear yang sinkron antara sumbu X dan sumbu Y. Dengan beban komputasi yang relatif rendah, Arduino mampu memproses koordinat tujuan secara real-time dan menghasilkan pulsa kendali motor stepper yang presisi. Integrasi sistem ini menawarkan solusi mesin grafir ekonomis namun andal, yang sangat ideal untuk aplikasi skala rumahan, edukasi, maupun industri kreatif mikro.
