Untersuchung und Datensammlung zur Temperaturabhängigkeit des gesamten Wägezellen-Subsystems

Wir hatten in diversen Threads auf der Mailingliste schon über die Möglichkeit der Temperaturkompensation für die Wägezelle / Wägeelektronik gesprochen. Die Theorie dahinter ist, dass sich Material, ob Wägezelle selbst oder Sensorelektronik oder Ströme an Übergangspunkten mit der Temperatur ändern können. Im Idealfall wird das auf Hardwareseite ausgeglichen, Bosche beschreibt seine Wägezellen z.B. als “temperaturkompensiert”. Hier in der community gibt es aber eher die Meinung, dass Temperaturunterscheide - bei ansonstem konstantem Gewicht - den gemessenen Wert beeinflussen.

In diesem Thread möchte ich Daten sammeln, die aufzeigen

  • ob dieser postulierte Temperatur-Effekt vorliegt
  • falls ja, wie hoch er ist
  • wie er über verschiedene Hardwaresettings, wie Wägezellen-Modell, ggf. Einzelelle, Auswertungselektronik usw., ausgeprägt ist.

Daher miene Bitte hier eure Daten posten, die ihr dazu gesammelt habt. Im Idealfall ein großer Temperaturbereich bei ansonsten gleichen Bedingungen, speziell konstantem Gewicht. Bitte immer euer Setting wie Elektronik, Wägezelle, draußen/drinnen, Gewicht angeben.

Hier ein paar Testdaten von mir:

Beschreibung des Setups

  • Board: Open Hive WiFi Solar / Adafruit HUZZAH
  • MCU: ESP8266
  • Wägezelle: Bosche H30A
  • Wägegestell: L-Profil-Wägeplattform (Open-Hive 1/2-Waage)
  • Kabellänge Wägezelle: ca. 1 m
  • ADC: HX711
  • Strom: 4 x AA
  • Gewicht: 3 kg (wird im Datensatz als 6 kg angezeigt, da 1/2 Waage)
  • Messung alle 60 Minuten
  • Standort: Balkon in Berlin-Friedenau
  • Zeitraum: 2017-02-07 bis 2017/04/07
    Hinweis: Die Daten von 2017/02/18 bis 2017/03/03 wurden gelöscht, da anderes Testgewicht.

Erhobene Daten

Impressionen

Analyse

Die ca. 1100 Datensätze decken einen Temperaturbereich von -5,2 bis 29,9 °C ab. Wie auf dem Foto zu sehen ist ist der Temperatursensor, ein DHT22, mit einem Plastik-Becker geschütz. Hier entsteht Stauwärme - vermute ich - weshlab die 30 °C vermutlich nicht ganz realistisch sind. Das Gewicht geht von 6,003 bis 6,106 kg wobei das reale Gewicht schon auf firmware-Ebene gedoppelt wird, da die Waage eigentlich für eine “halbe Messung” konzipiert ist. Daher sind die realen Gewichte 3,002 bis 3,053, sprich sie schwanken um ca. 50 g!

In einem x-y-Diagramm schaut das dann so aus, x: Gewicht, y: Temperatur:

Vieles ballt sich im 6,02 bis 6,04-Bereich bei einem Temperatur-delta von ca. 20 ^C. Die Korrelation beträgt 0,4, schon ordentlich. Auch scheint es grafisch so, dass es zwei Verteilungen gibt, eine lineare mit 0 Steigung über den gesamten Gewichtsbereich und eine zweite ca. 6 kg bis 6,08 mit einer positiv linearen Abhängigkeit zur Temperatur.

Wenn man bedenkt, dass die Werte unter Freilandbedingungen entstanden sind müsste man von den gemessenen Werten noch den Anteil abziehen, den der Regen als stehendes Wasser verursacht. Man sieht im nächsten Diagramm ganz schön, dass bei Regen - als Indikator eignet sich 100% Luftfeuchte ganz gut - das Gewicht ebenfalls ansteigt. Vielleicht sollte ich das mal rausrechnen.

Fazit

Für mich ergibt sich damit kein Handlungsbedarf in Richtung Temperaturkompensation! +/- 25 g sind absolut in Ordnung als Schwankung und jenseits von dem (im positiven Bereich) was die Wägezelle als eichfähige Zelle mit einem Maximalbereich bis 200 kg hergibt! Auch sind Temperaturänderungen langsame Änderungen die gerade im Regelbetrieb mit weiteren Einflussgrößen wie Honigeintrag, Flugbienen usw. einhergehen.

Das Anbieten einer Temperaturkompensation würde ein Problem herbeireden, das es nicht gibt. Wir sollten statt dessen lieber sagen, unser Setup ist so gut, dass wir so etwas nicht brauchen!

Wie auf der Mailingliste geschrieben, hatte ich bei der Testwaage unter einem Volk Schwankungen die deutlich höher waren als hier berichtet, allerdings ohne konstantes Gewicht, die Bienen waren es aber auch nicht. Ich möchte damit sagen, dass es auch bei mir Schwankungen gibt, die ich allerdings nicht näher eingrenzen konnte oder an einem anderen Aufbau gelegen hatten. Sprich, das Thema ist für mich noch nicht “durch”. Als Überzeugung dafür, dass wir so was brauchen hätte ich aber gerne Fakten, sprich Messdaten von Temperatur und Gewicht mit weiteren Ausschlägen als bei mir.

Die ganze Geschichte lief bei mir nur mit 3 kg, kann sein, dass sich so eine Waage bei 150 kg dann anders verhält, was zu prüfen wäre …

3 Likes

Oben hatte Ich den Bereich mit einem anderen Testgewicht ausgespaart. Hier sind die Daten mit den 4 kg (real 2 kg) separat dargestellt: data-test001-4kg.csv (15.1 KB)

r = 0,13, ansonsten ähnlich wie oben. Die zweite eher nach oben gezogene Datenwolke sehe ich hier nicht, was sich auch in der niedrigeren Korrelation zeigt.

…aber tausche doch bitte auch in diesem Graphen x und y aus; wir wollen uns ja die Funktion ‘Gewicht ist (auch) eine Abhängige der Temperatur’ ansehen, und nicht umgekehrt.

Hier noch ein Datensatz mit höherer Gewichtsbelastung

  • Wägezelle: Bosche H30A
  • Wägegestell: L-Profil-Wägeplattform (Open-Hive 1/2-Waage)
  • Kabellänge Wägezelle: ca. 1 m
  • ADC: ADS1231
  • MC: Seeeduino Stalker v3.0
  • Strom: 1200 mAh Lipo + 0,5 W-Solarzelle
  • Gewicht: ca. 28 kg (wird im Datensatz als 56 kg angezeigt, da 1/2 Waage)
  • Messung alle 20 Minuten
  • Setting: dunkler Bauwagen, daher Strom nur von Lipo, Solarzelle war angeschlossen, liefert aber keine Energie
  • Zeitraum:2016/09/07 bis 2016/09/25
  • Daten grafisch: http://open-hive.org/apiary/clemens/node002.html
  • Daten als Datensatz: data-clemens-node002-55kg.csv (60.1 KB)

Etwa 1300 Datensätze und jetzt wird es spannend: Sehr weiter range, ca. 1 kg in der Grafik, d.h. 500 g real!

Was ist denn das? Schaut wie zwei Punktwolken aus mit je 300 g (real 150 g, da “halbe Wägung”) Gewichtsunterschied maximal bei ca. 8 °C delta, und dann haben wir da noch diesen Schwanz?!

Ich war im Zeitraum von Anfang bis Ende September sicher mal im Bauwagen und habe etwas gewerkelt, vielleicht auch irgendwas draufgelegt mit ein paar Gramm, Wenn ich aber jetzt die Markergröße reduziere sieht man tatsächlich eine Spur. Was ist da los?

Hmm, wie gesagt hatte die Solarzelle da keine Sonne, die Spannung ist kontinuierlich nach unten gegangen, allerdings nicht im kritischen Bereich, vielleicht hat es damit zu tun?

Linear schaut das auch nicht aus, hat aber ein r = 0,5 Weitere Ideen?

Hier nochmal die Daten im zeitlichen Verlauf über knapp 20 Tage:

Man sieht einen deutlichen Abfall am Anfang und dann periodische (tageszeitliche) Schwankungen.

Hi there!
I have similar observation. Started with almost empty load and seen nice linear corelation between weight and temperature to be easily compensated in software. However, situation substantialy changed when loading with 50kg and then 75kg. Basically, the higher load, the higher temperature-weight dependance. Looks like higher temperature impact is caused by higher friction on junctions between load cells and the platform.
My configuration:
Platform type: full scale, 4x load cells, Arnia-type
ADC: 4x HXM711, analog wires lenght max 2cm
uC: nRF51822

@petekmet can you specify the load cell type? Is it an “origin” Arnia scale?

No, not an original Arnia. Just CNC-cut Alu plates. Load cells are specific types from china supplier (alibaba sourced), temperature compensated, 4 wires, 50kg capacity. Arnia-type scale is two Alu plates with parallel - beam loadcells in each corner. Each cell is fastened to bottom plate with two M5 screws. Additionally, top plate was also fastened to the load cell (on opposite end). That could cause tensions due to temperature dilatation and influence measurements. Although the top plate is 5mm alu it was slightly bent under the load for some reason. When removed screws fastening top plate to the loadcell and just put load directly on the cell end, temperature impact was almost gone, or at least became predictable.

1 Like

Ah, interesting observation, perhaps notable for @mhies, he has a similar setting – two frames and “in between” the load cells - but with a wooden frame. So I think temperature and tension could also be an issue.

Hi Clemens, good point, I will build a version reducing the mechanical stiffness of the setup and see if that has a positive impact on temperature dependency of the setup. In my old setup I tested inhouse only 7g/C, but only in a limited temperature range. Markus

@petekmet can you give me some more information about the load cell? Do you have a link to the cell or a name of the manufacturer?

Sure, hopefully this info has any value yet. My cells are from HanZhong QuanYuan Electronic Co.,Ltd. http://www.qysensor.com . They have temperature compensated and uncompensated versions, $6 -$8 each + shipping. But so far I am not too much excited about it since still struggling with temperature drift heavily, like 10g / ˚C, but suspect mechanical tension as a cause even having each cell idependently “standing” on the surface. Now I am compensating temperature in software but yet unsure if compensation coeficient will change under different load (pointing to some mechanical issue). Not having temperature controlled chamber it isn’t trivial to “debug”.

1 Like

Thanks Peter.

I made another interesting observation today. When I rebuild my telemetry unit to operate with LoRa I switched from a breadboard to a self designed PCB. Before I had definitely no temperature dependency in my weight data. After the first day with a diurnal temperature cycle of about 12degC the weight time series showed a very strong positively correlated relationship. Values differed within a 800g! range with an empty and closed hive on the scale. It turned out that residues of soldering flux were causing minimal currents that are able to influence the data sensitively and significantly. Also, these currents seem to be very temperature dependent. After cleaning with alcohol and a tooth brush the dependency is almost completely gone. A test where I artificially heated up both, the board and the scale with a hairdryer the values changed very little. So, before digging deeper into the data make sure you clean the boards after soldering to not run into such data anomalies.

6 Likes

After a happy periode with the more or less stable but expensive Bosche load cells I fond some cells where a temperatur compensation makes sense:

1 Like

Was damals nur offline mit QtiPlot ging, kann ich Dir jetzt “online” mit Grafana zeigen!

