Pressure Advance – wirksam oder unnötig?

Antworten

Themaverwandte Fragen

Die Umfrage läuft bis Sa 21. Nov 2026, 19:11.

Ich verwende Klipper
1
14%
Ich verwende Klipper und Pressure Advance und bin zufrieden mit dem Ergebnis
2
29%
Ich verwende Klipper und Pressure Advance und bin NICHT zufrieden mit dem Ergebnis
0
Keine Stimmen
Ich verwende Marlin
0
Keine Stimmen
Ich verwende Marlin und Linear Advance und bin zufrieden mit dem Ergebnis
0
Keine Stimmen
Ich verwende Marlin und Linear Advance und bin NICHT zufrieden mit dem Ergebnis
0
Keine Stimmen
Der Beitrag ist zu laannngggg!
1
14%
Der Beitrag war viel zu kurz - ich habe nichts verstanden
0
Keine Stimmen
Weiter so
3
43%
 
Insgesamt abgegebene Stimmen: 7

Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2104
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 277 times
Been thanked: 557 times

Pressure Advance – wirksam oder unnötig?

Beitrag von rf1k_mjh11 »

Die mich hier kennen, werden richtigerweise annehmen, dass das hier wieder lang wird. Gratulation zum prophetischen Weitblick. Ich mache es so kurz wie möglich. :scham:

Hinweis: Alle Bilder und Zeichnungen wurden so dargestellt, als ob von links nach rechts gedruckt wurde.

Ich stecke den Beitrag hier hinein, unter 'Klipper', obwohl Marlin genauso betroffen ist.

Schade, dass mhier nicht mehr im Forum tätig ist. Dieser Thread hätte ihn interessiert.

Es geht um eine Funktionalität von Klipper, die sich Pressure Advance nennt. Damit sollten gedruckte Ecken genauer werden, bzw. schöner aussehen. Eine anschauliche Beschreibung der Theorie findet sich hier (leider auf Englisch). User mhier hat mehrfach darüber geschrieben, z.B. hier, allerdings in einem Thread, der ein anderes Problem ansprach (was mhier nicht einsehen wollte, leider).
Klipper geht das Problem über den Weg der Firmware an. Marlin (eine Firmware) hat was ähnliches. Es nennt sich dort Linear Advance. Diverse Slicer versuchen das Problem über den GCode zu eliminieren oder reduzieren. PrusaSlicer und SuperSlicer nennen es “Pressure equalizer“.
Aber die Idee/das Prinzip hinter Pressure Advance lässt sich nicht leugnen. Bei einem FDM/FFF 3D Drucker, wie es die RFx000 Drucker nun mal sind, ist das Extrusionssystem elastisch und Hysterese-behaftet (das heißt, es reagiert verzögert/träge). Drucker mit Bowdensystem sind noch elastischer und träger.
Einfach gesagt, das extrudierte Material, dass aus der Düse kommt, passt nicht immer exakt zur (Relativ-) Bewegung der Düse zum Druckobjekt (besonders während Geschwindigkeitsänderungen, wie beim Beschleunigen und Abbremsen). Diese Abweichung (wenn die Extrusion nicht zur augenblicklichen Geschwindigkeit passt) führt zu einer ungewollten Änderung der Raupenbreite – diese wird breiter oder schmäler, je nachdem. Am besten die anschauliche Beschreibung (im Link, oben) ansehen.

Hier eine Darstellung einer extrudierten Raupe von mir:
BeadAcc2PressAdv.jpg
Das Ende der Raupe weicht ein wenig von den im Netz vorhandenen Darstellungen ab, folgt aber der beschriebenen Logik.
Die Raupe wird im Bild von links nach rechts gedruckt. Die blaue Linie oberhalb, stellt die Düsengeschwindigkeit dar (im Verhältnis zum Druckobjekt, bzw. der Raupe!). Am Anfang beschleunigt es bis auf die maximale Druckgeschwindigkeit, bleibt dort bis die Abbremsphase beginnt, worauf die Geschwindigkeit wieder auf null zurückgeht.
Ein weiteres Bild einer Raupe, aus der Marlin Beschreibung von Linear Advance, sieht so aus:
BeadAcc2Marlin_LinearAdvance.jpg
(Bild von: Marlin Dokumentation zu Linear Advance)
Der Unterschied beim ersten Übergang ist jedoch, dass nicht von null weg die Änderung stattfindet, sondern von einer langsamen Geschwindigkeit aus beschleunigt wird.

Die Pressure Advance Leute vertreten die folgende Logik:
Beschleunigt die Düse, ist die Raupe verjüngt (da 'unterversorgt'). Bremst die Düse ab, ist sie verdickt (mit Material 'überversorgt'). Natürlich nur, wenn OHNE Pressure Advance gedruckt wird.

Bei jeder Ecke geschieht das gleiche. Die Geschwindigkeit ist anfangs null, dann eine Beschleunigungsphase, Konstantfahrtphase und Abbremsphase wieder bis auf null.
Somit müsste, dem Pressure Advance Modell nach, eine Ecke so aussehen:
BeadAroundCornerAcc2PressAdv.jpg
So ein ähnliches Bild ist in diesem YouTube-Video bei 2:30 zu sehen. Das Video behandelt hier wieder Marlins ‘Linear Advance‘ Funktion, die aber dasselbe Problem behandelt wie Pressure Advance unter Klipper.
Da (zumindest meiner Meinung nach) den Ecken ein weiteres Problem anhaftet (siehe Thread “Unsaubere Ecken beim Drucken“), scheue ich mich, das Phänomen anhand einer Ecke zu beurteilen.

