Rename purge bucket mod and add macros. (#169)
|
|
@ -38,7 +38,7 @@ like so:
|
|||
| |[Duet 3 3HC Din Bracket](./DorjeDorf/Duet_3_3HC_Din_Bracket) | V2.4 Duet 3 3HC Din Bracket | :x: | :x: | :heavy_check_mark: |
|
||||
|DrGhetto|[Ghetto Panels](./DrGhetto/GhettoPanels)|Printed panels for the Voron Zero|:heavy_check_mark:|:x:|:x:|
|
||||
|eddie |[V1.8 12mm Z Mod](./eddie/V1.8_12mm_Z_Mod) |Add V1.8 option for 12mm Z rods |:x: |:heavy_check_mark: |:x: |
|
||||
|edwardyeeks |[Decontaminator Purge Bucket](./edwardyeeks/Decontaminator_Purge_Bucket) |Removeable purge bucket |:x: |:heavy_check_mark: |:heavy_check_mark: |
|
||||
|edwardyeeks |[Decontaminator Purge Bucket & Nozzle Scrubber](./edwardyeeks/Decontaminator_Purge_Bucket_&_Nozzle_Scrubber) |Removeable purge bucket with nozzle scrubber |:x: |:heavy_check_mark: |:heavy_check_mark: |
|
||||
| |[V2.4 Z Drive Motor Tensioner Mod](edwardyeeks/V2.4_z_drive_motor_tensioner_mod) |Braced motor tensioner for z drive |:x: |:x: |:heavy_check_mark: |
|
||||
| Ellis |[15x15 Drag Chain Ends](./Ellis/15x15_Drag_Chain_End) | 15x15 drag chain end pieces | :grey_question: | :grey_question: |:heavy_check_mark: |
|
||||
| |[Badge Retractor Mount](./Ellis/Badge_Retractor_Mount) | Extrusion mount for badge retractor to keep bowden tube out of the way. | :grey_question: | :grey_question: |:heavy_check_mark: |
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 2.8 MiB |
|
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 626 KiB After Width: | Height: | Size: 626 KiB |
|
Before Width: | Height: | Size: 2.4 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 2.8 MiB |
|
|
@ -0,0 +1,209 @@
|
|||
#######################################################################################################################################
|
||||
|
||||
# Sample macro config to be used in conjunction with the Decontaminator Purge Bucket & Nozzle Scrubber mod. Created by Hernsl
|
||||
# (hernsl#8860 on Voron Design discord) and edited by Edwardyeeks (edwardyeeks#6042 on Voron Design Discord).
|
||||
|
||||
# The goal of this macro is to provide a nozzle scrubbing and purging routine that is easily copied/referenced into your printer.cfg.
|
||||
# Users can simply change parameters and enable/disable options in the first half. Descriptions are laid out in sequence to be read
|
||||
# first; PLEASE READ CAREFULLY.
|
||||
|
||||
# This sample config assumes the following: The user has implemented the default decontaminator purge bucket & nozzle scrubber mod
|
||||
# for the VORON 1/2.
|
||||
|
||||
# Features in this macro: option of putting the bucket at the rear or front of the bed. Purge routine that can be enabled/disabled.
|
||||
# By default, bucket is located at rear left of bed and purge routine is enabled.
|
||||
|
||||
# Default parameters are set for safe speeds and movements. Where necessary, tweak the parameters for the nozzle scrub procedure
|
||||
# to fit your printer.
|
||||
|
||||
# To avoid adding length of lines to your main printer.cfg config file, one can upload a config file separately into klipper and
|
||||
# include it into the main printer config. Upload nozzle_scrub.cfg to the same directory as printer.cfg. Usually, it is in /home/pi/.
|
||||
|
||||
# Once uploaded, add the following to your printer.cfg in the Macros section: [include /home/pi/nozzle_scrub.cfg]
|
||||
# Those running mainsail will need to use the following location instead: [include /home/pi/klipper_config/nozzle_scrub.cfg]
|
||||
|
||||
#######################################################################################################################################
|
||||
|
||||
# Name of the macro is clean_nozzle.
|
||||
|
||||
[gcode_macro clean_nozzle]
|
||||
|
||||
# If you are putting your purge bucket at the rear left of the bed as per default installation, enable True on your location_bucket_rear
|
||||
# variable. If you want to put your purge bucket elsewhere (perhaps the front), then set it to False. See diagrams and description
|
||||
# further below on how to set your XY position.
|
||||
variable_location_bucket_rear: True
|
||||
|
||||
# If you want the purging routine in your bucket enabled, set to True (and vice versa).
|
||||
variable_enable_purge: True
|
||||
|
||||
# These parameters define your filament purging. Update as necessary. If you decided to not enable purge, you can ignore this section.
|
||||
variable_purge_len: 10 ; Amount of filament, in mm, to purge.
|
||||
variable_purge_spd: 150 ; Speed, in mm/s, of the purge.
|
||||
variable_purge_temp_min: 240 ; Minimum nozzle temperature to permit a purge. Otherwise, purge will not occur.
|
||||
|
||||
# Adjust this so that your nozzle scrubs within the brush. Currently defaulted to be a lot higher for safety. Be careful not to go too low!
|
||||
variable_brush_top: 10
|
||||
|
||||
# These parameters define your scrubbing, travel speeds, safe z clearance and how many times you want to wipe. Update as necessary.
|
||||
variable_clearance_z: 5 ; When traveling, but not cleaning, the clearance along the z-axis between nozzle and brush.
|
||||
variable_wipe_qty: 3 ; Number of complete (A complete wipe: start left, go right, go left) wipes.
|
||||
variable_prep_spd_xy: 3000 ; Travel (not cleaning) speed along x and y-axis in mm/min.
|
||||
variable_prep_spd_z: 1500 ; Travel (not cleaning) speed along z axis in mm/min.
|
||||
variable_wipe_spd_xy: 5000 ; Nozzle wipe speed in mm/min.
|
||||
|
||||
|
||||
# These parameters define the size of the brush. Update as necessary. A visual reference is provided below. Note that orientation of
|
||||
# parameters remain the same whether bucket is at rear or front.
|
||||
#
|
||||
# ← brush_width →
|
||||
# _________________ ↑
|
||||
# | | ↑ If you chose location_bucket_rear = True, Y position is acquired
|
||||
# brush_start (x) | | brush_depth from your stepper_y position_max. Adjust your brush physically in
|
||||
# |_________________| ↓ Y so that the nozzle scrubs within the brush.
|
||||
# (y) ↓
|
||||
# brush_front
|
||||
# __________________________________________________________
|
||||
# PRINTER FRONT
|
||||
#
|
||||
#
|
||||
## For V1.8, you may need to measure where your brush is on the x axis and input manually into any of the variable_brush_start uncommented.
|
||||
## For V2.4 250mm build, uncomment this below:
|
||||
#variable_brush_start: 25
|
||||
|
||||
## For V2.4 300mm build, uncomment this below:
|
||||
#variable_brush_start: 50
|
||||
|
||||
## For V2.4 350mm build, uncomment this below:
|
||||
#variable_brush_start: 75
|
||||
|
||||
## These are only used if location_bucket_rear is False. You specify a custom location in y axis for your brush - see diagram above. ##
|
||||
variable_brush_front: 0
|
||||
variable_brush_depth: 0
|
||||
|
||||
|
||||
# These parameters define the size of your purge bucket. Update as necessary. If you decided to not enable purge, you can ignore
|
||||
# this section. A visual reference is provided below. Note that orientation of parameters remain the same whether bucket is at rear
|
||||
# or front.
|
||||
#
|
||||
# bucket_gap
|
||||
# ← ---- →
|
||||
# __________________________________________
|
||||
# | | | |
|
||||
# | | | |
|
||||
# bucket_start (x) | |______| |
|
||||
# | | | |
|
||||
# | | | |
|
||||
# |_________________|. . . |_________________|
|
||||
# ← ------------- → ← ------------- →
|
||||
# bucket_left_width bucket_right_width
|
||||
# _______________________________________________________________________________________
|
||||
# PRINTER FRONT
|
||||
#
|
||||
## For V2.4 250mm build, uncomment below
|
||||
#variable_bucket_left_width: 42
|
||||
|
||||
## For V2.4 300mm build, uncomment below
|
||||
#variable_bucket_left_width: 67
|
||||
|
||||
## For V2.4 350mm build, uncomment below
|
||||
#variable_bucket_left_width: 92
|
||||
|
||||
# For V1.8, you may need to measure where your bucket start is and input into bucket_start. Otherwise, a value of 0 is for a default
|
||||
# installation of purge bucket at rear left.
|
||||
variable_bucket_start: 0
|
||||
|
||||
|
||||
###############################################################################################################################################
|
||||
###############################################################################################################################################
|
||||
|
||||
### From here on, unless you know what you're doing, it's recommended not to change anything.
|
||||
|
||||
###############################################################################################################################################
|
||||
###############################################################################################################################################
|
||||
|
||||
# Placeholder. The variable will contain at random a number representing the left or right bucket.
|
||||
variable_bucket_pos: 1
|
||||
|
||||
# This value is defaulted from brush location in CAD (rear left). Refer to diagram for visual reference.
|
||||
variable_brush_width: 52
|
||||
|
||||
# These values are defaulted from bucket geometry in CAD (rear left location). Refer to diagram for visual reference.
|
||||
variable_bucket_right_width: 40
|
||||
variable_bucket_gap: 22
|
||||
|
||||
gcode:
|
||||
# First, check if the axes are homed.
|
||||
{% if "xyz" in printer.toolhead.homed_axes %}
|
||||
|
||||
## Save the gcode state in this macro instance.
|
||||
SAVE_GCODE_STATE NAME=clean_nozzle
|
||||
|
||||
## Set to absolute positioning.
|
||||
G90
|
||||
|
||||
## Grab max position of Y-axis from config to use in setting a fixed y position for location_bucket_rear = True.
|
||||
{% set Ry = printer.configfile.config["stepper_y"]["position_max"]|float %}
|
||||
|
||||
## Check if user enabled purge option or not.
|
||||
{% if enable_purge %}
|
||||
|
||||
### Randomly select left or right bin for purge.
|
||||
SET_GCODE_VARIABLE MACRO=clean_nozzle VARIABLE=bucket_pos VALUE={(range(0, 1) | random)}
|
||||
|
||||
### Raise Z for travel.
|
||||
G1 Z{brush_top + clearance_z} F{prep_spd_z}
|
||||
|
||||
### Check if user chose to use rear location.
|
||||
{% if location_bucket_rear %}
|
||||
G1 Y{Ry} F{prep_spd_xy}
|
||||
{% else %}
|
||||
G1 Y{brush_front + (brush_depth / 2)} F{prep_spd_xy}
|
||||
{% endif %}
|
||||
|
||||
### Position for purge. Randomly selects middle of left or right bucket. It references from the middle of the left bucket.
|
||||
G1 X{bucket_start + (bucket_left_width / 2) + (bucket_pos * bucket_gap) + (bucket_pos * (bucket_right_width / 2))}
|
||||
|
||||
### Perform purge if the temp is up to min temp. If not, it will skip and continue executing rest of macro.
|
||||
{% if printer.extruder.temperature >= purge_temp_min %}
|
||||
M83 ; relative mode
|
||||
G1 E{purge_len} F{purge_spd}
|
||||
G92 E0 ; reset extruder
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Position for wipe.
|
||||
G1 Z{brush_top + clearance_z} F{prep_spd_z}
|
||||
G1 X{brush_start} F{prep_spd_xy}
|
||||
|
||||
## Check if user chose to use rear location.
|
||||
{% if location_bucket_rear %}
|
||||
G1 Y{Ry}
|
||||
{% else %}
|
||||
G1 Y{brush_front + (brush_depth / 2)}
|
||||
{% endif %}
|
||||
|
||||
## Move nozzle down into brush.
|
||||
G1 Z{brush_top} F{prep_spd_z}
|
||||
|
||||
## Perform wipe.
|
||||
{% for wipes in range(1, (wipe_qty + 1)) %}
|
||||
G1 X{brush_start + brush_width} F{wipe_spd_xy}
|
||||
G1 X{brush_start} F{wipe_spd_xy}
|
||||
{% endfor %}
|
||||
|
||||
## Clear from area.
|
||||
M117 Cleaned!
|
||||
G1 Z{brush_top + clearance_z} F{prep_spd_z}
|
||||
G1 X{bucket_left_width / 4} F{prep_spd_xy}
|
||||
|
||||
## Restore the gcode state to how it was before the macro.
|
||||
RESTORE_GCODE_STATE NAME=clean_nozzle
|
||||
|
||||
{% else %}
|
||||
|
||||
## raise error will stop any macros that clean_nozzle is referenced in from proceeding for safety.
|
||||
{ action_raise_error("Please home your axes!") }
|
||||
M117 Please home first!
|
||||
|
||||
{% endif %}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#######################################################################################################################################
|
||||
|
||||
# Sample menu config to be used in conjunction with the Decontaminator Purge Bucket mod. Created by Hernsl (hernsl#8860 on Voron
|
||||
# Design discord) and edited by Edwardyeeks (edwardyeeks#6042 on Voron Design Discord).
|
||||
|
||||
# This sample config assumes the following:
|
||||
# You have implemented the nozzle_scrub.cfg in your macros and the gcode name is the same.
|
||||
|
||||
# This will provide the option to launch the macro from the display screen of your printer.
|
||||
|
||||
# Copy and paste this into your custom menu.cfg. It is NOT recommended to override the default menu.cfg in klipper as any klipper updates
|
||||
# will erase your changes. Instead, you can create your own custom menu config and reference it into your printer config. See the links
|
||||
# below to learn more on how to make your own custom menu:
|
||||
|
||||
# https://github.com/KevinOConnor/klipper/blob/master/config/example-menu.cfg
|
||||
# https://github.com/KevinOConnor/klipper/blob/master/klippy/extras/display/menu.cfg
|
||||
|
||||
#######################################################################################################################################
|
||||
|
||||
### Copy and paste this into your custom menu config.
|
||||
|
||||
[menu __main __filament __clean]
|
||||
type: command
|
||||
name: Clean Nozzle
|
||||
gcode:
|
||||
clean_nozzle
|
||||
|
|
@ -1,15 +1,15 @@
|
|||
<div style="text-align: right"><sub>A Team Dropbear Production</sub></div>
|
||||
<img align="right" width="100" height="100" src="Images/db.png">
|
||||
|
||||
# Decontaminator Purge Bucket
|
||||
# Decontaminator Purge Bucket & Nozzle Scrubber
|
||||
|
||||
This is a removable purge bucket with a brush scrubber. It is compatible with Voron 1.8 and Voron 2 printers (v2.4, v2.2 and v2.1). I noticed that the current brush scrubber design of the Voron was not very effective at containing filament debris and bits.
|
||||
This is a removable purge bucket with a nozzle scrubber. It is compatible with Voron 1.8 and Voron 2 printers (v2.4, v2.2 and v2.1). I noticed that the current nozzle scrubber design of the Voron was not very effective at containing filament debris and bits.
|
||||
|
||||
It was also not removeable, making it a pain to reach behind and clean it out with a vacuum. So, this design aims to solve all that by:
|
||||
|
||||
1) Making a larger and deeper purge bucket to hold more filament gunk.
|
||||
2) Purge bucket is removeable and naturally clips onto the brush scrubber with its geometry. Magnets help secure it further with the added benefit of a satisfying 'clip' sound when attached.
|
||||
3) Provide a spring steel sheet stop/index for convenience when putting your spring steel sheet back on the plate. These use M2x10 self tapping screws that allow you adjust the height so that they're flush with the print surface.
|
||||
3) A spring steel sheet stop/index is provided for convenience when putting your spring steel sheet back on the plate. These use M2x10 self tapping screws that allow you adjust the height so that they're flush with the print surface.
|
||||
|
||||
## Installation & Parts Required
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ It was also not removeable, making it a pain to reach behind and clean it out wi
|
|||
|
||||
The geometry of the brush_holder is such that it clips and holds the brush in place through friction fit. As noted in the installation guide, do not try to force the brush in if it's the wrong size; it will break quite easily.
|
||||
|
||||
For V1.8, you will need to print extension_bracket_v1.8 (print 2x if you want to use the individual sheetstop). Some may opt to install it at the front if you wish.
|
||||
For V1.8, you will need to print extension_bracket_v1.8 (print 2x if you want to use the individual sheetstop). Some may opt to install it at the front.
|
||||
|
||||
You will need the following:
|
||||
|
||||
|
|
@ -31,13 +31,13 @@ You will need the following:
|
|||
- 2~3x M3 nuts (for V1.8 only)
|
||||
- 2x 6x3mm round magnets
|
||||
|
||||
STLs are included here and CAD files as well if you wish to change the dimensions or modify to your liking.
|
||||
STLs are included here and CAD files as well if you wish to change the dimensions or modify to your liking. A purge and nozzle scrub macro that is plug and play is provided as well; you can find them under [Macros](./Macros). Shoutout to community member Hernsl for providing this macro!
|
||||
|
||||
**NOTE**: If you are using the z endstop from V2.2, there is a version of the stop that takes into account the locating bolt heads of the endstop. You can simply mirror the stop in your slicer if your endstop is on the other side of the extrusion.
|
||||
|
||||
# HISTORY OF REVISIONS
|
||||
|
||||
The purge bucket has undergone many revisions within a short time, especially between Rev3 and Rev4. To avoid confusion and provide clarifications to current users of the purge bucket and prospective users, please read the following:
|
||||
The purge bucket & nozzle scrubber has undergone many revisions within a short time, especially between Rev3 and Rev4. To avoid confusion and provide clarifications to current users of the purge bucket and prospective users, please read the following:
|
||||
|
||||
- Rev1+2 and Rev3 are intercompatible with each other. They only work on V2.2 and V2.4.
|
||||
- Rev4 is a completely standalone revision (**only individual sheetstop remains unchanged, rest are not backwards compatible with Rev1+2 and Rev3 and vice versa**). This revision works on V1.8, V2.1, V2.2 and V2.4 and the same parts are shared across all platforms.
|
||||