Forum: Mikrocontroller und Digitale Elektronik HX711 / Wägezelle driftet


von L.S. (lagerschaden)


Angehängte Dateien:

Lesenswert?

Ich habe mir so eine Wägezelle 1kg mit einem HX711 gekauft 
https://de.aliexpress.com/item/1005001537354199.html und beobachte, dass 
die Werte ziemlich driften. Woran kann das liegen?

bild2.jpg: Die X-Achse sind Sekunden und die Y-Achse sind die RAW-Werte 
vom HX711 minus eines Offsets, den ich am Anfang gemessen habe.
1
# ESP32-S2     2025-06-24
2
#  https://github.com/robert-hh/hx711
3
4
from machine import Pin
5
from hx711_gpio import *
6
7
pin_OUT = Pin(40, Pin.IN, pull=Pin.PULL_DOWN)
8
pin_SCK = Pin(39, Pin.OUT)
9
10
hx711 = HX711(pin_SCK, pin_OUT, gain=128)
11
12
hx711.tare(times=80)
13
offset = hx711.read_average(times=80)
14
15
while True:
16
    raw = int(hx711.read_average(times=80) - offset)
17
    print(f'{raw:16d}')

: Bearbeitet durch User
von Dirk F. (dirkf)


Lesenswert?

Erwärmung der DMS ?

Ist eine Vollbrücke mit 4 DMS verschaltet ?

: Bearbeitet durch User
von Jörg K. (joergk)


Lesenswert?

Dirk F. schrieb:
> Erwärmung der DMS ?
>
> Ist eine Vollbrücke mit 4 DMS verschaltet ?

Höchstwahrscheinlich ja. Die billigen Dinger sind nicht wirklich 
temperaturkompensiert. Temperaturkompensation ist auch richtig teuer, da 
sie indiviuell durchgeführt werden muß.

Jörg

von Dirk F. (dirkf)


Lesenswert?

Normal wird durch eine Vollbrücke automatisch temperaturkompensiert.

von L.S. (lagerschaden)


Lesenswert?

Die angegebene Messzelle hat eine Vollbrücke.

Ich werde mal eine weitere Messreihe fahren, in der nur 1x / Minute 
gemessen wird und eine weitere Reihe, in der das hx711-Modul vor der 
Messung mit hx711.power_up() eingeschaltet wird und nach der Messung mit 
hx711.power_down() ausgeschaltet.

Ich werde dann wieder berichten.

von Michael B. (laberkopp)


Lesenswert?

L.S. schrieb:
> Woran kann das liegen?

Daran, dass du mal wieder das billigste gekauft hast, was es gibt.

Eine Personenwaage mit dem Ding wird genullt direkt bevor man sie 
belastet, und zeigt den Wert an  der nach 5 Sekunden steht.

Und es interessiert dabei keinen Chinesen ob du 5kg mehr oder weniger 
wiegst, eine Kalibrierung ist ja meist auch nicht vorgesehen.

ABER: du könntest wenigstens versuchen, die übelsten Fehler zu umgehen.

Oft ist der Widerstand auf der Platine die zum feedback des 
Spannungsregler führt so fehldimensioniert, dass gar nicht auf 3.3V 
geregelt wird sondern die Versorgungsspannung durchgereicht wird. Setz 
einen Widerstand ein, der sogar auf 3.6V regelt, und miss nach, ob deine 
Eingänge auch zwischen 1.5V und 3.6-1.5V liegen.

Zum anderen ist E- auf Messaufnehmerseite oft auf der Platine nicht mit 
GND des IC verbunden.

Achte drauf, dass sich die Platine nicht erwärmt. z.B. nur kurz 
einschalten oder nur wenig Strom in die Messbrücke fliessen lassen.

Und die Arduino-Library bietet nicht ohne Grund Mittelwertbildung über 
(10?) Messungen an. Nutzt du ja auch .

: Bearbeitet durch User
von L.S. (lagerschaden)


Lesenswert?

> Daran, dass du mal wieder das billigste gekauft hast, was es gibt.

Mal wieder? Du vermutest also, dass ich sonst noch billiges Zeug kaufe?

Eine Null-Funktion ist im Code in den Zeilen 12 und  13 enthalten.

Die Brücke läuft mit 3.29 Volt.

E- ist mit GND verbunden.

von Dirk F. (dirkf)


Lesenswert?

Michael B. schrieb:
> Daran, dass du mal wieder das billigste gekauft hast

Gibt es denn einen vergleichbaren Chip der genauer misst ?

von Jörg K. (joergk)