Da kam mir die Idee, eine Ecke entlang einer Geraden zu simulieren.
Hä?!! Wie denn das? :dash:
Wie sich die Düse bewegt
Der Einfachheit halber sehen wir alles aus der Sicht des Druckobjekts: vom Objekt aus gesehen bewegt sich immer nur die Düse. Das ist wichtig, denn sonst müsste man unterscheiden, ob sich die Düse auf dem X-Schlitten bewegt, oder das Bett (samt Druckobjekt) in Y Richtung. Anders gesagt, wenn ich schreibe, die Düse fährt, könnte sich in Wirklichkeit das Druckobjekt bewegen, weil sich das Bett bewegt. Entscheidend ist einfach, dass sich die Düse aus der Sicht des Druckobjekts/der Raupe bewegt.
Wenn man sich den Bewegungsablauf an einer Ecke überlegt, wird es nicht mehr so schwer, sich vorzustellen, eine Ecke in eine Gerade ‘um zu biegen‘.
Wenn die Düse Richtung Ecke rauscht, muss es davor abbremsen, damit an der Ecke die Geschwindigkeit exakt Null ist. Nach der Ecke (dem Stillstand) beschleunigt die Düse in die neue Richtung (oder beim RFx000 je nach Richtung beschleunigt/verzögert das Bett). Laut der Theorie von Pressure Advance sollen diese Beschleunigungsphasen (Hinweis: auch das Abbremsen ist eine Beschleunigung, allerdings eine negative), bzw. die mangelhafte Synchronisation der Extrusion, die Quelle des Übels sein. Ein Übel, dass Pressure Advance und Linear Advance zu bekämpfen versuchen.
Damit müsste, laut dem Pressure Advance Modell eine ‘geradegebogene‘ Ecke so aussehen:
StraightCornerAcc2PresAdv_2.jpg
 

Jetzt gilt es, dieses Bild der Theorie mit jenes der Praxis zu vergleichen.

Also, um so eine Ecke 'gerade zu biegen', bedarf es einfach einer Korrektur der neuen Richtung, damit diese in die ursprüngliche Richtung weist.

Das ist einfach gedacht, klappt aber nicht ganz so, denn, gibt es keine Richtungsänderung, bremst die Düse bei der Fahrt gar nicht auf null und fährt einfach ungebremst weiter. Dafür sorgt die Firmware.

Wir müssen den Drucker daher dazu bringen, unbedingt mit der Geschwindigkeit auf null zu gehen. OK, erzwingen wir einfach eine Geschwindigkeit von null indem wir dem Drucker eine Pause vorschreiben. Gedacht, getan. :developer:

Ich nahm einfach ein Quader mit Seitenlänge 100mm und erzwang, per editiertem GCode, nach jeweils der halben Strecke eine Pause von 0.004 Sekunden (4 Millisekunden) mittels “G4 P4“. Dann bleibt die Düse tatsächlich kurz stehen. Das ist allerdings noch zu wenig für den vollständigen Test, bzw. einer ordentlichen Raupe. Man muss auch den E-Wert (Extrusionswert) halbieren und jedem Streckenabschnitt getrennt zuordnen.

Hier ein Beispiel des editierten GCodes (entschuldigt die Kommazahlen, da ist der Slicer schuld):

Wichtiger Hinweis: Die Düse steht zu Beginn am Punkt: X109.443 Y129.443

Die ursprüngliche GCodezeile:
G1 X10.557 Y129.443 E17.46247
wird zu insgesamt diese 4 Zeilen:
   G1 X60.000 Y129.443 E15.8868 ; neue, halbierte Strecke, mit halbem E (kommt als erstes)
   M400 ; Warten bis Bewegung abgeschlossen (sicherheitshalber, unbekannt, ob es zwingend nötig ist)
   G4 P4 ; Warte 4 Millisekunden bevor weiter gefahren wird (erzwinge eine Pause)
   G1 X10.557 Y129.443 E17.46247 ; Originalzeile wird zur zweiten, halben Strecke, mit dem Rest von E

Diese Übung machte ich mithilfe eines Tabellenkalkulationsprogramms, da die Koordinaten und auch E-Werte mehrere Nachkommastellen aufweisen (und ich leicht legasthenisch bin). Es wurden alle 4 Seiten eines Layers gemacht, alle drei Perimeter (Umrisse). Danach war es ein Einfaches, diese Zeilen auf die diversen Layer zu kopieren, da die X- und Y-Koordinaten dort alle gleich sind. Wichtig: Auch die E-Werte sind dort alle gleich, da Slic3r, PrusaSlicer und SuperSlicer alle den E-Wert beim Layerwechsel wieder auf Null setzen (zumindest wenn man Absolutwerte für die Extrusion einsetzt).

Die Ausgangslage:
Ich setzte im Slicer den Quader (100x100x11mm) genau auf eine exakte mm-Position (die Mitte des Quaders lag bei X=60, Y=80). Ich editierte das übliche Profil stark ab: kein Brim, keine Schürze, kein Unterschied zwischen erstem und der folgenden Layer, 3 Perimeter (3 Umrisse), kein Boden, keine Füllung und keine Decklage. Dadurch wurde beim Slicen aus dem Quader bloß vier senkrechte Wände mit einer Dicke von 3 Raupenbreiten. So:
SquareSlab_sliced.jpg
Ebenso wurden sonstige Feinheiten wie Elefantenfuß, 'Coast-At-End', Z-Hop, und wie sie sonst alle heißen, deaktiviert damit möglichst einfacher GCode entsteht.

Als Druckgeschwindigkeit wurden 60mm/s vorgegeben. Layerhöhe war 0.2mm, Düse 0.6mm. Raupenbreite für alle Layer und Perimeterarten gleich.

Die Anpassungen am Profil dienten primär dazu, dass ich die entsprechenden GCode Bereiche leichter finden und ändern kann. Nebenbei wird sichergestellt, dass der erste Layer sich nicht von den folgenden Layer unterscheidet (Layerhöhe, Raupenbreite, usw.).
Den erzeugten GCode öffnete ich in einem Editor, errechnete die neuen Koordinaten- und E-Werte mittels Tabellenkalkulation und änderte die Zeilen entsprechend.

