AVR Ethersex Temperatursensoren

Aus Wiki
Zur Navigation springen Zur Suche springen

Einleitung

Dallas bietet zahlreiche Bausteine -unter anderem mehrere Temeratursensoren- mit 1-Wire Interface an. Für die Datenübertragung vom/zum Mocrocontroller ist lediglich eine Leitung erforderlich. Sämtliche Bausteine hängen an diesem 1-Wire-Bus. Die Adressierung der einzelnen Bausteine erfolgt über eine eindeutige, einmalige 64Bit Seriennummer, die jeder Baustein während der Fertigung erhält. Diese Seriennummer kann neben der Adressierung auch für die eindeutige Identifikation eines kompletten Gerätes dienen.

Ethersex unterstützt folgende 1-Wire Bausteine, wobei im Folgenden nur Temperatursensoren angesprochen werden:

  • DS1820 (Temperatursensor)
  • DS18B20 (Temperatursensor)
  • DS18S20 (Temperatursensor)
  • DS1822 (Temperatursensor)
  • DS2502 (EEPROM)
  • DS2450 (4 Kanal ADC)


Anschluss an Ethersex

Der 1-Wire Bus kann an jeden freien Portpin angeschlossen werden. Neben dem 1-Wire-Bus benötigen die Temperatursensoren lediglich noch +5V und GND Spannungsversorgung. Der 1-Wire-Bus wird mit einem 4,7kOhm Pullup-Widerstand versorgt. Der 1-Wire-Bus kann an jeden beliebigen freien Pin angeschlossen werden. Hier im Beispiel Port B3 (PB3).

1Wire.png

Pinbelegung Temperatursensoren:

DS18S20.png


Konfiguration Ethersex

make menuconfig

Folgende Option (zusätzlich) aktivieren:

|-I/O
|   |-Onewire Support
|   |   |-Onewire Device detection support
|-General Setup
|   |-VFS (Virtual File System)
|   |   |-VFS File Inlining
|   |   |    |-Inline Onewire

Pinning bearbeiten:

gedit ~/Dokumente/ethersex/pinning/hardware/netio.m4

Folgende Zeilen einfügen, falls diese noch nicht vorhanden sind. Den Port Pin PB3 evtl. anpassen:

/* onewire support */
pin(ONEWIRE, PB3)


Funktionstest

Ethersex neu kompilieren und übertragen.

Weboberfläche

Browser öffnen und Adresse http://IP_ETHERSEX öffnen.

Die Temperaturwerte können entweder tabellarisch angezeigt werden, oder grapfhisch.

  • Tabellarische Anzeige

In der Ethersex Mainpage auf den Link "The onewire temperature values are accessible here ..." klicken. Folgende Webseite erscheint:

Temp data.png

Sämtliche gefundenen Temperatursensoren werden mit ihrer 64Bit-Adresse und zugehörigem Temperaturwert tabellarisch aufgelistet.


  • Graphische Anzeige

In der Ethersex Mainpage auf den Link "graphical Variant" klicken. Folgende graphische Darstellung des Temperaturverlaufes erscheint:

Temp graphik.png

Analog zu der tablellarischen Auflistung wird auch hier jeder Temperatursensor mittels Adresse und Temperaturwert digital angezeigt. Zusätzlich werden die Werte graphisch ausgegeben, um den Temperaturverlauf sichtbar zu machen.


ECMD

Eine Verbindung zum Ethersex, wie → hier beschrieben, aufbauen.

1w list

Eine Auflistung der 64Bit Adressen sämtlicher gefundener Temperatursensoren wird ausgegeben. Z.B.

10db1d7001080022

Anschließend eine Konvertierung des Temperaturwertes anstossen:

1w convert

Und schließlich den Temperaturwert des Sensors anzeigen (64Bit-Adresse 10db1d7001080022 durch eben ermittelte Adresse ersetzen):

1w get 10db1d7001080022


Einbindung in C6 Script

In Arbeit