Seite 1 von 4

RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: So 6. Aug 2017, 13:01
von Nibbels
Ich glaube, das Thema gabs hier noch nicht, könnte aber hochspannend sein.
Hat irgendwer von euch schon einmal auf einem RF1000/RF2000 mit USE_ADVANCE und dem Faktor L experimentiert?

Als schnelle Einleitung:

Digibike beschreibt hier [ http://www.rf1000.de/viewtopic.php?f=58&t=1918 ] unter Anderem wie Coasting Distance und Extra Distance zusammenspielen um das Filament genau dann aus der Düse zu bekommen, wenn man es für die jeweilige Wegstrecke benötigt - nicht zeitversetzt, wegen der Federwirkung vom Filament und dem Gegendruck.

So wie ich ADVANCE verstanden habe:
Da FDM-Drucker wie der RF1000/RF2000 ebenfalls eine Beschleunigungsphase einleiten um auf hohe Geschwindigkeiten zu kommen, findet der Effekt ebenfalls beim Beschleunigen und Bremsen statt. Beim Beschleunigen wird auch der Extruder beschleunigt. Also spannt sich das Filament mehr ins Hotend -> Es wird beim Beschleunigen weniger Material extrudiert.
Beim Abbremsen aus dem umgekehrten Grund mehr Material extrudiert.


Hier steht eine Beschreibung, wie man dem Effekt entgegentreten will:
http://www.dr-henschke.de/advance.html
Schaut euch unten auch die Vergleichsbilder an!!

Da gehts um Geschwindigkeiten, die ich selbst normalerweise nicht einsetze, weil ich dachte, das Druckbild wird schlechter, da mein Extruder zu schwer ist. Unter Umständen könnte es aber sein, dass Teile des Qualitätsverlustes auf die Rechnung dieses Effektes gehen und wir das mit dem Advance-Algorithmus mindern oder eliminieren können. (Z.B. die Schatten an den Kanten eines Quaders, die ich immer Überschwingen der Hardware zuschrieb)

Das beste: Der RFx000 müsste das bereits können - als Hardwarefeature über die Repetier-Firmware. Denn Repetier hat die Ausgleichsformel sehr früh eingebaut.
RFx000-Firmware hat geschrieben:

Code: Alles auswählen

/** \brief Enable advance algorithm.
Without a correct adjusted advance algorithm, you get blobs at points, where acceleration changes. The
effect increases with speed and acceleration difference. Using the advance method decreases this effect.
For more informations, read the wiki. */
#define USE_ADVANCE

Code: Alles auswählen

"/** \brief Faktor for the advance algorithm. 0 disables the algorithm.  Overridden if EEPROM activated.
K is the factor for the quadratic term, which is normally disabled in newer versions. If you want to use
the quadratic factor make sure ENABLE_QUADRATIC_ADVANCE is defined.
L is the linear factor and seems to be working better then the quadratic dependency. */
#define EXT1_ADVANCE_K                      0.0f
#define EXT1_ADVANCE_L                      0.0f"
Wobei uns nur ADVANCE L interessiert, K wäre die zweite Konstante für den quadratischen Anteil, der angeblich keine Rolle spielt.
Allerdings ist das komplette Feature wohl bei den meisten RFx000 im EEPROM = 0 und somit deaktiviert.
Quadratic Advance
Es gibt Theorien über QUADRATIC_ADVANCE, was ein normales lineares ADVANCE mit höherer Ordnung darstellt. Allerdings habe ich herausgelesen, dass die höhere Ordnung überhaupt nicht existiert, da Filament aus der Düse laminar und nie turbulent austritt.
Darum ist Quadratic Advance meistens deaktiviert, es wurde aber früher mal in Repetier eingearbeitet.

Code: Alles auswählen

/** \brief enables quadratic component.
Uncomment to allow a quadratic advance dependency. Linear is the dominant value, so no real need
to activate the quadratic term. Only adds lots of computations and storage usage. */
//#define ENABLE_QUADRATIC_ADVANCE
und
http://forums.reprap.org/read.php?247,3 ... msg-359140
Screenshot_2.png
Screenshot_1.png
Im Internet geistert z.B. ein Wert "ADVANCE_L = 40.0f" als mögliche Kompensationseinstellung herum. Aber eine bessere Begründung als die " https://de.wikipedia.org/wiki/42_(Antwort) " habe ich noch nicht recherchieren können.
Meine Vermutung: Sollte diese Zahl stark von Material, Düsengeometrie und Geschwindigkeit abhängen, wären Digits/Extrudierkraft über Extrudiergeschwindigkeit die ideale Basis, um sie physikalisch korrekt einzustellen. Man sollte sie dann mit einem Extrudiertest und Umrechnen der Kennlinie für jedes Filament sauber kalibrieren können. Wir haben im RFx000 durch die DMS-Streifen ein Alleinstellungsmerkmal, was das betrifft ;)

Gut, zurück zur Praxis: Ich habe mich belesen, aber noch nichts getestet. Weiß auch nicht wie gut/ob das Feature und unseren Druckern funktioniert. :dafür:
Das gibts mindestens seit Dezemeber '13 demnach wird es vermutlich funktionieren.
Darum frage ich erst hier nach: Hat sich irgendwer schon damit beschäftigt?
:coolbubble:

LG

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: So 6. Aug 2017, 14:53
von rf1k_mjh11
Nibbels,

Theoretisch macht der Advance Sinn. Schließlich bremst der Druckkopf vor den meisten extremen Richtungswechsel schnell ab, ohne dass der Druck in der Schmelzkammer im gleichen Maß reduziert wird.

Ich frage mich bloß, ob der Effekt sich deutlich abzeichnet. In den Bildern zum Link finde ich das Ergebnis zum Teil schlechter mit Advance als ohne. Siehe dazu die Einfallstelle genau am Anfang/Ende der Raupe im letzten Bild (der untere Teil angeblich mit Advance, der obere ohne).
Interessanterweise zeichnen sich, im Radiusbereich, die geraden Liniensegmente beim Druckobjekt ohne Advance stärker ab als beim Teil mit Advance (siehe dazu das erste Bild mit Druckobjekten, der obere Teil ist ohne Advance). Das kann ich mir nicht erklären. Der Winkelunterschied von einem Liniensegment zum nächsten ist bei diesem Radius so gering, dass hier keine Verzögerung oder Beschleunigung stattfinden sollte (vermute ich). Findet keine Beschleunigung statt (ob positiv oder negativ), sollte der Advance nicht greifen. Wieso sieht man aber einen Unterschied?

Dein Ansatz, den Advance mittels F-Digits zu steuern, könnte klappen. Ob jedoch die Unzulänglichkeiten des FFF-Verfahrens eine Verbesserung des Druckbilds sichtbar werden lassen, muss sich noch herausstellen.

mjh11

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: So 6. Aug 2017, 15:25
von Nibbels
Danke!

Ich hoffe damit diese Schatten an den Kanten mancher PLA-Teile wegzubekommen. Die sind bei mir teilweise ein Problem.

Dort bin ich zur Zeit am lesen: Für einfacheres Testen:
Ich habe in der neuesten 1.37s Mod-Firmware (privater Github-Account: https://github.com/Nibbels/Repetier-Firmware) diesen Faktor ins Druckermenü integriert.
Configuration->Stepper->E0-Advance L:/E1-Advance L:
Damit kann man zur Laufzeit den Wert in Firmware und im Extruder-Objekt anpassen.
[In dieser Firmware kann man die Motorströme im Menü absenken, das ist ziemlich durchgetestet und sollte funktionieren, doch man sollte sich das genau anschauen, wenn man bisher besondere Einstellungen gewählt hatte. Ich erwähne das, weil Motorstromeinstellungen was kritisches sind. Der alte Silent-Mode ist ausgebaut.]


Die Werkzeuge sind nun da, jetzt kann ich testen ^^.
Ich bin über weitere Tipps und Erfahrungen immer dankbar!

LG

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: So 6. Aug 2017, 23:27
von Nibbels
Ich habe heute ADVANCE aktiviert, auf K=15 mit dem rechten Hotend (0.3mm) und eine Schneeflocke gedruckt.
Bald war mein Hotend zu.

Kann mehrere Gründe gehabt haben, aber nach 3 Coldpulls sah der Druck immernoch absolut beschissen aus.
Dann habe ich ADVANCE abgeschaltet und die Schneeflocke normal gedruckt. Dieser Druck war wunderschön :D

Gut: Ich habe erst nicht weitergetestet und die Firmware durchgeackert. Repetier hat diesen Codeteilen in den letzten 3 Jahren ein paar mal Upgrades verpasst. Die habe ich alle übernommen und mal ganz vorsichtig mit K=1 angefangen. Z.B. wurde zum Drucken immer der Extruder von der normalen Funktion mit einer Richtung versehen, was die originale Repetier ausschließt. Dort macht alles der Extruder-Interrupt. [...]
-> Bisher läuft der Druck sauber durch und wenn der fertig ist schmeiße ich den Drucker nocheinmal mit K=15 an.

Sollte sich jemand dran versucht haben, dann bitte auf mindestens V1.37s3.Mod upgraden ;)

LG

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: Mo 7. Aug 2017, 14:50
von Nibbels
Ok, evtl. hätte ich nicht zwingend updaten müssen, aber besser so.
K = Zahl ist im Drucker die Variable ADVANCE L für "Linearer Faktor". Mit ein paar mehr Tests komplettiert sich das Bild.
Unabhängig von Qualitätsänderungen meine bisherigen Erfahrungen:


ADVANCE L = 0 -> Feature deaktiviert. Extrudieren über Hauptinterrupt mit den Bewegungen gemeinsam.
ADVANCE L = 1 -> Druck läuft sauber durch.
ADVANCE L = 5 -> Druck läuft sauber druch.
ADVANCE L = 10 -> Extruder macht Probleme, verstopft
ADVANCE L = 15 -> Extruder macht große Probleme, verstopft ständig.

Das bezieht sich auf ein Full-Metal-Hotend E3Dv6. Düse ist 0.3mm (Microswiss). Die Soll-Geschwindigkeiten laut S3D sind irgendwo zwischen 15 und 35 verteilt.
Screenshot_1.png
.
[Vgl: Die Angaben zu ADVANCE L = 40...70 bezogen sich auf eine 0.5er Düse, 17mm/s bis 80mm/s | 0.3mm -> Ein Drittel Düsenaustrittsfläche der 0,5mm Düse]
Also scheint das Feature wie zu große Retracts für ein Full-Metal-Hotend ebenfalls schädlich zu sein. Es ist nicht verwunderlich, dass Überdruck-Spitzen in der Summe Probleme machen können. Ein vorschnelles Extrudieren um schnell Druck aufzubauen hört sich genau danach an. Bei PETG wäre das sofort ein Grund für Ausschuss, bei PLA gibts diese Grenze wohl auch, wenn man es übertreibt.

Da das Sample ein Stern war kann ich über die Qualität an den Ecken nichts sagen. Dafür sind die Beschleunigungen vermutlich zu klein.

Wie in der Repetier-Seite nachzulesen ist dieses Feature im Zusammenspiel mit den eingestellten Beschleunigungen zu sehen, also muss man immer
ADVANCE L + Beschleunigungseinstellungen optimieren.

(?) Alle Angaben ohne Gewähr :D - Bis ich ein eindeutiges Sample in der Hand habe.

LG

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: Di 8. Aug 2017, 00:42
von Nibbels
Ok...

Diese Zärtlichkeit "1..5..10" mit dem Parameter ist vorbei. Unter Umständen haben größere Parameter nur Restdreck im Hotend losgerüttelt. Oder die Druckzeit für das nachts leuchtende PLA war viel zu lahm?
Bei mir laufen nun Türmchen hoch.
Screenshot_1.png
20x60x180mm.
Düse 0,4mm
v=60mm/s
a=1000mm/s²
PLA Velleman rot

