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 HX711 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 Temperatursensor für TempOut aktiviert ist und keine andere Konfiguration vorgenommen wurde, liefert die DS3231-RTC die Daten für TempOut.

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.

Dadurch, dass die neuen Webserverscripte und Sketche die Gewichtsdaten sowohl unkomprimiert als auch komprimiert aufzeichnen, lässt sich der Temperaturkompensationswert recht einfach ermitteln.

Schritt für Schritt-Anleitung zur Ermittlung des “KorrekturwertGrammproGrad”:

So sieht beispielsweise der Gewichtsverlauf einer “schlechten” Wägzelle für ein Festgewicht von ca. 2,6kg aus:

Nun wählt man sich in der Temperaturkurve einen möglichst hohen Hub:

 

Im Anschluss wird der Bereich zwischen diesen Werten durch die beiden Rangeselectoren eingeengt:

Dann wählt man nur den Temperatursensor an und liest rechts die Differenz ab. In diesem Beispiel -9 Grad.

 

Und macht das Gleiche für den unkomprimierten Gewichtswert “Gewichtswert(1A) unkomp.” – hier: 0.35 Kg

Den ‘KorrekturwertGrammproGrad erhält man dann ganz einfach durch folgende Formel: