Merge pull request #3253 from thinkyhead/rc_autotune_menu_optional
Make the Autotune option(s) in the LCD menu optional
This commit is contained in:
commit
1d987cd280
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -279,10 +280,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -19,10 +19,6 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
// Tonokip RepRap firmware rewrite based off of Hydra-mmm firmware.
|
||||
// License: GPL
|
||||
|
||||
#ifndef MARLIN_H
|
||||
#define MARLIN_H
|
||||
|
||||
|
|
|
@ -131,10 +131,16 @@
|
|||
#error You must enable either DISPLAY_CHARSET_HD44780_JAPAN or DISPLAY_CHARSET_HD44780_WESTERN or DISPLAY_CHARSET_HD44780_CYRILLIC for your LCD controller.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Bed Heating Options - PID vs Limit Switching
|
||||
*/
|
||||
#if ENABLED(PIDTEMPBED) && ENABLED(BED_LIMIT_SWITCHING)
|
||||
#error To use BED_LIMIT_SWITCHING you must disable PIDTEMPBED.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Mesh Bed Leveling
|
||||
*/
|
||||
|
||||
#if ENABLED(MESH_BED_LEVELING)
|
||||
#if ENABLED(DELTA)
|
||||
#error MESH_BED_LEVELING does not yet support DELTA printers.
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -268,10 +269,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
// Felix Foil Heater
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -232,6 +232,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -271,10 +272,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -273,10 +274,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -236,6 +236,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -290,10 +291,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -47,28 +47,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 60 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 8 // Degrees Celsius
|
||||
|
@ -86,11 +85,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -279,10 +280,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -280,10 +281,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//RigidBot, from pid autotune
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -254,6 +254,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -285,7 +286,7 @@
|
|||
// If this is enabled, find your own PID constants below.
|
||||
#define PIDTEMPBED
|
||||
|
||||
#define BED_LIMIT_SWITCHING
|
||||
//#define BED_LIMIT_SWITCHING
|
||||
|
||||
// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
|
||||
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
|
||||
|
@ -293,10 +294,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//12v Heatbed Mk3 12V in parallel
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 3000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 3000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#define BANG_MAX 70 // limits current to nozzle while in bang-bang mode; 255=full current
|
||||
#define PID_MAX 74 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -289,10 +290,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 206 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//24V 360W silicone heater from NPH on 3mm borosilicate (TAZ 2.2+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -232,6 +232,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -271,10 +272,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -279,10 +280,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -279,10 +280,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 120 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 4 // Degrees Celsius
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -279,10 +280,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -279,10 +280,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -235,6 +235,7 @@
|
|||
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
|
||||
#define PID_MAX 125 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -274,10 +275,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//Kossel Pro heated bed plate with borosilicate glass
|
||||
|
|
|
@ -46,28 +46,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -85,11 +84,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -252,6 +252,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -307,10 +308,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 4 // Degrees Celsius
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -282,10 +283,10 @@
|
|||
// to increase the heat up rate. However, if changed, user must be aware of the safety concerns
|
||||
// of drawing too much current from the power supply.
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
#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
|
||||
#if ENABLED(PIDTEMP)
|
||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||
|
@ -269,10 +270,10 @@
|
|||
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
||||
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
||||
//#define PID_BED_DEBUG // Sends debug data to the serial port.
|
||||
|
||||
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
|
||||
|
||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||
|
|
|
@ -41,28 +41,27 @@
|
|||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#if DISABLED(PIDTEMPBED)
|
||||
#define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
|
||||
#if ENABLED(BED_LIMIT_SWITCHING)
|
||||
#define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
|
||||
#endif
|
||||
#endif
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection protects your printer from damage and fire if a
|
||||
* thermistor falls out or temperature sensors fail in any way.
|
||||
*
|
||||
* The issue: If a thermistor falls out or a temperature sensor fails,
|
||||
* Marlin can no longer sense the actual temperature. Since a disconnected
|
||||
* thermistor reads as a low temperature, the firmware will keep the heater on.
|
||||
*
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long (period),
|
||||
* the firmware will halt the machine as a safety precaution.
|
||||
*
|
||||
* If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
@ -80,11 +79,11 @@
|
|||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
/**
|
||||
* Thermal Protection parameters for the bed
|
||||
* are like the above for the hotends.
|
||||
* WATCH_TEMP_BED_PERIOD and WATCH_TEMP_BED_INCREASE are not imlemented now.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
|
|
|
@ -631,7 +631,7 @@ float get_pid_output(int e) {
|
|||
|
||||
return pid_output;
|
||||
}
|
||||
#endif
|
||||
#endif //PIDTEMPBED
|
||||
|
||||
/**
|
||||
* Manage heating activities for extruder hot-ends and a heated bed
|
||||
|
@ -745,7 +745,7 @@ void manage_heater() {
|
|||
soft_pwm_bed = 0;
|
||||
WRITE_HEATER_BED(LOW);
|
||||
}
|
||||
#else // BED_LIMIT_SWITCHING
|
||||
#else // !PIDTEMPBED && !BED_LIMIT_SWITCHING
|
||||
// Check if temperature is within the correct range
|
||||
if (current_temperature_bed > BED_MINTEMP && current_temperature_bed < BED_MAXTEMP) {
|
||||
soft_pwm_bed = current_temperature_bed < target_temperature_bed ? MAX_BED_POWER >> 1 : 0;
|
||||
|
|
|
@ -1094,7 +1094,7 @@ static void lcd_control_menu() {
|
|||
*
|
||||
*/
|
||||
|
||||
#if ENABLED(PIDTEMP) || ENABLED(PIDTEMPBED)
|
||||
#if ENABLED(PID_AUTOTUNE_MENU)
|
||||
|
||||
#if ENABLED(PIDTEMP)
|
||||
int autotune_temp[EXTRUDERS] = { 150 };
|
||||
|
@ -1119,7 +1119,7 @@ static void lcd_control_menu() {
|
|||
enqueue_and_echo_command_now(cmd);
|
||||
}
|
||||
|
||||
#endif //PIDTEMP || PIDTEMPBED
|
||||
#endif //PID_AUTOTUNE_MENU
|
||||
|
||||
#if ENABLED(PIDTEMP)
|
||||
|
||||
|
@ -1133,10 +1133,17 @@ static void lcd_control_menu() {
|
|||
PID_PARAM(Kd, e) = scalePID_d(raw_Kd);
|
||||
updatePID();
|
||||
}
|
||||
#define _PIDTEMP_FUNCTIONS(eindex) \
|
||||
#define _PIDTEMP_BASE_FUNCTIONS(eindex) \
|
||||
void copy_and_scalePID_i_E ## eindex() { copy_and_scalePID_i(eindex); } \
|
||||
void copy_and_scalePID_d_E ## eindex() { copy_and_scalePID_d(eindex); } \
|
||||
void lcd_autotune_callback_E ## eindex() { _lcd_autotune(eindex); }
|
||||
void copy_and_scalePID_d_E ## eindex() { copy_and_scalePID_d(eindex); }
|
||||
|
||||
#if ENABLED(PID_AUTOTUNE_MENU)
|
||||
#define _PIDTEMP_FUNCTIONS(eindex) \
|
||||
_PIDTEMP_BASE_FUNCTIONS(eindex); \
|
||||
void lcd_autotune_callback_E ## eindex() { _lcd_autotune(eindex); }
|
||||
#else
|
||||
#define _PIDTEMP_FUNCTIONS(eindex) _PIDTEMP_BASE_FUNCTIONS(eindex);
|
||||
#endif
|
||||
|
||||
_PIDTEMP_FUNCTIONS(0);
|
||||
#if ENABLED(PID_PARAMS_PER_EXTRUDER)
|
||||
|
@ -1254,9 +1261,13 @@ static void lcd_control_temperature_menu() {
|
|||
#define _PID_MENU_ITEMS(ELABEL, eindex) _PID_BASE_MENU_ITEMS(ELABEL, eindex)
|
||||
#endif
|
||||
|
||||
#define PID_MENU_ITEMS(ELABEL, eindex) \
|
||||
_PID_MENU_ITEMS(ELABEL, eindex); \
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_PID_AUTOTUNE ELABEL, &autotune_temp[eindex], 150, heater_maxtemp[eindex] - 15, lcd_autotune_callback_E ## eindex)
|
||||
#if ENABLED(PID_AUTOTUNE_MENU)
|
||||
#define PID_MENU_ITEMS(ELABEL, eindex) \
|
||||
_PID_MENU_ITEMS(ELABEL, eindex); \
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_PID_AUTOTUNE ELABEL, &autotune_temp[eindex], 150, heater_maxtemp[eindex] - 15, lcd_autotune_callback_E ## eindex)
|
||||
#else
|
||||
#define PID_MENU_ITEMS(ELABEL, eindex) _PID_MENU_ITEMS(ELABEL, eindex)
|
||||
#endif
|
||||
|
||||
#if ENABLED(PID_PARAMS_PER_EXTRUDER) && EXTRUDERS > 1
|
||||
PID_MENU_ITEMS(MSG_E1, 0);
|
||||
|
|
Loading…
Reference in a new issue