Kalibrierung der Extruderschritte

Hier geht es ausschliesslich um die Extruder und Kühlung des Filamnts des RF1000. Fragen und Probleme sowie Verbesserungen können hier diskutiert werden
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2101
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Kalibrierung der Extruderschritte

Beitrag von rf1k_mjh11 »

Habe heute meinen neuen V2 Extruder für 1.75mm Filament bekommen.

Die Gelegenheit wollte ich nutzen, um die "Schritte pro Millimeter" ordentlich zu kalibrieren.

Für die die sich darunter nichts vorstellen können, hier wieder eine langatmige Erklärung.

Die Slicer Software muß einiges wissen, damit es dafür sorgt, dass die richtige Menge Kunststoff extrudiert wird. Einiges vom dem dass die Software wissen muß, können wir einfach eingeben. Den Durchmesser des Filaments und der Düse. Dazu kommt dann ein (Pfusch-)Wert, mit dem man gewisse Abweichungen ausgleichen kann (bei Slic3r, z.B. heißt es "Extrusion multiplier"). Mit diesen Werten, basierend auf die Layer-Höhe, errechnet sich die SlicerSoftware einen Millimeterwert des Rohfilaments aus, damit die notwendige Menge Materials aus der Düse kommt. Und hier setzt die Kalibrierung ein. Wenn der Slicer sagt, fördere 2mm, dann sollten auch 2mm gefördert werden. Dem ist leider nicht immer so. Daher kann es nützlich sein, zu sehen, wieviel eigentlich in Wirklichkeit gefördert wird. Im Netz gibt es viele Anleitungen. Unser RF1K ist aber ein wenig eigenartig, daher meine Anleitung.

Anleitung:
Hat man einen zweiten Extruder (oder einen kaputten zum ausschlachten) geht es besser. Mit nur einem Extruder/HotEnd wirds a bisserl umständlicher.

Es geht darum, mittels Host Software, oder GCode, eine größere Menge Filaments fördern zu lassen (z:B. 3 X 100mm), und die tatsächlich geförderte Menge zu messen und die Firmware entsprechend anpassen. Leider kann man 300mm nicht in einem angeben, mehr dazu später.

Wir wollen 300mm Filament auch nicht unbedingt herschenken, abgesehen davon, was das für ein Haufen Fäden verursacht. Also 'umgehen' wir den Extruder. Hat man einen alten zum ausschlachten, sollte man sich diesen Teil ausbauen (der Teil ganz oben am HotEnd):

