Mach3 Auto Tool Zero Makrosu, takım boyu ölçümünü otomatikleştiren bir Visual Basic Script (VBScript) kodudur. Bu makro, bir prob veya sensör kullanarak takım ucunun iş parçası veya referans yüzeyi ile temasını algılar, G31 komutunu kullanır ve ardından takımın Z ekseni ofsetini doğru bir şekilde ayarlar. Bu sayede manuel ayarlamalardan kaynaklanan hatalar minimize edilir, üretim verimliliği ve hassasiyeti artırılır.
Mach3 Auto Tool Zero Makrosu Nasıl Yazılır? Nedir?
Endüstriyel otomasyon ve CNC işleme süreçlerinde, takım boyu ölçümü, işlenen parçanın hassasiyeti ve kalitesi açısından kritik bir adımdır. Geleneksel yöntemlerle yapılan manuel takım boyu ayarlamaları zaman alıcı olmasının yanı sıra, operatör hatalarına da açıktır. İşte tam bu noktada, Mach3 Auto Tool Zero Makrosu devreye girerek bu süreci tamamen otomatikleştirir. Bu makro, Mach3 CNC kontrol yazılımı içerisinde çalışan bir VBScript kod parçacığıdır ve takım ucunun bir referans yüzeye (genellikle bir kalibrasyon probu veya iletken plaka) temasını algılayarak Z ekseni sıfırlamasını otomatik olarak gerçekleştirir.
Makronun temel amacı, her takım değişimi sonrasında veya iş parçası kurulumunda, takımın Z eksenindeki konumunu hassas bir şekilde belirlemektir. Bu, özellikle farklı boylarda takımların kullanıldığı karmaşık işleme operasyonlarında hayati öneme sahiptir. Makro, takımın proba dokunduğu anda Mach3’ün G31 Probing komutunu kullanarak Z ekseni koordinatını okur. Ardından, önceden tanımlanmış prob kalınlığını bu değere ekleyerek veya çıkararak, takımın gerçek sıfır noktasını (iş parçası yüzeyi) hesaplar ve bu değeri Mach3’ün Z ekseni DRO’suna (Dijital Okuma) veya takım tablosuna işler. Bu sayede, operatörün manuel ölçüm yapmasına gerek kalmaz, işleme süresi kısalır ve tekrarlanabilirlik artar.
Mach3, kullanıcıların kendi ihtiyaçlarına göre özel fonksiyonlar ve otomasyon adımları ekleyebilmeleri için esnek bir makro sistemi sunar. Bu makrolar, genellikle M-kodları ile ilişkilendirilir (örneğin, M6 takım değiştirme makrosu gibi) veya özel bir düğmeye atanabilir. Auto Tool Zero makrosu da bu esnekliğin bir ürünüdür ve CNC tezgahınızın verimliliğini ve hassasiyetini önemli ölçüde artırabilir.
Çalışma Prensibi ve Teknik Veriler
Mach3 Auto Tool Zero makrosunun çalışma prensibi, bir takımın hassas bir sensöre veya iletken bir plakaya temasıyla tetiklenen bir dizi komutun yürütülmesine dayanır. Bu süreç adım adım şu şekilde işler:
- Başlangıç Konumu: Makro çalıştığında, takımın mevcut pozisyonunu (özellikle Z ekseninde) ve diğer önemli ayarları (besleme hızı, G-kodu modu vb.) kaydeder. Bu, işlem sonunda tezgahın önceki durumuna dönebilmesi için önemlidir.
- Güvenli Yüksekliğe Çıkış: Takım, proba yaklaşmadan önce, olası çarpmaları önlemek için önceden tanımlanmış bir güvenli Z yüksekliğine (Safe Z Height) hızla hareket ettirilir.
- Prob Konumuna Hareket: Eğer prob sabit bir konumdaysa, takım X ve Y eksenlerinde probun tam üzerine getirilir. Taşınabilir bir prob kullanılıyorsa, bu adım manuel olarak veya farklı bir makro ile gerçekleştirilebilir.
- G31 Probing Komutu: Takım, belirlenen bir yavaş besleme hızıyla Z ekseninde aşağı doğru hareket ettirilirken G31 Z[Hedef Z Koordinatı] F[Hız] komutu kullanılır. G31, Mach3’e, prob girişi (Probe Input) tetiklendiğinde takımın hareketini durdurmasını ve o anki Z ekseni koordinatını kaydetmesini söyler. Hedef Z koordinatı, takımın probu kesinlikle bulabileceği, ancak probun veya tezgahın zarar görmeyeceği güvenli bir alt limit olmalıdır.
- Temas Algılama ve Durma: Takım ucu proba temas ettiğinde, prob girişi tetiklenir. Mach3 bu sinyali alır almaz G31 komutunu durdurur ve takımın tam temas anındaki Z ekseni koordinatını bir sisteme özgü değişkene (genellikle Var(2002)) kaydeder.
- Z Ofset Hesaplaması: Kaydedilen Z koordinatı, probun bilinen kalınlığı ile birleştirilerek takımın gerçek sıfır noktası hesaplanır. Örneğin, eğer prob kalınlığı 20mm ise ve G31, Z=-5.000mm’de tetiklendiyse, iş parçası yüzeyi (veya referans yüzey) Z = -5.000 + 20.000 = 15.000mm olarak belirlenir. Bu değer, takımın ucunun referans yüzeyden ne kadar uzakta olduğunu gösterir.
- Z Ekseni Sıfırlaması: Hesaplanan Z ofset değeri, SetDRO(2, Z_Offset) komutu ile Mach3’ün Z ekseni Dijital Okumasına (DRO) atanır. Bu, takımın o anki Z konumunun, hesaplanan ofset değeri olduğunu Mach3’e bildirir. Alternatif olarak, takım tablosundaki ilgili takımın boyu bu değere göre güncellenebilir.
- Güvenli Yüksekliğe Dönüş: Takım, bir sonraki işleme adımı için tekrar güvenli Z yüksekliğine çıkarılır.
- Ayarların Geri Yüklenmesi: Makro başlangıcında kaydedilen besleme hızı ve G-kodu modu gibi ayarlar geri yüklenir.
| Parametre | Değer/Açıklama |
|---|---|
| G31 Komutu | Takım prob girişi tetiklenene kadar hareket eder ve temas anındaki koordinatı kaydeder. Örn: G31 Z-100 F50 |
| Probe Girişi Pini | Mach3’te “Ports & Pins” ayarlarında konfigüre edilen fiziksel giriş pini (örn: Port 1, Pin 10). “Probe” olarak atanmalıdır. |
| OEMDRO(818) | Mevcut besleme hızını (Feed Rate) okur. Makro sonunda geri yüklemek için kullanılır. |
| OEMDRO(817) | Mevcut mutlak/artımsal modu (G90/G91) okur. Makro sonunda geri yüklemek için kullanılır. |
| GetVar(2002) | G31 komutu tetiklendiğinde takımın Z eksenindeki koordinatını döndürür. Bu değer kritik öneme sahiptir. |
| SetDRO(2, Değer) | Z ekseni DRO’sunu (Digital ReadOut) belirtilen değere ayarlar. Bu, Z ekseni sıfırlamasını yapar. |
| Probe Kalınlığı | Kullanılan fiziksel probun milimetre veya inç cinsinden hassas kalınlığı. Makro içinde sabit bir değişken olarak tanımlanır. |
| Problama Hızı (F) | G31 komutunda belirtilen takımın proba yaklaşma hızı. Genellikle 50-200 mm/dakika arasında seçilir. |

