{"action":"created","issue":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2025","labels_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2025/labels{/name}","comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2025/comments","events_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2025/events","html_url":"https://github.com/MarlinFirmware/Marlin/issues/2025","id":73386682,"number":2025,"title":"Hotend thermistor malfunction behavior","user":{"login":"clefranc","id":4294448,"avatar_url":"https://avatars.githubusercontent.com/u/4294448?v=3","gravatar_id":"","url":"https://api.github.com/users/clefranc","html_url":"https://github.com/clefranc","followers_url":"https://api.github.com/users/clefranc/followers","following_url":"https://api.github.com/users/clefranc/following{/other_user}","gists_url":"https://api.github.com/users/clefranc/gists{/gist_id}","starred_url":"https://api.github.com/users/clefranc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clefranc/subscriptions","organizations_url":"https://api.github.com/users/clefranc/orgs","repos_url":"https://api.github.com/users/clefranc/repos","events_url":"https://api.github.com/users/clefranc/events{/privacy}","received_events_url":"https://api.github.com/users/clefranc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/labels/Needs%20feedback","name":"Needs feedback","color":"fbca04"},{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/labels/Potential%20bug?","name":"Potential bug?","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2015-05-05T18:10:53Z","updated_at":"2015-05-08T05:08:03Z","closed_at":null,"body":"I'm using a 500°C thermistor that came with a Pico hotend, the official temperature table has the lower value at 25°C (not 0°C as expected).\r\n\r\nThe main reason why it doesn't goes to 0°C lays in the specification of this particular thermistor: at room temperature its resistance is too high to be detected by my RUMBA board. If I set the 1023 temp table entry to 0, it triggers a MINTEMP error. So I set them to 25.\r\n\r\nNow the protection discussion.\r\n\r\nFirst test: The thermistor is disconnected prior printing (or completely detached from hotend)\r\n\r\n1. Current temperature 25°C...\r\n1. Send a M104 T0 S230...\r\n2. The heater start heating...\r\n3. After 40 seconds, the message \"Heating failed\" is displayed, then target temperature is set to 0°C.\r\n\r\nThis is the expected behavior.\r\n\r\nSecond test: The thermistor fail during a print (or completely detach from hotend)\r\n\r\n1. The target temperature is reached, say 230°C...\r\n2. I disconnect the thermistor, the new reading is instantly 25°C...\r\n3. The heater try to keep the target temperature unsuccessfully...\r\n4. After 40 seconds, nothing, no message or heater shutdown...\r\n5. After 2 minutes, the protection is still not kicking.\r\n6. Reconnected the themistor, got a MAXTEMP at +400°C.\r\n\r\nWhat went wrong with the second test? I've redone it multiple time at 50°C with the same result (reconnect after 60 seconds).\r\n\r\nIn my configurations, I think I'm using full protection:\r\n```\r\n#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds\r\n#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius\r\n#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 120 //in seconds\r\n#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 4 // in degree Celsius\r\n#define WATCH_TEMP_PERIOD 40000 //40 seconds\r\n#define WATCH_TEMP_INCREASE 10  //Heat up at least 10 degree in 20 seconds\r\n```"},"comment":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/comments/100101503","html_url":"https://github.com/MarlinFirmware/Marlin/issues/2025#issuecomment-100101503","issue_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2025","id":100101503,"user":{"login":"thinkyhead","id":698003,"avatar_url":"https://avatars.githubusercontent.com/u/698003?v=3","gravatar_id":"","url":"https://api.github.com/users/thinkyhead","html_url":"https://github.com/thinkyhead","followers_url":"https://api.github.com/users/thinkyhead/followers","following_url":"https://api.github.com/users/thinkyhead/following{/other_user}","gists_url":"https://api.github.com/users/thinkyhead/gists{/gist_id}","starred_url":"https://api.github.com/users/thinkyhead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thinkyhead/subscriptions","organizations_url":"https://api.github.com/users/thinkyhead/orgs","repos_url":"https://api.github.com/users/thinkyhead/repos","events_url":"https://api.github.com/users/thinkyhead/events{/privacy}","received_events_url":"https://api.github.com/users/thinkyhead/received_events","type":"User","site_admin":false},"created_at":"2015-05-08T05:08:03Z","updated_at":"2015-05-08T05:08:03Z","body":"I updated the comments on Thermal Runaway Protection to warn that it doesn't catch every condition. For example, if the thermistor is already disconnected when you start the heater, it will not get caught. I propose adding more comprehensive high-level protection.\r\n\r\n- If the temperature jumps suddenly, THERMAL FAULT\r\n- If the temp is below the target (minus hysteresis) and the heater is on, but the temp doesn't go up within 10 seconds, THERMAL FAULT\r\n\r\nAny other conditions worth adding?"}}