Geeetech I3 Alu Extrudervorbereitung / Nachbereitung

onki

User
Hallo,

die Drucke mit meinen o.g. Drucker sind soweit OK und ich bin recht zufrieden damit, wenn man von der extrem grenzwertigen Netzversorgung mal absieht (alles lose mit lächerlicher Isolation - China halt).

Ich hab noch Fragen zum Handling des Extruders.

In der Aufheizphase läuft eine nicht unerhebliche Menge flüssigen Filamentes aus der Düse heraus. Dabei bildet sich eine Art Klumpen unter dem Extruder. Wenn der Druck nun beginnt, wird dieser Klumpen irgendwo auf der Platte abgeladen. Zudem sind die ersten Zentimeter des Druckes erfolglos, da das ausgelaufene Filament fehlt und erst nachgeschoben werden muss.
Gibt es da eine Art "Priming" wo ich in der Home-Position etwas Filament ausgebe und dann über eine Messingbürste fahre um sie zu putzen um dann sofort mit dem Druck zu beginnen.

Nach dem Druck bleibt der Drucker an der letzten Position stehen und kühlt Bett und Extruder ab. Dabei bildet sich eine Art Krater was unschön ist.
Wie kann ich nach dem Driuck die Z-Achse einen Hauch hoch fahren damit kein Kontakt mehr zum Druckteil besteht?

Gruß
Onki
 
Tach Onki,
im Prinzip kannst du das über Start- und Endscript lösen.

Gibt es da eine Art "Priming" wo ich in der Home-Position etwas Filament ausgebe und dann über eine Messingbürste fahre um sie zu putzen um dann sofort mit dem Druck zu beginnen.
Messingbürste wäre sicherlich eine extrem elegante Lösung, aber schwierig unterzubringen - auf dem Druckbett wäre es eine fehlerträchtige Geschichte, weil die Düse da immer (also IMMER - nicht nur beim Primen) mit definierter Z-Höhe drüberfahren müsste, um die Bürste nicht seitlich zu rammen. Außerhalb des Druckbetts bedeutet in der Regel auch außerhalb des Bereichs, den die Motoren anfahren können. Was bliebe, wäre also, eine Ecke aus dem Bett rauszusägen... ;)
Was eigentlich gut funktioniert, ist, was bei Prusa standardmäßig im Startscript steht: Auf Y = -3, also außerhalb des eigentlichen Druckbereichs, wird vor dem Druckstart eine fette Linie aufs Bett gewürgt. Der entsprechende G-code sieht bei Prusa so aus:

Code:
G1 Y-3.0 F1000.0 ; zum Anfahren der Startposition auf der Y-Achse, wobei X=0 bei Prusa hier durch die Leveling-Routine schon gesetzt ist
G92 E0 ; resettet den Zaehlwert des Extruders
G1 X60.0 E9.0  F1000.0 ; erster Teil der Priming-Fahrt
G1 X100.0 E12.5  F1000.0 ; zweiter Teil der Priming-Fahrt

Etwas Ähnliches sollte sich für so ziemlich jeden Drucker schreiben lassen, nur die Geschichte mit Y-3.0 sollte man wohl sensibel betrachten - in der Regel wirst du da wohl eine Y-Koordinate innerhalb deiner Druckfläche benutzen müssen und beim Slicen dann zukünftig selber drauf achten müssen, diesen Bereich zum eigentlichen Drucken nicht mehr zu benutzen.

Nach dem Druck bleibt der Drucker an der letzten Position stehen und kühlt Bett und Extruder ab. Dabei bildet sich eine Art Krater was unschön ist.
Wie kann ich nach dem Driuck die Z-Achse einen Hauch hoch fahren damit kein Kontakt mehr zum Druckteil besteht?

Das ist keine gute Idee - G-code kennt keine bedingten Befehle im Sinn von If-then-else-Schleifen. Stell dir vor, du druckst ein Objekt, das die gesamte Z-Höhe ausnutzt, und befiehlst dann dem Drucker, nochmal 5 mm höher zu fahren... Abgesehen davon würde das auch bedeuten, dass du nur noch mit relativen Koordinaten drucken kannst (wobei... geht das überhaupt? Ich glaube, zumindest in Marlin können nur die E-Koordinaten relativ sein), was z.B. die Wiederaufnahme eines Druckjobs nach Stromausfall mW unmöglich macht. Besser ist (was eigentlich die meisten Drucker in den meisten Slicern eh im Endscript stehen haben), den Drucker bei unveränderter Z-Höhe auf eine absolute XY-Position fahren zu lassen, die in aller Regel außerhalb des zum Drucken genutzten Bereichs liegt, wie z.B. X0 Y200 (oder was bei dir eben Y-Maximum ist).
Aber, wie gesagt, das schreiben die Slicer für die meisten Drucker standardmäßig ins Endscript, und dein Geetech ist ja wohl auch kein absoluter Exot - daher die Frage: Hast du vielleicht den Drucker im Slicer gar nicht "vernünftig" eingerichtet? Also z.B. einfach nur die Bettdimensionen eingegeben und den Typ "Generic", obwohl die Möglichkeit bestünde, den Typen explizit auszuwählen?

Tschöö
Stephan
 

onki

User
Hallo Stephan,

danke für deine Erläuterungen.
Also in G-Code würde eine Fahrt auf XY0 dann so aussehen:
Code:
G1 X0 Y0;

Oder?

Ich muss sowieso noch Feintuning machen, da die X-Achse eine 15mm Verschiebung hat. Beim Initialisieren stimmen alle Achsen nur die X-Achse steht
15mm vom Glasbett entfernt (quasi auf -15mm).

Ist das Bett Offset oder Extruder Offset (Einstellung im Slicer)?

Gruß
Onki
 
Also in G-Code würde eine Fahrt auf XY0 dann so aussehen:
Code:
G1 X0 Y0;

Oder?
Richtig. Wobei die Home-Position im Startscript normalerweise mit G28 angewiesen wird (Z muss natürlich auch auf Home). Wat iss denn nu - hat dein Slicer ein Start- und Endscript für deinen Drucker oder nicht? Wenn (noch) nicht, kannst du den Drucker da auswählen? Falls nein, würde ich mal googeln, welche Befehle sich da für den Geetech I3 empfehlen.

Ich muss sowieso noch Feintuning machen, da die X-Achse eine 15mm Verschiebung hat. Beim Initialisieren stimmen alle Achsen nur die X-Achse steht
15mm vom Glasbett entfernt (quasi auf -15mm).

Ist das Bett Offset oder Extruder Offset (Einstellung im Slicer)?
Es wäre mir neu, den Offset im Slicer eingeben zu müssen. Das würde ja bedeuten, dass du das in jedem Slicer machen müsstest und dass du überhaupt keine fremden G-codes verarbeiten könntest. Falls man das tatsächlich nicht am Drucker selber mechanisch einstellen kann (Anschlag/Endschalter), kann man es vielleicht mit Pronterface in der Firmware abspeichern, damit es nicht in jeder einzelnen Druckdatei berücksichtigt sein muss? Leider keine Ahnung - da solltest du jemanden fragen, der mehr Drucker kennt als ich...

Tschöö
Stephan
 
Abgesehen davon würde das auch bedeuten, dass du nur noch mit relativen Koordinaten drucken kannst (wobei... geht das überhaupt? Ich glaube, zumindest in Marlin können nur die E-Koordinaten relativ sein)

