Soru:
Spline'lar ve yaylar kullanarak baskıları daha hızlı yapmak için G kodunu nasıl sonradan işleyebilirim?
K Mmmm
2019-07-10 09:48:36 UTC
view on stackexchange narkive permalink

Son zamanlarda (2017'de), 3D yazıcılardaki titreşimleri azaltmak için bir B spline algoritması kullanan araştırmacılar tarafından biraz tanıtım yapan bir kağıt yayınlandı. Ancak onlardan önce, bir B Spline uygulaması ilk olarak DeepSoic adlı bir takma ad tarafından burada açık kaynaklı yapılmış gibi görünüyor. Araştırma belgesinde açıklanan yöntemi, işleme sonrası G kodunu kullanarak daha hızlı yazdırabilmek istiyorum. Bu iki kaynağın temelde aynı tekniği kullandığından oldukça eminim, ancak bazı şeyleri yanlış anlıyor olabilirim.

Temelde seyahat hareketleri için durup başlamak yerine, hız değişiklikleri kıvrımlı bir şekilde yapılır, bu nedenle kafa asla durur ve yazıcı asla sallanmaz. Bu, baskıyı daha pürüzsüz ve daha hızlı hale getirir. Bence 10 kat daha hızlı yazdırmak, bir kez denediğinizde gerçekten harika bir şey. Lazer kesim, farklı bir nedenle kübik spline'lara dayanır; uzayda eğriler oluşturmak için. Ancak bu teknikler, baskı kafasında daha yumuşak hareket yayları oluşturmak için kafa hızlandırma / hızlanmayı ayarlamak için bunları kullanarak 3D baskıya özgü bir şey yapıyor gibi görünüyor. Lazer kesiciler sabit bir kafa hareketine sahip olduğundan, bu teknik onlara pek yardımcı olmaz.

Olumsuz yanı, tüm verileri gönderdiği için USB bağlantı noktasını aşırı yükleyerek çok daha fazla G kodu komutu oluşturmasıdır. çok hızlı bir virajda işaret ediyor. Bugün akıllı bir kişinin onu gerçekten yalnızca bir SD kart aracılığıyla (dezavantajları olan) veya ücretsiz Wi-Fi modülüne sahip bir 3D yazıcı satın alması durumunda (dezavantajları da var) kullanacağını varsayıyorum. Belki yüksek bir baud hızı yardımcı olabilir.

Bu açıkça son derece önemli, faydalı ve basit algoritmayı kullanmanın başka yerleşik yolları olup olmadığını merak ediyordum. Başlangıçta bunun bir dilimleyicide bir onay kutusu olarak eklenmesi gereken bir şey olduğunu ve Marlin'de uygulanacak bir şey olmadığını düşünüyordum. Ancak bu yazıyı yazdıktan sonra, bir Marlin uygulamasının bu tekniği USB üzerinden kullanmanıza izin vereceğini fark ettim, ancak yalnızca dilimleyici atıcılar da bu optimizasyon için özel G kodlarını kullanıyorsa. Araştırma makalesi gibi bir son işlem tekniği mi yoksa Marlin dostu özel bir versiyonu mu umurumda değil, sadece bu Huawei Wi-Fi modülünü kullanmam gerekse bile bu tekniği kullanmak istiyorum.

Temel olarak, bu tekniği bir dilimleyici veya başka bir yazılım aracılığıyla kullanmaya başlamanın en iyi yolunu bilmek isterim.


CNC lazer kesiciler ve 3D kullanıcıları arasında bir yanlış iletişim olduğunu düşünüyorum. yazıcılar. Lazerle kesmede yaylar, filament ekstrüzyonuna eşdeğer olan kesim yolunu tanımlamak için kullanılır. Lazer kesimde lazerin kendi hareketi sabittir. Ancak 3B yazdırmada, çevre boyunca hareket ederken baskı kafasının hızını yumuşatmak ve ardından doldurmak için yaylar kullanılabilir. Lazer kesimde sorun olmayan kafayı iyi kontrol etmek için ark kullanıyor. Modelin kendisi değil kafa hareketi ile ilgili olduğu için, STL dosyasının gerçekten ne kadar önemli olduğunu anlamıyorum.

Bu gerçekten kafa hızını ayarlamak için bir yay kullanmakla ilgili (konumun ilk türevi). Modelin şekli hakkında hiçbir şey yok (sadece konum olabilir). En azından benim yorumum bu.

Wi-Fi modülü ilginç çünkü yönlendiricimden bir IP adresi alıyor ve ardından yönlendiricim onu ​​bağlı bir cihaz olarak listelemeyi bırakıyor. Ama yine de bağlı çünkü ona kablosuz olarak erişebiliyorum. Bu çift kafayla ilgili diğer bazı sorunları çözebildiğimde, ona daha fazla bakacağım. Ancak şu ana kadar arka kapıya kapalı olabileceğini düşünmek için bir neden var.

G2 ve G3 hareketlerindeki (yaylar ve daireler) sorun, STL'lerin yalnızca düz yüzeylerden oluşmasıdır.
Sorunun daha hızlı baskıya atıfta bulunmasını merak ediyorum, ancak günde hack-a-day projesi hız hakkında hiçbir iddiada bulunmuyor. 3dprint.com'daki makale, sorudaki günlük hack bağlantısından farklı bir proje gibi görünüyor.
@Davo Bu önemli olmamalı, akıllı dilimleme yazılımı, ardışık noktaların bir daire parçasının parçası olup olmadığını tespit edebilmeli ve teorik olarak G2 / G3 kodlarına bölünebilmelidir. Alternatif olarak, bir işlem sonrası eklenti veya program bunu yapabilir, ancak bu STL dosyasının bir sınırlaması değildir.
Iki yanıtlar:
0scar
2019-07-20 19:37:42 UTC
view on stackexchange narkive permalink

Güvenilir resmi kaynaklara bağlantıya cevap vermek isterdim, ancak doğrudan B-spline baskıya da referans ekleyemiyorum. Bu yüzden düşüncelerimi yazıyorum. Ne olduklarını anlamak için B-spline'lar konusunda bilgi sahibi oldum ve OP tarafından verilen 2 referansı okudum.


Temel olarak, yazıcı yazılımı yalnızca düz çizgilerin yazdırılmasına izin veriyor . Evet, yazıcıya bir eğri yazdırması için emir verebileceğimizi biliyorum ( G2 veya G3 kullanarak), ancak bunlar sonunda düz çizgiler yazdırmaya dönüştürülecek. Doğrudan bildiğim kadarıyla kübik eğrileri yazdırmak için hazır yazıcı ürün yazılımı mevcut değil. Mümkünse, bu eğriler, zamanlanmış kademeli dönüş çıkışı donanım yazılımı tarafından sonunda daha küçük düz çizgilere dönüştürülmelidir. Bu ekstra hesaplamalar, yazıcı anakartı işlemcisi için hatırı sayılır bir çaba gerektirir; büyük olasılıkla 8 bitlik bir işlemcinin üstesinden gelebileceğinden çok daha fazlası.

2017'de yayınlanan makaleyi G kodu ön işleme yazılımıyla karşılaştırmak, her ikisinin de B-spline tekniklerine atıfta bulunuyor gibi görünmesine rağmen, farklı şekilde uygulandığını ortaya koyuyor. Örneğin, ön işleme yazılımı, bunları B-spline eğrileriyle değiştirerek (ve gerçek baskı nesnesini etkilemeyerek) doğrusal hareket hareketlerini azaltmayı amaçlarken, kağıt B- tarafından optimize edilen gerçek baskı eğrilerinin optimizasyonuna odaklanır. spline eğrileri (ayrıca bir ön işlemci kullanarak). Eğrileri yazdırmak için 3B yazdırma ürün yazılımı çözümü olmadığından, yazıcının nesneyi gerçekten yazdırabilmesi için her ikisinin de nihayetinde çok sayıda küçük düz çizgi oluşturması gerekecektir. Makaledeki yöntemin, aynı nesneyi B-spline optimize edilmiş örnekten çok daha hızlı yazdırabileceklerini gösteren RepRap topluluğu tarafından sorgulandığını unutmayın. Dahası, Marlin topluluğunun muhtemelen bu yönde ilerlediğini unutmayın. bu özellik isteği ve bu G kodu meta özeti; G-kodu talimatı G5.

Dolayısıyla, her iki yöntem de dilimlenmiş koordinat (baskı) hareketlerinin tanımlanması ve Bézier / B-spline eğrilerine çevrilmesi yoluyla G-kodlarının pro-işlenmesine dayanır (baskı) hareketleri için, sonunda normal G0 / G1 (baskı) hareketlerine çevrilir. Marlin topluluğu / geliştiricilerinin yakında Bézier veya B-spline eğrilerini uygulamayı hedeflediği görülmemektedir. Bu, B-spline'ları yazdırmak istiyorsanız, kendi ön işlemcinizi yapmanız veya Marlin C ++ geliştirmesine dalmanız gerektiği anlamına gelir; 8-bit tabanlı bir yazıcı kartı gerçekten de bahsettiğimiz OP'de olduğu gibi yeterli olmayacaktır, 32-bite yükseltme veya USB ile arayüz oluşturma tek çözüm olabilir.

Buna katılmıyorum, çünkü eşit hacimli bir silindiri dikdörtgen prizma olarak basmak benim için yazıcımda çok daha hızlı. Cura tarafından tahmin edilen süre buna göre ayarlanmıyor, ancak silindirin çok daha hızlı bastığından eminim.
@steveantwan Lütfen kendi cevabınızı yazarak fikrinizi genişletin, muhtemelen yorumlarda tartışmaktan daha iyi bir çözüm olacaktır. Unutmayın, konuşmalar için bir [sohbet] var, özel sohbet bile mümkün.
user77232
2019-07-19 02:42:50 UTC
view on stackexchange narkive permalink

Daha pratik bir ifadeyle, parçayı köşeleri yuvarlatılacak (fileto olarak da bilinir) tasarlayabilirsiniz. Bu, yazıcı kafasının hareket etmesine yardımcı olacak ve "sarsıntıya" neden olan ani durma ve başlatma etkisini önleyecektir. Daha fazla 8 bit denetleyici, sd karttan veya seri bağlantı noktasından büyük miktarlarda g kodu okurken doyma eğilimindedir. 32 bitlik bir denetleyiciye yükseltmek, bu tür bir sarsıntıyı önleyecektir.

Bu yöntemlerin ikisi de, baskıyı hızlandırmaya kıyasla sönük kalır. Donanımı daha hızlı olacak şekilde yükseltmek (çeşitli yöntemler mevcuttur), g kodunu optimize etmeye çalışmaktan daha kısa bir süre sağlar (benim düşünceme göre). Filamentin yeterince hızlı erimesini sağlayabileceğinizi varsayarsak, Delta yazıcılar en hızlı FDM yazıcı türü olma potansiyeline sahiptir.

OP 'güvenilir ve / veya resmi kaynaklardan çizim' istiyor, lütfen bazı referanslar ekleyin.
Bu cevap, OP'nin yapmaya çalıştığı şeyin neredeyse işe yaramaz olduğunun farkındadır. Ne doğrusal bölümlemeden kaynaklanan titreşim / hızlanma / sarsıntı sınırları ne de segmentleri yeterince küçük hale getirmekten kaynaklanan gcode ayrıştırma oranı, ivme modelinin esasen gerçek eğimli yollarla aynı olduğu, yazdırma hızını sınırlayan faktördür. Sınırlar, mekanik parçalardaki temel titreşim / ivme sınırları ve ekstrüderin hacimsel erime / ekstrüzyon hızı olacaktır.


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 4.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...