Seite 2 von 2

Re: Digit-Flow-Compensation für klipper

Verfasst: Mi 8. Dez 2021, 16:42
von mhier
rf1k_mjh11 hat geschrieben:Es geht aber nicht um den Durchmesser des Ritzels, sondern um den Teilkreisdurchmesser des Zahnstangenantriebs, dass das Ritzel mit dem Filament bildet.
Hab ich schon vorher verstanden, der kann aber nicht kleiner werden als der Durchmesser des Ritzels ohne Zähne. Ich wende regelmäßig so viel Andruckkraft an, dass der Durchmesser wohl immer mehr oder weniger exakt genau dieser ist.

rf1k_mjh11 hat geschrieben:Ist das, was hier mit 'Pressure Advance' bezeichnet ist, das, was in RF1000.h mit #define USE_ADVANCE bezeichnet ist? Wenn ja, ist das bei mir aktiviert.
Ich denke ja, aber nur das Feature in der Firmware einzuschalten reicht nicht. Es muss korrekt konfiguriert werden mit einer material- und druckerabhängigen Konstante. Ich empfehle folgende Lektüre unabhängig davon, ob Klipper benutzt wird: https://www.klipper3d.org/Pressure_Advance.html
Ich glaube trotzdem nicht, dass ein Advance mit einer elastischen Stauchung in der Größenordnung von 1-2mm zurechtkommen kann (wie es bei weichen TPUs vorkommen kann).
Das kann ich nicht beurteilen. Ich vermute stark, dass ein gute eingestelltes Pressure Advance die Situation verbessern wird. Es ist allerdings recht wahrscheinlich, dass der Effekt nicht absolut perfekt kompensiert wird. Hauptproblem wird sein, dass die Extrusions-Kraft aus der Extrusions-Geschwindigkeit abgeschätzt wird. Es kann aber natürlich noch andere Faktoren geben, die die Kraft beeinflussen können. Dann stimmt o.g. Kalibrations-Konstante nicht mehr.

Re: Digit-Flow-Compensation für klipper

Verfasst: Mi 8. Dez 2021, 17:14
von AtlonXP
nikibalboa hat geschrieben: @AtlonXP, erstmal danke für die Erfindung des digital flow.
Sind eigentlich im Original-Code noch mehr Parameter eingeflossen so wie zum Beispiel von mhier genannt der maximal speed? Zur Zeit wird nämlich einfach im Verhältnis geregelt.
Um umständliche Worte zu vermeiden, versuche ich es über die Mathematik zu erklären.
Das sollte hoffe ich dann auch eindeutig sein.

Hier die WIKI Erklärung, das Meiste ist aus meiner Feeder entsprungen:
wiki/index.php/DigitFlowCompensation


Hier erst einmal der G.- Code wie er im WIKI steht:
M3911 S5000 P7000 F-50 E-35

S5000 ist der Startparameter darunter passiert nichts!
P7000 ist der Endparameter.
P7000 – S5000 = 2000 Differenzwert
Das bedeutet, wir haben hier eine lineare Funktion die bei 5000 beginnt und bei 7000 zu 100% aussteuert.
Es ist natürlich zwingend nötig, dass der Startwert niedriger ist wie der Endparameter.
Umso weiter der Start und Endparameter auseinander liegen, desto flacher die lineare Funktion.

Angenommen DigitFlowCompensation ist im Eingriff und die Digits pendeln sich bei 6000 ein.
Wenn ich die Differenz zwischen 7000 – 5000 anschaue und bei 6000 bin,
sieht das folgender maßen aus:

6000 entspricht hier 50 % von dem Differenzwert.
Daraus folgt:
F -50 -> 50% = F-25 -> Hauptmultiplikator Feedrate wird auf 75% gesengt.
E -35 -> 50% = E-17,5 -> Hauptmultiplikator Extrusionsrate wir auf 82,5% Gesenkt.