Nachtrag fürs Protokoll:
Nochmal nachgeschaut: Es liegt nicht an Marlin (hast du überhaupt Marlin? Habe ich einfach mal vorausgesetzt, weil dein Drucker I3 heißt), das lässt sich per G91 auf relative XYZ-Koordinaten umschalten (und mit G90 wieder zurück). Aber anscheinend ist kein Slicer (jedenfalls nicht Cura, S3D, Slic3r und Slic3r PE) in der Lage, die Druck-Koordinaten auch relativ zu erzeugen. Muss aber auch nicht sein, denn bis zum Druckende kannst du ja ohne weiteres absolute Koordinaten benutzen und dann erst im Endscript für den einen Z-Befehl temporär umschalten. Das könnte dann z.B. so aussehen:
Code:
G91 ; XYZ auf relativen Modus
M83 ; Extruder ebenfalls auf relativen Modus
G92 E0 ; Extrusionsdistanz resetten
G1 Z3 E-3; Duese 3 mm anheben und dabei Retract um 3 mm
G90 ; Zurueckschalten XYZ auf absoluten Modus
G1 X0 Y[n] ; Duese ganz nach links und Druckbett nach vorn fahren
G1 E3 ; Filament wieder vorschieben auf Startposition
M82 ; Vorsichtshalber auch den Extruder zurueck auf absolut, sonst koennten beim naechsten Druckjob lustige Sachen passieren
G92 E0 ; Extrusionsdistanz vorsichtshalber nochmal resetten, sollte aber eigentlich auch im Startscript des naechsten Jobs stehen
[n] wäre dabei der größtmögliche Y-Wert deines Druckers, den müsstest du selber noch einsetzen.
Der Sinn dieses Procederes ist allerdings fraglich - zum einen müsstest du dafür die maximale Druckhöhe in den Voreinstellungen um 3 mm verringern (was z.B. von S3D stur ignoriert wird), zum anderen ist das senkrechte Abheben der Düse mE ooze-gefährlicher als die schnellstmögliche rein horizontale Abfahrt.

Tschöö
Stephan
 

onki

User
Hallo,

ich hol das hier nochmal hoch, da ich mittlerweile einen BLTouch installiert habe.

Nach dem Homing und der Nivellierung steht der Extruder irgendwo in der Bettmitte auf Z-Position 16mm.

Ich möchte aber, unter anderem um Filamentreste los zu werden und zu primen, zurück auf Null um dann eine etwa 5cm lange "Wurst" vor dem eigentlichen Druck zu primen.

Wenn ich das richtig verstanden hab, kann ich dazu auf absolute Koordinaten umschalten (G91), auf Null fahren, wieder auf relativ umschalten (G90) um dann die gewohnte "Initialisierung" vornehmen zu können?

Ist eine Nivellierung vor jedem Druck ratsam oder wie macht ihr das?

Gruß
Onki
 
