mirror of
https://github.com/MarlinFirmware/Configurations.git
synced 2025-07-07 23:17:38 -06:00
parent
3f6ab9eb03
commit
ca1416ea41
307 changed files with 13203 additions and 1228 deletions
|
@ -608,10 +608,12 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
#define PIDTEMP
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -633,7 +635,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -605,10 +605,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -631,7 +632,45 @@
|
||||||
#define DEFAULT_Ki 3.22
|
#define DEFAULT_Ki 3.22
|
||||||
#define DEFAULT_Kd 65.83
|
#define DEFAULT_Kd 65.83
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -659,10 +659,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -688,7 +689,45 @@
|
||||||
#define DEFAULT_Ki 1.00
|
#define DEFAULT_Ki 1.00
|
||||||
#define DEFAULT_Kd 74.22
|
#define DEFAULT_Kd 74.22
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -659,10 +659,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -688,7 +689,45 @@
|
||||||
#define DEFAULT_Ki 1.00
|
#define DEFAULT_Ki 1.00
|
||||||
#define DEFAULT_Kd 74.22
|
#define DEFAULT_Kd 74.22
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 0.69
|
#define DEFAULT_Ki 0.69
|
||||||
#define DEFAULT_Kd 34.32
|
#define DEFAULT_Kd 34.32
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.02
|
#define DEFAULT_Ki 1.02
|
||||||
#define DEFAULT_Kd 69.29
|
#define DEFAULT_Kd 69.29
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -605,10 +605,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -632,7 +633,45 @@
|
||||||
#define DEFAULT_Ki 1.25
|
#define DEFAULT_Ki 1.25
|
||||||
#define DEFAULT_Kd 86.00
|
#define DEFAULT_Kd 86.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -605,10 +605,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -632,7 +633,45 @@
|
||||||
#define DEFAULT_Ki 6.33
|
#define DEFAULT_Ki 6.33
|
||||||
#define DEFAULT_Kd 95.60
|
#define DEFAULT_Kd 95.60
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 2.47
|
#define DEFAULT_Ki 2.47
|
||||||
#define DEFAULT_Kd 93.27
|
#define DEFAULT_Kd 93.27
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -631,7 +632,45 @@
|
||||||
#define DEFAULT_Ki 1.25
|
#define DEFAULT_Ki 1.25
|
||||||
#define DEFAULT_Kd 86.00
|
#define DEFAULT_Kd 86.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -631,7 +632,45 @@
|
||||||
#define DEFAULT_Ki 1.25
|
#define DEFAULT_Ki 1.25
|
||||||
#define DEFAULT_Kd 86.00
|
#define DEFAULT_Kd 86.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -635,7 +636,45 @@
|
||||||
#define DEFAULT_Ki 1.38
|
#define DEFAULT_Ki 1.38
|
||||||
#define DEFAULT_Kd 62.92
|
#define DEFAULT_Kd 62.92
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -635,7 +636,45 @@
|
||||||
#define DEFAULT_Ki 1.38
|
#define DEFAULT_Ki 1.38
|
||||||
#define DEFAULT_Kd 62.92
|
#define DEFAULT_Kd 62.92
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -635,7 +636,45 @@
|
||||||
#define DEFAULT_Ki 1.38
|
#define DEFAULT_Ki 1.38
|
||||||
#define DEFAULT_Kd 62.92
|
#define DEFAULT_Kd 62.92
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -635,7 +636,45 @@
|
||||||
#define DEFAULT_Ki 1.38
|
#define DEFAULT_Ki 1.38
|
||||||
#define DEFAULT_Kd 62.92
|
#define DEFAULT_Kd 62.92
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 2.03
|
#define DEFAULT_Ki 2.03
|
||||||
#define DEFAULT_Kd 71.17
|
#define DEFAULT_Kd 71.17
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 2.03
|
#define DEFAULT_Ki 2.03
|
||||||
#define DEFAULT_Kd 71.17
|
#define DEFAULT_Kd 71.17
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 2.03
|
#define DEFAULT_Ki 2.03
|
||||||
#define DEFAULT_Kd 71.17
|
#define DEFAULT_Kd 71.17
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -608,10 +608,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -634,7 +635,45 @@
|
||||||
#define DEFAULT_Ki 0.86
|
#define DEFAULT_Ki 0.86
|
||||||
#define DEFAULT_Kd 60.97
|
#define DEFAULT_Kd 60.97
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -605,10 +605,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -631,7 +632,45 @@
|
||||||
#define DEFAULT_Ki 1.18
|
#define DEFAULT_Ki 1.18
|
||||||
#define DEFAULT_Kd 66.76
|
#define DEFAULT_Kd 66.76
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -605,10 +605,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -631,7 +632,45 @@
|
||||||
#define DEFAULT_Ki 1.18
|
#define DEFAULT_Ki 1.18
|
||||||
#define DEFAULT_Kd 66.76
|
#define DEFAULT_Kd 66.76
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.18
|
#define DEFAULT_Ki 1.18
|
||||||
#define DEFAULT_Kd 66.76
|
#define DEFAULT_Kd 66.76
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -625,10 +625,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -651,7 +652,45 @@
|
||||||
#define DEFAULT_Ki 1.17
|
#define DEFAULT_Ki 1.17
|
||||||
#define DEFAULT_Kd 54.19
|
#define DEFAULT_Kd 54.19
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 0.84
|
#define DEFAULT_Ki 0.84
|
||||||
#define DEFAULT_Kd 64.84
|
#define DEFAULT_Kd 64.84
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 2.57
|
#define DEFAULT_Ki 2.57
|
||||||
#define DEFAULT_Kd 53.37
|
#define DEFAULT_Kd 53.37
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.04
|
#define DEFAULT_Ki 1.04
|
||||||
#define DEFAULT_Kd 23.88
|
#define DEFAULT_Kd 23.88
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 0.57
|
#define DEFAULT_Ki 0.57
|
||||||
#define DEFAULT_Kd 37.76
|
#define DEFAULT_Kd 37.76
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 0.57
|
#define DEFAULT_Ki 0.57
|
||||||
#define DEFAULT_Kd 37.76
|
#define DEFAULT_Kd 37.76
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 0.97
|
#define DEFAULT_Ki 0.97
|
||||||
#define DEFAULT_Kd 59.78
|
#define DEFAULT_Kd 59.78
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -640,7 +641,45 @@
|
||||||
#define DEFAULT_Ki 5.69
|
#define DEFAULT_Ki 5.69
|
||||||
#define DEFAULT_Kd 56.64
|
#define DEFAULT_Kd 56.64
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.14
|
#define DEFAULT_Ki 1.14
|
||||||
#define DEFAULT_Kd 46.57
|
#define DEFAULT_Kd 46.57
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.14
|
#define DEFAULT_Ki 1.14
|
||||||
#define DEFAULT_Kd 46.57
|
#define DEFAULT_Kd 46.57
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.37
|
#define DEFAULT_Ki 1.37
|
||||||
#define DEFAULT_Kd 104.50
|
#define DEFAULT_Kd 104.50
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.37
|
#define DEFAULT_Ki 1.37
|
||||||
#define DEFAULT_Kd 104.50
|
#define DEFAULT_Kd 104.50
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -606,10 +606,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -632,7 +633,45 @@
|
||||||
#define DEFAULT_Ki 1.85
|
#define DEFAULT_Ki 1.85
|
||||||
#define DEFAULT_Kd 73.55
|
#define DEFAULT_Kd 73.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -606,10 +606,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -632,7 +633,45 @@
|
||||||
#define DEFAULT_Ki 1.85
|
#define DEFAULT_Ki 1.85
|
||||||
#define DEFAULT_Kd 73.55
|
#define DEFAULT_Kd 73.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 2.49
|
#define DEFAULT_Ki 2.49
|
||||||
#define DEFAULT_Kd 80.40
|
#define DEFAULT_Kd 80.40
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 0.55
|
#define DEFAULT_Ki 0.55
|
||||||
#define DEFAULT_Kd 46.14
|
#define DEFAULT_Kd 46.14
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 2.00
|
#define DEFAULT_Ki 2.00
|
||||||
#define DEFAULT_Kd 66.47
|
#define DEFAULT_Kd 66.47
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -612,10 +612,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -643,7 +644,45 @@
|
||||||
//#define DEFAULT_Ki 0.45
|
//#define DEFAULT_Ki 0.45
|
||||||
//#define DEFAULT_Kd 3.00
|
//#define DEFAULT_Kd 3.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.07
|
#define DEFAULT_Ki 1.07
|
||||||
#define DEFAULT_Kd 70.38
|
#define DEFAULT_Kd 70.38
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.00
|
#define DEFAULT_Ki 1.00
|
||||||
#define DEFAULT_Kd 98.93
|
#define DEFAULT_Kd 98.93
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -605,10 +605,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -641,7 +642,45 @@
|
||||||
//#define DEFAULT_Ki 1.0
|
//#define DEFAULT_Ki 1.0
|
||||||
//#define DEFAULT_Kd 100.0
|
//#define DEFAULT_Kd 100.0
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 16.53
|
#define DEFAULT_Ki 16.53
|
||||||
#define DEFAULT_Kd 113.58
|
#define DEFAULT_Kd 113.58
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 16.53
|
#define DEFAULT_Ki 16.53
|
||||||
#define DEFAULT_Kd 113.58
|
#define DEFAULT_Kd 113.58
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -613,10 +613,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -639,7 +640,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -613,10 +613,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -639,7 +640,45 @@
|
||||||
#define DEFAULT_Ki 1.72
|
#define DEFAULT_Ki 1.72
|
||||||
#define DEFAULT_Kd 73.96
|
#define DEFAULT_Kd 73.96
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 2.11
|
#define DEFAULT_Ki 2.11
|
||||||
#define DEFAULT_Kd 75.35
|
#define DEFAULT_Kd 75.35
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.59
|
#define DEFAULT_Ki 1.59
|
||||||
#define DEFAULT_Kd 68.97
|
#define DEFAULT_Kd 68.97
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -611,10 +611,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -637,7 +638,45 @@
|
||||||
#define DEFAULT_Ki 1.59
|
#define DEFAULT_Ki 1.59
|
||||||
#define DEFAULT_Kd 59.40
|
#define DEFAULT_Kd 59.40
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -611,10 +611,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -637,7 +638,45 @@
|
||||||
#define DEFAULT_Ki 1.59
|
#define DEFAULT_Ki 1.59
|
||||||
#define DEFAULT_Kd 59.40
|
#define DEFAULT_Kd 59.40
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.72
|
#define DEFAULT_Ki 1.72
|
||||||
#define DEFAULT_Kd 73.96
|
#define DEFAULT_Kd 73.96
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 3.46
|
#define DEFAULT_Ki 3.46
|
||||||
#define DEFAULT_Kd 92.02
|
#define DEFAULT_Kd 92.02
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 2.14
|
#define DEFAULT_Ki 2.14
|
||||||
#define DEFAULT_Kd 68.33
|
#define DEFAULT_Kd 68.33
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 0.81
|
#define DEFAULT_Ki 0.81
|
||||||
#define DEFAULT_Kd 63.12
|
#define DEFAULT_Kd 63.12
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 2.62
|
#define DEFAULT_Ki 2.62
|
||||||
#define DEFAULT_Kd 78.81
|
#define DEFAULT_Kd 78.81
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.56
|
#define DEFAULT_Ki 1.56
|
||||||
#define DEFAULT_Kd 73.30
|
#define DEFAULT_Kd 73.30
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.08
|
#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114.00
|
#define DEFAULT_Kd 114.00
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 2.62
|
#define DEFAULT_Ki 2.62
|
||||||
#define DEFAULT_Kd 78.81
|
#define DEFAULT_Kd 78.81
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -605,10 +605,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.87
|
#define DEFAULT_Ki 1.87
|
||||||
#define DEFAULT_Kd 70.18
|
#define DEFAULT_Kd 70.18
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 2.62
|
#define DEFAULT_Ki 2.62
|
||||||
#define DEFAULT_Kd 78.81
|
#define DEFAULT_Kd 78.81
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 2.62
|
#define DEFAULT_Ki 2.62
|
||||||
#define DEFAULT_Kd 78.81
|
#define DEFAULT_Kd 78.81
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 2.62
|
#define DEFAULT_Ki 2.62
|
||||||
#define DEFAULT_Kd 78.81
|
#define DEFAULT_Kd 78.81
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 2.62
|
#define DEFAULT_Ki 2.62
|
||||||
#define DEFAULT_Kd 78.81
|
#define DEFAULT_Kd 78.81
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -629,7 +630,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
|
@ -604,10 +604,11 @@
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning
|
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
|
||||||
|
// temperature control. Disable both for bang-bang heating.
|
||||||
|
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
|
||||||
|
//#define MPCTEMP // ** EXPERIMENTAL **
|
||||||
|
|
||||||
// Comment the following line to disable PID and enable bang-bang.
|
|
||||||
#define PIDTEMP
|
|
||||||
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
#define PID_K1 0.95 // Smoothing factor within any PID loop
|
||||||
|
@ -630,7 +631,45 @@
|
||||||
#define DEFAULT_Ki 1.54
|
#define DEFAULT_Ki 1.54
|
||||||
#define DEFAULT_Kd 76.55
|
#define DEFAULT_Kd 76.55
|
||||||
#endif
|
#endif
|
||||||
#endif // PIDTEMP
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Predictive Control for hotend
|
||||||
|
*
|
||||||
|
* Use a physical model of the hotend to control temperature. When configured correctly
|
||||||
|
* this gives better responsiveness and stability than PID and it also removes the need
|
||||||
|
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MPCTEMP)
|
||||||
|
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
|
||||||
|
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
|
||||||
|
|
||||||
|
#define MPC_INCLUDE_FAN // Model the fan speed?
|
||||||
|
|
||||||
|
// Measured physical constants from M306
|
||||||
|
#define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities.
|
||||||
|
#define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block.
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
#define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect.
|
||||||
|
#if ENABLED(MPC_INCLUDE_FAN)
|
||||||
|
//#define MPC_FAN_0_ALL_HOTENDS
|
||||||
|
//#define MPC_FAN_0_ACTIVE_HOTEND
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILAMENT_HEAT_CAPACITY_PERMM 5.6e-3f // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA).
|
||||||
|
//#define FILAMENT_HEAT_CAPACITY_PERMM 3.6e-3f // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG).
|
||||||
|
|
||||||
|
// Advanced options
|
||||||
|
#define MPC_SMOOTHING_FACTOR 0.5f // (0.0...1.0) Noisy temperature sensors may need a lower value for stabilization.
|
||||||
|
#define MPC_MIN_AMBIENT_CHANGE 1.0f // (K/s) Modeled ambient temperature rate of change, when correcting model inaccuracies.
|
||||||
|
#define MPC_STEADYSTATE 0.5f // (K/s) Temperature change rate for steady state logic to be enforced.
|
||||||
|
|
||||||
|
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center just above the surface.
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//====================== PID > Bed Temperature Control ======================
|
//====================== PID > Bed Temperature Control ======================
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue