From 4e800848205619ec63e9093d1b0dc93370d7bf99 Mon Sep 17 00:00:00 2001 From: Rafal Date: Mon, 16 Jun 2025 18:28:02 +0200 Subject: [PATCH] first commit --- printer.cfg | 550 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 550 insertions(+) create mode 100644 printer.cfg diff --git a/printer.cfg b/printer.cfg new file mode 100644 index 0000000..e665817 --- /dev/null +++ b/printer.cfg @@ -0,0 +1,550 @@ +#------------------------------------- +# 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: 260 +max_extrude_only_distance: 500 + +#------------------------------------- +# 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: 60 +max_accel: 300 +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.08 + +[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=, + 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=, + EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=, EXP2_10= + + +[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: P1.15 +# dir_pin: !P1.14 +# enable_pin: !P1.27 +# microsteps: 16 +# rotation_distance: 4 +# endstop_pin: probe:z_virtual_endstop +# position_max: 400 +# position_min: -5 + +# [stepper_z1] +# step_pin: P0.22 +# dir_pin: !P2.11 +# enable_pin: !P0.21 +# microsteps: 16 +# rotation_distance: 4 +# endstop_pin: probe:z_virtual_endstop + +[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: + {% set BED_TEMP = params.BED_TEMP|default(60)|float %} + {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(210)|float %} + G28 ; Homing wszystkich osi + + # Rozpocznij grzanie stołu i ekstrudera do zadanych temperatur + M140 S{BED_TEMP} ; Ustaw temperaturę stołu (bez czekania) + M104 S{EXTRUDER_TEMP} ; Ustaw temperaturę ekstrudera (bez czekania) + + # Poczekaj, aż stół osiągnie zadaną temperaturę + M190 S{BED_TEMP} + + # Poczekaj, aż ekstruder osiągnie zadaną temperaturę + M109 S{EXTRUDER_TEMP} + + + 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 + G1 X5.1 Y20 Z0.3 F5000.0 ; Przesuń głowicę do pozycji początkowej linii gruntującej + G1 X5.1 Y200.0 Z0.3 F1500.0 E15 ; Wytłocz pierwszą część linii gruntującej + G1 X5.4 Y200.0 Z0.3 F5000.0 ; Szybki ruch, aby odciągnąć dyszę od wytłoczonej linii + G1 X5.4 Y20 Z0.3 F1500.0 E30 ; Wytłocz drugą część linii gruntującej + G92 E0 ; Zresetuj ekstruder ponownie + G1 Z2.0 F3000 ; Podnieś głowicę ponownie + + + +[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 + +[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 CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: +# TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +[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 + + +[gcode_macro TESTZ] +description: Wykonuje 5-liniowy test do kalibracji offsetu Z +gcode: + {% set H_TEMP = 200 %} ; Temperatura hotendu w stopniach C + {% set B_TEMP = 60 %} ; Temperatura stołu w stopniach C + + M140 S{B_TEMP} ; Ustaw temperaturę stołu (bez czekania) + M104 S{H_TEMP} ; Ustaw temperaturę hotendu (bez czekania) + + G28 ; Homing wszystkich osi (X, Y, Z) + + M190 S{B_TEMP} ; Czekaj, aż stół osiągnie temperaturę + M109 S{H_TEMP} ; Czekaj, aż hotend osiągnie temperaturę + + G92 E0 ; Zeruj ekstruder + G1 Z0.2 F300 ; Podnieś dyszę na wysokość pierwszej warstwy (0.2mm) + G1 X10 Y10 F6000 ; Przesuń głowicę do pozycji startowej (X10, Y10) + + ; Linia 1 + G1 E2 F1800 ; Wytłocz trochę filamentu, żeby wypełnić dyszę + G1 X100 Y10 E10 F1200 ; Drukowanie linii (10-100 na X) + G92 E0 ; Zeruj ekstruder + G1 Z0.4 F300 ; Podnieś dyszę lekko w górę + + ; Linia 2 + G1 X10 Y20 F6000 ; Przesuń głowicę do startu drugiej linii + G1 X100 Y20 E10 F1200 ; Drukowanie linii (10-100 na X) + G92 E0 ; Zeruj ekstruder + G1 Z0.6 F300 ; Podnieś dyszę lekko w górę + + ; Linia 3 + G1 X10 Y30 F6000 ; Przesuń głowicę do startu trzeciej linii + G1 X100 Y30 E10 F1200 ; Drukowanie linii (10-100 na X) + G92 E0 ; Zeruj ekstruder + G1 Z0.8 F300 ; Podnieś dyszę lekko w górę + + ; Linia 4 + G1 X10 Y40 F6000 ; Przesuń głowicę do startu czwartej linii + G1 X100 Y40 E10 F1200 ; Drukowanie linii (10-100 na X) + G92 E0 ; Zeruj ekstruder + G1 Z1.0 F300 ; Podnieś dyszę lekko w górę + + ; Linia 5 + G1 X10 Y50 F6000 ; Przesuń głowicę do startu piątej linii + G1 X100 Y50 E10 F1200 ; Drukowanie linii (10-100 na X) + G92 E0 ; Zeruj ekstruder + + G1 Z10 F300 ; Podnieś dyszę znacznie + G1 X0 Y0 F6000 ; Przesuń głowicę do pozycji startowej + M104 S0 ; Wyłącz grzałkę hotendu + M140 S0 ; Wyłącz grzałkę stołu + M84 ; Wyłącz silniki + + +#------------------------------------- +# 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.640 +#*# +#*# [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