Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Slic3r ist der Standard-Slicer in Repetier Host und hier kann alles zum Slic3r diskutiert werden
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2067
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 268 times
Been thanked: 544 times

Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von rf1k_mjh11 »

Die Unsauberen Ecken

Hier kommt meine nächste Eingebung oder eher Erkenntnis. Nachdem das sprichwörtliche ‚Licht‘ anging, habe ich im Netz danach gesucht, ob es sich dabei um ein bekanntes Problem handelt, bzw. ob die Ursache dafür klar war. Da war ich erfolglos. Niemand scheint meine Meinung bezüglich Ursache zu teilen. Daher stelle ich meine These hier ins Forum, zur Diskussion.
Es geht um die Ursache der unsauberen Ecken. Ich spreche (eigentlich schreibe ich ja) hier Anfangs nur über Außenecken, obwohl meiner Meinung nach auch die Innenecken unter der gleichen Ursache leiden.
Mit unsauber ist nicht gemeint, dass die Außenecke nicht scharfkantig ist. Die Ecke wird immer mindestens den Radius des halben Düsendurchmessers aufweisen. Das lässt sich mit dem angewendeten Prozess nicht vermeiden. Ebenso möchte ich dezidiert jene Ecke ausschließen, wo der Raupenpfad des jeweiligen Layers beginnt und endet (diese ist häufig unsauber).

Ich spreche jene Außenecken an, die eine leichte Ausbeulung aufweisen, in etwa so (simuliert):
BulgingCorners_1b_cropped.17.jpg
Im Netz finden sich mehrere solcher Bilder echter Bauteile, meist in Beiträgen, wo eine Ursachenbekämpfung besprochen wird. Hier, hier oder hier, zum Beispiel.
Als Ursache in allen Beiträgen müssen eine Mischung aus Jerk, Überextrusion, Drucktempo, Extruder Kalibrierung und weiteren Variablen als Grund herhalten, ohne auf den eigentlichen, mathematisch zwingenden Grund hin zu weisen.

Betrachten wir den Pfad der Düse wenn es um die Ecke saust. Ignorieren wir erstmals die Tatsache, dass die Düse vor der Ecke verzögert, und nach der Ecke beschleunigt. (Theoretisch macht der Extruder beim Fördern des Materials die gleichen Beschleunigungen mit, womit sich das theoretisch ausgleicht. Ich möchte hier auch nicht auf Pressure Advance eingehen, denn es bekämpft meiner Meinung nach die Ursache ebenso nicht.)

Fangen wir zuerst einmal ganz einfach an.
Stellen wir uns vor, die Düse fährt einen geraden Pfad entlang, bleibt eine Tausendstelsekunde stehen und fährt mit magisch geänderter Farbe weiter. Wir blicken entlang der Düsenachse, also beim RFx000 von oben auf das Bett. So:
BeadStraightOnwards.jpg
Der erste Teil des Pfades ist violett gezeichnet. Nach der kurzen Pause ist der weitere Pfad orange eingefärbt. Die Raupe ist anfangs rosa, danach grün.
Sehen wir uns an, was passiert, wenn der Pfad einen 90° Knick macht, also um die Ecke fährt:
Hier wird ein zu fahrender Pfad samt vorgesehener Fahrtrichtung dargestellt:
Path.jpg
Als erstes sehen wir uns die extrudierte horizontale Raupe bis zur Ecke an:
Horiz_bead.jpg
An der Ecke angekommen, hat die Raupe (in etwa) nach vorne hin eine runde Kontur. Hier ‚biegt‘ die Düse um die Ecke und beginnt in die andere Richtung, nach unten, zu fahren:
ProblemArea_0.jpg
Eigentlich ist es so, als ob ich vom ersten Bild einfach die grüne Bahn um 90° nach unten gedreht hätte (was ich in CAD auch tatsächlich getan habe).

So weit so gut. Zumindest vom Ablauf her. Sieht man genau hin, kann man ein Problembereich erkennen. Hier ist es deutlicher hervorgehoben, in einer dunklen Schattierung:
ProblemArea.jpg
In dem dunklen Bereich wird Material extrudiert, wo bereits vom vorherigen Pfad Material extrudiert wurde. Da ist kein Platz für zusätzliches Material.

Wo geht es hin?

Wo geht das Zuviel an Material hin? Bei der Einstellung mit nur einem Perimeter wird das Material vermutlich gleichmäßig rechts und links der vorgesehenen Bahn ausweichen. Die Raupe in diesem kleinen Bereich muss also eine Spur breiter werden. Dasselbe gilt, bei mehreren Perimetern, für die erste hingelegte Perimeter-Raupe. Auch hier wird das Material beidseitig etwas ausweichen können.

Die meisten Slicer machen die äußeren Perimeter als letztes. Zuvor werden die weiteren Perimeter gelegt, je nach der vorgegebenen Anzahl der Perimeter. Zuerst kommt der innerste Perimeter, dann die weiteren der Reihe nach, bis, als letztes, der äußerste Perimeter gelegt wird.

