Da die Schaltnetzteile natürlich nicht ganz verlustfrei arbeiten, wollte ich gegen Überhitzung eine Lüftersteuerung einbauen. Ich hatte noch einen alten 90mm-Lüfter (12V 0,25A) rumliegen, den ich auf den Deckel des hinteren Bereichs montiert hab. Das Loch dazu wurde mehr nach Augenmaß ausgesägt.

Der Lüfter selbst ist leider nicht PWM-Fähig, das heißt, dass ich mit Vorwiderständen arbeiten musste. Also hab ich die Leistung des Lüfters berechnet und gemäß einer binären Abstufung (1/8 Last, 1/4 Last, 1/2 Last, Volllast) die Vorwiderstände errechnet. Diese werden mit Leistungs-MOSFETs geschalten, Parallelschaltung möglich.

Da nach einigen Tests ersichtlich wurde, dass die Kühlkörper der Schaltregler auch unter Vollast des Netzteils kalt blieben (ca. 25°C nach einer halben Stunde Vollast), wurden die Temperaturfühler in Form von NTCs auf die Gleichrichter geklebt (Tesa machts möglich 😉 ), da diese einen signifikanten Temperaturanstieg vorwiesen. Die NTCs sind von meinem 3D-Drucker und haben einen Nennwert von 100kOhm bei 20°C und einen Temperaturkoeffizienten von 3750. Dadurch habe ich in Excel die Widerstandswerte bei bestimmten Temperaturen errechnen können und im Arduino-Code so programmiert, dass alle 5°C ab 20°C eine Stufe höher schaltet (also bei 20°C auf 0x1, 25°C auf 0x2 etc. bis 55°C auf 0x8 da mehr als Volllast nicht geht).

Die Temperaturwerte werden dabei in die Realwerte umgerechnet und per I²C an das Mainboard weitergegeben. Auf dem TFT kann ich somit die Temperaturwerte auslesen.

Ich ließ mir auch die Möglichkeit offen, den Lüfter manuell zu schalten. Wenn auf dem TFT eine entsprechende Taste betätigt wird, so wird ein Wert an den Slave geschickt, der dann den Lüfter entsprechend setzt, die automatische Temperatursteuerung ist dann deaktiviert. Zum aktivieren kann auf dem TFT der „Automatik“-Button betätigt werden.