Lompat ke konten Lompat ke sidebar Lompat ke footer

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).

G02 (Circular Interpolation Clockwise - CW)
  • 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).


2. G-Code Sistem Koordinat

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.


3. G-Code Siklus Tetap (Canned Cycles) - G70 hingga G76

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 offset U dan W 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
2. M-Code Lainnya

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.

3. Contoh Penggunaan M-Code dalam Blok Program

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

Pada mesin bubut CNC, selain gerakan pahat (G-code) dan fungsi mesin (M-code), ada beberapa fungsi tambahan yang sangat krusial untuk keberhasilan proses pemesinan. Fungsi-fungsi ini adalah Kecepatan Spindel (Spindle Speed), Laju Pemakanan (Feed Rate), dan Cairan Pendingin (Coolant). Pengaturan yang tepat pada ketiga parameter ini sangat mempengaruhi kualitas permukaan, umur pahat, akurasi dimensi, dan efisiensi produksi.

1. Kecepatan Spindel (Spindle Speed)

Fungsi: Kecepatan spindel mengacu pada kecepatan putar benda kerja yang dipegang oleh chuck pada mesin bubut. Ini diukur dalam Revolutions Per Minute (RPM). Kecepatan spindel secara langsung mempengaruhi kecepatan potong (cutting speed), yaitu kecepatan relatif antara tepi pahat dan permukaan benda kerja yang dipotong.

Pentingnya:

  • Kualitas Permukaan: Kecepatan spindel yang tepat dapat menghasilkan permukaan benda kerja yang halus dan sesuai spesifikasi. Spindel yang terlalu lambat bisa menyebabkan permukaan kasar, sedangkan terlalu cepat bisa menyebabkan getaran dan panas berlebih.
  • Umur Pahat: Kecepatan potong yang optimal, yang ditentukan oleh kecepatan spindel dan diameter benda kerja, sangat penting untuk memperpanjang umur pahat. Kecepatan yang terlalu tinggi dapat menyebabkan keausan pahat yang cepat dan panas berlebih, sementara terlalu rendah dapat menyebabkan tatal menempel pada pahat (built-up edge).
  • Efisiensi Pemotongan: Kecepatan spindel yang lebih tinggi memungkinkan pemotongan material lebih cepat, sehingga meningkatkan produktivitas. Namun, ini harus disesuaikan dengan material benda kerja dan pahat.
  • Pembentukan Tatal (Chip Formation): Kecepatan spindel yang benar membantu dalam pembentukan tatal yang baik, yang mudah dibuang dari area pemotongan dan mencegah penumpukan yang bisa merusak permukaan benda kerja atau pahat.

Pengendalian di CNC Lathe:

  • S-Code: Kecepatan spindel ditentukan menggunakan S-code dalam program CNC, misalnya S1500 berarti 1500 RPM.
  • G96 (Constant Surface Speed - CSS): Ini adalah mode yang sangat penting pada bubut CNC. Saat G96 aktif, mesin akan secara otomatis menyesuaikan RPM spindel agar kecepatan potong (m/menit atau SFM) tetap konstan, meskipun diameter benda kerja berubah. Ketika pahat bergerak menuju pusat benda kerja (diameter mengecil), RPM akan meningkat, dan sebaliknya. Ini memastikan kualitas permukaan yang konsisten dan umur pahat yang lebih baik. 

    Contoh: G96 S200 M03 (Mengaktifkan CSS 200 meter/menit, spindel putar CW).
  • G97 (Constant Spindle Speed): Membatalkan G96 dan menjaga RPM spindel tetap konstan, terlepas dari diameter benda kerja. Digunakan untuk operasi seperti threading (pembuatan ulir) di mana RPM yang stabil lebih diutamakan. 

    Contoh: G97 S1000 M03 (Spindel berputar 1000 RPM secara konstan).
  • G50 (Spindle Speed Clamp/Max Spindle Speed): Digunakan untuk menetapkan batas RPM maksimum ketika G96 aktif. Ini adalah fitur keamanan penting untuk mencegah spindel berputar terlalu cepat pada diameter yang sangat kecil, yang bisa berbahaya atau merusak pahat/mesin. 

    Contoh: G50 S3000 (Batas maksimum spindel adalah 3000 RPM).
2. Laju Pemakanan (Feed Rate)

Fungsi: Laju pemakanan adalah kecepatan di mana pahat bergerak memotong material. Ini adalah jarak yang ditempuh pahat selama waktu tertentu atau selama satu putaran benda kerja. Pada CNC Lathe, laju pemakanan umumnya dinyatakan dalam:

FPR (Feed Per Revolution - mm/rev atau in/rev): Ini adalah mode yang paling umum dan disukai untuk bubut. Artinya, pahat bergerak sejauh X mm (atau inci) untuk setiap putaran penuh benda kerja.

  • Diaktifkan dengan G-code G99.
  • Contoh: G01 X40.0 Z-10.0 F0.15 (Pahat bergerak 0.15 mm setiap kali benda kerja berputar satu kali).