Die ersten Versuche machte ich im Trockenlauf-Modus ('Dry Run'), wo kein Material extrudiert wird. Schließlich war ich nicht sicher, ob ich mit dem Editieren des GCodes nicht einen kapitalen Bock geschossen hätte.

Danach wurde mehrmals der Quader gedruckt. Für die ersten Drucke verwendete ich noch eine Pause von 0.033 Sekunden, später wurde das auf 0.004 reduziert. Ebenso wurden unterschiedliche Beschleunigungswerte verwendet, von 100 bis zu 4000mm/s².
Repetier-Host, Dry Run und Beschleunigungswerte
Während dem Testen stieß ich auf eine Unzulänglichkeit vom Trockenlauf-Modus von Repetier-Host. Da der Versuch Änderungen im Druckbild aufzeigen sollte, kümmerte ich mich nie um die Beschleunigungswerte der Leerfahrt-Bewegungen. Diesen Wert ließ ich bei 5000mm/s². Leider verwendet Repetier-Host (oder ist es die Firmware des Druckers?) den Beschleunigungswert für Leerfahrten IMMER im Dry Run (Trockenlauf-)Modus. Wenn ich also den Beschleunigungswert fürs Drucken änderte, bemerkte man im Trockenlauf keine Änderung. Ich musste mich damit behelfen, indem ich das Filament entfernte und eine Temperatur von 110° einstellte, damit der Extrudermotor sich drehte und der Beschleunigungswert fürs Drucken zum Tragen kam (und ich aber kein Filament unnötig vergeudete).
Die Druckergebnisse zeigten, dass die Annahmen von Pressure Advance begründet sind – aber scheinbar nicht alles abdecken, zumindest nicht korrekt. Ich werde nicht die Pressure Advance Geschichte nochmals wiedergeben (verwendet den Link oben).

 *  Jedenfalls zeigt sich ein stetiger Anstieg der Raupenbreite kurz vor dem ‘Pausepunkt‘, ungefähr über die Distanz, die der Verzögerung entspricht. Dieses Verhalten entspricht der 'Pressure Advance' Annahme.
 *  Andererseits ergibt sich eine stetige Abnahme der Raupenbreite über dieselbe Distanz, während der Beschleunigung. Dieses Bild entspricht nicht dem, wie es sich die Pressure Advance und Linear Advance Leute vorstellen (siehe Bild oben, "'geradegebogene Ecke', mit Pause").

Das Bild meiner gedruckten Muster sieht eher so aus (Druckrichtung von links nach rechts):
StraightCornerPrinted.jpg
Zwei deutliche Unterschiede werden offensichtlich. Einmal eine kleine zusätzliche Beule an der Stelle, wo die Düse kurz stehen bleibt. Zweitens gibt es, nach dem neuerlichen 'Losfahren', keine anfangs verjüngte Raupe, die zunehmend breiter wird, sondern eine überbreite Raupe, die sich langsam wieder zur Standardbreite verjüngt. Eine extrem kurze, deutliche Einfallstelle ist unmittelbar nach der Beule sichtbar. Diese Einfallstelle steht, längenmäßig, in keinem Verhältnis zur Beschleunigungsstrecke und hat vermutlich nichts damit zu tun, und darf daher meiner Meinung nach nicht als Bestätigung der 'Pressure Advance' Annahmen gelten.

Zuerst dachte ich, die Beule käme von einer zu langen Pause (die ersten Drucke hatten noch eine Pause von 0.033s). Die Pause reduzierte ich daher auf 0.004s, ohne dass sich an der Beule optisch viel veränderte. Es war also kaum ein Unterschied bemerkbar, obwohl die lange Pause 8x so lang war wie die kürzere.
Hier ein Bild mit zwei Druckobjekten, beide mit 4000mm/s², das untere mit 4ms Pause, das obere mit 33ms. Nur ein minimaler Unterschied.
BulgeComparison_33ms_v_4ms_.jpg
Übrigens, die Pause von 0.033s ist schon sehr kurz und ist sogar kürzer als die Zeit, die ein einzelnes Bild/Frame (bei PAL-Fernsehen) am Bildschirm erscheint (das wären 0.04s). Daher merkt man beim Beobachten das Stehenbleiben nicht wirklich, sondern sieht nur eine Verlangsamung und Beschleunigung der Düse. Das Auge erfasst diesen kurzen Augenblick des Stillstands einfach nicht richtig (zumindest meine Augen tun es nicht).

Ich würde gerne Bilder der Druckproben hier hineinstellen, aber die Zu- und Abnahme der Raupenbreite ist derart subtil, dass es noch viel, viel schwerer einzufangen ist, wie das Wellenmuster durch das Eiern der Kugelgewindespindeln. Der Dippel (die Beule, Pickel, usw.) ist viel deutlicher zu sehen als die Breitenänderung. Da sieht man 2 Beispiele oben. Der Dippel steht auch deutlich hervor. Ebenso bildet sich nach der Beule eine recht deutliche Einfallstelle. Diese Einfallstelle ist aber sehr kurz, nur ungefähr die halbe Dippelbreite. Den genauen Grund der Einfallstelle habe ich mir noch nicht erarbeitet, aber Theorien dazu schon. Jedenfalls hat die Einfallstelle wenig oder nichts mit dem Modell von ‘Pressure Advance‘ zu tun, da sie viel zu kurz ist. Bei 100mm/s² müsste die Einfallstelle über 10mm lang sein. Dabei ist sie beinahe gleich lang/groß wie bei 4000mm/s².
In den folgenden zwei Bildern versuche ich die Einfallstelle optisch ein wenig hervor zu heben indem ich mit einer Lampe ganz flach von der Seite hin leuchte. Die Beule, oder der Dippel, wirft einen Schatten wenn das Licht so flach einstrahlt. Von einer Richtung beleuchtet, sieht man zwei Schatten, eines stammt von der Beule und eines von der Einfallstelle. Kommt das Licht aus der anderen Richtung, sieht man nur einen Schatten – vom Dippel, der dort hinfällt, wo die Einfallstelle ist.
2Shadows.jpg
1Shadow.jpg
Beule sowie Einfallstelle werden deutlicher, je höher die Beschleunigung ist, aber nicht linear (sonst müsste die Beule bei 4000mm/s² 40x so groß sein wie die bei 100mm/s²). Die Dauer der Pause (33ms oder 4ms) hat nur einen geringen Einfluss auf die Beule.
Hier ein Bild, mit einem billigen USB-Mikroskop aufgenommen. Man kann die Beule und die Einfallstelle erkennen. Die allmähliche Verbreiterung der Raupe kaum oder gar nicht.
Closeup.jpg
In der Tabellenkalkulation ließ ich mir auch ausrechnen, wie lange es dauert, bis, mit einer Beschleunigung ‘x‘, die vorgegebene Druckgeschwindigkeit von 60mm/s erreicht wird, ebenso die dazu nötige Distanz.

Bei 4000mm/s² sind diese Werte schon sehr klein: nach nur 0.015s, bzw. 0.45mm ist die Düse 'schon auf 60'.
Bei gemütlichen 100mm/s² dauert es schon 0.6s, bzw. 18mm, bis die Düse ihre Endgeschwindigkeit erreicht hat.

Hoffentlich habe ich mich da nicht verrechnet (wenn ja, dann war gewiss die Tabellenkalkulation schuld :oops: ).

Optisch merkt man bei 4000mm/s² keine allmähliche Verdickung der Raupenbreite – vermutlich, da diese in nur 0.45mm abgeschlossen wäre – bei so wenig Platz nimmt schon die Beule und die Einfallsstelle das meiste davon weg. Bei 300mm/s² bilde ich mir ein, eine zunehmende Verdickung/Verjüngung erkennen zu können, das sich über eine Länge von 4-5mm erstreckt (laut Berechnung wäre die Beschleunigung nach 6mm vorbei – das kommt also hin). Bei 100mm/s² wird es schon sehr schwer, den Anfang der Dickenzunahme, bzw. das Ende der Verjüngung zu erkennen, da diese extrem subtil ist und (laut Berechnung) über eine Länge von jeweils 16mm stattfinden sollte – aber ich bilde mir ein, etwas vage erkennen zu können, so etwa über eine Länge von 10-12mm.

Zusammenfassung:

Das Modell auf das Pressure Advance, bzw. Linear Advance aufbauen, stimmt nicht völlig mit dem beobachteten Druckergebnis überein (zumindest nicht mit meinen Druckergebnissen). Möglicherweise schaffen es beide Methoden daher nicht, das Problem zu beseitigen, auf die sie zielen.

Der Vollständigkeit halber möchte ich auch sagen, dass der Rechenfehler, unter dem fast alle Slicer leiden (siehe wieder hier) mit diesem Phänomen in keinem direkten Zusammenhang steht. In dem verlinkten Thread ging ich davon aus, dass der Rechenfehler dazu beitragen könnte. Inzwischen gehe ich davon aus, dass, falls es einen Beitrag gäbe, dieser verschwindend klein wäre (diese Meinung vertrat mhier schon früher, glaube ich). (Auch konnte ich bisher mit Superslicer keine Verbesserung an den Ecken erkennen, trotz ‘großteils korrigierter Ecken-Berechnung‘ des Slicers.)

Interessant wäre, ob andere auch eine Theorie haben, wieso das Aussehen der Raupe so ist, wie es ist, und nicht, wie das Modell von Pressure Advance es vorhersagt. In ein oder zwei Tagen stelle ich meine Theorie hier hinein.

Zum Schluss noch einen Dank an diejenigen, die bis hierher durchgehalten haben. Alle Achtung. Ihr habt euch ein Bier/Kaffee verdient. :good:

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.
DennisNochmal
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 33
Registriert: Mi 5. Jun 2024, 16:59
Wohnort: Penzing
Has thanked: 1 time
Been thanked: 4 times

Re: Pressure Advance – wirksam oder unnötig?

Beitrag von DennisNochmal »

Hallo,

meine Antwort wird sehr einfach sein.
Mit dem RFxxx und Klipper sind die Qualitäten und richtig eingestellten Pressure Advance einfach WAU.

Gruß

Dennis
zero K
Donator
Donator
Beiträge: 1130
Registriert: Mi 6. Dez 2017, 13:17
Has thanked: 46 times
Been thanked: 239 times

Re: Pressure Advance – wirksam oder unnötig?

Beitrag von zero K »

Wau - was ist denn richtig - magst du die Geräteausstattung näher beschreiben?
- Welcher RF 1000 bis 2000 und evtl welche Mainboardrevision?
- Ausführung des Druckkopfes - singel oder dual - Gewicht - Extruder untersetzt?
- Parametrierung in Klipper und/oder mögliche vom Druckmodell abhängige Einstelung im Slicer?

Das wäre vielleicht noch ein Thema, zu dem ich bei meienm alten Drucker noch einmal Hand anlegen könnte.
Benutzeravatar
af0815
Donator
Donator
Beiträge: 834
Registriert: Di 2. Jun 2020, 14:45
Wohnort: Burgenland
Has thanked: 35 times
Been thanked: 124 times

Re: Pressure Advance – wirksam oder unnötig?

Beitrag von af0815 »

Interessanter Artikel, wird mich vielleicht dazu bewegen mir mal anzusehen, wie die Bewegung genau gebildet wird - und zwar nicht in Klipper, sondern in der Communityversion. Die kann ich wenigstens lesen.
DennisNochmal
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 33
Registriert: Mi 5. Jun 2024, 16:59
Wohnort: Penzing
Has thanked: 1 time
Been thanked: 4 times

Re: Pressure Advance – wirksam oder unnötig?

Beitrag von DennisNochmal »

Hallo zero K,

- Welcher RF 1000 bis 2000 und evtl welche Mainboardrevision?
RF2000 / RF1000 Original Mainboard aber auch umgebauten

