Yeni bir cnc mi doğuyor

Katılım
20 May 2007
Mesajlar
110
Puanları
1
Yaş
44
Herkese selamlar;

Arkadaşlar buradaki cnc konuları oldukça ilgimi çekti ve bende bir cnc yapmaya karar verdim, ancak bu işe cabuk karar vermem ve daha önceden cnc ile tecrübem olmadığından paylaşımlarım hatalı ve eksik olabilir,

sizlerden ricam beni yönlendirmeniz ve hep birlikte bu işi hayata geçirebilmek.

Şimdi benim yapmak istediğim cnc, mach3 yada benzer programlarla çalışmıyacak, bir bilgisayar programcısı arkadaşımın yazacağı kendine ait basitbir programı olacak ve bu G kodlarını alan program rs232 üzerinden plc ye satır satır gönderecek, plc ise FIFO mantığı ile bu g kodlarını bufferlıyacak ve sırası geldiğinde işliycek, motor olaraksa step yada servo motor değil redüktörlü ve driver ile hızı kontrol edilen 3 fazlı asm kullanıcam pozisyon bilgisini ise A,B,Z, fazlı encoder ile alıcam.

Şimdi soru 1, AutoCad gibi bir programla çizilmiş parça resmini DXF formatında kaydediyoruz ve bu kaydettiğimiz dosyayı Mach3 ile açıyoruz, Mach3 bu dosyadan G kodları oluştuyor ve oluşturduğu bu kodlara görede motorları çalıştırarak işlem yapıyor, bu benim bildiğim doğrumudur yoksa G kodlarını farklı yollarlama oluşturuyoruz ? Bunu şunun için soruyorum, bizim makinanın programı oluşturulmuş G kodlarını plc istedikçe satır satır plc ye göndermek olacak, yani resmi çizilmiş bir parçanın g kodlarını nasıl oluştururuz?

Yorumlarınız ve yardımlarınızı bekliyorum, iyi çalışmalar.
 
Bu sekilde, motoru suren birsey yaparsin ama o sey CNC olmaz. CNC makinelerde G kodlari tek tek degil, butun olarak degerlendirilir. Bir G kodunun oncesindeki ve ondan sonra gelen G kodlarina da bakilarak komutun nasil islenecegi degisir.

Ornegin motora 5 mm hareket etmesini soyleyen bir komut var islenecek. Bu komutun oncesinde motor duruyorsa farkli, ayni istikamette X hizinda hareket ediyorsa farkli, ters yonde Y hiziyla hareket ediyorsa farkli davranilir.

Ya da bir sonraki komutta, o eksende artik hareket yoksa farkli; ayni hizda devam edilmesini soyleyen bir komut varsa farkli davranilir.

Kullanmayi dusundugun motorun aslinda servodan bir farki yok, sifirdan servo imal etmeye calismis olacaksin ki o da ayri bir yuk.

G kodlari cogunlukla CAM programlari ile oluşturulur. Fazla karmasık olmayan hareketlerin G kodlari, dogrudan bir metin editorunde yazilabilir. Mach gibi programlarin DXF gibi dosyalari alip bunlardan G kod ureten basit CAM modulleri var. Yine Internet uzerinden bulabilecegin ve DXF formatli (veya bmp, jpg gibi resim formatli) dosyalardan G kod uretebilen yazilimlar mevcut.
 
Sn Emrah ilginiz için öncelikle teşekkürler;

"Bir G kodunun oncesindeki ve ondan sonra gelen G kodlarina da bakilarak komutun nasıl işleneceği degisir." demişsiniz, öncelikle şunu netleştiriyim çünkü ben yanlış veya eksik tarif etmiş yada sizin dediklerinizi yanlış anlamış olabilirim.

G kodlarını satır satır işliyecek derken o satırdaki x y z ve varsa diğer komutarıda sırasıyla işlemeyecek yani önce x eksenindeki pozisyonuna gittikten sonra y pozisyonuna gidicek sonrasındada z pozisyonuna gidecek şeklinde değil,

tüm satırı aynı anda işliyecek yani x y z pozisyonlarına aynı anda gidecek tüm satırkaki pozisyonlar okeyse bir allataki satıra geçecek, aşağıdaki kodlara örnek vermek gerekirse;

N9 G01 X 8.908 Y11.379 Z-1. ---> eksenlerin bu pozisyonda olduklarını varsayalım, sistem N10 satırına geçecek ve burayı işlemeye başlıyacak,

N10 G01 X 4.141 Y11.379 Z-1. ---> bu satırdaki eksenler aynı anda hareket edecek ve tümü ok ise bir alt satırdan devam edecek, sonrasında,

N11 G01 X 4.141 Y10.463 Z-1. --->bu satırdaki eksenler aynı anda hareket edecek ve tümü ok ise bir alt satırdan devam edecek, sonrasında,

N12 G01 X 8.542 Y10.463 Z-1. ---> tüm eksenler ok bir sonraki satıra geç
N13 G01 X 8.542 Y 8.263 Z-1. ---> tüm eksenler ok bir sonraki satıra geç
N14 G01 X 4.141 Y 8.263 Z-1. ---> tüm eksenler ok bir sonraki satıra geç
N15 G01 X 4.141 Y 6.612 Z-1. ---> tüm eksenler ok bir sonraki satıra geç

ben sistemin bu şekilde çalışacağı mantığını düşünmüştüm, bunlar doğrumudur?

Soru 1 : Her satır bir kordinat bilgisi değilmidir, sonucta cnc programının işi sırası gelen g kodlarına göre motorları istenilen yönde ve gitmesi gereken noktaya kadar çalıştırıp durdurmak ve bir alt satırdaki bilgilere göre yine motorları çalıştırmak ve durdurmak değilmidir,

Soru 2 : DXF formatlı dosyalardan, G kodu üreten programların ürettikleri kodlar birbirinden farklımıdır biraz daha açmam gerekirse dişli ismindeki DXF formatlı bir dosyayı X programı kullanıp oluşturduğum G kodları ile yine aynı dişli ismindeki DXF formatlı dosyayı y programı kullanıp oluşturduğum G kodları aynımıdır, yoksa her programın oluşturduğu g kodları farklımıdır.

3 fazlı asm kullanarak servo motor imal etmek kısmında ise seninle aynı fikirde değilim sonucta asm ve driver ı, servo takıma göre daha hesaplı burada fazladan yapacağım iş encoder işi benim amacım step yada servo kullanmadanda bu işin yapılabilirliği yoksa plc çıkışlarını kolayca step yada servoya çevirebilirim.

Saygılar, teşekkürler.
 
Soru 1 : Her satır bir kordinat bilgisi değilmidir, sonucta cnc programının işi sırası gelen g kodlarına göre motorları istenilen yönde ve gitmesi gereken noktaya kadar çalıştırıp durdurmak ve bir alt satırdaki bilgilere göre yine motorları çalıştırmak ve durdurmak değilmidir,

Her satırı tek seferde isleyeceginizi ve o satirdaki butun eksen hareketlerini aynı anda yapacagınızı anladım. Benim bahsettigim sey o degildi. Ornegin yukarida verdiginiz G kodda CNC makine N13 satirini islerken, N12 (ve daha onceki) satirlar ile N13,N14 (ve daha sonraki) satırları da dikkate alir ve ona gore N13 satirinin hareketi yaptirir. Yuksek hizli CNC'lerde 500 satir sonrasina kadar bakilip ona gore o anki satir isleniyor.

Bu is icin kullanilan teknik terim, backtracking ve look-ahead. Bu kelimelerle bakarsaniz ilgili dokumanlari kolaylıkla bulabilirsiniz.

Soru 2 : DXF formatlı dosyalardan, G kodu üreten programların ürettikleri kodlar birbirinden farklımıdır biraz daha açmam gerekirse dişli ismindeki DXF formatlı bir dosyayı X programı kullanıp oluşturduğum G kodları ile yine aynı dişli ismindeki DXF formatlı dosyayı y programı kullanıp oluşturduğum G kodları aynımıdır, yoksa her programın oluşturduğu g kodları farklımıdır.

G kodlarinin bir standarti olmasina karsin her makine ureticisinin kendi ilaveleri ve desteklemedigi kisimlar oluyor. O nedenle her G kod, her makinede calismaz veya ayni davranmaz. Bu sorunu asmak icin G kod ureten programlarda (yani CAM programlarinda) postprocessor islemi olur. Bu islemle, secilen makineye uygun G kod uretilir.

Sizin makine icin bir makine ureticisinin komut setini (mesela bu Fanuc olabilir) temel almaniz veya CAM programlari icin kendi postprocessorlerinizi hazirlamaniz gerekir.


Servo yerine asenkron motor kullanma konusunda sonucta olmaz demiyorum ama cok kulfetli is. Ve nihayetinde ortaya cikan sey bir servo motor olacak.
 
Emrah bey yardımlarınız için teşekkürler,

bahsetmiş olduğunuz backtracking ve look-ahead terimlerini biraz araştırdım yeni bir kaç cnc kontrol ünitesinde de bulunan bir özellikmiş, benim yapmak istediğimse böyle profesyonel bir sistem değilde amatör, hobi yada ev yapımı diye nitelendirebileceğimiz bir makina.

