beelogger

Stockwaage – Temperaturkompensation

Auch beim Einsatz hochwertiger Wägeelemente, wie das beim Arduino Datenlogger mit Stockwaage für Imker verwendeten H30A von Bosche, sind Abweichungen des Gewichtes aufgrund von Temperaturschwankungen, die auf das Gesamtsystem von Wägeelement, Kabel, Verbindungen, HX711, Arduino und der Trägerkonstruktion einwirken, zu verzeichnen. Grade der HX771 ist relativ temperaturempfindlich. Wichtig ist es, zunächst die korrekte Beschaltung des HX711-Boards zu prüfen und diese ggf. zu korrigieren. Eine Anleitung hierzu findet sich unter Kalibrierung & Test – Prüfung und Modifikation HX711. Zudem sollte die Elektronik inkl. HX711 mit einem Gehäuse gegen kurzfristige Temperaturschwankungen geschützt werden. Um den generellen Einfluss der Temperatur zu verringern, kann mit einem temperaturabhängigen Korrekturwert gearbeitet werden. Für unseren Einsatz ermöglicht dies eine ausreichende Genauigkeit. In unseren Tests konnten wir mit Hilfe der Temperaturkompensation innerhalb einer Temperaturdifferenz von 25 Grad eine maximale Abweichung von 45g erreichen (vereinzelte Ausreißer ausgenommen).

Voraussetzung für die Nutzung der Temperaturkompensation, ist die Verwendung eines Temperatursensors zur Ermittlung der Außentemperatur. Für eine noch genauere Kompensation kann die Temperatur des Wägeelementes auch direkt durch Verbindung des Sensors über einen thermischen Leiter gemessen werden. Dadurch entstehen keine Abweichungen durch den Nachlauf der Temperatur des Wägeelementes zur Außentemperatur. Beim Einsatz des beelogger-Solar kann der Temperatursensor des DS3231 verwendet werden. Sofern kein oder nur ein Temperatursensor aktiviert ist und keine andere Konfiguration vorgenommen wurde, liefert die RTC die Daten für TemOut.

In allen Programmcodes wird die Temperaturkompensation unterstützt. Zur Konfiguration werden lediglich die Werte für 2 Variablen benötigt, die Temperatur zum Zeitpunkt der Kalibrierung (‘Kalibriertemperatur’) sowie der Korrekturwert (‘KorrekturwertGrammproGrad’).

Zur Ermittlung des Wertes für ‘KorrekturwertGrammproGrad‘ wird die kalibrierte Stockwaage zunächst mit einem fixen Referenzgewicht belastet. Über einen längeren Zeitraum wird nun das gemessene Gewicht sowie die Außentemperatur aufgezeichnet. Hierbei sollte möglichst ein Ort mit entsprechenden Temperaturschwankungen gewählt werden. Ein Wohnraum mit konstanter Temperatur wird keine verwertbaren Daten liefern. Hierfür können der Programmcode und die Webserverskripte verwendet werden, wobei darauf zu achten ist, dass ‘KorrekturwertGrammproGrad‘ den Wert ‘0’ hat.

Liegen ausreichend Daten vor, kann die über die Webserverskripte erstellte CSV-Datei vom Webserver geladen und mit einem Tabellen-Kalkulationsprogramm mit ‘Komma’ als Trennoption geöffnet werden.

Für jedes Datenpaar aus Gewicht und Temperatur wird nun ein individueller Korrekturwert mit folgender Formel ermittelt:

 

Absolutwert der Differenz von Referenzgewicht und aktuellem Gewicht

——————————————————————————————–

Absolutwert der Differenz von Temperatur zum Zeitpunkt der Kalibrierung (Kalibriertemperatur) und aktueller Temperatur

 

Aus den auf diese Weise berechneten Korrekturwerten wird nach Entfernung möglicher Ausreißer der Median (kein Durchschnitt) ermittelt. Das Ergebnis wird als Wert der Variable ‘KorrekturwertGrammproGrad’ zusammen mit der ‘Kalibriertemperatur’ in der Konfiguration des Programmcodes eingetragen.

Alternativ zu dieser Methode kann der Korrekturwert auch grafisch über die Webserverskripte ermittelt werden. Hierzu müssen lediglich in der Datei ‘beelogger_log-php’ ein paar Zeilen ergänzt werden und der jeweilige Korrekturwert des aktuellen Datenpaares wird parallel, beispielsweise anstatt ‘Bienen In-Out’, eingetragen.

Vor dem Code zum Speichern der Messwerte

werden hierzu folgende Zeilen in der Datei ‘beelogger_log-php’ mit eigenen Werten für ‘Kalibriertemperatur’ und ‘Referenzgewicht’ eingefügt:

Über den hiermit erzeugten Graphen unter ‘Bienen In-Out’ kann der ‘KorrekturwertGrammproGrad’ abgeschätzt werden. Danach müssen die obigen Zeilen aus der Datei ‘beelogger_log-php’ wieder entfernt werden, um den Bienenzähler komplett nutzen zu können.

Der Programmcode des beeloggers ist so konfiguriert, dass bei Unterschreiten der Kalibriertemperatur das Produkt aus Korrekturwert und Temperaturdifferenz zum Gewicht addiert wird. Bei Überschreiten der Kalibriertemperatur wird dieses Produkt vom Gewicht subtrahiert. Verhält sich beim Einsatz einer anderen Wägezelle das System entgegengesetzt, kann dies im Programmcode einfach angepasst werden.

Um eine genauere Temperaturkompensation zu ermöglichen, könnten unterschiedliche Korrekturwerte, abhängig von der Außentemperatur oder der Temperaturdifferenz von Außen- und Kalibriertemperatur, über eine entsprechende Abfrage variabel eingesetzt werden.

Zur Überprüfung der Temperaturkompensation sind die Messwerte der konfigurierten Stockwaage mit fixem Referenzgewicht eine weitere Zeit lang in gleicher Umgebung aufzuzeichnen. Der Gewichtsverlauf sollte sich nun mit relativ geringen Abweichungen vom Referenzgewicht bewegen.