Der Parameter wird nun variiert. Ohne vorschnell etwas verkünden zu dürfen, ist ein Testdruck der mal Advance L = 0 und mal Advance L = 60 drin hatte verdächtig gut von seiner Aussage:
IMG_08082017_003333_0.png
Was ich dazusagen muss, es wurde von links nach rechts aufgebaut. Rechts ist -> 180mm Höhe. Lüfter kam vom Betrachter aus gesehen schräg von unten. Vorne ist die Kante perfekt, nur hinten wo der Lüfter nicht ständig rankommt...
Nach dieser Tabelle: https://github.com/repetier/Repetier-Fi ... eded-force
Ist die Beschleunigung so gelegt, dass das Hotend ~3mm beschleunigt, bis 60mm/s erreicht wurden.

LG

EDIT: Ich habe eine externe Quelle gefunden, die nutzen aber Marlin. http://www.3d-druck-community.de/thread ... #pid107218 Der Wert des "K" oder "L" kann also ein anderer sein. Ausserdem wird theoretisch insgesamt eigentlich nicht weniger oder mehr extrudiert, nur zu jeweils einer anderen Zeit. Das kommt bei den Kommentaren nicht immer ganz zur Geltung.

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: Di 8. Aug 2017, 03:43
von Nibbels
Da die dem Lüfter abgewandte Seite die schlimmste ist und durch ADVANCE quasi behoben werden kann :D hier die bisherigen Towers. Das war zu spannend um schlafen zu gehen.
(Aber den 75er Tower warte ich nicht mehr ab.)

Nach hinten gewandte, vom Lüfter abgewandte Seite nach oben mit und ohne Blitz:
DSC09134.JPG
DSC09135.JPG
Da mein Lüfter von der Mitte aus schräg jeweils auf beide Hotends bläst (Bild: Bild) ist eine Kante des Towers am schlimmsten. Die vorderen "am Besten", die Ecke rechts hinten wird beim linken Hotend nur grenzwertig gut belüftet.
Der Lüfter bläst immer gleich stark, auch da bei meinem RF2000 die Lüfterregelung überhaupt nicht funktioniert (: 1%/100% sind exakt gleich, AN eben)

Hier also die schlechteste Ecken im Vergleich:
Screenshot_2.png
Screenshot_3.png
Hier liegen die originalen Fotos, wenn jemand das genauer inspizieren will:
https://cloud.downfight.de/index.php/s/ZemcIaEbJYhARj1

Ich glaube durch die Tests mit PLA, dass dieses Feature die Spannung im Material an Ecken und Kanten minimieren kann. Man kann Lüfter-% sparen. Darum vermute ich, dass bei Materialien mit Warping und Schrumpf sehr viel mehr Qualität herausgeholt werden kann als beim PLA.
Es macht also wirklich sinn, wenn ABS- und Nylonspezialisten damit beginnen mit dem Feature zu spielen :)

Im anderen Forum gibts ein Zitat in dem vereinfacht gesagt wird, das Hardware-ADVANCE von Simplify3D quasi nachgebildet wird, indem man dort das "Coast at End" und "Extra Restart Distance" benutzt wird.
Bei S3D gehts allerdings um Retracts und nicht um die ständige Extrusionskontrolle bei allen Geschwindigkeitsänderungen.
Zudem vermute ich, dass die Auto-Speed-Funktion in Slic3r ähnliches tun will.

:tanzen:

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: Di 8. Aug 2017, 09:50
von Digibike
Reizt dazu, das kühlungsproblem an meinem RF1000 activ nachdem Urlaub anzugehen und mal mit meinem Nylon auszutesten... Ist ja komplett eingehaust und bei Nylon gilt noch mehr als bei Allen anderen "kein Lüfter ist besser als ein Lüfter...."

Gruss Christian

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: Di 8. Aug 2017, 13:03
von Nibbels
50 und 75 im Vergleich.
Screenshot_5.png
Screenshot_6.png
Das bleibt quasi gut. 75 ist noch einen Ticken besser für mein Hotend und dieses PLA.

Beim 75er Turm kann ich nicht mehr erkennen auf welche möglichen schlechten Ecke der Lüfter direkt angeblasen hat und auf welche nicht.

Re: RF2000 / RF1000 : Feature ADVANCE (Advance-Algorithmus / Linear Advance / USE_ADVANCE)

Verfasst: Di 8. Aug 2017, 14:08
von Digibike
Druck doch komplett ohne Lüfter und etwas langsamer. .