Cold Pull GCode

door flickeringsight

Printbare bestanden (0)

Geen STL- / OBJ- / STEP-bestand beschikbaar voor dit stuk.

Beschrijving

OK, this isn't a model but rather a gcode script to facilitate automated cold pulls to clear out your nozzle. I use it all the time on my Ender 3 and thought others might get some good use from it as well.

What is a cold pull?
A cold pull is when filament that is embedded in the nozzle is pulled out under a low temperature sweet spot so that it completely peels away leaving the nozzle with a clean inner surface. This is good for removing clogs and residual filament.

Who is this for?
This was written for an Ender 3, however should work well for any FDM style printer but your mileage may vary. If your bed size is less than 230mm then you'll want to edit the file using a text editor and change this line:

G1 X10.1 Y200.0 Z0.3 F5000.0 ;Move to start position

The Y200.0 says to move the nozzle back 200mm, but if your bed is too small I'd say take the bed size and subtract 20 from that. So a 180mm bed size would be:

G1 X10.1 Y160.0 Z0.3 F5000.0 ;Move to start position

Right now the script is coded for pulling PLA, and I'll very likely make versions for other types of filaments.

What exactly does it do?
Inspired by Cura's pre-printing routine, this script will do a homing routine, position the nozzle at the back-left corner of the bed and wait for the bed and nozzle to come to temperature.

When the hot end is at printing temp a line is drawn to prime the nozzle, followed by a small upward movement and a pause while the hot end comes down to cold-pull temp, at which time a relatively quick 100mm retraction occurs. At that point you can pull out the filament leaving, hopefully, a completely cleared out nozzle.

Gcode in it's entirety
There's an alternate version down below, a quick and dirty variation without the primer moves.

;FLAVOR:Marlin;InitializeM82 ;absolute extrusion modeM201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max accelerationM203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrateM204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel accelerationM205 X8.00 Y8.00 Z0.40 E5.00 ;Setup JerkM220 S100 ;Reset FeedrateM221 S100 ;Reset FlowrateM302 S70 ;Set min extrude temp to 70;Set Initial TempsM140 S50 ;Set Heat Bed temperature;M190 S50 ;Wait for Heat Bed temperatureM104 S200;Set Extruder temperature;HomeG28 ;Home all axesG92 E0 ;Reset Extruder;LAYER_COUNT:1;LAYER:0;Print Primer LineG1 Z2.0 F3000 ;Move Z Axis upG1 X10.1 Y200.0 Z0.3 F5000.0 ;Move to start positionM109 S200 ;Wait for Extruder temperatureG1 X10.1 Y20 Z0.4 F1500.0 E30 ;Draw a lineG1 X10.0 Y20 Z1.4 F1500.0 ;Move up a bitG92 E0 ;Reset Extruder;Set Cold Pull TempM104 S90 ;Set Extruder temperatureM109 R90 ;Wait for Extruder temperature;Pull ItG1 Z10.0 F1000 E-100 ;retract 100mm and pull up ;Present and ShutdownG1 X0 Y225 F3000 ;Present printM106 S0 ;Turn-off fanM104 S0 ;Turn-off hotendM140 S0 ;Turn-off bedM84 X Y Z E ;Disable all steppers;End of Gcode

Quick and Dirty Code
This version skips the primer routine and goes straight for the pull. If your hot-end isn't primed with filament, this may not produce a good pull.

;FLAVOR:Marlin;InitializeM82 ;absolute extrusion modeM201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max accelerationM203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrateM204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel accelerationM205 X8.00 Y8.00 Z0.40 E5.00 ;Setup JerkM220 S100 ;Reset FeedrateM221 S100 ;Reset FlowrateM302 S70 ;Set min extrude temp to 70;LAYER_COUNT:1;LAYER:0;Set Cold Pull TempG92 E0 ;Reset ExtruderM104 S90 ;Set Extruder temperatureM109 R90 ;Wait for Extruder temperature;Pull ItG1 Z10.0 F1000 E-100 ;retract 100mm and pull up ;Present and ShutdownM106 S0 ;Turn-off fanM104 S0 ;Turn-off hotendM140 S0 ;Turn-off bedM84 X Y Z E ;Disable all steppers;End of Gcode

Tags