- Ausführung des Druckkopfes - singel oder dual - Gewicht - Extruder untersetzt?
RF2000 Original Extruder Hotend Typ 2 (Dual aber nur Single genutzt)
- Parametrierung in Klipper und/oder mögliche vom Druckmodell abhängige Einstellung im Slicer?

Bildschirmfoto 2024-11-22 um 21.14.21.png
Bildschirmfoto 2024-11-22 um 21.14.56.png
Bildschirmfoto 2024-11-22 um 21.15.05.png

Gruß

Dennis
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2104
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 277 times
Been thanked: 557 times

Pressure Advance – wieso weicht das Ausehen der Raupe ab?

Beitrag von rf1k_mjh11 »

Theorie, wieso die gedruckte Raupe so aussieht

An dem Thema scheint wenig Interesse vorhanden zu sein. Ich hätte gehofft, zumindest eine oder zwei Theorien zu finden, wieso die gedruckte Raupe nicht dem Modell von Pressure Advance (PA), bzw. Linear Advance (LA) entspricht. Na, egal. Hier meine Ansicht.

Die Raupe mit der zunehmenden Verdickung (beim Abbremsen der Düse), entspricht der Theorie von Pressure Advance (PA) bzw. Linear Advance (LA). Dazu werde ich nichts mehr hinzufügen. Ich folge dem Gedankengang von PA/LA hier völlig und stimme dem zu.

Was nicht entspricht, ist die überbreite Raupe mit abnehmender Verdickung während der Beschleunigung (nach einem Stopp). Auch ich war überrascht und hatte das Ergebnis nicht erwartet. :ohmy: Diese Diskrepanz musste bei mir eine Zeitlang im Hirn vor sich hin köcheln, bevor ich es mir erklären konnte. Da ich mit dem Experiment schon vor Tagen begann (so vor 7 bis 9), habe ich mich inzwischen schon lange genug damit im Geiste beschäftigt.

Das Aussehen der Raupe entsteht in 2 Phasen, bis zum Stillstand (Pause) und nach dem Stillstand – das wird keine überraschende Erkenntnis sein. :slap: Von der Konstantfahrt über die Abbremsphase bis zum Stillstand der Düse läuft fast alles nach Plan (nach den Annahmen von PA/LA), bis auf die Beule (den Dippel) am Stillstandspunkt.

Der Dippel ist eine weitere Folge der Elastizität als auch der Hysterese (Trägheit) im Extrudersystem. Das sind dieselben Ursachen, die die stetige Raupenbreitenzunahme beim Abbremsen der Düse verursachen. Die genaue Erklärung des Dippels folgt später.

Der Druck im Hot End
Bei einer Konstantfahrt mit der Geschwindigkeit 'v' pendelt sich der Druck im Extrudersystem auf einen Wert ein, der die gewünschte Raupenbreite bei genau der Geschwindigkeit der Konstantfahrt erlaubt.
Das System 'Druck', 'Geschwindigkeit' und 'Fördermenge' befinden sich dann sozusagen im Gleichgewicht. (Das sind die nachvollziehbaren Annahmen von PA/LA, da stimme ich zu.)

ABER: Jede gewollte oder ungewollte Änderung eines der drei Variablen bringt das System eine Zeitlang aus dem Gleichgewicht.

Nun, die Firmware steuert zwei dieser Variablen direkt: die Geschwindigkeit und die Fördermenge. Der Druck wird derzeit nicht direkt gesteuert, sondern pendelt sich anhand der Gegebenheiten irgendwann auf einen Wert ein.
DMS als mögliche Lösung fuer Pressure Advance
Beim RFx000 Drucker hat die Firmware mittels DMS indirekt Zugriff auf den Druck, dem Förderdruck, im System. Über die DMS lassen sich Rückschlüsse auf den aktuellen Druck ziehen. Genau darauf beruhen einige Funktionen der Community Version der Firmware (Digit CMP, Digit Flow CMP, SenseOffset und ViscositySense).
Somit könnte eine Systemplatine, eine entsprechende Rechenleistung und Ablesefrequenz der DMS vorausgesetzt, die Funktionalität von PA/LA in Echtzeit übernehmen. Die Rechenleistung der derzeitigen Systemplatine der RFx000 Drucker dürfte dazu nicht ausreichen.
Die Firmware könnte sich selbst eichen, solange eine genügend lange Strecke mit diversen Geschwindigkeiten abgefahren wird. (Man müsste nur neben der Startraupe ein oder zwei Raupen zusätzlich vorsehen. Oder man könnte die Schürze oder den Brim dazu verwenden.) Der Druck der sich nach einiger Zeit einstellt, ist der notwendige Druck für die jeweilige Kombination aus Material, Temperatur, Geschwindigkeit und Fördermenge. Merkt sich das die FW, kann sie während des Druckvorgangs immer den entsprechenden Druck proaktiv einstellen und die perfekte Raupenbreite liefern (ebenso perfekte Ecken). (Huch! Mit dieser Veröffentlichung wurde(n) das/die nächste(n) Patent(e) zumindest in Europa abgewendet! :tanzen:).
Da das Extrudersystem träge und elastisch ist, hinkt es dem aktuellen Bedarf nach. Nachhinken bedeutet aber nicht, dass immer zu wenig gefördert wird, es kann auch bedeuten, dass die Rücknahme der Fördermenge zu langsam geschieht (zum Beispiel beim Abbremsen). In so einem Fall gibt es eine Überextrusion (eine zu breite Raupe).

Sorry, dass ich damit eigentlich die ganze Theorie von PA/LA wieder durchkaue. Diese Theorie benötigen wir aber, um zu verstehen, wie der Dippel entsteht und was in der zweiten Phase der Raupe (nach dem Stopp/Pause) vor sich geht (zumindest meiner Meinung nach). :scham:

