Heater: setpoint ramping to suppress thermal-lag overshoot

This commit is contained in:
2026-10-10 13:59:43 +08:00
parent 5b24b956d2
commit 12ba9de05f
11 changed files with 353 additions and 214 deletions
+3 -2
View File
@@ -152,9 +152,10 @@ void usart1_irq_handler(void);
#define HEATER_PWM_PERIOD_MS 1000U /* PWM 载波周期(1s,恒 1Hz 开关频率) */
#define HEATER_PWM_STEP_PCT 10U /* 占空比步进(每档脉宽 = 100ms) */
#define HEATER_PID_PERIOD_MS 500U /* PID 计算周期 */
#define HEATER_PID_KP 8.0f /* PID 参数:初值,需上板实测整定 */
#define HEATER_PID_KP 4.0f /* PID 参数:小 Kp 换取低过冲(接近目标时减速) */
#define HEATER_PID_KI 0.05f
#define HEATER_PID_KD 0.0f /* NTC 噪声对微分放大,先禁用 */
#define HEATER_PID_KD 30.0f /* 微分阻尼:按误差变化率提前刹车(抑制爬升惯性) */
#define HEATER_RAMP_CPS 0.8f /* 目标斜坡速率(℃/s):内部设定值缓升,抑制热滞后过冲 */
#define HEATER_OVERTEMP_C 150.0f /* 过温强制关断阈值(滞回保护) */
#define HEATER_OVERTEMP_HYST 5.0f /* 过温恢复滞回 */