FPM (Feed Per Minute - mm/min atau in/min): Artinya, pahat bergerak sejauh X mm (atau inci) dalam satu menit.

  • Diaktifkan dengan G-code G98.
  • Contoh: G01 X40.0 Z-10.0 F100 (Pahat bergerak 100 mm dalam satu menit).

Pentingnya:

  • Kualitas Permukaan: Laju pemakanan yang lebih rendah umumnya menghasilkan permukaan yang lebih halus. Namun, jika terlalu rendah, bisa menyebabkan efek "burnishing" (mengkilap karena gesekan berlebihan) atau memperpanjang waktu pemesinan secara tidak perlu.
  • Umur Pahat: Laju pemakanan yang terlalu tinggi dapat menyebabkan tekanan berlebih pada pahat, meningkatkan suhu, dan mempercepat keausan atau bahkan patahnya pahat. Sebaliknya, laju pemakanan yang terlalu rendah bisa menyebabkan gesekan berlebih dan built-up edge.
  • Pembentukan Tatal: Laju pemakanan yang optimal menghasilkan tatal yang mudah patah dan dibuang, bukan tatal panjang yang bisa melilit pahat atau benda kerja.
  • Waktu Pemesinan: Laju pemakanan secara langsung mempengaruhi seberapa cepat material dihilangkan dan, oleh karena itu, total waktu pemesinan. Programer harus menyeimbangkan efisiensi dengan kualitas dan umur pahat.

Pengendalian di CNC Lathe:

  • F-Code: Laju pemakanan ditentukan menggunakan F-code, misalnya F0.15 (untuk FPR) atau F100 (untuk FPM).

3. Cairan Pendingin (Coolant)

Fungsi: Cairan pendingin adalah cairan yang disemprotkan ke area pemotongan selama proses pemesinan. Ini dapat berupa emulsi air dan minyak, minyak murni, atau cairan sintetis.

Pentingnya:

  • Disipasi Panas: Ini adalah fungsi utamanya. Proses pemotongan menghasilkan panas akibat gesekan antara pahat dan benda kerja. Panas berlebih dapat merusak pahat (mengurangi kekerasannya), menyebabkan deformasi pada benda kerja, dan menghasilkan kualitas permukaan yang buruk. Coolant menyerap dan menghilangkan panas ini.
  • Pelumasan: Coolant juga menyediakan pelumasan antara pahat dan benda kerja, mengurangi gesekan, keausan pahat, dan tenaga yang dibutuhkan untuk memotong. Ini membantu menghasilkan permukaan yang lebih baik dan memperpanjang umur pahat.
  • Pembuangan Tatal (Chip Evacuation): Aliran coolant membantu membersihkan tatal (chips) dari area pemotongan. Tatal yang menumpuk dapat mengganggu proses pemotongan, menggores permukaan, atau bahkan merusak pahat.
  • Pencegahan Korosi: Beberapa jenis coolant mengandung aditif yang membantu melindungi benda kerja dan komponen mesin dari korosi atau karat.
  • Peningkatan Kualitas Permukaan: Dengan mendinginkan area potong dan melumasi, coolant berkontribusi pada penyelesaian permukaan yang lebih halus dan konsisten.

Pengendalian di CNC Lathe:

  • M08 (Coolant ON): Menyalakan aliran cairan pendingin.
  • M09 (Coolant OFF): Mematikan aliran cairan pendingin.

Contoh Umum dalam Program CNC Lathe:

N10 G21 G99 ; Metrik, Feed Per Revolution
N20 G50 S2800 ; Batas RPM Maksimum 2800
N30 T0101 ; Pahat 1
N40 M06 ; Ganti Pahat (jika ada ATC)
N50 G96 S220 M03 ; Aktifkan Constant Surface Speed 220 m/min, Spindel ON CW
N60 M08 ; Coolant ON
N70 G00 X52.0 Z2.0 ; Gerak Cepat ke Posisi Awal
N80 G01 X40.0 Z-50.0 F0.2 ; Pembubutan OD dengan Feed Rate 0.2 mm/rev
N90 G00 X55.0 Z5.0 ; Pahat ke posisi aman
N100 M05 ; Spindel OFF
N110 M09 ; Coolant OFF
N120 M30 ; Akhir Program

Dalam program di atas, S220 (pada G96), F0.2, M08, dan M09 adalah contoh langsung bagaimana fungsi-fungsi tambahan ini diatur dan digunakan dalam operasi bubut CNC untuk mencapai hasil yang diinginkan.


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:

  1. Posisikan pahat sedikit di atas diameter awal benda kerja dan di depan muka (Z positif).

  2. 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:

  1. Posisikan pahat di depan diameter yang akan dibubut, sedikit di depan muka.

  2. Gerakkan pahat secara aksial (Z) untuk memanjang, mempertahankan diameter yang diinginkan.

  3. 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:

  1. Posisikan pahat di titik awal tirus.

  2. 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:

  1. Posisikan pahat alur di atas diameter dan lokasi Z alur.

  2. Potong ke kedalaman yang diinginkan pada sumbu X (untuk alur OD) atau Z (untuk alur muka).

  3. Jika alur lebar, geser pahat secara lateral (Z atau X) 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:

  1. Posisikan pahat ulir di awal ulir, di diameter yang tepat.

  2. 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"