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:
		| @@ -250,23 +250,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 ========================= | ||||
|   | ||||
| @@ -250,23 +250,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. | ||||
|   | ||||
| @@ -271,23 +271,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. | ||||
|   | ||||
| @@ -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. | ||||
|   | ||||
| @@ -200,8 +200,7 @@ Here are some standard links for getting your machine calibrated: | ||||
|                                   // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. | ||||
|   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term | ||||
|   #define K1 0.95 //smoothing factor within the PID | ||||
|   #define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine | ||||
|    | ||||
|  | ||||
| // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it | ||||
| // Ultimaker | ||||
|     #define  DEFAULT_Kp 22.2 | ||||
| @@ -271,44 +270,24 @@ Here are some standard links for getting your machine calibrated: | ||||
| #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. | ||||
|  | ||||
| //=========================================================================== | ||||
| //============================= Thermal Runaway Protection ================== | ||||
| //======================== Thermal Runaway Protection ======================= | ||||
| //=========================================================================== | ||||
| /* | ||||
| This is a feature to protect your printer from burn up in flames if it has | ||||
| a thermistor coming off place (this happened to a friend of mine recently and | ||||
| motivated me writing this feature). | ||||
|  | ||||
| The issue: If a thermistor come off, it will read a lower temperature than actual. | ||||
| The system will turn the heater on forever, burning up the filament and anything | ||||
| else around. | ||||
|  | ||||
| After the temperature reaches the target for the first time, this feature will | ||||
| start measuring for how long the current temperature stays below the target | ||||
| minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). | ||||
|  | ||||
| If it stays longer than _PERIOD, it means the thermistor temperature | ||||
| cannot catch up with the target, so something *may be* wrong. Then, to be on the | ||||
| safe side, the system will he halt. | ||||
|  | ||||
| Bear in mind the count down will just start AFTER the first time the | ||||
| thermistor temperature is over the target, so you will have no problem if | ||||
| your extruder heater takes 2 minutes to hit the target on heating. | ||||
|  | ||||
| */ | ||||
| // If you want to enable this feature for all your extruder heaters, | ||||
| // uncomment the 2 defines below: | ||||
|  | ||||
| // Parameters for all extruder heaters | ||||
| #define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds | ||||
| #define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius | ||||
|  | ||||
| // If you want to enable this feature for your bed heater, | ||||
| // uncomment the 2 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 | ||||
| /** | ||||
|  * Thermal Runaway 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, | ||||
|  * the firmware will halt as a safety precaution. | ||||
|  */ | ||||
|  | ||||
| #define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders | ||||
| #define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed | ||||
|  | ||||
| //=========================================================================== | ||||
| //============================= Mechanical Settings ========================= | ||||
| @@ -412,17 +391,20 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic | ||||
| #define Z_MAX_POS 200 | ||||
|  | ||||
| //=========================================================================== | ||||
| //============================= Filament Runout Sensor ====================== | ||||
| //========================= Filament Runout Sensor ========================== | ||||
| //=========================================================================== | ||||
| //#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout sensor such as a mechanical or opto endstop to check the existence of filament | ||||
|                                  // In RAMPS uses servo pin 2. Can be changed in pins file. For other boards pin definition should be made. | ||||
|                                  // It is assumed that when logic high = filament available | ||||
|                                  //                    when logic  low = filament ran out | ||||
| //const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned | ||||
| //#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. | ||||
| #ifdef FILAMENT_RUNOUT_SENSOR | ||||
|   const bool FIL_RUNOUT_INVERTING = true;  // Should be uncommented and true or false should assigned | ||||
|   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. | ||||
|   #define FILAMENT_RUNOUT_SCRIPT "M600" | ||||
| #endif  | ||||
|  | ||||
| //=========================================================================== | ||||
| //============================ Mesh Bed Leveling ============================ | ||||
| //=========================== Manual Bed Leveling =========================== | ||||
| //=========================================================================== | ||||
|  | ||||
| // #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling | ||||
| @@ -443,7 +425,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic | ||||
| #endif  // MESH_BED_LEVELING | ||||
|  | ||||
| //=========================================================================== | ||||
| //============================= Bed Auto Leveling =========================== | ||||
| //============================ Bed Auto Leveling ============================ | ||||
| //=========================================================================== | ||||
|  | ||||
| // @section bedlevel | ||||
|   | ||||
| @@ -302,23 +302,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 3000 //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. | ||||
|   | ||||
| @@ -270,23 +270,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. | ||||
|   | ||||
| @@ -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 120 // in seconds | ||||
| #define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 4 // 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 120   // Seconds | ||||
|   #define THERMAL_PROTECTION_BED_HYSTERESIS 4 // 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. | ||||
|   | ||||
| @@ -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. | ||||
|   | ||||
| @@ -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. | ||||
|   | ||||
| @@ -270,23 +270,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. | ||||
|   | ||||
| @@ -272,23 +272,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