Combine thermal runaway and watch-period
- Make thermal protection for all hotends and/or bed into simple switches - Now enable `WATCH_TEMP_PERIOD` when `THERMAL_PROTECTION_HOTENDS` is enabled - Move detailed thermal parameters to `Configuration_adv.h` - Add sanity checks to warn about old configurations - Change `WATCH_TEMP_PERIOD` to seconds instead of milliseconds
This commit is contained in:
@ -300,23 +300,10 @@ Here are some standard links for getting your machine calibrated:
|
||||
* The solution: Once the temperature reaches the target, start observing.
|
||||
* If the temperature stays too far below the target (hysteresis) for too long,
|
||||
* the firmware will halt as a safety precaution.
|
||||
*
|
||||
* Note that because the countdown starts only AFTER the temperature reaches
|
||||
* the target, this will not catch a thermistor that is already disconnected
|
||||
* when the print starts!
|
||||
*
|
||||
* To enable for all extruder heaters, uncomment the two defines below:
|
||||
*/
|
||||
|
||||
// Parameters for all extruder heaters
|
||||
#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 // in seconds
|
||||
#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius
|
||||
|
||||
// To enable for the bed heater, uncomment the two defines below:
|
||||
|
||||
// Parameters for the bed heater
|
||||
#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 // in seconds
|
||||
#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius
|
||||
#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
|
||||
#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
|
||||
|
||||
//===========================================================================
|
||||
//============================= Mechanical Settings =========================
|
||||
|
@ -15,16 +15,37 @@
|
||||
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
|
||||
|
||||
/**
|
||||
* Heating Sanity Check
|
||||
*
|
||||
* Whenever an M104 or M109 increases the target temperature this will wait for WATCH_TEMP_PERIOD milliseconds,
|
||||
* and if the temperature hasn't increased by WATCH_TEMP_INCREASE degrees, the machine is halted, requiring a
|
||||
* hard reset. This test restarts with any M104/M109, but only if the current temperature is below the target
|
||||
* by at least 2 * WATCH_TEMP_INCREASE degrees celsius.
|
||||
* Thermal Protection parameters
|
||||
*/
|
||||
#define WATCH_TEMP_PERIOD 16000 // 16 seconds
|
||||
#define WATCH_TEMP_INCREASE 4 // Heat up at least 4 degrees in 16 seconds
|
||||
#ifdef THERMAL_PROTECTION_HOTENDS
|
||||
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
|
||||
|
||||
/**
|
||||
* Whenever an M104 or M109 increases the target temperature the firmware will wait for the
|
||||
* WATCH_TEMP_PERIOD to transpire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE
|
||||
* degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
|
||||
* but only if the current temperature is below the target by at least 2 * WATCH_TEMP_INCREASE degrees.
|
||||
*/
|
||||
#define WATCH_TEMP_PERIOD 16 // Seconds
|
||||
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
#ifdef THERMAL_PROTECTION_BED
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Automatic Temperature:
|
||||
* The hotend target temperature is calculated by all the buffered lines of gcode.
|
||||
* The maximum buffered steps/sec of the extruder motor is called "se".
|
||||
* Start autotemp mode with M109 S<mintemp> B<maxtemp> F<factor>
|
||||
* The target temperature is set to mintemp+factor*se[steps/sec] and is limited by
|
||||
* mintemp and maxtemp. Turn this off by excuting M109 without F*
|
||||
* Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp.
|
||||
* On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode
|
||||
*/
|
||||
#ifdef PIDTEMP
|
||||
// this adds an experimental additional term to the heating power, proportional to the extrusion speed.
|
||||
// if Kc is chosen well, the additional required power due to increased melting should be compensated.
|
||||
|
Reference in New Issue
Block a user