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