Thermostat thermal runaway protection logic

Not a complete or entirely relevant answer but maybe give you something to think about:
My central heating controller uses temperature sensors connected by I2C over about 30m of cable. In order to avoid the kind of problems you are concerned about I do the following:

  • I only accept 3 consecutive identical readings as being correct (they are taken every second or so)
  • If the readings are always the same, so some number more than 3 exactly the same then I treat them as wrong and don't use them.
  • I check the temperature readings fall within the expected range and that the data is valid. For example -30 degrees C would suggest something is wrong, as would getting 0xff and nothing else from the sensors.
  • There are 4 temperature sensors, if they all read exactly the same I take that to be an error.
  • I do checks on the I2C interface to be sure it is not locked up or otherwise not working correctly, and restart it if something is wrong.

I hope something in there inspires you.

1 Like