home/casemods/de/

Misc Mods
Zusätzliche Temperatursensoren für’s Mainboard

[ Projekte ][ Beschreibung ][ Galerie ][ Stichwortsuche ]

Inhalt

Einleitung

Diese Anleitung beschreibt wie man mit wenig Aufwand mehrere zusätzliche Temperatursensoren an ein handelsübliches Computer-Mainboard anschließen kann. Besonderer Dank geht an André Deyk von madhacker.org, von dem die ursprüngliche englischsprachige Anleitung stammt, die mich zu diesem Text inspiriert hat. Ich habe versucht die Anleitung möglichst anfängergerecht zu halten, gewisse Grundkenntnisse in Elektronik und Erfahrung im Löten sind jedoch sehr von Vorteil.

Das Problem

Frage: Wie viele Temperatursensoren braucht der Mensch?
Antwort: Egal wie viele es sind, es sind immer zu wenig!

Nahzu alle modernen Mainboards bieten die Möglichkeit die Temperatur der CPU, sowie andere Mainboard-Parameter, wie Spannungen und Lüfterdrehzahlen über entsprechende Monitoring-Software zu überwachen. Einige Mainboards bieten außerdem die Möglichkeit über einen entsprechenden Anschluss einen zusätzlichen, externen Temperaturfühler anzuschließen. Was aber wenn kein solcher Anschluss vorhanden ist, oder ein einzelner zusätzlicher Sensor nicht ausreicht?

Die Lösung

Ein Merkmal aller Mainboards die über Hardware-Monitoring verfügen ist der System-Management Bus (SM-Bus). Dieser ist dazu in der Lage noch weitere Geräte aufzunehmen - beispielsweise mehr Temperatursensoren. Auf einigen Boards ist für diesen Bus ein frei belegbarer Anschluss vorhanden:

SM-Bus Anschluß SM-Bus Anschluß SM-Bus Anschluß

Viele Mainboard-Hersteller sparen diesen Anschluss allerdings ein. Das bedeutet natürlich nicht, dass auf diesen Boards kein SM-Bus vorhanden ist, man muss lediglich einen entsprechenden Anschluss nachrüsten. Hierzu eignen sich beispielsweise die Speichermodule. Auf allen SD-RAM und DDR-RAM Modulen ist ein sogenanntes SPD-EEPROM, ein kleiner Speicher mit den Timingdaten des RAM-Moduls, vorhanden. Dieses EEPROM ist ebenfalls mit dem SM-Bus verbunden. Hier läßt sich mit etwas Fingerspitzengefühl ein Anschluss anlöten - es müssen lediglich die richtigen Pins herausgefunden werden:

168-Pin SD-RAM DIMM
Pin Bezeichnung Funktion
82 SDA Serial Data; entspricht SMBDATA
83 SCL Serial Clock; entspricht SMBCLK

184-Pin DDR-SD-RAM DIMM
Pin Bezeichnung Funktion
91 SDA Serial Data; entspricht SMBDATA
92 SCL Serial Clock; entspricht SMBCLK

Um die richtigen Pins zu finden eignet sich zum einen die oft auf den Modulen vorhandene Kennzeichnung des jeweils ersten und letzten Pins auf jeder Seite des Moduls. SDA und SCL können auch daran erkannt werden dass sie eine direkte Verbindung zu dem SPD-EEPROM haben, welches meist in einer Ecke des Moduls angebracht ist. Den so nachgerüsteten Stecker sollte man auf irgend eine Art an dem RAM-Modul fixieren, ankleben an einem Chip bietet sich an. Man kann statt dessen natürlich auch direkt an die Lötpunkte eines RAM-Sockels auf der Rückseite des Mainboards gehen, hier gestaltet sich das Löten etwas einfacher als auf einem RAM-Modul. Die zusätzlich zu SMBDATA und SMBCLK benötigten +5V und GND kann man sich von jeder beliebigen Stelle des PCs nehmen - beispielsweise direkt vom Netzteil. Ein How-To zum Nachrüsten eines SM-Bus Anschlusses gibt es ebenfalls auf madhacker.org

SM-Bus Anschluss an SD-RAM SM-Bus Anschluss an SD-RAM
(Bilder anclicken für eine größere Version)

