瀏覽代碼

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

daid 11 年之前
父節點
當前提交
a504c88346
共有 1 個檔案被更改,包括 1 行新增2 行删除
  1. 1
    2
      Marlin/temperature.cpp

+ 1
- 2
Marlin/temperature.cpp 查看文件

@@ -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

Loading…
取消
儲存