MEMBUAT PROGRAM CNC LATHE
TUJUAN PEMBELAJARAN
BAHAN AJAR
A. STRUKTUR PROGRAM CNC
Program CNC adalah serangkaian instruksi yang memberitahu mesin CNC apa yang harus dilakukan. Instruksi ini disusun dalam format tertentu agar mesin dapat memahaminya.
1. Blok Program (Program Block)
Setiap baris instruksi dalam program CNC disebut sebagai Blok Program. Setiap blok program berisi satu atau lebih perintah yang akan dieksekusi oleh mesin. Mesin akan membaca dan menjalankan blok program satu per satu secara berurutan.
Contoh:
N10 G00 X50.0 Z2.0
N20 G01 X40.0 Z-10.0 F100
N30 M03 S1500
Dalam contoh di atas, N10, N20, dan N30 adalah contoh blok program.
2. Nomor Urut (Sequence Number/Block Number)
Nomor urut (biasanya diawali dengan huruf "N") adalah pengidentifikasi unik untuk setiap blok program. Meskipun tidak selalu wajib untuk setiap blok, penggunaan nomor urut sangat dianjurkan karena memiliki beberapa fungsi penting:
- Identifikasi: Mempermudah identifikasi baris program saat debugging atau mengedit.
- Pencarian: Memungkinkan operator untuk mencari dan melompat ke blok program tertentu.
- Pemrograman Subrutin/Looping: Penting dalam pemrograman yang lebih kompleks seperti subrutin atau perulangan.
Contoh: N10, N20, N30 dst. Umumnya, nomor urut dinaikkan dengan kelipatan 5 atau 10 untuk memungkinkan penyisipan blok program baru di masa mendatang.
3. G-Code (Geometrical Code)
G-Code adalah instruksi yang memberitahu mesin tentang jenis gerakan yang harus dilakukan atau mode operasi yang akan diaktifkan. G-Code bersifat "modal," artinya setelah sebuah G-Code diaktifkan, ia akan tetap aktif sampai G-Code lain yang bertentangan dengannya diaktifkan. Beberapa contoh G-Code umum pada CNC Lathe:
- G00 (Rapid Traverse)
- Gerakan cepat tanpa pemakanan. Digunakan untuk memindahkan pahat dari satu posisi ke posisi lain tanpa menyentuh benda kerja.
- Contoh : G00 X50.0 Z2.0 (Pahat bergerak cepat ke posisi X50.0 Z2.0)
G01 (Linear Interpolation)
- Gerakan pemakanan linier (garis lurus) dengan kecepatan pemakanan yang ditentukan.
- Contoh: G01 x40.0 z-10.0 F100 (Pahat bergerak lurus ke X40.0 Z-10.0 dengan kecepatan pemakanan 100 mm/menit)
G02 (Circular Interpolation Clockwise - CW)
- Gerakan pemakanan melingkar searah jarum jam. Membutuhkan titik akhir dan radius/pusat busur.
- Contoh: G02 X... Z... I... K... atau G02 X... Z... R...
G03 (Circular Interpolation Counter-Clockwise - CCW)
- Gerakan pemakanan melingkar berlawanan arah jarum jam.
- Contoh: G03 x... z... i... k... atau G03 X... Z... R...
- G20/G70 (Inch Input)
- Mengatur unit input menjadi inci.
- G21/G71 (Metric Input)
- Mengatur unit input menjadi milimeter (mm).
- G28 (Return to Reference Point)
- Mengembalikan sumbu ke titik referensi mesin (home position).
- G40 (Cutter Compensation Cancel)
- Membatalkan kompensasi radius pahat.
- G41 (Cutter Compensation Left)
- Mengaktifkan kompensasi radius pahat di sisi kiri jalur pemotongan.
- G42 (Cutter Compensation Right)
- Mengaktifkan kompensasi radius pahat di sisi kanan jalur pemotongan.
- G90 (Absolute Programming)
- Koordinat dihitung dari titik nol absolut benda kerja.
- G91 (Incremental Programming)
- Koordinat dihitung dari posisi pahat saat ini.
- G92 (Work Coordinate System Setting)
- Mengatur sistem koordinat kerja.
- G94 (Feed Per Minute - FPM)
- Mengatur kecepatan pemakanan dalam satuan mm/menit atau inci/menit.
- G95 (Feed Per Revolution - FPR)
- Mengatur kecepatan pemakanan dalam satuan mm/putaran atau inci/putaran (umum untuk lathe).
- G96 (Constant Surface Speed - CSS)
- Mengatur kecepatan permukaan konstan (umum untuk lathe).
- G97 (Constant RPM)
- Mengatur putaran spindel konstan.
4. M-Code (Miscellaneous Code)
M-Code adalah instruksi untuk fungsi-fungsi lain yang mengontrol operasi mesin yang tidak terkait langsung dengan gerakan pahat. Seperti G-Code, M-Code juga bersifat modal. Beberapa contoh M-Code umum pada CNC Lathe:
- M00 (Program Stop): Menghentikan program sementara. Operator harus menekan tombol "Cycle Start" untuk melanjutkan.
- M01 (Optional Program Stop): Menghentikan program jika fitur "Optional Stop" diaktifkan pada panel kontrol mesin.
- M02 (End of Program): Mengakhiri program. Reset sistem kontrol.
- M03 (Spindle On Clockwise - CW): Menghidupkan spindel searah jarum jam.
- M04 (Spindle On Counter-Clockwise - CCW): Menghidupkan spindel berlawanan arah jarum jam.
- M05 (Spindle Stop): Menghentikan putaran spindel.
- M06 (Tool Change): Mengganti pahat (seringkali otomatis pada mesin dengan ATC - Automatic Tool Changer).
- M08 (Coolant On): Menyalakan pendingin.
- M09 (Coolant Off): Mematikan pendingin.
- M30 (End of Program with Reset): Mengakhiri program dan mereset sistem kontrol ke awal program. (Mirip M02, namun M30 lebih umum digunakan untuk mengakhiri program utama).
- M98 (Subprogram Call): Memanggil subprogram.
- M99 (Subprogram End/Return): Mengakhiri subprogram dan kembali ke program utama.
5. F-Code (Feed Rate)
F-Code adalah instruksi yang menentukan kecepatan pemakanan (Feed Rate). Ini adalah kecepatan di mana pahat bergerak memotong material. Unit F-Code tergantung pada G-Code yang aktif (G94 untuk mm/menit atau G95 untuk mm/putaran pada lathe). Contoh: F100 (Kecepatan pemakanan 100 mm/menit jika G94 aktif, atau 100 mm/putaran jika G95 aktif).
6. S-Code (Spindle Speed)
S-Code adalah instruksi yang menentukan kecepatan putaran spindel (Spindle Speed). Kecepatan spindel diukur dalam putaran per menit (RPM). Contoh: S1500 (Spindel berputar pada 1500 RPM).
7. Struktur Umum Blok Program pada CNC Lathe
Sebuah blok program umumnya mengikuti urutan ini, meskipun tidak semua elemen harus ada di setiap blok:
N[Nomor Urut] G[Kode Gerakan] X[Posisi X] Z[Posisi Z] F[Kecepatan Pemakanan] S[Kecepatan Spindel] T[Nomor Pahat] M[Kode Lain-lain]
Contoh Program CNC Lathe Sederhana:
Mari kita buat contoh program sederhana untuk membubut diameter luar:
O0001 (PROGRAM
BUBUT SEDERHANA) ; Nama Program
N10 G21 G99 ;
Metrik (G21), Feed per revolution (G99) - catatan: beberapa mesin menggunakan
G95
N20 G28 U0 W0 ;
Kembali ke home position
N30 T0101 ;
Pilih pahat nomor 1, offset nomor 1
N40 M06 ; Ganti
pahat (jika ada ATC)
N50 G50 S2500 ;
Batas kecepatan spindel maksimum 2500 RPM (Safety)
N60 G96 S200
M03 ; Aktifkan CSS (Constant Surface Speed) 200 m/menit, Spindel ON CW
N70 G00 X52.0
Z2.0 ; Gerak cepat pahat ke posisi awal (diameter 52mm, Z 2mm dari muka)
N80 G01 X-1.0
Z0.0 F0.1 ; Pemakanan muka (facing) sampai X-1.0 (sedikit melewati center),
Z0.0, F 0.1mm/rev
N90 G00 Z1.0 ;
Mundur ke Z1.0
N100 G00 X40.0
; Gerak cepat ke diameter 40mm
N110 G01 Z-50.0
F0.2 ; Pembubutan luar sampai Z-50.0 dengan F 0.2mm/rev
N120 G00 X52.0
Z2.0 ; Gerak cepat pahat kembali ke posisi aman
N130 M05 ;
Spindel OFF
N140 M09 ;
Coolant OFF
N150 G28 U0 W0
; Kembali ke home position
N160 M30 ;
Akhir program dan reset
B. G-CODE DASAR
Tentu, mari kita jelaskan lebih detail tentang G-Code dasar yang sering digunakan pada CNC Lathe (mesin bubut CNC). G-Code adalah "bahasa" utama yang digunakan untuk menginstruksikan mesin CNC tentang bagaimana dan ke mana harus bergerak. G-Code dikenal juga sebagai fungsi persiapan (preparatory functions) karena mereka mempersiapkan mesin untuk melakukan tindakan tertentu.
1. G-Code Gerakan Dasar
Ini adalah G-Code yang paling fundamental untuk mengontrol pergerakan pahat pada mesin bubut.
G00 (Rapid Traverse)
- Fungsi: Menggerakkan pahat dari satu titik ke titik lain dengan kecepatan maksimum mesin. Gerakan ini tidak untuk pemakanan (cutting) dan umumnya digunakan untuk positioning (memposisikan pahat) agar cepat sampai ke area kerja atau menjauh dari benda kerja.
- Karakteristik: Mesin akan menentukan jalur tercepat untuk mencapai koordinat yang dituju, yang mungkin tidak selalu berupa garis lurus jika melibatkan lebih dari satu sumbu. Kecepatan ini tidak dapat diatur oleh programer.
- Contoh: G100 X50.0 Z2.0 (Pahat bergerak cepat ke posisi X=50.0, Z=2.0)
G01 (Linear Interpolation)
- Fungsi: Menggerakkan pahat dalam jalur garis lurus dari titik awal ke titik akhir yang ditentukan, dengan kecepatan pemakanan (feed rate) yang terkontrol. G-Code ini digunakan untuk pemakanan (cutting).
- Karakteristik: Kecepatan pemakanan ditentukan oleh F-Code. Pahat akan bergerak lurus sempurna menuju koordinat yang ditentukan.
- Contoh: G01 X40.0 Z-10.0 F0.15 (Pahat bergerak lurus ke X=40.0, Z=-10.0 dengan kecepatan pemakanan 0.15 mm/putaran atau mm/menit, tergantung setting G95/G94).
- Fungsi: Menggerakkan pahat dalam jalur melingkar searah jarum jam dari titik awal ke titik akhir yang ditentukan, dengan kecepatan pemakanan terkontrol. Digunakan untuk membuat radius atau fillet.
- Karakteristik: Membutuhkan koordinat titik akhir (X, Z) dan informasi tentang busur lingkaran. Informasi busur dapat diberikan dengan:
- Radius (R): G02 X... Z... R... F... (R adalah nilai radius busur)
- Pusat Busur (I, K): G02 X... Z... I... K... F... (I adalah jarak relatif dari titik awal ke pusat busur pada sumbu X, dan K adalah jarak relatif pada sumbu Z).
- Contoh (menggunakan R): G02 X30.0 Z-25.0 R5.0 F0.1 (Membuat radius 5mm searah jarum jam menuju X30.0, Z-25.0).
- Contoh (menggunakan I, K): G02 X30.0 Z-25.0 I0 K-5.0 F0.1 (Jika titik awal di X40.0 Z-20.0, maka I0 K-5.0 berarti pusat busur ada di X40.0 Z-25.0).
G03 (Circular Interpolation Counter-Clockwise - CCW)
- Fungsi: Sama seperti G02, tetapi menggerakkan pahat dalam jalur melingkar berlawanan arah jarum jam.
- Karakteristik: Membutuhkan format yang sama dengan G02 (koordinat titik akhir dan R atau I, K).
- Contoh (menggunakan R): G03 X30.0 Z-25.0 R5.0 F0.1 (Membuat radius 5mm berlawanan arah jarum jam menuju X30.0, Z-25.0).
G-Code ini menentukan bagaimana koordinat dipahami oleh mesin.
G90 (Absolute Programming)
- Fungsi: Semua nilai koordinat (X, Z) dalam program merujuk pada titik nol absolut (datum) benda kerja. Titik nol ini biasanya ditentukan di awal program (misalnya, pusat muka benda kerja).
- Karakteristik: Ini adalah mode pemrograman yang paling umum dan sering dianggap lebih aman karena setiap titik memiliki alamat yang tetap.
- Contoh: Jika titik nol di muka benda kerja, maka G90 X20.0 Z-15.0 akan selalu memindahkan pahat ke diameter 20mm dan 15mm dari muka benda kerja, terlepas dari posisi pahat sebelumnya.
G91 (Incremental Programming)
- Fungsi: Semua nilai koordinat (X, Z) dalam program merujuk pada posisi pahat saat ini. Artinya, nilai yang diberikan adalah perpindahan dari posisi terakhir.
- Karakteristik: Kurang umum digunakan untuk pemrograman kontur utama, tetapi bisa sangat berguna untuk siklus berulang atau pemindahan pahat tertentu.
- Contoh: Jika pahat berada di X50.0 Z-10.0, dan Anda menulis G91 X-5.0 Z-2.0, pahat akan bergerak 5mm ke arah X negatif (ke diameter lebih kecil) dan 2mm ke arah Z negatif. Posisi akhir akan menjadi X45.0 Z-12.0.
Canned cycles adalah instruksi tunggal yang dapat menjalankan serangkaian operasi pemakanan yang kompleks secara otomatis, seperti pembubutan kasar, finishing, atau pembuatan ulir. Ini sangat menghemat waktu pemrograman.
G70 (Finishing Cycle)
- Fungsi: Digunakan untuk melakukan operasi finishing setelah operasi roughing (kasar) yang dilakukan dengan G71, G72, atau G73. G70 akan mengikuti profil akhir yang sudah didefinisikan dalam blok-blok program yang ditentukan.
- Format:
G70 P[start_block_num] Q[end_block_num]
- Penjelasan:
- P[start_block_num]: Nomor blok awal dari profil finishing.
- Q[end_block_num]: Nomor blok akhir dari profil finishing.
- Contoh: Jika profil finishing Anda ada dari blok N100 sampai N150, maka Anda akan menulis G70 P100 Q150.
G71 (Stock Removal in Turning - Outer Diameter/Inner Diameter Roughing)
- Fungsi: Siklus pembubutan kasar untuk menghilangkan material secara bertahap pada diameter luar atau dalam. Pahat akan bergerak secara aksial (sumbu Z) dengan pemotongan radial (sumbu X).
- Format:
G71 U[depth_of_cut_X] R[retract_amount]
(Baris 1)G71 P[start_block_num] Q[end_block_num] U[finish_allowance_X] W[finish_allowance_Z] F[feed_rate]
(Baris 2)Penjelasan:
U[depth_of_cut_X]
: Kedalaman pemotongan untuk setiap pass pada sumbu X (radius).R[retract_amount]
: Jarak pahat mundur setelah setiap pass.P[start_block_num]
: Nomor blok awal dari profil yang akan diroughing.Q[end_block_num]
: Nomor blok akhir dari profil yang akan diroughing.U[finish_allowance_X]
: Sisa material yang akan ditinggalkan untuk finishing pada sumbu X (diameter).W[finish_allowance_Z]
: Sisa material yang akan ditinggalkan untuk finishing pada sumbu Z.F[feed_rate]
: Kecepatan pemakanan untuk operasi roughing.
G72 (Stock Removal in Facing - Face Roughing)
- Fungsi: Siklus pembubutan kasar untuk menghilangkan material dari muka benda kerja (facing). Pahat akan bergerak secara radial (sumbu X) dengan pemotongan aksial (sumbu Z).
- Format:
G72 W[depth_of_cut_Z] R[retract_amount]
(Baris 1)G72 P[start_block_num] Q[end_block_num] U[finish_allowance_X] W[finish_allowance_Z] F[feed_rate]
(Baris 2)- Penjelasan: Mirip dengan G71, tetapi arah pemotongan utama pada sumbu Z.
G73 (Pattern Repeating Cycle)
- Fungsi: Siklus ini digunakan untuk pemakanan kasar pada benda kerja yang memiliki bentuk profil yang tidak beraturan atau sudah dicor/ditempa mendekati bentuk akhir. Pahat akan mengikuti bentuk profil yang didefinisikan, dan memakan material dengan kedalaman potong yang seragam.
- Format:
G73 U[radial_offset] W[axial_offset] R[number_of_passes]
(Baris 1)G73 P[start_block_num] Q[end_block_num] U[finish_allowance_X] W[finish_allowance_Z] F[feed_rate]
(Baris 2)- Penjelasan: Pahat akan mengulang gerakan profil yang ditentukan sejumlah
R
kali, dengan offsetU
danW
dari profil asli.
G74 (Deep Hole Drilling Cycle/End Face Peck Drilling)
- Fungsi: Digunakan untuk pengeboran lubang dalam atau peck drilling (pengeboran dengan penarikan pahat berkala untuk membuang tatal) pada sumbu Z (pada muka benda kerja).
- Format:
G74 R[retract_amount]
(Baris 1) G74 X[X_pos] Z[Z_depth] P[peck_amount] Q[shift_amount] F[feed_rate]
(Baris 2)- Catatan: Beberapa kontrol mungkin menggunakan X untuk diameter akhir lubang atau lokasi.
Penjelasan:
R[retract_amount]
: Jarak pahat mundur sebelum peck berikutnya (untuk membuang tatal).X[X_pos]
: Posisi diameter lubang (untuk bor di luar pusat).Z[Z_depth]
: Kedalaman pengeboran total.P[peck_amount]
: Kedalaman setiap peck (per satu kali masuk).Q[shift_amount]
: Jarak perpindahan jika melakukan chip break (untuk beberapa kontrol).F[feed_rate]
: Kecepatan pemakanan.
G75 (Grooving Cycle in X-axis/Outer Diameter/Inner Diameter Grooving)
- Fungsi: Digunakan untuk membuat alur (groove) pada diameter luar atau dalam benda kerja (gerakan pada sumbu X).
- Format:
G75 R[retract_amount]
(Baris 1) G75 X[final_X] Z[final_Z] P[depth_of_cut_X] Q[shift_amount_Z] F[feed_rate]
(Baris 2)Penjelasan:
R[retract_amount]
: Jarak pahat mundur di antara setiap pemotongan.X[final_X]
: Posisi diameter akhir alur.Z[final_Z]
: Posisi aksial akhir alur.P[depth_of_cut_X]
: Kedalaman pemotongan per pass pada sumbu X (radius).Q[shift_amount_Z]
: Jarak perpindahan pahat secara aksial untuk alur yang lebih lebar.F[feed_rate]
: Kecepatan pemakanan.
G76 (Multiple Thread Cutting Cycle)
Fungsi: Digunakan untuk membuat ulir (threading) pada diameter luar atau dalam. Ini adalah siklus yang kompleks yang menghitung banyak pass pemotongan untuk membentuk ulir.
Format:
G76 P[m r a] Q[min_cut_depth] R[chamfer_amount]
(Baris 1 - Penjelasan khusus)G76 X[minor_dia] Z[end_Z] P[thread_height] Q[first_cut_depth] F[lead]
(Baris 2)Penjelasan (sederhana):
P[m r a]
:
m
: Jumlah pass finishing.r
: Jarak retract untuk chamfer (derajat sudut ulir).a
: Sudut ulir (misalnya, 6000 untuk 60 derajat).Q[min_cut_depth]
: Kedalaman potong minimum yang diizinkan (mikron).R[chamfer_amount]
: Panjang chamfer pada akhir ulir.X[minor_dia]
: Diameter minor (diameter dasar) ulir.Z[end_Z]
: Posisi akhir ulir pada sumbu Z.P[thread_height]
: Tinggi ulir (radius).Q[first_cut_depth]
: Kedalaman potong pertama (radius) (mikron).F[lead]
: Pitch ulir (jarak antar puncak ulir).
4. G-Code Lainnya
G20 (Inch Input)
- Fungsi: Mengatur unit pemrograman menjadi inci.
- Contoh:
G20
G21 (Metric Input)
- Fungsi: Mengatur unit pemrograman menjadi milimeter (mm). Ini adalah yang paling umum di Indonesia.
- Contoh:
G21
G28 (Return to Reference Point)
- Fungsi: Mengembalikan semua sumbu ke titik referensi mesin (home position). Ini adalah titik yang telah ditentukan oleh pabrikan mesin sebagai posisi aman.
- Contoh:
G28 U0 W0
(U dan W adalah perintah untuk mengembalikan sumbu X dan Z secara inkremental ke titik nol mesin). G50 (Spindle Speed Clamp/Max Spindle Speed Setting)
- Fungsi: Menetapkan batas putaran spindel maksimum (RPM) saat menggunakan G96 (Constant Surface Speed). Ini penting untuk keamanan agar spindel tidak berputar terlalu cepat pada diameter kecil.
- Contoh:
G50 S2500
(Spindel tidak akan berputar lebih dari 2500 RPM). G96 (Constant Surface Speed - CSS)
- Fungsi: Mengontrol kecepatan permukaan potong (cutting speed) agar tetap konstan, terlepas dari diameter benda kerja. Semakin kecil diameter, semakin tinggi RPM spindel untuk menjaga kecepatan permukaan tetap. Ini penting untuk kualitas permukaan dan umur pahat.
- Unit: Meter per menit (m/min) atau kaki per menit (feet/min).
- Contoh:
G96 S200 M03
(Mengaktifkan CSS 200 m/min, dan spindel berputar searah jarum jam). G97 (Constant Spindle Speed)
- Fungsi: Membatalkan G96 dan mengontrol spindel pada putaran per menit (RPM) yang konstan, tidak peduli diameternya.
- Contoh:
G97 S1000 M03
(Spindel berputar 1000 RPM secara konstan). G98 (Feed Per Minute)
- Fungsi: Mengatur kecepatan pemakanan dalam satuan mm/menit atau inci/menit.
- Contoh:
G98 G01 X20.0 F100
(Pahat bergerak dengan 100 mm/menit). G99 (Feed Per Revolution)
- Fungsi: Mengatur kecepatan pemakanan dalam satuan mm/putaran atau inci/putaran. Ini adalah mode yang sangat umum dan disukai untuk mesin bubut karena kecepatan pemakanan berhubungan langsung dengan putaran benda kerja, menghasilkan kualitas permukaan yang lebih konsisten.
- Contoh:
G99 G01 X20.0 F0.1
(Pahat bergerak 0.1 mm setiap putaran benda kerja).
C. M-CODE
M-Code, atau Miscellaneous Code, adalah instruksi yang mengontrol fungsi-fungsi mesin non-geometris, seperti menghidupkan/mematikan spindel, mengontrol pendingin, atau menghentikan program. Tidak seperti G-Code yang seringkali "modal" (tetap aktif sampai diganti), beberapa M-Code hanya berlaku sesaat setelah diaktifkan.
1. M-Code Dasar
Berikut adalah M-Code yang paling sering Anda temui dan gunakan dalam pemrograman mesin bubut CNC:
M00 (Program Stop)
- Fungsi: Menghentikan eksekusi program secara total. Spindel akan berhenti berputar, dan semua gerakan pahat akan berhenti. Program tidak akan melanjutkan secara otomatis; operator harus menekan tombol "Cycle Start" (atau sejenisnya) pada panel kontrol mesin untuk melanjutkan program dari baris berikutnya.
- Karakteristik: Digunakan untuk inspeksi benda kerja, pengukuran, pembuangan tatal (chip removal) manual, atau intervensi operator lainnya yang memerlukan penghentian sementara yang pasti.
- Contoh:
G00 X100.0 Z100.0 ; Pahat bergerak ke posisi aman
M00 ; Program berhenti di sini
(OPERATOR MEMERIKSA BENDA KERJA)
G01 X50.0 Z-20.0 F0.1 ; Program melanjutkan setelah Cycle Start ditekan
M01 (Optional Program Stop)
- Fungsi: Mirip dengan M00, tetapi bersifat "opsional." Program akan berhenti hanya jika fungsi "Optional Stop" pada panel kontrol mesin diaktifkan oleh operator. Jika "Optional Stop" tidak aktif, mesin akan mengabaikan M01 dan melanjutkan program.
- Karakteristik: Berguna untuk pengujian program, atau untuk operasi di mana penghentian mungkin diperlukan tetapi tidak mutlak pada setiap benda kerja.
- Contoh:
G00 X100.0 Z100.0
M01 ; Akan berhenti hanya jika Optional Stop diaktifkan
M03 (Spindle ON Clockwise - CW)
- Fungsi: Menghidupkan spindel (chuck yang memegang benda kerja) untuk berputar searah jarum jam. Arah ini adalah arah putaran standar untuk sebagian besar operasi pembubutan luar, di mana pahat diposisikan di depan benda kerja.
- Karakteristik: Hampir selalu diikuti oleh S-Code (Spindle Speed) untuk menentukan kecepatan putaran.
- Contoh:
S1500 M03
(Spindel berputar 1500 RPM searah jarum jam)
M04 (Spindle ON Counter-Clockwise - CCW)
- Fungsi: Menghidupkan spindel untuk berputar berlawanan arah jarum jam. Ini sering digunakan untuk operasi pembubutan internal (boring), atau jika pahat diposisikan di belakang benda kerja (back turning).
- Karakteristik: Seperti M03, sering diikuti oleh S-Code.
- Contoh:
S1000 M04
(Spindel berputar 1000 RPM berlawanan arah jarum jam)
M05 (Spindle Stop)
- Fungsi: Menghentikan putaran spindel.
- Karakteristik: Sangat penting untuk keselamatan sebelum melakukan penggantian pahat, pengukuran, atau akhir program.
- Contoh:
M05
M06 (Tool Change)
- Fungsi: Menginisiasi pergantian pahat. Pada mesin bubut dengan Automatic Tool Changer (ATC), M06 akan memicu proses penggantian pahat secara otomatis dari turret.
- Karakteristik: Biasanya didahului oleh T-Code (Tool Number) untuk memilih pahat yang diinginkan. Mesin akan bergerak ke posisi aman sebelum melakukan penggantian pahat.
- Contoh:
G00 X150.0 Z150.0 ; Pahat ke posisi aman
T0202 ; Pilih pahat nomor 2, offset 2
M06 ; Ganti pahat
M08 (Coolant ON)
- Fungsi: Menyalakan aliran pendingin (coolant) untuk mendinginkan pahat dan benda kerja, serta membantu membuang tatal.
- Karakteristik: Biasanya dinyalakan sebelum operasi pemakanan dan dimatikan setelahnya.
- Contoh:
M08
M09 (Coolant OFF)
- Fungsi: Mematikan aliran pendingin.
- Contoh:
M09
M30 (Program End and Reset)
- Fungsi: Mengakhiri program secara total dan mereset sistem kontrol kembali ke awal program. Ini berarti semua G-Code modal akan direset ke default, dan program siap untuk dieksekusi kembali dari awal.
- Karakteristik: Ini adalah M-Code standar yang digunakan di akhir program utama. Seringkali juga memicu M05 (Spindle Stop) dan M09 (Coolant Off) secara internal tergantung pada pengaturan mesin.
- Contoh:
M30
M98 (Subprogram Call)
- Fungsi: Memanggil subprogram (subroutine) dari program utama. Subprogram adalah bagian program yang sering diulang dan disimpan sebagai file terpisah. Ini membantu dalam modularitas dan menghindari pengulangan kode.
- Format:
M98 P[program_number]
- Contoh:
M98 P0002
(Memanggil subprogram dengan nomor O0002)
M99 (Subprogram End / Return)
- Fungsi: Mengakhiri subprogram dan mengembalikan kontrol program ke baris berikutnya di program utama setelah panggilan M98. Jika M99 digunakan dalam program utama, itu akan membuat program utama berulang dari awal (loop).
- Contoh: (Di akhir subprogram)
M99
M02 (End of Program)
Fungsi: Mengakhiri program tanpa mereset sistem kontrol ke awal. Mesin akan berhenti, tetapi kursor program tidak akan kembali ke awal program. M30 lebih umum digunakan karena fungsinya yang mereset sistem, sehingga program siap dijalankan kembali.
O0005 (CONTOH PROGRAM M-CODE)
N10 G21 G99 ; Metrik, Feed per Revolution
N20 G28 U0 W0 ; Kembali ke Home
N30 T0101 ; Pilih Pahat 1
N40 M06 ; Ganti Pahat
N50 G50 S2000 ; Batas Spindel Max 2000 RPM
N60 G96 S180 M03 ; CSS 180 m/min, Spindel ON CW
N70 M08 ; Coolant ON
N80 G00 X52.0 Z2.0
N90 G01 X48.0 Z-5.0 F0.15
N100 G00 X100.0 Z10.0 ; Pahat ke posisi aman
N110 M00 ; Program Stop untuk inspeksi
N120 G00 X40.0 Z2.0 ; Lanjutkan setelah inspeksi
N130 G01 Z-20.0 F0.2
N140 G00 X100.0 Z10.0 ; Pahat ke posisi aman
N150 M05 ; Spindel OFF
N160 M09 ; Coolant OFF
N170 G28 U0 W0 ; Kembali ke Home
N180 M30 ; Akhir Program dan Reset
M-Code adalah elemen krusial dalam program CNC karena mereka mengendalikan fungsi-fungsi vital mesin yang melengkapi gerakan pahat. Pemahaman yang baik tentang M-Code memastikan operasi mesin yang aman, efisien, dan otomatis.
D. FUNGSI TAMBAHAN
E. PEMBUATAN PROGRAM UNTUK OPERASI DASAR
Contoh Program untuk Operasi Dasar
Untuk setiap contoh, kita akan asumsikan:
Unit: Metrik (
G21
)Laju Pemakanan: Per putaran (
G99
)Diameter Awal Benda Kerja: Ø50textmm
Panjang Benda Kerja: 100textmm
Titik Nol: Muka benda kerja (Z0.0), Pusat (X0.0)
O0001 (PROGRAM UTAMA - TEMPLATE)
N10 G21 G99 ; Unit Metrik, Feed per Revolution
N20 G28 U0 W0 ; Kembali ke Home (X dan Z)
N30 T0101 ; Pilih Pahat Pembubut Luar (OD Turning Tool)
N40 M06 ; Ganti Pahat (jika ada ATC)
N50 G50 S2500 ; Batas Kecepatan Spindel Maks 2500 RPM
N60 G96 S200 M03 ; Constant Surface Speed 200 m/min, Spindel ON CW
N70 M08 ; Coolant ON
; --- OPERASI AKAN DITEMPATKAN DI SINI ---
NXXX G00 X100.0 Z10.0 ; Pahat ke posisi aman setelah selesai
NXXX M05 ; Spindel OFF
NXXX M09 ; Coolant OFF
NXXX G28 U0 W0 ; Kembali ke Home
NXXX M30 ; Akhir Program dan Reset
1. Facing (Pembubutan Muka/Perataan Muka)
Tujuan: Meratakan atau memendekkan panjang benda kerja dengan memotong material dari mukanya.
Langkah Umum:
Posisikan pahat sedikit di atas diameter awal benda kerja dan di depan muka (
Z
positif).Gerakkan pahat ke arah Z0.0 atau sedikit melewati
$Z0.0$
(misalnya ) sambil bergerak perlahan menuju pusat (X0.0
atau ).
Kode Program:
; Lanjutan dari Template
N80 G00 X52.0 Z2.0 ; Pahat ke diameter sedikit di atas benda kerja, 2mm dari muka
N90 G01 X-1.0 Z0.0 F0.1 ; Pemotongan muka: Potong dari X52.0 ke X-1.0 (melewati center) pada Z0.0 dengan feed 0.1 mm/rev
; Jika ingin beberapa pass untuk facing yang lebih dalam:
; N100 G00 Z2.0 ; Mundur Z
; N110 G00 X52.0 ; Mundur X ke diameter semula
; N120 G01 X-1.0 Z-0.5 F0.1 ; Potong muka ke Z-0.5
2. Turning (Pembubutan Diameter Luar/Dalam)
Tujuan: Mengurangi diameter luar atau memperbesar diameter dalam benda kerja.
Langkah Umum:
Posisikan pahat di depan diameter yang akan dibubut, sedikit di depan muka.
Gerakkan pahat secara aksial (
Z
) untuk memanjang, mempertahankan diameter yang diinginkan.Lakukan beberapa pass pemotongan untuk mencapai diameter akhir.
Kode Program (Outer Diameter Turning):
; Lanjutan dari Template, setelah Facing
N100 G00 X48.0 Z2.0 ; Pahat ke diameter 48mm, 2mm dari muka (misal diameter target 40mm)
N110 G01 Z-40.0 F0.2 ; Potong diameter 48mm sampai Z-40.0
N120 G00 X50.0 Z2.0 ; Mundur pahat ke diameter asli dan Z aman
N130 G00 X40.0 Z2.0 ; Pahat ke diameter 40mm, 2mm dari muka
N140 G01 Z-50.0 F0.15 ; Potong diameter 40mm sampai Z-50.0 (ini pass finishing)
3. Taper Turning (Pembubutan Tirus)
Tujuan: Membuat bentuk kerucut atau tirus pada benda kerja.
Langkah Umum:
Posisikan pahat di titik awal tirus.
Gerakkan pahat secara simultan pada sumbu X dan Z untuk menciptakan kemiringan yang diinginkan.
Kode Program:
; Lanjutan dari Template, setelah OD Turning
; Asumsi: Membuat tirus dari diameter 40mm ke 30mm sepanjang Z-30mm, dimulai dari Z-20mm
N150 G00 X40.0 Z-20.0 ; Pahat ke titik awal tirus (diameter 40mm, Z-20mm)
N160 G01 X30.0 Z-50.0 F0.1 ; Buat tirus ke X30.0 (diameter 30mm) pada Z-50.0
Penjelasan: Dari titik X40.0 Z-20.0
, pahat bergerak bersamaan ke X30.0 Z-50.0
, membentuk tirus.
4. Grooving (Pembuatan Alur)
Tujuan: Membuat alur atau parit pada diameter luar atau muka benda kerja. Membutuhkan pahat alur khusus.
Langkah Umum:
Posisikan pahat alur di atas diameter dan lokasi Z alur.
Potong ke kedalaman yang diinginkan pada sumbu X (untuk alur OD) atau Z (untuk alur muka).
Jika alur lebar, geser pahat secara lateral (
Z
atauX
) dan ulangi pemotongan.
Kode Program (Outer Diameter Grooving):
; Lanjutan dari Template
; Asumsi: Membuat alur lebar 5mm, kedalaman 3mm (jadi diameter akhir 44mm) di Z-60mm
; Perlu pahat grooving (misal T0202)
N170 T0202 ; Pilih pahat grooving
N180 M06 ; Ganti Pahat
N190 G50 S1500 ; Batas RPM untuk grooving
N200 G97 S800 M03 ; Spindel speed konstan 800 RPM (atau gunakan G96 jika diizinkan)
N210 G00 X52.0 Z-60.0 ; Pahat ke posisi awal alur (52mm, di muka alur Z-60mm)
N220 G01 X44.0 F0.05 ; Potong lurus ke bawah sampai diameter 44mm
N230 G00 X52.0 ; Mundur pahat dari alur
N240 G00 Z-55.0 ; Geser pahat 5mm ke Z positif untuk membersihkan lebar alur
N250 G01 X44.0 F0.05 ; Potong lagi ke bawah
N260 G00 X52.0 ; Mundur pahat
; Atau gunakan G75 Canned Cycle jika tersedia dan ingin lebih efisien.
Catatan: G75
(Grooving Cycle) adalah pilihan yang lebih efisien untuk alur, yang secara otomatis menangani pecking dan pembersihan lebar alur.
5. Threading (Pembuatan Ulir)
Tujuan: Membuat ulir pada diameter luar atau dalam benda kerja. Membutuhkan pahat ulir khusus.
Langkah Umum:
Posisikan pahat ulir di awal ulir, di diameter yang tepat.
Gunakan siklus ulir (
G76
) yang secara otomatis menghitung dan melakukan beberapa pass pemotongan, setiap pass lebih dalam dari yang sebelumnya.
Kode Program (Outer Diameter Threading):
; Lanjutan dari Template
; Asumsi: Membuat ulir M30x2.0 (diameter mayor 30mm, pitch 2.0mm)
; Diameter minor ulir = Mayor Dia - (1.0825 * Pitch) = 30 - (1.0825 * 2) = 27.835mm
; Perlu pahat threading (misal T0303)
N270 T0303 ; Pilih pahat threading
N280 M06 ; Ganti Pahat
N290 G97 S500 M03 ; Spindel speed konstan 500 RPM (Penting untuk threading)
N300 G00 X32.0 Z2.0 ; Pahat ke posisi awal ulir, di atas diameter mayor
N310 G76 P010060 Q100 R0.02 ; (Baris 1 G76)
; P: 01 (finishing pass), 00 (chamfer amount), 60 (thread angle 60 derajat)
; Q100: Minimum cutting depth 0.1mm (dalam mikron)
; R0.02: Finishing allowance 0.02mm
N320 G76 X27.835 Z-25.0 P1082 Q500 F2.0 ; (Baris 2 G76)
; X27.835: Diameter minor ulir
; Z-25.0: Kedalaman ulir
; P1082: Tinggi ulir (radius) 1.082mm (dalam mikron)
; Q500: First cutting depth 0.5mm (dalam mikron)
; F2.0: Pitch ulir 2.0mm
Penjelasan G76: Siklus G76 sangat kompleks dan memiliki banyak parameter. P
pada baris pertama menentukan jumlah finishing pass, panjang chamfer, dan sudut ulir. Q
adalah kedalaman potong minimum. R
adalah kelebihan material untuk finishing pass. Baris kedua G76 menentukan koordinat akhir ulir, tinggi ulir, kedalaman potong pertama, dan pitch ulir.
PENILAIAN
1. RANAH PENGETAHUAN
2. RANAH KETERAMPILAN
-= TERIMA KASIH =-
Posting Komentar untuk "MEMBUAT PROGRAM CNC LATHE"