Add KAMP adaptive mesh leveling and priming - untested
This commit is contained in:
72
config/.moonraker.conf.bkp
Normal file
72
config/.moonraker.conf.bkp
Normal file
@@ -0,0 +1,72 @@
|
||||
[server]
|
||||
host = 0.0.0.0
|
||||
port = 7125
|
||||
max_upload_size = 4096
|
||||
klippy_uds_address = ~/printer_data/comms/klippy.sock
|
||||
|
||||
[file_manager]
|
||||
enable_object_processing = True
|
||||
|
||||
[authorization]
|
||||
cors_domains =
|
||||
https://my.mainsail.xyz
|
||||
http://my.mainsail.xyz
|
||||
http://*.local
|
||||
http://*.lan
|
||||
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
|
||||
|
||||
[octoprint_compat]
|
||||
|
||||
[history]
|
||||
|
||||
[announcements]
|
||||
subscriptions =
|
||||
mainsail
|
||||
|
||||
[update_manager]
|
||||
refresh_interval = 168
|
||||
enable_auto_refresh = True
|
||||
|
||||
[update_manager mainsail]
|
||||
type = web
|
||||
channel = stable
|
||||
repo = mainsail-crew/mainsail
|
||||
path = ~/mainsail
|
||||
|
||||
[update_manager mainsail-config]
|
||||
type = git_repo
|
||||
primary_branch = master
|
||||
path = ~/mainsail-config
|
||||
origin = https://github.com/mainsail-crew/mainsail-config.git
|
||||
managed_services = klipper
|
||||
|
||||
[update_manager crowsnest]
|
||||
type = git_repo
|
||||
path = ~/crowsnest
|
||||
origin = https://github.com/mainsail-crew/crowsnest.git
|
||||
managed_services = crowsnest
|
||||
install_script = tools/pkglist.sh
|
||||
|
||||
[update_manager sonar]
|
||||
type = git_repo
|
||||
path = ~/sonar
|
||||
origin = https://github.com/mainsail-crew/sonar.git
|
||||
primary_branch = main
|
||||
managed_services = sonar
|
||||
install_script = tools/install.sh
|
||||
|
||||
[update_manager Klipper-Adaptive-Meshing-Purging]
|
||||
type = git_repo
|
||||
channel = dev
|
||||
path = ~/Klipper-Adaptive-Meshing-Purging
|
||||
origin = https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging.git
|
||||
managed_services = klipper
|
||||
primary_branch = main
|
||||
|
||||
1
config/KAMP
Symbolic link
1
config/KAMP
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/pi/Klipper-Adaptive-Meshing-Purging/Configuration
|
||||
36
config/KAMP_Settings.cfg
Normal file
36
config/KAMP_Settings.cfg
Normal file
@@ -0,0 +1,36 @@
|
||||
# Below you can include specific configuration files depending on what you want KAMP to do:
|
||||
|
||||
[include ./KAMP/Adaptive_Meshing.cfg] # Include to enable adaptive meshing configuration.
|
||||
[include ./KAMP/Line_Purge.cfg] # Include to enable adaptive line purging configuration.
|
||||
#[include ./KAMP/Voron_Purge.cfg] # Include to enable adaptive Voron logo purging configuration.
|
||||
[include ./KAMP/Smart_Park.cfg] # Include to enable the Smart Park function, which parks the printhead near the print area for final heating.
|
||||
|
||||
[gcode_macro _KAMP_Settings]
|
||||
description: This macro contains all adjustable settings for KAMP
|
||||
|
||||
# The following variables are settings for KAMP as a whole.
|
||||
variable_verbose_enable: True # Set to True to enable KAMP information output when running. This is useful for debugging.
|
||||
|
||||
# The following variables are for adjusting adaptive mesh settings for KAMP.
|
||||
variable_mesh_margin: 20 # Expands the mesh size in millimeters if desired. Leave at 0 to disable.
|
||||
variable_fuzz_amount: 0 # Slightly randomizes mesh points to spread out wear from nozzle-based probes. Leave at 0 to disable.
|
||||
|
||||
# The following variables are for those with a dockable probe like Klicky, Euclid, etc. # ---------------- Attach Macro | Detach Macro
|
||||
variable_probe_dock_enable: False # Set to True to enable the usage of a dockable probe. # ---------------------------------------------
|
||||
variable_attach_macro: 'Attach_Probe' # The macro that is used to attach the probe. # Klicky Probe: 'Attach_Probe' | 'Dock_Probe'
|
||||
variable_detach_macro: 'Dock_Probe' # The macro that is used to store the probe. # Euclid Probe: 'Deploy_Probe' | 'Stow_Probe'
|
||||
# Legacy Gcode: 'M401' | 'M402'
|
||||
|
||||
# The following variables are for adjusting adaptive purge settings for KAMP.
|
||||
variable_purge_height: 0.8 # Z position of nozzle during purge, default is 0.8.
|
||||
variable_tip_distance: 3 # Distance between tip of filament and nozzle before purge. Should be similar to PRINT_END final retract amount.
|
||||
variable_purge_margin: 20 # Distance the purge will be in front of the print area, default is 10.
|
||||
variable_purge_amount: 40 # Amount of filament to be purged prior to printing.
|
||||
variable_flow_rate: 12 # Flow rate of purge in mm3/s. Default is 12.
|
||||
|
||||
# The following variables are for adjusting the Smart Park feature for KAMP, which will park the printhead near the print area at a specified height.
|
||||
variable_smart_park_height: 10 # Z position for Smart Park, default is 10.
|
||||
|
||||
gcode: # Gcode section left intentionally blank. Do not disturb.
|
||||
|
||||
{action_respond_info(" Running the KAMP_Settings macro does nothing, it is only used for storing KAMP settings. ")}
|
||||
@@ -89,3 +89,12 @@ origin: https://github.com/mainsail-crew/sonar.git
|
||||
primary_branch: main
|
||||
managed_services: sonar
|
||||
install_script: tools/install.sh
|
||||
|
||||
# Adaptive Leveling Mesh plugin
|
||||
[update_manager Klipper-Adaptive-Meshing-Purging]
|
||||
type: git_repo
|
||||
channel: dev
|
||||
path: ~/Klipper-Adaptive-Meshing-Purging
|
||||
origin: https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging.git
|
||||
managed_services: klipper
|
||||
primary_branch: main
|
||||
|
||||
172
config/printer-20240901_185056.cfg
Normal file
172
config/printer-20240901_185056.cfg
Normal file
@@ -0,0 +1,172 @@
|
||||
# This file contains common pin mappings for the 2018 Creality
|
||||
# Ender 3. To use this config, the firmware should be compiled for the
|
||||
# AVR atmega1284p.
|
||||
|
||||
# Note, a number of Melzi boards are shipped with a bootloader that
|
||||
# requires the following command to flash the board:
|
||||
# avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex
|
||||
# If the above command does not work and "make flash" does not work
|
||||
# then one may need to flash a bootloader to the board - see the
|
||||
# Klipper docs/Bootloaders.md file for more information.
|
||||
|
||||
[include mainsail.cfg]
|
||||
|
||||
[include scottc.cfg]
|
||||
|
||||
# See docs/Config_Reference.md for a description of parameters.
|
||||
|
||||
[stepper_x]
|
||||
step_pin: PD7
|
||||
dir_pin: !PC5
|
||||
enable_pin: !PD6
|
||||
microsteps: 16
|
||||
rotation_distance: 40
|
||||
endstop_pin: ^PC2
|
||||
position_endstop: 0
|
||||
position_max: 235
|
||||
homing_speed: 50
|
||||
|
||||
[stepper_y]
|
||||
step_pin: PC6
|
||||
dir_pin: !PC7
|
||||
enable_pin: !PD6
|
||||
microsteps: 16
|
||||
rotation_distance: 40
|
||||
endstop_pin: ^PC3
|
||||
position_endstop: 0
|
||||
position_max: 235
|
||||
homing_speed: 50
|
||||
|
||||
[stepper_z]
|
||||
step_pin: PB3
|
||||
dir_pin: PB2
|
||||
enable_pin: !PA5
|
||||
microsteps: 16
|
||||
rotation_distance: 8
|
||||
endstop_pin: probe:z_virtual_endstop
|
||||
position_max: 250
|
||||
|
||||
[extruder]
|
||||
max_extrude_cross_section: 200 ### DELETE ME?
|
||||
max_extrude_only_distance: 100.0
|
||||
step_pin: PB1
|
||||
dir_pin: !PB0
|
||||
enable_pin: !PD6
|
||||
microsteps: 16
|
||||
rotation_distance: 23.046
|
||||
nozzle_diameter: 0.600
|
||||
filament_diameter: 1.750
|
||||
heater_pin: PD5
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: PA7
|
||||
min_temp: 0
|
||||
max_temp: 250
|
||||
|
||||
[heater_bed]
|
||||
heater_pin: PD4
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: PA6
|
||||
min_temp: 0
|
||||
max_temp: 80
|
||||
|
||||
[fan]
|
||||
pin: PB4
|
||||
|
||||
[mcu]
|
||||
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
|
||||
baud: 250000
|
||||
|
||||
[printer]
|
||||
kinematics: cartesian
|
||||
max_velocity: 300
|
||||
max_accel: 3000
|
||||
max_z_velocity: 5
|
||||
max_z_accel: 100
|
||||
|
||||
[bed_screws]
|
||||
screw1: 30.5, 37
|
||||
screw2: 30.5, 207
|
||||
screw3: 204.5, 207
|
||||
screw4: 204.5, 37
|
||||
|
||||
[display]
|
||||
lcd_type: st7920
|
||||
cs_pin: PA3
|
||||
sclk_pin: PA1
|
||||
sid_pin: PC1
|
||||
encoder_pins: ^PD2, ^PD3
|
||||
click_pin: ^!PC0
|
||||
|
||||
# The print bed can move so far to the front, that the nozzle can reach the
|
||||
# plastic cover of the print bed heater cable (only when the bed is moved by
|
||||
# hand). By homing the Y axis before the X axis, it is ensured the nozzle will
|
||||
# not melt through the plastic part.
|
||||
# BEWARE: You will lose the ability to home axes individually. The printer will
|
||||
# always home all axes for every G28 command.
|
||||
#[homing_override]
|
||||
#gcode:
|
||||
# G28 Y0
|
||||
# G28 X0
|
||||
# G28 Z0
|
||||
|
||||
[bltouch]
|
||||
sensor_pin: ^PC4
|
||||
control_pin: PA4
|
||||
x_offset: -40.00
|
||||
y_offset: -8.00
|
||||
z_offset: 2.60
|
||||
|
||||
[safe_z_home]
|
||||
home_xy_position: 162, 125 # Change coordinates to the center of your print bed
|
||||
speed: 50
|
||||
z_hop: 10 # Move up 10mm
|
||||
z_hop_speed: 5
|
||||
|
||||
[bed_mesh]
|
||||
speed: 120
|
||||
horizontal_move_z: 5
|
||||
mesh_min: 20, 20
|
||||
mesh_max: 195, 220
|
||||
mesh_pps: 2, 2
|
||||
probe_count: 8,8
|
||||
algorithm: bicubic
|
||||
fade_start: 1
|
||||
fade_end: 10
|
||||
fade_target: 0
|
||||
|
||||
#*# <---------------------- SAVE_CONFIG ---------------------->
|
||||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
||||
#*#
|
||||
#*# [heater_bed]
|
||||
#*# control = pid
|
||||
#*# pid_kp = 64.222
|
||||
#*# pid_ki = 1.278
|
||||
#*# pid_kd = 806.790
|
||||
#*#
|
||||
#*# [extruder]
|
||||
#*# control = pid
|
||||
#*# pid_kp = 26.561
|
||||
#*# pid_ki = 1.476
|
||||
#*# pid_kd = 119.524
|
||||
#*#
|
||||
#*# [bed_mesh default]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# 0.027500, 0.022500, -0.012500, -0.017500, -0.042500, -0.050000, -0.047500, -0.035000
|
||||
#*# 0.062500, 0.047500, 0.015000, 0.010000, -0.022500, -0.030000, -0.027500, -0.037500
|
||||
#*# 0.110000, 0.100000, 0.050000, 0.037500, -0.010000, -0.022500, -0.027500, -0.035000
|
||||
#*# 0.117500, 0.105000, 0.065000, 0.037500, 0.000000, -0.007500, -0.022500, -0.022500
|
||||
#*# 0.132500, 0.112500, 0.072500, 0.055000, 0.017500, -0.007500, -0.017500, -0.025000
|
||||
#*# 0.152500, 0.125000, 0.087500, 0.060000, 0.025000, 0.005000, -0.002500, -0.010000
|
||||
#*# 0.105000, 0.102500, 0.062500, 0.045000, 0.022500, 0.015000, 0.015000, 0.025000
|
||||
#*# 0.100000, 0.087500, 0.055000, 0.055000, 0.032500, 0.025000, 0.037500, 0.035000
|
||||
#*# x_count = 8
|
||||
#*# y_count = 8
|
||||
#*# mesh_x_pps = 2
|
||||
#*# mesh_y_pps = 2
|
||||
#*# algo = bicubic
|
||||
#*# tension = 0.2
|
||||
#*# min_x = 20.0
|
||||
#*# max_x = 195.0
|
||||
#*# min_y = 20.0
|
||||
#*# max_y = 219.99
|
||||
@@ -9,10 +9,40 @@
|
||||
# then one may need to flash a bootloader to the board - see the
|
||||
# Klipper docs/Bootloaders.md file for more information.
|
||||
|
||||
[gcode_macro _CLIENT_VARIABLE]
|
||||
#variable_use_custom_pos : False ; use custom park coordinates for x,y [True/False]
|
||||
#variable_custom_park_x : 0.0 ; custom x position; value must be within your defined min and max of X
|
||||
#variable_custom_park_y : 0.0 ; custom y position; value must be within your defined min and max of Y
|
||||
#variable_custom_park_dz : 2.0 ; custom dz value; the value in mm to lift the nozzle when move to park position
|
||||
#variable_retract : 1.0 ; the value to retract while PAUSE
|
||||
#variable_cancel_retract : 5.0 ; the value to retract while CANCEL_PRINT
|
||||
#variable_speed_retract : 35.0 ; retract speed in mm/s
|
||||
#variable_unretract : 1.0 ; the value to unretract while RESUME
|
||||
#variable_speed_unretract : 35.0 ; unretract speed in mm/s
|
||||
#variable_speed_hop : 15.0 ; z move speed in mm/s
|
||||
#variable_speed_move : 100.0 ; move speed in mm/s
|
||||
#variable_park_at_cancel : True ; allow to move the toolhead to park while execute CANCEL_PRINT [True/False]
|
||||
#variable_park_at_cancel_x : None ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True
|
||||
#variable_park_at_cancel_y : None ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True
|
||||
## !!! Caution [firmware_retraction] must be defined in the printer.cfg if you set use_fw_retract: True !!!
|
||||
variable_use_fw_retract : True ; use fw_retraction instead of the manual version [True/False]
|
||||
#variable_idle_timeout : 0 ; time in sec until idle_timeout kicks in. Value 0 means that no value will be set or restored
|
||||
#variable_runout_sensor : "" ; If a sensor is defined, it will be used to cancel the execution of RESUME in case no filament is detected.
|
||||
## Specify the config name of the runout sensor e.g "filament_switch_sensor runout". Hint use the same as in your printer.cfg
|
||||
## !!! Custom macros, please use with care and review the section of the corresponding macro.
|
||||
## These macros are for simple operations like setting a status LED. Please make sure your macro does not interfere with the basic macro functions.
|
||||
## Only single line commands are supported, please create a macro if you need more than one command.
|
||||
#variable_user_pause_macro : "" ; Everything inside the "" will be executed after the klipper base pause (PAUSE_BASE) function
|
||||
#variable_user_resume_macro: "" ; Everything inside the "" will be executed before the klipper base resume (RESUME_BASE) function
|
||||
#variable_user_cancel_macro: "" ; Everything inside the "" will be executed before the klipper base cancel (CANCEL_PRINT_BASE) function
|
||||
gcode:
|
||||
|
||||
[include mainsail.cfg]
|
||||
|
||||
[include scottc.cfg]
|
||||
|
||||
[include KAMP_Settings.cfg]
|
||||
|
||||
# See docs/Config_Reference.md for a description of parameters.
|
||||
|
||||
[stepper_x]
|
||||
@@ -47,6 +77,8 @@ endstop_pin: probe:z_virtual_endstop
|
||||
position_max: 250
|
||||
|
||||
[extruder]
|
||||
###max_extrude_cross_section: 200 ### DELETE ME? - Cura bug?
|
||||
max_extrude_cross_section: 5 ### Required by KAMP
|
||||
max_extrude_only_distance: 100.0
|
||||
step_pin: PB1
|
||||
dir_pin: !PB0
|
||||
@@ -77,8 +109,8 @@ baud: 250000
|
||||
|
||||
[printer]
|
||||
kinematics: cartesian
|
||||
max_velocity: 300
|
||||
max_accel: 3000
|
||||
max_velocity: 150
|
||||
max_accel: 4000
|
||||
max_z_velocity: 5
|
||||
max_z_accel: 100
|
||||
|
||||
@@ -127,12 +159,27 @@ horizontal_move_z: 5
|
||||
mesh_min: 20, 20
|
||||
mesh_max: 195, 220
|
||||
mesh_pps: 2, 2
|
||||
probe_count: 8,8
|
||||
#probe_count: 8,8
|
||||
probe_count: 5,5
|
||||
algorithm: bicubic
|
||||
fade_start: 1
|
||||
fade_end: 10
|
||||
fade_target: 0
|
||||
|
||||
[firmware_retraction]
|
||||
retract_length: 5
|
||||
# The length of filament (in mm) to retract when G10 is activated,
|
||||
# and to unretract when G11 is activated (but see
|
||||
# unretract_extra_length below). The default is 0 mm.
|
||||
retract_speed: 40
|
||||
# The speed of retraction, in mm/s. The default is 20 mm/s.
|
||||
unretract_extra_length: 0
|
||||
# The length (in mm) of *additional* filament to add when
|
||||
# unretracting.
|
||||
unretract_speed: 20
|
||||
# The speed of unretraction, in mm/s. The default is 10 mm/s.
|
||||
|
||||
|
||||
#*# <---------------------- SAVE_CONFIG ---------------------->
|
||||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
||||
#*#
|
||||
@@ -151,14 +198,14 @@ fade_target: 0
|
||||
#*# [bed_mesh default]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# 0.027500, 0.022500, -0.012500, -0.017500, -0.042500, -0.050000, -0.047500, -0.035000
|
||||
#*# 0.062500, 0.047500, 0.015000, 0.010000, -0.022500, -0.030000, -0.027500, -0.037500
|
||||
#*# 0.110000, 0.100000, 0.050000, 0.037500, -0.010000, -0.022500, -0.027500, -0.035000
|
||||
#*# 0.117500, 0.105000, 0.065000, 0.037500, 0.000000, -0.007500, -0.022500, -0.022500
|
||||
#*# 0.132500, 0.112500, 0.072500, 0.055000, 0.017500, -0.007500, -0.017500, -0.025000
|
||||
#*# 0.152500, 0.125000, 0.087500, 0.060000, 0.025000, 0.005000, -0.002500, -0.010000
|
||||
#*# 0.105000, 0.102500, 0.062500, 0.045000, 0.022500, 0.015000, 0.015000, 0.025000
|
||||
#*# 0.100000, 0.087500, 0.055000, 0.055000, 0.032500, 0.025000, 0.037500, 0.035000
|
||||
#*# 0.075000, 0.042500, 0.015000, -0.012500, -0.050000, -0.060000, -0.077500, -0.075000
|
||||
#*# 0.122500, 0.087500, 0.055000, 0.027500, -0.025000, -0.022500, -0.052500, -0.072500
|
||||
#*# 0.142500, 0.112500, 0.075000, 0.045000, -0.012500, -0.022500, -0.055000, -0.060000
|
||||
#*# 0.175000, 0.142500, 0.105000, 0.067500, 0.002500, -0.007500, -0.037500, -0.055000
|
||||
#*# 0.157500, 0.122500, 0.095000, 0.065000, 0.017500, -0.002500, -0.022500, -0.030000
|
||||
#*# 0.202500, 0.157500, 0.125000, 0.085000, 0.030000, 0.007500, -0.017500, -0.030000
|
||||
#*# 0.155000, 0.137500, 0.102500, 0.072500, 0.040000, 0.042500, 0.020000, 0.022500
|
||||
#*# 0.137500, 0.112500, 0.095000, 0.070000, 0.045000, 0.032500, 0.035000, 0.030000
|
||||
#*# x_count = 8
|
||||
#*# y_count = 8
|
||||
#*# mesh_x_pps = 2
|
||||
@@ -168,4 +215,4 @@ fade_target: 0
|
||||
#*# min_x = 20.0
|
||||
#*# max_x = 195.0
|
||||
#*# min_y = 20.0
|
||||
#*# max_y = 219.99
|
||||
#*# max_y = 219.98999999999998
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
# Enable arcs support
|
||||
[gcode_arcs]
|
||||
resolution: 0.1
|
||||
resolution: 1
|
||||
|
||||
### END
|
||||
|
||||
@@ -45,6 +45,8 @@ gcode:
|
||||
##G1 Z0.15 F300
|
||||
# Wait for bed to reach temperature
|
||||
M190 S{BED_TEMP}
|
||||
# KAMP - move printhead near print area
|
||||
SMART_PARK
|
||||
# Set and wait for nozzle to reach temperature
|
||||
M109 S{EXTRUDER_TEMP}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user