1 / 3
Nozzle Auto-Cleaning for Original Ender 3 with MicroSwiss DD & Hotend, using Brass Wire Brush head + [gcode_macro SWIPE] — zdjęcie 1
1 / 3

Nozzle Auto-Cleaning for Original Ender 3 with MicroSwiss DD & Hotend, using Brass Wire Brush head + [gcode_macro SWIPE]

Zamów wydruk tego modelu

Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.

Zapisane na tym urządzeniu.

Mounts a brass wire brush head to the right side of an original Ender 3 bed. Includes Klipper nozzle cleaning macro.

Ocena
0 / 5
Polubienia
11
Pobrania
14
Wydruki
0
Wyświetlenia
246
Oceny
0

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Licencja
Creative Commons — Attribution — Noncommercial — Share Alike

Cautions:
 1.  I converted my Ender 3 to Direct Drive, using the MicroSwiss DD system. 
I also installed a Red Squirrel fan shroud and a BIQU Microprobe.
It is possible that my particular combination of hardware results in a different set of Y_min/Y-max values than for other configurations. If so, you may find that the nozzle path is not quite aligned with the center row of brush bristles on your system.


2. The Ender 3 silicone sock leaves barely 1mm of nozzle tip exposed, on my system.  Turning the brush head perpendicular to the bed and the magnitude of the microprobe X Offset also means that the nozzle is descending into the bristles each time that the nozzle probes the right-most column of bed mesh points.  The combination of these factors requires me to mount the brush head such that the nozzle is at z=1.0mm, while swiping.  That is why I added the transition height parameter, to "fly" the toolhead over the bed and to the brush, at a safer height, then lower it for cleaning.

Installation Tips:

  • These brushes tend to have a few "stray" wire bristles.  To feed the brush into the hole in the cap, use a small rubber band or a strip of tape, to hold the bristles safely inside the hole until you have the cap fitted over them.

  • M3x10 bolts work with M3 T-nuts, to hold the brackets to the extrusion.

  • M3x6 bolts hold the brush cap to the brush holder, with or without heat inserts.  If you find that the holes get loose with use, you can instead install M3 heat inserts into the holes in the holder.

  • If you plan to install heat inserts, be sure to run bolts through them first, to ensure that they are the expected size and that the threads are good. 

  • After installing heat inserts, run a bolt through each, to ensure that any hardened melted plastic has been driven out.

  • If you choose not to install heat inserts, use an M3 bolt to tap threads into the holes in the holder, before attempting to bolt the cap to the holder.

Rework Tips:

  • If you need to shorten the length of the arms to align the bristles with the nozzle path on your system, I recommend that you split the model across the arms and move one half toward the other by the necessary amount, then merge the two halves again.

  • If you need to lengthen the arms to align the bristles with the nozzle path on your system, I recommend that you split the model at two points along the arms, move one half away from the other by the necessary amount, then stretch the small segment to overlap the other two parts, then merge the three parts into one piece again.

Recommended Print Settings:

  • 4 walls

  • 4 top layers

  • 4 bottom layers

  • 20% Gyroid Infill

  • No supports

Macro Tips:

  1.  Modify your START_PRINT macro, to add this line, directly before drawing the purge line:

# Nozzle cleaning with the cleaner from X=240 to X=265
    M117 Cleaning nozzle... ; Display message on the screen
    SWIPE ; Execute SWIPE macro for cleaning

And we can now draw our purge line:

  1. Add or include the following SWIPE macro to your printer.cfg

[gcode_macro SWIPE]

description: Cleans the nozzle by moving between X=start_x and X=end_x variable_nozzle_temp: 165 # minimum nozzle temperature for cleaning variable_start_x: 240 # Initial X position variable_end_x: 265 # Final X position variable_start_y: 10 # Fixed Y position variable_transit_z: 10 # Z height at which to transit to the cleaning start XY variable_start_z: 1 # Z height to use for cleaning variable_wipe_qty: 6 # Number of cleaning movements variable_wipe_spd: 200 # Movement speed (mm/s) variable_lift_after: 10 # Z lift distance after cleaning (mm) variable_restore_heater: 0 # Initialize the restore_heater flag gcode: SET_GCODE_VARIABLE MACRO=SWIPE VARIABLE=restore_heater VALUE=0 {% if "xyz" not in printer.toolhead.homed_axes %} G28 ; Perform homing if not already referenced {% endif %} {% set EXTRUDER_TEMP = printer.extruder.temperature|float %} {% set min_temp = nozzle_temp|float %} {% if EXTRUDER_TEMP < min_temp %} SET_HEATER_TEMPERATURE HEATER=extruder TARGET={min_temp} TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp-1} SET_GCODE_VARIABLE MACRO=SWIPE VARIABLE=restore_heater VALUE=1 {% endif %} G90 ; Absolute positioning mode G1 X{start_x} Y{start_y} Z{transit_z} F6000 ; Move the nozzle to the starting XY position for cleaning G1 Z{start_z} F6000 ; Move the nozzle to the starting Z position for cleaning # Perform cleaning movements {% for _ in range(wipe_qty) %} G1 X{end_x} F{wipe_spd * 60} ; Move to X=232 G1 X{start_x} F{wipe_spd * 60} ; Return to X=242 {% endfor %} # Lift the nozzle after cleaning G1 Z{start_z + lift_after} F1500 ; Raise the nozzle by 10 mm UPDATE_DELAYED_GCODE ID=swipe_cleanup DURATION=0.1

  1. Add or include the following delayed macro to your printer.cfg

[delayed_gcode swipe_cleanup]
gcode:
    {% if printer["gcode_macro SWIPE"].restore_heater|int == 1 %}
        SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0
        SET_GCODE_VARIABLE MACRO=SWIPE VARIABLE=restore_heater VALUE=0
    {% endif %}
  1. Edit the values of the variables, to suit your system.

variable_nozzle_temp: 165 # A temperature that softens your filament without causing drooling.
variable_start_x: 240     # The X position at which the nozzle should descend for swiping.
variable_end_x: 265       # The max X position you want to swipe to.
variable_start_y: 10      # The Y position that ensures your probe and nozzle clear any bed clips.
variable_transit_z: 10    # Z height at which to transit to the cleaning start XY
variable_start_z: 1       # The Z height at which the nozzle tip is inside the bristles but the silicone sock is not.
variable_wipe_qty: 6      # Number of cleaning movements
variable_wipe_spd: 200    # Movement speed (mm/s)
variable_lift_after: 10   # Z lift distance after cleaning (mm)
variable_restore_heater: 0 # No change required or desired.

Tagi