thermal-runaway
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
thermal-runaway [2019/02/18 20:12] – samuelpinches | thermal-runaway [2019/02/18 20:37] – samuelpinches | ||
---|---|---|---|
Line 12: | Line 12: | ||
In Marlin firmware, there are a series of settings that enable the firmware to monitor the temperatures and thermal progress of the hot-end(s) and heated bed of a 3D Printer. Should a condition occur that is outside the ‘safe boundaries’ set in the firmware, it can shut down the heaters and all printing processes to help prevent damage to the 3D Printer, and avoid dangerous situations such as a potential fire. | In Marlin firmware, there are a series of settings that enable the firmware to monitor the temperatures and thermal progress of the hot-end(s) and heated bed of a 3D Printer. Should a condition occur that is outside the ‘safe boundaries’ set in the firmware, it can shut down the heaters and all printing processes to help prevent damage to the 3D Printer, and avoid dangerous situations such as a potential fire. | ||
- | I need to stress here, however, that **these settings, and the Marlin firmware itself, cannot guarantee absolute Thermal Runaway Protection under all circumstances**. These are not absolute fail-safes, nor are they idiot proof. The final section | + | I need to stress here, however, that **these settings, and the Marlin firmware itself, cannot guarantee absolute Thermal Runaway Protection under all circumstances**. These are not absolute fail-safes, nor are they idiot proof. The final sections |
<alert danger> | <alert danger> | ||
- | ==== Thermal Runaway Safety Monitoring Settings in Marlin ==== | ||
- | Let’s now go through each of the settings in the Marlin firmware (as of release 1.1.9) and cover what they are each for: | ||
---- | ---- | ||
+ | ==== Enabling & Disabling Settings ==== | ||
+ | Many features in Marlin can be enabled or disabled by modifying the configuration files in the source code. In most cases, features are disabled when they are ' | ||
+ | |||
+ | **Here' | ||
+ | < | ||
+ | **Here' | ||
+ | < | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ==== Thermal Runaway Safety Monitoring Settings in Marlin ==== | ||
+ | |||
+ | Let’s now go through each of the thermal runaway settings in the Marlin firmware (as of release 1.1.9) and cover what they are each for. | ||
+ | |||
+ | ---- | ||
+ | === Enabling Thermal Protection === | ||
**File: configuration.h\\ | **File: configuration.h\\ | ||
Section: Thermal Runaway Protection\\ | Section: Thermal Runaway Protection\\ | ||
Line 30: | Line 46: | ||
</ | </ | ||
- | What it is:\\ | + | **What it is:**\\ |
- | **These are the two most important settings for thermal protection in Marlin**. If these are disabled (having two slashes in front of them ‘%%// | + | These are the two most important settings for thermal protection in Marlin. If these are disabled (by commenting out - see [[#Enabling & Disabling Settings|above]]), then there is no Thermal Runaway Protection at all – regardless of any of the other items covered here. |
- | What it does:\\ | + | **What it does:**\\ |
- | When enabled (no slashes before the ‘# | + | When enabled (no slashes before the ‘# |
- | How to use it:\\ | + | **How to use it:**\\ |
Enable this setting as shown. This is the base for all Thermal Runaway Protection in Marlin and allows the firmware to monitor and control the heaters on your printer, to shut them off if a dangerous condition should occur. | Enable this setting as shown. This is the base for all Thermal Runaway Protection in Marlin and allows the firmware to monitor and control the heaters on your printer, to shut them off if a dangerous condition should occur. | ||
---- | ---- | ||
+ | === Configuring Hotend Thermal Stability Protection | ||
**File: configuration_adv.h\\ | **File: configuration_adv.h\\ | ||
Section: Thermal Settings\\ | Section: Thermal Settings\\ | ||
Line 50: | Line 66: | ||
</ | </ | ||
- | What it is:\\ | + | **What it is:**\\ |
This is part of the built-in Thermal Runaway Protection in Marlin and as you can see above, it is only enabled if THERMAL_PROTECTION_HOTENDS is enabled in the previous setting in configuration.h and these setting are enabled (have NO slashes (‘%%// | This is part of the built-in Thermal Runaway Protection in Marlin and as you can see above, it is only enabled if THERMAL_PROTECTION_HOTENDS is enabled in the previous setting in configuration.h and these setting are enabled (have NO slashes (‘%%// | ||
- | What is does:\\ | + | **What is does:**\\ |
After the target temperature of the hot-end is reached, this will watch the temperature of the hot-end, and if it drops 4c (THERMAL_PROTECTION_HYSTERESIS) | After the target temperature of the hot-end is reached, this will watch the temperature of the hot-end, and if it drops 4c (THERMAL_PROTECTION_HYSTERESIS) | ||
In the situation where the thermistor has come off of the heater block, or failed for whatever reason, and so is no longer reporting the actual hot-end temperature, | In the situation where the thermistor has come off of the heater block, or failed for whatever reason, and so is no longer reporting the actual hot-end temperature, | ||
- | How to use it:\\ | + | **How to use it:**\\ |
Enable | Enable | ||
Normally, you should not change this setting unless you have a very slow hot-end heater (its under powered, or a very large heater block). | Normally, you should not change this setting unless you have a very slow hot-end heater (its under powered, or a very large heater block). | ||
---- | ---- | ||
+ | === Configuring Hotend Heating Protection | ||
**File: configuration_adv.h\\ | **File: configuration_adv.h\\ | ||
Section: Thermal Settings\\ | Section: Thermal Settings\\ | ||
Line 72: | Line 88: | ||
</ | </ | ||
- | What it is:\\ | + | **What it is:**\\ |
This is part of the built-in Thermal Runaway Protection in Marlin and as you can see above, it is only enabled if THERMAL_PROTECTION_HOTENDS is enabled in the previous setting in configuration.h and these setting are enabled (have NO slashes (‘%%// | This is part of the built-in Thermal Runaway Protection in Marlin and as you can see above, it is only enabled if THERMAL_PROTECTION_HOTENDS is enabled in the previous setting in configuration.h and these setting are enabled (have NO slashes (‘%%// | ||
- | What it does:\\ | + | **What it does:**\\ |
These settings monitor the heating of the Hot Ends to ensure the temperature is increasing as expected. | These settings monitor the heating of the Hot Ends to ensure the temperature is increasing as expected. | ||
If the temperature does not increase by 2c (WATCH_TEMP_INCREASE) within a 20 second time period (WATCH_TEMP_PERIOD), | If the temperature does not increase by 2c (WATCH_TEMP_INCREASE) within a 20 second time period (WATCH_TEMP_PERIOD), | ||
In the situation where the thermistor is detached from the hot-end, or is defective, it will not report a temperature rise with the heater on, and so after 20 seconds of not seeing a temperature change, the heater will be turned off. | In the situation where the thermistor is detached from the hot-end, or is defective, it will not report a temperature rise with the heater on, and so after 20 seconds of not seeing a temperature change, the heater will be turned off. | ||
- | How to use it:\\ | + | **How to use it:**\\ |
Enable | Enable | ||
Line 87: | Line 103: | ||
---- | ---- | ||
+ | === Configuring Bed Thermal Stability & Heating Protection | ||
**File: configuration_adv.h\\ | **File: configuration_adv.h\\ | ||
Section: Thermal Settings\\ | Section: Thermal Settings\\ | ||
Line 106: | Line 122: | ||
---- | ---- | ||
+ | === Configuring Thermistor Missing Protection | ||
**File: configuration.h\\ | **File: configuration.h\\ | ||
Section: Thermal Settings\\ | Section: Thermal Settings\\ | ||
Line 119: | Line 135: | ||
</ | </ | ||
- | What it is:\\ | + | **What it is:**\\ |
This set the minimum temperature (in celsius) the thermistors are allowed to report in order to be considered ‘working properly’. | This set the minimum temperature (in celsius) the thermistors are allowed to report in order to be considered ‘working properly’. | ||
A working temperature sensor should show your room’s temperature when first turned on, or after cooling down completely from a print. Unless you live in an igloo, its probably not going to be 5c or below in the room. | A working temperature sensor should show your room’s temperature when first turned on, or after cooling down completely from a print. Unless you live in an igloo, its probably not going to be 5c or below in the room. | ||
- | + | ** | |
- | What it does:\\ | + | What it does:**\\ |
If these sensors are reporting temperatures below these set values, the heaters will not be allow to turn on as there is obviously something wrong with either the sensors, the wiring, or the controller board (such as a short) as doing so could be very dangerous. | If these sensors are reporting temperatures below these set values, the heaters will not be allow to turn on as there is obviously something wrong with either the sensors, the wiring, or the controller board (such as a short) as doing so could be very dangerous. | ||
- | How to use it:\\ | + | **How to use it:**\\ |
Ensure these lines are enabled (no slashes in front of them). | Ensure these lines are enabled (no slashes in front of them). | ||
For almost all situations (that I can think of), you will want to leave this at the default of 5c. This will help keep your printer from enabled the heaters if there is a problem with the thermistors reporting too low of a temperature. | For almost all situations (that I can think of), you will want to leave this at the default of 5c. This will help keep your printer from enabled the heaters if there is a problem with the thermistors reporting too low of a temperature. | ||
---- | ---- | ||
+ | === Configuring Over-temperature Protection | ||
**File: configuarion.h\\ | **File: configuarion.h\\ | ||
Section: Thermal Settings\\ | Section: Thermal Settings\\ | ||
Line 144: | Line 160: | ||
</ | </ | ||
- | What it is:\\ | + | **What it is:**\\ |
These are the maximum temperatures the hot-end(s) and heated bed are allow to reach. | These are the maximum temperatures the hot-end(s) and heated bed are allow to reach. | ||
- | What it does:\\ | + | **What it does:**\\ |
Heaters 0 – 4 are the hot-end heaters, and these default values are considered safe for most hot-ends. As most hot-ends contain PTFE (Telfon) in their throats (the hollow threaded rod between the heater block and the cold-end), the PTFE extends down into the heater block itself. As a result it is exposed to the same temperatures as the filament being melted. Since PTFE begins breaking down above 250c and can start out-gassing above 260c, the Max Temperature is defaulted to 260c. PTFE produces toxic fumes that can cause illness and kill birds. | Heaters 0 – 4 are the hot-end heaters, and these default values are considered safe for most hot-ends. As most hot-ends contain PTFE (Telfon) in their throats (the hollow threaded rod between the heater block and the cold-end), the PTFE extends down into the heater block itself. As a result it is exposed to the same temperatures as the filament being melted. Since PTFE begins breaking down above 250c and can start out-gassing above 260c, the Max Temperature is defaulted to 260c. PTFE produces toxic fumes that can cause illness and kill birds. | ||
- | How to use it:\\ | + | **How to use it:**\\ |
Unless you are certain your printer has an ‘all metal hot-end’ (most do not), you should leave these at their default values shown and ensure these lines are enabled (no slashes in front of them). | Unless you are certain your printer has an ‘all metal hot-end’ (most do not), you should leave these at their default values shown and ensure these lines are enabled (no slashes in front of them). | ||
---- | ---- | ||
+ | === Configuring Thermal Tolerance Grace Period | ||
**File: configuration_adv.h\\ | **File: configuration_adv.h\\ | ||
Section: High Temperature Support\\ | Section: High Temperature Support\\ | ||
Line 163: | Line 179: | ||
</ | </ | ||
- | What it is:\\ | + | **What it is:**\\ |
These are advanced settings for high temperature thermistor support and are not directly related to Thermal Runaway Protection | These are advanced settings for high temperature thermistor support and are not directly related to Thermal Runaway Protection | ||
- | What it does:\\ | + | **What it does:**\\ |
High temperature thermistors have a difficult time getting accurate readings at room temperature and as a result can erroneously trigger a thermal runaway event and shut down the heater. | High temperature thermistors have a difficult time getting accurate readings at room temperature and as a result can erroneously trigger a thermal runaway event and shut down the heater. | ||
These settings help compensate for that. However, since most all 3D Printers do not have high temperature sensors, they are disabled by default (have two slashes (‘%%// | These settings help compensate for that. However, since most all 3D Printers do not have high temperature sensors, they are disabled by default (have two slashes (‘%%// | ||
- | How to use it:\\ | + | **How to use it:**\\ |
Unless you know your 3D printer has a high temperature sensor in its hot-end, you should leave these settings disabled, as shown. There is additional information in the comments for these settings in the configuration_adv.h file if you need to enable and use them. | Unless you know your 3D printer has a high temperature sensor in its hot-end, you should leave these settings disabled, as shown. There is additional information in the comments for these settings in the configuration_adv.h file if you need to enable and use them. | ||
Line 198: | Line 214: | ||
**Here are some precautions and best practices when operating your 3D Printer.** | **Here are some precautions and best practices when operating your 3D Printer.** | ||
+ | |||
+ | * Ensure you have a **fire extinguisher** (pick one suitable for electronic fires) within the room your printer is operating. | ||
+ | * Ensure you have a **working Smoke Alarm** within the room your printer is operating. | ||
* Do not turn on your printer’s heaters if the thermistors are not initially reporting temperatures near your room’s temperature (when fully cooled) or, if a thermistors is not connected or physically attached to the heater it is responsible for monitoring (e.g. stuck down to the the print bed or mounted in the nozzle heater block). | * Do not turn on your printer’s heaters if the thermistors are not initially reporting temperatures near your room’s temperature (when fully cooled) or, if a thermistors is not connected or physically attached to the heater it is responsible for monitoring (e.g. stuck down to the the print bed or mounted in the nozzle heater block). | ||
Line 223: | Line 242: | ||
A 3D printer with a shorted MOSFET will immediately start to heat up once power is turned on - and will not obey any instructions from the safety systems to turn off. In that circumstance Thermal Runaway will occur, and this may generate smoke, toxic fumes and can potentially cause a fire. | A 3D printer with a shorted MOSFET will immediately start to heat up once power is turned on - and will not obey any instructions from the safety systems to turn off. In that circumstance Thermal Runaway will occur, and this may generate smoke, toxic fumes and can potentially cause a fire. | ||
- | A MOSFET short can occur randomly at any time, without any apparent cause. For this reason, lastly, and absolutely: | + | Since a MOSFET short can occur randomly at any time, without any apparent cause. For this reason, lastly, and absolutely: |
==== NEVER LEAVE AN OPERATING 3D PRINTER UNATTENDED ==== | ==== NEVER LEAVE AN OPERATING 3D PRINTER UNATTENDED ==== | ||
+ | |||
+ | Stay safe, and happy printing! | ||
-- //DaHai Zhu// | -- //DaHai Zhu// |
thermal-runaway.txt · Last modified: 2020/12/25 02:13 by 127.0.0.1