Dann passt vermutlich etwas mit dem Programm nicht. Wenn der Mosfet nicht richtig angesteuert wird, wird er heiß. Woher kommt das Signal? Direkt vom Controller oder von einem Mosfettreiber? Wenn es direkt vom Controller kommt, könnte es sein das du nur zwischen Eingang und Ausgang umschaltest oder das generell der Pin als Eingang geschaltet ist und du nur den internen Pullup ein und ausschaltest.

Versuche einmal ein eigenes Programm zu schreiben indem du nur diese beiden Ausgänge ansteuerst (Lüfter und Heizung). Zuerst nur mit ein/aus, wenn das funktioniert mit PWM.

MfG Hannes