Autocommit from 2025-05-26 18:03:57

Klipper version: v0.13.0-114-g841a9ca2

Moonraker version: v0.9.3-74-g1c12414

Mainsail version: v2.14.0
This commit is contained in:
2025-05-26 18:03:57 +03:00
parent 1207a99ffd
commit 1463f8d105
8 changed files with 842 additions and 67 deletions

View File

@@ -117,16 +117,30 @@ homing_extruder: 1 # CAUTION: Normally this should be 1. 0 will disable the ho
#
[tmc2209 stepper_mmu_gear]
uart_pin: mmu:MMU_GEAR_UART
run_current: 1.0 #
run_current: 1 #
hold_current: 0.4 # Recommend to be small if not using "touch" or move (TMC stallguard)
interpolate: True
sense_resistor: 0.110 # Usually 0.11, 0.15 for BTT TMC2226
#sense_resistor: 0.110 # Usually 0.11, 0.15 for BTT TMC2226
stealthchop_threshold: 0 # Spreadcycle has more torque and better at speed
#
# Uncomment two lines below if you have TMC and want the ability to use filament "touch" homing with gear stepper
#diag_pin: ^mmu:MMU_GEAR_DIAG # Set to MCU pin connected to TMC DIAG pin for gear stepper
#driver_SGTHRS: 60 # 255 is most sensitive value, 0 is least sensitive
#[motor_constants 17he12-1204s]
#resistance: 2.5
#inductance: 0.0033
#holding_torque: 0.26
#max_current: 1.20
#steps_per_revolution: 200
#[autotune_tmc stepper_mmu_gear]
#motor: 17he12-1204s
#tuning_goal: performance
[stepper_mmu_gear]
step_pin: mmu:MMU_GEAR_STEP
dir_pin: !mmu:MMU_GEAR_DIR
@@ -165,7 +179,7 @@ stealthchop_threshold: 100 # Stallguard "touch" movement (slower speeds) best d
[stepper_mmu_selector]
step_pin: mmu:MMU_SEL_STEP
dir_pin: !mmu:MMU_SEL_DIR
dir_pin: mmu:MMU_SEL_DIR
enable_pin: !mmu:MMU_SEL_ENABLE
rotation_distance: 40
microsteps: 16 # Don't need high fidelity
@@ -267,7 +281,7 @@ sync_feedback_tension_pin:
sync_feedback_compression_pin:
# These sensors are on the toolhead and often controlled by the main printer mcu
extruder_switch_pin:
extruder_switch_pin: ^!EBBCan:gpio22
toolhead_switch_pin:
@@ -351,7 +365,7 @@ flowrate_samples: 20 # How many "movements" of the extruder to measure average
[neopixel mmu_leds]
pin: mmu:MMU_NEOPIXEL
chain_count: 18 # Need number gates x1 or x2 + status leds
color_order: GRBW # Set based on your particular neopixel specification (can be comma separated list)
color_order: GRB # Set based on your particular neopixel specification (can be comma separated list)
# MMU LED EFFECT SEGMENTS ----------------------------------------------------------------------------------------------
# Define neopixel LEDs for your MMU. The chain_count must be large enough for your desired ranges:
@@ -392,8 +406,8 @@ color_order: GRBW # Set based on your particular neopixel specification (can be
#
# (comment out this whole section if you don't have/want leds; uncomment/edit LEDs fitted on your MMU)
[mmu_leds]
exit_leds: neopixel:mmu_leds (1-8)
#entry_leds: neopixel:mmu_leds (9-16)
exit_leds: neopixel:mmu_leds (8-1)
entry_leds: neopixel:mmu_leds (9-16)
#status_leds: neopixel:mmu_leds (17)
#logo_leds: neopixel:mmu_leds (18)
frame_rate: 24

View File

@@ -71,7 +71,7 @@ description: Happy Hare optional configuration for print start/end checks
gcode: # Leave empty
# These variables control the behavior of the MMU_START_SETUP and MMU_START_LOAD_INITIAL_TOOL macros
variable_user_pre_initialize_extension : '' ; Executed at start of MMU_START_SETUP. Commonly G28 to home
variable_user_pre_initialize_extension : 'G28' ; Executed at start of MMU_START_SETUP. Commonly G28 to home
variable_home_mmu : False ; True/False, Whether to home mmu before print starts
variable_check_gates : True ; True/False, Whether to check filament is loaded in all gates used
variable_load_initial_tool : True ; True/False, Whether to automatically load initial tool

