Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Repetier FW Advance Algorithmus

geschrieben von Hux Flux 
Repetier FW Advance Algorithmus
12. March 2014 15:13
Hi,
mit der neuen Version (0.91) von Repetier funktioniert der Algorithmus nicht.

Quote

#define EXT0_ADVANCE_K 80//40//0
#define EXT0_ADVANCE_L 80//0
Egal was man eingibt, da passiert nix spinning smiley sticking its tongue out

Im Reiter Extruder.h steht noch:
Quote
#ifdef USE_ADVANCE
#ifdef ENABLE_QUADRATIC_ADVANCE
float advanceK; ///< Koefficient for advance algorithm. 0 = off


Somit müsste bei einem höheren Wert als 0 der Algorithmus aktiv sein? oder muss da noch irgendwo was eingestellt werden?

mfg

1-mal bearbeitet. Zuletzt am 12.03.14 15:14.
Re: Repetier FW Advance Algorithmus
17. March 2014 15:33
Mit einer älteren Dev Version vom Dezemeber 13 funktioniert der Algorithmus noch.
Eingestellt und getestet, allerdings macht dann der E-Motor dann so komische Geräusche beim Rückwärts fahren, hört sich irgendwie so an als möchte er Extrudieren und gleichzeitig das Filament einziehen, sind aber keine Schrittverluste.
Bei Marlin genau das gleiche Symptom.
Allerdings funktioniert der Algorithmus bei Repetier besser (?), bei Marlin passiert nur bei Runden Bewegungen was, bei Ecken macht der nix.

Sind die Geräusche normal oder gibt es da noch ein Trick?
Re: Repetier FW Advance Algorithmus
17. March 2014 16:22
Die beiden Schrägstriche in der folgenden Zeile müssen gelöscht werden, damit der Algo mit compiliert wird:
// #define USE_ADVANCE

Beim Rostock bzw. Delta scheint das aber noch nicht richtig zu laufen. Bei "normalen" Druckern ist es etwas Glückssache winking smiley

LG, Willy


3D gedruckter Messerschärfer +++ RADDS für den Arduino-Due +++ Meine Drucker
Re: Repetier FW Advance Algorithmus
18. March 2014 13:38
Bei der neuen FW ist das schon auskommentiert. Glaube ich zumindest. Bei mir jedenfalls auskommentiert.
Re: Repetier FW Advance Algorithmus
13. May 2014 13:50
Korrektur:
Funkioniert doch.
Eingabe Format nicht 80 sonder zbsp 80.0f .

Benötigt wird:

#define USE_ADVANCE 1  
#define EXT0_ADVANCE_K 0.0f
#define EXT0_ADVANCE_L 40.0

1-mal bearbeitet. Zuletzt am 13.05.14 13:50.
Re: Repetier FW Advance Algorithmus
20. May 2014 18:07
Hallo Hux Flux,
was bedeutet denn das ..."f"?

Irgendwo hatte ich mal ne Erklärung/Anleitung zum Advance gelesen aber ich finde die nimmer. Hat jemand nen Link?

Gruß,
Stefan
Re: Repetier FW Advance Algorithmus
20. May 2014 18:22
HI


Das "f" bedeutet das es sich um eine Gleitkommazahl handelt.

Als ein Bruch: z.b 3/4

Grüsse
Felix
Re: Repetier FW Advance Algorithmus
20. May 2014 18:28
Meinst du diese Anleitung?

Korrektur von der Korrektur grinning smiley

#define USE_ADVANCE 1  
#define EXT0_ADVANCE_K 0.0f
#define EXT0_ADVANCE_L 40.0f

1-mal bearbeitet. Zuletzt am 20.05.14 18:29.
Re: Repetier FW Advance Algorithmus
20. May 2014 18:56
Hi, das ging ja mal schnell! thumbs up

