Temperatursensor LM75 mit dem RasPi ansteuern

© Texelart, 123rf.com

Fühlen und messen

Dank seines programmierbaren Ausgangs eignet sich der digitale Sensor LM75 bestens, um mit einem RasPi die Temperatur zu überwachen.

Bei der Außentemperatur sprechen Wetterfrösche von "Wind-Chill" und gefühlten Werten. Wenn es aber um wertvolle elektronische Bauteile geht, schützt subjektives Empfinden nicht vor Schaden. RasPi-Fans haben die harten Fakten auf dem Schirm: Mit einem Temperatursensor und etwas Programmlogik ermitteln Sie im Handumdrehen die tatsächlichen Werte und setzen so, wenn nötig, einen Lüfter in Gang.

TIPP

Dieser Artikel setzt auf dem Grundwissen auf, das der erste Artikel dieser Reihe vermittelte. Sie finden ihn zusammen mit dem zweiten Teil jeweils als PDF-Datei auf der Heft-DVD.

Den für dieses Beispiel verwendeten LM75-Sensor (Abbildung 1) erhalten Sie allerdings nicht in einer für Bastler angenehmen DIL8-Bauform, sondern lediglich als SO8 mit kurzen Beinchen. Dabei handelt es sich um eine SMD-Bauform, bei der die Pins ein Rastermaß von 1,27 Millimetern haben. Nähere Informationen dazu zeigt der Kasten "Kompaktklasse". Zum Löten brauchen Sie jedoch eine ruhige Hand und eine feine Lötspitze.

Abbildung 1: Die Pin-Belegung zeigt Ihnen, wo Sie was am LM75 anschließen müssen.

Kompaktklasse

SMD kommt aus dem Englischen und bedeutet "surface mounted device", auf Deutsch also so viel wie "oberflächenmontiertes Bauelement". Das Verlöten der Bauelemente auf der Platine erlaubt eine höhere Dichte der Bauelemente. Die komplette Rückseite der Platine steht außerdem bereit, um sie anderweitig zu bestücken.

SMD-Bausteine nutzen darüber hinaus im Vergleich zu den üblichen Elektronikkomponenten ein geringeres Rastermaß. Das und die nicht mehr vorhandenen Anschlussbeinchen machen die Herstellung erheblich billiger. Den Hobbylöter stellt dies aber vor eine Herausforderung: Die Teile fallen so klein und leicht aus, dass sie durch die Oberflächenspannung des Lötzinns an der Spitze hängen bleiben.

Um das zu verhindern, kleben Sie die Bauteile vor dem Löten fest oder fixieren sie mit einer Pinzette. Der Handel bietet darüber hinaus spezielle Lötpasten an, die Sie mit einer Spritze an den Lötpunkten anbringen und dann mit einem Fön schmelzen. Selbst dabei kommen Sie aber nicht umhin, die Bauteile vorher zu verkleben.

Sie erhalten den Sensor für die Betriebsspannungen 3,3- und 5 Volt. Beim Anschließen müssen Sie deswegen genau auf die Angaben des Datenblatts achten. Der LM75 [1] besitzt drei Adresseingänge, folglich arbeiten bis zu acht dieser Bausteine an einem gemeinsamen Bus. Die Adressen beginnen bei 0x48h und reichen bis 0x4Fh.

Für die hier vorgestellten Experimente gilt es zu beachten, dass der Interrupt- beziehungsweise Alarmausgang über einen Feldeffekt-Transistor mit herausgeführtem Drain realisiert ist. Das bedeutet, dass er ohne zusätzlichen externen Pullup-Widerstand keinen sauberen Logikpegel liefert. Zusätzlich steht der Ausgang ab Werk auf "low aktiv" und nimmt maximal 10 mA auf. Achten Sie deshalb auf einen möglichst geringen Strom. Jedes Milliampere erzeugt zusätzliche Wärme, die womöglich das Messergebnis verfälscht.

Aufbau

Der Aufbau des Versuchs (Abbildung 2) simuliert einen Regler in Abhängigkeit von der Temperatur für einen Lüfter. Bei zu hohen Werten schaltet der Sensor den Lüfter ein, bis es wieder kühl genug ist. Dafür verbinden Sie den LM75 mit ein paar Drähten an einem DIL8-Sockel, schließen die Spannungsversorgung an und legen alle Adressleitungen auf Masse.

Abbildung 2: Dieser einfache Testaufbau genügt, um mit dem Temperatursensor zu arbeiten.