View File

@@ -230,7 +230,7 @@ bowden_pre_unload_error_tolerance: 50
# Note: The homing_endstop will be ignored ("none") if a toolhead sensor is available unless "extruder_force_homing: 1"
#
extruder_homing_max: 80 # Maximum distance to advance in order to attempt to home the extruder
extruder_homing_endstop: collision # Filament homing method/endstop name (fallback if toolhead sensor not available)
extruder_homing_endstop: extruder # Filament homing method/endstop name (fallback if toolhead sensor not available)
extruder_homing_buffer: 25 # Amount to reduce the fast bowden load so filament doesn't overshoot the extruder homing point
extruder_collision_homing_current: 30 # % gear_stepper current (10%-100%) to use when homing to extruder homing (100 to disable)
@@ -269,15 +269,15 @@ toolhead_homing_max: 40 # Maximum distance to advance in order to attempt to h
# NOTE: If you have a toolhead sensor you can automate the calculation of these parameters! Read about the
# `MMU_CALIBRATE_TOOLHEAD` command (https://github.com/moggieuk/Happy-Hare/wiki/Blobbing-and-Stringing#---calibrating-toolhead)
#
toolhead_extruder_to_nozzle: 72 # Distance from extruder gears (entrance) to nozzle
toolhead_sensor_to_nozzle: 62 # Distance from toolhead sensor to nozzle (ignored if not fitted)
toolhead_entry_to_extruder: 8 # Distance from extruder "entry" sensor to extruder gears (ignored if not fitted)
toolhead_extruder_to_nozzle: 99.38 # Distance from extruder gears (entrance) to nozzle
toolhead_sensor_to_nozzle: 79.78 # Distance from toolhead sensor to nozzle (ignored if not fitted)
toolhead_entry_to_extruder: 13.29 # Distance from extruder "entry" sensor to extruder gears (ignored if not fitted)
# This setting represents how much residual filament is left behind in the nozzle when filament is removed, it is thus
# used to reduce the extruder loading length and prevent excessive blobbing but also in the calculation of purge volume.
# Note that this value can also be measured with the `MMU_CALIBRATE_TOOLHEAD` procedure
#
toolhead_residual_filament: 0 # Reduction in extruder loading length because of residual filament left behind
toolhead_residual_filament: 20 # Reduction in extruder loading length because of residual filament left behind
# TUNING: Finally, this is the last resort tuning value to fix blobbing. It is expected that this value is NEAR ZERO as
# it represents a further reduction in extruder load length to fix blobbing. If using a wipetower and you experience blobs
@@ -378,7 +378,7 @@ extruder_purge_current: 100 # % of extruder current (100%-150%) to use when pur
# If equipped with TMC drivers the current of the gear and extruder motors can be controlled to optimize performance.
# This can be useful to control gear stepper temperature when printing with synchronized motor
#
sync_to_extruder: 0 # Gear motor is synchronized to extruder during print
sync_to_extruder: 1 # Gear motor is synchronized to extruder during print
sync_gear_current: 70 # % of gear_stepper current (10%-100%) to use when syncing with extruder during print
sync_form_tip: 0 # Synchronize during standalone tip formation (initial part of unload)
sync_purge: 0 # Synchronize during standalone purging (last part of load)

View File

