G03 CNC Kodu | Dairesel İnterpolasyon (CCW)

G03 Komutunu Anlamak: CNC Makinelerinde Saatin Tersi Yönünde Dairesel Enterpolasyon

Giriş

CNC (Bilgisayarlı Sayısal Kontrol) makineleri modern imalat sanayisinin vazgeçilmez bir parçası haline gelmiştir. Bu makineler, karmaşık parçaları yüksek hassasiyetle işleyebilme kabiliyetleri sayesinde otomotiv, havacılık, medikal ve daha birçok sektörde yaygın olarak kullanılmaktadır. CNC makinelerinin bu karmaşık işlemleri gerçekleştirebilmesinin arkasında, G ve M kodları olarak bilinen programlama dili yatmaktadır.

Bu makalede, CNC programlamada temel ve vazgeçilmez bir komut olan G03 - Saatin Tersi Yönünde Dairesel Enterpolasyon komutunu derinlemesine inceleyeceğiz. Yeni başlayanlardan deneyimli CNC operatörlerine kadar herkesin faydalanabileceği bu içerik, farklı kontrol üniteleri arasındaki farklılıkları da ele alacaktır.

G03 Komutu Nedir?

G03, CNC programlamada saatin tersi yönünde (counter-clockwise - CCW) dairesel hareket sağlayan bir komuttur. Bu komut, takımın belirlenen bir merkez noktası etrafında, saat yönünün tersine doğru dairesel bir yol izlemesini sağlar.

Dairesel enterpolasyon, düz kenarlar yerine eğrisel yüzeyler oluşturmak için kullanılır ve genellikle kavisli kenarlar, daireler, yaylar veya çeşitli eğriler oluşturmak için tercih edilir. G03 komutu, bu tür dairesel hareketleri programlamak için en temel araçlardan biridir.

G02 ve G03 Arasındaki Fark

CNC programlamada karşılaştığımız iki temel dairesel hareket komutu vardır:

  • G02: Saat yönünde (Clockwise - CW) dairesel enterpolasyon
  • G03: Saatin tersi yönünde (Counter-Clockwise - CCW) dairesel enterpolasyon

Bu iki komut arasındaki tek fark, takımın izlediği yolun yönüdür. G02 komutu ile takım saat yönünde hareket ederken, G03 komutu ile saat yönünün tersine hareket eder. İşlem yapılacak parçanın geometrisine bağlı olarak, uygun komut seçilmelidir.

:counterclockwise_arrows_button: Pratik İpucu: Bir dairesel hareketin yönünü belirlerken, takımın üzerinde durduğunuz pozisyondan bakarak düşünün. Eğer takım sağa doğru hareket ediyorsa G02, sola doğru hareket ediyorsa G03 kullanmanız gerekir.

Kontrol Ünitelerine Göre G03 Komut Kullanımı

CNC makineleri farklı üreticiler tarafından geliştirilen kontrol üniteleri ile donatılmıştır. Her kontrol ünitesi kendine özgü programlama yapısına sahip olsa da, temel G ve M kodları çoğunlukla benzerdir. Ancak G03 gibi temel komutların bile kontrol üniteleri arasında bazı kullanım farklılıkları bulunabilir.

Fanuc Kontrol Sisteminde G03

Fanuc, dünya genelinde en yaygın kullanılan CNC kontrol ünitelerinden biridir. Fanuc sistemlerinde G03 komutu şu şekilde kullanılır:

G03 X... Y... I... J... F...

veya

G03 X... Y... R... F...

Burada:

  • X, Y: Hedef bitiş noktası koordinatları
  • I, J: Mevcut konumdan daire merkezine olan mesafe (I X ekseninde, J Y ekseninde)
  • R: Dairenin yarıçapı (I, J yerine kullanılabilir)
  • F: Besleme hızı (mm/dak veya inç/dak)

Örnek Kod (Fanuc):

G90 G17 ; Mutlak programlama ve XY düzlemi seçimi
G0 X10 Y10 ; Hızlı hareketle başlangıç noktasına git
G03 X30 Y30 I20 J0 F100 ; CCW dairesel hareket