Nun kommt die ICs MAX1668, MAX1989 und MAX1805 der Firma Maxim ins Spiel. Diese ICs verfügen über einen eingebauten Temperatursensor, Anschlüsse für vier (MAX1668 und MAX1989) bzw. zwei (MAX1805) zusätzliche externe Sensoren sowie eine Schnittstelle für den SM-Bus. Die Funktionsweise der drei ICs ist weitestgehend identisch.

Die ICs kommen in einem recht kleinen QSOP-Gehäuse daher - mit einer Kantenlänge von etwa 5 mal 4 Millimeter. Die 16 Pins sind etwa einen viertel Millimeter breit und ungefähr genau so weit auseinander. Um so etwas zu verlöten benötigt man eine ruhige Hand und einen Lötkolben mit einer feinen Spitze. Das MAX1989 ist auch in einem TSSOP-Gehäuse lieferbar, welches noch kleiner ist. Details zu diesen ICs gibt es auf der Homepage von Maxim.

QSOP-Gehäuse

Aufbau

Werfen wir einen Blick auf das Pinout des ICs:

Pinout MAX1668/MAX1805/MAX1989

Pin Bezeichnung Funktion
1-8 DXP_, DXN_ Anschlüsse für die externen Temperatursensoren
9 Vcc Versorgungsspannung; 3,0 bis 5,5 Volt; wird über SM-Bus zur Verfügung gestellt
10,11 ADD1, ADD0 Anschlüsse zur Adressierung bei Verwendung mehrer ICs am selben SM-Bus
12 ALERT Alert-Ausgang für den SM-Bus; wird nicht benötigt
13 SMBDATA SM-Bus Daten Ein- und Ausgang
14 SMBCLK SM-Bus Takt-Eingang
15 STBY Standby-Eingang; wird nicht benötigt
16 GND Masse

Damit sollte der nachfolgende Schaltplan eigentlich selbsterklärend sein:

Schaltplan

CLK, DATA, +5V und GND werden mit den entsprechenden Pins des SM-Bus Anschlusses des Mainboards verbunden (vorzugsweise über eine Steckverbindung). Wenn man nicht vor hat mehr als ein IC an einem Mainboard zu betreiben können die Anschlüsse ADD0 und ADD1 getrost ignoriert werden, ansonsten siehe Abschnitt Adressierung. Da wir ALERT und STBY nicht benutzen können diese ebenfalls unbeachtet bleiben. STBY muß mit der Betriebsspannung verbunden werden. Die Kondensatoren an den Sensor-Anschlüssen können möglicher Weise weggelassen werden, dann besteht jedoch die Gefahr dass auf den Leitungen eingefangene Störsignale zu Messfehlern führen.

Ob man sich eine Platine ätzt oder Lochraster verwendet ist eigentlich gleich. Das Ätzen einer Platine ist recht aufwändig, allerdings gestaltet sich dann das Verlöten des ICs relativ einfach. Bei Lochraster kann man gewissermaßen gleich drauf los löten, muss sich für das IC aber etwas einfallen lassen. Man könnte z.B. das IC mit einem Tropfen Kleber kopfüber auf der Platine fixieren und die Pins dann mit dünnen Drähten anschließen. Eine geätzte Platine hat nebenbei den Vorteil dass sie einen wesentlich ordentlicheren Gesamteindruck vermittelt. Mit der Bügel-/Transfermethode kann man Platinen auch ohne professionelle Ausrüßtung selber ätzen.

Layout zum Ätzen
(Bild anclicken für eine größere Version)

Diese Grafik kann als Schablone zum Ätzen der Platine verwendet werden. Beim Drucken ist darauf zu achten dass der Ausdruck exakt die Maße 50 x 35 Millimeter aufweist, sonst passt das IC später nicht. In dem Layout sind Lötpunkte für zwei parallele SM-Bus Anschlüsse vorhanden. Der zweite Anschluss wird dann benötigt wenn man mehrere dieser Schaltungen an ein Mainboard anschließen will (die ICs werden parallel geschaltet). Weiterhin sind Lötpunkte für einen Jumperblock zur Adressierung vorhanden. Bilder von der fertig bestücken Platine sind weiter unten in dieser Anleitung zu finden.

Wer es etwas professioneller mag, für den hat Roland Ruppert ein Layout für den Eagle Layout Editor von CadSoft zur Verfügung gestellt: Download als ZIP-Archiv, 5KB.