OK, zurück zum Fördersystem. Dort muss ein gewisser Druck herrschen, um das Material aus der Düse zu pressen. Der Druck wird erzeugt indem das Material in das Hot End gepresst wird. Leider sind in diesem System einige Elastizitäten (='federnde Elemente') vorhanden (siehe Elastizitzät im Extrudersystem (beim RFx000)). Durch diese Federn baut sich der Druck verspätet auf und baut sich ebenso verspätet ab. Das ist der springende Punkt :boing:, meiner Meinung nach (=IMHO). Das erklärt sowohl den Dippel als auch die Raupenverbreiterung nach dem Stillstand.

Sehen wir uns wieder den Druck an, um es verständlicher zu machen.
Es muss ein gewisser Überdruck herrschen, damit etwas aus der Düse kommt. Steht die Düse aber still, sollte der Überdruck eigentlich null sein, damit nichts aus der Düse kommt, denn die Düse bewegt sich nicht und es wird folglich nichts benötigt.

Ich bin überzeugt davon, dass, durch die Trägheit und der Elastizität im System, der Überdruck lange nicht auf null ist, wenn die Düse zum Stillstand kommt. Das verursacht als schon als erstes den Dippel, da ein wenig Material durch den herrschenden Druck, trotz Stillstand, nachfließt.

OK, das könnte den Dippel erklären, aber nicht, wieso
a) die Dippelgröße von der Pausenlänge kaum beeinflusst wird
und
b) wieso nach der Pause die Raupe breiter und nicht verjüngt ist.

Dazu komme ich gleich.
Zuerst ein Bild. Der Blick von oben, durch die Düsenachse, auf die Raupe zum Zeitpunkt der Pause. Die Düse ist nur etwa zur Hälfte gezeichnet, damit sie die Raupe nicht zu sehr verdeckt.
Bulge&DepressionTheory.jpg
Wenn also die Düse zum Stehen kommt, drückt der Überdruck noch etwas Material aus der Düse, wodurch der Dippel entsteht.
Dieser Dippel hat ein begrenztes Ausmaß, welches (Großteils) unabhängig von der Pausenlänge zu sein scheint – hier wieder meine Meinung/Theorie: Da das Material einerseits auf das bereits erkaltete Material der darunterliegenden kühleren Schicht stößt, andererseits weit genug von der Düse entfernt ist, um seitlich etwas abzukühlen, baut sich in Folge ein Wall auf, der zur Düsenstirnfläche abdichtet und den weiteren Materialaustritt verhindert oder zumindest stark behindert. Ich vermute daher, dass der Dippel bei größeren Layerhöhen auch dicker wird (da das Material nicht so schnell erkalten kann – dünnere Schichten kühlen schneller aus und werden schneller 'fester').
Da also meine Erklärung zum Dippel, bzw. zur Frage 'a)'.

Nun die Erklärung zur überbreiten Raupe nach der Pause (Frage 'b)'):
Ich glaube auch, dass, trotz der Pause, und mit einem theoretisch nötigen 'Förderdruck' von null, weiterhin ein Überdruck im Fördersystem besteht. Das ist der wichtigste Punkt an der Theorie. Dieser Überdruck kann sich wegen dem Dichtpfropfen (=Dippel) nicht vollständig abbauen. Beim Weiterfahren, nach dem Stillstand, baut sich dann der übermäßige Druck langsam ab, bis wieder alle Kräfte im Gleichgewicht sind. Solange der Überdruck nicht vollständig abgebaut ist, wird die Raupe breiter als geplant.
Das ist die Erklärung der überbreiten Raupe beim Wiederanfahren.

Die Einfallstelle:
Bezüglich der Einfallstelle tue ich mir am schwersten, diese sinnvoll zu erklären. Die Einfallstelle ist so kurz, von der Länge her nur ungefähr die Raupenbreite, sodass weniger als 0.01s bei der Entstehung vergehen. Daher ist meine Erklärung auch nicht besonders nachvollziehbar.

Ich kann mir die Einfallstelle nur so erklären: Durch den Pfropfen am Pausenpunkt, kommt der Materialfluss völlig zum Erliegen. Beim wieder Losfahren kann erst dann wieder Material fließen, wenn zumindest ein Teil der Düsenöffnung am Dippel (an der 'Dichtungswand') vorbeigefahren ist. Wenn es dann soweit ist, geht es so schnell, dass das der Materialfluss es gar nicht schafft, mit einem Schlag von 0 auf den nötigen Wert zu springen und es entsteht eine ganz kurze Strecke mit unzureichendem Material (ein klein wenig ähnlich wie es PA/LA vorhersagen). Der Unterschied zum PA/LA-Ansatz ist aber, dass meiner Meinung nach noch ein Rest Überdruck im Hot End vorhanden ist, der dann zu einer überbreiten Raupe danach führt, trotz der stattfindenden Beschleunigung.

Und hier, glaube ich, hakt es beim PA/LA-Ansatz. Es wird (scheinbar?) angenommen, dass sich der Förderdruck beim stehenbleiben (an einer Ecke, z.B.) vollständig abbaut. Beim RFx000 Drucker tut es das offensichtlich nicht. Und laut PA/LA-Vorgang wird der Druck nach der Ecke sogar übermäßig erhöht, um eine (zumindest beim RFx000 Drucker nicht vorhandene) Unterextrusion auszugleichen. Somit müsste zumindest beim RFx000 Drucker der Ansatz von Pressure Advance, bzw. Linear Advance, teilweise versagen, oder zumindest nicht optimal funktionieren. (Hinweis: mit Einstellungsarbeit kann man vieles 'hinbiegen'.)

Der Kopf raucht - die Düse auch. :developer:

Vielleicht findet sich einer, der mit besseren, oder gar mit den richtigen Theorien hier aufwarten kann.

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: 3453
Registriert: So 15. Nov 2015, 20:55
Has thanked: 758 times
Been thanked: 597 times

Re: Pressure Advance – wirksam oder unnötig?

Beitrag von AtlonXP »

Hallo rf1k_mjh11,
deine gedankenspiele sind nicht schlecht, aber mal wieder langatmig!

Dieser Beitrag hätte vor deinem letzten erscheinen sollen.

Zuerst meine Kritik:
Du hampelst heute noch mit einer Conrad Version herum, obwohl Nibbels sein Bestes gegeben hat, um unsere Community Version zu aktualisieren und zu verbessern.
Da mein RF1000 bei Z=0 um mehr als Z8 mm ins Minus überfahren kann, werde ich mich nie trauen auf Conrad Version abzusteigen.
Ich vermute hierbei sogar eine Inkompatibilität mit der Conradsoftware.

Hier ein paar Überlegungen zu den von Dir hier angesprochenen Abweichungen.

1.) Druckänderungsdynamik

Das V2 und V3 Hot End besteht mehr oder weniger aus Kunststoff. Daraus folgt des diese Hot Ends eine Nebenwirkung wie ein Druckspeicher aufweisen.
Unter Extrusionsdruck dehnt sich der Kunststoff im Hot Ends aus und bei Druckabfall wird noch nachgeschoben,
bis sich der Restliche innendruck abgebaut hat. Ich nenne das mal Druckänderungsdynamik.
Ist etwa so wie im Maschinenbau ein Hydraulischer Druckspeicher.
Umso geringer der Innendruck während dem Extrudieren, umso geringer die Druckänderungsdynamik.

An meinen E3D V6 Hot Ends verwende ich überwiegend PTFE Inliner komplett durch, bis zur Düse.
Das PTFE ist dort zwar besser eingesperrt wie im V2, trotz allem möchte ich durch das PTFE eine Druckänderungsdynamik nicht ausschließen.
Was hier jedoch zugutekommt, ist dass das PTFE die innere Reibung verringert und sollte somit die Druckänderungsdynamik verringern.
Ebenso sollte eine Beölung hier auch entgegen wirken.

Ob wohl ich immer feuchtes Material kleinrede, möchte ich hier bei genauerer Betrachtungsweise eine negative Beeinflussung nicht ausschließen.
Ein langsameres Fahren oder trocknen ist hier zu empfehlen.

2.) Einflussgröße unserer HD3 Riemen.

Diese Riemen sind sehr steif und dick.
Darum sind unserer Durchmesser von den Pullys zu klein gewählt.
Bei der Umlenkrolle von der Y- Achse ist im Betrieb schön zusehen, wie sich hier das Umlenkspiel bemerkbar macht.
Da unsere Riemenspanner schon am Limit sind, kommt eine höhere Riemenspannung nicht in Frage.

Abhilfe würde hier vermutlich ein Umbau auf GT2 Riemen bringen.
Ich denke speziell bei Ringing ist diese Problem auch relevant.
Auch könnte ein asynchroner lauf zum Extruder bestehen, bei Maden Start und in der Phase einer negativen Beschleunigung.

Bei dem Kugel drucken ist der Lastwechsel von der X- und Y- Achse in Form von Flachstellen am Äquator schön zu sehen.

Bei einer Z- Naht an einem Zylinder sehe ich auch ein Problem.
Am Startpunk der Kreisbahn ist die Materialmenge nicht zu hoch.
Am Endpunkt wo sich die Kreisbahn schließt bekomme ich immer eine kleine Lücke!
Aus diesem Grund setze ich im Slicer immer not gedrungen die Funktion Random.

Siplify3D bietet hier einen Parameter nach Retract ab genullt, +/- einen kleinen Offset an. (Eigentlich für Bowden Betrieb)
Nach Kreisbahn Ende (vor Retract) bietet Siplify3D eine Auslauffunktion, hier ist nur ein kleiner negativer Eingabewert möglich.
Da mir hier jedoch noch Material fehlt und leider kein Positiver Eingabewert möglich ist,
kann ich diese Funktion nicht nutzen.

Ob hier das Umlenkspiel oder auch ein asynchroner lauf mit verantwortlich ist, will ich nicht beurteilen.


3.) Unsere Community FW.

Nibbels hatte sich wirklich Mühe gegeben unser Repetier FW zu Optimieren und auch zu erneuern.
Es wurden viele veraltete Programmzeilen entfernt.
Das Programm wurde auch auf die schwache Rechenzeit unseres Arduino optimiert.
Nibbels verdient hier heute noch meinen Respekt und ich ziehe den Hut vor ihm.

Das einzige was mir heute noch nicht gefällt ist der verhundste HBS.
Damals als Betatester ist es mir nicht aufgefallen, da ich noch mit einem V2.b gedruckt hatte.
Nibbels druckte mit einem E6D V6, aber Wasser gekühlt.

Somit ist der Fehler uns erst später aufgefallen.

Unsere Community FW bietet folgen Möglichkeiten zur Eingabe über das Druckermenü:

Im Menü Punkt ACC:

ACC X/Y 900 auch Travel
ACC Z 80 auch Travel

Jerk X/Y 10,3
Jerk Z 0,36

Print ACC E0 5000
Jerk 15

Advance E0 = 0

Menü Option Feedrate:

X/Y 200 Home 80
Z 8 Home 8

Max. E0 = 25
MinInterval: 3300

Nun zu unserer Community FW:

Mit den oben beschrieben Parameter ist unsere FW in der Lage, bis zu < 80 mm/s zu drucken.
Wenn man > 80 mm/s druckt und nur einen leichten Bogen in der STL hat, dann fängt der Drucker dort an zu stockeln.
Ich vermute, die Rechenzeit unserem Arduion ist hier am End.

Wenn die STL rechtwinkelig ist und nur aus Geraden besteht,
kann der Drucker auch weit über 100 mm/s.

Die Druckqualität lässt jedoch bei so hohen Geschwindigkeiten zu wünschen übrig.
Umso langsamer man druckt, umso besser ist die Druckqualität! (Oh Wunder)

- Durch verändern von MinInterval: 3300 (zu finden im Menü Feedrate) kann eventuell die Rechenzeit verschoben werden.
Durch verändern diesen Wertes ist mir aufgefallen, die Eingaben über das Druckermenü bekommen eine Verzögerung.
Eventuell bekommt hierdurch die Recheneinheit noch etwas mehr Power? (nicht Getestet).

