-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Working Voron 2.4 350mm Stealthburner
- Loading branch information
0 parents
commit e3f32cc
Showing
12 changed files
with
4,659 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[menu __main __filament __clean] | ||
type: command | ||
name: Clean Nozzle | ||
gcode: | ||
clean_nozzle |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
[virtual_sdcard] | ||
path: ~/gcode_files | ||
|
||
[pause_resume] | ||
|
||
[display_status] | ||
|
||
[gcode_macro CANCEL_PRINT] | ||
description: Cancel the actual running print | ||
rename_existing: CANCEL_PRINT_BASE | ||
gcode: | ||
TURN_OFF_HEATERS | ||
CANCEL_PRINT_BASE | ||
|
||
[gcode_macro PAUSE] | ||
description: Pause the actual running print | ||
rename_existing: PAUSE_BASE | ||
# change this if you need more or less extrusion | ||
variable_extrude: 1.0 | ||
gcode: | ||
##### read E from pause macro ##### | ||
{% set E = printer["gcode_macro PAUSE"].extrude|float %} | ||
##### set park positon for x and y ##### | ||
# default is your max posion from your printer.cfg | ||
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} | ||
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} | ||
##### calculate save lift position ##### | ||
{% set max_z = printer.toolhead.axis_maximum.z|float %} | ||
{% set act_z = printer.toolhead.position.z|float %} | ||
{% if act_z < (max_z - 2.0) %} | ||
{% set z_safe = 2.0 %} | ||
{% else %} | ||
{% set z_safe = max_z - act_z %} | ||
{% endif %} | ||
##### end of definitions ##### | ||
PAUSE_BASE | ||
G91 | ||
{% if printer.extruder.can_extrude|lower == 'true' %} | ||
G1 E-{E} F2100 | ||
{% else %} | ||
{action_respond_info("Extruder not hot enough")} | ||
{% endif %} | ||
{% if "xyz" in printer.toolhead.homed_axes %} | ||
G1 Z{z_safe} F900 | ||
G90 | ||
G1 X{x_park} Y{y_park} F6000 | ||
{% else %} | ||
{action_respond_info("Printer not homed")} | ||
{% endif %} | ||
|
||
[gcode_macro RESUME] | ||
description: Resume the actual running print | ||
rename_existing: RESUME_BASE | ||
gcode: | ||
##### read E from pause macro ##### | ||
{% set E = printer["gcode_macro PAUSE"].extrude|float %} | ||
#### get VELOCITY parameter if specified #### | ||
{% if 'VELOCITY' in params|upper %} | ||
{% set get_params = ('VELOCITY=' + params.VELOCITY) %} | ||
{%else %} | ||
{% set get_params = "" %} | ||
{% endif %} | ||
##### end of definitions ##### | ||
{% if printer.extruder.can_extrude|lower == 'true' %} | ||
G91 | ||
G1 E{E} F2100 | ||
{% else %} | ||
{action_respond_info("Extruder not hot enough")} | ||
{% endif %} | ||
RESUME_BASE {get_params} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
[server] | ||
host: 0.0.0.0 | ||
port: 7125 | ||
enable_debug_logging: False | ||
config_path: ~/klipper_config | ||
temperature_store_size: 600 | ||
gcode_store_size: 1000 | ||
log_path: ~/klipper_logs | ||
|
||
[authorization] | ||
force_logins: True | ||
cors_domains: | ||
*.local | ||
*.lan | ||
*://app.fluidd.xyz | ||
|
||
trusted_clients: | ||
10.0.0.0/8 | ||
127.0.0.0/8 | ||
169.254.0.0/16 | ||
172.16.0.0/12 | ||
192.168.0.0/16 | ||
FE80::/10 | ||
::1/128 | ||
|
||
# enables partial support of Octoprint API | ||
[octoprint_compat] | ||
|
||
# enables moonraker to track and store print history. | ||
[history] | ||
|
||
# this enables moonraker's update manager | ||
[update_manager] | ||
enable_auto_refresh: True | ||
|
||
# this enabled fluidd updates | ||
[update_manager client fluidd] | ||
type: web | ||
repo: cadriel/fluidd | ||
path: ~/fluidd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,222 @@ | ||
####################################################################################################################################### | ||
|
||
# Sample macro config to be used in conjunction with the Decontaminator Purge Bucket & Nozzle Scrubber mod. Created by Hernsl | ||
# (hernsl#8860 on Discord) and edited by Edwardyeeks (edwardyeeks#6042 on Discord). Several ideas that made it as features by | ||
# Deutherius (deutherius#3295 on 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 plentiful, making this macro | ||
# look huge but informative and are laid out in sequence to be read first describing the line below; 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. It can be tweaked to customised purge bucket geometries and brushes. | ||
|
||
# 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. The purge and scrubbing routine is randomized | ||
# in either left or right bucket to ensure as even as possible distribution of filament gunk. | ||
|
||
# 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/. | ||
# Users of Fluidd, Mainsail and other klipper front ends would find it under /home/pi/klipper_config/. | ||
|
||
# Once uploaded, add the following to your printer.cfg in the Macros section: [include /home/pi/nozzle_scrub.cfg] | ||
# Those running Fluidd, Mainsail and other front ends 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. The retract variable is used to retract right after purging to prevent unnecessary | ||
# oozing. Some filament are particularly oozy and may continue to ooze out of the nozzle for a second or two after retracting. The | ||
# ooze dwell variable makes allowance for this. 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/min, of the purge. | ||
variable_purge_temp_min: 240 ; Minimum nozzle temperature to permit a purge. Otherwise, purge will not occur. | ||
variable_purge_ret: 2 ; Retract length, in mm, after purging to prevent slight oozing. Adjust as necessary. | ||
variable_ooze_dwell: 2 ; Dwell/wait time, in seconds, after purging and retracting. | ||
|
||
# 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: 0 | ||
|
||
# These parameters define your scrubbing, travel speeds, safe z clearance and how many times you want to wipe. Update as necessary. Wipe | ||
# direction is randomized based off whether the left or right bucket is randomly selected in the purge & scrubbing routine. | ||
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: left, right, left OR right, left, right) 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 | ||
|
||
# This value is defaulted from brush location in CAD (rear left). Change if your brush width is different. | ||
variable_brush_width: 52 | ||
|
||
## 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 | ||
|
||
# These values are defaulted from bucket geometry in CAD (rear left location). Change only if you're using a custom bucket. | ||
variable_bucket_right_width: 40 | ||
variable_bucket_gap: 22 | ||
|
||
# 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. Feel free to peruse the code and reach out to me | ||
### (edwardyeeks#6042) on Discord if you spot any problems! | ||
|
||
############################################################################################################################################### | ||
############################################################################################################################################### | ||
|
||
# Placeholder. The variable will later be set to contain, at random, a number representing the left or right bucket. | ||
variable_bucket_pos: 1 | ||
|
||
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. 0 = left, 1 = right | ||
SET_GCODE_VARIABLE MACRO=clean_nozzle VARIABLE=bucket_pos VALUE={(range(2) | 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_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. Small retract after | ||
### purging to minimize any persistent oozing at 5x purge_spd. G4 dwell is in milliseconds, hence * 1000 in formula. | ||
{% if printer.extruder.temperature >= purge_temp_min %} | ||
M83 ; relative mode | ||
G1 E{purge_len} F{purge_spd} | ||
G1 E-{purge_ret} F{purge_spd * 5} | ||
G4 P{ooze_dwell * 1000} | ||
G92 E0 ; reset extruder | ||
{% endif %} | ||
|
||
{% endif %} | ||
|
||
## Position for wipe. Either left or right of brush based off bucket_pos to avoid unnecessary travel. | ||
G1 Z{brush_top + clearance_z} F{prep_spd_z} | ||
G1 X{brush_start + (brush_width * bucket_pos)} 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. Wipe direction based off bucket_pos for cool random scrubby routine. | ||
{% for wipes in range(1, (wipe_qty + 1)) %} | ||
G1 X{brush_start + (brush_width * (1 - bucket_pos))} F{wipe_spd_xy} | ||
G1 X{brush_start + (brush_width * bucket_pos)} 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 %} |
Oops, something went wrong.