Adressierung

Will man mehr als ein IC an einem Mainboard anschließen muss man jedes IC mit einer eindeutigen Adresse versehen. Hierzu verwendet man die Eingänge ADD1 und ADD0:

ID ADD0 ADD1 Adresse
1 GND GND 18
2 GND offen 19
3 GND Vcc 1A
4 offen GND 29
5 offen offen 2A
6 offen Vcc 2B
7 Vcc GND 4C
8 Vcc offen 4D
9 Vcc Vcc 4E

"offen" bedeutet das der entsprechende Pin nicht angeschlossen wird.

Um die Adressierung variabel zu gestalten kann man einen Jumperblock mit sechs Pins in die Schaltung integrieren:

Jumperblock zur Adressierung

Die oberen beiden Pins sind mit der Versorgungspannung verbunden, die unteren beiden mit Masse und die Pins in der Mitte mit ADD0 bzw. ADD1. Mit Jumpern können die in der Tabelle aufgeführten Kombinationen nach Bedarf hergestellt werden. Da neun verschieden Adressen möglich sind können bis zu neun ICs angeschlossen werden - entspricht maximal 45 zusätzlichen Temperatursensoren (9 lokale und 36 remote)!

Externe Sensoren

Als externe (remote) Sensoren werden gewöhnliche Low-Cost Transistoren verwendet, beispielsweise 2N3904 oder BC547. Die Transistoren müssen als Diode geschaltet werden, d.h. Basis und Collector werden mit einander verbunden. Beim Anschließen an das IC muss die Polung beachtet werden: Der Emitter kommt an DXN_, Basis+Collector an DXP_. Bei einer Verpolung funktioniert der Sensor nicht und das IC zeigt wie auch bei einem offenen Stromkreis eine Temperatur von 127C. Nicht benutzte Sensor-Anschlüsse können mit einem Jumper kurzgeschlossen werden um die Anzeige einer beängstigend hohen Temperatur zu vermeiden; ein Kurzschluss wird als 0C gewertet.

BC547C Transostor Pinout Fertiger Sensor

Um die Trägheit der Sensoren zu verbessern kann das ohnehin schon recht kleine Gehäuse des Transistors weiter verkleinert werden indem man es vorsichtig abschleift. Hierzu eignet sich z.B. der Dremel mit einem Korund-Schleifaufsatz auf niedriger Drehzahl. Man muss dabei aber darauf achten den eigentlichen Transistor im Inneren des Kunststoffkörpers nicht zu beschädigen. Tip: Basis und Collector sollte man vor dem Abschleifen des Gehäuses verbinden.

Die externen Sensoren sind empfindlich gegenüber Störungen durch elektromagnetische Felder. Je nach Länge der Leitung und Stärke der Störquellen können Störungen in Messfehlern von +1C bis zu +10C resultieren. Um dies zu vermeiden können Twisted-Pair Leitungen, gegebenenfalls auch abgeschirmte Leitungen verwendet werden. Besonders gut geeignet ist z.B. Mikrofonleitung aus dem HiFi-Bereich.

Software

Wenn man die Schaltung korrekt aufgebaut und angeschlossen hat können die Sensoren ohne weiteren Konfigurationsaufwand direkt im Motherboard Monitor ausgewählt werden. Motherboard Monitor ist Freeware und kann auf der mbm.livewiredev.com heruntergeladen werden. SpeedFan erkennt das IC ebenfalls. In wieweit andere Monitoring-Software das IC unterstützt ist mir nicht bekannt.
Die Messgenauigkeit des ICs wird im Datenblatt mit 3°C angegeben. Dabei handelt es sich aber scheinbar um einen garantierten Sicherheitswert, alle meine Sensoren haben eine wesentlich höhere Genauigkeit.

Motherboard-Monitor Configuration Motherboard-Monitor Dashboard

In der Sensor-Liste im Motherboard-Monitor werden die neuen Sensoren nach ihrem Chip bezeichnet (MAX1668/1989 bzw. MAX1805), mit einer Index-Nummer entsprechend der Adressierung des ICs (hier "5" und "1").

Materialliste

