|
Mit
dem I2C-Temperatursensor können Sie folgende Geräte erweitern:
- AVR-Microcontroller - Arduino - Raspberry Pi
- BASIC-Matchbox
- C-Control
- Mit dem I2C-RS232-Koppler
oder
dem I2C-Modem Temperaturen
zum PC einlesen
|
Mit dem I2C-Temperaturmodul lassen sich Raum- oder
Oberflächentemperaturen zwischen -55 °C und +125 °C in 0,5 °C
Schritten erfassen. Als Sensor dient der I2C-Baustein LM75
von National Semiconductor
Aufbau:
Das nachfolgende Blockschaltbild zeigt den Aufbau des Chips sowie
die Pin-Belegung.
|
Pin |
Bezeichnung |
Bedeutung |
1 |
SDA |
Datenleitung |
2 |
SCL |
Taktleitung |
3 |
O.S. |
Schaltausgang |
4 |
GND |
Masse |
5 |
A2 |
Über die Adress-Eingänge lassen sich bis
zu 8 Bausteine adressieren |
6 |
A1 |
7 |
A0 |
8 |
+Vs |
Versorgungsspannung
(+5V) |
|
Programmierung:
Der Baustein hat vier Register welche über ein Zeiger (Pointer)
angesprochen werden. Die folgende Tabelle zeigt den Aufbau des
Zeigers
0 = Temperatur-Register - 2 Byte (nur Lesen)
In diesem Register steht der gemessene Temperaturwert.
Das Register hat 2 Byte mit folgendem Aufbau
High-Byte (1. Byte) |
|
Low Byte (2. Byte) |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Temperatur Vorkommastelle |
|
NK |
|
Im ersten Byte steht der Vorkomma-Wert der Temperatur.
Im zweiten Byte steht entweder "0" bei z.B. 20,0 °C oder 128 bei
z.B. 20,5 °C.
Lesen der Ist-Temperatur:
Will man die Temperatur über den I2C-Bus auslesen braucht man den
Zeiger eigentlich gar nicht setzen, da dieser bei Spannung EIN
"0" ist.
Es genügen also folgende Anweisungen:
START |
Adresse +1 |
ACK vom LM75 |
1. Byte lesen Temperatur VK |
ACK vom Master |
2. Byte lesen Temperatur VK |
NO ACK vom Master |
STOP |
Wurde der Zeiger verstellt muss er vorher mit "0" belegt
werden. Die Anweisungen lauten in diesem Fall so:
START |
Adresse |
ACK vom LM75 |
"0" schreiben (Zeiger auf 0 stellen) |
ACK vom LM75 |
STOP |
|
START |
Adresse +1 |
ACK vom LM75 |
1. Byte lesen Temperatur VK |
ACK vom Master |
2. Byte lesen Temperatur VK |
NO ACK vom Master |
STOP |
|
1 = Konfigurations-Register - 1 Byte (lesen /
schreiben)
Über das Konfigurationsregister lassen sich Eigenschaften
des LM75 einstellen. Bei Spannung EIN sind alle Bits
"0".
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
0 |
0 |
Anzahl Zyklen bis zum Umschaltung |
OS-Pin 0/1 aktiv |
Interrupt Modus |
Spar- -modus |
Bit 0 - Stromsparmodus 1 = EIN 0 = AUS:
1 =
Aktivierung des Stromspar-Modus (unter 1yA). Der OS-Ausgang
wird zurückgesetzt.
Bit 1 - Interrupt - Modus:
0 = Compare-Modus
Der Ausgang "OS" folgt den eingestellten Temperaturschwellen. In der
Grundstellung schaltet der Ausgang bei 80°C EIN und bei 75°C wieder
aus.
1 = Interrupt-Modus
Der Ausgang "OS" wird "1" wenn die Schaltschwelle über- oder
unterschritten wird. Der Ausgang wird durch einen Lesevorgang des
Registers zurückgesetzt.
Bit 2 - OS-Pin:
Über dieses Bit kann die "Schaltrichtung" des OS-Ausganges
umgekehrt (invertiert) werden
Bit 3, 4 - Messzyklen bis zur Umschaltung:
Über die beiden Bits kann eingestellt werden wie viele
Messzyklen der Temperaturwert über- oder unterschritten sein muss
bis der OS-Ausgang geschaltet wird. Man kann damit ein "flattern"
des Ausganges vermeiden.
Bit 5, 6, 7 - nicht belegt:
Müssen mit "0" belegt bleiben.
Schreiben des Konfigurationsbytes:
Mit den nachfolgenden Anweisungen wird das Konfigurationsbyte zum LM75 geschrieben:
START |
Adresse |
ACK vom LM75 |
"1" schreiben (Zeiger auf 1 stellen) |
ACK vom LM75 |
Konfigurationsbyte schreiben |
ACK vom LM75 |
STOP |
Lesen des Konfigurationsbytes:
START |
Adresse |
ACK vom LM75 |
"1" schreiben (Zeiger auf 1 stellen) |
ACK vom LM75 |
STOP |
|
START |
Adresse +1 |
ACK vom LM75 |
Konfigurationsbyte lesen |
NO ACK vom Master |
STOP |
|
2 = THYST - Register
unterer Schaltpunkt - 2 Byte (lesen /
schreiben)
Dieses Register enthält den unteren Schaltpunkt des OS-Ausganges
also die Temperatur bei dem der OS-Ausgang wieder ausgeschaltet
wird.
Der Aufbau des Register ist identisch mit dem Temperaturregister.
(Siehe oben)
Schreiben des THYST-Registers:
Mit den nachfolgenden Anweisungen wird das THYST-Register geschrieben:
START |
Adresse |
ACK vom LM75 |
"2" schreiben (Zeiger auf 2 stellen) |
ACK vom LM75 |
|
1. Byte schreiben THYS Temperatur VK |
ACK vom LM75 |
2. Byte schreiben THYS Temperatur NK |
ACK vom LM75 |
STOP |
|
Lesen des THYST-Registers:
START |
Adresse |
ACK vom LM75 |
"2" schreiben (Zeiger auf 2 stellen) |
ACK vom LM75 |
STOP |
|
START |
Adresse +1 |
ACK vom LM75 |
1. Byte lesen THYS Temp. VK |
ACK vom Master |
2. Byte lesen THYS Temp. NK |
NO ACK vom Master |
STOP |
|
3 = TOS - Register
oberer Schaltpunkt - 2 Byte (lesen /
schreiben)
Dieses Register enthält den oberen Schaltpunkt des OS-Ausganges
also die Temperatur bei dem der OS-Ausgang eingeschaltet
wird.
Der Aufbau des Register ist identisch mit dem Temperaturregister.
(Siehe oben)
Schreiben des TOS-Registers:
Mit den nachfolgenden Anweisungen wird das THYST-Register geschrieben:
START |
Adresse |
ACK vom LM75 |
"3" schreiben (Zeiger auf 3 stellen) |
ACK vom LM75 |
|
1. Byte schreiben TOS Temperatur VK |
ACK vom LM75 |
2. Byte schreiben TOS Temperatur NK |
ACK vom LM75 |
STOP |
|
Lesen des TOS-Registers:
START |
Adresse |
ACK vom LM75 |
"3" schreiben (Zeiger auf 3 stellen) |
ACK vom LM75 |
STOP |
|
START |
Adresse +1 |
ACK vom LM75 |
1. Byte lesen TOS Temp. VK |
ACK vom Master |
2. Byte lesen TOS Temp. NK |
NO ACK vom Master |
STOP |
|
Beispiele als Excel Makro |
|
I2C-Ps-LM75-Test.xls und port.dll als ZIP-Datei (68 kB)
Excel-Makro mit dem die Funktion des I2C-Temperatursensors
mit dem I2C-Koppler getestet werden kann. |
|
I2C-Modem-Test.zip (83 kB) Excel-Makro mit je
einem Beispiel zur Ansteuerung der I2C-Ausgabekarte,
I2C-Eingabekarte und dem Temperatursensor LM75 mit dem
I2C-Modem und der port.dll |
|
vba-makros.pdf (528 kB)
Bei den Makros kann es je nach Sicherheitseinstellungen zu Fehlermeldungen kommen.
Eine Anleitung wie Sie die Makros ausführen können finden Sie in diesem Dokument |
|
Bausätze können Sie günstig in unserem Onlineshop in der Rubrik
"I2C-Komponenten" bestellen. |
Copyright © www.horter.de All rights reserved.
|