Browse Source

Chamber Fan mode 3 (#21594)

Giuliano Zaro 4 years ago
parent
commit
7f56538602
No account linked to committer's email address
2 changed files with 6 additions and 1 deletions
  1. 4
    1
      Marlin/Configuration_adv.h
  2. 2
    0
      Marlin/src/module/temperature.cpp

+ 4
- 1
Marlin/Configuration_adv.h View File

@@ -163,7 +163,7 @@
163 163
 
164 164
   //#define CHAMBER_FAN               // Enable a fan on the chamber
165 165
   #if ENABLED(CHAMBER_FAN)
166
-    #define CHAMBER_FAN_MODE 2        // Fan control mode: 0=Static; 1=Linear increase when temp is higher than target; 2=V-shaped curve.
166
+    #define CHAMBER_FAN_MODE 2        // Fan control mode: 0=Static; 1=Linear increase when temp is higher than target; 2=V-shaped curve; 3=similar to 1 but fan is always on.
167 167
     #if CHAMBER_FAN_MODE == 0
168 168
       #define CHAMBER_FAN_BASE  255   // Chamber fan PWM (0-255)
169 169
     #elif CHAMBER_FAN_MODE == 1
@@ -172,6 +172,9 @@
172 172
     #elif CHAMBER_FAN_MODE == 2
173 173
       #define CHAMBER_FAN_BASE  128   // Minimum chamber fan PWM (0-255)
174 174
       #define CHAMBER_FAN_FACTOR 25   // PWM increase per °C difference from target
175
+    #elif CHAMBER_FAN_MODE == 3
176
+      #define CHAMBER_FAN_BASE  128   // Base chamber fan PWM (0-255)
177
+      #define CHAMBER_FAN_FACTOR 25   // PWM increase per °C above target
175 178
     #endif
176 179
   #endif
177 180
 

+ 2
- 0
Marlin/src/module/temperature.cpp View File

@@ -1406,6 +1406,8 @@ void Temperature::manage_heater() {
1406 1406
             fan_chamber_pwm = (CHAMBER_FAN_BASE) + (CHAMBER_FAN_FACTOR) * ABS(temp_chamber.celsius - temp_chamber.target);
1407 1407
             if (temp_chamber.soft_pwm_amount)
1408 1408
               fan_chamber_pwm += (CHAMBER_FAN_FACTOR) * 2;
1409
+          #elif CHAMBER_FAN_MODE == 3
1410
+            fan_chamber_pwm = CHAMBER_FAN_BASE + _MAX((CHAMBER_FAN_FACTOR) * (temp_chamber.celsius - temp_chamber.target), 0);
1409 1411
           #endif
1410 1412
           NOMORE(fan_chamber_pwm, 225);
1411 1413
           set_fan_speed(2, fan_chamber_pwm); // TODO: instead of fan 2, set to chamber fan

Loading…
Cancel
Save