Hierzu muss ich noch anmerken:
Es ist auch möglich bei F & E positive Werte einzugeben.
Natürlich wäre das dann kontraproduktiv, aber es ist möglich!

Der Erfinder war der Meinung, dass diese Funktion erst ab dem 2. Layer aktivierbar sein sollte.
Als Betatester muss ich jedoch anmerken, Digit Flow ist schon im ersten Layer aktivierbar.

Ich weiß hier nicht, ob es von Nibbels ein Fehler, oder sogar Absicht war.
Im täglichen Gebrauch macht sich dies jedoch nicht bemerkbar.
Da SenseOffset in der Praxis weit niedriger eingestellte Werte aufweist, wie man diese in DigitFlowCompensation benötigt.

Hier noch eine Anmerkung:
Unsere Drucker puffern in der Regel so um die 14 G.- Code Zeilen.
Wenn man nun manuell mit einem G.- Code M220 S75 oder M221 S82,5 dazwischen Funken würde,
entspräche das der automatischen aktuellen Regelung von DigitFlowCompensation.

Es würde jedoch dauern bis der M Code erst nach 13 Zeilen eine Wirkung zeigt.
Vielmehr müssen die Befehle nach der 1. Codezeile im Pufferspeicher eingefügt werden, ansonsten wäre es keine Echtzeit Überwachung.

LG AtlonXP

Re: Digit-Flow-Compensation für klipper

Verfasst: Mi 8. Dez 2021, 20:11
von nikibalboa
AtlonXP hat geschrieben:Angenommen DigitFlowCompensation ist im Eingriff und die Digits pendeln sich bei 6000 ein.
Wenn ich die Differenz zwischen 7000 – 5000 anschaue und bei 6000 bin,
sieht das folgender maßen aus:

6000 entspricht hier 50 % von dem Differenzwert.
Daraus folgt:
F -50 -> 50% = F-25 -> Hauptmultiplikator Feedrate wird auf 75% gesengt.
E -35 -> 50% = E-17,5 -> Hauptmultiplikator Extrusionsrate wir auf 82,5% Gesenkt.
Genau das macht die klipper Version jetzt auch.
Ich werde demnächst mal einen Versuch mit tpu machen.
Bis jetzt bin ich mit der Funktion zufrieden.

Die Funktion schon im ersten Layer zu aktivieren hat glaube ich auch Vorteile, es wird der erste Layer gleichmäßiger wenn das Druckbrett nicht optimal kalibriert ist, wo dagegen das sense z offset statisch die Höhe anpasst.
Für mich ist die Funktion sehr vorteilhaft da ich nicht viel Zeit fürs Kalibrieren "verschwenden" will überhaupt wenn man öfter
auf die Fräse wechselt.

Lg

Re: Digit-Flow-Compensation für klipper

Verfasst: Mi 8. Dez 2021, 20:39
von AtlonXP
nikibalboa hat geschrieben:
Die Funktion schon im ersten Layer zu aktivieren hat glaube ich auch Vorteile, es wird der erste Layer gleichmäßiger wenn das Druckbrett nicht optimal kalibriert ist, wo dagegen das sense z offset statisch die Höhe anpasst.
Für mich ist die Funktion sehr vorteilhaft da ich nicht viel Zeit fürs Kalibrieren "verschwenden" will überhaupt wenn man öfter
auf die Fräse wechselt.

Lg
Sorry, ich sehe das anders im ersten Layer.
Wenn die Parameter von DigitFlowCompensation und SenseOffset sich überschneiden würden,
kann SenseOffset nicht mehr ordentlich arbeiten, weil DigitFlowCompensation dagegen arbeitet.

In der Regel ist es aber so, das bei DigitFlowCompensation höhere Werte eingestellt sind und eine Überschneidung darum nicht in Frage kommt.

Dieses Problem nenne ich mal nicht Idioten sicher. :-)

LG AtlonXP