KLP1/firmware/config/printer.cfg
2024-08-31 17:35:33 +02:00

654 lines
19 KiB
INI
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#####################################################################
# KINGROON KLP1 V2.2-230
####################################################################
[include mainsail.cfg]
[include MKS_THR.cfg]
[mcu]
serial:/dev/serial/by-id/usb-Klipper_stm32f103xe_BB6232333036341232383139-if00
restart_method: command
#####################################################################
# 速度
####################################################################
[printer]
kinematics:corexy#打印机类型
max_velocity: 500#最大速度
max_accel: 20000#最大加速度
max_accel_to_decel: 6000#最大加速度到减速度
max_z_velocity: 50#Z轴最大速度
max_z_accel: 100#Z轴最大加速度
square_corner_velocity: 20#方形拐角速度
#####################################################################
# 运动和驱动参数
####################################################################
[stepper_x]
step_pin:PC14 #电机脉冲引脚
dir_pin:!PC13 #方向设置
enable_pin:!PC15 #使能引脚
microsteps: 16 #细分
rotation_distance: 40 #主动轮周长mm
full_steps_per_rotation:200 #单圈脉冲数量
endstop_pin:tmc2209_stepper_x:virtual_endstop #限位开关接口
position_min: 0 #限位最小行程
position_endstop: 0 #回零的位置
position_max: 235 #最大限位行程
homing_speed:50 #回零速度
homing_retract_dist:0 #后撤距离
homing_positive_dir:False #回零方向
step_pulse_duration:0.000002
[stepper_y]
step_pin:PE5
dir_pin:PE4
enable_pin:!PD14
microsteps:16
rotation_distance: 40
full_steps_per_rotation:200
endstop_pin:tmc2209_stepper_y:virtual_endstop
position_min: 0
position_endstop:0
position_max:235
homing_speed:50
homing_retract_dist:0
homing_positive_dir:false
step_pulse_duration:0.000002
[stepper_z]
step_pin:PE1
dir_pin:PE0
enable_pin:!PE2
microsteps: 16
rotation_distance:8
full_steps_per_rotation: 200
gear_ratio: 40:20
endstop_pin:probe:z_virtual_endstop
position_max: 220
position_min: -10
homing_speed:5
second_homing_speed: 2
homing_positive_dir:false
step_pulse_duration:0.000002
[tmc2209 stepper_x]
uart_pin: PE6
run_current: 1.3
interpolate: True
stealthchop_threshold: 0 #静音模式quiet mode99999/高速模式High speed mode0
diag_pin:^PA14
driver_SGTHRS: 110
[tmc2209 stepper_y]
uart_pin: PE3
run_current: 1.3
interpolate: True
stealthchop_threshold: 0#静音模式quiet mode99999/高速模式High speed mode0
diag_pin:^PA15
driver_SGTHRS:110
[tmc2209 stepper_z]
uart_pin: PB7
run_current: 1.0
hold_current: 1.0
interpolate: True
stealthchop_threshold: 0#静音模式quiet mode99999/高速模式High speed mode0
#####################################################################
# 挤出机
#####################################################################
[extruder]
step_pin: MKS_THR:gpio5
dir_pin: !MKS_THR:gpio4
enable_pin: !MKS_THR:gpio10
rotation_distance:53.2
gear_ratio: 95:10 #减速比
microsteps: 16
full_steps_per_rotation: 200 #脉冲
nozzle_diameter: 0.400 # 喷嘴的孔径(以毫米为单位)
filament_diameter: 1.75 # 进入挤出机的耗材上标的直径(以毫米为单位)
heater_pin: MKS_THR:gpio2
sensor_pin: MKS_THR:gpio26
sensor_type: ATC Semitec 104GT-2
min_temp: 0 #最小温度
max_temp: 310 #最大温度
max_power: 1 #最大功率
min_extrude_temp: 60
control = pid
pid_kp = 19.837#发送命令PID_CALIBRATE HEATER=extruder TARGET=245 它将执行一个PID校准程序完成后控制台将返回PID数值将其复制到配置文件即可。
pid_ki = 4.723
pid_kd = 20.829
pressure_advance: 0.03 #压力提前数据 was 0.03
pressure_advance_smooth_time: 0.09
max_extrude_cross_section:0.64#500挤出线条横截面的最大面积以平方毫米为单位 例如挤出线宽乘层高这个设置能防止在相对较小的XY移动时产生过度的挤出默认值是4.0 * 喷嘴直径 ^ 2
instantaneous_corner_velocity: 20.000 #两次挤出之间最大的速度变化(以毫米每秒为单位)
max_extrude_only_distance: 100.0# 一次挤出或回抽的最大长度(以毫米耗材的长度为单位)
max_extrude_only_velocity:5000# 最大的挤出和回抽速度(以毫米每秒为单位)
max_extrude_only_accel:2000# 和加速度(以毫米每二次方秒为单位)
step_pulse_duration:0.000002
[tmc2209 extruder]
uart_pin: MKS_THR:gpio6
interpolate: True
run_current: 0.9
hold_current: 0.9
sense_resistor: 0.110
stealthchop_threshold:0
#####################################################################
# 回零动作
####################################################################
[homing_override]
set_position_z:0
gcode:
G91
G1 Z5 F100
{% set HOME_CUR = 0.500 %}
{% set driver_config = printer.configfile.settings['tmc2209 stepper_x'] %}
{% set RUN_CUR = driver_config.run_current %}
SET_VELOCITY_LIMIT ACCEL=500
# Set current for sensorless homing
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR}
{% if params.X is defined %}
{% if params.Y is undefined %}
{% if params.Z is undefined %}
G28 X F100
G1 X2 F1000
{% endif %}
{% endif %}
{% endif %}
{% if params.Y is defined %}
{% if params.X is undefined %}
{% if params.Z is undefined %}
G28 Y F100
G1 Y2 F1000
{% endif %}
{% endif %}
{% endif %}
{% if params.Z is defined %}
{% if params.X is undefined %}
{% if params.Y is undefined %}
G28 Z F100
{% endif %}
{% endif %}
{% endif %}
{% if params.X is defined %}
{% if params.Y is defined %}
{% if params.Z is undefined %}
G28 X F100
G28 Y F100
G1 X2 F1000
G1 Y2 F1000
{% endif %}
{% endif %}
{% endif %}
{% if params.X is undefined %}
{% if params.Y is undefined %}
{% if params.Z is undefined %}
G28 X F100
G28 Y F100
G1 X30 F2000
G1 Y15 F1000
G28 Z F100
G1 Z10 F100
{% endif %}
{% endif %}
{% endif %}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CUR}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CUR}
SET_VELOCITY_LIMIT ACCEL=5000
G90
BED_MESH_PROFILE LOAD=default
#####################################################################
# 热床
####################################################################
[heater_bed]
heater_pin: PA0
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PC0
max_power: 1
#control = pid
#pid_kp = 57.862
#pid_ki = 2.167
#pid_kd = 386.231
min_temp: 0
max_temp: 200
#####################################################################
# 风扇
####################################################################
[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100
[temperature_sensor KINGROONpi Pi]
sensor_type: temperature_host
min_temp: 0
max_temp: 100
[temperature_fan Pi_fan2]#主板温控风扇
pin:PA2
kick_start_time: 0.500
sensor_type: temperature_host
##control: watermark
# 高于以下温度启用风扇
##target_temp: 30.0# 允许的温度范围
##min_temp: 0
##max_temp: 90# 调节最大风速以降低噪音 设置值30-100
##max_speed: 1
##min_speed: 0.3
##https://klp1.com/issues/silence-motherboard-fan/
control: pid
pid_kp: 10
pid_ki: 0
pid_kd: 0
# Temperature which it will try to target
target_temp: 60.0
# Absolute limits for temperature
min_temp: 0
max_temp: 90
# Adjust the interval for the fan speed to the range 0%-100%
max_speed: 1.0
min_speed: 0.0
####################################################################
# 一键预热
#####################################################################
[gcode_macro START_PRINT]
gcode:
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(220)|float %}
M140 S{BED_TEMP}#加热热床到目标温度
M104 S{EXTRUDER_TEMP}
M190 S{BED_TEMP}
M109 S{EXTRUDER_TEMP}
G90
G28
## https://klipper.discourse.group/t/klipper-does-not-appear-to-be-using-mesh-ender-3v2n/9615
BED_MESH_PROFILE LOAD="default"
G1 Z5 F3000
G1 Z0.15 F100
[gcode_macro M205]
gcode:
[gcode_macro END_PRINT]
gcode:
G91
G1 X-2 Y-2 E-3 F300
G1 Z10 F3000
G90
M84
M140 S60
M104 S200
M106 S0
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
gcode:
# Parameters
{% set z = params.Z|default(10)|int %} ; z hop amount
{% set e = params.E|default(1) %}
{% if printer['pause_resume'].is_paused|int == 0 %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE={z} ; set z hop variable for reference in resume macro
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target} ; set hotend temp variable for reference in resume macro
# SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0 ; disable filament sensor
SAVE_GCODE_STATE NAME=PAUSE ; save current print position for resume
BASE_PAUSE ; pause print
{% if (printer.gcode_move.position.z + z) < printer.toolhead.axis_maximum.z %} ; check that zhop doesn't exceed z max
G91 ; relative positioning
G1 Z{z} F900 ; raise Z up by z hop amount
{% else %}
# { action_respond_info("Pause zhop exceeds maximum Z height.") } ; if z max is exceeded, show message and set zhop value for resume to 0
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE=0
{% endif %}
G1 E-{e} F2100
SAVE_GCODE_STATE NAME=PAUSEPARK
G90 ; absolute positioning
G1 X10 Y10 F6000 ; park toolhead at front center
#M104 S0 ; turn off hotend
SET_IDLE_TIMEOUT TIMEOUT=43200 ; set timeout to 12 hours
{% endif %}
M106 S0
[gcode_macro RESUME]
rename_existing: BASE_RESUME
variable_zhop: 0
variable_etemp: 0
gcode:
# Parameters
{% set e = params.E|default(2.5)|int %} ; hotend prime amount (in mm)
{% if printer['pause_resume'].is_paused|int == 1 %}
#SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1 ; enable filament sensor
#INITIAL_RGB ; reset LCD color
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} ; set timeout back to configured value
{% if etemp > 0 %}
M109 S{etemp|int} ; wait for hotend to heat back up
{% endif %}
RESTORE_GCODE_STATE NAME=PAUSEPARK MOVE=1 MOVE_SPEED=100 ; go back to parked position in case toolhead was moved during pause (otherwise the return zhop can error)
G91 ; relative extruder positioning
M83 ; restore position
{% if printer[printer.toolhead.extruder].temperature >= printer.configfile.settings.extruder.min_extrude_temp %}
G1 Z{zhop * -1} E{e} F900 ; prime nozzle by E, lower Z back down
{% else %}
G1 Z{zhop * -1} F900 ; lower Z back down without priming (just in case we are testing the macro with cold hotend)
{% endif %}
M400
RESTORE_GCODE_STATE NAME=PAUSE MOVE=1 MOVE_SPEED=60
BASE_RESUME ; resume print
{% endif %}
M106 S255
####################################################################
# 共振补偿
#####################################################################
[idle_timeout]
timeout: 36000
[gcode_macro G40]
gcode:
ACCELEROMETER_QUERY
SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0
G28
M106 S255
SHAPER_CALIBRATE
SAVE_CONFIG
[gcode_macro SHAPER_CALIBRATE]
rename_existing: RESHAPER_CALIBRATE
gcode:
RESHAPER_CALIBRATE FREQ_START=5 FREQ_END=100
[resonance_tester]
accel_chip: adxl345
probe_points:
100, 100, 20 # 共振补偿开始的位置
accel_per_hz: 300
[adxl345]
cs_pin: MKS_THR:gpio13
spi_software_sclk_pin: MKS_THR:gpio14
spi_software_mosi_pin: MKS_THR:gpio15
spi_software_miso_pin: MKS_THR:gpio12
[input_shaper]
#shaper_freq_x: 96.6
#shaper_type_x: mzv
#shaper_freq_y: 136.0
#shaper_type_y: 2hump_ei
[virtual_sdcard]
# path: ~/gcode_files
path: /home/mks/printer_data/gcodes
[pause_resume]
[exclude_object]
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
TURN_OFF_HEATERS
CANCEL_PRINT_BASE
G91
G1 Z10 F100
G90
G1 X10 F3000
M84
M106 S0
####################################################################
# 断料检测
#####################################################################
[filament_switch_sensor fila]
pause_on_runout: True#当设置为 "True "时,会在检测到耗尽后立即暂停打印机。
runout_gcode:
G91
G1 Z10
G90
G1 X10 Y10 F3000
M104 S220
M105
M109 S220
G91
G1 E30 F3000
G1 E-27 F9000
M106 S255
M104 S62
M105
M109 S62
G1 E-50 F300
M106 S0
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0
event_delay: 3.0
pause_delay: 0.5
switch_pin:PA1
[display_status]
####################################################################
# 温度波动阀值
#####################################################################
[verify_heater extruder]
max_error: 120
check_gain_time:120
hysteresis: 10
heating_gain: 2
[verify_heater heater_bed]
max_error: 120
check_gain_time:120
hysteresis: 10
heating_gain: 2
[probe]
pin:!MKS_THR:gpio21
x_offset: -22.2
y_offset: 0
speed:5 #自动调平速度
samples:3
samples_result:median
sample_retract_dist: 1.2 #调平两点之间的抬升高度
samples_tolerance: 0.05
samples_tolerance_retries: 3
[probe]
#z_offset: 0#2.0 #6.25
[gcode_macro G29]
gcode:
G28
G0 Z10 F1000
G1 X105 Y105 F1000
PROBE_CALIBRATE
#执行Z轴偏移
[gcode_macro G30]
gcode:
BED_MESH_CLEAR #清除调平数据
G28
BED_MESH_CALIBRATE #自动调平
BED_MESH_PROFILE SAVE="name" #保存调平数据
SAVE_CONFIG
BED_MESH_PROFILE LOAD="name" #加载调平数据
[gcode_macro G31]
gcode:
TESTZ Z=-1
#Z轴偏移-1
[gcode_macro G32]
gcode:
TESTZ Z=-0.5
#Z轴偏移-0.5
[gcode_macro G33]
gcode:
TESTZ Z=-0.1
#Z轴偏移-0.1
[gcode_macro G34]
gcode:
TESTZ Z=0.1
#Z轴偏移0.1
[gcode_macro G35]
gcode:
TESTZ Z=0.5
#Z轴偏移0.5
[gcode_macro G36]
gcode:
TESTZ Z=1
#Z轴偏移1
[gcode_macro G37]
gcode:
ACCEPT
#保存Z轴偏移数据
#####################################################################
# 自动退料
#####################################################################
[gcode_macro G50]
gcode:
M104 S220
M105
M109 S220
G91
G1 E30 F3000
G1 E-27 F9000
M106 S255
M104 S62
M105
M109 S62
G1 E-50 F300
M106 S0
M84
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0
[duplicate_pin_override]
pins:
PB5
[gcode_macro LOAD_FILAMENT]
#触摸屏端的自动进料
gcode:
M104 S220
M105
M109 S220
G91
G1 E100 F200
G90
[gcode_macro UNLOAD_FILAMENT]
#触摸屏端的自动退料
gcode:
M104 S220
M105
M109 S220
G91
G1 E30 F3000
G1 E-27 F9000
M106 S255
M104 S62
M105
M109 S62
G1 E-50 F300
M106 S0
M84
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0
[display]
lcd_type:uc1701
cs_pin: PE11
a0_pin: PE9
rst_pin: PE10
contrast: 63
encoder_pins:^PE13,^PE14
click_pin: ^!PE15
## Some micro-controller boards may require an spi bus to be specified:
#spi_bus: spi
## Alternatively, some micro-controller boards may work with software spi:
spi_software_miso_pin:PB5
spi_software_mosi_pin:PB5
spi_software_sclk_pin:PB3
[output_pin beeper]
pin: PC5
# Enable object exclusion
[exclude_object]
# Enable arcs support
[gcode_arcs]
resolution: 0.1
[neopixel mini12864]
pin: PE12
chain_count: 3
color_order: RGB
initial_RED: 1.0
initial_GREEN: 1.0
initial_BLUE: 0.0
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [bed_mesh name]
#*# version = 1
#*# points =
#*# 0.028750, -0.373750, -0.768750, -1.116250, -1.411250, -1.656250
#*# 0.188750, -0.218750, -0.605000, -0.937500, -1.252500, -1.532500
#*# 0.302500, -0.093750, -0.498750, -0.837500, -1.147500, -1.421250
#*# 0.388750, 0.021250, -0.350000, -0.720000, -1.013750, -1.288750
#*# 0.481250, 0.122500, -0.225000, -0.568750, -0.866250, -1.166250
#*# 0.566250, 0.232500, -0.113750, -0.435000, -0.682500, -0.968750
#*# tension = 0.2
#*# min_x = 10.000000000000004
#*# algo = lagrange
#*# y_count = 6
#*# mesh_y_pps = 2
#*# min_y = 20.0
#*# x_count = 6
#*# max_y = 220.0
#*# mesh_x_pps = 2
#*# max_x = 210.0
#*#
#*# [probe]
#*# z_offset = 2.325
#*#
#*# [input_shaper]
#*# shaper_type_x = mzv
#*# shaper_freq_x = 59.4
#*# shaper_type_y = zv
#*# shaper_freq_y = 66.6
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 72.465
#*# pid_ki = 2.166
#*# pid_kd = 605.989
#*#
#*# [bed_mesh default1]
#*# version = 1
#*# points =
#*# 0.026250, -0.316250, -0.670000, -0.970000, -1.182500, -1.410000
#*# 0.163750, -0.171250, -0.533750, -0.810000, -1.060000, -1.290000
#*# 0.288750, -0.061250, -0.425000, -0.686250, -0.933750, -1.176250
#*# 0.400000, 0.057500, -0.266250, -0.568750, -0.810000, -1.058750
#*# 0.505000, 0.181250, -0.126250, -0.412500, -0.661250, -0.861250
#*# 0.622500, 0.308750, 0.003750, -0.256250, -0.503750, -0.715000
#*# x_count = 6
#*# y_count = 6
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 10.000000000000004
#*# max_x = 210.0
#*# min_y = 20.0
#*# max_y = 220.0
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.028750, -0.373750, -0.768750, -1.116250, -1.411250, -1.656250
#*# 0.188750, -0.218750, -0.605000, -0.937500, -1.252500, -1.532500
#*# 0.302500, -0.093750, -0.498750, -0.837500, -1.147500, -1.421250
#*# 0.388750, 0.021250, -0.350000, -0.720000, -1.013750, -1.288750
#*# 0.481250, 0.122500, -0.225000, -0.568750, -0.866250, -1.166250
#*# 0.566250, 0.232500, -0.113750, -0.435000, -0.682500, -0.968750
#*# x_count = 6
#*# y_count = 6
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 10.000000000000004
#*# max_x = 210.0
#*# min_y = 20.0
#*# max_y = 220.0