For detection of scenario 6 (FET is shorted or failed in the "ON" state), it might be good to consider a feedback "sensor" on the heater output to identify the fault using a digital input pin on the microcontroller. In other words, look at the output when the heater should be off. There could be a programmatic "blip" in power applied at some interval and the firmware looks at the output during that blip, expecting to see the heater power off.
I realize this may not be possible on existing hardware, but it would be good to consider for future designs. For existing designs, I suppose we could create an external, wired connection using breakout GPIO pins with appropriate signal conditioning to do the sensing. If I understand things correctly, the heater FETs are effectively switches to ground to complete the circuit, so the signal conditioning would have to be able to deal with whatever the heater voltage is. Not sure how to deal with things if there's a SSR driving the heater and it is failed in the shorted condition... especially if it's driving an AC voltage heater.
Edited 1 time(s). Last edit at 07/23/2016 01:25AM by toddimus.