From 0a0f4177a745582a85d01f0c1ed6cd642f4acef9 Mon Sep 17 00:00:00 2001 From: Kyle Brown Date: Sun, 9 Jul 2023 19:31:03 +0000 Subject: [PATCH] Kamp and updates --- .gitignore | 2 + KAMP_Settings.cfg | 36 +++++++++++ adxl.cfg | 70 ++++++++++++++++++++++ basic_macros.cfg | 127 +++++++++++++++++++++++++++++++++++---- extra_pins.cfg | 20 +++++++ fans.cfg | 25 +++++--- printer.cfg | 131 ++++++++++++----------------------------- purge_bucket.cfg | 2 +- shaper/adxl_shape_x.sh | 2 + shaper/adxl_shape_y.sh | 2 + steppers.cfg | 17 +++--- 11 files changed, 313 insertions(+), 121 deletions(-) create mode 100644 KAMP_Settings.cfg create mode 100644 adxl.cfg create mode 100644 extra_pins.cfg create mode 100755 shaper/adxl_shape_x.sh create mode 100755 shaper/adxl_shape_y.sh diff --git a/.gitignore b/.gitignore index 4853f24..124617f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ printer-*.cfg *.bkp *.swp *.backup +*.png +KAMP diff --git a/KAMP_Settings.cfg b/KAMP_Settings.cfg new file mode 100644 index 0000000..b63c05a --- /dev/null +++ b/KAMP_Settings.cfg @@ -0,0 +1,36 @@ +# Below you can include specific configuration files depending on what you want KAMP to do: + +[include ./KAMP/Adaptive_Meshing.cfg] # Include to enable adaptive meshing configuration. +# [include ./KAMP/Line_Purge.cfg] # Include to enable adaptive line purging configuration. +[include ./KAMP/Voron_Purge.cfg] # Include to enable adaptive Voron logo purging configuration. +# [include ./KAMP/Smart_Park.cfg] # Include to enable the Smart Park function, which parks the printhead near the print area for final heating. + +[gcode_macro _KAMP_Settings] +description: This macro contains all adjustable settings for KAMP + +# The following variables are settings for KAMP as a whole. +variable_verbose_enable: True # Set to True to enable KAMP information output when running. This is useful for debugging. + +# The following variables are for adjusting adaptive mesh settings for KAMP. +variable_mesh_margin: 0 # Expands the mesh size in millimeters if desired. Leave at 0 to disable. +variable_fuzz_amount: 0 # Slightly randomizes mesh points to spread out wear from nozzle-based probes. Leave at 0 to disable. + +# The following variables are for those with a dockable probe like Klicky, Euclid, etc. # ---------------- Attach Macro | Detach Macro +variable_probe_dock_enable: False # Set to True to enable the usage of a dockable probe. # --------------------------------------------- +variable_attach_macro: 'Attach_Probe' # The macro that is used to attach the probe. # Klicky Probe: 'Attach_Probe' | 'Dock_Probe' +variable_detach_macro: 'Dock_Probe' # The macro that is used to store the probe. # Euclid Probe: 'Deploy_Probe' | 'Stow_Probe' + # Legacy Gcode: 'M401' | 'M402' + +# The following variables are for adjusting adaptive purge settings for KAMP. +variable_purge_height: 0.8 # Z position of nozzle during purge, default is 0.8. +variable_tip_distance: 0 # Distance between tip of filament and nozzle before purge. Should be similar to PRINT_END final retract amount. +variable_purge_margin: 10 # Distance the purge will be in front of the print area, default is 10. +variable_purge_amount: 30 # Amount of filament to be purged prior to printing. +variable_flow_rate: 24 # Flow rate of purge in mm3/s. Default is 12. + +# The following variables are for adjusting the Smart Park feature for KAMP, which will park the printhead near the print area at a specified height. +variable_smart_park_height: 10 # Z position for Smart Park, default is 10. + +gcode: # Gcode section left intentionally blank. Do not disturb. + + {action_respond_info(" Running the KAMP_Settings macro does nothing, it is only used for storing KAMP settings. ")} diff --git a/adxl.cfg b/adxl.cfg new file mode 100644 index 0000000..378f5cb --- /dev/null +++ b/adxl.cfg @@ -0,0 +1,70 @@ +# These macros require the gcode_shell_command extension. +# https://github.com/th33xitus/kiauh/blob/master/docs/gcode_shell_command.md + +[respond] + +[mcu pico] +serial: /dev/serial/by-id/usb-Klipper_rp2040_E660583883417B39-if00 + +[adxl345] +spi_bus: spi0a +cs_pin: pico:gpio1 + +[resonance_tester] +accel_chip: adxl345 +probe_points: + 90,90,20 + +[gcode_macro LAZY_HOME] +gcode: + {% if printer.toolhead.homed_axes != "xyz" %} + M118 Homing axis + G28 + {% endif %} + +[gcode_macro ADXL_SHAPE_ALL] +description: Test resonances for both axis +gcode: + M118 DO NOT TOUCH THE PRINTER UNTIL DONE!!! + LAZY_HOME + SHAPER_CALIBRATE + RUN_SHELL_COMMAND CMD=adxl_shape_x + RUN_SHELL_COMMAND CMD=adxl_shape_y + M118 Test done + SAVE_CONFIG + +[gcode_macro ADXL_SHAPE_X] +description: Test resonances for X axis +gcode: + M118 DO NOT TOUCH THE PRINTER UNTIL DONE!!! + LAZY_HOME + SHAPER_CALIBRATE AXIS=x + RUN_SHELL_COMMAND CMD=adxl_shape_x + M118 Test done + SAVE_CONFIG + +[gcode_macro ADXL_SHAPE_Y] +description: Test resonances for Y axis +gcode: + M118 DO NOT TOUCH THE PRINTER UNTIL DONE!!! + LAZY_HOME + SHAPER_CALIBRATE AXIS=y + RUN_SHELL_COMMAND CMD=adxl_shape_y + M118 Test done + SAVE_CONFIG + +[gcode_shell_command adxl_shape_x] +command: sh /home/kdb424/printer_data/config/shaper/adxl_shape_x.sh # edit: ´~/printer_data/config/shaper/´ to where your .sh file lays +timeout: 60. +verbose: True + +[gcode_shell_command adxl_shape_y] +command: sh /home/kdb424/printer_data/config/shaper/adxl_shape_y.sh # edit: ´~/printer_data/config/shaper/´ to where your .sh file lays +timeout: 60. +verbose: True + +### name file: adxl_shape_x.sh +#~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_x_*.csv -o ~/printer_data/config/shaper_calibrate_x.png + +### name file: adxl_shape_y.sh +#~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_y_*.csv -o ~/printer_data/config/shaper_calibrate_y.png diff --git a/basic_macros.cfg b/basic_macros.cfg index ca7ffb2..c9760d1 100644 --- a/basic_macros.cfg +++ b/basic_macros.cfg @@ -6,7 +6,6 @@ gcode: {% set bedTemp = params.BED|int %} {% set chamberTemp = params.CHAMBER|default(0)|int %} - SET_PIN PIN=TOOLHEAD_LED VALUE=1.00 # Turn on toolhead light SET_HEATER_TEMPERATURE HEATER=extruder TARGET={hotendTemp|float*0.6} # Set extruder chamber warm temp SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bedTemp} # Set bed temp to warm while starting up SET_DOCKABLE_PROBE AUTO_ATTACH_DETACH=1 # Disable probe attach/detach @@ -28,8 +27,8 @@ gcode: G90 # Absolute positioning GO_TO_BUCKET # Move to park position M109 S{hotendTemp} # Set extruder to printing temperature - CLEAN_NOZZLE # Purge G1 X{90} F{500*60} # Avoid brush + VORON_PURGE # Purge M117 Printing... @@ -117,7 +116,7 @@ gcode: BED_MESH_CLEAR GO_TO_BUCKET RESTORE_GCODE_STATE NAME=STATE_PRINT_END - SET_PIN PIN=TOOLHEAD_LED VALUE=0.00 ; Turn off toolhead light + TOOLHEAD_LIGHTS_OFF [gcode_macro CANCEL_PRINT] rename_existing: BASE_CANCEL_PRINT @@ -132,21 +131,25 @@ gcode: rename_existing: BASE_PAUSE gcode: #Edit this# - #{% set bound = params.BOUND|default(5)|int %} - #{% set X = printer.toolhead.axis_minimum.x + bound %} - #{% set Y = printer.toolhead.axis_maximum.y - bound %} - #{% set Z = bound %} + {% set Z = 2 %} ########### SAVE_GCODE_STATE NAME=PAUSE_state - G1 E-1.7 F2100 - PARK BASE_PAUSE + G91 + SAFE_RETRACT + G1 Z{Z} + GO_TO_BUCKET + G91 [gcode_macro RESUME] rename_existing: BASE_RESUME gcode: + #Edit this# + {% set Z = 10 %} + ########### + CLEAN_NOZZLE G91 - G1 E1.7 F2100 + G1 Z{Z} G91 RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 BASE_RESUME @@ -195,3 +198,107 @@ gcode: M118 Filament unload complete! M117 Filament unload complete! +[gcode_macro M109] +rename_existing: M99109 +gcode: + #Parameters + {% set s = params.S|float %} + + M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set hotend temp + {% if s != 0 %} + TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s} MAXIMUM={s+5} ; Wait for hotend temp (within 5 degrees) + {% endif %} + + +[gcode_macro TEST_SPEED] +gcode: + # Example: TEST_SPEED SPEED=300 ACCEL=5000 ITERATIONS=10 Z=10 + # Speed + {% set speed = params.SPEED|default(printer.configfile.settings.printer.max_velocity)|int %} + # Iterations + {% set iterations = params.ITERATIONS|default(1)|int %} + # Acceleration + {% set accel = params.ACCEL|default(printer.configfile.settings.printer.max_accel)|int %} + # Bounding inset for large pattern (helps prevent slamming the toolhead into the sides after small skips, and helps to account for machines with imperfectly set dimensions) + {% set bound = params.BOUND|default(30)|int %} + # Size for small pattern box + {% set smallpatternsize = SMALLPATTERNSIZE|default(20)|int %} + {% set z_pos = params.ZPOS|default(10)|int %} + + # Large pattern + # Max positions, inset by BOUND + {% set x_min = printer.toolhead.axis_minimum.x + bound %} + {% set x_max = printer.toolhead.axis_maximum.x - bound %} + {% set y_min = printer.toolhead.axis_minimum.y + bound %} + {% set y_max = printer.toolhead.axis_maximum.y - bound %} + + # Small pattern at center + # Find X/Y center point + {% set x_center = (printer.toolhead.axis_minimum.x|float + printer.toolhead.axis_maximum.x|float ) / 2 %} + {% set y_center = (printer.toolhead.axis_minimum.y|float + printer.toolhead.axis_maximum.y|float ) / 2 %} + + # Set small pattern box around center point + {% set x_center_min = x_center - (smallpatternsize/2) %} + {% set x_center_max = x_center + (smallpatternsize/2) %} + {% set y_center_min = y_center - (smallpatternsize/2) %} + {% set y_center_max = y_center + (smallpatternsize/2) %} + + # Home first + G28 + + # Save current gcode state (absolute/relative, etc) + SAVE_GCODE_STATE NAME=TEST_SPEED + + # Output parameters to g-code terminal + { action_respond_info("TEST_SPEED: starting %d iterations at speed %d, accel %d" % (iterations, speed, accel)) } + + # Absolute positioning + G90 + + # Set new limits + SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel} + + + # Go to starting position + G0 X{x_min} Y{y_min} Z{z_pos} F{speed*60} + + {% for i in range(iterations) %} + # Large pattern + # Diagonals + G0 X{x_min} Y{y_min} F{speed*60} + G0 X{x_max} Y{y_max} F{speed*60} + G0 X{x_min} Y{y_min} F{speed*60} + G0 X{x_max} Y{y_min} F{speed*60} + G0 X{x_min} Y{y_max} F{speed*60} + G0 X{x_max} Y{y_min} F{speed*60} + + # Box + G0 X{x_min} Y{y_min} F{speed*60} + G0 X{x_min} Y{y_max} F{speed*60} + G0 X{x_max} Y{y_max} F{speed*60} + G0 X{x_max} Y{y_min} F{speed*60} + + # Small pattern + # Small diagonals + G0 X{x_center_min} Y{y_center_min} F{speed*60} + G0 X{x_center_max} Y{y_center_max} F{speed*60} + G0 X{x_center_min} Y{y_center_min} F{speed*60} + G0 X{x_center_max} Y{y_center_min} F{speed*60} + G0 X{x_center_min} Y{y_center_max} F{speed*60} + G0 X{x_center_max} Y{y_center_min} F{speed*60} + + # Small box + {% for i in range(4) %} + G0 X{x_center_min} Y{y_center_min} F{speed*60} + G0 X{x_center_min} Y{y_center_max} F{speed*60} + G0 X{x_center_max} Y{y_center_max} F{speed*60} + G0 X{x_center_max} Y{y_center_min} F{speed*60} + {% endfor %} + {% endfor %} + + # Restore max speed/accel/accel_to_decel to their configured values + SET_VELOCITY_LIMIT VELOCITY={printer.configfile.settings.printer.max_velocity} ACCEL={printer.configfile.settings.printer.max_accel} ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel} + + # Restore previous gcode state (absolute/relative, etc) + RESTORE_GCODE_STATE NAME=TEST_SPEED + diff --git a/extra_pins.cfg b/extra_pins.cfg new file mode 100644 index 0000000..de1a03b --- /dev/null +++ b/extra_pins.cfg @@ -0,0 +1,20 @@ +######################################## +# EXP1 / EXP2 (display) pins +######################################## + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PE9, EXP1_2=PE10, + EXP1_3=PE11, EXP1_4=PE12, + EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side + EXP1_7=PE15, EXP1_8=PB10, + EXP1_9=, EXP1_10=<5V>, + + # EXP2 header + EXP2_1=PB14, EXP2_2=PB13, + EXP2_3=PF7, EXP2_4=PB12, + EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side + EXP2_7=PE8, EXP2_8=, + EXP2_9=, EXP2_10=PC5 + diff --git a/fans.cfg b/fans.cfg index f88dee1..3e157b6 100644 --- a/fans.cfg +++ b/fans.cfg @@ -18,7 +18,7 @@ kick_start_time: 0.5 heater: extruder heater_temp: 50.0 ## If you are experiencing back flow, you can reduce fan_speed -fan_speed: 0.6 +fan_speed: 0.8 [controller_fan mcu] ## Controller Fan - FAN4 @@ -26,15 +26,7 @@ pin: PE4 max_power: 0.5 kick_start_time: 0.5 stepper: stepper_x - -## If you are experiencing back flow, you can reduce fan_speed fan_speed: 0.6 -[output_pin TOOLHEAD_LED] -pin: PE5 -pwm: True -shutdown_value: 0 -hardware_pwm: True -cycle_time: 0.001 [temperature_sensor CB1] sensor_type: temperature_host @@ -57,3 +49,18 @@ sensor_type: Generic 3950 sensor_pin: PA2 # TH2 min_temp: 0 max_temp: 100 + +[output_pin TOOLHEAD_LED] +pin: PE5 +pwm: True +shutdown_value: 0 +hardware_pwm: True +cycle_time: 0.001 + +[gcode_macro TOOLHEAD_LIGHTS_ON] +gcode: + SET_PIN PIN=TOOLHEAD_LED VALUE=1.00 + +[gcode_macro TOOLHEAD_LIGHTS_OFF] +gcode: + SET_PIN PIN=TOOLHEAD_LED VALUE=0 diff --git a/printer.cfg b/printer.cfg index 9567d9a..d2ef266 100644 --- a/printer.cfg +++ b/printer.cfg @@ -7,49 +7,31 @@ ## THINGS TO CHANGE/CHECK: *** ## Fine tune E steps [extruder] section +#[include adxl.cfg] + [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_4700270009504B4633373520-if00 restart_method: command [printer] kinematics: corexy -max_velocity: 500 +max_velocity: 600 max_accel: 5000 -max_z_velocity: 15 -max_z_accel: 350 +max_z_velocity: 50 +max_z_accel: 500 square_corner_velocity: 8 [firmware_retraction] -retract_length: 0.4 -retract_speed: 50 -unretract_speed: 50 - -[include steppers.cfg] -[include fans.cfg] -[include basic_macros.cfg] -[include sensorless.cfg] -[include autoz.cfg] -[include calibration_macros.cfg] -[include purge_bucket.cfg] -[include force_move.cfg] -[include timelapse.cfg] -[include bedfans.cfg] +retract_length: 0.2 +retract_speed: 30 +unretract_speed: 30 [virtual_sdcard] path: ~/printer_data/gcodes -[display_status] -[pause_resume] -[exclude_object] - - [gcode_arcs] resolution: 0.1 -##################################################################### -# Bed Heater -##################################################################### - [heater_bed] heater_pin: PE1 sensor_type: Generic 3950 @@ -62,22 +44,12 @@ pid_kp: 55.331 pid_ki: 3.208 pid_kd: 238.614 - -# For 50% -#pid_kp: 31.756 -#pid_ki: 1.217 -#pid_kd: 207.207 - -##################################################################### -# Probe -##################################################################### - [dockable_probe] # Uses the TH3 port as we ran out of endstops pin: PA4 x_offset: 0 y_offset: 26.0 -z_offset: 3.6 +z_offset: 3.925 samples: 3 samples_result: median sample_retract_dist: 1.0 @@ -96,89 +68,62 @@ check_open_attach: True speed: 10.0 lift_speed: 10 -##################################################################### -# Homing and Gantry Adjustment Routines -##################################################################### - [idle_timeout] timeout: 1800 +gcode: + M84 + TURN_OFF_HEATERS + BEDFANSOFF + SET_PIN PIN=TOOLHEAD_LED VALUE=0.00 [quad_gantry_level] -# Gantry Corners for Micron+ Build -# Uncomment for Micron+ build gantry_corners: -60.2,-10.4 244.1,234.5 -# Probe points points: 3,2 3,120 160,120 160,2 -speed: 500 +speed: 300 horizontal_move_z: 15 retries: 5 retry_tolerance: 0.0075 max_adjust: 10 [bed_mesh] -speed: 400 +speed: 300 horizontal_move_z: 5 -mesh_min: 2,26 +mesh_min: 3,28 mesh_max: 170,156 zero_reference_position: 90, 90 probe_count: 3,3 mesh_pps: 2,2 algorithm: bicubic bicubic_tension: 0.2 +fade_end: 10 +[include steppers.cfg] +[include fans.cfg] +[include basic_macros.cfg] +[include sensorless.cfg] +[include calibration_macros.cfg] +[include purge_bucket.cfg] +[include force_move.cfg] +[include timelapse.cfg] +[include bedfans.cfg] +[include KAMP_Settings.cfg] +#[include runout.cfg] +#[include autoz.cfg] -######################################## -# EXP1 / EXP2 (display) pins -######################################## +[display_status] +[pause_resume] +[exclude_object] -[board_pins] -aliases: - # EXP1 header - EXP1_1=PE9, EXP1_2=PE10, - EXP1_3=PE11, EXP1_4=PE12, - EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side - EXP1_7=PE15, EXP1_8=PB10, - EXP1_9=, EXP1_10=<5V>, - - # EXP2 header - EXP2_1=PB14, EXP2_2=PB13, - EXP2_3=PF7, EXP2_4=PB12, - EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side - EXP2_7=PE8, EXP2_8=, - EXP2_9=, EXP2_10=PC5 - -#[z_thermal_adjust] -#temp_coeff: #23.4 μm/m·°C for Misumi A6N01SS-T5 6005A-T5 aluminum alloy -# The temperature coefficient of expansion, in mm/degC. For example, a -# temp_coeff of 0.01 mm/degC will move the Z axis downwards by 0.01 mm for -# every degree Celsius that the temperature sensor increases. Defaults to -# 0.0 mm/degC, which applies no adjustment. -#smooth_time: -# Smoothing window applied to the temperature sensor, in seconds. Can reduce -# motor noise from excessive small corrections in response to sensor noise. -# The default is 2.0 seconds. -#z_adjust_off_above: -# Disables adjustments above this Z height [mm]. The last computed correction -# will remain applied until the toolhead moves below the specified Z height -# again. The default is 99999999.0 mm (always on). -#max_z_adjustment: -# Maximum absolute adjustment that can be applied to the Z axis [mm]. The -# default is 99999999.0 mm (unlimited). -#sensor_type: -#sensor_pin: -#min_temp: -#max_temp: -# Temperature sensor configuration. -# See the "extruder" section for the definition of the above -# parameters. -#gcode_id: -# See the "heater_generic" section for the definition of this -# parameter. +[input_shaper] +shaper_type_x = mzv +shaper_freq_x = 63.6 +shaper_type_y = mzv +shaper_freq_y = 59.4 diff --git a/purge_bucket.cfg b/purge_bucket.cfg index 213c2d2..0ebb4b2 100644 --- a/purge_bucket.cfg +++ b/purge_bucket.cfg @@ -6,7 +6,7 @@ variable_location_bucket_rear: False # If you want the purging routine in your bucket enabled, set to True (and vice versa). -variable_enable_purge: True +variable_enable_purge: False # These parameters define your filament purging. The retract variable is used to retract right after purging to prevent unnecessary # oozing. Some filament are particularly oozy and may continue to ooze out of the nozzle for a second or two after retracting. The diff --git a/shaper/adxl_shape_x.sh b/shaper/adxl_shape_x.sh new file mode 100755 index 0000000..ebaa412 --- /dev/null +++ b/shaper/adxl_shape_x.sh @@ -0,0 +1,2 @@ +#!/bin/bash +python3 ~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_x_*.csv -o ~/printer_data/config/shaper/shaper_calibrate_x.png \ No newline at end of file diff --git a/shaper/adxl_shape_y.sh b/shaper/adxl_shape_y.sh new file mode 100755 index 0000000..d412d4f --- /dev/null +++ b/shaper/adxl_shape_y.sh @@ -0,0 +1,2 @@ +#!/bin/bash +python3 ~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_y_*.csv -o ~/printer_data/config/shaper/shaper_calibrate_y.png \ No newline at end of file diff --git a/steppers.cfg b/steppers.cfg index 43aaa21..2586014 100644 --- a/steppers.cfg +++ b/steppers.cfg @@ -22,10 +22,10 @@ homing_retract_dist: 0 # Must set 0 for sensorless [tmc2209 stepper_x] uart_pin: PD0 interpolate: false -run_current: 0.9 +run_current: 1.0 diag_pin: ^PC1 -driver_SGTHRS: 110 # 255 is most sensitive value, 0 is least sensitive +driver_SGTHRS: 120 # 255 is most sensitive value, 0 is least sensitive ## A Stepper - Right ## Connected to MOTOR_6 @@ -47,10 +47,10 @@ homing_retract_dist: 0 # Must set 0 for sensorless [tmc2209 stepper_y] uart_pin: PF8 interpolate: false -run_current: 0.9 +run_current: 1.0 diag_pin: ^PC2 -driver_SGTHRS: 125 # 255 is most sensitive value, 0 is least sensitive +driver_SGTHRS: 110 # 255 is most sensitive value, 0 is least sensitive ##################################################################### @@ -67,7 +67,7 @@ rotation_distance: 32 gear_ratio: 60:16 microsteps: 32 endstop_pin: PC13 -position_endstop: 0.625 +position_endstop: 0.835 position_max: 155 position_min: -5 homing_speed: 8 @@ -152,13 +152,14 @@ heater_pin: PE3 sensor_type: PT1000 pullup_resistor: 2200 sensor_pin: PA1 -min_temp: 10 +min_temp: 0 max_temp: 350 max_power: 1.0 min_extrude_temp: 170 max_extrude_only_distance: 100.0 +max_extrude_cross_section: 100.0 pressure_advance: 0.015 -smooth_time: 0.01 +smooth_time: 0.02 control = pid pid_kp = 19.409 pid_ki = 0.764 @@ -168,5 +169,5 @@ pid_kd = 123.734 [tmc2209 extruder] uart_pin: PD14 interpolate: false -run_current: 0.35 +run_current: 0.3