Lesenswert?

Dirk F. schrieb:
> Normal wird durch eine Vollbrücke automatisch temperaturkompensiert.

Das sieht mein Messzellenhersteller anders und jagt jede Zelle durch den 
Ofen. Kann man bei den billigen Dingern natürlich nicht erwarten.

von Michael B. (laberkopp)


Lesenswert?

Dirk F. schrieb:
> Gibt es denn einen vergleichbaren Chip der genauer misst ?

Mouser bietet den HX711 erst gar nicht an, nur teurere und die werden 
gekauft

https://www.mouser.de/c/semiconductors/data-converter-ics/analog-to-digital-converters-adc/?architecture=Sigma-Delta&resolution=24%20bit

Wobei es sicher auch bessere Wägebalken gibt.

Aber die dse-faq 
https://dse-faq.elektronik-kompendium.de/dse-faq.htmschreibt schon

24 bit delta sigma Wägemessung HX711 (Achtung: Der Chip misst 
temperaturabhängig und bei manchen Platinen ist GND nicht korrekt 
verbunden!) Verdrahtung in Personenwaagen 
https://honey-pi.de/4x-half-bridge-waegezellen/

von L.S. (lagerschaden)


Lesenswert?

Michael B. schrieb:
> https://honey-pi.de/4x-half-bridge-waegezellen/

Da geht es aber um räumlich getrennte Halbbrücken -> unterschiedliche 
Temperatur

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

L.S. schrieb:
> Da geht es aber um Halbbrücken.

Was meinst du, was auf dem Wägebalken ist ? 2 Halbbrücken machen 1 
Vollbrücke.

von L.S. (lagerschaden)


Lesenswert?

Die sind aber über den Alu-Block thermisch verbunden, 4 Halbbrücken 
meistens nicht.

von Michael B. (laberkopp)


Lesenswert?

L.S. schrieb:
> Die sind aber über den Alu-Block thermisch verbunden, 4
> Halbbrücken meistens nicht.

Dass die billigen (9.95) Personenwaagen nicht so genau sind, wen 
wunderts (meine +4%). Immerhin deutlich genauer als meine alte 
mechanische ADE, die je nach Untergrund (Teppich, Psrkett, Fliesen) um 
bis zu 10kg unterschiedliches zeigte

: Bearbeitet durch User
von L.S. (lagerschaden)


Lesenswert?

Michael B. schrieb:
> Immerhin deutlich genauer als meine alte
> mechanische ADE, die je nach Untergrund (Teppich, Psrkett, Fliesen) um
> bis zu 10kg unterschiedliches zeigte

Du machst Deinem Nick alle Ehre ..., interessiert hier ausser Dir selber 
keinen

von Harald A. (embedded)


Lesenswert?

Michael B. schrieb:
> 24 bit delta sigma Wägemessung HX711 (Achtung: Der Chip misst
> temperaturabhängig und bei manchen Platinen ist GND nicht korrekt
> verbunden!) Verdrahtung in Personenwaagen

Hm, der HX711 wird in diesem Forum wie eine heilige Kuh in Schutz 
genommen. Aber diese beiden Punkte von Michael sind absolut richtig.

Der HX711 ist extrem einfach handhabbar und daher für erste 
Berührungspunkte mit der Thematik sicher gut geeignet. Für ernsthafte 
Messungen eignet er sich leider nicht.

von Fritz G. (fritz65)


Lesenswert?

Ich finde die Drift völlig in Ordnung: 1800 counts bezogen auf 2^24 sind 
ca. 107ppm. Bei der typischen Anwendung (Küchenwaage) dauert eine Wägung 
selten länger als 60s und vor jeder Wägung wird der Nullpunkt 
kalibriert. Die Drift ist annähernd linear, so dass sich auf 60s eine 
Abweichung von 0.4 ppm, also 0.4mg bei 1kg Messbereich ergibt. Das ist 
für eine Küchenwaage mehr als ausreichend und vermutlich sind andere 
Fehler (Steigungsfehler, Linearität) deutlich größer.
Der HX711 hat keine automatische Offsetkompensation ist für 
Dauermessungen auch nicht gedacht.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

L.S. schrieb:
> interessiert hier ausser Dir selber keinen

Na immerhin haben wir hier einen mit Schaden, der glaubt für Alle zu 
sprechen.

von L.S. (lagerschaden)


Lesenswert?

Harald A. schrieb:
> Der HX711 ist extrem einfach handhabbar und daher für erste
> Berührungspunkte mit der Thematik sicher gut geeignet. Für ernsthafte
> Messungen eignet er sich leider nicht.