Siemens Kontrol Sisteminde G03

Siemens kontrol üniteleri özellikle Avrupa’da yaygın olarak kullanılmaktadır. Siemens SINUMERIK kontrol sistemlerinde G03 komutu şu şekilde kullanılır:

G03 X... Y... I... J... F...

veya

G03 X... Y... CR=... F...

Burada:

  • CR=: Yarıçap değeri (pozitif değer küçük yay, negatif değer büyük yay için)

Siemens’te ayrıca merkez noktasını doğrudan belirtmek için IC parametresi de kullanılabilir:

G03 X... Y... IC=... F...

Örnek Kod (Siemens):

G90 G17 ; Mutlak programlama ve XY düzlemi seçimi
G0 X10 Y10 ; Hızlı hareketle başlangıç noktasına git
G03 X30 Y30 CR=15 F100 ; CCW dairesel hareket, 15 birim yarıçapla

Haas Kontrol Sisteminde G03

Haas CNC makineleri Amerikan menşeili olup, Fanuc tabanlı bir kontrol sistemi kullanır. Bu nedenle G03 komutunun kullanımı Fanuc ile neredeyse aynıdır:

G03 X... Y... I... J... F...

veya

G03 X... Y... R... F...

Örnek Kod (Haas):

G90 G17 ; Mutlak programlama ve XY düzlemi seçimi
G0 X10 Y10 ; Hızlı hareketle başlangıç noktasına git
G03 X30 Y10 I10 J0 F100 ; CCW dairesel hareket, yarım daire

Heidenhain Kontrol Sisteminde G03

Heidenhain kontrol sistemleri, özellikle Avrupa’da yaygın olarak kullanılmaktadır ve diğer sistemlere göre daha farklı bir programlama mantığına sahiptir. Heidenhain sistemlerinde dairesel hareketler için genellikle CT (Circle Tangential) veya CR (Circle Radius) komutları kullanılır:

CT X... Y... F...

veya

CR X... Y... R... F...

Ancak ISO programlama modunda G03 komutu da kullanılabilir:

G03 X... Y... I... J... F...

Örnek Kod (Heidenhain):

L X+10 Y+10 FMAX ; Hızlı hareketle başlangıç noktasına git
CR X+30 Y+30 R+15 CCW F100 ; CCW dairesel hareket, 15 birim yarıçapla

Mazatrol Kontrol Sisteminde G03

Mazak makinelerinde kullanılan Mazatrol kontrol sistemi, hem EIA/ISO (G ve M kodları) programlamayı hem de kendine özgü diyalog tabanlı programlamayı destekler. EIA/ISO modunda G03 kullanımı şu şekildedir:

G03 X... Y... I... J... F...

veya

G03 X... Y... R... F...

Mazatrol’ün konversiyonel programlama modunda ise, operatör makine üzerindeki diyalog ekranını kullanarak dairesel hareketleri grafik arayüz üzerinden programlayabilir.

Örnek Kod (Mazatrol - EIA/ISO Modu):

G90 G17 ; Mutlak programlama ve XY düzlemi seçimi
G0 X10 Y10 ; Hızlı hareketle başlangıç noktasına git
G03 X30 Y30 I0 J20 F100 ; CCW dairesel hareket

Mitsubishi Kontrol Sisteminde G03

Mitsubishi kontrol sistemlerinde G03 komutu şu şekilde kullanılır:

G03 X... Y... I... J... F...

veya

G03 X... Y... R... F...

Örnek Kod (Mitsubishi):

G90 G17 ; Mutlak programlama ve XY düzlemi seçimi
G0 X10 Y10 ; Hızlı hareketle başlangıç noktasına git
G03 X30 Y10 R10 F100 ; CCW dairesel hareket, 10 birim yarıçapla

Programlama Örnekleri

Örnek 1: Tam Daire Programlama

Bir CNC frezeleme makinesinde, XY düzleminde 20 mm yarıçaplı tam bir daire oluşturmak için:

Fanuc / Haas:

G90 G17 ; Mutlak programlama ve XY düzlemi seçimi
G0 X20 Y0 ; Hızlı hareketle başlangıç noktasına git
G03 X20 Y0 I-20 J0 F100 ; Tam daire, merkez noktası X=0, Y=0

Siemens:

G90 G17 ; Mutlak programlama ve XY düzlemi seçimi
G0 X20 Y0 ; Hızlı hareketle başlangıç noktasına git
G03 X20 Y0 I=AC(0) J=AC(0) F100 ; Tam daire, merkez noktası X=0, Y=0

Örnek 2: 90 Derecelik Yay Programlama

Fanuc / Haas / Mitsubishi:

G90 G17 ; Mutlak programlama ve XY düzlemi seçimi
G0 X0 Y0 ; Hızlı hareketle başlangıç noktasına git
G03 X20 Y20 I20 J0 F100 ; 90 derecelik CCW yay

Heidenhain:

L X+0 Y+0 FMAX ; Hızlı hareketle başlangıç noktasına git
CR X+20 Y+20 R+20 CCW F100 ; 90 derecelik CCW yay

Farklı Düzlemlerde G03 Kullanımı

CNC programlamada üç temel düzlem vardır:

  • G17: XY düzlemi (varsayılan)
  • G18: ZX düzlemi
  • G19: YZ düzlemi

G03 komutu, seçilen düzleme göre farklı eksenlerde dairesel hareket oluşturur:

G17 (XY Düzlemi):

G17 ; XY düzlemi seçimi
G03 X... Y... I... J... F... ; I ve J parametreleri kullanılır

G18 (ZX Düzlemi):

G18 ; ZX düzlemi seçimi
G03 Z... X... K... I... F... ; K ve I parametreleri kullanılır

G19 (YZ Düzlemi):

G19 ; YZ düzlemi seçimi
G03 Y... Z... J... K... F... ; J ve K parametreleri kullanılır

Bu düzlem seçimleri, özellikle CNC torna ve 5 eksen işleme merkezlerinde çok önemlidir. Doğru düzlem seçimi yapılmadığında, makine beklenmedik hareketler yapabilir veya çarpışma riski oluşabilir.

Sık Yapılan Hatalar ve Çözümleri

1. Yanlış Merkez Noktası Tanımlama

Hata: I ve J değerlerinin yanlış hesaplanması veya girilmesi.

Çözüm: I ve J değerleri, mevcut konumdan daire merkezine olan mesafeyi ifade eder, mutlak koordinatları değil. Bu değerleri hesaplarken başlangıç noktasını referans almayı unutmayın.

2. Yarıçap (R) ve Merkez Noktası (I, J) Karışıklığı

Hata: Aynı komutta hem R hem de I, J parametrelerinin kullanılması.

Çözüm: Bir G03 komutunda ya R parametresini ya da I, J parametrelerini kullanın, ikisini birlikte kullanmayın.

3. Düzlem Seçimi Hataları

Hata: Yanlış düzlem seçimi yapılması veya düzlem seçiminin unutulması.

Çözüm: Programınızın başında uygun düzlem kodunu (G17, G18 veya G19) belirtin ve düzlem değiştirdiğinizde bunu mutlaka belirtin.

4. Tam Daire Programlama Sorunları

Hata: Tam daire programlarken başlangıç ve bitiş noktalarının aynı olması gerektiğinin unutulması.

Çözüm: Tam daire programlarken, bitiş noktası koordinatlarını başlangıç noktası ile aynı olarak girin.

İleri Seviye Uygulamalar

Helisel Enterpolasyon

G03 komutu ile birlikte Z ekseninde de hareket tanımlayarak, helisel (sarmal) enterpolasyon yapabilirsiniz. Bu, vida dişi açma veya spiral kanallar oluşturma gibi uygulamalar için kullanılır.

Fanuc / Haas:

G17 ; XY düzlemi seçimi
G0 X10 Y0 Z0 ; Hızlı hareketle başlangıç noktasına git
G03 X10 Y0 Z-10 I0 J0 F100 ; Saatin tersi yönünde helisel hareket, 10mm derinliğinde

Değişken Yarıçaplı Spiral

Makro programlama veya parametrik programlama kullanarak, değişken yarıçaplı spiraller oluşturabilirsiniz:

Fanuc (Makro Programlama):

#100=10 ; Başlangıç yarıçapı
#101=0 ; Başlangıç açısı
G0 X#100 Y0 ; Hızlı hareketle başlangıç noktasına git
N10 #101=#101+10 ; Açıyı artır
#102=[#100+#101/360] ; Yarıçapı artır
#103=[#102*COS[#101]] ; X koordinatı hesapla
#104=[#102*SIN[#101]] ; Y koordinatı hesapla
G03 X#103 Y#104 I[-#103+#100*COS[#101-10]] J[-#104+#100*SIN[#101-10]] F100
#100=#102 ; Yeni yarıçapı sakla
IF[#101 LT 720] GOTO 10 ; 720 dereceye kadar devam et

Sonuç

G03 komutu, CNC programlamada saat yönünün tersine dairesel hareketleri programlamak için kullanılan temel bir komuttur. Bu makale boyunca G03 komutunun temel prensiplerini, farklı kontrol ünitelerindeki kullanımlarını ve çeşitli uygulamalarını inceledik.

Her kontrol ünitesinin kendine özgü özellikleri olsa da, G03 komutunun temel mantığı hepsinde aynıdır: takımı belirlenen bir merkez etrafında, saatin tersi yönünde hareket ettirmek. Bu komutu doğru şekilde kullanarak, kompleks parçaların üretiminde hassas dairesel hareketler elde edebilirsiniz.

CNC programlamada uzmanlaşmak, sürekli pratik ve deneyim gerektirir. G03 gibi temel komutları anlamak ve doğru kullanmak, bu yolda önemli bir adımdır. Farklı kontrol ünitelerinin özelliklerini bilerek, bir makineden diğerine geçiş yaparken daha az zorluk yaşarsınız.

SSS - Sıkça Sorulan Sorular

G03 komutunu G02 yerine mi kullanmalıyım?

Hangi komutu kullanacağınız, oluşturmak istediğiniz dairesel hareketin yönüne bağlıdır. Eğer saat yönünde bir hareket istiyorsanız G02, saat yönünün tersine bir hareket istiyorsanız G03 kullanmalısınız.

I ve J parametreleri mi yoksa R parametresi mi daha iyidir?

Her iki yöntemin de avantaj ve dezavantajları vardır. I ve J parametreleri daha kesin sonuçlar verir ve tam daireler programlamak için gereklidir. R parametresi ise daha kolay anlaşılır ve programlanabilir. 180 dereceden büyük yaylar için R negatif değer alabilir, bu da karışıklığa yol açabilir.

G03 komutu tüm CNC makinelerinde aynı şekilde mi çalışır?

Temel prensip aynı olsa da, kontrol ünitesine bağlı olarak komut sözdiziminde ve parametrelerde farklılıklar olabilir. Özellikle Heidenhain gibi bazı kontrol sistemleri tamamen farklı komutlar kullanabilir.

G90 (mutlak programlama) ve G91 (artımlı programlama) modları G03 komutunu nasıl etkiler?

G90 modunda, X, Y, Z gibi hedef koordinatlar mutlak değerler olarak yorumlanır. G91 modunda ise mevcut konuma göre artımlı değerler olarak yorumlanır. Ancak I, J, K gibi merkez ofset değerleri her iki modda da artımlı değerler olarak yorumlanır.

Dairesel interpolasyonda “wind-up error” nedir ve nasıl önlenir?

Wind-up error, özellikle birden fazla tur gerektiren dairesel hareketlerde, her turda biriken küçük hesaplama hatalarından kaynaklanır. Bunu önlemek için, çok turlu daireler yerine her tur için ayrı G03 komutları kullanabilir veya helisel enterpolasyon komutlarını tercih edebilirsiniz.