Also, richtig verstanden hast du das definitiv nicht. Ich krieg aber leider auch nicht so ganz raus, was du wie falsch verstanden hast. :p
Ich glaube, du bringst hier durcheinander, was ich (lang, lang ist's her) in den vorigen Antworten bezüglich Startscript (da primen) und Endscript (da u.U. relative Koordinaten, aber mit ganz spitzen Fingern) geschrieben hatte. Vergiss mal die relativen Koordinaten komplett. Für das Homing brauchst du nur G28. Den (bzw. einen beispielhaften) Code fürs Priming hatte ich dir ja schon in meiner ersten Antwort geschrieben. Damit sollten eigentlich alle benötigten Infos beieinander sein?

Tschöö
Stephan
 

onki

User
Hallo Stephan,

ich habe dich schon richtig verstanden.
Mein Problem ist, dass ein Homing bei meinem Problem nicht hilft.
Durch den Bettlevel-Sensor erfüllt dieser nun die Aufgabe des Z-Min Schalters.
Deshalb wird beim Homing nach dem X-Y Homing der Extruder auf eine Position (50,50) gefahren, damit der Level-Sensor überhaupt auf dem Druckbett ist und die Z-Achse richtig initialisiert werden kann. Daher steht der Extruder nach dem Homing nicht auf der Nullposition (auch nicht Z). Daher ja die Geschichte mit dem absoluten Positionieren.

Gruß
Onki
 

TopSan

User
Startcode für Extruder füllen incl. ABL.

Startcode für Extruder füllen incl. ABL.

Moin Onki!

(Ich beschäftige mich erst seit Dezember mit dem 3D- Druck, also mögen mir die langjährigen Experten verzeihen, wenn das Folgende alles einfacher/ besser/... ginge. Bei mir funktionierts so...)

Das Problem mit der leergetropften Düse während des Aufheizens und damit einem problematischen Druckbeginn hatte ich auch. Habe mir daraufhin aus verschiedenen Quellen im Netz eine Lösung für den Startcode zusammen gelesen und für meinen Crealtiy CR-10S angepasst. Funktioniert auch mit minimalen Änderungen gut an meinem kleinen Ender 2.

M82;(set extruder to absolute mode)
M107;(start with the fan off)
G28;(Home the printer)
G92 E0;(Reset the extruder to 0)
G0 Z5 E5 F500; (Move up and prime the nozzle)
G1 X0.1 Y25 Z0.3 F5000.0 ; (move to start-line position
G1 X0.1 Y100.0 Z0.3 F750.0 E15 ; draw 1st line
G1 X0.4 Y100.0 Z0.3 F5000.0 ; move to side a little
G1 X0.4 Y25 Z0.3 F750.0 E30 ; draw 2nd line
G92 E0;(Zero the extruder)

So werden am linken Rand meines Druckbetts zwei Linien gedruckt, damit der Extruder ordentlich gefüttert wird. Dann fährt der Kopf mit maximal noch einem dünnen Fädchen (Pet...) zum Druckbeginn und legt los. Außerdem habe ich bei jedem Druck entweder 5 Reihen "Skirt" oder 5mm "Brim" eingestellt, sodaß auch ein evtl. noch vorhandenes letztes Bläschen vor dem druck entfernt wird.

Habe kürzlich auch ein ABL Kit (eines mit Näherungssensor und Optokoppler) verbaut und daraufhin den Startcode angepasst, wie folgt:
(Ist ebenfalls ein Mix aus verschiedenen Quellen und etwas angepasst auf meinen CR-10S)

G21;(metric values)
G90;(absolute positioning)
G92 E0 ; Reset Extruder distance to 0
G1 E-2 ; Retracts filament to prevent blobs during probing
G28 ; home all axes
G28 Z ; home Z to get more accurate Z position
G29; Autolevel mesh generation
G4 S10; wait for heaters to recover
M117 Purge extruder
M82;(set extruder to absolute mode)
M107;(start with the fan off)
G92 E0;(Reset the extruder to 0)
G0 Z5 E5 F500;(Move up and prime the nozzle)
G1 X0.1 Y25 Z0.3 F5000.0 ; move to start-line position
G1 X0.1 Y100.0 Z0.3 F750.0 E15 ; draw 1st line
G1 X0.4 Y100.0 Z0.3 F5000.0 ; move to side a little
G1 X0.4 Y25 Z0.3 F750.0 E30 ; draw 2nd line
G92 E0;(Zero the extruder)

Ich denke, du musst vielleicht noch den einen oder anderen Wert an Deinen Drucker anpassen (z. b. E20 oder E30 in den beiden G1 Befehlen zum Linien drucken) und dann sollte das auf mit Deinem I3 klappen.

Zum Druckende habe ich folgenden Endcode, auc wieder aus verschiedenen Quellen zusammen gelesen ud etwas auf meinen CR-10S angepasst.

G91
G1 E-5 F1800 ; Filament 5mm einziehen
G1 Z10 F3000
G90
G1 X0 Y250 ; Fahre Druckkopf nach X0 und Bett nach vorne zu Y250
M106 S0 ; turn off cooling fan
M104 S0 ; turn off extruder
M140 S0 ; turn off bed
M84 ; disable motors


Die beiden habe ich in Cura beim Drucker eingetragen. Allerdings muss man bei Cura aufpassen, dass einem nicht die eine oder andere "Cura- Projektdatei" (.3mf) wieder alles verändert. Leider sind die Druckeroptionen incl. Start- und Endcode in den Projektdateien auch enthalten und ich habe noch keinen Weg gefunden, Cura die Übernahme abzugewöhnen. Muss man halt vor dem Druck kurz kontrollieren, wenn man mit .3mf- Dateien arbeitet.

Besten Gruß...

Frank
 
Zuletzt bearbeitet:

onki

User
Hallo,

also nach meinem dafürhalten müsste das Priming bei mir dann so ergänzt werden (also das nach dem Homen bzw. Levelling einfügen):

Code:
G90 ; Umschalten XYZ auf absoluten Modus
G1 X0 Y0 Z0.2 ; Duese ganz nach links und Druckbett nach hinten fahren. Extruder 0.2mm über Platte.
G1 E3 ; Filament wieder vorschieben auf Startposition
G91 ; Umschalten auf relativen Modus
M82 ; Vorsichtshalber auch den Extruder zurueck auf absolut, sonst koennten beim naechsten Druckjob lustige Sachen passieren
G92 E0 ; resettet den Zaehlwert des Extruders
G1 X60.0 E9.0  F1000.0 ; erster Teil der Priming-Fahrt
G1 X100.0 E12.5  F1000.0 ; zweiter Teil der Priming-Fahrt

Gruß
Onki

P.S. Frank war schneller.
 
Also, wie gesagt...
Den G91 spar dir, du brauchst wirklich nirgendwo (und erst recht nicht im Startcode) den relativen Positioniermodus. Auch wird der Druckkopf nicht BEIM Homing, sondern NACH dem Homing auf die komische Position gefahren, d.h. die Koordinaten werden absolut vom Nullpunkt aus gesetzt (und sollten so auch abfragbar sein - ich halte mich ja lieber an Tatsachen als Vermutungen). Mit einem G1 X0 Y0 Z0.2 kommst du im absoluten Modus home.
Der G1 E3 (Unretract) ist ziemlich tödlich, wenn kein G1 E-3 (Retract) vorangeht.
Der M82 in deinem Script steht auf verlorenem Posten; der bezog sich ja bei mir auf eben den Vorab-Retract/Unretract, von dem du hier die erste Hälfte weggelassen hast.
Nach dem Priming brauchst du auf jeden Fall noch einen G92 E0, sonst würdest du beim anschließenden Druck, falls Extrusionsmodus auf absolut, einen Monster-Retract von 21,5 mm Filament machen und dann eine Minute leer drucken...

Der vielleicht beste Rat, den ich geben kann: Probier alle Befehlsketten, die du scripten willst, zuerst mal manuell per Terminal aus. Da kannst du dann wenigstens, wenn dein Extruder plötzlich anfängt, wild Filament auszuspucken, vermeiden, auch noch den nächsten Befehl zu geben, der das dann auch auf dem Druckbett verteilt und umrührt. Bzw. falls der Kopf aufs Druckbett krachen sollte, nicht anschließend auch noch eine Gravurlinie ziehen.

@Frank: Ich vermute, du hast bisher noch nie die volle Höhe deines Druckers ausgenutzt? G1 Z10 F3000 im Endscript würde dann nämlich bewirken, dass Z ins obere Limit kracht und durchdreht. Normalerweise darf der nur bedingt gesetzt werden; im Slic3r z.B. sieht das dann so aus: {if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif}
Die Sache mit dem Retract im Schlussscript und dem Unretract im (darauf folgenden) Startscript funktioniert nur, wenn du zwischen zwei Drucken nicht die Filamentrolle wechselst. Ansonsten wird beim Start des nächsten Drucks G0 Z5 E5 F500 abgearbeitet, ohne dass vorher das Filament zurückgezogen wurde.

Tschöö
Stephan
 

onki

User
Hallo Stephan,

also werden normal geslicete Bauteile mit absoluten GCodes beschickt?
Das war mir bis dato unklar. Dann ist relativ natürlich unnötig.

Das mit dem bewegen nach dem Homing stimmt definitiv nicht. Ich hab die Marlin-Firmware ja eigenhändig konfiguriert.
Dort wird vor dem Z-Homing (nachdem X und Y gehomt wurden) auf X/Y 50/50 gefahren. Das muss man wegen des mechanischen Offset der BLTouch Sonde in der Firmware so einstellen sonst kracht es.
Würde man das nicht tun, krachte der Extruder auf die Glasplatte, weil der BLTouch-Sensor vor der Platte in der Luft steht und für die Findung Homposition zuständig ist.

Das bewirkt, dass nach dem erfolgreichen Z-Homing der Extruder irgendwo bei X50;Y50;Z12 steht (und dort bleibt bis die Nivellierung losgeht). Die Z-Position ist auch angehoben, da der Fühler des BLTouch ja erst ausgefahren werden muss.

Die Retract Funktionen werde ich nach dem Muster von Frank so weitestgehend übernehmen, das ist nämlich aktuell das Problem. Der Extruder steht nach der Nivellierung irgendwo mitten auf der Platte und der Extruder gibt langsam Filament von sich. Mit einem beherzten Retract sollte das verhindert werden können.
Sicher werde ich das via Octoprint auf der Konsole mal ausprobieren, bevor das im Slicer so eingetragen wird.

Vielen Dank für deine Anregungen Frank. Werde das in weiten Teilen auf meinen Drucker angepasst übernehmen. Im Endskript werde ich nur auf X/Y Null fdahren lassen, damit der Extruder mal aus dem Druckbereich gefahren wird. Dort kann er sich dann "auskotzen" :-). Beim Filamentwechsel (bei mir Farbwechsel weiß bzw. schwarz) prime ich eh immer manuell bis die Reste raus sind.

Gruß
Onki
 

TopSan

User
Moin Stephan!

Onki hat schon recht mit dem Homing gen Mitte. Das liegt am verschobenen Home- Punkt bei ABL- bestückten 3D- Druckern: da liegt der Homepunkt für X und Y nicht vorne links, sondern so, dass der ABL-Sensor (!) in Bettmitte "homed" - welch ein Wort...

Kannst Du z. b. mit einem Blick in das TH3D Firmwarepaket nachvollziehen: in der Configuration_Backend.h findest Du so ca. um die Zeile 1910 herum die Definition des Home Punkt als Hälfte Bettgröße zzgl. Sensorposition in X und Y.

Zum Thema relative Ahebung nach dem Druck: die volle Druckhöhe habe ich zwar noch nie benötigt, allerdings habe ich die maximale Z-Höhe vorher einfach mal ausprobiert, abgelesen und notiert. Ist bei beiden Druckern wenige cm mehr als die angegebenen 200mm (Ender 2) bzw. 400mm (CR-10S). Wäre es nicht so, hätte ichs die Differenz halt von der maximalen Druckhöhe in den Druckereinstellungen abgezogen. Ich schrieb ja schließlich was von auf meine Drucker angepasst ;)

Gruß...

Frank
 

TopSan

User
Moin Reiner!

X und y auf 0 Nach Druckende hatte ich zu Anfang. Dann fährt er das Druckbett ganz nach hinten.
Drum hatte ich das so geändert, dass er zum Schluß recht weit nach vorn fährt. Fand ich angenehmer zum Teile entnehmen, ist aber nicht gerade lebensnotwendig.

Zum Filamentwechsel benutze ich die Funktion des Druckers bzw. der Marlin- Firmware und drücke zwei oder drei mal auf "weiter entleeren". Das reicht dann eigentlich immer, bin ja faul :D

Gruß...

Frank
 
Moin,
ich denke, wir haben hier einfach ein Vokabelproblem: "Home" ist nicht die Position, wo der Druckkopf stehen bleibt, sondern wo der Drucker den Ausgangspunkt des Koordinatensystems feststellt (also X0 Y0 Z0). D.h. wenn er nach dem Homing auf X50 Y50 Z12 fährt, ist nicht das die eigentliche Home-Position, sondern wird über absolute Koordinaten angesteuert und kann natürlich durch ebensolche auch wieder geändert werden. Der Startpunkt für die Bettnivellierung kann natürlich ganz woanders liegen. Aber würde er nicht vorher homen (also nullen), könnte er den ja gar nicht finden.
Zum Thema absolute/relative Koordinaten schrieb ich ja schon am 4.1.:
Aber anscheinend ist kein Slicer (jedenfalls nicht Cura, S3D, Slic3r und Slic3r PE) in der Lage, die Druck-Koordinaten auch relativ zu erzeugen.
Relative Koordinaten dürfen daher allenfalls im Endscript angewendet werden, weil da sichergestellt ist, dass vor dem nächsten Druck die Nullpunkte beim Homing wiedergefunden werden.
Relative Extrusionswerte sind eine ganz andere Sache: Jeder Slicer kann das, und jeder macht es sowieso anders:
- Slic3r benutzt standardmäßig relative Werte, ist aber auch dauerhaft auf absolut umschaltbar.
- Cura benutzt immer absolute Werte, solange nicht jobspezifisch (das gilt dann aber nur für einen Druckjob) auf relativ umgeschaltet wird.
- S3D benutzt zwar absolute Werte, resettet die aber nach jedem Layer. Umschaltung auf relativ geht ebenfalls jobweise.
Je nachdem, in welchem Slicer man das Startscript setzt, müssen also auch die Priming-Extrusionswerte angepasst werden.

@Frank: Das Problem mit dem Rollenwechsel taucht nicht beim Rollenwechsel selber auf, sondern beim nächsten Druck. Nach dem Rollenwechsel müsstest du ja erst den Druckabbau abwarten und dann manuell 5 mm retracten, damit der Extruder auf der Position ist, die normalerweise durch das zuletzt gelaufene Endscript vorgegeben wird und die das Startscript erwartet. Ich halte es daher für unglücklich, den Retract/Unretract auf End- und Startscript zu verteilen. Beikommen könnte man der Sache, indem man zwei verschiedene Startscripts schreibt und das eine davon nur einsetzt, wenn man vorher die Rolle gewechselt hat. Verführerisch wäre das schon, denn je nach Filament (v.a. bei PETG) sabbert bei mir die Düse auch beim Abkühlen nach dem Druck immer noch etwas rum, was man ja so weitestgehend vermeiden könnte. Aber die Disziplin, das auch immer brav so umzuschalten... da traue ich mir nicht so ganz übern Weg. :rolleyes:

Tschöö
Stephan
 

TopSan

User
Moin Stephan!

Du hast recht, wir reden offenbar gerade von zwei verschiedenen Dingen. Der Punkt, den den Reiner und ich meinen, ist als in den Configdateien als Home Position benamst, aber Du meintest den tastächlichen Punkt bei x und Y = 0, also deren Endschalter.
Ja klingt logisch - ohne die einmal anzufahren kann er ja keine tatsächlichen Positionen rechnen

Habe gerade mal den CR-10S angeworfen und mir nochmal genau die Startsequenz angeschaut:
- Zuerst fährt er kurz in die X und Y Endschalter während Z bleibt wie es ist.
- Danach fährt er zum in der Advanced_config.h definierten Home Punkt mit dem Sensor in die Mitte des Betts und fährt
Z herunter bis zur Reaktion des ABL- Sensors = 0 = früher Z- Endschalter.
- Dann beginnt er mit der ABL- Prozedur, bei mir im 3 X 3 Raster.
- Dann gehts weiter mit Primelinien, Druck, etc.

Ist also im Realen tatsächlich so wie Du sagst; die Begriffe sind halt ähnlich/ gleich...

Das andere Problem, dass Du ansprachst, hatte ich noch nicht - allerdings habe ich bis dato auch noch keinen Druck mit Filamentwechsel dazwischen gehabt. Da ich eigentlich nur von der SD- Karte drucke, schalte ich den Drucker nach dem Druck meistens aus; so kam das besagte Problem zwischen zwei Drucken bis dato nicht zum Ausdruck. Ist aber notiert, besten Dank!

Gerade eben ist der Ender 2 mit einer Platte voll Griffen für die Balancerstecker einiger neuer 6S- Akkus beschäftigt.
Diese kleinen Teile mag ich nicht mehr missen; man kann ja schon recht sinnvolle Kleinigkeiten fürs Hobby drucken... :cool:

Gruß...

Frank
 

TopSan

User
Moin Reiner!

Mist, in den Zeilen zur Vorbereitung des Extruders war aufgrund der Thematik relative/ absolute Werte ein Denkfehler drin: mir fiel vorhin auf, dass der Extruder in der zweiten Line stand. Eigentlich klar, weil ich E25 für beide Linien eingetragen hatte. :rolleyes:

Muss bei absoluten Werten E25 in der ersten und E50 in der zweiten Linie heißen, wenn ich nun richtig denke:
[...]

G0 X-1 Z0.3;(Move outside the printable area)
G1 Y100 E25 F500;(Draw a priming/wiping line to the rear)
G1 X-1;(Move a little closer to the print area)
G1 Y10 E50 F500;(draw more priming/wiping)
G92 E0;(Zero the extruder)

[...]

Gruß...

Frank
 
Die Wiederholung von X-1 bewirkt nichts (also auch nicht das, was im Kommentar steht) - da hast du dem Kommentar nach entweder einen falschen X-Wert oder einen fehlenden Z-Wert. Wobei, der Sinn erschließt sich mir eh nicht; ich denke, du kannst die Zeile einfach rauslassen (was effektiv dasselbe wäre wie unverändert drinlassen).

Insgesamt haust du da ja 'ne Menge Zeug auf die Platte, aber mit auffällig geringer Extrusionsgeschwindigkeit (=wenig Druck). Wenn ich das mit der Priming-Fahrt von meinem Prusa vergleiche...
Code:
G1 X60.0 E9.0  F1000.0 ; erster Teil der Priming-Fahrt
G1 X100.0 E12.5  F1000.0 ; zweiter Teil der Priming-Fahrt
...ist der dagegen richtig sparsam, drückt aber sehr viel entschiedener das Filament raus (das sind übrigens relative Werte; für absolut kommt der zweite E auf 21,5). Beachte die Drucksteigerung im zweiten Teil: Teil 1 sind 9 mm Filament auf 60 mm Strecke in 3,6 Sekunden, Teil 2 sind 12,5 mm auf 40 mm in 2,4 Sekunden, also 5,2 mm pro Sekunde. Diese Werte sind bei Prusa Standard, funktioniert auch ziemlich gut. Die Linie wird beim zweiten Teil sehr, sehr fett - dadurch wird vermieden, dass die Wurst, die schon auf dem Bett liegt, Filament aus der Düse "zieht", was wieder den Druck mindern würde.

Bei dir sind es zweimal 25 mm auf je 100 mm in je 12 Sekunden, also nur 2,1 mm pro Sekunde. Wenn du da noch mehr als eine Linie Skirt benötigst, würde ich an deiner Stelle auch mal mehr Druck draufsetzen. Vielleicht vorsichtshalber nicht ganz soviel wie bei mir, falls du ein 12V-Hotend hast.

Gerade hatte ich übrigens noch eine Idee, die ich gleich mal in die Tat umsetzen werde:
Code:
G1 X40 E5 F750
G1 X100 E9 F1000
G1 X140 E12.5 F1000
Damit verlängere ich die Priming-Fahrt um einen vorgeschalteten Teil, bei dem mit geringerem Druck und verminderter Geschwindigkeit vorab 5 mm Filament extrudiert werden. So kann ich dann nämlich auch einen 5mm-Retract ins Endscript schreiben: Starte ich den nächsten Druck dann ohne vorherigen Rollenwechsel, ist das effektiv ein Stück Leerfahrt, das lediglich den Retract aufhebt, und das Priming wird wie gewohnt ausgeführt, nur ein Stück weiter rechts. Habe ich dagegen vor dem Druck die Rolle gewechselt, extrudiert er schon auf den ersten 40 mm Fahrt, was effektiv nur die Priming-Linie verlängert, aber keine Sauerei verursacht.

Tschöö
Stephan
 

TopSan

User
Moin Stephan!

Überlege gerade, woher ich die ursprünglichen zeilen mit den Kommentaren in Klammern hatte, fällt mir aber gerade nicht so recht ein...
Das Tempo und die Materialmenge für die beiden Linien habe ich heute auf dem kleinen Ender 2 einige Male variiert, bis ich eine gefühlsmäßig nicht zu dünne und nicht zu dicke Wurst auf dem Druckbett hatte - war also einfach nur ausprobieren :)

Ja, stimmt - eigentlich brauche ich nicht viel Skirtlinien; der Druck startet mit PLA und mit Pet recht gut und gleichmäßig. Ist wohl Berufsparanoia: Medizintechniker machen fast alles mit Gürtel und Hosenträger :cool:

Beste Dank auch für die drei Zeilen Deiner Idee unten - klingt sinnvoll. Werde ich auch mal ausprobieren, wenn ich mal wieder mit dem CR-10S arbeite.
Momentan ist das Arbeitszimmer gerade vom HKM Nimbus4 belegt; bei dem will ich am Einziehfahrwerk die Reibung beim Ausfahren noch verbessern.

Dann wird der CR-10S in den nächsten Tagen ein anderes Netzteil (Creality hinaus und Meanwell hinein) und leisere Lüfter bekommen - muss zwar alles nicht sein, aber ich habe gerade viel Zeit daheim :D

Gruß...

Frank
 
Ansicht hell / dunkel umschalten
Oben Unten