G Kodu nedir?
Daha yaygın olarak G-Code olarak bilinen RS-274, bilgisayar destekli imalatta kullanılan CNC (Bilgisayar Sayısal Kontrol) için bir programlama dilidir. Dilin temel özü, bir alete/cihaza “oraya git ve şunu yap” demesidir.
G-Code, lazer kesiciler, torna tezgahları, frezeler ve en iyi 3D yazıcılar. 3B yazıcılar için, G kodu tipik olarak bir nesneyi yazdırmak üzere “dilimlediğimizde” oluşturulur. Dilimleme, bir nesneyi, nesnenin ana hatlarını ve iç yapısını taklit edecek şekilde aracı hareket ettirmek için G Kodu komutlarını kullanan bir dizi katmana dönüştürür. Cura ve PrusaSlicer gibi yaygın dilimleyiciler, tüm zor işi bizim için yapacak, ancak kendi G-Kodumuzu yazacak olsaydık, mümkün olan en iyi hizmet için 3D yazıcımızı ayarlayacak komut dosyaları oluşturabilirdik.
Bu nasıl yapılır, özellikle bir kullanarak G-Kodu yazmayı öğreneceğiz Creality Ender 2 Pro test makinemiz olarak. Baskı yatağını manuel olarak düzleştirirken faydalı olacak bir komut dosyası yazacağız. Bunun nasıl yapılacağı için oluşturulan kod, Ender 2 Pro için ısmarlanmıştır ve 3D yazıcınız için değiştirilmesi gerekecektir.
G Kodu Komut Dosyası Yazma
G-Code süslü bir metin editörü veya IDE gerektirmez, tek ihtiyacımız olan Notepad gibi basit bir metin editörü veya bizim tercihimiz Notepad++.
G-Code’un her satırı, cihazın bir parçasına yönelik bir talimattır ve komutlar, komut referansı kullanılarak yazılır ve ardından komut parametreleri (varsa) gelir. Yorum yapmak için yorumun önüne noktalı virgül koymalıyız.
1. Metin düzenleyicinizi açın ve kodun amacını açıklamak için bir yorum satırı oluşturun.
; Ender 2 Pro Example Control G-Code
2. Mutlak konumlandırmayı ayarlamak için G90 komutunu kullanın. Bu, her hareketin aynı başlangıç noktasından hesaplandığı anlamına gelir.
G90; Absolute positioning
3. Ender 2 Pro’nun LCD ekranında bir mesaj göstermek için M117 komutunu kullanın. Dize (mesaj), komutu verdikten hemen sonra gelir ve parametre gerektirmez.
M117 Tom's Hardware; Prints the string to the LCD screen
4. Komut dosyasını üç saniye duraklatmak için G4 (bekleme) komutunu kullanın.
G4 P3000; Wait for 3 seconds
5. Bir mesajı görüntülemek için M117 komutlarını ve komut dosyasını kullanıcının okuması için yeterince uzun süre duraklatmak için G4 komutlarını kullanın.
M117 Heating bed; Prints the string to the LCD screen
G4 P1000; Wait for 1 second
6. Baskı yatağını 60 santigrat dereceye (S60) ısıtmak için M190 komutunu kullanın. Bu komut, yatak gerekli sıcaklığa ulaştığında komut dosyasının çalışmasını durduracaktır.
M190 S60; Set the bed temperature to 60C and wait until it hits that temperature
7. G28 komutuyla tüm yazıcı eksenlerini hedef konumuna getirin.
G28; Home all axis
8. Hareket hızını 1500mm/dakika olarak ayarlayın. Bu, yatağın ve sıcak ucun aynı hızda hareket etmesini sağlayacaktır. Daha yükseğe çıkabiliriz, 3000mm/dakika mümkün ama yavaş başlayın; bu şekilde sorunlara tepki vermek için zamanınız olur.
G1 F1500; Set Feedrate (tool movement) to 1500 mm/min
9. Püskürtme ucunun baskı yatağından çıkması için G1 komutunu kullanarak Z eksenini 8 mm kaldırın. Püskürtme ucuna ve yatağına zarar vereceği için püskürtme ucunu baskı yatağına çarpmak istemiyoruz.
G1 Z8; Lift Z Axis 8mm
10. Memeyi ayarlanmış bir X ve Y konumuna hareket ettirmek için G1 komutunu kullanın. Bu durumda konum, doğrudan ön sol yatak ayar çarkının üzerindedir.
G1 X28 Y35; Move to position 1
11. M117’yi kullanarak kullanıcıya bir talimat yazdırın.
M117 Level the bed #1
12. M0 kullanarak kullanıcı girişi için bekleyin. Not, bu komut her 3B yazıcıda çalışmaz. Sizin için çalışmazsa, G4 ile değiştirin ve uzun süre bekleyin.
M0; Stop, wait for user input
<<If your 3D printer does not support M), use this for a 20 second wait>>
G4 P20000
13. Aynı işlemi tekrarlayın memeyi kaldırma, bir sonraki konuma geçme, kullanıcıya talimat verme ve girişi bekleme. Yazıcınız desteklemiyorsa M0’ı G4 ile değiştirmeyi unutmayın. Bu, memeyi sağ ön yatak ayar çarkının üzerinde olacak şekilde hareket ettirecektir.
G1 Z8 ; Lift Z Axis 8mm
G1 X140 Y35; Move to position 2
M117 Level the bed #2
M0; Stop, wait for user input
14. Başka bir tekrar, bu kez 3. pozisyona, sağ arka yatak ayar çarkına.
G1 Z8 ; Lift Z axis
G1 X140 Y130; Move to position 3
M117 Level the bed #3
M0; Stop, wait for user input
15. Başka bir tekrar, bu sefer sol arka yatak ayar çarkı olan 4. konuma getirin.
G1 Z8; Lift Z axis
G1 X28 Y130; Move to position 4
M117 Level the bed #4
M0; Stop, wait for user input
16. Tüm eksenleri yönlendirmek için G28 komutunu kullanın ve ardından LCD ekranda bir tamamlama mesajı (M117) görüntüleyin.
G28; Home all axis
M117 Complete; Bed leveling is completed
17. Kodu Ender2-Pro-Test.gcode olarak bir mikro SD karta kaydedin.
18. Kartı çıkarın ve yazıcıya takın.
19. Menüyü açmak için kontrol kadranına basın.
20. Kartı Ekle’ye ilerleyin ve kadrana basın. Bu, kartı kullanıma hazır hale getirecektir.
21. Karttan Yazdır seçeneğine ilerleyin ve kadrana basın.
22. Ender2-Pro-Test.gcode’u seçin ve kadrana basın.
23. Yazdır’ı seçin ve başlatmak için kadrana basın. Yazıcı şimdi G Kodu dosyasındaki adımları uygulayacaktır.
Kod, işlemin her adımından geçerek bir yatak seviyelendirme sürecini taklit eder, ancak püskürtme ucu baskı yatağından uzaktadır.
İşlemi mükemmelleştirdikten sonra, memeyi indirebilir ve yarı otonom bir şekilde yatak seviyelendirme yapmak için kullanabiliriz.
Eksiksiz Kod Listesi
; Ender 2 Pro Example Control G-Code
G90; Absolute positioning
M117 Tom's Hardware; Prints the string to the LCD screen
G4 P3000; Wait for 3 seconds
M117 Heating bed; Prints the string to the LCD screen
G4 P1000; Wait for 1 second
M190 S60; Set the bed temperature to 60C and wait until it hits that temperature
G28; Home all axis
G1 F1500; Set Feedrate (tool movement) to 1500 mm/min
G1 Z8; Lift Z Axis 8mm
G1 X28 Y35; Move to position 1
M117 Level the bed #1
M0; Stop, wait for user input
G1 Z8 ; Lift Z Axis 8mm
G1 X140 Y35; Move to position 2
M117 Level the bed #2
M0; Stop, wait for user input
G1 Z8 ; Lift Z axis
G1 X140 Y130; Move to position 3
M117 Level the bed #3
M0; Stop, wait for user input
G1 Z8; Lift Z axis
G1 X28 Y130; Move to position 4
M117 Level the bed #4
M0; Stop, wait for user input
G28; Home all axis
M117 Complete; Bed leveling is completed
Dilimleyici aracılığıyla G Kodu Ekleme
Dilimleyicinize özel G Kodu eklemek, yazdırma işleminizin her yönü üzerinde kontrol sağlar. Mükemmel baskı için baskıdan önce ekstra püskürtme ucu ekleyebilir, yatağı özel bir sıcaklığa önceden ısıtabilir ve diğer birçok ayarı değiştirebiliriz. En yaygın iki dilimleyici olan Prusa Slicer ve Cura’da G Kodunu nasıl düzenleyeceğiniz aşağıda açıklanmıştır.
Prusa Dilimleyici Aracılığıyla G Kodu Ekleme
1. Yazıcı Ayarları’na ve ardından Uzman’a tıklayın. Bu, Prusa Slicer’ın tüm özelliklerini ortaya çıkaracaktır, bu yüzden dikkatli olun.
2. Özel G Koduna tıklayın.
3. Bir baskının Başlangıcı ve Sonu için özel G Kodu eklenebilir. Bu, Prusa Slicer kullanılarak dilimlenen her baskıyı etkileyecektir.
4. Nesneyi yazdırmaya hazırlamaya geri dönmek için Plater’a tıklayın.
Cura Dilimleyici Aracılığıyla G Kodu Ekleme
1. Cura’yı açın ve Ayarlar >> Yazıcı >> Yazıcıları Yönet’e tıklayın.
2. Makine Ayarları’na tıklayın.
3. Yazıcı başlangıç ve bitiş G Kodu artık doğrudan düzenlenebilir.
4. Ekstrüderin G-Kodunu düzenlemek için Ekstruder 1’e tıklayın.
5. Kaydetmek ve Makine Ayarları iletişim kutusundan çıkmak için pencereyi kapatın, ardından Tercihler iletişim kutusunu kapatın. Yeni bir baskıyı dilimlemeye hazır olarak Hazırla ekranına geri döneceksiniz.
Yaygın G Kodu Komutları
Emretmek | Açıklama | Misal |
---|---|---|
G1 | Çalışma yüzeyindeki iki nokta arasında doğrusal bir hareket. | G1 Z8; Z eksenini 8 mm kaldırın |
Motorların hareket ettiği ilerleme hızını (hız) mm/dakika cinsinden ayarlayın. | G1 F1500; Hızı dakikada 1500 mm olarak ayarlayın | |
50 mm’lik bir çizgide 25 mm’lik filamenti sıkın. (Baskıdan önce püskürtme ucunu temizlemek için kullanışlıdır) | G1 X50 E25 | |
G4 | kal. Diziye milisaniye cinsinden bir duraklama ekleyin. | G4 P1000 |
G20 | Ölçü birimini inç olarak ayarla | G20 |
G21 | Ölçü birimini milimetre olarak ayarla | G21 |
G28 | Tüm eksenler için ana sayfa | G28 |
G90 | Mutlak konumlandırma. Tüm koordinatlar, mantıksal koordinat uzayı olarak yorumlanır. | G90 |
M0 | Kullanıcı girişi için bekleyin, genellikle bir düğmeye basın. Not: Bu komut tüm 3B yazıcılarda çalışmaz! | M0 |
M18 | Step motorları devre dışı bırakın. | M18; Tüm adımlar |
M18 ZE; Z ekseni adımını ve ekstruder adımını devre dışı bırakın. | ||
M117 | 3B yazıcı ekranında bir mesaj görüntüleyin. Mesajlar harf, sayı ve bazı noktalama işaretleri içerebilen dizelerdir. | M117 Merhaba Dünya! |
M190 | Yatak sıcaklığını santigrat derece olarak ayarlayın. | M190 S60 |
M410 | Ani durdurma. Tüm kademeli motorların acil durdurması. Not: Bu komuttan sonra kademeli motorlar konum dışı olacak ve tüm eksenlerin ana konuma getirilmesi gerekecektir. | M410 |
M500 | Tüm ayarları EEPROM’a kaydedin. Geçerli yapılandırmanın üzerine yazacağı için dikkatli kullanın. | M500 |
M701 | Ekstruder kademeli motorunu belirli bir süre döndürerek filamenti yükleyin. | M701 |
M702 | Filament rulolarını değiştirirken kullanılan filamenti boşaltın. | M702 |