Menguasai G-Code: Perintah Kunci yang Harus Diketahui Setiap Operator CNC & 3D Printer
Apa itu G-Code?
G-code adalah bahasa pemrograman untuk mesin CNC (Computer Numerical Control). G-code singkatan dari "Geometric Code". Kita menggunakan bahasa ini untuk memberi tahu mesin apa yang harus dilakukan atau bagaimana melakukan sesuatu. Perintah G-code menginstruksikan mesin ke mana bergerak, seberapa cepat bergerak, dan jalur mana yang harus diikuti.
Dalam hal mesin bubut atau frais, alat potong dikendalikan oleh perintah ini untuk mengikuti jalur alat tertentu, memotong bahan untuk mendapatkan bentuk yang diinginkan.
Demikian pula, dalam hal manufaktur aditif atau printer 3D, perintah G-code menginstruksikan mesin untuk menumpuk bahan, lapis demi lapis, membentuk bentuk geometris yang tepat.
Cara Membaca Perintah G-Code?
Pada pertama kali, ketika Anda melihat file G-code, mungkin terlihat cukup rumit, tetapi sebenarnya tidak sulit dipahami.
Jika kita melihat lebih dekat pada kode, kita dapat memperhatikan bahwa sebagian besar baris memiliki struktur yang sama. Sepertinya bagian yang "rumit" dari G-code adalah semua angka yang kita lihat, yang hanyalah koordinat Cartesian.
Mari kita lihat satu baris dan jelaskan cara kerjanya.
G01 X247.951560 Y11.817060 Z-1.000000 F400.000000
Baris ini memiliki struktur berikut:
G## X## Y## Z## F##
Pertama adalah perintah G-code, dan dalam kasus ini adalah G01, yang berarti "bergerak dalam garis lurus ke posisi tertentu".
Kita mendeklarasikan posisi atau koordinat dengan nilai X, Y, dan Z.
Terakhir, dengan nilai F, kita mengatur kecepatan pengiriman, atau kecepatan tempat gerakan akan dieksekusi.
Untuk menyimpulkan, baris G01 X247.951560 Y11.817060 Z-1.000000 F400 memberi tahu mesin CNC untuk bergerak dalam garis lurus dari posisi saat ini ke koordinat X247.951560, Y11.817060, dan Z-1.000000 dengan kecepatan 400 mm/menit. Satuan adalah mm/menit karena jika kita melihat kembali pada contoh gambar G-code, kita dapat melihat bahwa kita telah menggunakan perintah G21 yang mengatur satuan menjadi milimeter. Jika kita ingin satuan dalam inci, kita menggunakan perintah G21 sebagai gantinya.
Perintah G-Code Paling Penting / Umum
Jadi, sekarang setelah kita tahu cara membaca satu baris G-code, kita dapat melihat perintah G-code yang paling penting atau paling umum digunakan. Kita akan mempelajari cara kerja masing-masingnya melalui beberapa contoh, dan pada akhir tutorial ini kita akan dapat memahami sepenuhnya cara kerja G-code, cara membacanya, cara memodifikasinya, dan bahkan cara menulis G-code kita sendiri.
G00 – Posisi Cepat
Perintah G00 memindahkan mesin dengan kecepatan perjalanan maksimum dari posisi saat ini ke titik tertentu atau koordinat yang ditentukan oleh perintah. Mesin akan memindahkan semua sumsa pada saat yang sama sehingga mereka menyelesaikan perjalanan secara bersamaan. Hasilnya adalah gerakan garis lurus ke titik posisi baru.
G00 adalah gerakan non-pemotongan, dan tujuannya hanyalah untuk dengan cepat memindahkan mesin ke posisi yang diinginkan untuk memulai jenis pekerjaan apa pun, seperti pemotongan atau pencetakan.
G01 – Interpolasi Linier
Perintah G-code G01 menginstruksikan mesin untuk bergerak dalam garis lurus pada kecepatan pengiriman atau kecepatan yang ditetapkan. Kita menentukan posisi akhir dengan nilai X, Y, dan Z, dan kecepatan dengan nilai F. Pengontrol mesin menghitung (melakukan interpolasi) titik-titik tengah untuk melalui agar mendapatkan garis lurus itu. Meskipun perintah G-code ini sederhana dan cukup intuitif untuk dipahami, di baliknya, pengontrol mesin melakukan ribuan perhitungan per detik untuk melakukan gerakan ini.
Berbeda dengan perintah G00 yang hanya digunakan untuk penempatan, perintah G01 digunakan ketika mesin melakukan pekerjaan utamanya. Dalam hal bubut atau frais, memotong bahan dalam garis lurus, dan dalam hal printer 3D, mengekstrusikan bahan dalam garis lurus.
G02 – Interpolasi Lingkaran Searah Jarum Jam
Perintah G02 memberi tahu mesin untuk bergerak searah jarum jam dalam pola lingkaran. Ini adalah konsep yang sama dengan perintah G01 dan digunakan saat melakukan proses pemesinan yang sesuai. Selain parameter titik akhir, di sini kita juga perlu menentukan pusat rotasi, atau jarak titik awal busur dari titik pusat busur. Titik awal sebenarnya adalah titik akhir dari perintah sebelumnya atau titik saat ini.
Untuk pemahaman yang lebih baik, kita akan menambahkan perintah G02 setelah perintah G01 dari contoh sebelumnya.
Jadi, dalam contoh ini, pertama kita memiliki perintah G01 yang memindahkan mesin ke titik X5, Y12. Sekarang ini akan menjadi titik awal untuk perintah G02. Dengan parameter X dan Y dari perintah G02, kita menetapkan titik akhir. Sekarang untuk mencapai titik akhir ini menggunakan gerakan lingkaran atau menggunakan busur, kita perlu menentukan titik pusatnya. Kita melakukannya menggunakan parameter I dan J. Nilai I dan J relatif terhadap titik awal, atau titik akhir dari perintah sebelumnya. Jadi, untuk mendapatkan titik pusat ke X5 dan Y7, kita perlu membuat offset 0 sepanjang sumbu X, dan offset -5 sepanjang sumbu Y.
Tentu saja, kita dapat menetapkan titik pusat di mana saja, sehingga kita akan mendapatkan busur yang berbeda yang berakhir pada titik akhir yang sama. Berikut adalah contohnya:
Jadi, di sini kita masih memiliki titik akhir yang sama dengan contoh sebelumnya (X10, Y7), tetapi titik pusat sekarang berada di posisi yang berbeda (X0, Y2). Dengan ini kita mendapatkan busur yang lebih lebar dibandingkan yang sebelumnya.
Lihat juga: Cara Mengatur GRBL & Mengontrol Mesin CNC dengan Arduino
Contoh G00, G01, G02 – Pemrograman G-Code Manual
Mari kita lihat contoh pemesinan CNC sederhana menggunakan tiga perintah G-code utama ini, G00, G01, dan G02.
Untuk mendapatkan jalur alat untuk bentuk yang ditunjukkan dalam gambar di atas, kita memerlukan perintah G-code berikut:
G00 X5 Y5 ; point B G01 X0 Y20 F200 ; point C G01 X20 Y0 ; point D G02 X10 Y-10 I0 J-10 ; point E G02 X-4 Y-8 I-10 J0 ; point F G01 X-26 Y-2 ; point BCode language: Arduino (arduino)
Dengan perintah G00 pertama, kita dengan cepat membawa mesin dari posisi rumah atau awal ke titik B(5,5). Dari sini kita mulai "memotong" dengan kecepatan pengiriman 200 menggunakan perintah G01. Kita dapat mencatat di sini bahwa untuk pergi dari titik B(5,5) ke titik C(5,25) kita menggunakan nilai untuk X dan Y relatif terhadap titik awal B. Jadi, +20 satuan dalam arah Y akan membawa kita ke titik C(5,25). Sebenarnya, ini tergantung pada apakah kita telah memilih mesin untuk menafsirkan koordinat sebagai absolut atau relatif. Kita akan menjelaskan ini di bagian selanjutnya.
Setelah kita mencapai titik C(5,25), kita memiliki perintah G01 lainnya untuk mencapai titik D(25,25). Kemudian kita menggunakan perintah G02, gerakan lingkaran, untuk pergi ke titik E(35,15), dengan titik pusat (25,15). Kita sebenarnya memiliki titik pusat yang sama (25,15) untuk perintah G02 berikutnya, untuk pergi ke titik F(31,7). Namun, kita harus mencatat bahwa parameter I dan J berbeda dari perintah sebelumnya, karena kita menggeser pusat dari titik akhir terakhir atau titik E. Kami menyelesaikan jalur alat dengan perintah G01 lainnya yang membawa kita dari titik F(31,7) kembali ke titik B(5,5).
Jadi, itulah cara kita dapat memprogram G-code secara manual untuk membuat bentuk ini. Namun, kita perlu mencatat bahwa ini bukan G-code lengkap, karena kami kehilangan beberapa perintah dasar lainnya. Kita akan membuat G-code lengkap di contoh selanjutnya karena kita pertama perlu menjelaskan perintah G-code ini.
G03 – Interpolasi Lingkaran Berlawanan Jarum Jam
Sama seperti G02, perintah G-code G03 mendefinisikan mesin untuk bergerak dalam pola lingkaran. Perbedaannya di sini adalah gerakan berlawanan jarum jam. Semua fitur dan aturan lainnya sama dengan perintah G02.
Jadi, dengan tiga perintah G-code utama ini, G01, G02, dan G03, kita dapat menghasilkan jalur alat untuk, secara harfiah, bentuk apa pun yang kita inginkan. Anda mungkin bertanya-tanya sekarang bagaimana itu mungkin, tetapi itu sebenarnya tugas yang mudah untuk komputer dan perangkat lunak CAM. Ya, benar kita kadang-kadang dapat secara manual membuat program G-code, tetapi sebagian besar waktu kita melakukannya dengan perangkat lunak yang sesuai yang jauh lebih mudah dan lebih aman.
Namun, sekarang jelaskan beberapa perintah penting dan umum lainnya dan pada akhirnya buat contoh G-code nyata.
G20/ G21 – Pemilihan Satuan
Perintah G20 dan G21 menentukan satuan G-code, baik inci atau milimeter.
G20 = inci
G21 = milimeter
Kita perlu mencatat bahwa satuan harus diatur di awal program. Jika kita tidak menentukan satuan, mesin akan menganggap default yang ditetapkan oleh program sebelumnya.
G17/ G18/ G18 – Pemilihan Bidang G-Code
Dengan perintah G-code ini kita memilih bidang kerja mesin.
G17 – bidang XY
G18 – bidang XZ
G19 – bidang YZ
G17 adalah default untuk sebagian besar mesin CNC, tetapi yang lainnya juga dapat digunakan untuk mencapai gerakan tertentu.
G28 – Kembali ke Rumah
Perintah G28 memberi tahu mesin untuk memindahkan alat ke titik referensi atau posisi rumahnya. Untuk menghindari tabrakan, kita dapat menyertakan titik tengah dengan parameter X, Y, dan Z. Alat akan melalui titik itu sebelum pergi ke titik referensi. G28 X## Y## Z##
Posisi rumah dapat ditentukan dengan perintah G28.1 X## Y## Z##.
G90/ G91 – Perintah G-Code Penempatan
Dengan perintah G90 dan G91 kita memberi tahu mesin cara menafsirkan koordinat. G90 adalah untuk mode absolut dan G91 adalah untuk mode relatif.
Dalam mode absolut, penempatan alat selalu dari titik absolut atau nol. Jadi perintah G01 X10 Y5 akan membawa alat ke titik yang tepat (10,5), tidak peduli posisi sebelumnya.
Di sisi lain, dalam mode relatif, penempatan alat relatif terhadap titik terakhir. Jadi jika mesin saat ini berada di titik(10,10), perintah G01 X10 Y5 akan membawa alat ke titik (20,15). Mode ini juga disebut "mode kenaikan".
Perintah dan Aturan Lainnya
Jadi, perintah G-code yang kami jelaskan di atas adalah yang paling umum, tetapi masih banyak lagi. Ada perintah seperti kompensasi cutter, penskalaan, sistem koordinat kerja, dwell, dll.
Selain G-code, ada juga perintah M-code yang digunakan saat menghasilkan program G-code lengkap yang sebenarnya. Berikut beberapa perintah M-code umum:
M00 – Program berhenti
M02 – Akhir program
M03 – Spindel ON – searah jarum jam
M04 – Spindel ON – berlawanan jarum jam
M05 – Spindel berhenti
M06 – Pergantian alat
M08 – Pendinginan banjir ON
M09 – Pendinginan banjir OFF
M30 – Akhir program
Dalam hal printer 3D:
M104 – Memulai pemanasan ekstruder
M109 – Tunggu hingga ekstruder mencapai T0
M140 – Memulai pemanasan tempat tidur
M190 – Tunggu hingga tempat tidur mencapai T0
M106 – Tetapkan kecepatan kipas
Beberapa perintah ini membutuhkan parameter yang sesuai. Misalnya, saat menyala spindle dengan M03, kita dapat mengatur kecepatan spindle menggunakan parameter S. Jadi, baris M30 S1000 akan menyala spindle pada kecepatan 1000 RPM.
Kita juga dapat mencatat bahwa banyak kode adalah modal, yang berarti mereka tetap berlaku hingga dibatalkan atau diganti oleh kode lain. Misalnya, katakanlah kita memiliki kode untuk gerakan pemotongan linier G01 X5 Y7 F200. Jika gerakan berikutnya lagi pemotongan linier, kita cukup mengetik koordinat X dan Y, tanpa menulis G01 di depan.
Hal yang sama berlaku untuk parameter kecepatan pengiriman F. Kita tidak perlu menyertakannya di setiap baris kecuali jika kita ingin mengubah nilainya.
Dalam beberapa file G-code Anda juga dapat melihat "N##" di depan perintah. Kata N sederhana untuk menomori baris atau blok kode. Hal itu dapat berguna untuk mengidentifikasi baris tertentu dalam kasus kesalahan dalam program yang besar.
Contoh Program G-Code Sederhana
Namun, setelah membaca semua ini, sekarang kita dapat secara manual membuat kode nyata yang sebenarnya. Berikut adalah contohnya:
% G21 G17 G90 F100 M03 S1000 G00 X5 Y5 ; point B G01 X5 Y5 Z-1 ; point B G01 X5 Y15 Z-1 ; point C G02 X9 Y19 Z-1 I4 J0 ; point D G01 X23 Y19 Z-1 ; point E G01 X32 Y5 Z-1 ; point F G01 X21 Y5 Z-1 ; point G G01 X21 Y8 Z-1 ; point H G03 X19 Y10 Z-1 I-2 J0 ; point I G01 X13 Y10 Z-1 ; point J G03 X11 Y8 Z-1 I0 J-2 ; point K G01 X11 Y5 Z-1 ; point L G01 X5 Y5 Z-1 ; point B G01 X5 Y5 Z0 G28 X0 Y0 M05 M30 %Code language: Arduino (arduino)
Deskripsi program G-code:
Inisialisasi kode. Karakter (%) ini selalu ada di awal dan di akhir program.
Baris keamanan: Tetapkan pemrograman dalam sistem metrik (semua dimensi dalam mm), bidang XY, penempatan absolut dan kecepatan pengiriman 100 inci/menit.
Spindel menyala searah jarum jam pada kecepatan 1000 RPM.
Penempatan cepat ke B(5,5).
Gerakan terkontrol pada posisi yang sama, tetapi menurunkan alat ke -1.
Gerakan pemotongan linier ke posisi C(5,15).
Gerakan lingkaran searah jarum jam ke titik D(9,19), dengan titik pusat di (9,15).
Pemotongan linier ke titik E(23,19).
Pemotongan linier ke titik F(32,5).
Pemotongan garis lurus yang sama ke titik G(21,5).
Pemotongan garis lurus sekali lagi ke titik H(21,8).
Interpolasi lingkaran berlawanan jarum jam ke posisi I(19,10), dengan titik pusat di (19,8).
Pemotongan linier ke titik J(13,10).
Pemotongan lingkaran berlawanan jarum jam ke posisi K(11,8), dengan titik pusat di (13,8).
Pemotongan linier ke posisi L(11,5).
Gerakan pemotongan linier akhir ke posisi B(5,5).
Angkat alat.
Pergi ke posisi rumah.
Spindel mati.
Akhir program utama.
Berikut adalah tampilan kode ini siap dikirim ke mesin CNC kami melalui perangkat lunak Universal G-code Sender:
Jadi, menggunakan perintah G-code utama yang dijelaskan di atas, kami berhasil menulis G-code kami sendiri yang sebenarnya. Tentu saja, contoh ini cukup sederhana dan untuk bentuk yang lebih kompleks kita tentu memerlukan perangkat lunak CAM. Berikut adalah contoh G-code kompleks dari bentuk Kuda:
Untuk perbandingan, kode ini memiliki sekitar 700 baris, tetapi semuanya dihasilkan secara otomatis. G-code dibuat menggunakan Inkscape sebagai contoh untuk Mesin Pemotong Foam CNC Arduino DIY saya. Berikut adalah tampilan bentuknya:
Anda dapat memeriksa tutorial khusus saya untuk detail lebih lanjut tentang mesin ini.
Kesimpulan
Jadi, kami telah membahas dasar-dasar G-code, menjelaskan perintah G-code paling penting dan umum, dan secara manual membuat G-code nyata kita sendiri. Setelah semuanya, saya pikir memahami G-code tidak sulit. Tentu saja, masih banyak perintah dan fitur lainnya yang digunakan dalam pemesinan CNC atau pencetakan 3D yang harus kita ketahui, tetapi lebih banyak tentang itu dalam tutorial lainnya.
Jika Anda menemukan artikel ini berguna, bagikan kepada penggemar CNC dan pencetakan 3D lainnya. Jangan ragu untuk bertanya apa pun di bagian komentar di bawah.