Makro Diş Çekme Hesaplama, Simülasyon ve NC Kod Üretici
Geniş hatveli, trapez, konik ve çok ağızlı dişlerde tırlamayı ve uç kırılmasını önleyen paso planı, FANUC makro programı ve takım yolu simülasyonu.
Önce şunu okuyun — bu sayfa hangi derde çare
Normal diş çekmeyi biliyorsunuz. M20×2.5’i gözü kapalı açıyorsunuz. Ama tezgâha Tr40×8 gibi bir trapez diş geldiğinde iş değişiyor: takım tırlıyor, yüzey bozuk çıkıyor, uç birkaç parçada kırılıyor. Paso derinliğini düşürüyorsunuz, düzelmiyor.
Sebep paso derinliği değil. Hatve büyüdükçe diş kanalı genişler. 2 mm hatvede kanal ağzı 1,75 mm iken 8 mm hatveli trapezde 5,07 mm oluyor. Takım o kanalın tamamını aynı anda kesmeye çalıştığında kesme kuvvetini belirleyen şey takımın aynı anda malzemeye giren genişliğidir. Derinliği yarıya indirseniz bile genişlik aynı kaldığı için kuvvet yeterince düşmez — takım titrer, uç yükü kaldıramaz.
Çözüm kanalı bölmek. Bu araç diş kanalını iki eksende birden parçalıyor: önce derinlik katmanlarına, sonra her katmanda kanalın genişliğine. Takım kanalın önce bir bölümünü, sonra diğerini kesiyor. Aynı diş, aynı helis — sadece takımın anlık kestiği alan küçülüyor. Kanal yukarıda geniş dipte dar olduğu için yanal paso sayısı üstte fazla, derinlerde azdır.
Bunu neden elle yapamıyoruz, neden makro gerekiyor?
Elle yapabilirsiniz — ama Tr40×8 için 9 derinlik katmanı × 2–3 yanal paso = 24 ayrı diş geçişi demek. Her birinin X değerini, Z kaydırmasını ve konikse eğimini elle hesaplayıp yazmanız gerekir. Bir rakamda hata yapınca ya diş bozulur ya takım gider.
Makro bu hesabı tezgâhın kendisine yaptırır. Siz sadece diş üstü çapını, hatveyi ve derinliği verirsiniz; makro katmanları, yanal pasoları ve ağız açılarını kendi üretir. Bir kez tezgâha yüklersiniz, sonraki bütün dişleri tek satır G65 çağrısıyla açarsınız.
Hazır G76 çevrimi neden yetmiyor?
G76 iyi bir çevrimdir, standart 60° dişlerde ilk tercihtir. Üç yerde tıkanır:
- Takım uç açısı standart formatta sadece 80°, 60°, 55°, 30°, 29° veya 0° olabilir. Buttress gibi asimetrik profiller (3°/30°) girilemez.
- Çok ağızlı diş yapılamaz. Ağız kaydırması
Qadresiyle verilir ama G76’daQpaso derinliği için kullanılıyor. - Kanalı yanal pasolara bölemez. Derinliği böler, genişliği bölmez — yani asıl derdimizi çözmez.
Bu yüzden makro G32 kullanıyor. G32 tek bir senkron interpolasyondur: X ve Z’yi istediğiniz gibi verirsiniz, helis mil ile senkron kalır. Esneklik buradan geliyor.
Bu program benim tezgâhımda çalışır mı?
Makro G65 ile çağrılıyor — bu çağrı biçimi hiçbir CNC parametresi değiştirmeyi gerektirmez. Kontrolünüzde Custom Macro B varsa çalışır. Koşullu dallanmalar IF[…]GOTOn biçiminde yazıldı; IF…THEN desteklemeyen eski kontrollerde de sorun çıkmaz.
Sekmelerdeki NC programı ise hiç makro içermez — her paso tek tek yazılmıştır, makro desteği olmayan kontrollerde de çalışır. Emin olmak isterseniz onu kullanın.
CNC parametrelerini kendiniz değiştirmeyin. Parametre numaraları modelden modele değişir; aynı işlev FS10/11’de No.7051, 0i / 16i / 30i ailesinde No.6051’dir.
Teknik resimden okuduklarınız
Simülasyon — kod çalışırken takım hareket ediyor —
Diş profilleri ve derinlik hesabı: araç neyi nasıl hesaplıyor?
Diş dibi çapını boş bırakırsanız araç derinliği seçilen profile göre kendisi hesaplar. Bu hesabın arkasındaki değerleri bilmek, teknik resimde verilen diş dibi çapıyla aracın bulduğu değeri karşılaştırmanızı sağlar; ikisi arasında 0,1 mm'den büyük fark varsa resimdeki değeri girin, resim her zaman önceliklidir. Aşağıdaki tabloda h3 dış diş için yarıçapta derinliği, P hatveyi gösterir.
| Profil | Uç açısı | Dış diş derinliği (yarıçap) | Tipik kullanım |
|---|---|---|---|
| Metrik ISO (M) | 60° | h3 = 0,6134 · P | Genel bağlantı elemanları |
| Unified UN/UNC/UNF | 60° | h3 = 0,6134 · P (P = 25,4 / diş sayısı) | İnç sistemli bağlantılar |
| Whitworth (BSW/BSP) | 55° | h3 = 0,6403 · P | Boru dişleri, eski İngiliz standartları |
| Trapez ISO/DIN 103 (Tr) | 30° | h3 = 0,5 · P + ac (ac = 0,25 mm P 2–5; 0,5 mm P 6–12; 1 mm P 14–44) | Hareket milleri, mengene ve pres vidaları |
| ACME | 29° | h = 0,5 · P + boşluk | ABD kaynaklı hareket milleri |
| Buttress DIN 513 | 3° / 30° | h3 ≈ 0,868 · P | Tek yönlü ağır eksenel yük (pres, kriko) |
Örnek: Tr40×8 için h3 = 0,5 · 8 + 0,5 = 4,5 mm; diş dibi çapı 40 − 2 · 4,5 = Ø31. Aynı çapta M40×1.5 ise yalnızca 0,92 mm derinliktedir. Derinlik beş kat, kanal ağzı üç kat büyüdüğü için kaldırılan talaş hacmi on beş kata yakın artar; makro yaklaşımının gerekçesi bu rakamlardır. Standart 60° dişler için G76 vida çekme simülatörü ve tek satırlık yaklaşım için G92 diş kesme simülatörü daha kısa yoldur.
Dört dalma stratejisi ve yük bölme mantığı
| Strateji | Nasıl dalar? | Avantaj | Sakınca |
|---|---|---|---|
| Radyal (düz) | Her paso yalnızca X'te derine iner | Basit, simetrik profil, ince hatvede yeterli | Her iki kanat aynı anda keser, talaş V biçiminde sıkışır, tırlama |
| Kanat (flank) | Uç açısının yarısı kadar (30°/29°) eğik dalar | Tek kanat keser, talaş serbest akar | Boştaki kanat sürtünür, yüzey kalitesi düşer |
| Modifiye kanat | Yarım uç açısından 3–5° az eğimle dalar | Talaş kontrolü iyi, ikinci kanat hafif temizler; genel öneri | Sadece ince dişlerde fazlalık |
| Alternatif kanat / yanal bölme | Aynı katmanda kanalın sağ ve sol tarafını ayrı pasolarda keser | Takımın her iki ucu eşit aşınır, geniş kanalda kuvvet en düşük | Paso sayısı fazla; programlamak elle zor, makro şart |
Bu araç son satırdaki yöntemi otomatikleştirir. Derinlik katmanı formülü #7 · √n ile ilerler: ilk paso derinliği verilir, n. paso ilk pasonun √n katında durur. Bu yüzden ardışık pasolar arasındaki derinlik farkı giderek küçülür ve her pasoda kaldırılan talaş kesiti yaklaşık sabit kalır; kesme kuvveti derinde artmaz. Her katmanda kanal genişliği takım ucundan genişse fark FUP[#117/#2]+1 ile yanal pasolara bölünür; B argümanı (yanal paso adımı) bu bölmenin inceliğini belirler. B'yi takım uç genişliğinin yüzde 60–80'i arasında seçmek genelde iyi sonuç verir: daha küçük değer paso sayısını gereksiz artırır, uç genişliğine eşit değer iki paso arasında ince bir şerit bırakır.
Custom Macro B: G65 argümanları ve değişkenler
Makro tek satırla çağrılır: G65 P9500 X40. Z-60. F8. K4.5 B1.2 W1.6 …. G65 satırındaki her harf, alt programda numaralı bir yerel değişkene dönüşür. FANUC'un standart harf–değişken eşlemesi aşağıdadır; G, L, N, O ve P harfleri argüman olarak kullanılamaz (P program numarasıdır, L tekrar sayısıdır).
| Harf | Değişken | Harf | Değişken | Harf | Değişken |
|---|---|---|---|---|---|
| A | #1 | I | #4 | T | #20 |
| B | #2 | J | #5 | U | #21 |
| C | #3 | K | #6 | V | #22 |
| D | #7 | M | #13 | W | #23 |
| E | #8 | Q | #17 | X | #24 |
| F | #9 | R | #18 | Y | #25 |
| H | #11 | S | #19 | Z | #26 |
Bu araçtaki O9500 makrosu tam olarak bu eşlemeyle çalışır: X (#24) diş üstü çapı, Z (#26) diş bitiş noktası, F (#9) lead, K (#6) yarıçapta diş derinliği, B (#2) yanal paso adımı, W (#23) takım uç genişliği. Makro içinde üç değişken ailesi vardır. Yerel değişkenler #1–#33 yalnızca o makro çağrısında yaşar, G65 bitince silinir. Ortak değişkenler #100–#149 programlar arasında paylaşılır ama güç kesilince sıfırlanır; araç ara hesapları #110–#124 aralığında tutar. Kalıcı ortak değişkenler #500–#999 güç kesilse de saklanır; ofset ve sayaç gibi işler için ayrılmıştır, bu makro onlara dokunmaz. Sistem değişkenleri tezgâh durumunu okur: #5041/#5042 iş parçası koordinatında anlık X/Z konumu, #4001 01 grubunun modal G kodu, #3000 kullanıcı alarmı. Makro başlangıç konumunu #102/#103'e saklayıp bitişte oraya döndüğü için ana programınızın akışı bozulmaz.
Koşullu akış IF[#115 LT #112] GOTO 100 biçimindedir; karşılaştırma işleçleri EQ, NE, GT, GE, LT, LE'dir ve köşeli parantez zorunludur. GOTO hedefi bir N numarasıdır; programda o N satırı yoksa PS0128 alarmı alırsınız. WHILE…DO…END yapısı daha okunaklıdır ama her kontrolde bulunmaz; araç bu yüzden yalnızca IF/GOTO kullanır. FANUC makro fonksiyonlarından araç SQRT, FUP (yukarı yuvarlama), ROUND ve ABS kullanır; dördü de Custom Macro B'nin temel setindedir.
G32 ile diş çekmenin fiziği: senkron, lead ve giriş boyu
G32 satırında F adresi ilerleme değil lead'dir; mil bir tur döndüğünde takımın Z'de aldığı yol. Tek ağızlı dişte lead hatveye eşittir, üç ağızlı Tr40×8 için lead 24 mm'dir ve F24. yazılır. Tezgâh mil encoderinin tur başı sinyalini bekleyip her pasoya aynı açısal konumda başlar; bu yüzden her pasonun aynı Z başlangıç noktasından ve aynı devirle başlaması şarttır. Araç bunun için bütün pasoları aynı Z başlangıç noktasından başlatır ve o noktayı max(3 mm, 1,4 × lead) olarak seçer; 24 mm lead için 33,6 mm giriş boyu bırakır. Bu mesafe eksenin ilerleme hızına ulaşması için gereklidir: Z ekseni hızlanırken kesilen bölüm hatalı hatveye sahip olur, giriş boyu bu bölümün parçanın dışında kalmasını sağlar. Aynı sebeple çıkışta da diş sonu kanalı ya da yeterli boşluk gerekir; G32'de takım Z bitişe geldiğinde hemen durur, G76'daki gibi otomatik pah yapmaz.
Devir G97 ile sabit tutulur. G96 sabit kesme hızında çap değiştikçe devir değişir ve hatve bozulur; araç bu yüzden program başına G97 S____ yazıp devri size bırakır. Diş çekme sırasında ilerleme override'ı yüzde 100'e kilitlenir, besleme durdurma (feed hold) tuşu paso bitene kadar bekletilir; bu kontrolün kendi davranışıdır, kapatılamaz. Çok ağızlı dişte ağızlar arasındaki kaydırma Q adresiyle mil başlangıç açısı olarak verilir, birimi 0,001°'dir ve ondalık nokta yazılmaz: üç ağızda ikinci ağız Q120000, üçüncü Q240000. Araç bunu ROUND[360000·[#121−1]/#3] ile makro içinde hesaplar. Eski FANUC modellerinde Q desteklenmiyorsa ağız kaydırma Z başlangıcını hatve kadar öteleyerek yapılır; bu durumda giriş boyunun bütün ağızlar için yeterli kalması gerekir.
Takım seçimi: geniş hatvede hangi elmas?
- Tam profil diş elması: Profil ve hatve elmasa işlenmiştir; diş üstünü de keser, en iyi yüzey kalitesini verir. Ancak her hatve için ayrı elmas gerekir ve Tr/ACME'de 6 mm üstü hatvelerde seçenek azalır. Bu araçta "kesici ağız genişliği" olarak elmasın uç düzlüğünü girin.
- Kısmi (sivri uç) diş elması: Yalnızca uç açısı sabittir, geniş hatve aralığına uyar. Diş üstünü kesmediği için diş üstü çapı önceden tornalanmış olmalıdır. Uç radyüsü küçük olduğundan dipte tam radyüs oluşmaz; araç bu yüzden derinliği uç radyüsüne göre düzeltir.
- Kanal elması: Trapez ve ACME'de en yaygın ekonomik çözüm; düz uçlu, genişliği kanal dibinden dar. Kanatları kesmek için yanal süpürme zorunludur, aracın yanal paso mantığı tam bu takım için tasarlanmıştır. Genişliği dip genişliğinin yüzde 70–90'ı arasında seçin.
- Yuvarlak uçlu takım: Büyük hatveli yuvarlak dişlerde ve kaba pasolarda kullanılır; kanat açısı olmadığı için son profili ayrı bir finiş takımı tamamlar.
Geniş hatveli dişte helis açısı da büyür: Tr40×8 tek ağızda yaklaşık 4°, üç ağızda 12°'ye yaklaşır. Standart elmas altlığı 1–1,5° eğimlidir; helis açısı bunu aşınca takımın arka kanadı dişe sürter ve boştaki kanatta parlama izleri görülür. Çözüm, helis açısına uygun eğimli altlık (shim) kullanmaktır; sürtünme sesi ve ısınma bu ayarın eksik olduğunu gösterir.
Alarmlar ve sahada karşılaşılan sorunlar
| Belirti / alarm | Sebep | Çözüm |
|---|---|---|
| PS0114 ILLEGAL EXPRESSION FORMAT | Köşeli parantez eksik, IF[…] ya da matematik ifadesi yanlış yazılmış | Makroyu tezgâha aktarırken satırların bozulmadığını kontrol edin; kopyala-yapıştır yerine dosyadan yükleyin |
| PS0115 VARIABLE NO. OUT OF RANGE | Kontrolde #100–#149 dışında ortak değişken yok (bazı modellerde #100–#199 seçenek) | Değişken aralığını kontrol edin; araç #110–#124 kullanır, çoğu modelde vardır |
| PS0128 SEQUENCE NUMBER NOT FOUND | GOTO hedefi olan N satırı silinmiş veya numarası değişmiş | N100, N21, N22 gibi satırları makrodan çıkarmayın |
| PS0129 ILLEGAL ARGUMENT / kullanıcı alarmı 1 veya 2 | G65 satırında F (lead) veya K (derinlik) verilmemiş | Makro #3000 ile durur; çağrı satırına eksik argümanı ekleyin |
| Diş her pasoda kayıyor, kanatlar bozuk | Pasolar arasında devir değişmiş (G96) veya Z başlangıç farklı | G97 sabit devir, tüm pasolar aynı Z başlangıcı; araç bunu zaten yapar, elle düzenlerken bozmayın |
| Diş başında hatve hatalı | Giriş boyu kısa, eksen hızlanmadan kesmeye başlıyor | Z başlangıcını en az 1,4 × lead önde bırakın; yüksek devirde daha da uzatın |
| Tırlama devam ediyor | Yanal paso adımı B çok büyük, ilk paso derinliği fazla, takım çıkıntısı uzun | B'yi küçültün, ilk pasoyu 0,3–0,4 mm'ye çekin, takımı kısa bağlayın |
| Uç boştaki kanatta parlıyor, yüzey sürtme izli | Helis açısı altlık açısını aşıyor | Helis açısına uygun eğimli altlık takın |
| Ağızlar eşit değil (çok ağızlı) | Q başlangıç açısı ondalıklı yazılmış ya da desteklenmiyor | Q120000 biçiminde tam sayı; desteklenmiyorsa Z kaydırma yöntemi |
| Mastar geçmiyor, diş dar | Diş dibi çapı resimden farklı hesaplanmış veya elmas uç genişliği yanlış girilmiş | Resimdeki diş dibi çapını elle girin, elması ölçüp genişliği düzeltin; son pasoyu boş geçiş (spring pass) olarak tekrarlayın |
Makroyu tezgâha yüklerken dikkat edilecekler
- O9500 numarası 9000–9999 aralığındadır; bu aralık bazı tezgâhlarda parametre 3202 ile düzenlemeye kapatılmıştır (NE9 biti). Programı aktaramıyorsanız numarayı O8500 gibi serbest bir numaraya çevirin ve G65 satırındaki P'yi de değiştirin.
- Makro yorumları parantez içindedir ve ASCII büyük harf kullanır; Türkçe karakter içeren yorum bazı kontrollerde okuma hatası verir, araç bu yüzden yorumları özellikle sadeleştirilmiş yazar.
- İlk çalıştırmayı tek satır (single block) modunda ve parçadan uzakta, boş havada yapın; makronun G00 ve G32 sırasını canvas'taki simülasyonla karşılaştırın.
- Ana programda makro çağrısından önce takımı güvenli konuma (aracın önerdiği X ve Z başlangıç) getirin; makro başlangıç konumunu #5041/#5042'den okuyup oraya döner, yanlış bir başlangıç noktası dönüşte de yanlıştır.
- Makro desteği olmayan ya da parametreleri belirsiz tezgâhlarda "NC programı" sekmesindeki açık kodu kullanın; aynı pasolar tek tek yazılmıştır, hiçbir değişken içermez.
Sık sorulan sorular
G32 yerine G92 ya da G76 ile de yanal paso yapılabilir mi?
G92 ile kısmen evet: her satırda Z başlangıcını ve X'i elle kaydırarak kanat pasoları yazılabilir, ama sayı büyüyünce hata riski artar ve çok ağızlı diş için Q desteği yoktur. G76 kendi paso planını uygular, dışarıdan yanal kaydırma kabul etmez. Bu yüzden yük bölmeli program yalnızca G32 ya da makro ile temiz yazılır.
İç diş için aynı makro çalışır mı?
Evet. Araçta "İç diş" seçildiğinde X yönü ters çevrilir; makro içinde bu #113 işaret değişkeniyle yapılır (dış diş −1, iç diş +1); kanat eğimlerinin toplamını tutan #110 ise her iki durumda aynı kalır. İç dişte delik çapı diş dibi çapı olur, giriş boyu delik ağzının dışında kalmalıdır ve takım çıkıntısı uzun olduğu için ilk paso derinliğini dış dişe göre daha küçük seçmek gerekir.
Konik dişte X değeri nereden geliyor?
Konik seçildiğinde G32 satırına Z ile birlikte X de yazılır; tezgâh iki ekseni senkron sürer ve helis koni yüzeyini izler. Araç konik başlangıç ve bitiş çaplarından eğimi hesaplayıp her pasonun hem giriş hem çıkış X'ini kaydırır. Boru dişi gibi standart konikliklerde (1:16) resimdeki iki çapı girmeniz yeterlidir.
Kaç paso ideal?
Sabit bir sayı yok; hedef, her pasoda kaldırılan kesit alanının takımın taşıyabileceği sınırın altında kalmasıdır. Tr40×8 kanal elmasıyla 9 katman ve toplam 20–25 geçiş tipik bir değerdir; sert malzemede ilk pasoyu küçültüp katman sayısını artırın, alüminyum ve pirinçte azaltabilirsiniz. Elmas kataloğundaki önerilen paso tablosu varsa ilk paso değerini oradan alın.