Was wäre denn ein besser geeigneter ADC, der einfach zu handhaben ist 
und für den es fertige Boards gibt?

Auf der Suche nach fertigen Boards finde ich z.B. ADS1220, ADS1232, 
CS1237, CS1238.

Für den ADS1220 gibt es eine Library für Micropython, für den ADS1232 
finde ich nur Libs in C und Arduino (beides ist sicher nicht mein Ding), 
aber da könnte ich versuchen, etwas in Micropython zusammenzustricken. 
ist ja SPI.

Auch für CS1237 und CS1238 (1 bzw. 2 Kanäle) gibt es Libraries für 
Micropython (u.a von Roberthh, der auch eine Lib für den HX711 
geschrieben hat).

Wie sind denn Eure Erfahrungen mit diesen 4 ADCs, die CS123x scheinen 
typische China-ADCs zu sein (muss ja nicht schlecht sein), ADS12xx hat 
zumindest den guten TI-Ruf. Ich bin da bisher unbeleckt.

von Harald A. (embedded)


Lesenswert?

L.S. schrieb:.
> Was wäre denn ein besser geeigneter ADC, der einfach zu handhaben ist
> und für den es fertige Boards gibt?

Und dann sollen sie ja auch noch eine fertige Lib haben… da könnte es 
tatsächlich eng werden.
Ansonsten sind TI und Cirrus Logic allesamt sehr gute Anlaufpunkte. Zu 
den Produkten von Chipsea wie CS1237 kann ich nichts sagen.

von L.S. (lagerschaden)


Lesenswert?

Ich werde mal alle 3 kaufen und testen, die ADS12xx sehen interessant 
aus (TI-massig gute Datenblätter) und ein CS1237 kostet ja fast nix (das 
DB ist allerdings ein Graus, da werden z.B. in einem Bild Anschlüsse 
genannt, die es gar nicht gibt - CAP). Dann kann ich ja berichten.

von Rainer W. (rawi)


Lesenswert?

Jörg K. schrieb:
> Die billigen Dinger sind nicht wirklich
> temperaturkompensiert. Temperaturkompensation ist auch richtig teuer, da
> sie indiviuell durchgeführt werden muß.

Solange man dem Biegebalken nicht mit einem Gasbrenner auf die Pelle 
rückt, liegen alle vier DMS der Brücke auf dem selben Temperaturniveau. 
Die Verhältnisse der Widerstände zueinander ändern sich durch den Tk 
nicht.

von Rainer W. (rawi)


Lesenswert?

Jörg K. schrieb:
> Das sieht mein Messzellenhersteller anders und jagt jede Zelle durch den
> Ofen.

Zum Tempern der Klebung oder zum Kalibrieren?

von Mike J. (linuxmint_user)


Lesenswert?

Rainer W. schrieb:
> Zum Tempern der Klebung oder zum Kalibrieren?

Die Messzelle allein bringt ja gar nichts, da müssen Daten gespeichert 
werden damit man eine Referenz hat und die sind dann im Endeffekt 
entweder in einem externen Speicher oder dem Mikrocontroller.

Wenn der Kleber nachgibt und die Messwerte verfälscht, da kann man auch 
nichts machen, da braucht man halt eine ordentliche Messzelle.

Den Temperaturdrift kann man aber auch zu Hause messen und eine 
Datenreihe anlegen. Wenn man den ganzen Aufwand nicht haben möchte, dann 
gibt man eben etwas mehr Geld aus. Hat ja nicht jeder eine Klimakammer 
bei sich rum zu stehen, nur für die eine Waage die man basteln möchte um 
den automatischen Katzenfütterungsautomaten aufbauen zu können.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Rainer W. schrieb:

> Solange man dem Biegebalken nicht mit einem Gasbrenner auf die Pelle
> rückt, liegen alle vier DMS der Brücke auf dem selben Temperaturniveau.
> Die Verhältnisse der Widerstände zueinander ändern sich durch den Tk
> nicht.

Das Problem ist m.E. die Ausdehnung des Biegebalkens aufgrund der 
Erwärmung.

So ganz bescheuert werden die Kollegen von HBM nicht sein...
https://www.hbm.com/de/6725/temperaturkompensation-bei-dehnungsmessstreifen-messungen/

Siehe Abs. 1.1 Materialausdehnung („scheinbare Dehnung“)

Grüßle,
Volker

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Der ADS1231 dürfte beim Design des HX711 als Vorlage gedient haben, 
jedenfalls ist das Interface sehr ähnlich.

