593 lines
14 KiB
INI
593 lines
14 KiB
INI
#-------------------------------------
|
|
# Ender 5 Plus w/ SKR 1.4
|
|
# v. 0.10
|
|
#-------------------------------------
|
|
|
|
[include mainsail.cfg]
|
|
|
|
#-------------------------------------
|
|
# Firmware Retraction
|
|
#-------------------------------------
|
|
# [firmware_retraction]
|
|
# retract_length: 0.8
|
|
# retract_speed: 60
|
|
# unretract_extra_length: 0
|
|
# unretract_speed: 60
|
|
|
|
#-------------------------------------
|
|
# Pressure Advance
|
|
#-------------------------------------
|
|
# [extruder]
|
|
# pressure_advance: 0.0 # Overture PLA
|
|
|
|
#-------------------------------------
|
|
# Input Shaper
|
|
#-------------------------------------
|
|
#[mcu rpi]
|
|
#serial: /tmp/klipper_host_mcu
|
|
|
|
#[adxl345]
|
|
#cs_pin: rpi:None
|
|
|
|
#[resonance_tester]
|
|
#accel_chip: adxl345
|
|
#probe_points:
|
|
# 180, 180, 20 # an example
|
|
#-------------------------------------
|
|
# Extruder
|
|
#-------------------------------------
|
|
[extruder]
|
|
step_pin: P2.13
|
|
dir_pin: !P0.11
|
|
enable_pin: !P2.12
|
|
microsteps: 16
|
|
rotation_distance: 32.85
|
|
nozzle_diameter: 0.400
|
|
filament_diameter: 1.750
|
|
heater_pin: P2.7
|
|
sensor_type: EPCOS 100K B57560G104F
|
|
sensor_pin: P0.24
|
|
min_temp: 0
|
|
max_temp: 300
|
|
max_extrude_only_distance: 750
|
|
# pressure_advance: 0.0 # Overture PLA
|
|
|
|
# printer.cfg
|
|
|
|
[gcode_macro SET_ACTIVE_SPOOL]
|
|
gcode:
|
|
{% if params.ID %}
|
|
{% set id = params.ID|int %}
|
|
{action_call_remote_method(
|
|
"spoolman_set_active_spool",
|
|
spool_id=id
|
|
)}
|
|
{% else %}
|
|
{action_respond_info("Parameter 'ID' is required")}
|
|
{% endif %}
|
|
|
|
[gcode_macro CLEAR_ACTIVE_SPOOL]
|
|
gcode:
|
|
{action_call_remote_method(
|
|
"spoolman_set_active_spool",
|
|
spool_id=None
|
|
)}
|
|
|
|
|
|
#-------------------------------------
|
|
# Printer General
|
|
#-------------------------------------
|
|
[safe_z_home]
|
|
home_xy_position: 180, 180
|
|
speed: 100
|
|
z_hop: 10
|
|
z_hop_speed: 100
|
|
|
|
[bltouch]
|
|
sensor_pin: P0.10 #Probe
|
|
control_pin: P2.0 #SERVOS
|
|
stow_on_each_sample: False
|
|
probe_with_touch_mode: True
|
|
pin_up_touch_mode_reports_triggered: False
|
|
set_output_mode: 5V
|
|
speed: 100
|
|
pin_move_time: 0.675
|
|
lift_speed: 200
|
|
samples: 4
|
|
sample_retract_dist: 10
|
|
#Mount Offset
|
|
x_offset: -45
|
|
y_offset: -7
|
|
|
|
[bed_mesh]
|
|
speed: 100
|
|
horizontal_move_z: 5
|
|
mesh_min: 5, 15
|
|
mesh_max: 310,337
|
|
probe_count: 5,5
|
|
fade_start: 1
|
|
fade_end: 10
|
|
|
|
[heater_bed]
|
|
heater_pin: P2.5
|
|
sensor_type: EPCOS 100K B57560G104F
|
|
sensor_pin: P0.25
|
|
max_power: 0.8
|
|
min_temp: 0
|
|
max_temp: 130
|
|
pwm_cycle_time: 0.01666
|
|
|
|
[fan]
|
|
pin: P2.3
|
|
|
|
[mcu]
|
|
serial: /dev/serial/by-id/usb-Klipper_lpc1768_2B4003196520BC9568FEE260C32000F5-if00
|
|
|
|
[filament_switch_sensor filament_sensor]
|
|
switch_pin: P1.26
|
|
|
|
[printer]
|
|
kinematics: cartesian
|
|
max_velocity: 170
|
|
max_accel: 2500
|
|
max_z_velocity: 5
|
|
max_z_accel: 100
|
|
|
|
[temperature_sensor raspberry_pi]
|
|
sensor_type: temperature_host
|
|
max_temp: 100
|
|
|
|
#-------------------------------------
|
|
# Bed Leveling
|
|
#-------------------------------------
|
|
[z_tilt]
|
|
z_positions: -18.4,180
|
|
378.4,180
|
|
points: 38,180
|
|
360,180
|
|
speed: 50
|
|
horizontal_move_z: 5
|
|
retries: 5
|
|
retry_tolerance:0.2
|
|
|
|
[screws_tilt_adjust]
|
|
screw1: 71,60
|
|
screw1_name: front left screw
|
|
screw2: 332,60
|
|
screw2_name: front right screw
|
|
screw3: 332,321
|
|
screw3_name: rear right screw
|
|
screw4: 71,321
|
|
screw4_name: rear left screw
|
|
horizontal_move_z: 10.
|
|
speed: 50.
|
|
screw_thread: CW-M4
|
|
|
|
[bed_screws]
|
|
screw1: 27.5, 47
|
|
screw2: 327.5, 47
|
|
screw3: 327.5, 307
|
|
screw4: 27.5, 307
|
|
|
|
[board_pins]
|
|
aliases:
|
|
EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
|
|
EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
|
|
EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
|
|
EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
|
|
|
|
|
|
[display]
|
|
lcd_type: uc1701
|
|
cs_pin: EXP1_3
|
|
a0_pin: EXP1_4
|
|
rst_pin: EXP1_5
|
|
encoder_pins: ^EXP2_5, ^EXP2_3
|
|
click_pin: ^!EXP1_2
|
|
# Prędkość odświeżania wyświetlacza. Zwiększ, jeśli obraz migocze, zmniejsz, jeśli masz problemy z MCU.
|
|
# Ustaw na 120, jeśli nie masz problemów.
|
|
spi_speed: 2000000
|
|
contrast: 63
|
|
|
|
[neopixel btt_mini12864]
|
|
pin: EXP1_6
|
|
chain_count: 3 # Ten wyświetlacz ma 3 diody RGB
|
|
color_order: RGB # Sprawdź, czy Twój wyświetlacz ma taki porządek kolorów, inaczej kolory mogą być pomieszane
|
|
initial_RED: 0.0 # Początkowa jasność czerwonego (0.0 - 1.0)
|
|
initial_GREEN: 0.5 # Początkowa jasność zielonego (0.0 - 1.0)
|
|
initial_BLUE: 0.0 # Początkowa jasność niebieskiego (0.0 - 1.0)
|
|
|
|
#-------------------------------------
|
|
# Others
|
|
#-------------------------------------
|
|
[force_move]
|
|
enable_force_move: True
|
|
[virtual_sdcard]
|
|
path: /home/pali112/printer_data/gcodes
|
|
[exclude_object]
|
|
[display_status]
|
|
[pause_resume]
|
|
#[respond]
|
|
# default_type: echo
|
|
|
|
[idle_timeout]
|
|
timeout: 1800
|
|
gcode:
|
|
TURN_OFF_HEATERS
|
|
|
|
#-------------------------------------
|
|
# Stepper Drivers
|
|
#-------------------------------------
|
|
[tmc2208 stepper_x]
|
|
uart_pin: P1.10
|
|
interpolate: False
|
|
sense_resistor: 0.110
|
|
run_current: 0.80
|
|
#hold_current: 0.500
|
|
stealthchop_threshold: 999999
|
|
|
|
|
|
[tmc2208 stepper_y]
|
|
uart_pin: P1.9
|
|
interpolate: False
|
|
sense_resistor: 0.110
|
|
run_current: 0.80
|
|
stealthchop_threshold: 999999
|
|
|
|
[tmc2208 stepper_z] #z
|
|
uart_pin: P1.8
|
|
interpolate: False
|
|
sense_resistor: 0.110
|
|
run_current: 0.80
|
|
stealthchop_threshold: 999999
|
|
|
|
[tmc2208 stepper_z1] #z1
|
|
uart_pin: P1.1
|
|
interpolate: False
|
|
sense_resistor: 0.110
|
|
run_current: 0.80
|
|
stealthchop_threshold: 999999
|
|
|
|
[tmc2208 extruder]
|
|
uart_pin: P1.4
|
|
run_current: 0.80
|
|
interpolate: False
|
|
stealthchop_threshold: 999999
|
|
|
|
# -------------------------------------
|
|
# Steppers
|
|
# -------------------------------------
|
|
[stepper_x]
|
|
step_pin: P2.2
|
|
dir_pin: !P2.6
|
|
enable_pin: !P2.1
|
|
microsteps: 16
|
|
rotation_distance: 39.88
|
|
endstop_pin: P1.29
|
|
position_endstop: 360
|
|
position_min: 0
|
|
position_max: 360
|
|
homing_speed: 50
|
|
homing_retract_dist: 5
|
|
|
|
[stepper_y]
|
|
step_pin: P0.19
|
|
dir_pin: !P0.20
|
|
enable_pin: !P2.8
|
|
microsteps: 16
|
|
rotation_distance: 39.83
|
|
endstop_pin: P1.28
|
|
position_endstop: 360
|
|
position_min: 0
|
|
position_max: 360
|
|
homing_speed: 50
|
|
homing_retract_dist: 5
|
|
|
|
|
|
[stepper_z]
|
|
step_pin: P0.22
|
|
dir_pin: !P2.11 # Upewnij się co do '!' (próba ruchu i zmiana jeśli trzeba)
|
|
enable_pin: !P0.21 # Upewnij się co do '!' (próba ruchu i zmiana jeśli trzeba)
|
|
microsteps: 16
|
|
rotation_distance: 4
|
|
endstop_pin: probe:z_virtual_endstop
|
|
position_max: 400
|
|
position_min: -5
|
|
|
|
[stepper_z1]
|
|
step_pin: P1.15
|
|
dir_pin: !P1.14 # Upewnij się co do '!'
|
|
enable_pin: !P1.16 # Upewnij się co do '!'
|
|
microsteps: 16
|
|
rotation_distance: 4
|
|
endstop_pin: probe:z_virtual_endstop # Tak, również dla tego silnika BLTouch jest referencją
|
|
# Brak position_max i position_min - to jest poprawne dla dodatkowych silników
|
|
|
|
|
|
|
|
#-------------------------------------
|
|
# Macros
|
|
#-------------------------------------
|
|
|
|
[gcode_macro START_PRINT]
|
|
gcode:
|
|
G28
|
|
Z_TILT_ADJUST ; Wykonaj regulację Z-Tilt
|
|
BED_MESH_PROFILE LOAD=default ; Załaduj domyślny profil siatki stołu
|
|
|
|
G92 E0 ; Zresetuj ekstruder
|
|
|
|
G1 Z2.0 F3000 ; Podnieś głowicę na wysokość 2 mm
|
|
|
|
|
|
|
|
[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 : 1 ; 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 : False ; allow to move the toolhead to park while execute CANCEL_PRINT [True,False]
|
|
## !!! Caution [firmware_retraction] must be defined in the printer.cfg if you set use_fw_retract: True !!!
|
|
#variable_use_fw_retract : False ; use fw_retraction instead of the manual version [True/False]
|
|
gcode:
|
|
|
|
[gcode_macro BEEP_ALERT]
|
|
gcode:
|
|
M300 S200 P200
|
|
M300 S200 P200
|
|
M300 S200 P200
|
|
|
|
[gcode_macro BEEP_READY]
|
|
gcode:
|
|
M300 S500 P50
|
|
M300 S600 P50
|
|
M300 S700 P50
|
|
|
|
[gcode_macro BEEP_CONFIRM]
|
|
gcode:
|
|
M300 S1000 P100
|
|
M300 S1200 P100
|
|
M300 S1400 P100
|
|
|
|
[gcode_macro G29]
|
|
gcode:
|
|
G28
|
|
M190 S60
|
|
BED_MESH_CALIBRATE
|
|
BED_MESH_PROFILE SAVE=default
|
|
# G1 X0 Y0 Z5 F4000
|
|
M140 S0
|
|
|
|
|
|
#####################################################################
|
|
# Filament Load/Unload Macros (Ender 5 Plus) - English Version
|
|
#####################################################################
|
|
|
|
[gcode_macro UNLOAD_FILAMENT]
|
|
gcode:
|
|
# Set default temperature for PLA if not provided
|
|
{% set TEMP = params.TEMP|default(210)|float %}
|
|
|
|
# Save G-Code state
|
|
SAVE_GCODE_STATE NAME=UNLOAD_state
|
|
|
|
M117 Heating nozzle...
|
|
# Heat nozzle to target temp and wait
|
|
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={TEMP}
|
|
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={TEMP}
|
|
|
|
M117 Unloading filament...
|
|
# Set extruder to relative mode
|
|
M83
|
|
|
|
# Small retraction to form a tip
|
|
G1 E-5 F1800
|
|
# Fast, long retraction from the Bowden tube
|
|
# Adjust E-680 if your tube length is different
|
|
G1 E-680 F3000
|
|
|
|
M117 Remove filament!
|
|
|
|
# Restore previous G-Code state
|
|
RESTORE_GCODE_STATE NAME=UNLOAD_state
|
|
|
|
[gcode_macro LOAD_FILAMENT]
|
|
gcode:
|
|
# Set default temperature for PLA if not provided
|
|
{% set TEMP = params.TEMP|default(210)|float %}
|
|
|
|
# Save G-Code state
|
|
SAVE_GCODE_STATE NAME=LOAD_state
|
|
|
|
M117 Heating nozzle...
|
|
# Heat nozzle to target temp and wait
|
|
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={TEMP}
|
|
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={TEMP}
|
|
|
|
M117 Insert filament into extruder.
|
|
# Set extruder to relative mode
|
|
M83
|
|
|
|
# Slow load through the Bowden tube
|
|
# Adjust E650 if your tube length is different
|
|
M117 Loading filament...
|
|
G1 E650 F400
|
|
|
|
# Final purge to clean the nozzle
|
|
M117 Purging nozzle...
|
|
G1 E40 F150
|
|
|
|
M117 Filament loaded.
|
|
|
|
# Restore previous G-Code state
|
|
RESTORE_GCODE_STATE NAME=LOAD_state
|
|
|
|
|
|
[gcode_macro CANCEL_PRINT]
|
|
description: Safely cancels the current print, parks the print head, and turns off heaters/motors.
|
|
gcode:
|
|
M117 Cancelling print...
|
|
TURN_OFF_HEATERS
|
|
M106 S0 ; Wyłącz wentylator hotendu
|
|
M107 ; Wyłącz wentylator druku
|
|
|
|
{% if printer.gcode_move.absolute_coordinates %} ; Sprawdź, czy tryb bezwzględny jest aktywny
|
|
G91 ; Ustaw tryb względny
|
|
{% endif %}
|
|
|
|
G0 Z10 F3000 ; Podnieś głowicę o 10mm (lub więcej, jeśli potrzebujesz)
|
|
G90 ; Ustaw tryb bezwzględny
|
|
G0 X5 Y5 F6000 ; Zaparkuj głowicę w bezpiecznym miejscu (np. lewy dolny róg)
|
|
|
|
M84 ; Wyłącz wszystkie silniki krokowe
|
|
M117 Print cancelled!
|
|
CLEAR_PAUSE ; Wyczyść stan pauzy, jeśli druk był wstrzymany
|
|
|
|
[gcode_macro END_PRINT]
|
|
description: Wykonywane po pomyślnym ukończeniu druku.
|
|
gcode:
|
|
# Zapisz ostatnią pozycję
|
|
G90
|
|
|
|
# Podnieś głowicę, aby nie zahaczyła o wydruk
|
|
G91
|
|
G1 Z10 F3000
|
|
G90
|
|
|
|
# Zaparkuj głowicę w tylnym prawym rogu, aby odsłonić wydruk
|
|
M117 Parkowanie...
|
|
G0 X300 Y300 F6000
|
|
|
|
# Wyłącz grzałki i wentylator
|
|
M104 S0
|
|
M140 S0
|
|
M107
|
|
|
|
# Wyłącz silniki krokowe
|
|
M84
|
|
|
|
M117 Druk ukonczony!
|
|
|
|
|
|
[gcode_macro PAUSE]
|
|
description: Pause the actual running print
|
|
rename_existing: PAUSE_BASE
|
|
variable_extrude: 1.0
|
|
gcode:
|
|
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
|
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
|
|
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
|
|
{% 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 %}
|
|
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:
|
|
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
|
{% if 'VELOCITY' in params|upper %}
|
|
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
|
|
{%else %}
|
|
{% set get_params = "" %}
|
|
{% endif %}
|
|
{% 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}
|
|
|
|
|
|
|
|
[gcode_macro load_mesh]
|
|
gcode:
|
|
BED_MESH_PROFILE load=default
|
|
|
|
[gcode_macro M300]
|
|
gcode:
|
|
# Use a default 1kHz tone if S is omitted.
|
|
{% set S = params.S|default(1000)|int %}
|
|
# Use a 10ms duration is P is omitted.
|
|
{% set P = params.P|default(100)|int %}
|
|
SET_PIN PIN=BEEPER_pin VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 }
|
|
G4 P{P}
|
|
SET_PIN PIN=BEEPER_pin VALUE=0
|
|
|
|
|
|
|
|
|
|
|
|
#-------------------------------------
|
|
# Printer Save Config
|
|
#-------------------------------------
|
|
|
|
#*# <---------------------- SAVE_CONFIG ---------------------->
|
|
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
|
#*#
|
|
#*# [extruder]
|
|
#*# control = pid
|
|
#*# pid_kp = 28.979
|
|
#*# pid_ki = 1.558
|
|
#*# pid_kd = 134.755
|
|
#*#
|
|
#*# [heater_bed]
|
|
#*# control = pid
|
|
#*# pid_kp = 61.999
|
|
#*# pid_ki = 0.771
|
|
#*# pid_kd = 1246.178
|
|
#*#
|
|
#*# [bltouch]
|
|
#*# z_offset = 1.532
|
|
#*#
|
|
#*# [bed_mesh default]
|
|
#*# version = 1
|
|
#*# points =
|
|
#*# 0.260937, 0.331250, 0.293750, 0.339375, 0.309062
|
|
#*# 0.272812, 0.325312, 0.237187, 0.263750, 0.274062
|
|
#*# 0.260625, 0.322187, 0.228437, 0.263750, 0.255000
|
|
#*# 0.238437, 0.295312, 0.228437, 0.263750, 0.242187
|
|
#*# 0.234062, 0.338125, 0.334375, 0.365625, 0.314687
|
|
#*# x_count = 5
|
|
#*# y_count = 5
|
|
#*# mesh_x_pps = 2
|
|
#*# mesh_y_pps = 2
|
|
#*# algo = lagrange
|
|
#*# tension = 0.2
|
|
#*# min_x = 5.0
|
|
#*# max_x = 310.0
|
|
#*# min_y = 15.0
|
|
#*# max_y = 337.0
|
|
#*#
|
|
#*# [input_shaper]
|
|
#*# shaper_type_x = mzv
|
|
#*# shaper_freq_x = 70.6
|
|
#*# shaper_type_y = mzv
|
|
#*# shaper_freq_y = 57.0
|