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.

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.

Baustelle  …  hier ist das beelogger-Team derzeit aktiv:
Die Berechnung der Korrektur wurde angepasst.

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

Referenzgewicht minus aktuellem Gewicht
——————————————————————————————–
Temperatur zum Zeitpunkt der Kalibrierung (Kalibriertemperatur) minus aktuelle Temperatur

Beispiel: 7120g-7005g/17.6°C-12.6°C = 115g/5.0°C = 23 g/°C

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.

Baustelle … Ende.

 

Zur Kontrolle der ermittelten Werte der Temperaturkompensation steht eine Offline-Grafik zur Verfügung. Die csv-Datei des beeloggers, z.B. vom Webserver heruntergeladen, wird damit angezeigt und mit den Werten eine korrgierte Kurve dargestellt.

Hier kann die Temperaturkompensation auch direkt online ermittelt werden: