3d Yazıcılarda ki İnterpolasyon

Başlatan flowchartx, 22 Ağustos 2022, 11:04:08

flowchartx

Değerli hocalarım herkese hayırlı günler..

3d yazıcılardaki interpolasyon olayı nasıl oluyor yani işlemci bunu nasıl yapıyor? Verilen g codelarını nasıl işliyor bilginiz varsa açıklarsanız çok sevinirim

ilyas KAYA

#1
X100 y 200 z0 E200 diye gcode geliyor.Makinede X ekseni motoruna 100 mm ilerle y ekseninde 200mm ilerle dur yapıyor. E ise extruderdir ornegin. 200 dereceye isit.

Bundan farklı olarak öğrenmek istediğiniz nedir anlamadım açıkçası.

Asil marifet gcode larini çıkaran yazılımda yani makine çok bisey yapmiyor  :)

esensoy

Alıntı yapılan: ilyas KAYA - 22 Ağustos 2022, 11:10:52X100 y 200 z0 E200 diye gcode geliyor.Makinede X ekseni motoruna 100 mm ilerle y ekseninde 200mm ilerle dur yapıyor. E ise extruderdir ornegin. 200 dereceye isit.

Bundan farklı olarak öğrenmek istediğiniz nedir anlamadım açıkçası.

Asil marifet gcode larini çıkaran yazılımda yani makine çok bisey yapmiyor  :)
3D printer için neyse de genel CNC interpolasyonu için olmamış bu yorum
Makineye G2 G3 ile bir daire çevrimi verirsiniz,
Mekaniğin, kontrolün, motorların mahareti orada ortaya çıkar,
En tehlikeli an "zafer" anıdır.

flowchartx

Yani aslında sormak istediğim dairesel ve linear interpolasyonu nasıl yapabiliyor. Motion controlde kullanılan interpolasyon algoritmalarıyla mı çalışıyor? Kendim böyle birşey yapmak istiyorum ama bu kısım için çok az kaynak var


ilyas KAYA

Alıntı yapılan: esensoy - 22 Ağustos 2022, 11:15:053D printer için neyse de genel CNC interpolasyonu için olmamış bu yorum
Makineye G2 G3 ile bir daire çevrimi verirsiniz,
Mekaniğin, kontrolün, motorların mahareti orada ortaya çıkar,


Kodlar örnek. Ayrıca işlemci tarafını sormuş arkadaş. Yorumun nesini beğenmedin ki ?

ilyas KAYA

Alıntı yapılan: magnetron - 22 Ağustos 2022, 11:37:28grbl yi incele

Evet grbl yada diğer 3d yazıcılar için olan açık kaynak kütüphaneleri inceleyebilirsiniz. En meşhur olan Marlin mesela.

Piyasada bir çok makine suan grbl(cnc, lazer) yada marlin(3d yazici) kütüphaneleri ile yapılıyor.

Biraz fazla kafa yormak gerektiği için zaten hazırda acik kaynak var olduğu için pek kimse yeniden yapmaya çalışmıyor olabilir .

muhendisbey

Şöyle düşünelim.
CNC dediğimiz kartezyen bir koordinat biçimi. Yani aslında üzerinde hayali minik noktaların olduğu hacimsel noktalar bulutu.

Sadece X ya da sadece Y ya da 45 derece işlemlerinde zaten bir problem yok.
Sadece X, ya da sadece Y'de gezinirken ileri ya da geri ilgili eksen motorunu hareket ettirmek yeterlidir.
45 derecelik harekette de X ve Y yi eşit miktarda hareket ettirmek yeterli.

Fakat 30 derece olduğunda? 22 derece olduğunda.
İşte bu noktada bilgisayardaki painti açtığımızda iki sağ bir üst, 3 sağ bir üst gibi piksellerin karartıldığını ya da aydınlatıldığını görürüz. Ancak bizim için bu çok yakından piksel olarak baktığımızda görülür.
İşte burada iki sağ bir yukarı yakılmasını sağlayan algoritmanın adı Bresenham algoritmasıdır. Pek ala CNC'de de bu algoritmayı kullanırız.
Bir de geliştirilmiş Bresenham gibi bu tırtıklanmayı minimal seviyeye taşıyan algoritmalar da kullanılmaktadır.
Keza S shape dediğimiz başka algoritmalar da zikzaklı yollarda bresenham algoritmasına yardımcı olarak kullanılır.

G kodları ile yönetilir bu tür makineler. Bunlar mevcut konum-gidilecek konum, ya da mevcut konum-artırımsal konum şeklinde olmak üzere iki şekilde hareket ettirilir. Bunlara mutlak konum ve artımsal konum adı verilir. G01 çizgisel, G02 saat yönünde arc, G03 ise saat yönünün tersine arc şeklindedir.