Und hier macht sich das Problem des fehlenden Platzes besonders bemerkbar. Beim innersten Perimeter, der als erstes gelegt wird, kann das zusätzliche Material beidseitig ausweichen. Dabei belegt es jedoch ungeplant und scheinbar unvorhergesehen etwas vom Platz des angrenzenden Perimeters weg, der erst noch gedruckt wird. Dummerweise benötigt aber der nächste Perimeter just an der Stelle auch noch zusätzlichen Platz, und kann dabei aber nicht mehr beidseitig ausweichen, denn auf der einen Seite befindet sich ein bereits erkalteter Perimeter (der innerste). Damit kann das überschüssige Material nur mehr auf eine Seite ausweichen, und zwar in einem größeren Ausmaß als beim ersten Perimeter. Damit nimmt die Beule ungeplant noch mehr Platz vom nachfolgenden Perimeter weg. Mit jedem weiteren Perimeter wird es schlimmer und schlimmer. Damit entsteht die unschöne Ecke.
Ähnlich so:
BulgeGrowth.jpg
Man sieht eine Lücke zwischen den Bahnen, genau in der Ecke, die (zufällig?) dem Überlappungsbereich entspricht. Ein kleiner Teil der Beule wird auch sicher hier Platz finden. Doch das Problem entsteht durch die unvermeidliche Ausbeulung an der anderen Seite. Es ist diese Seite, wo sich mit der Anzahl der Perimeter die Beule stetig vergrößert.

Eigentlich sollte es pro Fläche/Seite immer nur eine Beule an einer der zwei Ecken sichtbar sein, nicht an beiden wie in einem der verlinkten Bildern (das Bild mit dem roten Würfel). Dieses zeigt interessanterweise beidseitig eine Beule. Hier könnten zusätzliche Gründe dazu geführt haben, dass die zweite Beule entstand.

Wie gesagt, pro Seite sollte es nur eine Beule geben, denn die Beule entsteht (oder sollte entstehen) an der Seite nach dem Abbiegen, nicht an der Seite davor. Und da der Perimeter üblicherweise nur in einer Richtung umfahren wird, kann nur an einer Ecke pro Seite die Beule entstehen.
Ich versuchte einige schöne Beispiele aus meinem Fundus aufzutreiben. Die meisten sind nachgearbeitet, abgenutzt oder sonst wie nicht fotogen. Ich konnte jedoch die Regel Immer nur eine Beule pro Seite an mehreren Teilen bestätigen. Wem stinklangweilig ist, kann gerne das Forum auf gute Beispiele durchackern.

Falls jetzt der Einwand kommen sollte, der Slicer wird das ja wohl kompensieren, kann ich zumindest für Slic3r und PrusaSlicer sagen: das tun sie höchstwahrscheinlich nicht. Ich tat mir die Arbeit an und konstruierte ein kleines Teil. Dieses wurde geslicet und ausgewertet:
SlicerTestPiece.jpg
Herausgekommen ist, dass die Extrusionsmenge der 50mm langen Strecke exakt 50-mal so viel ist wie an der 1mm Strecke. Würde der Slicer die Ecke in irgendeiner Weise berücksichtigen, müsste es sich um einen konstanten Betrag pro Ecke handeln, was sich auf einer kürzeren Strecke prozentuell stärker auf die Extrusionsmenge auswirken sollte als auf einer längeren (was es nicht tut!). Damit bin ich mir ziemlich sicher, dass Slic3r und PrusaSlicer (dass ich verwendete und welches auf Slic3r beruht) beide das Problem der Überextrusion in den Ecken nicht berücksichtigen.

Interessant wäre, ob ein käufliches Programm wie S3D dies tut. Nett wäre es, wenn sich einer mit S3D die Arbeit antut und dies überprüft.
Dazu so ein Modell wie oben slicen und die Bahnen in einem Layer analysieren. (Um Fehler zu vermeiden, hilft es sämtliche abweichende Einstellungen vorübergehend auszuschalten: Elefantenfußkompensation, abweichende Layerhöhe und/oder Raupenbreite des ersten Layers, usw.. Wer sehr versiert ist, kann sich das sparen und einen späteren Layer analysieren.) Falls ein STL benötigt wird, kann ich es gerne bereitstellen.

Ich bin mir meiner Sache schon ziemlich sicher (was Slic3r & PrusaSlicer betrifft). Deswegen habe ich im vergangenen Jahr (genauer gesagt: Gestern) bereits ein Ticket für Slic3r auf Github eröffnet.

Falls meine Theorie richtig ist, ist dieses Forum so ziemlich weltweit die erste, die das Problem als solches erkannt und aufgezeigt hat.

Alles Gute im Neuen Jahr,

