From 248a4e48a0adb1c442199817f7b04ffdc9c66842 Mon Sep 17 00:00:00 2001 From: zkk <1007518571@qq.com> Date: Fri, 18 Apr 2025 08:47:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=85=B3=E4=BA=8E=E6=B8=A9?= =?UTF-8?q?=E5=BA=A6=E7=9A=84=E6=8A=A5=E8=AD=A6=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit f4afd87318f42e53fa235bc1b3062ceda9d5d8a7) --- config/CreatBot_D1000/base.cfg | 20 ++++++++++++-------- config/CreatBot_D1000_V0/base.cfg | 20 ++++++++++++-------- config/CreatBot_D600Pro2/base.cfg | 20 ++++++++++++-------- config/CreatBot_D600Pro2_V0/base.cfg | 20 ++++++++++++-------- config/CreatBot_F430NX/base.cfg | 16 ++++++++++------ klippy/extras/heaters.py | 3 ++- klippy/extras/temperature_mcu.py | 2 +- klippy/extras/temperature_sensor.py | 3 ++- 8 files changed, 63 insertions(+), 41 deletions(-) diff --git a/config/CreatBot_D1000/base.cfg b/config/CreatBot_D1000/base.cfg index e76b6d622..fd484bd77 100644 --- a/config/CreatBot_D1000/base.cfg +++ b/config/CreatBot_D1000/base.cfg @@ -115,8 +115,9 @@ heater_pin: PD12 sensor_type: Generic 3950 sensor_pin: PC0 max_power: 1.0 -min_temp: 0 -max_temp: 130 +min_temp: -20 +max_temp: 100 +overshoot: 10 # control: pid # pid_kp: 17.22 # pid_ki: 0.9 @@ -133,8 +134,9 @@ heater_pin:PD15 max_power:1.0 sensor_type: Generic 3950 sensor_pin:PC3 -min_temp: 0 -max_temp: 70 +min_temp: -20 +max_temp: 60 +overshoot: 10 pwm_cycle_time: 0.3 # control: pid # pid_kp: 30.68 @@ -252,8 +254,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: tool:PC6 max_power: 1.0 -min_temp: 0 -max_temp: 435 +min_temp: -20 +max_temp: 420 +overshoot: 20 min_extrude_temp: 180 pressure_advance: 0.03 pressure_advance_smooth_time:0.040 @@ -301,8 +304,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: tool:PC7 max_power: 1.0 -min_temp: 0 -max_temp: 435 +min_temp: -20 +max_temp: 420 +overshoot: 20 min_extrude_temp: 180 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 diff --git a/config/CreatBot_D1000_V0/base.cfg b/config/CreatBot_D1000_V0/base.cfg index b6fbd55c7..c4cc6c246 100644 --- a/config/CreatBot_D1000_V0/base.cfg +++ b/config/CreatBot_D1000_V0/base.cfg @@ -112,8 +112,9 @@ heater_pin: PD12 sensor_type: Generic 3950 sensor_pin: PC0 max_power: 1.0 -min_temp: 0 -max_temp: 130 +min_temp: -20 +max_temp: 100 +overshoot: 10 # control: pid # pid_kp: 17.22 # pid_ki: 0.9 @@ -130,8 +131,9 @@ heater_pin:PD15 max_power:1.0 sensor_type: Generic 3950 sensor_pin:PC3 -min_temp: 0 -max_temp: 70 +min_temp: -20 +max_temp: 60 +overshoot: 10 pwm_cycle_time: 0.3 # control: pid # pid_kp: 30.68 @@ -205,8 +207,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: PD13 max_power: 1.0 -min_temp: 0 -max_temp: 435 +min_temp: -1 +max_temp: 420 +overshoot: 20 min_extrude_temp: 180 pressure_advance: 0.03 pressure_advance_smooth_time:0.040 @@ -242,8 +245,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: PD14 max_power: 1.0 -min_temp: 0 -max_temp: 435 +min_temp: -1 +max_temp: 420 +overshoot: 20 min_extrude_temp: 180 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 diff --git a/config/CreatBot_D600Pro2/base.cfg b/config/CreatBot_D600Pro2/base.cfg index d4b73d583..67bb94c38 100644 --- a/config/CreatBot_D600Pro2/base.cfg +++ b/config/CreatBot_D600Pro2/base.cfg @@ -115,8 +115,9 @@ heater_pin: PD12 sensor_type: Generic 3950 sensor_pin: PC0 max_power: 1.0 -min_temp: 0 -max_temp: 130 +min_temp: -20 +max_temp: 100 +overshoot: 10 # control: pid # pid_kp: 59.368 # pid_ki: 1.656 @@ -133,8 +134,9 @@ heater_pin:PD15 max_power:1.0 sensor_type: Generic 3950 sensor_pin:PC3 -min_temp: 0 -max_temp: 80 +min_temp: -20 +max_temp: 70 +overshoot: 10 pwm_cycle_time: 0.3 # control: pid # pid_kp: 30.68 @@ -252,8 +254,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: tool:PC6 max_power: 1.0 -min_temp: 0 -max_temp: 435 +min_temp: -20 +max_temp: 420 +overshoot: 20 min_extrude_temp: 180 pressure_advance: 0.03 pressure_advance_smooth_time:0.040 @@ -301,8 +304,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: tool:PC7 max_power: 1.0 -min_temp: 0 -max_temp: 435 +min_temp: -20 +max_temp: 420 +overshoot: 20 min_extrude_temp: 180 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 diff --git a/config/CreatBot_D600Pro2_V0/base.cfg b/config/CreatBot_D600Pro2_V0/base.cfg index 44de91a46..c25d697df 100644 --- a/config/CreatBot_D600Pro2_V0/base.cfg +++ b/config/CreatBot_D600Pro2_V0/base.cfg @@ -112,8 +112,9 @@ heater_pin: PD12 sensor_type: Generic 3950 sensor_pin: PC0 max_power: 1.0 -min_temp: 0 -max_temp: 130 +min_temp: -20 +max_temp: 100 +overshoot: 10 # control: pid # pid_kp: 59.368 # pid_ki: 1.656 @@ -130,8 +131,9 @@ heater_pin:PD15 max_power:1.0 sensor_type: Generic 3950 sensor_pin:PC3 -min_temp: 0 -max_temp: 80 +min_temp: -20 +max_temp: 70 +overshoot: 10 pwm_cycle_time: 0.3 # control: pid # pid_kp: 30.68 @@ -206,8 +208,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: PD13 max_power: 1.0 -min_temp: 0 -max_temp: 435 +min_temp: -1 +max_temp: 420 +overshoot: 20 min_extrude_temp: 180 pressure_advance: 0.03 pressure_advance_smooth_time:0.040 @@ -243,8 +246,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: PD14 max_power: 1.0 -min_temp: 0 -max_temp: 435 +min_temp: -1 +max_temp: 420 +overshoot: 20 min_extrude_temp: 180 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 diff --git a/config/CreatBot_F430NX/base.cfg b/config/CreatBot_F430NX/base.cfg index 3a2a22fe9..748974f22 100644 --- a/config/CreatBot_F430NX/base.cfg +++ b/config/CreatBot_F430NX/base.cfg @@ -153,8 +153,9 @@ heater_pin: PD12 sensor_type: Generic 3950 sensor_pin: PC0 max_power: 1.0 -min_temp: 0 -max_temp: 150 +min_temp: -20 +max_temp: 140 +overshoot: 10 # control: pid # pid_kp: 40.673 # pid_ki: 0.837 @@ -171,8 +172,9 @@ heater_pin: PD15 max_power: 1.0 sensor_type: Generic 3950 sensor_pin: PC3 -min_temp: 0 -max_temp: 80 +min_temp: -20 +max_temp: 70 +overshoot: 10 # control: pid # pid_kp: 30.68 # pid_ki: 0.21 @@ -299,8 +301,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: L_tool:PA8 max_power: 1.0 -min_temp: 0 +min_temp: -20 max_temp: 450 +overshoot: 20 min_extrude_temp: 150 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 @@ -392,8 +395,9 @@ max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: R_tool:PA8 max_power: 1.0 -min_temp: 0 +min_temp: -20 max_temp: 450 +overshoot: 20 min_extrude_temp: 150 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 diff --git a/klippy/extras/heaters.py b/klippy/extras/heaters.py index b1e2d5583..720ce27f3 100644 --- a/klippy/extras/heaters.py +++ b/klippy/extras/heaters.py @@ -24,7 +24,8 @@ class Heater: self.sensor = sensor self.min_temp = config.getfloat('min_temp', minval=KELVIN_TO_CELSIUS) self.max_temp = config.getfloat('max_temp', above=self.min_temp) - self.sensor.setup_minmax(self.min_temp, self.max_temp) + self.overshoot = config.getfloat('overshoot', default=20., above=0.) + self.sensor.setup_minmax(self.min_temp, self.max_temp + self.overshoot) self.sensor.setup_callback(self.temperature_callback) self.pwm_delay = self.sensor.get_report_time_delta() # Setup temperature checks diff --git a/klippy/extras/temperature_mcu.py b/klippy/extras/temperature_mcu.py index 585ec4c1d..c6f9e1614 100644 --- a/klippy/extras/temperature_mcu.py +++ b/klippy/extras/temperature_mcu.py @@ -9,7 +9,7 @@ import mcu SAMPLE_TIME = 0.001 SAMPLE_COUNT = 8 REPORT_TIME = 0.300 -RANGE_CHECK_COUNT = 4 +RANGE_CHECK_COUNT = 8 class PrinterTemperatureMCU: def __init__(self, config): diff --git a/klippy/extras/temperature_sensor.py b/klippy/extras/temperature_sensor.py index 19733731e..0e33ccc63 100644 --- a/klippy/extras/temperature_sensor.py +++ b/klippy/extras/temperature_sensor.py @@ -16,7 +16,8 @@ class PrinterSensorGeneric: minval=KELVIN_TO_CELSIUS) self.max_temp = config.getfloat('max_temp', 99999999.9, above=self.min_temp) - self.sensor.setup_minmax(self.min_temp, self.max_temp) + self.overshoot = config.getfloat('overshoot', default=20., above=0.) + self.sensor.setup_minmax(self.min_temp, self.max_temp + self.overshoot) self.sensor.setup_callback(self.temperature_callback) pheaters.register_sensor(config, self) self.last_temp = 0.