Die Leitungen SDA und SCL verbinden Sie mit dem RasPi. An den Ausgang OS schalten Sie eine LED mit einem 1K-Widerstand gegen +UB (Abbildung 3). Ein kleiner Test mit dem Befehl i2cdetect zeigt, ob alles stimmt (Listing 1). Sollten Fehler auftreten, prüfen Sie, ob Sie alle nötigen Vorarbeiten aus Teil 1 dieser Reihe vorgenommen haben.

Listing 1

 

$ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Abbildung 3: Der Schaltplan des LM75-Moduls gestaltet sich vergleichsweise simpel.

Der LM75 besitzt vier interne Register (siehe Tabelle "Register"). Bis auf das für die Konfiguration handelt es sich um 16-Bit-Register. Sie arbeiten zwar auch mit 8 Bit, das kostet allerdings 0,5 Grad Celsius an Messgenauigkeit.

Register

Adresse

Funktion

0x00h

Temperatur

0x01h

Konfiguration

0x02h

Temperatur-Abschaltwert

0x03h

Temperatur-Anschaltwert

Temperaturmessung

Das erste Testprogramm (Listing 2) liest die Temperatur in Register 0 aus und zeigt sie im Terminal an. Wir lesen das Register 0 als 16-Bit-Register ein. Das niederwertige Byte repräsentiert die ganzzahlige Temperatur. Befindet sich im hochwertigen Byte ein Wert, entspricht das einem Plus von 0,5 Grad Celsius.

Listing 2

 

#include <wiringPiI2C.h>
#include <stdio.h>
int main (void) {
  int handle = wiringPiI2CSetup (0x48) ;
  int reg0=wiringPiI2CReadReg16(handle,0x00);
  int temp=reg0&0x00ff;
  int half=0;
        if(reg0&0xff00) half=5; else half=0;
  printf("Temp:%d,%d\n",temp,half);
  return 0 ;
}

Anscheinend dreht die Methode wiringPiI2CWriteReg16() die 2 Bytes, laut Datenblatt müsste es genau anders herum sein. Aber das stört nicht weiter. Den Quellcode des Programms finden Sie auf der Heft-DVD; Sie kompilieren ihn wie in Listing 3 beschrieben.

Listing 3

 

$ cc lm75.c -lwiringPi
$ ./a.out
Temp:21,0

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

08/2019
Smarte Hacks

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Immer der Reihe nach

    Mit einer einfachen Schaltung testen Sie Bausteine, die über den SPI-Bus miteinander kommunizieren.

  • Einzigartig

    Eine MAC-Adresse ermöglicht die Kommunikation im Netzwerk. Der 24AA02E48 liefert sie für Setups, die aus grundlegenden Komponenten bestehen.

  • Steinkuchen

    Der Raspberry Pi hat viele Fans, doch nicht ohne Grund sehnen sich viele Anwender nach einem RasPi 4. Der Rock Pi 4 übertrumpft den RasPi 3 in Sachen Leistung um Längen und schlägt sich auch in der Praxis gut.

  • Kerngeschäft

    Der Einstieg in die Welt der Mikrocontroller fällt nicht ganz leicht. Mit dem Nucleo F401RE haben Sie jedoch ein Entwicklerboard samt abgestimmter Entwicklungsumgebung an der Hand.

  • Himbeer-Geräte

    Mit Maus und Tastatur im weiß-roten Raspberry-Look macht die Raspberry Pi Foundation das eigene Angebot an Peripheriegeräten für den Mini-Rechner komplett.

  • Unter Kontrolle

    PiCockpit ist eine speziell auf den RasPi zugeschnittene Online-Monitoring-Lösung. Wir werfen einen ersten Blick auf den brandneuen und in Ausbau befindlichen kostenlosen Dienst.

  • Ins rechte Licht gesetzt

    Selbst ohne eigenen Garten holen Sie sich Pflanzen mithilfe von LEDs in jeden Raum und sehen ihnen mit dem RasPi beim Wachsen zu.

  • Helligkeit nach Maß

    Wer bei wechselnden Lichtverhältnissen nicht ständig die Beleuchtung manuell nachregeln möchte, der spannt dafür einen PiXtend ein.

  • Geschrumpft

    Kleine Bildschirme gibt es zwar viele, aber der Support von Raspbian ist überraschend schlecht. Mit ein paar Tricks erzielen Sie trotzdem ein optimales Ergebnis.

  • Brüllwürfel

    Kompakt-Stereoanlagen mit CD-Spieler und Kassettendeck sind inzwischen oft ein Fall für den Recyclinghof – oder für die digitale Wiederbelebung mit einem RasPi und etwas Geschick.