Stück Bezeichnung Reichelt Best.No.
1 MAX1668MEE -
1 Epoxyd-Platine, Kupferbeschichtet EPCU 120x80
2 Printstecker, 5-Polig PSS 254/5G
2 Stecker-Gehäuse, 5-Polig PSK 254/5W
4 Printstecker, 2-Polig PSS 254/2G
4 Stecker-Gehäuse, 2-Polig PSK 254/2W
1 Krimpkontakte für PSK PSK-Kontakte
4 Keramik-Kondensatoren 2,2nF Kerko 2,2n
4 Transistoren BC547C
1 Folienkondensator 100nF MKS-2 100n
1 Kohleschichtwiderstand 200Ohm 1/W 200
1 Stiftleiste Stiftl. 2X10G
1 3m Flachbandkabel 9-Polig AWG 28-09G 3m

Diese Liste beinhaltet alle Bauteile die benötigt werden um eine funktionsfähige Schaltung aufzubauen. Wenn man das in dieser Zusammenstellung bei Reichelt bestellt kommt man auf Gesamtkosten von ca. 4 Euro. Wobei man den teuersten Faktor, das Flachbandkabel, weglassen kann wenn man z.B. ein altes IDE-Kabel kannibalisiert. Noch billiger kommt man weg wenn man auf ein bisschen Luxus verzichtet und an Stelle der Printstecker übriggebliebene Pins von der Stiftleiste verwendet (hiervon werden für die Adressier-Jumper lediglich 2x3 Pins benötigt, 2x7 bleiben übrig), dann können die Stecker aber verpolt werden wodurch die Schaltung funktionsunfähig werden kann und im Falle eines verpolten SM-Bus möglicherweise das IC oder das Motherboard beschädigt werden kann.
Der einzige mir bekannte deutsche Versender der das MAX1668 führt ist die SE Spezial-Elektronik AG. Allerdings besteht auch die Möglichkeit die ICs direkt über die Homepage von Maxim zu beziehen.

Zusätzlich zu diesem Material benötigt man:

Mit den oben aufgeführten Bauteilen aufgebaut sieht die fertige Schaltung dann in etwa so aus:
Fertige Schaltung mit MAX1668, Oberseite Fertige Schaltung mit MAX1668, Unterseite Fertige Schaltung mit MAX1805, Oberseite Fertige Schaltung mit MAX1805, Unterseite
(Bilder anclicken für eine größere Version)

Schlußbemerkungen

Ich habe die Schaltung mitlerweile zwei mal aufgebaut: Einmal mit einem MAX1668 und einmal mit dem MAX1805. Die Funktion habe ich auf drei verschiedenen Mainboards getestet: Einem Gigabyte GA-7IXI (Rev. 1.1, AMD751/756 Chipsatz; angeschlossen über RAM-Modul), einem Asus A7V (Rev. 1.02, VIA KT133 Chipsatz) und einem Abit NF7-S (Rev. 2.0, nVidia nForce2 Chipsatz). Beide ICs funktionieren an diesen drei Mainboards anstandslos, auch zusammen an einem Mainboard lassen sie sich betreiben. Alles in allem ist das Aufbauen der Schaltung keine große Herausforderung, der einzige Knackpunkt ist das Verlöten des ICs.
Ich hoffe diese Anleitung bietet genug Informationen um auch unerfahrenen Bastlern den Nachbau der Schaltung zu ermöglichen. Bei Fragen empfehle ich die Lektüre der unten angegebenen Links, insbesondere das Datenblatt von Maxim bietet eine wahre Fülle an Detail- und Hintergrundwissen. Natürlich dürft ihr mir auch gerne eine Mail schreiben (Hinweis: Bitte schickt mir keine Anfragen ob ich euch nicht eine solche Platine ätzen oder die Schaltung aufbauen kann. Die Antwort darauf wird immer "nein" lauten, auch wenn ihr mir Bezahlung anbietet. Das liegt nicht daran daß ich euch nicht leiden könnte, sondern schlicht daran daß ich mich nicht gerade über einen Überfluß an Freizeit beklagen kann. Sonstige Fragen und Kommentare sind natürlich auch weiterhin herzlich willkommen!).

Selbstverständlich übernehme ich keine Haftung für eventuelle Schäden die durch den Nachbau dieser Schaltung entstehen.

Gesammelte Links


© ’00-’14 Andreas Lenz | Top | Home | Impressum - switch to english