Advance-Algorithmus

Mattroberts (Mattroberts' Firmware) schlägt auf Basis der Bernoulli-Gleichung vor, den Extruder beim Beschleunigen überproportional schnell laufen zu lassen, wobei die Anzahl der zusätzlichen Schritte gemäß nextra = k v2 berechnet wird. Dabei ist k eine Proportionalitätskonstante (advance Faktor) und v die eigentlich erforderliche Extruder-Geschwindigkeit.

Nach meiner Ansicht ist die quadratische Abhängigkeit nicht richtig, da sie sich nur bei turbulenten Strömungen ergibt. Siehe: Wikipedia-Bernoulli

Wenn die Strömung laminar ist, dann ist der Druckverlustbeiwert ζ nicht konstant, sondern selbst von der Geschwindigkeit abhängig (LD = Rohrlänge, d = Rohrdurchmesser, Re = Reynoldszahl):

ζ = 64 LD / (Re d) mit

Re = ρ v d / η = Dichte * Geschwindigkeit * Durchmesser / Viskosität

Quelle z.B.: Rohrreibungszahl

Damit ergibt sich für den Druckverlust in der Bernoulli-Gleichung: Δp = 32 η LD v / d2, was auch als Hagen-Poiseuille-Gesetz bezeichnet wird (hier ist jetzt Δp linear proportional zu v!).

Wenn jetzt mit konkreten Werten (η = 1000 Pa s, LD = 2 mm, d = 0.5 mm, v = 60 mm/s) nur in der Düsenspitze gerechnet wird, dann ergibt sich Δp = 153.6 bar. Gegen diesen Wert sind alle anderen Druckverluste vernachlässigbar (dies zeigt auch, warum es so schwierig ist, mit kleinen Düsendurchmessern zu drucken). Auch die Querschnittsverengung spielt keine Rolle, da nur bei turbulenten Strömungen Wirbel auftreten, die zu einem nennenswerten Druckverlust führen.

Der Druckverlust führt zu einer elastischen Stauchung des Filaments zwischen Filamentschraube und Schmelzzone (Länge LF, ca. 30 mm). Die Längenänderung ΔLF kann gemäß

ΔLF = LD Δp / E

berechnet werden, wobei E das Elastizitätsmodul ist (bei ABS ungefähr 2000 MPa). Mit obigen Zahlenwerten ergibt sich ΔLF = 0,23 mm. Dieses ΔLF muß der Extruder während der Beschleunigungsphase zusätzlich vorschieben und beim Abbremsen entsprechend wieder einsparen.

Bei der folgenden Argumentation werden die klassischen Formelzeichen s für Weg, v für Geschwindigkeit, t für Zeit und k für eine Konstante benutzt. Bei konstanter Beschleunigung a ist v = a t und s = 0,5 a t2. Am Ende der Beschleunigungsphase soll s aber um ΔLF länger sein und während der Beschleunigung soll der zusätzliche Weg jederzeit proportional zu v sein (s.o.). Dies kann durch folgenden Ansatz erreicht werden:

v = a (t + k) und damit: s = a (0,5 t2 + k t)

Der Term a k kann als eine "Zusatzgeschwindigkeit" interpretiert werden. Beim Abbremsen ist diese Zusatzgeschwindigkeit negativ anzusetzen. Grafisch sieht das Ganze so aus:

Advance-Grafik

Ein Video mit "sehr langsamen" Einstellungen zeigt die Effekte auch recht deutlich: Advance-YouTube-Video

Interessant ist, dass beim Abbremsen ein "retract" ganz automatisch und zwangsläufig auftritt. Daher wurde bei den folgenden Tests der retract von 1 mm auf 0,3 mm reduziert. Bei Beschleunigungen zwischen 300 und 3000 mm/s2 und Geschwindigkeiten von 13 - 107 mm/s lag k bei 40, wobei die in der Firmware verwendete Einheit noch unklar ist.

Druckparameter bei den Bildern: ABS, 230°C, vmax = 80 mm/s, vPerimeter = 57 mm/s, a = 750 mm/s2, jerk = 3, k = 40, oberes bzw. rechtes Teil ohne k.

advance Test 1

advance Test 2

advance Test 3