Der Temperaturgang weist Ähnlichkeiten auf mit jenen Alterungsvorgängen, wenn elektronische Schaltungen im Klimaschrank Temperaturkurven aushalten müssen.

Zur Erinnerung an den September 2016:
Du hattest diese neue, wohl auch erstmalig in Betrieb genommene (und erstmalig ernsthaft belastete?) Wägezelle im Bauwagen aufgebaut. Zur Mitte der Zeit hat es geregnet (nicht nur 0,6mm , wie in dieser Zoomstufe: wenn man in das DWD-panel zoomt, waren das 2,6mm), und Du warst an diesem Tag offenbar da. Dann hast Du vielleicht Deine nasse Jacke über der Sitz gehangen usw. , - oder es tropfte rein! ;)

Da ich kein DWD-Wetter für Dahlem habe (sondern hier Niederschlag von Tempelhof) und sich das Berliner Wetter bisweilen stark unterscheidet, plus Unsicherheit, ob von Dir das als UTC ankam, könnten der Regen und Dein Eintreffen dort gleichzeitig oder um ein paar Stunden verschieden sein, das kann ich nicht genauer sagen. Die spikes in der Feuchte zwischen 17 und 19 Uhr am 16.9. sind wahrscheinlich Deine Eingriffe.


Jedenfalls sinkt in der zweiten Hälfte des Beobachtungszeitraums auch das Temperatur-Mittel weiter, und es kommt zu einer zweiten Häufung von Werten, die ein Verhalten von -16g / K aufweisen (die zwei grünen Geraden im Bild; müßten Ebenen sein, egal), - nur diesmal ggü. der ersten Hälfte mit einem anderen offset… Ob diese Verschiebung nun durch Luftfeuchte oder ewas anderes während Deines Besuchs verursacht wurde, werden wir wohl nicht mehr herausbekommen.

Also, aus diesen Werten sollte man vielleicht besser keine Korrektur-Koeffizienten gewinnen! ;)

(color mapping per Temperatur)

image

dashboard als dark theme und light theme (beides sieht hier z.Z. wg. besserem anti-aliasing im Firefox schöner aus als in Chromium)

dashboard im dark theme (image)

dashboard im light theme (image)


Plotly

  • gibts als 2D und 3D in Grafana
  • kann bis zu fünf Wertereihen in einer 3D-Grafik zeigen (x,y,z, color map by value, marker size by value)
  • braucht viel Strom und auch lokale Computerressourcen!
  • man kann in der Punktwolke navigieren: zoom per scrollen, right-click-drag für pan, und click-drag, um sich im Orbit zu bewegen.
  • tipp: view reset / redraw des plotly panels am besten per row- Auf- und Zuklappen (sonst gibts dafür ein button in der toolbar d. plugins)
  • die Grafana-Variable für Zeit ließ sich bisher leider nicht anders formatieren als utime in Millisekunden…
  • es gibt auch einen 3D-Cursor mit drei tooltip-Werten, die man auch anklicken kann (dann alles in einem notifier)
  • (die kleine mögliche toolbar des plugins ist im Beispiel off)
3 Likes

Sehr cool @weef! Vielen Dank!

Ich weiß nicht mehr was ich damals gemacht habe, vielleucht auch nur an die Waage rangekommen oder kurz be- und entlastet. Aber krasse Visualisierung!

Drüben bei HX711 zittert kamen wir erneut auf die Temperaturabhängigkeit der Wiegung. Wir lagern den dort losgesponnen Diskussionsverlauf nun hier ein.

Aus der Reihe Gewicht vs. Umwelt.

image

https://swarm.hiveeyes.org/grafana/d/0CJxruMZz/amo-fipy-workbench?refresh=1m&panelId=7&fullscreen&orgId=2&from=1565452316650&to=1565473916650

magst du mal nen ds18b20 nehmen und mit kabelbinder an die waegezelle (metall an metall) machen und mitplotten?