From 8e48e3eb800beaf536b0d07f1f9551ff132c0fdb Mon Sep 17 00:00:00 2001 From: Zach Schimke Date: Fri, 20 Aug 2021 14:59:39 -0700 Subject: [PATCH] Added new PURGE/PRIME macros; added G2 anti-string to end --- macros.d/macros.cfg | 14 ---------- macros.d/purge_prime.cfg | 25 +++++++++++++++++ macros.d/start_end.cfg | 59 ++++++++++++++++------------------------ 3 files changed, 48 insertions(+), 50 deletions(-) create mode 100644 macros.d/purge_prime.cfg diff --git a/macros.d/macros.cfg b/macros.d/macros.cfg index 91d86fd..278574a 100644 --- a/macros.d/macros.cfg +++ b/macros.d/macros.cfg @@ -9,20 +9,6 @@ gcode: SAVE_CONFIG -# Do nozzle priming -[gcode_macro PRIME_EXTRUDER] -gcode: - M117 Priming - G92 E0 - G1 X4.1 Y0 Z2.0 F6000 - G1 X4.1 Y20 Z0.3 F6000.0 - G1 X4.1 Y80.0 Z0.3 F600.0 E9 - G1 X4.1 Y120.0 Z0.3 F600.0 E12 - G92 E0 - G1 F2400 E-0.2 # Small retract to remove pressure - G1 Z2.0 F3000 - - [gcode_macro CLEAN_EXTRUDER] gcode: M117 Cleaning # Indicate nozzle clean in progress on LCD diff --git a/macros.d/purge_prime.cfg b/macros.d/purge_prime.cfg new file mode 100644 index 0000000..2115bfc --- /dev/null +++ b/macros.d/purge_prime.cfg @@ -0,0 +1,25 @@ +# Do nozzle purge +[gcode_macro PURGE_EXTRUDER] +gcode: + SAVE_GCODE_STATE NAME=PURGE + M117 Purging line + G1 Z0.2 F6000.0 + G91 + G1 Z2 E9 F1000 ; Slowly rise printhead while purging + G90 + RESTORE_GCODE_STATE NAME=PURGE + +# Do nozzle priming +[gcode_macro PRIME_EXTRUDER] +gcode: + SAVE_GCODE_STATE NAME=PRIME + M117 Prime Line + G0 X15.0 Z0.2 F200 ; Go to X15 + G92 E0 ; reset extrusion distance + G1 X65.0 E9 F1000 ; 9mm over 50mm + G1 X105.0 E10 F1000 ; 10mm over 40mm + G92 E0 ; reset extrusion distance + G1 F2400 E-0.1 ; Small retract to remove pressure + G1 Z2 F6000 ; Lift Z + RESTORE_GCODE_STATE NAME=PRIME + diff --git a/macros.d/start_end.cfg b/macros.d/start_end.cfg index fa4d8a3..e25afd1 100644 --- a/macros.d/start_end.cfg +++ b/macros.d/start_end.cfg @@ -24,7 +24,7 @@ gcode: # Start preheating the bed M117 Heating bed - _LCD_KNOB COLOR=RED BLINK=1 + _STATUS_LED COLOR=RED BLINK=1 M140 S{T_BED} # Perform a G28 'home' (if needed) @@ -33,7 +33,7 @@ gcode: # Check to see if we need more time preheating the bed, if so {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %} M117 Heating bed to 85% - G1 X{mid_x} Y{mid_y} Z10 F6000 + G0 X{mid_x} Y{mid_y} Z10 F20000 M106 M190 S{params.T_BED|float*0.85} {% endif %} @@ -46,61 +46,48 @@ gcode: M107 # Move the nozzle near the bed - G1 X0.1 Y0.1 Z2.0 F6000 - G1 Z0.3 F6000 + G0 X0 Y{MAX_Y} Z2.0 F20000 M117 Heating toolhead M109 S{T_EXTRUDER} # Prime line + _STATUS_LED COLOR=GREEN BLINK=1 + PURGE_EXTRUDER PRIME_EXTRUDER - M117 Printing - + M117 + _STATUS_LED COLOR=BLUE BLINK=1 [gcode_macro END_PRINT] variable_print_done: 'false' gcode: - SAVE_GCODE_STATE NAME=STATE_PRINT_END - ##### Get Boundaries ##### - {% set max_x = printer.toolhead.axis_maximum.x|float %} {% set max_y = printer.toolhead.axis_maximum.y|float %} {% set max_z = printer.toolhead.axis_maximum.z|float %} - {% set act_x = printer.toolhead.position.x|float %} - {% set act_y = printer.toolhead.position.y|float %} - {% set act_z = printer.toolhead.position.z|float %} + {% set mid_x = (printer.toolhead.axis_maximum.z|float / 2)|float %} - ##### Calculate save move ##### - {% if act_x < (max_x - 20.0) %} - {% set x_safe = 20.0 %} - {% else %} - {% set x_safe = -20.0 %} - {% endif %} - {% if act_y < (max_y - 20.0) %} - {% set y_safe = 20.0 %} - {% else %} - {% set y_safe = -20.0 %} - {% endif %} - {% if act_z < (max_z - 2.0) %} - {% set z_safe = 2.0 %} - {% else %} - {% set z_safe = max_z - act_z %} - {% endif %} + SAVE_GCODE_STATE NAME=STATE_PRINT_END + M400 ; Wait for buffer to clear + + # Anti-Stringing + G92 E0 ; zero the extruder + G1 E-2.0 F3600 ; retract 2mm of filament at 60mm/s + G91 ; relative positioning + G1 X1 F20000 ; move 1mm to the side at 333mm/sec + G2 E0 I-1 ; do a no extrusion circle move with a 0.5mm radius centered on orig + G1 Z5.00 F3000 ; move up by 5mm @ 50mm/sec to clear the print + G90 ; absolute positioning - M400 - G92 E0 - G1 E-2 F1800 - G91 - G0 Z{z_safe} F3600 - G0 X{x_safe} Y{y_safe} F20000 ; move nozzle to remove stringing TURN_OFF_HEATERS M107 G90 - G0 X60 Y{max_y} F18000 + G0 X60 Y{max_y} F20000 + G0 Z{max_z} F6000 + BED_MESH_CLEAR M300 ; Play a tone - _LCD_KNOB COLOR=GREEN + _STATUS_LED COLOR=GREEN UPDATE_DELAYED_GCODE ID=_CLEAR_DISPLAY DURATION=10 SET_GCODE_VARIABLE MACRO=END_PRINT VARIABLE=print_done VALUE='"true"' RESTORE_GCODE_STATE NAME=STATE_PRINT_END