Detaylarını incelemeniz gerekir zira çok uzun konular.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

flowchartx

Arm işlemcide böyle bir algoritma geliştirmek istiyorum fakat örnek olarak kullanabilceğim şeyler çok fazla karmaşık ve anlamsız. Sizin anlattığınıza göre çizgi algoritması bu işin temeli bunları işlemciye uyarlamamız yeticek gibi duruyor. İstediğim çok kompleks birşey değil sadece basit bir algoritma yapmak istiyorum.

esensoy

Alıntı yapılan: ilyas KAYA - 22 Ağustos 2022, 11:50:56Kodlar örnek. Ayrıca işlemci tarafını sormuş arkadaş. Yorumun nesini beğenmedin ki ?
Marifet g code u çıkaran yazılımda değil. Daha ne diyeyim anlatmak için?
En tehlikeli an "zafer" anıdır.

muhendisbey

Alıntı yapılan: esensoy - 24 Ağustos 2022, 09:32:18Marifet g code u çıkaran yazılımda değil. Daha ne diyeyim anlatmak için?

Bu doğru değil.
Makine bir bütündür ve en zayıf halkası kadar iyidir.
Bu zayıf halka kullanıcı da olabilir, düzgün ayarlanmamış CAM yazılımı da.
Amatör kullanıcıya Mazak versen bir şey yapamaz
Profesyonel kullanıcı ise Çin malı makinesi olsa dahi makine sınırlarını zorlar.

O yüzden deriz ki makinede kullanıcı zayıfsa makinenin zayıflığı kullanıcı,
mekanik ise mekaniği,
elektroniği ise elektroniği,
firmwaresi ise firmwaresi,
CAD/CAM yazılımı ise CAD/CAM yazılımı. CAD/CAM yazılımları arasında bile dağlar kadar fark var.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

EGE

Hep söylediğim bir kelam vardır,
Dünyanın en iyi atı ırk olarak Arap atıdır ancak üstüne binen adam öküz olursa at ne yapsın,
Yani bir makinenin çok yeni olması süper olması bir şey ifade etmiyor maalesef.
 

ImVector



Senin için yukarıdaki resmi çizdim. Yukarıda gözüken resim ile bende cahil beynimin  yettiği kadar açıklamaya çalışayım.

Resimde    A(x0,y0) noktasından F(x10,y5) noktasına gitmek istiyoruz.

2 eksenli X ve Y gibi  Kartezyen makineler  her iki eksenide doğrusal ve uyumlu olacak şekilde hareket ettirerek  işlemlerini tamamlarlar. 
 
Eğer yukarıdaki gibi düz bir doğru çizmek istiyorsan iki eksenide uyumlu bir şekilde hareket ettirmek gerekiyor.
Resime dikkatli bakarsan  ve B noktasına bakarsan x ekseninde 2 adım atıldığında y ekseninde 1 adım atılmış. C noktasına bakarsan  x    4 adım   y     2 adım atmış. Tüm noktalara  dikkat edersen X  Y'den 2 kat daha fazla adım atıyor. 

Diyelimki  motorları zamana göre sürüyorsun. X motoru 1 saniyede bir adım atıyorsa Y motoru 2 kat daha uzun sürede adım atması yani 2 saniyede bir adım atması 
gerekir. Süre  en uzun eksene göre hesaplandığında X motoru 10 noktasına gidene kadar toplam 10 saniye sürecektir. y eksenide aynı şekilde 5 noktasına toplamda 10 
saniyede gitmiş olacaktır. İki eksende aynı sürede istenilen noktaya ulaşmış olacaklardır.

İşte bu iki eksen arasındaki uyumu sağlamaya enterpolasyon deniyor. Enterpolasyon      , değeri bilinen bir durum için bilinmeyen değerleri bulma yada tahmin etme yöntemidir denilebilir. Burada da X ekseni hareketini ve süresini bilip y ekseninini X eksenine göre ayarlamaya çalıştık.

Buna en basit  Linear Enterpolasyon deniyor. Dairesel veya Eğri gibi düzgün olmayan şekiller için farklı Enterpolasyon yöntemleri kullanılıyor. Bu konular çok zevkli konular. Ama matematik ve geometriye iyi hakim olman gerekiyor. Yoksa hiç uğraşma bulaşma bu işlere. Hiç bir şey anlamazsın .Fırsat buldukça bende öğrenmeye çalışıyorum. Yeni birşeyler geliştirebilme amacıyla  hobi olarak uğraşıyorum. Amacım ileride bu alana katkı sağlayacak bir şeyler ortaya koyabilmek.