Merge branch 'main' of tesserakt.pro:alex/arduino-filament-dryer
This commit is contained in:
@@ -33,11 +33,13 @@ static const float PID_KI = 0.05f;
|
||||
static const float PID_KD = 6.0f;
|
||||
|
||||
// Tiered heater cap — more power when cold, gentle near setpoint
|
||||
static const float HEATER_MAX_DUTY_COLD = 65.0f; // avg >10 °C below target
|
||||
static const float HEATER_MAX_DUTY_MID = 50.0f; // avg 3–10 °C below target
|
||||
static const float HEATER_MAX_DUTY_NEAR = 42.0f; // avg <3 °C below target
|
||||
static const float HEATER_MAX_DUTY_COLD = 85.0f; // avg >=10 °C below target
|
||||
static const float HEATER_MAX_DUTY_MID = 65.0f; // avg 3–10 °C below target
|
||||
static const float HEATER_MAX_DUTY_NEAR = 45.0f; // avg <3 °C below target
|
||||
static const float HEATER_COLD_BELOW_C = 10.0f;
|
||||
static const float HEATER_WARM_BELOW_C = 3.0f;
|
||||
// Below this band from target, only the hard cutoff limits max-corner (full heat-up)
|
||||
static const float CORNER_LIMIT_BAND_C = 10.0f;
|
||||
|
||||
// Ramp-up limit (% per second) — still caps sudden jumps
|
||||
static const float HEATER_SLEW_UP_PER_S = 18.0f;
|
||||
@@ -59,8 +61,10 @@ static const uint16_t HEATER_CYCLE_MS = 3000;
|
||||
static const uint8_t FAN_IDLE_PWM = 77; // ~30 % — optional override via "fan on"
|
||||
static const float IDLE_AUTO_FAN_OFF_TEMP_C = 40.0f; // idle: fans off when max corner below this
|
||||
static const uint8_t FAN_MIX_MIN_PWM = 70; // ~27 % — light mixing when spread rises
|
||||
static const uint8_t FAN_HEAT_MIN_PWM = 100; // ~39 % — floor while heating
|
||||
static const uint8_t FAN_HEAT_MIN_PWM = 100; // ~39 % — floor while heating (near setpoint)
|
||||
static const uint8_t FAN_HEAT_MAX_PWM = 140; // ~55 % — cap during heat-up
|
||||
static const float FAN_OFF_BELOW_TARGET_C = 8.0f; // no heat-up fan when avg this far below target
|
||||
static const float FAN_RAMP_BELOW_TARGET_C = 15.0f; // fan ramps in between this and FAN_OFF_BELOW
|
||||
static const uint8_t FAN_MIX_MAX_PWM = 200; // ~78 % — cap for spread-driven mixing
|
||||
static const uint8_t FAN_MAX_PWM = 255; // failsafe / over-temp only
|
||||
|
||||
@@ -73,8 +77,7 @@ static const float SPREAD_EMA_ALPHA = 0.45f;
|
||||
static const float AUTOTUNE_HYSTERESIS_C = 0.4f;
|
||||
static const float AUTOTUNE_PREHEAT_BAND_C = 5.0f;
|
||||
static const float AUTOTUNE_PREHEAT_DUTY = 100.0f;
|
||||
static const uint8_t AUTOTUNE_PREHEAT_FAN_PWM = 70; // light mixing only while preheating
|
||||
static const float AUTOTUNE_ABORT_ABOVE_C = 15.0f;
|
||||
static const uint8_t AUTOTUNE_PREHEAT_FAN_PWM = 70; // low fan for entire autotune
|
||||
static const uint8_t AUTOTUNE_CYCLES_REQUIRED = 6;
|
||||
static const uint32_t AUTOTUNE_PREHEAT_TIMEOUT_MS = 1200000UL; // 20 min
|
||||
static const uint32_t AUTOTUNE_SESSION_TIMEOUT_MS = 3600000UL; // 60 min total
|
||||
|
||||
Reference in New Issue
Block a user