Cara Mengatur GRBL &Mengontrol Mesin CNC dengan Arduino
Jika Anda sedang berpikir atau sedang dalam proses membuat mesin CNC sendiri, maka kemungkinan besar Anda akan bertemu dengan istilah GRBL. Jadi dalam tutorial ini kita akan mempelajari apa itu GRBL, cara menginstal dan menggunakannya untuk mengontrol mesin CNC berbasis Arduino Anda.
Selain itu, kita akan mempelajari cara menggunakan Universal G-code Sender, perangkat lunak pengontrol GRBL open source yang populer.
Apa itu GRBL?
GRBL adalah perangkat lunak atau firmware open source yang memungkinkan kontrol gerak untuk mesin CNC. Kami dapat dengan mudah menginstal firmware GRBL ke Arduino sehingga kami langsung mendapatkan pengontrol CNC berkinerja tinggi dengan biaya rendah. GRBL menggunakan kode-G sebagai input, dan mengeluarkan kontrol gerak melalui Arduino .
Untuk pemahaman yang lebih baik, kita dapat melihat diagram berikut:
Dari diagram kita dapat melihat di mana GRBL berlangsung dalam “gambaran besar” prinsip kerja mesin CNC. Ini adalah firmware yang perlu kita instal atau unggah ke Arduino agar dapat mengontrol motor stepper dari mesin CNC. Dengan kata lain, fungsi firmware GRBL adalah menerjemahkan kode-G menjadi gerakan motor.
Perangkat Keras yang Diperlukan
Arduino – Seperti yang sudah kami katakan, kami membutuhkan Arduino untuk menginstal GRBL. Secara khusus, kami membutuhkan papan Arduino berbasis Atmega 328, artinya kami dapat menggunakan Arduino UNO atau Nano.
Motor stepper – Jelas, motor stepper memberikan gerakan mesin.
Pengemudi – Untuk menggerakkan motor stepper, kami memerlukan driver dan pilihan umum terkait mesin CNC DIY yang lebih kecil (menggunakan stepper NEMA 14 atau 17) adalah driver A4988 atau DRV8825.
Perisai CNC Arduino – Untuk menghubungkan driver stepper ke Arduino, cara termudah adalah dengan menggunakan Arduino CNC Shield. Ini menggunakan semua pin Arduino dan menyediakan cara mudah untuk menghubungkan semuanya, motor stepper, spindel/ laser, sakelar batas, kipas pendingin, dll.
Harap dicatat bahwa ini hanyalah komponen elektronik dasar yang kita perlukan untuk memahami cara kerja mesin CNC.
Sebenarnya, sebagai contoh bagaimana segala sesuatu perlu dihubungkan, kita dapat melihat mesin pemotong busa CNC DIY saya.
Anda dapat memeriksa dan mendapatkan komponen elektronik utama yang diperlukan untuk membuat mesin CNC ini di sini:
Alat utama mesin CNC ini adalah kawat panas yang dapat dengan mudah melelehkan atau memotong styrofoam dan membuat bentuk apapun yang kita inginkan. Untuk detail lebih lanjut bagaimana saya membuat mesin dan bagaimana semuanya bekerja, Anda dapat memeriksa tutorial tertentu.
Namun demikian, kami akan menggunakan mesin ini sebagai contoh di seluruh artikel ini, karena prinsip kerja yang sama berlaku untuk mesin CNC lainnya, baik itu penggilingan atau laser.
Cara Memasang GRBL
Pertama, untuk dapat menginstal atau mengunggah GRBL ke Arduino kita membutuhkan Arduino IDE.
Kemudian kita dapat mengunduh firmware GRBL dari github.com.
Unduh sebagai file .ZIP lalu ikuti langkah-langkah berikut:
Buka file grbl-master.zip dan ekstrak filenya
Buka Arduino IDE, arahkan ke Sketch> Include Library> Add .ZIP Library…
Arahkan ke folder hasil ekstrak “grbl-master”, di sana pilih folder “grbl” dan klik file yang terbuka. Sekarang kita harus GRBL sebagai Perpustakaan Arduino.
Selanjutnya, navigasikan ke File> Contoh> grbl> grblUpload. Sketsa baru akan terbuka dan kita perlu mengunggahnya ke papan Arduino. Kodenya mungkin terlihat aneh karena hanya satu baris, tetapi jangan khawatir, semuanya terjadi di latar belakang di perpustakaan. Jadi, kita hanya perlu memilih papan Arduino, port COM dan menekan tombol unggah dan selesai.
Konfigurasi GRBL
Pada titik ini kita harus mengkonfigurasi atau menyesuaikan GRBL ke mesin kita. Kita dapat melakukannya melalui Serial Monitor dari 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 muncul seperti ini:
Semua perintah ini dapat atau harus disesuaikan dengan mesin CNC kami. Misalnya dengan perintah pertama, $100=250.000 (x, step/mm), kita bisa mengatur langkah per mm dari mesin, atau kita bisa menentukan berapa langkah yang harus dilakukan motor agar sumbu X kita bergerak 1 mm.
Namun, saya akan menyarankan untuk membiarkan pengaturan ini apa adanya. Ada cara yang lebih mudah untuk menyesuaikannya sesuai dengan mesin kita menggunakan perangkat lunak pengontrol, yang akan kami jelaskan di bagian selanjutnya.
Pengontrol GRBL
Jadi setelah kami menginstal firmware GRBL, sekarang Arduino kami tahu cara membaca kode-G dan cara mengontrol mesin CNC sesuai dengan itu. Namun, untuk mengirim kode-G ke Arduino, kita memerlukan semacam antarmuka atau perangkat lunak pengontrol 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 Univarsal G-code Sender.
Cara Menggunakan Pengirim G-code Universal
Untuk contoh ini, saya akan menggunakan versi 2.0 Platform. Setelah kami mengunduhnya, kami perlu mengekstrak file zip, buka folder "bin" dan buka salah satu file "ugsplatfrom" yang dapat dieksekusi. Ini sebenarnya adalah program JAVA, jadi untuk dapat menjalankan program ini, pertama-tama kita harus menginstal JAVA Runtime Environment.
Setelah kita membuka pengirim kode G Universal, pertama-tama kita perlu mengonfigurasi mesin, atau mengonfigurasi parameter GRBL yang ditunjukkan sebelumnya. Untuk itu kita akan menggunakan UGS Setup Wizard yang jauh lebih nyaman daripada mengetik perintah secara manual melalui Serial Monitor dari Arduino IDE.
Langkah pertama di sini adalah memilih baudrate, yang seharusnya 115200, dan port yang terhubung dengan Arduino kita. Setelah kita menghubungkan pengirim kode G Universal dengan Arduino, pada langkah selanjutnya kita dapat memeriksa arah pergerakan motor.
Jika diperlukan, kita dapat membalikkan arah melalui wizard, atau dengan membalik sambungan motor secara manual pada Arduino CNC Shield.
Pada langkah selanjutnya kita dapat mengatur parameter steps/mm yang telah kita sebutkan sebelumnya. Di sini jauh lebih mudah untuk memahami cara menyesuaikannya karena wizard penyiapan akan menghitung dan memberi tahu kami nilai apa yang harus kami perbarui parameternya.
Nilai default adalah 250 langkah/mm. Artinya, jika kita klik tombol move “x+” maka motor akan melakukan 250 langkah. Sekarang tergantung pada jumlah langkah fisik yang dimiliki motor, resolusi loncatan yang dipilih dan jenis transmisi, mesin akan bergerak agak jauh. Dengan menggunakan penggaris, kita dapat mengukur gerakan aktual yang dibuat mesin dan memasukkan nilai itu di bidang "Gerakan aktual". Berdasarkan ini, wizard akan menghitung dan memberi tahu kami nilai apa yang harus kami ubah parameter langkah/mm.
Dalam kasus saya, untuk mesin CNC DIY yang saya buat, mesinnya bergerak 3mm. Menurut ini, wizard menyarankan untuk memperbarui parameter langkah/mm ke nilai 83.
Dengan pembaruan nilai ini, mesin sekarang bergerak dengan benar, 1 mm dalam perangkat lunak berarti 1 mm untuk mesin CNC.
Di konsol UGS, saat kami melakukan setiap tindakan, kami dapat melihat perintah yang dijalankan. Kita dapat melihat bahwa dengan memperbarui parameter langkah/mm program UGS sebenarnya dikirim ke Arduino, atau firmware GRBL perintah yang kami sebutkan sebelumnya. Ini adalah nilai default:$100=250.000 (x, langkah/mm), dan sekarang kami memperbarui ke nilai 83 langkah per mm:$100=83.
Pada langkah berikutnya, kita dapat mengaktifkan sakelar batas dan menguji apakah sakelar itu berfungsi dengan baik.
Bergantung pada apakah itu koneksi Biasanya Terbuka atau Biasanya Tertutup, kami juga dapat membalikkannya di sini.
Di sini perlu dicatat bahwa terkadang kita perlu menonaktifkan sakelar batas sumbu Z. Itulah yang terjadi dengan mesin Pemotong Busa CNC DIY saya di mana saya tidak memerlukan sakelar batas sumbu Z dan saya harus menonaktifkannya agar dapat memasang mesin dengan benar. Jadi, untuk melakukan itu, kita perlu mengedit file config.h yang terletak di folder library Arduino (atau Documents\Arduino\libraries).
Di sini kita perlu menemukan garis siklus homing dan mengomentari set default untuk mesin CNC 3 sumbu dan menghapus komentar pengaturan untuk mesin 2 sumbu. Agar perubahan diterapkan, kita perlu menyimpan file dan mengunggah ulang sketsa grblUpload ke papan Arduino kita.
Namun demikian, pada langkah berikutnya kita dapat mengaktifkan atau menonaktifkan homing dari macing CNC.
Menggunakan tombol “Coba homing”, mesin akan mulai bergerak menuju sakelar ujung batas. Jika arahnya berlawanan, kita dapat dengan mudah membalikkan arah.
Terakhir, pada langkah terakhir wizard Penyiapan, kita dapat mengaktifkan batas lunak untuk mesin CNC kita.
Batas lunak mencegah alat berat bergerak melampaui area kerja yang ditetapkan.
Kesimpulan
Jadi, berkat firmware GRBL dan Arduino, kami dapat dengan mudah mengatur dan menjalankan mesin CNC DIY kami. Tentu saja, kami hanya membahas dasar-dasarnya dalam tutorial ini, tetapi saya pikir itu sudah cukup untuk memahami cara kerja berbagai hal dan cara menjalankan dan menjalankan mesin CNC pertama kami.
Tentu saja, ada banyak pengaturan dan fitur lain yang tersedia, karena GRBL adalah firmware pengontrol CNC yang benar-benar mumpuni. Dokumentasi GRBL menjelaskan semua itu secara detail, sehingga Anda selalu dapat memeriksanya di halaman wiki mereka di github.com.
Juga, ada banyak program pengontrol GRBL open source lainnya seperti Universal G-code Sender, dan berikut adalah beberapa:GRBLweb (Web Browser), GrblPanel (Windows GUI), grblControl (Windows/Linux GUI), Easel (Browser based) dll . Anda harus menjelajahinya dan melihat mana yang paling cocok untuk Anda.