1 / 1
Noozle cleaner holder (Neptune 4) — zdjęcie 1

Noozle cleaner holder (Neptune 4)

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.

This is a holder for a silicone brush to clean the printer nozzle before printing.

Ocena
0 / 5
Polubienia
5
Pobrania
4
Wydruki
0
Wyświetlenia
55
Oceny
0

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Licencja
Creative Commons — Public Domain

There are two versions, I recommend the "Nozzle cleaner holder improved - lifted pad N4" as it puts the pad closer to the bed level without adding thick tape and avoiding the need to go below Z0.

Printing

For printing, I use PETG or a more heat-resistant material. (PLA and flexible materials are not suitable).
Fill density: 15%, no brim, layer height: 0.2 mm.

Preparation for Installation

After printing, take the silicone rubber for the BambuLab A1 printer. Stick it into the groove and use thick adhesive tape to adjust height if needed (with the regular version, I used two layers of 3M VHB to lift the pad up a bit) .

Installation on the Printer

For attachment, you can use temperature-resistant double-sided tape (i.e 3M VHB) or sealant. In some case, the foam acrylic-based tape is sufficient.
Remove the backing from the tape and attach the part to the front-left corner of the print bed.
If you're using a sealant, secure the part with clamps to the print bed and wait for it to cure.

Macro Preparation

Turn on the printer.
Go to the web interface and locate the user_settings.cfg file in the configuration tab.
Add the macro from Appendix A to the file.
Save the changes and restart the printer.

Now you will have a macro that you can use manually through the web interface or by adding it to the start G-code for automatic execution before printing.

You can do a dry run (without purge) to test positionning by passing parameter DRY_RUN = 1

Appendix A

[gcode_macro NOZZLE_CLEAN]
description: Purge + decompression + wipe multi-pass sur pad

--- paramètres ---

variable_x: -3.950 variable_y_purge: 40.050 variable_y_start: 20.050 variable_y_end: 1.050

variable_z_clean: 0.050 variable_z_lift: 3.0

variable_purge_len: 3.0 variable_purge_speed: 120

variable_retract_len: 1.2 variable_retract_speed: 1200

variable_wipe_speed: 200

gcode:

{% if printer.print_stats.state in ["printing", "paused"] %}
    { action_raise_error("NOZZLE_CLEAN : interdit pendant une impression") }
{% endif %}

{% set z_safe = z_clean + z_lift %}
{% set dry_run = params.DRY_RUN|default(0)|int %}

{% set x = printer["gcode_macro NOZZLE_CLEAN"].x %}
{% set x2 = x + 3.0 %}
{% set y_purge = printer["gcode_macro NOZZLE_CLEAN"].y_purge %}
{% set y_start = printer["gcode_macro NOZZLE_CLEAN"].y_start %}
{% set y_end = printer["gcode_macro NOZZLE_CLEAN"].y_end %}

{% set purge_len = printer["gcode_macro NOZZLE_CLEAN"].purge_len %}
{% set purge_speed = printer["gcode_macro NOZZLE_CLEAN"].purge_speed %}

{% set retract_len = printer["gcode_macro NOZZLE_CLEAN"].retract_len %}
{% set retract_speed = printer["gcode_macro NOZZLE_CLEAN"].retract_speed %}

{% set wipe_speed = printer["gcode_macro NOZZLE_CLEAN"].wipe_speed %}

{% if "xyz" not in printer.toolhead.homed_axes %}
    G28
{% endif %}

# température minimum demandée
{% set min_temp = params.MIN_TEMP|default(200)|int %}
{% set target = printer.extruder.target|int %}
{% set actual = printer.extruder.temperature|int %}

# exclusion de la température si test run (dry)
{% if not dry_run %}
    {% if actual < min_temp %}
        {% if target >= min_temp %}
            M109 S{target}
        {% else %}
            M109 S{min_temp}
        {% endif %}
    {% endif %}
{% endif %}

G21
G90

# sécurité
G0 Z10 F1200

# position purge
G0 X{x} Y{y_purge} F2000

# descente purge
G0 Z{z_clean} F300

# purge string snap
{% if not dry_run %}
    G91

    ; extrusion courte et propre
    G1 E{purge_len} F{purge_speed}

    ; retrait rapide pour casser le filament
    G1 E-{retract_len} F3000

    ; micro relâchement (évite blob collé)
    G1 E0.2 F600

    G90
{% endif %}

# snap mécanique

G0 Z{z_safe + 5} F1800

G91
G1 X2 F15000
G1 X-2 F15000
G1 X2 F15000
G1 X-2 F15000
G90

# redescente vers zone wipe
G0 Z{z_safe} F1500

# déplacement air
G0 X{x} Y{y_start} F2000

# redescente
G0 Z{z_clean} F600

# wipe multi-pass en N inversé
G1 Y{y_end} F{wipe_speed}
G1 X{x2} Y{y_start} F{wipe_speed}
G1 Y{y_end} F{wipe_speed}

# sortie
G0 Z{z_safe} F1200</code></pre><p></p>

Tagi