优化打印机配置 解决停靠位置 暂停冷却等问题

This commit is contained in:
张开科 2024-09-19 14:27:25 +08:00
parent 1b1a2ad3e1
commit 3afea033d0
4 changed files with 313 additions and 87 deletions

View File

@ -18,11 +18,18 @@ enable_force_move: True
[idle_timeout]
gcode:
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
TURN_OFF_HEATERS
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused %}
{% if printer["extruder"] is defined %}
SET_HEATER_TEMPERATURE HEATER=extruder
{% endif %}
{% if printer["extruder1"] is defined %}
SET_HEATER_TEMPERATURE HEATER=extruder1
{% endif %}
{% else %}
TURN_OFF_HEATERS
{% endif %}
{% endif %}
{% endif %}
timeout: 1800 # 0.5 hour timeout
# F446 MotherBoard ID
@ -103,7 +110,7 @@ sensor_type: Generic 3950
sensor_pin: PC0
max_power: 1.0
min_temp: 0
max_temp: 100
max_temp: 130
# control: pid
# pid_kp: 17.22
# pid_ki: 0.9
@ -113,7 +120,7 @@ max_temp: 100
max_error: 20
hysteresis: 5
check_gain_time: 120
heating_gain: 2
heating_gain: 1
[heater_generic chamber]
heater_pin:PD15
@ -121,7 +128,7 @@ max_power:1.0
sensor_type: Generic 3950
sensor_pin:PC3
min_temp: 0
max_temp: 60
max_temp: 70
pwm_cycle_time: 0.3
# control: pid
# pid_kp: 30.68
@ -130,9 +137,9 @@ pwm_cycle_time: 0.3
[verify_heater chamber]
max_error: 120
hysteresis: 5
check_gain_time:300
heating_gain: 1
hysteresis: 0
check_gain_time: 3600
heating_gain: 0.01
[fan_generic Air_filter_fan]
pin: PC8
@ -240,7 +247,7 @@ max_extrude_cross_section:5
heater_pin: tool:PC6
max_power: 1.0
min_temp: 0
max_temp: 450
max_temp: 435
min_extrude_temp: 180
pressure_advance: 0.03
pressure_advance_smooth_time:0.040
@ -289,7 +296,7 @@ max_extrude_cross_section:5
heater_pin: tool:PC7
max_power: 1.0
min_temp: 0
max_temp: 450
max_temp: 435
min_extrude_temp: 180
pressure_advance: 0.032
pressure_advance_smooth_time:0.040
@ -491,10 +498,10 @@ gcode:
{% set do_y = 'Y' in params|string %}
{% set do_z = 'Z' in params|string %}
{% if do_x %}
{% if do_x %}
{% set homing_cmd = 'X ' %}
{% endif %}
{% if do_y %}
{% if do_y %}
{% set homing_cmd = homing_cmd + 'Y ' %}
{% endif %}
{% if do_z %}
@ -527,7 +534,7 @@ gcode:
{% if params.S is defined %}
M141 S{s}
{% if s != 0 %}
TEMPERATURE_WAIT SENSOR=chamber MINIMUM={s-1} MAXIMUM={s+2}
TEMPERATURE_WAIT SENSOR="heater_generic chamber" MINIMUM={s-2} MAXIMUM={s+2}
{% endif %}
{% endif %}
@ -537,3 +544,68 @@ gcode:
C84
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1
[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos : True
variable_custom_park_x : 500.0
variable_custom_park_y : 350.0
variable_custom_park_dz : 20.0
variable_retract : 2.0
variable_cancel_retract : 10.0
variable_speed_retract : 60.0
variable_unretract : 20.0
variable_speed_unretract : 6.0
variable_speed_hop : 5.0
variable_speed_move : 100.0
variable_park_at_cancel : False
variable_park_at_cancel_x : None
variable_park_at_cancel_y : None
variable_use_fw_retract : False
variable_idle_timeout : 600
variable_runout_sensor : ""
variable_user_pause_macro : "_USER_PAUSE"
variable_user_resume_macro: "_USER_RESUME"
variable_user_cancel_macro: "_USER_CANCEL"
gcode:
# Nothing
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
[gcode_macro RESUME]
variable_last_extruder_temp: {'restore': False, 'temp': 0}
variable_last_extruder1_temp: {'restore': False, 'temp': 0}
[gcode_macro _USER_RESUME]
gcode:
{% set extruder_info = [
{'index': 0, 'name': 'last_extruder_temp'},
{'index': 1, 'name': 'last_extruder1_temp'}] %}
{% for info in extruder_info %}
{% set variable = printer["gcode_macro RESUME"][info.name] %}
{% if variable.restore %}
M104 T{ info.index } S{ variable.temp }
{% endif %}
{% endfor %}
{% for info in extruder_info %}
{% set variable = printer["gcode_macro RESUME"][info.name] %}
{% if variable.restore %}
{% set tool = "extruder" if info.index == 0 else "extruder1" %}
{% set needwait = True if printer[tool].temperature < variable.temp else False %}
{% if needwait %}
M109 T{info.index} S{variable.temp}
{% endif %}
{% endif %}
{% endfor %}
[gcode_macro _USER_CANCEL]
gcode:
M84

View File

@ -20,9 +20,18 @@ pid_kd = 736.891
[heater_generic chamber]
control: pid
pid_kp: 30.68
pid_ki: 0.21
pid_kp: 214.568
pid_ki: 8.115
pid_kd: 0
[probe]
z_offset: 4
z_offset: 4
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [input_shaper]
#*# shaper_type_x = mzv
#*# shaper_freq_x = 31.2
#*# shaper_type_y = ei
#*# shaper_freq_y = 29.6

View File

@ -18,11 +18,18 @@ enable_force_move: True
[idle_timeout]
gcode:
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
TURN_OFF_HEATERS
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused %}
{% if printer["extruder"] is defined %}
SET_HEATER_TEMPERATURE HEATER=extruder
{% endif %}
{% if printer["extruder1"] is defined %}
SET_HEATER_TEMPERATURE HEATER=extruder1
{% endif %}
{% else %}
TURN_OFF_HEATERS
{% endif %}
{% endif %}
{% endif %}
timeout: 1800 # 0.5 hour timeout
# F446 MotherBoard ID
@ -103,7 +110,7 @@ sensor_type: Generic 3950
sensor_pin: PC0
max_power: 1.0
min_temp: 0
max_temp: 100
max_temp: 130
# control: pid
# pid_kp: 59.368
# pid_ki: 1.656
@ -113,7 +120,7 @@ max_temp: 100
max_error: 20
hysteresis: 5
check_gain_time: 120
heating_gain: 2
heating_gain: 1
[heater_generic chamber]
heater_pin:PD15
@ -121,7 +128,7 @@ max_power:1.0
sensor_type: Generic 3950
sensor_pin:PC3
min_temp: 0
max_temp: 70
max_temp: 80
pwm_cycle_time: 0.3
# control: pid
# pid_kp: 30.68
@ -130,9 +137,9 @@ pwm_cycle_time: 0.3
[verify_heater chamber]
max_error: 120
hysteresis: 5
check_gain_time:300
heating_gain: 1
# hysteresis: 0
check_gain_time: 3600
heating_gain: 0.01
[fan_generic Air_filter_fan]
pin: PC8
@ -240,7 +247,7 @@ max_extrude_cross_section:5
heater_pin: tool:PC6
max_power: 1.0
min_temp: 0
max_temp: 450
max_temp: 435
min_extrude_temp: 180
pressure_advance: 0.03
pressure_advance_smooth_time:0.040
@ -289,7 +296,7 @@ max_extrude_cross_section:5
heater_pin: tool:PC7
max_power: 1.0
min_temp: 0
max_temp: 450
max_temp: 435
min_extrude_temp: 180
pressure_advance: 0.032
pressure_advance_smooth_time:0.040
@ -491,10 +498,10 @@ gcode:
{% set do_y = 'Y' in params|string %}
{% set do_z = 'Z' in params|string %}
{% if do_x %}
{% if do_x %}
{% set homing_cmd = 'X ' %}
{% endif %}
{% if do_y %}
{% if do_y %}
{% set homing_cmd = homing_cmd + 'Y ' %}
{% endif %}
{% if do_z %}
@ -527,7 +534,7 @@ gcode:
{% if params.S is defined %}
M141 S{s}
{% if s != 0 %}
TEMPERATURE_WAIT SENSOR=chamber MINIMUM={s-1} MAXIMUM={s+2}
TEMPERATURE_WAIT SENSOR="heater_generic chamber" MINIMUM={s-2} MAXIMUM={s+2}
{% endif %}
{% endif %}
@ -537,3 +544,68 @@ gcode:
C84
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1
[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos : True
variable_custom_park_x : 300.0
variable_custom_park_y : 200.0
variable_custom_park_dz : 20.0
variable_retract : 2.0
variable_cancel_retract : 10.0
variable_speed_retract : 60.0
variable_unretract : 20.0
variable_speed_unretract : 6.0
variable_speed_hop : 5.0
variable_speed_move : 100.0
variable_park_at_cancel : False
variable_park_at_cancel_x : None
variable_park_at_cancel_y : None
variable_use_fw_retract : False
variable_idle_timeout : 600
variable_runout_sensor : ""
variable_user_pause_macro : "_USER_PAUSE"
variable_user_resume_macro: "_USER_RESUME"
variable_user_cancel_macro: "_USER_CANCEL"
gcode:
# Nothing
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
[gcode_macro RESUME]
variable_last_extruder_temp: {'restore': False, 'temp': 0}
variable_last_extruder1_temp: {'restore': False, 'temp': 0}
[gcode_macro _USER_RESUME]
gcode:
{% set extruder_info = [
{'index': 0, 'name': 'last_extruder_temp'},
{'index': 1, 'name': 'last_extruder1_temp'}] %}
{% for info in extruder_info %}
{% set variable = printer["gcode_macro RESUME"][info.name] %}
{% if variable.restore %}
M104 T{ info.index } S{ variable.temp }
{% endif %}
{% endfor %}
{% for info in extruder_info %}
{% set variable = printer["gcode_macro RESUME"][info.name] %}
{% if variable.restore %}
{% set tool = "extruder" if info.index == 0 else "extruder1" %}
{% set needwait = True if printer[tool].temperature < variable.temp else False %}
{% if needwait %}
M109 T{info.index} S{variable.temp}
{% endif %}
{% endif %}
{% endfor %}
[gcode_macro _USER_CANCEL]
gcode:
M84

View File

@ -18,24 +18,31 @@ enable_force_move: True
[idle_timeout]
gcode:
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused|lower == 'false' %}
TURN_OFF_HEATERS
{% if printer.webhooks.state|lower == 'ready' %}
{% if printer.pause_resume.is_paused %}
{% if printer["extruder"] is defined %}
SET_HEATER_TEMPERATURE HEATER=extruder
{% endif %}
{% if printer["extruder1"] is defined %}
SET_HEATER_TEMPERATURE HEATER=extruder1
{% endif %}
{% else %}
TURN_OFF_HEATERS
{% endif %}
{% endif %}
{% endif %}
timeout: 1800 # 0.5 hour timeout
# F446 MotherBoard ID
[mcu]
[mcu]
canbus_uuid: 000000000010
canbus_interface: can0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 10
max_z_accel: 100
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 10
max_z_accel: 100
square_corner_velocity: 5.0
[bed_mesh]
@ -55,21 +62,21 @@ enable_pin: !PA15
rotation_distance: 50.8
microsteps: 64
full_steps_per_rotation: 200
endstop_pin: ^PC10
position_min: -20
position_endstop: -20
position_max: 475
endstop_pin: ^PC10
position_min: -20
position_endstop: -20
position_max: 475
homing_speed: 100
homing_retract_dist: 10
[tmc5160 stepper_x]
cs_pin: PE2
[tmc5160 stepper_x]
cs_pin: PE2
spi_software_sclk_pin: PB3
spi_software_mosi_pin: PB5
spi_software_miso_pin: PB4
run_current: 1.0
interpolate: True
sense_resistor: 0.075
run_current: 1.0
interpolate: True
sense_resistor: 0.075
stealthchop_threshold: 200
[dual_carriage]
@ -89,31 +96,31 @@ homing_retract_dist: 10
safe_distance: 75
[tmc5160 dual_carriage]
cs_pin: PE8
cs_pin: PE8
spi_software_sclk_pin: PB3
spi_software_mosi_pin: PB5
spi_software_miso_pin: PB4
run_current: 1.0
interpolate: True
sense_resistor: 0.075
stealthchop_threshold: 200
run_current: 1.0
interpolate: True
sense_resistor: 0.075
stealthchop_threshold: 200
[stepper_y]
step_pin: PD4
dir_pin: !PD3
enable_pin: !PD2
rotation_distance: 73.152
microsteps: 128
full_steps_per_rotation: 200
microsteps: 128
full_steps_per_rotation: 200
gear_ratio: 1:1
endstop_pin: ^PC11
endstop_pin: ^PC11
position_min: 0
position_endstop: 0
position_max: 300
homing_speed: 60
homing_retract_dist: 10
[tmc5160 stepper_y]
[tmc5160 stepper_y]
cs_pin: PE3
spi_software_sclk_pin: PB3
spi_software_mosi_pin: PB5
@ -131,7 +138,7 @@ rotation_distance: 5
gear_ratio: 2.5:1
microsteps: 16
full_steps_per_rotation: 200
endstop_pin: probe:z_virtual_endstop
endstop_pin: probe:z_virtual_endstop
position_max: 300
position_min: -4
homing_speed: 10
@ -180,9 +187,9 @@ max_temp: 70
[verify_heater chamber]
max_error: 120
hysteresis: 5
check_gain_time: 120
heating_gain: 1
hysteresis: 0
check_gain_time: 3600
heating_gain: 0.01
[multi_pin fan]
pins: L_tool:PA10, R_tool:PA10
@ -202,7 +209,7 @@ kick_start_time: 1.0
[delayed_gcode INIT_LIGHT]
initial_duration:0.01
gcode:
gcode:
{% set svv = printer.save_variables.variables %}
{% set luminance = svv.interior_lighting|default(0)|float %}
SET_LED LED=Interior_lighting WHITE={luminance} TRANSMIT=1 SYNC=0
@ -229,10 +236,10 @@ switch_pin: ^PC14
[filament_switch_sensor extruder1]
pause_on_runout: True
runout_gcode:
runout_gcode:
event_delay: 3.0
pause_delay: 0.5
switch_pin: ^PC15
switch_pin: ^PC15
# F072 Left nozzle ID
[mcu L_tool]
@ -254,7 +261,7 @@ probe_points: 200, 150, 20
min_freq: 20
max_freq: 70
accel_per_hz: 200
hz_per_sec: 1
hz_per_sec: 1
[heater_fan Sink_fan_0]
pin:L_tool:PA9
@ -310,9 +317,9 @@ sense_resistor: 0.110
stealthchop_threshold: 0
[probe]
pin: ^!L_tool:PA1
x_offset: 34.6
y_offset: 17.4
pin: ^!L_tool:PA1
x_offset: 34.6
y_offset: 17.4
# z_offset: 0
speed: 10.0
samples: 3
@ -344,7 +351,7 @@ damping_ratio_y: 0.1
# F072 Right nozzle ID
[mcu R_tool]
canbus_uuid: 000000000002
canbus_uuid: 000000000002
canbus_interface: can0
[heater_fan Sink_fan_1]
@ -479,27 +486,27 @@ gcode:
[gcode_macro ACTIVATE_COPY_MODE]
gcode:
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X0
G1 X0 F6000
ACTIVATE_EXTRUDER EXTRUDER=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X227.5
G1 X227.5 F6000
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
[gcode_macro ACTIVATE_MIRROR_MODE]
gcode:
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
G1 X0
G1 X0 F6000
ACTIVATE_EXTRUDER EXTRUDER=extruder
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
G1 X455
G1 X455 F6000
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
[gcode_macro PROBE_SERVO_OPEN]
gcode:
SET_SERVO SERVO=probe_servo angle=45
SET_SERVO SERVO=probe_servo angle=45
G4 P500
[gcode_macro PROBE_SERVO_CLOSE]
@ -588,19 +595,19 @@ gcode:
{% endif %}
[gcode_macro SET_X_OFFSET]
gcode:
gcode:
{% set svv = printer.save_variables.variables %}
{% set dual_x_offset=params.S|default(0)|float %}
SAVE_VARIABLE VARIABLE=dual_x_offset VALUE={dual_x_offset}
[gcode_macro SET_Y_OFFSET]
gcode:
gcode:
{% set svv = printer.save_variables.variables %}
{% set dual_y_offset=params.S|default(0)|float %}
SAVE_VARIABLE VARIABLE=dual_y_offset VALUE={dual_y_offset}
[gcode_macro SET_Z_OFFSET]
gcode:
gcode:
{% set svv = printer.save_variables.variables %}
{% set dual_z_offset=params.S|default(0)|float %}
SAVE_VARIABLE VARIABLE=dual_z_offset VALUE={dual_z_offset}
@ -643,10 +650,10 @@ gcode:
{% set do_y = 'Y' in params|string %}
{% set do_z = 'Z' in params|string %}
{% if do_x %}
{% if do_x %}
{% set homing_cmd = 'X ' %}
{% endif %}
{% if do_y %}
{% if do_y %}
{% set homing_cmd = homing_cmd + 'Y ' %}
{% endif %}
{% if do_z %}
@ -679,13 +686,79 @@ gcode:
{% if params.S is defined %}
M141 S{s}
{% if s != 0 %}
TEMPERATURE_WAIT SENSOR=chamber MINIMUM={s-1} MAXIMUM={s+2}
TEMPERATURE_WAIT SENSOR="heater_generic chamber" MINIMUM={s-2} MAXIMUM={s+2}
{% endif %}
{% endif %}
[gcode_macro M84]
rename_existing: C84
gcode:
gcode:
C84
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1
_RESTORE_DEFAULT_EXTRUDER
[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos : True
variable_custom_park_x : 200.0
variable_custom_park_y : 250.0
variable_custom_park_dz : 20.0
variable_retract : 2.0
variable_cancel_retract : 10.0
variable_speed_retract : 60.0
variable_unretract : 20.0
variable_speed_unretract : 6.0
variable_speed_hop : 5.0
variable_speed_move : 100.0
variable_park_at_cancel : False
variable_park_at_cancel_x : None
variable_park_at_cancel_y : None
variable_use_fw_retract : False
variable_idle_timeout : 600
variable_runout_sensor : ""
variable_user_pause_macro : "_USER_PAUSE"
variable_user_resume_macro: "_USER_RESUME"
variable_user_cancel_macro: "_USER_CANCEL"
gcode:
# Nothing
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
[gcode_macro RESUME]
variable_last_extruder_temp: {'restore': False, 'temp': 0}
variable_last_extruder1_temp: {'restore': False, 'temp': 0}
[gcode_macro _USER_RESUME]
gcode:
{% set extruder_info = [
{'index': 0, 'name': 'last_extruder_temp'},
{'index': 1, 'name': 'last_extruder1_temp'}] %}
{% for info in extruder_info %}
{% set variable = printer["gcode_macro RESUME"][info.name] %}
{% if variable.restore %}
M104 T{ info.index } S{ variable.temp }
{% endif %}
{% endfor %}
{% for info in extruder_info %}
{% set variable = printer["gcode_macro RESUME"][info.name] %}
{% if variable.restore %}
{% set tool = "extruder" if info.index == 0 else "extruder1" %}
{% set needwait = True if printer[tool].temperature < variable.temp else False %}
{% if needwait %}
M109 T{info.index} S{variable.temp}
{% endif %}
{% endif %}
{% endfor %}
[gcode_macro _USER_CANCEL]
gcode:
M84