Sahada Dikkat Edilmesi Gerekenler
- Prob Kalibrasyonu ve Doğruluğu:
Makronun en kritik parametresi prob kalınlığıdır. Bu değer, kullanılan probun veya plakanın Z eksenindeki yüksekliğini milimetrenin yüzde biri hassasiyetle bilmeyi gerektirir. Probun düzenli olarak mikrometre ile ölçülerek doğrulanması, hassas işleme için elzemdir. Yanlış prob kalınlığı, tüm Z ekseni ölçümlerinizin hatalı olmasına yol açar ve parça toleranslarının dışına çıkılmasına neden olabilir. Probun yüzeyi temiz ve hasarsız olmalıdır. - Elektriksel Bağlantılar ve Gürültü Yönetimi:
Prob sinyali, genellikle düşük voltajlı bir dijital sinyaldir ve endüstriyel ortamlardaki elektrik gürültüsüne (EMI/RFI) karşı hassastır. Prob kablolarının ekranlı (shielded) olması, motor ve güç kablolarından uzakta yönlendirilmesi ve Mach3 ayarlarında debounce (sekme giderme) süresinin doğru ayarlanması önemlidir. Yüksek debounce değerleri gecikmeye neden olabilirken, düşük değerler yanlış tetiklemelere yol açabilir. Sinyal kalitesini bir osiloskop ile kontrol etmek, sorunu gidermede yardımcı olabilir. - Takım Ucu Formu ve Malzeme Etkisi:
Farklı takım uçları (düz, küresel, sivri uçlu) proba farklı şekillerde temas edebilir. Özellikle sivri uçlu takımlar, prob yüzeyinde küçük bir çukur oluşturarak veya temas noktasını etkileyerek ölçümde hafif sapmalara neden olabilir. İletken prob kullanılıyorsa, takımın ve iş parçasının iletken olması gerekir. İletken olmayan malzemeler için (örneğin, seramik takımlar), lazer veya mekanik dokunmatik problar gibi farklı sensör teknolojileri düşünülmelidir. - Güvenli Z Yüksekliği ve Yaklaşma Hızı:
Makro içindeki güvenli Z yüksekliği (Safe Z Height), takımın proba çarpmadan X ve Y eksenlerinde hareket edebilmesi için yeterince yüksek olmalıdır. Bu değer, tezgahın ve iş parçasının boyutlarına göre belirlenmelidir. Ayrıca, problama hızı (F) da önemlidir. Çok yüksek hızlar, probun tetiklenme anı ile takımın durması arasında atalet nedeniyle aşırı basınca ve hatalı ölçüme yol açabilir. Çok düşük hızlar ise çevrim süresini uzatır. Genellikle 50-200 mm/dakika aralığı tercih edilir. - Makro Testi ve Doğrulama:
Yeni yazılan veya güncellenen her makro, gerçek işleme öncesinde dikkatlice test edilmelidir. İlk testler, takım olmadan veya güvenli bir mesafede, sadece makronun mantığını ve komut akışını doğrulamak için yapılabilir. Ardından, düşük hızlarda ve gerçek bir takım ile, ancak iş parçasına zarar vermeyecek şekilde denemeler yapılmalıdır. Ölçülen Z değerleri, bilinen bir referansla (örneğin, bir yükseklik göstergesi veya mikrometre) karşılaştırılarak doğrulanmalıdır. Tutarlılık için birden fazla ölçüm yapılmalıdır. - Mach3 Ayarları ve Pin Konfigürasyonu:
Makronun doğru çalışması için Mach3’ün “Ports & Pins” menüsünde “Probe” girişi doğru bir pin’e atanmış ve aktif edilmiş olmalıdır. Ayrıca, “General Config” menüsündeki “Active Low” veya “Active High” ayarı, prob sensörünün tipine (NC – Normalde Kapalı veya NO – Normalde Açık) uygun olmalıdır. Yanlış ayar, probun sürekli tetiklenmiş görünmesine veya hiç tetiklenmemesine neden olabilir.

Sık Karşılaşılan Sorunlar ve Çözümleri
Mach3 Auto Tool Zero makrosunu kullanırken karşılaşılabilecek bazı yaygın sorunlar ve bunların çözüm yolları aşağıda detaylandırılmıştır:
- Sorun: Prob Tetiklenmiyor veya Sürekli Tetikleniyor Görünüyor.
- Çözüm: Öncelikle Mach3 “Diagnostics” ekranını kontrol edin. “Probe” LED’inin durumunu gözlemleyin. Prob fiziksel olarak tetiklendiğinde LED yanıp sönüyorsa, bağlantı ve sinyal doğru demektir. Eğer LED hiç yanmıyorsa:
- Probun fiziksel bağlantılarını (kablo, konnektör) kontrol edin.
- Mach3 “Ports & Pins” -> “Input Signals” sekmesinde “Probe” girişinin doğru pin’e atanmış ve “Enabled” olduğundan emin olun.
- “Active Low” ayarını prob tipinize göre kontrol edin. NC (Normalde Kapalı) bir prob için “Active Low” işaretli olmalıdır. NO (Normalde Açık) bir prob için işaretli olmamalıdır.
- Probun kendisini test edin (bir multimetre ile süreklilik kontrolü).
Eğer LED sürekli yanıyorsa (prob tetiklenmemişken):
- “Active Low” ayarını tersine çevirmeyi deneyin.
- Kablolarda kısa devre veya gürültü olup olmadığını kontrol edin.
- Çözüm: Öncelikle Mach3 “Diagnostics” ekranını kontrol edin. “Probe” LED’inin durumunu gözlemleyin. Prob fiziksel olarak tetiklendiğinde LED yanıp sönüyorsa, bağlantı ve sinyal doğru demektir. Eğer LED hiç yanmıyorsa:
- Sorun: Takım Prob Üzerine Çarpıyor veya Yeterince Derine İnmiyor.
- Çözüm:
- Makro içindeki
G31 Z- [Hedef Z Koordinatı]değerini kontrol edin. Bu değer, takımın probu kesinlikle bulabileceği, ancak probun alt limitini geçmeyeceği kadar düşük bir Z koordinatı olmalıdır. Örneğin, prob yüksekliği 20mm ise ve takım Z=0’dan başlıyorsa, Z-50 gibi bir değer güvenli olabilir. - Makro başında takımın güvenli Z yüksekliğine çıktığından emin olun (
Code "G0 Z" & Z_Safe_Height). Z_Probe_Speed(problama hızı) çok yüksekse, takım probu tetiklediğinde atalet nedeniyle biraz daha aşağı inebilir. Hızı düşürmeyi deneyin.
- Makro içindeki
- Çözüm:
- Sorun: Ölçülen Z Değeri Hatalı veya Tutarsız.
- Çözüm:
- Makro içindeki
Probe_Thicknessdeğerinin milimetrenin yüzde biri hassasiyetle doğru olduğundan emin olun. Bu değeri bir mikrometre ile ölçerek doğrulayın. - Prob yüzeyinin ve takım ucunun temiz olduğundan emin olun. Kir, yağ veya talaş ölçümü etkileyebilir.
- Elektriksel gürültü (EMI) ölçümleri etkileyebilir. Kablolamayı kontrol edin, ekranlı kablo kullanın ve “Ports & Pins” -> “Debounce” ayarını optimize edin.
- Tezgahın mekanik boşluğunu (backlash) kontrol edin. Z eksenindeki boşluk, yukarı ve aşağı hareketlerde farklı ölçümlere yol açabilir. Gerekirse backlash telafisini Mach3’te ayarlayın.
- Takımın proba yaklaşma yönünü kontrol edin. Genellikle Z ekseninde tek yönde (aşağı doğru) prob yapmak en tutarlı sonuçları verir.
- Makro içindeki
- Çözüm:
- Sorun: Makro Çalışmıyor veya VBScript Hatası Veriyor.
- Çözüm:
- Mach3 “Operator” menüsünden “Edit M-code” veya “Edit Button Script” seçeneğini kullanarak makro dosyasını açın.
- VBScript sözdizimi (syntax) hatalarını kontrol edin (noktalama işaretleri, değişken adları, parantezler vb.). Mach3’ün dahili düzenleyicisi basit hataları gösterebilir.
- Kullanılan OEMDRO veya OEMBUTTON ID’lerinin doğru olduğundan emin olun. Mach3’ün farklı versiyonlarında veya özelleştirmelerde bu ID’ler değişebilir. Gerekirse Mach3 manuelinden doğrulayın.
- Makro dosyasının doğru klasörde (Mach3Macros[Profil Adı]) ve doğru isimle (örn. M200.m1s veya M999.m1s) kaydedildiğinden emin olun.
- Mach3’ün lisanslı olduğundan ve makroları çalıştırma yeteneğine sahip olduğundan emin olun.
- Çözüm:
- Sorun: Takım Tablosu Güncellenmiyor veya Yanlış Değer Alıyor.
- Çözüm:
- Eğer makro takım tablosunu güncelliyorsa (
SetToolLength(ToolNumber, Length)gibi komutlarla), ilgili takım numarasının doğru alındığından emin olun (CurrentTool = GetCurrentTool()). - Makroda takım tablosuna yazma komutunun doğru kullanıldığından ve hesaplanan ofset değerinin doğru formatta aktarıldığından emin olun.
- Bazı durumlarda
SetDRO(2, Z_Offset)doğrudan Z ekseni DRO’sunu sıfırlamak için yeterli olabilir ve takım tablosu manuel olarak güncellenir. Kullanım senaryonuza göre karar verin.
- Eğer makro takım tablosunu güncelliyorsa (
- Çözüm:
Uzman Tavsiyesi
Mach3 Auto Tool Zero makrosu, endüstriyel otomasyon ve CNC işleme dünyasında verimliliği, hassasiyeti ve tekrarlanabilirliği artırmak için vazgeçilmez bir araçtır. Bu makronun doğru bir şekilde yazılması ve uygulanması, manuel takım sıfırlama işlemlerinden kaynaklanan insan hatalarını minimuma indirirken, üretim süreçlerinin hızlanmasına ve daha yüksek kalitede ürünlerin elde edilmesine olanak tanır. Özellikle karmaşık işleme operasyonlarında, birden fazla takımın kullanıldığı durumlarda veya yüksek hacimli üretim ortamlarında, otomatik takım sıfırlama, operasyonel maliyetleri düşürerek ve tezgahın boşta kalma süresini azaltarak önemli bir rekabet avantajı sağlar.
Uzman bir bakış açısıyla, bu tür makroları uygularken sadece kodun yazılmasına değil, aynı zamanda sistemin genel entegrasyonuna ve çevresel faktörlere de odaklanmak gerekmektedir. Probun kalibrasyonu, elektriksel gürültü yönetimi, tezgahın mekanik durumu ve takımın özellikleri gibi unsurlar, makronun performansını doğrudan etkiler. Bu nedenle, her uygulamanın kendine özgü ihtiyaçlarına göre makronun özelleştirilmesi ve kapsamlı bir test sürecinden geçirilmesi elzemdir. Başlangıçta harcanan zaman ve çaba, uzun vadede daha az hata, daha yüksek hassasiyet ve daha sorunsuz bir üretim akışı olarak geri dönecektir. Unutmayın ki, otomasyonun gerçek gücü, yalnızca yazılımsal çözümlerle değil, aynı zamanda donanım entegrasyonu ve operasyonel disiplinle birleştiğinde ortaya çıkar. Güvenli çalışma koşullarına her zaman öncelik vermek ve beklenmedik durumlar için acil durdurma prosedürlerini hazır bulundurmak, her otomasyon projesinde olduğu gibi, Auto Tool Zero makrosu uygulamasında da hayati öneme sahiptir.

