IoT #5: Datenüberprüfung

Nun werden die Sensorwerte aller 5 Temperatursensoren in einer Datenbank gespeichert! 😎
Das spricht für meine Programmierung: Ich musste die Mikrocontroller-Software kaum anpassen. Egal ob ich nun einen Sensor erfassen möchte oder 5, die Software reagiert selbstständig darauf. Der Mikrocontroller liest beim Neustart die angeschlossenen Sensoren ein. Daraufhin wird die Schnittstelle zum Server entsprechend angepasst (JSON-Daten).

Die Funktionsweise der Software werde ich in einem späteren Artikel noch näher erläutern.

Protokollierte Sensorwerte

Im Folgenden die mit Microsoft Excel erstellten Diagramme der 5 Sensoren. Ein Web-Frontend zur Darstellung solcher Diagramme ist geplant. Dann müssen diese Daten nicht mehr manuell ausgewertet werden.

Messauflösung

Im Datenblatt des Sensors wird die Genauigkeit mit ±0,5 °C angegeben. Die Auflösung ist programmierbar zwischen 9 und 12 Bit. Die Wandlungszeit beträgt dann zwischen 94 und 750 ms.

In den oben dargestellten Diagrammen ist die Auflösung sehr gut an den Stufen erkennbar. Das zeigt deutlich, dass es sich nicht um einen reinen Analogwert handelt, sondern bereits digital gewandelt wurde.

Das Delta beträgt 0,0625 °C und entspricht einer Auflösung von 12 Bit. Dies ist im Datenblatt genau so auch angegeben und der Standardwert des Sensors.

Plausibilitätsprüfung

Sensoren 1, 2, 4 und 5

Diese Sensoren liefern plausible Werte. Interessant ist, dass die Temperaturschwankung gegen Ende gering bis gar nicht vorhanden ist. Dies könnte jedoch korrekt sein. Das Verhalten gilt es jedoch noch zu prüfen, in dem das System einer Temperaturschwankung ausgesetzt wird. Ändern sich die Sensorwerte entsprechend, ist die Erfassung korrekt.

Sensor 3

Direkt ins Auge sticht der Temperatursensor Nr. 3. Hier liegen die Werte bei konstant 85 °C und das im Wohnbereich! Diese Werte stimmen daher nicht. Nun gibt es mehrere mögliche Ursachen:

  1. Ein Fehler in der Schaltung dieses einen Sensors
    (Spannung, Massepotenzial, …)
  2. Ein defekter Sensor
  3. Ein Fehler am Sensorstecker
  4. Ein Fehler in der Software.
    Diesen schließe ich hier vorerst aus. Die Software ist so dynamisch programmiert, dass sämtliche Sensorwerte identisch verarbeitet werden.

Wird der Sensor am Steckplatz eines funktionierenden Sensors betrieben, wandert der Fehler mit. Somit kann ein Fehler in der grundlegenden Schaltung (Punkt 1) ausgeschlossen werden.

Der Sensor kommuniziert mit dem Mikrocontroller und überträgt seine eindeutige ID. Einen Sensordefekt kann ich nicht komplett ausschließen. Die integrierte Logik (AD-Wandlung, Bus, …) funktioniert. Der eigentliche Sensor (die Temperaturmessung) könnte jedoch defekt sein.

Ein Blick ins Datenblatt des Sensors DS18B20 liefert folgenden Hinweis:

The power-on reset value of the temperature register is +85°C.

Datenblatt DS18B20

Das könnte auf eine schlechte Kontaktierung hindeuten. Daher habe ich den von mir angelöteten Sensorstecker neu verlötet. Anschließend funktionierte auch dieser Sensor! 🙂

Wertänderungen

Zur Überprüfung der korrekten Erfassung, wird das System – wie oben erwähnt – einer Temperaturänderung ausgesetzt. Dazu habe ich einfach das Fenster geöffnet.
Alle Sensoren zeigten den prinzipiell im Folgenden dargestellten Temperaturverlauf. Dieser stammt vom nun funktionierten Sensor Nr. 3. Damit funktioniert die Erfassung aller Sensoren einwandfrei. Auch die WLAN-Verbindung ist stabil.

Schreibe einen Kommentar