mjh11
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF1000 (seit 2014) mit:
  Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
  Ceran Bett
  FW RF.01.47 (von Conrad, modif.)

Die Natur kontert immer sofort mit einem besseren Idioten.
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3391
Registriert: So 15. Nov 2015, 20:55
Has thanked: 745 times
Been thanked: 591 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von AtlonXP »

Hallo rf1k_mjh11,
rf1k_mjh11 hat geschrieben: Falls meine Theorie richtig ist, ist dieses Forum so ziemlich weltweit die erste, die das Problem als solches erkannt und aufgezeigt hat.
Ne ne du, das ist schon ein alter Hut!
Zu Zeiten als der Ultimaker als bester Drucker gegolten hat (Jahre her), wurde dieses Problem schon am 3D Druckerstammtisch diskutiert.

Ultimaker hatte damals eine neue Firmware heraus gebracht und stillschweigend ACC von 1000 auf 800 gesenkt.
Gerade um dieses Problem zu verbessern.

Zu deiner Darstellung habe ich noch etwas hinzugefügt.
Ich entschuldige hier gleich mal mein ungefähres Gemälde.

Vom Prinzip stimme ich dir hier zu.
Das Problem wird in der Regel über die FW versucht zu kompensieren.
ProblemArea_ueberarbeitet.jpg
Wenn die Ecken im Druck innen einen Radius haben, dann kann ich das verschmerzen.
Das Überschwingen wo ich nachträglich eingezeichnet habe jedoch nicht.
Ja, wenn man zuerst die außen Kontur und dann die Innenkontur druckt sollte es besser funzen (überschwingen).
So lassen allerdings Überhänge nicht mehr vernünftig drucken!

Folglich Ultimaker (ältere Cura Version) und meine ältere S3D Version
bieten hier als Slicer keine Optionen um das Überschwingen zu beheben.
Maßgeblicher Einfluss ist hier ACC und der zusammenhängende Jerk.
Somit werden langsamer die Ecken ausgefahren und der Drucker fährt auch Eckiger.

Trotzdem stimme ich deiner Begründung hier zu.
Bei Druckbahn Ende und Druckbahn Neustart (um die Ecke), haben wir vermutlich die Materialmenge von einem Düsenradius zu viel!
Dieser Materialüberfluss macht sich dann als den Überhang, wo ich eingezeichnet habe bemerkbar.
Wenn man nun den Materialfluss reduziert, senkt man die Digits.
Der Materialüberfluss macht sich weniger bemerkbar.
Doch leider gibt es dafür Lücken zwischen den einzelnen Layern.
Ich habe in die Skizze noch zwei Kringel eingezeichnet.
Es soll zwei neben einander liegende Maden im Schnitt darstellen.
Wie auch dort zu sehen, fehlt bei einem Hunger mucken druck, Material in den Lücken.
Das bedeutet, die Stabilität leidet und der erste Layer ist zur Grundfläche nicht geschlossen.
Man sieht dort noch die einzelnen Layer bahnen.
Bei weiteren Folgelayern sieht man das auch.
Damit die Grundfläche geschlossen ist, stelle ich meinen Z- Offset einfach auf -0,03 mm tiefer.

Meines Erachtens wird dieses angesprochene Problem in der Drucker Firmware gelöst.
Eine Funktion in irgendeinem Slicer ist mir nicht bekannt.
Es gibt jedoch Drucker die dieses Problem nicht mehr aufweisen.

Ich gehe davon aus, dass dieses Problem bereits bei manchen Druckern in der FW gelöst wurde.
Eventuell auch bei Klipper mit Advance?
Advance funzt in der Community und Conrad Firmware nicht!


Anmerkung:
Das Mathematische Rundungsverhalten, Layerbahn Länge und dem zu bestimmenden Materialfluss,
wurde von Nibbels in unserer Community FW verändert.
Hierdurch wurden ein paar andere Probleme gelöst, ich vermute jedoch, dass dieses Problem verstärkt wurde.
Die Conrad Version müsste hier sogar sauberer drucken können, aber dafür nicht so schnell!

LG AtlonXP
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
mhier
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 1672
Registriert: Fr 11. Sep 2015, 11:37
Has thanked: 279 times
Been thanked: 246 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von mhier »

Pressure Advance heißt hier die Lösung und gibt dir gleichzeitig auch die Erklärung. Da das Material zwischen Extruder-Ritzel und Hotend abhängig von der Extrusionskraft gestaucht wird, und weil die Extrusionskraft proportional zur Extrusionsgeschwindigkeit ist (in sehr guter Näherung, solange man nicht hart an der Geschwindigkeitsgrenze des Hotends arbeitet), wird das Material also gestaucht, wenn der Drucker beschleunigt, und es entspannt sich wieder wenn der Drucker abbremst. Dadurch wird dann in Phasen der Beschleunigung zu wenig Material und in Phasen des Abbremsens zu viel Material extrudiert. Da bei Kanten der Drucker einmal komplett zum Stillstand abbremsen muss, ist der Fehler dort besonders stark sichtbar. Ein anderes Symptom ist aber auch Oozing, da auch über den Zeitpunkt des vollständigen Stillstands hinaus zu viel Material geförtdert wird (also in dem Fall ist "zu viel" bereits mehr als nichts).