şimdi yanlış biliyor olabilirim lütfen düzeltin, mach tarzı programlar aldıkları g kodlarını satır satır işleyip motorlara kumanda etmiyor mu ? yani örneğini verdiğim program gibi nokta nokta ilerleyip parçayı işlemiyor mu? yoksa bu tip programlarda sizin bahsetmiş olduğunuz gibi mevcut satırı işlerken geçmişteki ve gelecekteki satırlara bakarak mı o anki satırı yorumlamlayıp, yani bizim verdiğimiz g kodlarına bir kısım bilgilerde ekleyerek kumanda ediyor ?

birde eksen bilgisinden sonra gelen rakamlar hangi birimdedir, aşağıdaki örnekte mesela N13 satırındaki X ekseni 8.542 mm. de iken N14 satırında X ekseni 4.141 mm. ye mi gidecektir ?

N13 G01 X 8.542 Y 8.263 Z-1
N14 G01 X 4.141 Y 8.263 Z-1


Teşekkürler...
 
Birimleri yine G komutlari ile seciyorsun. G21 metrik sistemi, G20 inch kullaniyor.
Verdiginiz yerdeki degerler mm ama sizin isinizde ornegin cm kullanmak uygunsa, standarta uymasa da surucu yazilimin adim/birim oranlarini degistirerek o degeri cm gibi kullanabilirsiniz.

Acisal eksenlerde de (A, B, C eksenleri) radyan veya derece kullanilir. Sanirim sizde acisal eksen olmayacak.

Mach'e gelince; Mach'in altyapisinin cok saglam oldugunu soyleyebilirim. Amerika'nın KOSGEB'i olan NIST'nin gelistirmis oldugu alt yapiyi kullaniyor. NIST'nin G kod yorumlayicisinda look-ahead ve backtracking ozellikleri var, dolayisi ile Mach'de de var. Mach'in sorunu calistigi platformun CNC icin uygun olmamasi ama hobi CNC'ler icin bu sorun yaratmaz.
 
Cnc programi icin look-ahead tipi kontrol olmazsa olmaz degil. Bahsettigin satir satir isleme de cnc sistemlerinde kullanilan bir yontem ve point to point kontrol olarak gecer.

Look-ahead kontrol point to point kontrola gore mekanizmayi cok daha hizli kulllanir, ancak hobby makinelerde zaten bu kontrolun sozkonusu oldugu hizlara yaklasman bile mumkun degil. Hele hele asenkron motor ve reduktor kullanacaksin ki sistemin son derece sagir olacak.

Emrah NIST kosgeb benzetmesi bence yanlis olmus. NIST bir standart enstitusu. Teknik konularda standartlar belirliyor. NC yazilim icin de koydugu bir standart var.

Look ahead konusunda Turkce dokuman

http://muhendislik.nigde.edu.tr/makina/images/CNC/yuksekhizlikontroller.pdf

Yalniz bu pdfin yazari ayip etmis. Bu dokuman, cnc kontrolu konusunda uzman bir zatin bir forum sitesinde yazmis oldugu yazinin cevirilerini iceriyor ve alinti yapildigindan hic bahsedilmemis.
 
Moderatör tarafında düzenlendi:
Emrah NIST kosgeb benzetmesi bence yanlis olmus. NIST bir standart enstitusu. Teknik konularda standartlar belirliyor. NC yazilim icin de koydugu bir standart var.

NIST'nin bir standart enstutusu oldugu dogru ama calisma sekli bizim TSE'den farkli. Sanayiye destek olmak icin gelistirdigi bircok proje var. Bunlardan birisi de gelistirmis olduklari hareket kontrol yazilimi. Bunu temel alip kendi urununu gelistiren bircok makine ureticisi var. Ornegin Mach bunu temel almis, Delta Tau yine bu alt yapi uzerine kendi kontrol unitesini gelistirmis. Bu acidan KOSGEB'e benzettim.

Gerci birseyler ureten bir kurumu KOSGEB'e benzetmek ne kadar dogru, o da ayri bir konu.
 
Selamlar

hobi cnc yapımının benim düşündüğüm kadar kolay olmadığını anladım, yapılması gereken bazı hesaplamaları excell e yaptırıp plc ye aktarmayı düşünüyorum (excell ile plc sürekli haberleşecek haberleşme hızı 19200)

G01 kodundaki doğrusal interpolasyonu hesaplayıp koordinata gidebiliyorum,

ancak G02 ve G03 kodlarındaki dairesel interpolasyonu nasıl yapabilirim, bunun formülü nedir örneklerle anlatabilirseniz sevinirim.

Teşekkürler...
 

Forum istatistikleri

Konular
128,179
Mesajlar
915,659
Kullanıcılar
449,943
Son üye
Ali4129

Yeni konular

Geri
Üst