Jump to content
Ultimaker Community of 3D Printing Experts
curadura

Filament nach Druckende zurückziehen

Recommended Posts

hi,

 

 da mein Drucker (I3 mega) immer wieder verstopft,
 will ich das Filament nach dem Druck immer per
 "load-to-unload" entfernen.
 
 Damit das auch passiert wenn ich das Ende verpasse,
 wollte ich Code am Ende des Druckes einfügen der das übernimmt.
 Ich kenne mich leider gar nicht mit dem gcode aus und weiss nicht ob das überhaupt geht 
 oder zu gefährlich für den Drucker ist da rumzuspielen.
 
 Im Prinzip soll ganz am Schluus der Drucker warten bis die Düse auf ca. 110 Grad abgekühlet ist,
 dann ein kurzer infeed und dann ca 80mm zurückziehen, damit im der Düse nichts kokelt.
 geht das problemlos?
 
 mfg

Share this post


Link to post
Share on other sites

Hallo zusammen,

 

vor allem ist 110° für einen 3D-Ducker schon "kalt" und da wird er weder Extrsuion noch Retraction zulassen. Ich mache etwas ähnliches, wenn auch aus anderem Grund. Dabei ist mir aufgefallen, dass es besser ist, die ersten 20mm mit hoher Geschwindigkeit zurückzufahren, und erst dann langsamer zu fahren, da sonst das Filament "Fäden zieht".

 

Meine entsprechenden Zeilen sind :

G91                        ; Relative Positionierung
G1 E-20 F7200       ; 20mm Filament "schnell" zurückziehen
G1 E-80 F80           ; 80mm Filament "langsam" zurückziehen
M104 S0                 ;extruder heater off

Für Deine Anwendung würde man die "E-80" in "E-60" ändern und das sollte Deine Lösung sein.

 

Gruß, Andreas

 

 

Share this post


Link to post
Share on other sites

auf die 110 grad warten sollte er um quasi einen cold pull zu machen um so nicht so viele Fäden.

zu ziehen. so die idee. im prinzip sollte er auf jeden fall so schnell wie möglich ausziehen.

so wie ich das verstehe sind die werte keine prozentualen werte sondern absolut.

wie bekomme ich raus wie schnell der drucker maximal kann, und was passiert wenn ich zu schnell einstelle?

(cura müsste ja wissen was geht, es schreibt ja den gcode fürs drucken selbst - müsste also irgendwo zu finden sein?)

 

 

hier mal der end gcode der in cura steht:

 

M104 S0 ; turn off extruder
M140 S0 ; turn off bed
M84 ; disable motors
M107
G91 ;relative positioning
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle
to release some of the pressure
G1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more
G28 X0 ;Y0 ;move X/Y to min endstops
so the head is out of the way
G1 Y180 F2000
M84 ;steppers off
G90
M300 P300 S4000

würde der einfachheit halber nur folgende zeile ändern:

G1 E-1 F300 ;retract the filament a bit before lifting the nozzle

auf

G1 E-80 F??? ;retract the filament a bit before lifting the nozzle.

 

 

Quote

G1 E-80 F80           ; 80mm Filament "langsam" zurückziehen
M104 S0                 ;extruder heater off

Für Deine Anwendung würde man die "E-80" in "E-60" ändern und das sollte Deine Lösung sein.

 E ist doch der weg und F die zeit oder?

Share this post


Link to post
Share on other sites

F ist die "feedrate" (also die Geschwindigkeit) in mm/minute, siehe hier

 

Wie Nicolinux schon geschrieben hat wird es aber schwierig, richtige "cold pulls" mit dem Feeder zu machen. Der Stepper-Motor hat dafür vermutlich genug Drehmoment, aber das Transport-Rad nicht genug "Grip".

Aber wenn die Temperatur nicht zu niedrig gewählt wird, könnte es gehen.

 

Ob der Drucker allerdings auf das Herunterkühlen warten kann, hängt zusätzlich von der Firmware ab. Vermutlich ist Marlin installiert, aber welche Version? Bei älteren Versionen war das ein Feature, das beim Kompilieren der Firmware festgelegt wurde. Bei neueren Marlin-Versionen kann das erreicht werden, indem statt "S" der Parameter "R" verwendet wird (das hab ich aber nur aus der Doku).

 

Zusätzlich würde ich empfehlen, während des Retracts, die Beschleunigung der E-Achse zu reduzieren (so, wie es die Ultimakers machen), dann wird die Bewegung nicht zu abrupt. Passende Werte dafür müsstest Du allerdings ausprobieren. Und außerdem müsstest Du anschließend wieder den Standardwert einstellen (den ich aber für Deinen Drucker auch nicht weiß...). Evtl. kann man den Standardwert im Druckermenü irgendwo ablesen.

 

Zusammenfassung: probieren könntest Du so etwas ähnliches

(ob es funktionieren kann, hängt - wie gesagt - von der Firmware ab...):

 