@@ -1,8 +1,36 @@
# This is the template file for storing Happy Hare state and calibration variables. It is pointed to
# with the [save_variables] block in 'mmu_macro_vars.cfg'
#
# If you want to use an existing "variables" file, then that is fine but make sure you copy the
# "mmu__revision" line to it because Happy Hare will look for this to validate correct setup
#
[Variables]
mmu__revision = 0
mmu__revision = 943
mmu_calibration_bowden_home = 'encoder'
mmu_calibration_bowden_lengths = [1785.0, 1785.0, 1785.0, 1785.0, 1785.0, 1785.0, 1785.0, 1785.0]
mmu_calibration_clog_length = 23.7
mmu_encoder_resolution = 0.960769
mmu_gear_rotation_distances = [22.845345, -1, 23.000827, -1, 23.065147, -1, -1, 22.924328]
mmu_selector_bypass = 179.2
mmu_selector_offsets = [4.0, 27.0, 49.9, 72.9, 95.9, 118.9, 141.8, 164.8]
mmu_servo_angles = {'down': 145, 'up': 30, 'move': 50}
mmu_state_enable_endless_spool = 0
mmu_state_filament_pos = 10
mmu_state_filament_remaining = 0
mmu_state_filament_remaining_color = ''
mmu_state_gate_color = ['green', 'grey', 'black', '', 'cyan', '', '', '3d3846']
mmu_state_gate_filament_name = ['', '', '', '', '', '', '', '']
mmu_state_gate_material = ['ABS', 'ABS', 'ABS', '', 'ABS', '', '', 'PETG']
mmu_state_gate_selected = 7
mmu_state_gate_speed_override = [100, 100, 100, 100, 100, 100, 100, 100]
mmu_state_gate_spool_id = [-1, -1, -1, -1, -1, -1, -1, -1]
mmu_state_gate_status = [1, 1, 1, 0, 1, 0, 0, 1]
mmu_state_gate_temperature = [200, 200, 200, 200, 200, 200, 200, 200]
mmu_state_last_tool = 2
mmu_state_tool_selected = 7
mmu_state_tool_to_gate_map = [0, 1, 2, 3, 4, 5, 6, 7]
mmu_statistics_counters = {'servo_down': {'count': 228, 'limit': 5000, 'warning': 'Inspect servo arm for wear/damage', 'pause': False}, 'mmu_restarts': {'count': 37, 'limit': -1, 'warning': ''}, 'cutter_blade': {'count': 0, 'limit': 3000, 'warning': 'Inspect/replace filament cutting blade', 'pause': False}}
mmu_statistics_gate_0 = {'pauses': 0, 'loads': 6, 'load_distance': 8546.739, 'load_delta': 2816.713, 'unloads': 8, 'unload_distance': 3470.0, 'unload_delta': -31.043, 'load_failures': 3, 'unload_failures': 2, 'quality': 0.8889759309441141}
mmu_statistics_gate_1 = {'pauses': 1, 'loads': 2, 'load_distance': 3363.716, 'load_delta': -30.681, 'unloads': 1, 'unload_distance': 1720.0, 'unload_delta': -15.149, 'load_failures': 1, 'unload_failures': 0, 'quality': 1.0071207044795385}
mmu_statistics_gate_2 = {'pauses': 0, 'loads': 4, 'load_distance': 6793.725, 'load_delta': 1828.471, 'unloads': 5, 'unload_distance': 1735.0, 'unload_delta': 2.733, 'load_failures': 2, 'unload_failures': 0, 'quality': 0.9016086335436964}
mmu_statistics_gate_3 = {'pauses': 0, 'loads': 0, 'load_distance': 0.0, 'load_delta': 0.0, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': -1.0}
mmu_statistics_gate_4 = {'pauses': 0, 'loads': 1, 'load_distance': 1729.275, 'load_delta': 1.813, 'unloads': 2, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 1, 'quality': 0.9989517366625948}
mmu_statistics_gate_5 = {'pauses': 0, 'loads': 0, 'load_distance': 0.0, 'load_delta': 0.0, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': -1.0}
mmu_statistics_gate_6 = {'pauses': 0, 'loads': 0, 'load_distance': 0.0, 'load_delta': 0.0, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': -1.0}
mmu_statistics_gate_7 = {'pauses': 2, 'loads': 1, 'load_distance': 1697.711, 'load_delta': 132.618, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': 0.921884173980515}
mmu_statistics_swaps = {'pre_load': 4.24, 'purge': 6.41, 'post_load': 8.48, 'load': 500.05, 'pre_unload': 4.85, 'form_tip': 134.27, 'unload': 665.18, 'post_unload': 3.93, 'total': 520.23, 'total_swaps': 7, 'swaps_since_pause': 1, 'swaps_since_pause_record': 3, 'total_pauses': 3, 'pause': 57.49}