Parcourir la source

Fix a bug where the PID controllers D action kicks in hard as soon as the PID controller starts.

daid il y a 11 ans
Parent
révision
a504c88346
1 fichiers modifiés avec 1 ajouts et 2 suppressions
  1. 1
    2
      Marlin/temperature.cpp

+ 1
- 2
Marlin/temperature.cpp Voir le fichier

@@ -436,10 +436,9 @@ void manage_heater()
436 436
           //K1 defined in Configuration.h in the PID settings
437 437
           #define K2 (1.0-K1)
438 438
           dTerm[e] = (Kd * (pid_input - temp_dState[e]))*K2 + (K1 * dTerm[e]);
439
-          temp_dState[e] = pid_input;
440
-
441 439
           pid_output = constrain(pTerm[e] + iTerm[e] - dTerm[e], 0, PID_MAX);
442 440
         }
441
+        temp_dState[e] = pid_input;
443 442
     #else 
444 443
           pid_output = constrain(target_temperature[e], 0, PID_MAX);
445 444
     #endif //PID_OPENLOOP

Chargement…
Annuler
Enregistrer