瀏覽代碼

Separate the maximum integral power for the bed from PID_INTEGRAL_DRIVE_MAX / PID_MAX.

My PID_INTEGRAL_DRIVE_MAX was at 96, which was insufficient for my bed
to reach its intended temperature. The head requires a low maximum power since
I run on 24 volts and it has a somewhat low thermal mass.
Jonathan Bastien-Filiatrault 10 年之前
父節點
當前提交
e86f2342c0
共有 2 個文件被更改,包括 4 次插入2 次删除
  1. 2
    0
      Marlin/Configuration.h
  2. 2
    2
      Marlin/temperature.cpp

+ 2
- 0
Marlin/Configuration.h 查看文件

243
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
243
 //#define PID_BED_DEBUG // Sends debug data to the serial port.
244
 
244
 
245
 #ifdef PIDTEMPBED
245
 #ifdef PIDTEMPBED
246
+    #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
247
+
246
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
248
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
247
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
249
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
248
     #define  DEFAULT_bedKp 10.00
250
     #define  DEFAULT_bedKp 10.00

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

361
     }
361
     }
362
   #endif
362
   #endif
363
   #ifdef PIDTEMPBED
363
   #ifdef PIDTEMPBED
364
-    temp_iState_max_bed = PID_INTEGRAL_DRIVE_MAX / bedKi;
364
+    temp_iState_max_bed = PID_BED_INTEGRAL_DRIVE_MAX / bedKi;
365
   #endif
365
   #endif
366
 }
366
 }
367
 
367
 
844
     #endif //PIDTEMP
844
     #endif //PIDTEMP
845
     #ifdef PIDTEMPBED
845
     #ifdef PIDTEMPBED
846
       temp_iState_min_bed = 0.0;
846
       temp_iState_min_bed = 0.0;
847
-      temp_iState_max_bed = PID_INTEGRAL_DRIVE_MAX / bedKi;
847
+      temp_iState_max_bed = PID_BED_INTEGRAL_DRIVE_MAX / bedKi;
848
     #endif //PIDTEMPBED
848
     #endif //PIDTEMPBED
849
   }
849
   }
850
 
850
 

Loading…
取消
儲存