Ich habe es mit so einem Teil gemacht, daher weiß ich, dass es funktioniert.
  • Bett 60-100mm nach unten fahren, damit Platz zum arbeiten ist
  • Filament entfernen und Extruder/HotEnd losschrauben:
  • HotEnd nicht abstecken, sondern nur seitlich wo sicher verstauen, auf die Kabel achten. Der Extruder wird später aufgeheizt, also so ablegen, dass nichts schaden nehmen kann.
  • Hat man das Teil vom ersten Foto, dann dieses in die freigewordene Position leicht festschrauben. Hat man das Teil nicht, muss man ohne auskommen.
  • Filament in den Extruder einführen und zumindest bis durch das untere Loch führen (bzw. in das ausgeschlachtete Teil im ersten Foto).
  • Repetier-Host starten, mit Drucker verbinden. Unter der "Manual Control"-Lasche die Extrudertemperatur auf 163° einstellen und warten bis diese erreicht wird.
  • Mittels manueller Steuerung Filament 1mm vor oder zurückfahren, zur Kontrolle, dass es auch klappt & die Temperatur erreicht ist (der Drucker ignoriert nämlich Extruder Befehle, wenn er unter 160° ist)..
  • Im GCode Feld (ganz oben unter der "Manual Control" Lasche) den folgenden Befehl eingeben:
    G92 E0
    Damit wird der Extruder sicherheitshalber zurückgesetzt
  • Das Filament an einer guten Stelle mit Filzstift markieren, z.B. hier:
  • Im GCode Feld den folgenden Befehl eingeben:
    G1 E100 F1000
    Damit fördern wir erstmals 100mm. Hoffentlich klappt es bei jenen, die unten keine Führung haben (wie im ersten Foto). Wichtig ist, dass das Filament sauber zwischen Andruckkugellager und Ritzel geklemmt bleibt. Klappt das nicht zuverlässig, muss man sich irgendeine Führung basteln (z.B. Filamentführungsrohr nehmen)
  • Im GCode Feld den folgenden Befehl eingeben:
    G92 E0
    Die Firmware lässt leider nicht mehr als 100mm auf ein Stück fördern, durch das Zurücksetzen können wir mehr fördern.
  • Im GCode Feld wieder den folgenden Befehl eingeben:
    G1 E100 F1000
    Damit fördern wir die nächsten 100mm
  • Im GCode Feld den folgenden Befehl eingeben:
    G92 E0
    Und wieder wird zurückgesetzt
  • Im GCode Feld wieder den folgenden Befehl eingeben:
    G1 E100 F1000
    Damit fördern wir die nächsten 100mm
  • Man könnte die Schritte beliebig wiederholen, aber 300mm sind genug für eine gute Annäherung.
  • Das Filament an der selben Stelle wie vorhin mit Filzstift markieren.
  • Das Filament entfernen (ich löse meinen Spenner, schalte die Motoren ab, mit diesen Knopf hier:

    Und ziehe das Filament wieder hoch. Man könne es auch oben abschneiden und ca. 100mm weiter fördern, und von unten rausziehen (vor dem erneuten Fördern wieder einen "G92 E0" einbauen).
  • Mittels geeignetem Werkzeug die Länge zwischen den zwei Markierungen am Filament messen. Wert notieren
  • Der Korrekturfaktor ist einfach
    Sollwert (im obigen Fall 300mm)
    durch Istwert (was immer der ermittelte Messwert war). Bei mir waren es z.B. 328mm - ein Fehler von fast 9%!!
  • Korrekturfaktor in der Configuration.h einarbeiten. Dazu sucht man in der Configuration.h nach

    Code: Alles auswählen

    #define EXT0_STEPS_PER_MM
    und ändert den dahinterstehenden Wert entsprechend:
    - Alte Firmware: Da steht hinter dem gesuchten Begriff nur eine Zahl, wahrscheinlich 71. Dann diese Zahl mit dem Korrekturfaktor multiplizieren und den neuen Wert stattdessen hinschreiben (ein guter Tip ist immer, den ursprünglichen Wert als "comment" zu notieren - also "// war 71" am Ende der Zeile hinschreiben. In meinem Fall wären das 300 / 328 * 71 = 65 (64.939). Also käme 65 statt der 71 hin.
    - Neuere Firmware: Da steht normalerweise

    Code: Alles auswählen

    (8.75 * RF1000_MICRO_STEPS)
    und man spart man sich das Rechnen gänzlich. Man kann einfach den Faktor, quasi 'im Klartext' hinzufügen. Im Meinem Fall habe ich also die Zeile von

    Code: Alles auswählen

    #define EXT0_STEPS_PER_MM	(8.75 * RF1000_MICRO_STEPS)
    in

    Code: Alles auswählen

    #define EXT0_STEPS_PER_MM	(300 / 328 * 8.75 * RF1000_MICRO_STEPS)

    Code: Alles auswählen

    .                      .          ^    ^  
    geändert.
  • Configuration.h speichern und neue Firmware in den Drucker laden
  • Die besonders fleißigen wiederholen die Messung, um zu sehen, um wie viel genauer der Wert geworden ist. (ACHTUNG: Hier aber jungfräuliches Filament nehmen, das vorher benutzte hat schon "Biß-spuren"). Bei mir war der Fehler nachher nur mehr 2mm auf 300mm (0.6%).
  • HotEnd/Extruder wieder in Position montieren.
  • Stolz auf sich sein, dem Drucker für die gute Zusammenarbeit danken, bei den nächsten Druckaufträgen auf geändertes Verhalten achten und evtl. den Pfuschwert (in Richtung "=1"?) korrigieren.
Für die, die sich in der Firmware besser auskennen, und es sich zutrauen, kann man sich das Extruderaufheizen sparen ("#define MIN_EXTRUDER_TEMP 160"). Die 160 auf 20 oder 25 ändern - nicht vergessen nachher Rückgängig machen!!

So, nach dem Lesemarathon hat sich ein Jeder ein Bier verdient. Prost!

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
3D
Profi 3D-Drucker
Profi 3D-Drucker
Beiträge: 334
Registriert: Do 18. Sep 2014, 04:34
Has thanked: 11 times
Been thanked: 13 times

Re: Kalibrierung der Extruderschritte

Beitrag von 3D »

Einstellung hätte wohl auch mit richtiger Führung des Filaments zutun...

Dieses gezeigte Bild zeigt (im Gegensatz zur Version 1), dass das Kugellager aus der Kugellagerhalterung in falscher Ebene zum Motorzahnrad (Extrudervorschubrändel) steht.
Man hatte mir empfohlen neue Bohrungen an der Platte der Motorhalterung vorzunehmen, um dieses Problem zu beheben … :blush:
Alte Version der Kugellagehalterung ist nicht mehr zu bekommen.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2101
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Re: Kalibrierung der Extruderschritte

Beitrag von rf1k_mjh11 »

Das Bild habe ich direkt aus der Bedienungsanleitung geholt.

Aber das sollte (theoretisch) keinen Einfluß auf die extrudierte Länge haben. Zwei Kreise berühren sich an einem Punkt. Der Punkt wandert, je nach Lage der Andruckrolle, aber das Längenbestimmende Glied der Förderung ist der Ritzel (hauptsächlich der Durchmesser).

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.
Benutzeravatar
3D
Profi 3D-Drucker
Profi 3D-Drucker
Beiträge: 334
Registriert: Do 18. Sep 2014, 04:34
Has thanked: 11 times
Been thanked: 13 times

Re: Kalibrierung der Extruderschritte

Beitrag von 3D »

Ritzel macht u. U. seine Arbeit wohl etwas anders, wenn es nicht direkt im wage ist, oder?
Zumal einmal hier im Forum wurde das an meinem Bild als bedeutend beanstandet. (Bitte "B" hierbei nicht beachten, da nur zur Veranschaulichungszwecken. Es geht mir nur um "A").
In der ersten Version (im Buch, S. 58) war es noch so und jetzt so.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2101
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Re: Kalibrierung der Extruderschritte

Beitrag von rf1k_mjh11 »

3D,

Ich bin nicht sicher welchen Unterschied du herausstreichst. Es öffnen sich bei "so und so" nur jeweils die gesamte Anleitung.
Aber ich schätze, es geht um:
Alt:


Im Gegensatz zu Neu:


Ich habe meinen Bausatz auch recht früh besorgt. Jetzt ist es ca. ein Jahr her. Ich habe noch die alte Version.

Aber zurück zum Filamentantrieb. Ich sagte extra:
rf1k_mjh11 hat geschrieben:Aber das sollte (theoretisch) keinen Einfluß auf die extrudierte Länge haben.
Klar spielen da dynamische Sachen mit rein, da das Filament gebogen wird und so.
Ich stelle mir das System aber wie eine Fahrradkette vor. Die Extrudervorschubrändel ist dabei ein Kettenrad, das Filament die Kette, und das Andruckkugellager bloß die Sicherstellung, dass die Kette fest im Kettenrad sitzt.
Aus dieser Sicht, theoretisch, könnte das Filament (wäre es flexible genug) sogar eine 180° Kurve um die Rändel machen, ohne einen Einfluss auf die geförderte Menge zu haben. Wie gesagt, theoretisch. So wie eine Biegung stattfindet, kommen Verluste ins Spiel (da das Filament keine ideale Feder darstellt). Diese Verluste beeinflussen natürlich das Ergebnis.

Beinahe gleich großen, wenn nicht größeren Einfluss hat wie stark man das Filament gegen die Rändel quetscht. Wie im Beitrag 4744 berichtet, habe ich sofort einen Unterschied von über 2% ermittelt, nur wegen der unterschiedlichen Anpresskraft. (Vielleicht auch zum Teil wegen der unterschiedlichen Dynamik zwischen 1.75mm und 3mm Filament, wer weiß?)

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
R3D3
Developer
Developer
Beiträge: 490
Registriert: Mo 26. Jan 2015, 13:41
Wohnort: München
Has thanked: 35 times
Been thanked: 57 times

Re: Kalibrierung der Extruderschritte

Beitrag von R3D3 »

Hallo rf1k_mjh11,

Beachtliche Arbeit! :good:

Kurze Frage hierzu: du misst ja ohne Hotend, und lässt dabei die etwaigen Effekte des Gegendruck des zähflüssigen Plastiks in selbigem auf den Vorschub außer Acht - könnte dies nicht doch einen größeren Einfluss haben? Man könnte diese Messung auch mit Hotend-Einsatz wiederholen, mittels ausgemessener Längen an Filament... (2 bestimmten Stellen am Filament markieren und schauen, wieviel Zeit vergeht für eine Standard-Printsituation), oder nicht? :wundern:
Schönen Gruß - R3D3 :victory:

RF1000 | 0.91.48dual | RH 1.6.2 | plus noch:
- Z-Endschalter "+", Not-Aus, Erhöhte X-Schleppkette
- Dual Extruder; angepasste Einhausung; Boardkühlung,
- Dauerdruckplatte, Extrudermotorlüfter
Benutzeravatar
3D
Profi 3D-Drucker
Profi 3D-Drucker
Beiträge: 334
Registriert: Do 18. Sep 2014, 04:34
Has thanked: 11 times
Been thanked: 13 times

Re: Kalibrierung der Extruderschritte

Beitrag von 3D »

Hallo @rf1k_mjh11,

noch eine winzige Bemerkung meinerseits: Richtig, ganze Anleitung öffnet sich. Aber im ersten Fall die V.1 und im zweiten die V.2. Und ich hatte die Seite dazu angegeben, wo die Abbildungen dazu dargestellt sind mit diesen markanten Unterschied (da ich einzelne Bilder davon nicht verlinken kann).
Den grünen Text in deinem obigen Beitrag finde ich in Verbindung dazu wichtig.

DANKE für deine Mühe und beste Grüße!
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2101
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Re: Kalibrierung der Extruderschritte

Beitrag von rf1k_mjh11 »

R3D3,

Hast in beiden Punkten zum Teil Recht.

R3D3 hat geschrieben: Kurze Frage hierzu: du misst ja ohne Hotend, und lässt dabei die etwaigen Effekte des Gegendruck des zähflüssigen Plastiks in selbigem auf den Vorschub außer Acht - könnte dies nicht doch einen größeren Einfluss haben?
Der Gegendruck hat sicherlich einen Einfluss. Je größer der Gegendruck, desto größer der Schlupf (da kommt mein Fahrradketten-Vergleich deutlich ins hinken). Will ich das aber berücksichtigen, komme ich vom Hundertsten ins Tausendste.
So wie ich eine kleinere Düse montiere, geht (wahrscheinlich) der Gegendruck hoch. Die Druckgeschwindigkeit wirkt sich auch auf den Gegendruck aus. Normalerweise ist die Geschwindigkeit ziemlich konstant (nun ja, die Umrisse/Perimeter werden langsamer abgefahren...). Aber, hat man ein sehr kleines Werkstück, oder man kommt zu den letzten Layern eines spitzen Stücks, verringert der Slicer die Geschwindigkeit automatisch, damit das Plastik Zeit zum Abkühlen hat - da sinkt dann auch der Gegendruck. Ebenso beeinflusst die Temperatur den Gegendruck stark. Wo soll ich den anfangen mit der Kalibrierung?


Dann hattest du eine gute Idee (nur das mit der "Zeit" klappt nicht):
R3D3 hat geschrieben:Man könnte diese Messung auch mit Hotend-Einsatz wiederholen, mittels ausgemessener Längen an Filament... (2 bestimmten Stellen am Filament markieren und schauen, [strike]wieviel Zeit vergeht[/strike] für eine Standard-Printsituation), oder nicht?
Wenn man sich die Arbeit antut, und sich aus dem GCode die (kummulierten) E-Werte ausrechnet, könnte man unter "Echtzeit-Bedingungen" den Extruder kalibrieren.
Den GCode ungefähr so bearbeiten:
  • Am Besten einfach vor einem Layerwechsel eine Zwangspause einlegen lassen, sinnvollerweise ganz zu Anfang vom zweiten oder dritten Layer (da ist die Aufmerksamkeit noch gegeben). Ein paar Piepser helfen, es beim späteren Druck nicht zu übersehen/-hören. Sicherheitshalber die Pause unmittelbar nach dem Rücksetzen des E-Werts positionieren.
  • Vom Pausenpunkt aus gerechnet, die E-Werte richtig summieren (Achtung: der E-Wert wird häufig mittels "G92 E0" zurückgesetzt). Wenn dann im GCode ein ausreichend hoher Extrusionswert (summiert) erreicht wird (200 oder 300mm), wieder eine Zwangspause samt Piepser einfügen.[/list:u]
    Beim Drucken geht es dann so vor sich:
    • Bei der ersten erzwungenen Pause wird das Filament, ausgehend von einer gut zugänglichen Stelle (wie hier dargestellt) in der entsprechenden Entfernung (200 oder 300mm) markiert, und sicherheitshalber eine zweite Markierung um 100mm weiter.
    • Druck fortsetzen
    • Bei der zweiten erzwungenen Pause wird der Abstand "Filamentmarkierung zu Markierungspunkt" gemessen. Falls die Markierung schon "weg" ist, verwendet man die zweite Markierung und rechnet entsprechend zurück. Damit hat man die tatsächliche Förderlänge ermittelt.
    • Druck fortsetzen
Mit der ermittelten, tatsächlichen Förderlänge kann man sich den Korrekturfaktor ausrechnen und in die Firmware übertragen.

Mit der Methode spart man sich die ganze Umbauerei, und kalibriert unter realistischeren Bedingungen.

Als Beispiel hänge ich den GCode von meinem gestrigen Druck an. Da habe ich das Beispiel des Aufsummierens eingearbeitet (jedoch nur bis 200mm). Ich hoffe, es wird für die, denen es interessiert, dadurch verständlicher, was ich mit "aufsummieren" meine.

Es handelt sich dabei um ein 20x20 Quader, 60mm hoch, ohne Füllung, nur Wände und Boden (und Schürze). Das ergibt eine gute Möglichkeit die echte Extruderbreite zu messen. Die Verwendung des GCodes am eigenen Drucker auf eigene Gefahr!!

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.
IBOR
Erfahrener 3D-Drucker
Erfahrener 3D-Drucker
Beiträge: 118
Registriert: So 21. Sep 2014, 16:01
Wohnort: Im Hunsrück
Has thanked: 21 times
Been thanked: 10 times

Re: Kalibrierung der Extruderschritte

Beitrag von IBOR »

Hallo,

@rf1k-mjh11
das ist schon merkwürdig bei mir gelaufen:
habe einmal selbst ausgerechnet und Wert eingetragen (statt 8.75 -> 8.18), und einmal (300/321*8.75);(natürlich gespeichert und auf den Drucker geladen...der hat auch schön brav seinen Neustart nach Ende des Ladens gemacht)
beide male war die extrudierte Länge 321mm geblieben...(??)
Grüße,
Robert
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2101
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Re: Kalibrierung der Extruderschritte

Beitrag von rf1k_mjh11 »

Robert/IBOR,

Du hast sicher alle Angaben doppelt & dreifach geprüft. Den Drucker auch sicherheitshalber einmal aus- und eingeschaltet.

Hast du zur Ermittlung des Faktors die erste Variante verwendet, ohne Extruder, oder die zweite, mithilfe eines echten Ausdrucks?

Um den Fehler zu finden könntest du einen Extremwert eintragen, um das Vorgehen zu prüfen. Zum Beispiel statt "300/321" "300/600" eingeben. Dann sollte ein deutlicher Unterschied stattfinden (nur mehr der halbe Ausstoß). Ist dann noch immer kein Unterschied erkennbar, liegt der Hund woanders begraben.
Leider dauert diese Prüfprozedur doch einige Zeit. Doch glaube ich dass sich die Investition lohnt.

Übrigens, der Vollständigkeit halber: Ich habe bei der Änderung in der Firmware auch überall Leerstellen eingegeben "300 / 328 * 8.75 * ...." und nicht "300/328*8.75*...". Ich hatte nämlich aus Unwissen auch einmal ein "(long)" davorgesetzt, so wie es einige Zeilen darüber auch stand, und dann ging gar nichts mehr mit dem Extruder - also kann die Syntax empfindlich sein - Sicher ist Sicher.

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 „Extruder“