M109 R110        ;auf 110C warten
M204 R50         ;Beschleunigung fuer Retracts reduzieren
M302 S0          ;"kalte" Extrusion zulassen
M83              ;Extruder relative mode
G0 E-80.0 F6000  ;80mm retract
M82              ;Extruder absolute mode
M302 S170        ;"kalte" Extrusion wieder abschalten
M204 R1000       ;Standard-Beschleunigung wiederherstellen
M104 S0          ;extruder heater off

(am Besten am Ende vom Skript, direkt vor dem "M84")

 

Viel Erfolg!

 

Share this post


Link to post
Share on other sites

Moin tinkergnome,

kann es sein, dass Du bei "109 R110" einen Denkfehler hast ?

Der Befehl heißt "Heize auf 110°C auf, und warte, bis das erereicht ist"

curadura braucht eher "Kühle auf 110° ab, und warte bis das erreicht ist"

Ich werde mal recherchieren ...

 

@curadura, was hast Du für deinen Drucker bzw. welche Firmware ? MARLIN kann laut REPRAP.ORG tatsächlich den Befehl auch zum Kühlen nehmen M109 Rnnn accurate target temperature, waits until heating and cooling (Marlin) Also mal ausprobieren 🙂

 

@tinkergnome

Hast Du einen Tip, wie man die Extruder-Beschleunigung auslesen kann ? In dem Beispiel für curadura hast du den Wert auf 50 reduizert und nach dem "Cold Pull" auf 1000 erhöht - kann passen, muss aber nicht. Wie kann man den Wert auslesen,der per Default da steht ?

 

Danke auch für den Hinweis, dass man mit M302 die "kalte Extrusion" erlauben kann, man kann da sogar neu einstellen, bis zu welchen Temperaturen herunter der Drucker die Extrusion zulassen soll.

Share this post


Link to post
Share on other sites

@Schweineschna... ich glaube, Tinkergnome hat da keinen Denkfehler: Es gibt keinen Befehl "kühle auf... Grad ab". Es gibt nur Heize auf … Grad" und den eigentlich auch nicht - genau genommen.... Aber für dich macht es keinen Unterschied, den es bedeutet für die FW ja nicht heize, sondern "Regle"  auf die Temperatur ein - ist Sie höher, so heizt er halt nicht, bis die Temperatur soweit runter ist und sich dort "einpendelt"  (da gibt es 2 Befehle - 109 wartet, bis die Temperatur da stabilisiert eingependelt ist, 104 legt nur die Temperatur an, arbeitet aber sofort weiter, sprich, er druckt/bearbeitet die nächsten Codes weiter - die Temperatur wird im Hintergrund überwacht und eingeregelt), ist sie drunter, so heizt er eben bis zu der Temperatur auf. Für die FW ist es, wie du siehst, unerheblich, aus welcher Richtung die Temperatur geregelt werden muß - macht ja auch keinen Sinn, da es keine "aktive" Kühlmöglichkeit in dem Sinne gibt, sondern über Reduzierung der Heizphase bzw. Erhöhung der Heizphase die Temperatur angepaßt wird...

 

Gruß, Digibike

Edited by Digibike

Share this post


Link to post
Share on other sites
8 hours ago, Schweineschnaeuzchen said:

@curadura, was hast Du für deinen Drucker bzw. welche Firmware

 

Google sagt: " ANYCUBIC I3 MEGA source code V1.1.1, based on marlin RC8 1.1.0. " - könnte klappen

 

8 hours ago, Schweineschnaeuzchen said:

Hast Du einen Tip, wie man die Extruder-Beschleunigung auslesen kann ?

 

Naja, wenn es im Druckermenü nicht zu finden ist, hilft nur: über USB (serielle Konsole) verbinden und die gespeicherten Werte anzeigen lassen. Geht z.B. mit S3D oder Octoprint oder Pronterface

 

Zur Sicherheit zuerst mit "M501" die gespeicherten Werte laden. Mit "M503" werden anschließend alle Einstellungen aufgelistet.

Interessant ist in diesem Fall, was bei M204 ausgegeben wird - diese Zeile setzt man dann am Ende einfach wieder ein.

 

Die zugehörige Ausgabe im Terminal-Fenster könnte z.B. so aussehen:

[...]
echo:Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
echo:  M204 P500.00 R1000.00 T500.00
[...]

 

Share this post


Link to post
Share on other sites

das info menü des druckers zeigt firmware v.1.1.0 an

habe schonmal versucht die zu aktualisieren, aber cura hat sich geweigert - ich versuche da mal lieber nicht zu viel rumzupfuschen,

nicht das ich ihn noch bricke.

 

 kann man den endcode per profil o.ä.  einstellen? also für jeden druck anders, oder nur generell?

Share this post


Link to post
Share on other sites
On 7/16/2018 at 9:12 PM, curadura said:

habe schonmal versucht die zu aktualisieren, aber cura hat sich geweigert

 

Ich glaub nichts das dass für andere Drucker außer Ultimaker Drucker funktioniert. (Über Cura)

 

On 7/16/2018 at 9:12 PM, curadura said:

 kann man den endcode per profil o.ä.  einstellen?

 

Siehe Drucker Einstellungen (Geräteeinstellungen, End G-Code)

Edited by zerspaner_gerd
  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!