- Advance E0 = 100, brachte bei mir keine Verbesserungen.

- Wenn ich mir so die Parameter von E0 anschaue, dann ist zu erkennen, dass diese aggressiv eingestellt sind.

- Was wäre wenn, diese Parameter etwa denen der X/Y Achse angeglichen wären.

- Was wäre wenn, diese Parameter noch aggressiver eingestellt wären.

Was nicht alles in Ordnung bei unserer RFX000 Klasse ist, gilt es nun zu überprüfen.
Wenn unser Extruder asynchron zu den X/Y Achsen läuft, habe ich hier verschieden Möglichkeit für Test zwecke aufgezeigt.
Es kann natürlich auch sein, dass unser Arduino einfach am Ende ist!

Um den größten mechanischen Fehler auszuschließen,
sollte unbedingt ein Umstieg auf GT2 Riemen an der X/Y Achse vollzogen werden.

Ich empfehle hier die mittlere Qualität in 6 mm Breite aus Nylon.
Zu erkennen ist dieser Riemen, braun in dem gerippten Bereich.
Es reicht hier Meter Ware, unten am Kamm lässt sich der Riemen dann auch schließen.
Beide Pully sollten das GT2 Profil aufweisen.

LG AtlonXP
PatrickB
3D-Drucker
3D-Drucker
Beiträge: 56
Registriert: Di 6. Jan 2015, 08:04
Has thanked: 2 times
Been thanked: 4 times

Re: Pressure Advance – wieso weicht das Ausehen der Raupe ab?

Beitrag von PatrickB »

rf1k_mjh11 hat geschrieben: Sa 23. Nov 2024, 16:25 An dem Thema scheint wenig Interesse vorhanden zu sein.
Im Gegenteil, es ist sehr interessant, aber manchmal hängt's halt einfach an der Zeit.
Die Länge Eurer Beiträge zeigt ja schon, wie umfangreich das Thema ist.
PatrickB
3D-Drucker
3D-Drucker
Beiträge: 56
Registriert: Di 6. Jan 2015, 08:04
Has thanked: 2 times
Been thanked: 4 times

Re: Pressure Advance – wirksam oder unnötig?

Beitrag von PatrickB »

Klipper 0.12 hat mich doch etwas länger beschäftigt, aber jetzt hatte ich Zeit, mir diesen Thread durchzulesen.
Meine Theorie dass das anders aussieht ist eine ganz andere: Die RF1000-Firmware lässt solche Änderungen nicht zu.
Bei meinem Umstieg auf den Orca Slicer habe ich die Kalibrierung durchlaufen lassen und musste feststellen, dass ein paar Dinge überhaupt keine Auswirkung hatten. Pressure Advance und maximale Durchflussrate änderten nichts. Die maximale Durchflussrate schiebe ich auf eine EInstellung am Drucker, Pressure Advance darauf, dass die Befehle für Beschleunigung von der Firmware nicht verarbeitet werden (evtl. weil Marlin Befehle verwendet werden).

Teste das ganze doch mal mit einer Ecke, da bleibt der Kopf nicht stehen sondern wird beschleunigt und gebremst.

Mit Klipper funktioniert Pressure Advance und bringt deutliche Besserung.
Ich bin auch der Meinung dass ich mit Klipper doppelt so schnell drucke bei besseren Ergebnissen als vorher. Bei normalem PLA bin ich mir nicht ganz sicher, aber bei einem ziemlich zickigen PLA+ habe ich einen Unterschied von völlig unbrauchbar zu ziemlich gut und bei ABS muss ich mich endlich nicht mehr zwischen schön und stabil entscheiden, jetzt geht beides. Bei ABS könnte auch der neue Lüfter eine Rolle spielen, aber das ABS+ habe ich mit identischen Einstellungen im Slicer und identischer Hardware getestet. Eine schnellere Verarbeitung (RasPi gegen Arduino) scheint also schon Vorteile zu bringen.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2104
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 277 times
Been thanked: 557 times

Re: Pressure Advance – wirksam oder unnötig?

Beitrag von rf1k_mjh11 »

Hallo PatrickB,
PatrickB hat geschrieben:Die RF1000-Firmware lässt solche Änderungen nicht zu.
Die RF1000 Firmware basiert auf Repetier. Da gibt es keine Unterstützung dafür (Pressure Advance). Marlin, andererseits, würde es unterstützen (unter dem Namen 'Linear Advance').
Somit werden Marlin GCode-Befehle entweder ignoriert, oder führen zu einem gänzlich anderes Verhalten, wenn die Befehle zufällig 'namensgleich' sind. Der Marlin GCode, um Linear Advance zu 'aktivieren' heißt M900. Diesen Befehl kennt der RFx000 Drucker nicht und ignoriert ihn daher. (Siehe hier.)
PatrickB hat geschrieben:Teste das ganze doch mal mit einer Ecke, da bleibt der Kopf nicht stehen sondern wird beschleunigt und gebremst.
Klar wird abgebremst, und der Kopf bleibt sogar kurzfristig stehen. Bei einer Ecke, in eine Richtung, steht das Bett (und das Druckobjekt), nur die Düse rauscht heran, bremst ab und bleibt stehen. Erst dann kommt der Befehl, das Bett zu beschleunigen (Massenträgheit, usw...). Damit steht die Düse (ganz kurz, zwar, aber doch). Bei der nächsten Ecke geht es dann umgekehrt: Das Bett bremst ab und kommt zum Stehen, worauf die Düse los rauscht.

Ich könnte noch einen Testdruck machen mit einer Pause von nur 1ms, oder, falls der Befehl G4 P'x' Kommazahlen akzeptiert, auch 0.1ms. Jetzt lasse ich aber eine Zeitlang davon ab.

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.
Antworten

Zurück zu „RF1000-Klipper“