Hux Flux, die Seite von Willy ist mir bekannt (wobei ich die Theorie (noch) nicht verinnerlicht habe... Repetier schreibt aber irgendwo, dass man in der Advance Anleitung nachlesen soll. Diese find ich nicht, aber ich meine, dass ich da schon mal einen Blick drauf geworfen habe. Kann mich aber täuschen.


Felix, das mit der Gleitkommazahl verstehe ich nicht - 40.0 ist nicht gleich 40.0f?

Gruß und Dank,
Stefan
Re: Repetier FW Advance Algorithmus
21. May 2014 07:42
Moin Stefan

Nein das ist nicht das Gleiche(für den Compiler). Mathematisch schon.

der Compiler macht folgendes:

3.0x3.5 = 9
3.0fx3.5f=11.5
3.0x3.5f=9


Alle Klarheiten beseitigt?

Grüsse
Felix

1-mal bearbeitet. Zuletzt am 21.05.14 07:43.
Re: Repetier FW Advance Algorithmus
21. May 2014 19:04
Hi Felix,
logisch - alle Klarheiten beseitigt. eye popping smiley

Die 3. Zeile kapier ich nicht - muss das nicht 3.0fx3.5=9 heißen? Oder halt 3.0x3.5f=11.5??

Rätselnd,
Stefan
Re: Repetier FW Advance Algorithmus
21. May 2014 20:42
Hi Stefan

Ich gebe zu: ohne Erklärung sind die Beispiele unnütz!

Im Grunde ist es sehr einfach.

Wenn Du dem Compiler nicht explizit sagst das die Operation eine Gleitkommazahl Rechnung ist: rechnet er mit Integer(Int: eine Ganzzahl)!

-> Also ein Integer in dem Term-> alle Nachkomma Stellen werden abgeschnitten.
egal ob: 3.0x3.5f oder 3.0fx3.5 eine der beiden Multiplikatoren ist ein Integer-> damit werden die Nachkommastellen nicht berücksichtigt!
--------------------------------

Erklärung Nummer Zwei:

In C/C++ musst Du jede Variable definieren: du sagst "int a" oder float "b". Damit wissen alle wie gerechnet wird. Entweder mit oder ohne Kommastellen.

Wenn Du aber eine Konstante definierst, musst Du den Typ nicht angeben ->
"define a 3.0"

Und hier sind wir jetzt bei deinem Problem! Denn obwohl für jeden MENSCHEN klar ist das es hier eine Nachkommastelle gibt -> der Compiler sagt nä ist ein Integer-> und jede Operation mit dieser Konstante ala "a x 3.5" ergibt 9 und nicht 11.5

Jetzt klarer?

Grüsse
Felix

1-mal bearbeitet. Zuletzt am 21.05.14 20:44.
Re: Repetier FW Advance Algorithmus
22. May 2014 03:01
Hi Felix,
danke, jetzt hab ichs!
Also sobald eine Integer im Spiel ist, sind alle Fließkommastellen futsch.

Und ich werd das Advance mal mit den oben angegebenen Werten ausprobieren...

Gruß,
Stefan

Edit:
Im Configurator scheint die Eingabe von "f" nicht zu klappen - also manuell.

Sollte "Enable quadratic advance terms" eingeschaltet sein?

1-mal bearbeitet. Zuletzt am 22.05.14 03:34.
Re: Repetier FW Advance Algorithmus
22. May 2014 05:48
Quote
Alterego
Also sobald eine Integer im Spiel ist, sind alle Fließkommastellen futsch.

Jein. Es geht von links nach rechts:

3.0 * 3.5f = 9
3.5f * 3.0 = 11.5

Und all das nur, wenn man unterlässt, den Typ explizit anzugeben:

(double)3.0 * 3.5 = 11.5


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Repetier FW Advance Algorithmus
22. May 2014 16:46
> Sollte "Enable quadratic advance terms" eingeschaltet sein?

Nein. Das würde eine turbulente Strömung in der Düse voraussetzen.

LG, Willy


3D gedruckter Messerschärfer +++ RADDS für den Arduino-Due +++ Meine Drucker
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen