Und er limitiert doch! Retract Speeds getestet
Retract / Rückzug oder Einzug: Geschwindigkeiten über der per Firmware gesetzen Maximalgeschwindigkeit – was ist da dran?
Immer wieder wundere ich mich über die meiner Meinung abstrus hohen Retract Geschwindigkeiten in machen Druckerprofilen. Und in meinen eigenen Retracttestreihen konnte ich mit der Retract-Geschwindigkeit ab einer magischen Grenze auch nix mehr erreichen. (siehe auch: https://drucktipps3d.de/forum/topic/retraction-experimente-teil-2/ )
Was ist diese magische Grenze? Nun, es gibt in Marlin ein Limit, welches per M503 bei den meisten Druckern auch abgefragt werden kann:
Diese Version vom 26. März 2018 des Ender3 limitiert also die Maximalgeschwindigkeit und damit die Rückzugsgeschwindigkeit des Extruders auf 25mm/s. Die Frage war, ob Marlin dieses Limit tatsächlich forciert oder ob das da nur zur Zierde oder für die Hardware Retracts gilt..
Die meisten Slicer wandeln Retracts in explizite G1 Befehle um:
Das heisst also, um das Retract Speed Limit zu forcieren muss Marlin alle G1 Befehle überwachen und entsprechend dann modifizieren. Die Frage war bislang: tut es das?
Hier der Testaufbau:
Mein Ender3, Firmwarestand siehe oben, Bowden entfernt, einen Abschnitt von 100mm auf dem Filamentstrang markiert, nur zu Kontrolle, dass er sich ned verhaspelt. Düse auf 200°C, damit der Schutz vor Cold Extrusion nicht greift. Pronterface zur Steuerung. Vor jedem Test ein M92 E0. Dann die Zeit gemessen, die er benötigt und dann das Filament wieder rausgezogen.
Hier die Antwort in Form einer Messwerttabelle:
Befehl: | wären | Ist tatsächlich |
G1 E-100 F100 | 1,66mm/s | 60,2s = 1,66mm/s |
G1 E-100 F500 | 8,3mm/s | 12,2s = 8,2mm/s |
G1 E-100 F1000 | 16,66mm/s | 6,2s = 16,1mm/s |
G1 E-100 F1500 | 25mm/s | 4,1s = 24,4mm/s |
G1 E-100 F2000 | 33,3mm/s | 4,0s = 25,0mm/s |
G1 E-100 F3000 | 50mm/s | 4,1s = 24,4mm/s |
G1 E-100 F6000 | 100mm/s | 4,1s = 24,4mm/s |
Ok, meine Reaktionszeiten an der Stoppuhr sind lausig, aber es langt.
Die Tabelle zeigt eindeutig und zweifelsfrei:
Marlin forciert das Limit, eine Retraction Geschwindigkeit größer als das in der Firmware hinterlegte Limit bringt nichts, weil Marlin auf das Limit runter regelt.
Hier bei meinem Ender3 mit o.g. Firmwarestand ist bei einer Retract Geschwindigkeit von 25mm/s (1500mm/min) das Ende erreicht. Maximale Retract Geschwindigkeit, die ich künftig im Slicer eintrage ist demnach der Wert, der in der Firmware hinterlegt wurde, siehe M503 – Zeile: M203 .. E25.00.
Einfach nur einen höheren Wert im Feld Retract Speed einzutragen hilft nix.
Wenn dann muss noch M203 mit in den Startcode oder beim Kompilieren der Firmware das Limit erhöht werden.
Ich möchte Wetten, diese Erkenntnis tritt auf viele Marlin basierten Drucker zu, ich werds mal bei Gelegenheit mit anderen Druckern weiter überprüfen.
Probierts mal aus, würde mich über Eure Ergebnisse freuen.
Habe mir diesen Bericht und andere Berichte die Stephan geschrieben hat bzgl.. des Themas Retraction und Stringing sehr aufmerksam durchgelesen. Habe in den vergangenen Tage auf meinem Corexy Drucker mal ein paar Settings ausprobiert.
Ergebnis:
Die Bewegungsgeschwindigkeit zu erhöhen von 30 auf 60 bis auf 80 mm/s hat bzgl. Stringing nichts gebracht. Das Druckergebnis wurde sogar schlechter bei höhere Bewegungsgeschwindigkeit. Ich drucke vor allem Zubehör für Modelleisenbahnen Spurweite H0. Da sind die Objekte nicht al zu groß und wenn es dann noch zum Stringing kommt bedeutet das eine erhebliche Nacharbeit.
Ich habe heute die max. Feedrate in Marlin erhöht auf 50 mm/s (M203). In Cura 4.0.0 habe ich die Retraction für den Einzug erhöht auf 35 mm/s und die Vorschubbewegung auf 25 mm/s. Bewegungsgeschwindigkeit habe ich auf 60 mm/s eingestellt und die Druckgeschwindigkeit auf 30 mm/s. Retraction Länge bei meinem Bowden Extruder steht auf 2mm in Cura. Übrigens der Blaue Schlauch ist tatsächlich eine Wunderwaffe. Siehe da, das Ergebnis war fast perfekt und es waren nur noch ganz geringe Nacharbeiten nötig. Morgen werde ich die Settings für den Retraction auf 45 mm/s und Vorschub auf 30 mm/s einstellen. Bin sehr gespannt wie das Resultat ist.
Wenn das gelingt bin ich sogar in der Lage Modelleisenbahn Zubehör für die Spurweite Z (1:220) auszudrucken.
Aber wie immer „Versuch macht Klug“.
Übrigens finde ich das Forum und die ganze Web Site sehr gut. Endlich mal eine Möglichkeit sich in interessante Themen einzulesen und auszutauschen.
wenn ich schon nach G-Code gucke kann ich hier noch ein Fundstück einwerfen:
http://marlinfw.org/docs/gcode/M207.html … M207 – Set Firmware Retraction
Vielleicht übrschreibt der Dir Dein Limit?!?!? Es klingt jedenfalls vielversprechend: SET und Firmware; beides drin
So weit musst du gar nicht gehen, du musst nur das Limit erhöhen, wenn Du unbedingt schnellere Retracts haben willst: M203 E99 oder sowas. Wobei Firmware Retracts über G10 / G11 auch ihren Reiz haben.
Moin und frohes Neues,
ich hab ja schon mal was getestet und ab 30mm/s keine Unterschiede im Druckbild feststellen können.
Da ich überall Marlin 2.0 installiert habe, kann ich direkt im LCD die Max Feedrate ändern und scpeichern und meine Feedrate steht überall auf 50mm/s. Was ich aber festgestellt habe ist, das eine zu großer Retraction-Weg wie auch ein zu kleiner Weg,sich negativ auswirken.
Ja, das unterschreibe ich gerne.. Retract Länge ist der Schlüsselparameter. Nicht zu kurz aber auch ja nicht zu lang. Ich denke wenns dazu mal nen Blogpost gibt („Eigenen Druckerprofile von Null an erstellen“), dann würde ichs so formulieren: Grade kurz genug, dass es sauber ist und bei Retract Geschwindigkeit sich nicht zu sehr verkünsteln. Schnell nen Blick wo das Limit ist und daran orientieren.
Zu Temperatur, Travelspeed als Faktor bei Stringing/Oozing etc hab ich noch Testreihen zu machen..
ach ja später noch guten Rutsch!
klar sind die werte in den Firmwares immer die max werte.
Druckgröße, Geschwindigkeiten, Beschleunigungen, Schritte
damit wird der Drucker quasi definiert
daher ist es bei den klassischen FW ja so umständlich schnell mal was zu ändern, gerade wenn bootloader fehlt und FW kastriert sind.
jedesmal die arduino ide starten und FW neu kompilieren war mir zu blöd
daher bin ich auf duet umgestiegen.
alles viel einfacher und via webgui zugänglich
auch klipper hatte ich laufen
(vom prinzip her eine gute idee)
Wie Stephan und Peter aber schrieben, kann man mit M203 die Werte der Firmware überschreiben. Da ist kein Umschreiben der FW nötig.
Doch Vorsicht! Wenn man nicht auf der Marsoberfläche aufschlagen möchte, muss man beachten, dass zB RepRap als Einheit mm/min benutzt, während Marlin mm/s verwendet.
https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Marlin_main.cpp#L9475
https://github.com/BCN3D/BCN3DSigma-Firmware/blob/master/Marlin/Marlin_main.cpp#L6076
https://github.com/dc42/RepRapFirmware/blob/dev/src/GCodes/GCodes2.cpp#L1850
Guten Rutsch
Ich guck bei sowas in den Quälcode 😉
Marlin original:
https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/planner.cpp#L2074
Speziell die heißen Spanerinnen:
https://github.com/BCN3D/BCN3DSigma-Firmware/blob/master/Marlin/planner.cpp#L926
Da wird live jede Bewegung aller Motoren, die dort vorausberechnet wird, mit dem jeweils hinterlegtem Maximalwert verglichen und nötigenfalls begrenzt. (hmm, ich hab hier noch ein paar Kommas übrig 😛 )
Oh Mist, da ist liegt noch ein ‚i‘ zwischen den Kommas, das fehlt bei den Spanierinnen. 🙁
Ei schau, planner.cpp.. Ok, dann passt das ja, dann kömmer da endgültig nen Haken dran machen. Danke 🙂
Kommas brauch ich keine, die verliere ich immer..
Das ist erhellend. Danke, Stephan.
Ich hab gleich mal nachgeschaut: Das RepRap-Konfigurationstool setzt für den Extruder eine maximale Geschwindigkeit von 20mm/s als Default. So läuft im Moment auch mein Duet 2 im X5PO.
Ich hab noch eine interessante Quelle gefunden, die das Thema Retractions detaillierter beleuchtet:
http://www.sublimelayers.com/2016/10/some-musings-on-retracts.html
Demnach wäre es optimal, beim Rückzug mit höherer, beim Wiedervorschieben mit geringerer Geschwindigkeit zu arbeiten, was zur Zeit nur Klipper ermöglicht.
Cura 3.6 kann das auch, er macht dann G1 Exx Fxxx Befehle draus
Ich meinte die Reprap-Firmware im Drucker. Das Konfig-Tool generiert das config.g mit einem
M203 X6000 Y6000 Z1200 E1200 ;(Beispiel), das dann in den Drucker geladen wird. Firmware eben.
Da ist auch noch so ein Punkt in dem Artikel, wo man nochmal nachfassen muss.. Mir wurde eingetrichtert, dass beim Retract kein bereits geschmolzenes Material wieder hochgezogen wird, entsprechend hab ich das so in diversen Blogposts auch drin. (Quelle https://www.matterhackers.com/articles/retraction-just-say-no-to-oozing und auch unsere Support Unterlagen). Die Erklärung aus deinem Link gefällt mir aber besser… da muss ich wohl mal wieder mit dem TipEx nachbessern.