extruder: Allow dynamic adjustment of pressure advance (#6635)

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
This commit is contained in:
Dmitry Butyugin 2024-07-11 20:43:21 +02:00 committed by GitHub
parent 248d3dbf8b
commit c84d78f3f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 185 additions and 20 deletions

View file

@ -40,7 +40,7 @@ SET_VELOCITY_LIMIT ACCEL=100 VELOCITY=20 SQUARE_CORNER_VELOCITY=1 ACCEL_TO_DECEL
M204 S500
SET_PRESSURE_ADVANCE EXTRUDER=extruder ADVANCE=.001
SET_PRESSURE_ADVANCE ADVANCE=.002 ADVANCE_LOOKAHEAD_TIME=.001
SET_PRESSURE_ADVANCE ADVANCE=.002 SMOOTH_TIME=.001
# Restart command (must be last in test)
RESTART

View file

@ -0,0 +1,68 @@
# Config for extruder testing
[stepper_x]
step_pin: PF0
dir_pin: PF1
enable_pin: !PD7
microsteps: 16
rotation_distance: 40
endstop_pin: ^PE5
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_y]
step_pin: PF6
dir_pin: !PF7
enable_pin: !PF2
microsteps: 16
rotation_distance: 40
endstop_pin: ^PJ1
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_z]
step_pin: PL3
dir_pin: PL1
enable_pin: !PK0
microsteps: 16
rotation_distance: 8
endstop_pin: ^PD3
position_endstop: 0.5
position_max: 200
[extruder]
step_pin: PA4
dir_pin: PA6
enable_pin: !PA2
microsteps: 16
rotation_distance: 33.5
nozzle_diameter: 0.500
filament_diameter: 3.500
heater_pin: PB4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK5
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 210
[extruder_stepper my_extra_stepper]
extruder: extruder
step_pin: PH5
dir_pin: PH6
enable_pin: !PB5
microsteps: 16
rotation_distance: 28.2
[mcu]
serial: /dev/ttyACM0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

View file

@ -0,0 +1,38 @@
# Extruder tests
DICTIONARY atmega2560.dict
CONFIG pressure_advance.cfg
SET_PRESSURE_ADVANCE ADVANCE=0.1
# Home and extrusion moves
G28
G1 X20 Y20 Z1 F6000
G1 E7
G1 X25 Y25 E7.5
# Update pressure advance for my_extra_stepper
SET_PRESSURE_ADVANCE EXTRUDER=my_extra_stepper ADVANCE=0.02
G1 X30 Y30 E8.0
# Unsync my_extra_stepper from extruder
SYNC_EXTRUDER_MOTION EXTRUDER=my_extra_stepper MOTION_QUEUE=
# Update pressure advance for primary extruder
SET_PRESSURE_ADVANCE ADVANCE=0.01
G1 X35 Y35 E8.5
# Update pressure advance both extruders
SET_PRESSURE_ADVANCE EXTRUDER=my_extra_stepper ADVANCE=0.05
SET_PRESSURE_ADVANCE ADVANCE=0.05
# Sync my_extra_stepper to extruder
SYNC_EXTRUDER_MOTION EXTRUDER=my_extra_stepper MOTION_QUEUE=extruder
G1 X40 Y40 E9.0
# Update smooth_time
SET_PRESSURE_ADVANCE SMOOTH_TIME=0.02
SET_PRESSURE_ADVANCE EXTRUDER=my_extra_stepper SMOOTH_TIME=0.02
G1 X45 Y45 E9.5
# Updating both smooth_time and pressure advance
SET_PRESSURE_ADVANCE SMOOTH_TIME=0.03 ADVANCE=0.1
SET_PRESSURE_ADVANCE EXTRUDER=my_extra_stepper SMOOTH_TIME=0.03 ADVANCE=0.1
G1 X50 Y50 E10.0