Menguasai GRBL: Panduan Langkah demi Langkah untuk Mengatur dan Mengontrol Mesin CNC Berbasis Arduino
Jika Anda sedang memikirkan atau sedang dalam proses membuat mesin CNC Anda sendiri, maka kemungkinan besar Anda akan menemukan istilah GRBL. Jadi dalam tutorial ini kita akan mempelajari apa itu GRBL, cara menginstalnya, dan cara menggunakannya untuk mengontrol mesin CNC berbasis Arduino Anda.
Kami juga akan mempelajari cara menggunakan Universal G-code Sender, perangkat lunak kontrol GRBL open source yang populer.
Apa itu GRBL?
GRBL adalah perangkat lunak atau firmware open source yang mengaktifkan kontrol gerakan untuk mesin CNC. Kita dapat dengan mudah menginstal firmware GRBL ke Arduino dan begitu kita segera mendapatkan pengontrol CNC dengan biaya rendah dan performa tinggi. GRBL menggunakan G-code sebagai masukan, dan mengeluarkan kontrol gerakan melalui Arduino.
Untuk pemahaman yang lebih baik, kita dapat melihat diagram berikut:
Dari diagram kita dapat melihat tempat GRBL berada dalam "gambar besar" prinsip kerja mesin CNC. Ini adalah firmware yang perlu kita instal atau unggah ke Arduino sehingga dapat mengontrol motor stepper mesin CNC. Dengan kata lain, fungsi firmware GRBL adalah menterjemahkan G-code menjadi gerakan motor.
Hardware yang Diperlukan
Arduino – Seperti yang sudah kita katakan, kita membutuhkan Arduino untuk menginstal GRBL. Secara spesifik, kita membutuhkan papan Arduino berbasis Atmega 328, yang berarti kita dapat menggunakan Arduino UNO atau Nano.
Motor stepper – Tentu saja, motor stepper menyediakan gerakan mesin.
Driver – Untuk mengemudi motor stepper kita membutuhkan driver dan pilihan umum untuk mesin CNC DIY yang lebih kecil (menggunakan stepper NEMA 14 atau 17) adalah driver A4988 atau DRV8825.
Arduino CNC Shield – Untuk menghubungkan driver stepper ke Arduino, cara termudah adalah menggunakan Arduino CNC Shield. Ini menggunakan semua pin Arduino dan menyediakan cara mudah untuk menghubungkan semuanya, motor stepper, spindle/laser, batas saklar, kipas pendingin, dll.
Harap diingat bahwa ini hanyalah komponen elektronik dasar yang kita butuhkan untuk memahami cara kerja mesin CNC.
Sebenarnya, sebagai contoh bagaimana semuanya perlu dihubungkan, kita dapat melihat mesin pemotong foam CNC DIY saya.
Anda dapat memeriksa dan mendapatkan komponen elektronik utama yang dibutuhkan untuk membangun mesin CNC ini di sini:
Alat utama dari mesin CNC ini adalah kawat panas yang dengan mudah dapat meleleh atau memotong styrofoam dan membuat bentuk apa pun yang kita inginkan. Untuk detail lebih lanjut bagaimana saya membuat mesin dan bagaimana semuanya bekerja, Anda dapat memeriksa tutorial khusus.
Namun, kita akan menggunakan mesin ini sebagai contoh di seluruh artikel ini, karena prinsip kerja yang sama berlaku untuk mesin CNC lain, baik itu frais atau laser.
Cara Menginstal GRBL
Pertama, untuk dapat menginstal atau mengunggah GRBL ke Arduino kita memerlukan Arduino IDE.
Kemudian kita dapat mengunduh firmware GRBL dari github.com.
Unduh sebagai file .ZIP dan kemudian ikuti langkah-langkah ini:
Buka file grbl-master.zip dan ekstrak filenya
Buka Arduino IDE, navigasikan ke Sketch > Include Library > Add .ZIP Library…
Navigasikan ke folder yang diekstrak "grbl-master", di sana pilih folder "grbl" dan klik buka file. Sekarang kita memiliki GRBL sebagai Library Arduino.
Selanjutnya, navigasikan ke File > Examples > grbl > grblUpload. Sketsa baru akan terbuka dan kita perlu mengunggahnya ke papan Arduino. Kodenya mungkin terlihat aneh karena hanya satu baris, tapi jangan khawatir, semuanya terjadi di latar belakang dalam library. Jadi, kita hanya perlu memilih papan Arduino, port COM dan menekan tombol unggah dan kita selesai.
Konfigurasi GRBL
Pada titik ini kita harus mengonfigurasi atau menyesuaikan GRBL dengan mesin kita. Kita dapat melakukannya melalui Serial Monitor Arduino IDE. Setelah kita membuka Serial Monitor kita akan mendapatkan pesan seperti "Grbl 1.1h ['$' for help]". Jika Anda tidak dapat melihat pesan ini, pastikan Anda mengubah baudrate menjadi 115200.
Jika kita mengetik "$$" kita akan mendapatkan daftar perintah atau pengaturan saat ini, dan mereka akan terlihat seperti ini:
$100=250.000 (x, step/mm) $101=250.000 (y, step/mm) $102=3200.000 (z, step/mm) $110=500.000 (x max rate, mm/min) $111=500.000 (y max rate, mm/min) $112=500.000 (z max rate, mm/min) $120=10.000 (x accel, mm/sec^2) $121=10.000 (y accel, mm/sec^2) $122=10.000 (z accel, mm/sec^2)
Semua perintah ini dapat atau harus disesuaikan dengan mesin CNC kita. Misalnya dengan perintah pertama, $100=250.000 (x, step/mm), kita dapat menyesuaikan langkah per mm mesin, atau kita dapat menentukan berapa banyak langkah yang harus dibuat motor agar sumbu X bergerak 1 mm.
Namun, saya sarankan untuk membiarkan pengaturan ini sebagaimana adanya. Ada cara yang lebih mudah untuk menyesuaikannya dengan mesin kita menggunakan perangkat lunak kontrol, yang akan kita jelaskan di bagian selanjutnya.
Kontroler GRBL
Jadi setelah kita menginstal firmware GRBL, sekarang Arduino tahu cara membaca G-code dan cara mengontrol mesin CNC sesuai dengan itu. Namun, untuk mengirim G-code ke Arduino kita memerlukan antarmuka atau perangkat lunak kontrol yang akan memberi tahu Arduino apa yang harus dilakukan. Sebenarnya ada banyak program open source dan komersial untuk tujuan itu. Tentu saja, kita akan tetap menggunakan open source, jadi sebagai contoh kita akan menggunakan Universal G-code Sender.
Cara Menggunakan Universal G-code Sender
Untuk contoh ini, saya akan menggunakan versi Platform 2.0. Setelah kita mengunduhnya, kita perlu mengekstrak file zip, pergi ke folder "bin" dan buka salah satu file eksekusi "ugsplatform". Ini sebenarnya adalah program JAVA, jadi untuk dapat menjalankan program ini, pertama kita perlu menginstal JAVA Runtime Environment.
Setelah kita membuka Universal G-code sender, pertama kita perlu mengonfigurasi mesin, atau mengonfigurasi parameter GRBL yang ditunjukkan sebelumnya. Untuk tujuan itu kita akan menggunakan UGS Setup Wizard yang jauh lebih nyaman daripada mengetik perintah secara manual melalui Serial Monitor Arduino IDE.
Langkah pertama di sini adalah memilih baudrate, yang harus 115200, dan port tempat Arduino kita terhubung. Setelah kita menghubungkan Universal G-code sender dengan Arduino, pada langkah selanjutnya kita dapat memeriksa arah gerakan motor.
Jika diperlukan, kita dapat membalik arah melalui wizard, atau dengan membalik secara manual koneksi motor pada Arduino CNC Shield.
Pada langkah selanjutnya kita dapat menyesuaikan parameter steps/mm yang kami sebutkan sebelumnya. Di sini jauh lebih mudah untuk memahami cara menyesuaikannya karena setup wizard akan menghitung dan memberitahu kita ke nilai berapa kita harus memperbarui parameter.
Nilai default adalah 250 langkah/mm. Ini berarti, jika kita klik tombol gerak "x+", motor akan membuat 250 langkah. Sekarang tergantung pada jumlah langkah fisik yang dimiliki motor, resolusi langkah yang dipilih dan tipe transmisi, mesin akan bergerak beberapa jarak. Menggunakan penggaris kita dapat mengukur gerakan aktual yang dilakukan mesin dan memasukkan nilai tersebut ke dalam kolom "Gerakan aktual". Berdasarkan ini, wizard akan menghitung dan memberitahu kita ke nilai berapa kita harus mengubah parameter steps/mm.
Dalam kasus saya, untuk mesin CNC DIY yang saya buat, mesin bergerak 3mm. Menurut ini, wizard menyarankan untuk memperbarui parameter steps/mm ke nilai 83.
Dengan nilai ini diperbarui mesin sekarang bergerak dengan benar, 1 mm dalam perangkat lunak berarti 1 mm untuk mesin CNC.
Di konsol UGS, saat kita melakukan setiap tindakan kita dapat melihat perintah yang dieksekusi. kita dapat memperhatikan bahwa dengan memperbarui parameter steps/mm program UGS sebenarnya telah mengirim ke Arduino, atau firmware GRBL perintah yang kami sebutkan sebelumnya. Ini adalah nilai default: $100=250.000 (x, step/mm), dan sekarang kita memperbarui ke nilai 83 langkah per mm: $100=83.
Pada langkah selanjutnya kita dapat mengaktifkan saklar batas dan menguji apakah mereka bekerja dengan benar.
Tergantung apakah mereka koneksi Normally Open atau Normally Closed, kita juga dapat membaliknya di sini.
Di sini perlu dicatat bahwa terkadang kita perlu menonaktifkan saklar batas sumbu Z. Itu adalah kasus dengan mesin pemotong foam CNC DIY saya di mana saya tidak memerlukan saklar batas sumbu Z dan saya harus menonaktifkannya agar dapat dengan benar mensetting mesin rumah. Jadi, untuk melakukan itu, kita perlu mengedit file config.h yang terletak di folder library Arduino (atau Dokumen\Arduino\libraries).
Di sini kita perlu menemukan baris siklus homing dan mengomentari default yang diatur untuk mesin CNC 3 sumbu dan mengomongkan pengaturan untuk mesin 2 sumbu. Agar perubahan berlaku kita perlu menyimpan file dan mengunggah kembali sketsa grblUpload ke papan Arduino kita.
Namun, pada langkah selanjutnya kita dapat mengaktifkan atau menonaktifkan homing mesin CNC.
Menggunakan tombol "Coba homing" mesin akan mulai bergerak menuju saklar batas akhir. Jika berjalan ke arah yang berlawanan kita dapat dengan mudah membalik arahnya.
Terakhir, pada langkah terakhir Setup wizard kita dapat mengaktifkan batas lunak untuk mesin CNC kita.
Batas lunak mencegah mesin bergerak melebihi area kerja yang ditetapkan.
Kesimpulan
Jadi, berkat firmware GRBL dan Arduino, kita dapat dengan mudah mengatur dan menjalankan mesin CNC DIY kita. Tentu saja, kami hanya membahas dasar-dasar dalam tutorial ini, tetapi saya pikir itu sudah cukup untuk memahami bagaimana hal-hal bekerja dan bagaimana mendapatkan mesin CNC pertama kami berjalan.
Tentu saja, masih banyak pengaturan dan fitur lainnya yang tersedia, karena GRBL sebenarnya firmware pengontrol CNC yang sangat cakap. Dokumentasi GRBL menjelaskan semuanya secara rinci, jadi Anda dapat selalu memeriksa mereka di halaman wiki mereka di github.com.
Juga, ada banyak program kontrol GRBL open source lainnya seperti Universal G-code Sender, dan di sini beberapa: GRBLweb (Browser Web), GrblPanel (GUI Windows), grblControl (GUI Windows/Linux), Easel (berbasis Browser) dll. Anda harus menjelajahi mereka dan melihat mana yang paling cocok untuk Anda.