von Rainer W. (rawi)


Lesenswert?

Volker B. schrieb:
> Das Problem ist m.E. die Ausdehnung des Biegebalkens aufgrund der
> Erwärmung.

Bei einem Biegebalken sind die DMS gewöhnlich auf gegenüberliegenden 
Seiten des Balkens angeordnet, so dass sich eine Längenänderung des 
Balkens in 1. Ordnung auf beide Brückenzweige gleich auswirkt. Nur eine 
Biegung, d.h. Dehnung der einen und Stauchung der anderen Seite des 
Balkens ändert das Ungleichgewicht der Brücke.

Aber natürlich wäre eine Aussage von lagerschaden zu den 
Messbedingungen, unter denen er die Driftkurve aufgenommen hat, schon 
hilfreich.
Eine zeitlich so gleichmäßige, einseitige Längenänderung würde schon 
einen gewissen Vorsatz bei dem Versuchsaufbau erfordern.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Rainer W. schrieb:

> Bei einem Biegebalken sind die DMS gewöhnlich auf gegenüberliegenden
> Seiten des Balkens angeordnet, so dass sich eine Längenänderung des
> Balkens in 1. Ordnung auf beide Brückenzweige gleich auswirkt. Nur eine
> Biegung, d.h. Dehnung der einen und Stauchung der anderen Seite des
> Balkens ändert das Ungleichgewicht der Brücke.

Wenn in dieser Welt nur alles so wunderbar symmetrisch und ideal wäre!

Auch sind die üblichen Kraftaufnehmer keine homogenen Balken sondern 
weisen  Engstellen auf, die wie Gelenke wirken sollen -- und diese 
komplexe Geometrie ist leider in der realen Welt Fertigungstoleranzen 
unterworfen.

Ich würde deshalb eher HBM vertrauen als Deinen Hinweisen auf (ideale) 
Symmetrien.

Grüßle,
Volker

von Jörg K. (joergk)


Lesenswert?

Rainer W. schrieb:
> Jörg K. schrieb:
>> Das sieht mein Messzellenhersteller anders und jagt jede Zelle durch den
>> Ofen.
>
> Zum Tempern der Klebung oder zum Kalibrieren?

Tempern zuerst, dann Aufnahme des Temperaturganges und damit der nötigen 
Temperaturkompensation.

von Rainer W. (rawi)


Lesenswert?

Volker B. schrieb:
> Auch sind die üblichen Kraftaufnehmer keine homogenen Balken sondern
> weisen  Engstellen auf, die wie Gelenke wirken sollen

Und was hat das mit dem Temperaturgang zu tun? Ein DMS wird den 
Alu-Balken nicht verbiegen und Alu dehnt sich unter Temperatur ziemlich 
isotrop aus. Oder hast du schon einmal gesehen, dass sich so ein 
Biegebalken bei Erwärmung wie ein Bimetallstreifen verbiegt ;-)

von L.S. (lagerschaden)


Angehängte Dateien:

Lesenswert?

Ich habe Neuigkeiten zum HX711.

Gestern Abend und heute habe ich mir den Effekt von Temperaturänderungen 
angesehen.

Erwärmt man die Vollbrücke im Alu-Block von 21 auf 35 °C mit dem Föhn, 
tut sich nur wenig, die Änderung der RAW-Werte um 300 RAW-Punkte 
entspricht weit weniger als 1 g (bei einer 1-kg-Wägezelle), das Rauschen 
macht nur wenig aus (ca 30-40 RAW-Punkte). Bild 4.

Die Erwärmung der HX711-Platine auf 35 °C macht dagegen schon was aus: 
das Rauschen steigt stark an, siehe Bild (etwa 40 bis etwa 70 Sekunden). 
Es sind zwar nur RAW-Werte von ca 200-900 ppm (vom Endwert 2^24), aber 
doch deutlich sichtbar. Bild 2.

Mein Fazit: Für den "Hausgebrauch" taugt das. Auch wenn eine 
Bienenstock-Waage im Sommer auf 35°C erhitzt wird ist das m.E. tauglich, 
notfalls baut man noch ein Thermo-Element ein und versorgt damit Kanal B 
des HX711 bzw. man nimmt einen der zahllosen digitalen 
Temperatursensoren.

: Bearbeitet durch User
von Torsten R. (tom365)


Lesenswert?

Aus eigener Erfahrung:
Der HX711 ist sehr Temperaturempfindlich. Ist halt leider nix hochwertes 
und daher professione Sachen ungeeignet!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.