Donnerstag, 24. Mai 2018

Warum und wie man die Temperatur elektronischer Bauteile überwacht

Anwendung für Linux zum Messen von Chiptemperaturen
Elektronische Geräte verbrauchen Energie. Sofern es sich um Geräte ohne mechanische Aktoren, Schallsender und Lichtquellen handelt, Wird die zugeführte elektrische Energie zu 100
% im Gerät in Wärme umgewandelt. Das geschieht, weil alle stromführenden Teile einen Wirkwiderstand haben. Das ist unvermeidlich, solange man nicht in der Lage ist, zu 100% elektrisch supraleitende und ideal isolierende Materialien einzusetzen, z.B. Transistoren, die im eingeschalteten Zustand keinen und im gesperrten Zustand einen unendlich großen Wirkwiderstand haben (ideale Schalter). Erwärmung ist also für vielleicht noch lange Zeit unvermeidlich.
Um zu verhindern, daß Wärme die Bauelemente zerstört, muß sie im Durchschnitt so schnell abgeführt werden, wie sie entsteht, ohne daß die Temperatur im Inneren des Geräts oder Bauelements zerstörerisch hoch wird. Gewöhnliche Halbleiterbauelemente vertragen in der Regel keine Erwärmung deutlich über 100 °C ohne Funktionsverlust. Wenn möglich, konstruiert man die Geräte so, daß unter den vorgesehenen Einsatzbedingungen keine zu hohe Temperatur auftritt, weil die Wärmeabfuhr über die Oberfläche oder durch aktive Kühlung optimiert werden kann. Das setzt voraus, daß die Umgebung einschließlich Kühlsystem immer so beschaffen ist, daß sie die umgesetzte Leistung aufnehmen kann, ohne daß es zur Überhitzung der Elektronik kommt.
Bei aktiver Kühlung (z.B. Kühlmittelpumpe, Gebläse oder Peltierelement) wird zusätzliche Energie verbraucht. Diese sollte möglichst niedrig sein. Zu diesem Zweck steuert man das Kühlsystem so, daß es immer ausreicht aber seine Leistung an den Bedarf angepaßt wird. Dafür ist es nötig, die Temperatur im Gerät oder in kritischen Bauelementen zu kennen, also zu überwachen.
Ein weiterer Anspruch - z.B. an mobile Geräte - ist, daß sie auch bei stark wechselnden Umweltbedingungen nicht überhitzt werden. Sie sollen in unterschiedlichsten Taschen (unterschiedlicher Wärmedurchgang) und möglichst auch unter starker Bestrahlung (direkte Sonneneinstrahlung, Hochofen, Heizung, ...) nicht zerstört, lieber abgeschaltet oder vorübergehend in der Funktion eingeschränkt werden, wenn nicht ausreichend gekühlt werden kann, um alle Funktionen aufrechtzuerhalten.
Es gibt Bauelemente, die bereits Sensoren und Schaltungen zur Auswertung und Notabschaltung enthalten, z.B. Leistungstransistoren. Für Computer können flexiblere Lösungen sinnvoll sein, die man als Software programmiert und die in der Lage sind Temperatursensoren in Prozessoren und Peripherie auszuwerten und mittels Aktoren intelligente Reaktionen auszulösen. So könnten Taktfrequenzen reduziert werden, was proportional dazu Schalthäufigkeiten und damit die Häufigkeit von Leistungsspitzen reduziert. Programme könnten das tun, wenn sie gerade nicht mit höchstmöglicher Geschwindigkeit arbeiten müssen, weil sie auf ein zeitunkritisches Ereignis warten. Zum Beispiel könnte ein Prozeßrechner seine Taktfrequenz oder ein Programm seine Zykluszeit reduzieren, wenn der Anwendungsfall zeitweilig keine schnellen Aktionen erfordert. So bleibt das System in Funktion, bis es unter besseren Umgebungsbedingungen bei Bedarf wieder mit voller Leistung arbeiten kann.
Zusammenfassung: Man kann in einem Mikrorechnersystem durch Programmierung die Wärmeerzeugung und die Kühlung nach Erfordernis oder zur Erhöhung der Energieeffizienz steuern.
Dieser Blog enthält leicht nachzuvollziehende Beispiele zum Messen von Temperaturen in CPU u.a. integrierten Schaltungen, die Sensoren enthalten und für die Treiber im Linux-Kernel installiert sind. Man kann die Anwendung für den PC, den Raspberry Pi und vermutlich manche andere Hardware kompilieren. Auf vielen PC findet man mehrere integrierte Temperatursensoren, die mit der dort vorgestellten Komponente TChipTempSensor ausgewertet werden können. Im Beispiel wird die Temperatur des ausgewählten Sensors nur angezeigt. Der Programmierer könnte entscheiden, sie während eines Versuchs aufzuzeichnen - auch in Verbindung mit anderen Daten - oder bedingte Schaltvorgänge auszulösen (z.B. ein Gebläse einzuschalten), wenn die CPU-Temperatur sich einem kritischen Wert nähert. Beim Nachrüsten eines Kühlsystems an einem Rechner, der dafür keine Systemschnittstelle hat, fehlen entsprechende Programme im System, weil sie abhängig von der anzuschließenden Hardware programmiert werden müssen. Deshalb ist das Energiemanagement einschließlich Kühlung in der Anwendung zu programmieren. Das kann, wie in Beispielen in diesem Blog gezeigt, mit geeigneten Komponentenklassen durch stark vereinfachte Anwendungsprogrammierung (Rapid Application Development, RAD) gelöst werden.

Keine Kommentare:

Kommentar veröffentlichen