Wer noch mit der Repetier-basierten Firmware unterwegs ist, hat keine Wahl und muss die Beschleunigung reduzieren. Das hat Auswirkungen auf die Druckzeit und löst das Problem natürlich nicht ganz. Ich empfehle auch deshalb allen den Wechsel zu Klipper, denn dort funktioniert Pressure Advance hervorragend. Damit wird das Problem präzise kompensiert. Wer genaueres wissen will, dem Empfehle ich die Anleitung von Klipper zu dem Thema (selbst wenn man Klipper nicht verwendet liefert diese Anleitung einiges an Hintergrundinformationen):

https://www.klipper3d.org/Pressure_Advance.html

Übrigens denke ich, dass es gewisse "magische" Beschleunigungen gibt, bei denen das Problem nicht so deutlich wird wie bei anderen Beschleunigungen. Möglicherweise ist 800mm/s^2 (zumindest bei AtlonXP's Drucker-Exemplar und Einstellungen) so eine "magische" Beschleunigung. In dem Fall kompensieren sich möglicherweise die Effekte unmittelbar vor und nach der Ecke halbwegs, also das Material was nach der Ecke noch heraus "oozed" aufgrund dem Abbremsen vor der Ecke kompensiert in etwa das fehlende Material durch die Beschleunigung nach der Ecke. Das klappt dann aber nur bei bestimmten Winkeln und auch andere Parameter werden einen Einfluss haben. Ich musste immer eher so auf 500mm/s^2 gehen, um saubere Ecken zu bekommen (und ich bin bestimmt nicht anspruchsvoller als AtlonXP ;-)). Weiterhin wird dieser Trick nur in bestimmten Situationen funktionieren, insbesondere nur bei durchgehenden Bewegungen. An der Ecke, wo der Drucker die Raupe startet bzw. beendet, klappt das nicht, denn davor bzw. danach ist dann ja ein Travel-Move. Man kehrt das Problem also nur ein bisschen unter den Teppich anstatt es wirklich anzupacken. Mit korrekt eingestelltem Pressure-Advance sind Beschleunigungen von 5000mm/s^2 auch kein Problem mehr (ich plane sogar noch höher zu gehen, da macht meine Hardware aber nicht mit im Moment wegen der Kugelumlaufspindeln -> Stichwort Servos).

Für mich bleibt allerdings unverständlich, warum Slicer diese Kompensation nicht selbst anbieten und man sich hier auf Firmware-Implementierungen verlassen muss. Im Slicer wäre das genauso gut möglich, aber Slicer bieten wenn überhaupt nur die Möglichkeit, den Advance-Parameter der Firmware zu setzen (der ist material- und temperaturabhängig, muss also durchaus umkonfiguriert werden).
Gruß, Martin

Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung

(Ich bin in diesem Forum nicht mehr aktiv)
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3391
Registriert: So 15. Nov 2015, 20:55
Has thanked: 745 times
Been thanked: 591 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von AtlonXP »

mhier hat geschrieben: Weiterhin wird dieser Trick nur in bestimmten Situationen funktionieren, insbesondere nur bei durchgehenden Bewegungen. An der Ecke, wo der Drucker die Raupe startet bzw. beendet, klappt das nicht, denn davor bzw. danach ist dann ja ein Travel-Move.

Möglicherweise ist 800mm/s^2 (zumindest bei AtlonXP's Drucker-Exemplar und Einstellungen) so eine "magische" Beschleunigung.
Vor dem Travel Move kommt noch ein Retract.
S3D bietet hierzu eine Funktion die heißt „Coast at end“, mit einer Millimeter Eingabe.
Diese Funktion reduziert das Material fördern (auslaufen) vor dem Retract.
Hilfreich sind hier manchmal wenige 0,001 mm.

Wenn die Made wieder nach einer Runde zusammen trifft, entsteht entweder eine kleine Lücke, oder ein kleiner Bobbel (Z- Naht).
Bei PLA entsteht gerne ein Bobbel.
Bei ABS entsteht gerne eine kleine Lücke.
Durch das Setzen von Random Startpunkt, verteile ich diesen Fehler auf den gesamten Umfang.

Mit einem Positiven Zahlenwert kann man diesem Bobbel entgegen wirken.
S3D nimmt leider dort keine negativen Werte an, um einer Lücke entgegen zu steuern.

Die 800mm/s^2 beziehen sich auf einen Ultimaker, der wesentlich weniger Masse auf den Achsen zu bewegen hat.

LG AtlonXP
mhier
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 1672
Registriert: Fr 11. Sep 2015, 11:37
Has thanked: 279 times
Been thanked: 246 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von mhier »

AtlonXP hat geschrieben: Vor dem Travel Move kommt noch ein Retract.
Vielleicht. Wenn der Travel Move lang genug ist, wenn es nicht zu viele Travels auf den letzten Millimetern des Filaments gab etc.
S3D bietet hierzu eine Funktion die heißt „Coast at end“, mit einer Millimeter Eingabe.
Jupp. Retract und Coasting sind das Pressure Advance des armen Mannes :-P Beide sind unabhängig von der Vorgeschichte und passen desshalb vielleicht so im Mittel, aber eben nicht im konkreten Einzelfall.
Wenn die Made wieder nach einer Runde zusammen trifft, entsteht entweder eine kleine Lücke, oder ein kleiner Bobbel (Z- Naht).
Bei PLA entsteht gerne ein Bobbel.
Bei ABS entsteht gerne eine kleine Lücke.
Warum ist das so? (Entspricht auch nicht unbedingt meiner Beobachtung... Auch nicht ohne Pressure Advance)
Durch das Setzen von Random Startpunkt, verteile ich diesen Fehler auf den gesamten Umfang.
Ja genau, dann werden alle Ecken wenigstens gleich scheisse... :-D
Mit einem Positiven Zahlenwert kann man diesem Bobbel entgegen wirken.
S3D nimmt leider dort keine negativen Werte an, um einer Lücke entgegen zu steuern.
Meinem Verständnis nach müsste negative immer falsch sein. Ich denke, du hast da noch ein anderes Problem.
Die 800mm/s^2 beziehen sich auf einen Ultimaker, der wesentlich weniger Masse auf den Achsen zu bewegen hat.
Der Effekt hat nichts, aber auch gar nichts mit der Masse der Achsen oder der Stabilität zu tun. Es geht nur um das Filament zwischen Extruder-Ritzel und Schmelzzone. Demnach hängt es natürlich von der Strecke ab, je kleiner der Abstand, desto geringer der Effekt. Im Vergleich zu nem RF1000 kann man vielleicht noch 20% oder 30% einsparen, mehr aber auch nicht. Ein Bowden verliert hier klar.
Gruß, Martin

Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung

(Ich bin in diesem Forum nicht mehr aktiv)
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3391
Registriert: So 15. Nov 2015, 20:55
Has thanked: 745 times
Been thanked: 591 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von AtlonXP »

mhier hat geschrieben:Durch das Setzen von Random Startpunkt, verteile ich diesen Fehler auf den gesamten Umfang.
Ja genau, dann werden alle Ecken wenigstens gleich scheisse... :-D
Du solltest nicht nur eckig denken, sondern auch mal rund. :coolbubble:
Mit einem Positiven Zahlenwert kann man diesem Bobbel entgegen wirken.
S3D nimmt leider dort keine negativen Werte an, um einer Lücke entgegen zu steuern.
Meinem Verständnis nach müsste negative immer falsch sein. Ich denke, du hast da noch ein anderes Problem.
Mathematisch gesehen hast du Recht.
Trotzdem wäre es wünschenswert diese Funktion im Gegenteil auch verwenden zu können.
Das Problem liegt hier nicht an der Material Menge, sondern an den letzten paar hundertstel,
wo zu früh aufgehört wird zu fördern!

Ich habe hier in diesem Beitrag eh schon bedenken, ob man Advance hier nicht ausklammern muss.
Es geht nicht um die Material Menge, sondern um die Zeit wo angefangen wird zu fördern
und wann abgebrochen werden muss zu fördern.

Soweit meine Überlegung.

LG AtlonXP
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2067
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 268 times
Been thanked: 544 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von rf1k_mjh11 »

Hallo Leute,

Ganz schön Off-Topic. Und noch immer hat sonst keiner nachgerechnet, ob der Slicer falsch arbeitet. :sauer:

Ich vergaß anzumerken, dass es sich bei der Beule um dasselbe Phänomen handelt, wie jenes, dass zu kleineren Bohrungen führt (zumindest jene mit recht kleinem Durchmesser, siehe auch hier). Denn eine kleine (STL-)Bohrung ist nichts anders als viele aneinandergereihte stumpfe Innenecken. (Habe ich schon gesagt, dass das Problem, dass hier beschrieben wird, auch analog für Innenecken gilt?)

Zum Glück gibt es scheinbar schon seit Jahren die Lösung für zu kleine kleine Bohrungen: ACC einfach auf 800 runter und alle Bohrungen passen genau. Danke AtlonXP. Vermutlich passen beim Ultimaker schon länger alle kleineren Bohrungen.

Nee, Sarkasmus beiseite. Ja, die Beschleunigungswerte wurden in den Netzbeiträgen beim Teesud-Lesen auch häufig genannt, und als 'die' oder eine der Lösungen für die Beulen an der Ecke angeführt.
Sieht man sich die Ursache an (welche ist: ein Zuviel an Material, und das schon theoretisch vom Slicer), lasse ich mir nicht einreden, dass die Beschleunigung oder Pressure Advance das Problem beseitigt. Zugegeben, druckt man langsamer oder mit geringerer Beschleunigung, wirken sich gewisse dynamische Effekte anders aus (das ist einer der Argumente für Pressure Advance). Vielleicht hat da das (zähflüssige) Material mehr Zeit, sich zu verteilen, oder sonst ein Effekt, wer weiß? Es fragt sich bloß, ob es zu einer Verbesserung kommt oder nicht (siehe später).

Mit ACC oder Pressure Advance wird aber nur ein Symptom bekämpft, und nicht die Ursache (zu viel Material, da schon vom Slicer falsch berechnet).
AtlonXP hat geschrieben:Das Problem wird in der Regel über die FW versucht zu kompensieren.
Kannst du mir zeigen, wo in der Conrad oder Community Firmware das kompensiert wird? Das war eine tolle Leistung des Programmierers. Er musste der Firmware beibringen, den GCode vorausschauend abzuarbeiten, um zu entscheiden, ob es sich um eine Ecke handelt um den herum extrudiert wird, oder die nur eine Leerfahrt darstellt. Je nachdem muss dann die Extrusionsmenge angepasst werden oder nicht. Und das in Abhängigkeit des umfahrenen Winkels. Je spitzer der Winkel, desto mehr überschüssiges Material muss berücksichtigt werden (bis zu einem Winkel von ca. 25° - irgendwann macht der Slicer dann nicht mehr mit und fährt die Ecke anders ab):
AcuteAnglesSliced.jpg
Der Slicer tut sich leicht, er kann ja mehrfach einen Pfad berechnen und das Optimale herausholen, die Zeit drängt nicht so wie während des Drucks. Die Firmware müsste nämlich während des Drucks den Winkel wieder aus den GCode-Daten errechnen, die entsprechenden Berechnungen durchführen und die Extrusionsmenge abweichend von der im GCode vorgegebenen Menge berechnen und an den Extruder senden. (Nebenbei müsste die Firmware dann auch Buchhalten, damit die Abweichung mitgeschleift wird - zumindest bis zum nächsten "G92 E0".)

Ich habe eben mehrere kleine Probestücke gedruckt. Ein 15x15x4mm Quader mit einem 1.5mm Loch in der Mitte. Pro Durchgang jeweils gleichzeitig drei Stück gedruckt (1x 1 Perimeter, 1x 2 Perimeter und 1x 5 Perimeter).

Ein Satz wurde gedruckt mit 0.35mm Düse und 0.25mm Layerhöhe (LH).
Drei Sätze mit 0.6mm Düse, 2 Mal mit 0.25mm LH und 1 Mal mit 0.4mm LH. Einer der 0.25mm LH Drucke wurde mit reduzierten Beschleunigungswerten gedruckt. Statt mit 4000 für X und Y nur mehr 600. Alle anderen Drucke benutzten den 4000-er Wert.

Ich fand nichts, dass meine Theorie zu widerlegen vermag.

Die Größe der Beule scheint einmal von dem Düsendurchmesser abzuhängen (das leuchtet ein: die Menge, die über-extrudiert wird ist direkt proportional zum Düsendurchmesser – kleinere Düsen verursachen kleinere Beulen).
Die Layerhöhe scheint sich auch auf die Größe der Beule auszuwirken. Kleinere Layerhöhen führen zu kleineren Beulen (auch irgendwie einleuchtend, die Menge der Überextrusion ist ebenfalls direkt proportional zur LH). Hinzu könnte noch kommen, dass sich das überschüssige Material bei dem kleineren Spalt einer geringen Layerhöhe vielleicht schwerer tut, auszuweichen.

Der reduzierte Beschleunigungswert stellte sich als eine Verschlimmbesserung heraus. Die Löcher wurden kleiner und die Ecken bauchiger (beidseitig, sogar!). Soviel zu der Ultimaker-Lösung.

Die schönsten Teile, in Bezug auf Beulen an den Ecken, was die 0.35mm Düse bei LH=0.25mm. Bei der Lochgröße ist der Unterschied zwischen den Varianten geringer. Teils könnte hier auch der 'Elefantenfuß-Effekt' mitspielen, denn ich hatte diesen deaktiviert.
Die Löcher waren allesamt zwischen 0.8 und 1mm im Durchmesser (konstruiert mit 1.5mm!). Gemessen wurde sehr unprofessionell mit Mikrobohrer von 0.1mm-1.0mm mit Zehntelmillimeterabstufung.

mjh11
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF1000 (seit 2014) mit:
  Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
  Ceran Bett
  FW RF.01.47 (von Conrad, modif.)

Die Natur kontert immer sofort mit einem besseren Idioten.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2067
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 268 times
Been thanked: 544 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von rf1k_mjh11 »

So jetzt gehe ich auf die Off-Topic Beiträge ein.
mhier bzw. AtlonXP hat geschrieben:Jupp. Retract und Coasting sind das Pressure Advance des armen Mannes :-P Beide sind unabhängig von der Vorgeschichte und passen desshalb vielleicht so im Mittel, aber eben nicht im konkreten Einzelfall.
Weder Retract noch Coasting haben mit den Beulen an den Ecken zu tun, denn dort gibt es nie einen Retract (und somit auch kein Coasting). Ich habe explizit den Anfang/Ende des Pfads ausgeklammert, denn dort kommen die Probleme woanders her.
rf1k_mjh11 hat geschrieben:Ebenso möchte ich dezidiert jene Ecke ausschließen, wo der Raupenpfad des jeweiligen Layers beginnt und endet (diese ist häufig unsauber).
mhier hat geschrieben:Wer noch mit der Repetier-basierten Firmware unterwegs ist, hat keine Wahl und muss die Beschleunigung reduzieren.
Also bei mir wurde es nach der Reduzierung der Beschleunigung nicht besser, sondern schlimmer. Auch fahre ich eigentlich permanent mit 4000 für die Beschleunigung in X und Y. Was der hohe Wert allerdings unleugbar verursacht ist 'ringing' oder 'ghosting'. An den Ecken habe ich kaum Probleme. Auch die eben gedruckten Probestücke zeigten (entäuschenderweise) nur geringe Beule an den Ecken.
mhier hat geschrieben:Übrigens denke ich, dass es gewisse "magische" Beschleunigungen gibt, bei denen das Problem nicht so deutlich wird wie bei anderen Beschleunigungen.
Da stimme ich dir vollends bei. Ich schrieb eben, dass es zu dynamischen Abläufen kommt, die das Ergebnis beeinflussen können:
rf1k_mjh11 hat geschrieben:Zugegeben, druckt man langsamer oder mit geringerer Beschleunigung, wirken sich gewisse dynamische Effekte anders aus (das ist einer der Argumente für Pressure Advance). Vielleicht hat da das (zähflüssige) Material mehr Zeit, sich zu verteilen, oder sonst ein Effekt, wer weiß? Es fragt sich bloß, ob es zu einer Verbesserung kommt oder nicht
Nochmals Off-Topic:
AtlonXP hat geschrieben:S3D nimmt leider dort keine negativen Werte an, um einer Lücke entgegen zu steuern.
Was du suchst ist das "deretraction extra length" von Slic3r, bzw. PrusaSlicer. Wenn der Drucker den Retract wieder zurück nimmt, kann man extra Material dazu geben (das füllt deine Lücke). Ich habe da z.B. einen Wert von 0.0002mm stehen. Die Funktion/Einstellung muss S3D auch haben.

Letztlich:
AtlonXP hat geschrieben:Ich habe hier in diesem Beitrag eh schon bedenken, ob man Advance hier nicht ausklammern muss.
Es geht nicht um die Material Menge, sondern um die Zeit wo angefangen wird zu fördern
und wann abgebrochen werden muss zu fördern.
Der ganze Absatz ist hier fehl am Platz. Hier geht es nicht um Fördern stoppen und starten, und wann oder wie schnell, sondern um einen Berechnungsfehler des Slicers. Also geht es doch um die Materialmenge, und zwar um zu viel Material an den Ecken (abgesehen von der Ecke am Anfang/Ende des Perimeters).

(Wenn ich noch ausführlicher schreibe, müsste ich mir jeden Monat eine neue Tastatur kaufen. :scham: )

mjh11
RF1000 (seit 2014) mit:
  Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
  Ceran Bett
  FW RF.01.47 (von Conrad, modif.)

Die Natur kontert immer sofort mit einem besseren Idioten.
mhier
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 1672
Registriert: Fr 11. Sep 2015, 11:37
Has thanked: 279 times
Been thanked: 246 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von mhier »

Sorry, ich bin nicht überzeugt von deiner Erklärung. Ich kann mir das irgendwie nicht vorstellen, schon gar nicht für alle Slicer. Es gibt einige extrem fähige Leute da draußen, die sich derartige Probleme sehr genau ansehen würden. Ich halte es für recht unwahrscheinlich, dass ein derart einfacher Fehler so lange in allen Slicern überleben würde. Deshalb würde ich auch bei der vorliegenden Faktenlage mit deinem kleinen Test von einem Denkfehler auf unserer Seite ausgehen, erstmal ganz pauschal.

Dann: Es ist ja eine Beobachtung, dass der Effekt geringer wird, wenn die Beschleunigung herabgesetzt wird (Advance ziehe ich bewusst nicht als Argument heran, denn damit könnte ich ggf. einen anderen Effekt unsichtbar machen). Wenn ich mit sehr geringer Beschleunigung und ohne Advance eine Ecke drucke, dann wird die ja sauber. Damit ist deine Erklärung im Grunde widerlegt, denn dann dürfte es keinerlei Abhängigkeit von der Beschleunigung geben.

Umgekehrt ist physikalisch klar, dass es den Effekt gibt, der mit Advance korrigiert wird. Es geht dabei eben genauso um die Materialmenge, die zur falschen Zeit am falschen Ort gefördert wird. Letztlich wird das Material zeitlich verzögert gefördert, was abhängig von der momentanen Geschwindigkeit sich dann in eine Material-Deposition am falschen Ort übersetzt. Das Symptom ist sehr ähnlich. Du brauchst also sehr gute Argumente, warum sich der von dir beobachtete Effekt nicht durch die Stauchung des Filaments und die daraus resultierende Verzögerung deer Extrusion erklären lässt.

Mir fällt noch etwas ein: Wenn du ein Rechteck druckst, sollten die 4 Seiten des Rechtecks jeweils einen G-Code-Befehl ergeben (nicht mehrere). Wenn du recht hast und der Slicer nicht berücksichtigt, dass die Ecken einen Überlapp haben, führt das in dem Fall nicht zu einer Überextrusion nur genau in den Ecken, sondern zu einer gleichmäßigen (!) Überextrusion des gesamten Rechtecks, also auch auf der geraden Strecke. Es würde also keine Knubbel geben, sondern die Wände würden einfach nur etwas zu dick werden. Damit könnte man vielleicht die zu geringen Lochdurchmesser erklären (weil da viele kurze Strecken gefahren werden und keine langen), aber keine Knubbel bei Ecken an großen, geraden Wänden.

Es gitb also 2-3 Argumente, die gegen deine Theorie sprechen... Selbst wenn deine Theorie richtig ist, kann sie nicht die beschriebenen Symptome erklären.
Gruß, Martin

Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung

(Ich bin in diesem Forum nicht mehr aktiv)
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3391
Registriert: So 15. Nov 2015, 20:55
Has thanked: 745 times
Been thanked: 591 times

Re: Unsaubere Ecken beim Drucken (alle Slicer betroffen?)

Beitrag von AtlonXP »

Bevor ich dir auf deinen letzten Post Antworte, wollte ich erst lesen was mhier dazu meint.
Deine vorherergehende Antwort zu mir, war schon etwas hart formuliert.
Da gab es von mir nur dummes Gesicht!
Sei es drum…
rf1k_mjh11 hat geschrieben: Nochmals Off-Topic:
AtlonXP hat geschrieben:S3D nimmt leider dort keine negativen Werte an, um einer Lücke entgegen zu steuern.
Was du suchst ist das "deretraction extra length" von Slic3r, bzw. PrusaSlicer. Wenn der Drucker den Retract wieder zurück nimmt, kann man extra Material dazu geben (das füllt deine Lücke). Ich habe da z.B. einen Wert von 0.0002mm stehen. Die Funktion/Einstellung muss S3D auch haben.
Ich hatte hierzu geschrieben, dass mir am Kringelende Material fehlt.
Du schlägst hier vor, am Anfang einen Blopp zu setzen um den Kringel zu schließen.
Nein am Ende fehlt ein Stück.
Ich habe mir das genau angeschaut während des Druckens!

Wenn ich eine Bohrung drucke und meine Material Flussmenge richtig eingestellt ist,
dann wird die Bohrung mit einer 0,4 mm Düse exakt um -0,35 mm kleiner ausfallen.
Wenn die Bohrungstiefe >= 5 mm ist, kommt das Wobbeln noch mit etwa -0,06 mm dazu.
Das sehe ich als normal an.

Ich schließe mich der Meinung von mhier an.
Wenn es tatsächlich Rechnungsfehler geben sollte, sind diese in der FW zu finden.

Falls du dieser Sache weiter nachgehen möchtest, schlage ich dir folgendes vor:
Mach erst mal „deretraction extra length“ mit 0,0002mm heraus.

Beide Repetier Firmware, Conrad wie Community FW fassen bis zu 4 Stepps zusammen, wenn es schnell sein muss.
Die FW macht das um Systemzeit zu sparen.
Ich stelle mir hier dir Frage, läuft der Extruder hier noch Synchron zu den Achsen?

Darum empfehle ich nicht schneller wie 28 mm/s zu fahren.
Oder auch erst recht schneller zu fahren.

Nibbels hat in der Community wegen einem Mathematischen Rundungsfehler etwas verändert.
Hier kann es einen Unterschied zu der Conrad Version geben.

Vergleiche das Druckergebnis der Conrad Version und der Community FW.

Die Community FW ist sowiso die bessere! ;-)

LG AtlonXP
Antworten

Zurück zu „Slic3r“