Analyse und Diskussion um eine korrekte Integration des HX711

vielleicht sollte das alles, wenn wir alle obstacles endlich mal zusammengetragen haben, besser nach Erfahrungsaustausch und Diskussion zu verschiedenen Breakout-Varianten für den HX711 ADC - oder so.


Muß ich leider zustimmen: 1x 1kΩ bestätigt sich auch hier (an einem der ‘schlechten’ grünen Exemplare).

Das Eingangsnetzwerk soll der Unterdrückung von Gleich- und Gegentaktstörungen dienen (Referenzschaltbild des Herstellers; INA: R3, R3, C4)

Tatsächlich realisiert aber ist auf den meisten simplen HX711-breakouts eine reduzierte Variante (INA: R8, C4 bzw. INB: R9, C5) :

image

Auf diese Weise ist der Eingangsfilter nicht nur fast unwirksam, sondern verschlechtert auch noch die Linearität der ganzen Schaltung…


Blick über den Tellerrand:
ADS1231, ADS1232 und ADS1234 haben einen solchen Tiefpaß-Filter (“EMI filter”) sogar zweistufig: an ihren Eingängen intern vor den Impedanzwandlern A1 und A2 (ca. 19 MHz) sowie vor dem Substrahierer A3. Die beiden CAP-Anschlüsse dieser ICs ermöglichen der zweiten Stufe die Einstellung der Grenzfrequenz (bei 100 nF ca. 700 Hz) .

(vereinfachte Darstellung)

image

3 Likes

Den Beobachtungen von @robert-hh

Diese Verschlechterung der Linearität kann sich also genau wie von @robert-hh geschlussfolgert…

… ebenfalls auf entsprechendes Temperaturdriftverhalten auswirken? Bingo!?

Können wir daraus ebenfalls eine mögliche Empfehlung ableiten, wie man das Breakout-Board entsprechend fixen könnte?

Nein: vielmehr haben diese Boards keine Verbindung zwischen GND des host und AGND!

Didi, bitte vermeide es, die Bezeichnung DGND im Zusammenhang mit dem HX711 zu verwenden - dieser IC hat keinen DGND-Anschluß! Er hat keine getrennte Analog- und Digitalmasse, sondern genau eine einzige (die der Hersteller AGND genannt hat…). Das ist wichtig, weil es sonst den Eindruck erweckt, man müsse nur, wie bei ‘ordentlichen’ ADCs, die DGND und die AGND auf kürzestem Wege (ggf. mit Ferrit) verbinden - und alles sei gut.

Let’s face it the way that truth is: Bei diesen Platinen gibt es gar keinen (echten niederohmigen) Strompfad nach GND! Daß es trotz Design-Versagen wiedereinmal funktioniert, ist nur der Tatsache zu verdanken, daß dies ein CMOS-IC ist, denn die GND-Verbindung wird einzig über die internen Schutzdioden der Eingänge RATE und XI hergestellt!

Versuche mal, auf solch einem unmodifizierten Board einen Quarz an XI/XO zu hängen sowie RATE auf 80Hz zu setzen (also RATE an VDD): Ergebnis ist, daß der IC nicht mehr funktioniert, weil er nun wirklich keine, auch nur ergaunerte Masse mehr “sieht”.

Ich denke, wir sind uns einig, daß diese parasitäre Art der Speisung keine zulässige und gewünschte ist.

Der Verbindung des Pin AGND mit dem GND der steuernden Schaltung kommt daher eine zentrale Bedeutung zu, um den IC auch nur in die Betriebsbedingungen des Datenblatts zu bringen. Wir brauchen zuvor und ohne dies uns über keine Veränderungen der Betriebsbedingungen usw. usf. zu unterhalten, solange dies nicht endlich anerkannt ist.

Das ist nicht verwunderlich, denn durch die GND-Verbindung über die interne Schutzdiode(n) ist das GND-Potential um eine Diodenspannung erhöht.

AVDD ist eben nicht nur die Erregerspannung, sondern auch gleichzeitig der Eingang für die positive Referenzspannung des ADC selbst - damit ist es der entscheidenende Eingang, der ratiometrisches Messen überhaupt erst ermöglicht! Damit ist AVDD der Garant dafür, daß dies alles ohne Referenzspannungsquelle funktioniert - und nicht einfach nur irgendein Eingang, der zufällig noch die Erregerspannung sieht.

2 Likes

Wäre es dann nicht sinnvoll in der Fläche den Mangel der fehlenden Masse zu mit dem Lötkolben zu patchen ?

Und warum … ich weiss ich habe das bestimmt schon mal gefragt … speisen wir den HX711 nicht mit 5V ?

für die Entwickler der HX711-Breakout-Boards von seed, groove usw. war der Batteriebetrieb wichtig, damit er an Batterien ( 2 x 1.5V ), Microcontroller ( 3.3V ), LiPo-Akkus ( 4.2 - 3.2 V ) und USB ( 5.2 - 4.2 V ) läuft. Die Erregerspannung E+ wird mit Q2 auf ca 2.5V geregelt, die Messbrücke macht daraus die Eingangsspannung A+ und A- mit E+/2 = 1.25V und einer sehr kleinen Differenz von max. +/- 10 mV, die gemessen wird. Das reicht für die einfachen Küchen- und Personen-Waagen.
Die hier im Forum diskutierten Probleme wie Temperaturdrift, Thermospannungen an den Klemmen, Sonnenschein auf das Kabel, nicht entferntes Flussmittel usw. werden elegant dadurch umgangen, dass die Waagen automatisch beim einschalten tariert werden. Und auch automatisch ausgeschaltet werden. Ausserdem werden nur die notwendigsten Stellen ausgegeben ( bei Personenwaagen min. 0.1 kg ).
Ich glaube nicht, dass die fehlende Verbindung zwischen GND ( digital ) und AGND ( analog ) nicht nur einfach “vergessen” wurde. Aber ich habe das noch nicht näher untersucht.

Stromversorgung

Das Problem der “schlechten” Spannungsversorgung ist seit 2014 bekannt – siehe HX711 fehlende Masseverbindung – und wurde bereits ausführlich bei Stromversorgung HX711 behandelt.

Interessant wäre, ob die Filter tatsächlich die 50 / 60Hz der Netzspannung an dieser Stelle filtern können, die die Billignetzteile nicht ordentlich ausfiltern.

Ebenso wäre interessant einmal die HX711 meiner Konfiguration mit einer ordentlichen Spannungsversorgung zu testen. Eine bei der 3V3 auch 3V3 sind - auch unter Last. Gleiches gilt für die 5V Schiene.

Sonne aufs Kabel

Die vielbesagten und schon bei Gewichtsanstieg durch Sonnenstrahlung auf Wägezellen-Kabel als auch Ausreißer bei den Temperaturwerten, Drift bei den Gewichtswerten ff. diskutierten Sonneneinstrahlungen auf die Kabel kann ich fast ausschließen, meine Vermutung liegt da eher auf der Hardwareseite.

Spannungsschwankungen im Versorgernetz

In der Ausgangslage (ich betreibe mein Setup derzeit direkt am 230V Stromnetz) wäre noch ein weiterer Aspekt, den es zu untersuchen gilt: Wie verhält sich die Primärspannung in Relation zur Sekundärspannung und Relation zur Speisespannung mit den Billignetzteilen?

Die Parabel der Wägezelle entspricht nach meiner Vermutung genau der der Spannungsschwankungen des Versorgernetzes: Mittags = PEAK der PV = Tal der Entnahmemenge.

Vielleicht hat jemand Referenzdaten hierzu im Bereich Pulheim [1], die die L1-L3 Spannungen auf die Zeitachse legen?


  1. Wir haben wir die Kohlekraftwerke Niederaußem und Frimmersdorf in nächster Nähe. ↩︎

1 Like

Ken Meyer of Honeybee Hive Monitoring fame who already wrote about Modifying the HX711 Breakout Board for 3.3V operation | Details | Hackaday.io also wrote about his thoughts which errors might arise from the weigh scale subsystem wrt. temperature sensitivity of the ADC and beyond.

Euren Empfehlungen bei Stromversorgung HX711 ff. folgend bedeutet das sinnvollerweise für die grünen PCBs hier:

  1. die zwei R - SMDs raus löten und die Ersatz Rs einlöten
  2. Masseleitung ergänzen

Habe ich das so richtig verstanden?

3 Likes

Dafür habe ich auf BOB-HAT-V5 die 3 Lötstifte:
image

den linken (E-) mit dem rechten (GND) verbinden.

2 Likes

Also Drahtbrücke rein :slight_smile:
… mache ich nachher … und dann schaue ich einen Tag …
und dann als 2. Step den Spannungsteiler des Feedbacks

so haben wir dann djeweils immer nur einen Effekt enfernt…

1 Like

5 posts were merged into an existing topic: Weiterentwicklung des BOB-HAT-V5

A post was merged into an existing topic: Weiterentwicklung des BOB-HAT-V5

Masse (GND) muß immer das niederohmigste und niederimpedanteste Netzwerk sein; die Masseverbindungen dürfen nicht einfach nur dort hergestellt werden, wo zufällig gerade ein GND vorbeikommt (oder vielleicht an ein MCU-Pin, das man ja nach GND ziehen könnte…ohje), sondern sollten auch hier an jenen Stellen geschaffen werden, wo sie wirklich fehlen und hingehören: an das HX711-PCBA.

Wenn die individuellen Lötfertigkeiten es hergeben, verbinde man E- und GND direkt auf dem Aufsteckboard (Beispielbild):

(auf dem dreipoligen header des BOB-HAT reicht dann ein jumper von Schirm nach rechts (GND), damit dann Potenziale von Schirm nicht auch noch über das ADC-Board laufen)

2 Likes

So,

ich habe jetzt als Erstes an einer der beiden HATs die Masseverbindung an der dreifach Lötpunktebrücke hergestellt, indem ich eine Drahtbrücke über alle 3 Lötaugen gelegt habe.

Resultat was ich unmittelbar sehen konnte: Wundersamerweise ist die LED, die sonst permanent leuchtete, jetzt aus.

Beim zweiten System mache ich das morgen.

das kann ich zusätzlich noch morgen beim 2. Board vornehmen … also die 3 Lötaugenverbinden und dann noch am PCB selber die Brücke ziehen … ist dann doppeltgemoppelt, aber da es ja alles Masse sein sollte, sollten keine Potentialunterschiede da sein.

Beim Entwickeln der BOB-HAT-V5 war ich mir nicht sicher, welche Verbindungen am besten sind für Stabilität wie Aussetzer, Temperaturdrift usw. Darum habe die Jumper-Lösung genommen, da kann man leichter testen. Ich dachte auch, es wäre am besten, den Schirm der Wägezelle mit AGND des HX711 zu verbinden, wie man es mit dem Mikrofoneingang bei einem Verstärker macht. Aber ich habe es noch nicht ausprobiert.
Wenn jetzt neue Erkenntnisse dazu kommen, werden sie in die nächste Platinenversion fliessen.

2 Likes

Das das Problem erst jetzt richtig aufkeimt verwundert mich ein wenig, das mit der fehlenden Masseverbindung ist auch schon seit längeren bekannt ebenso die Problematik mit der Stromversorgung, mir war aber nicht bewusst, das das hier noch nicht richtig durchgekaut wurde.

Ich habe früher mich schon relativ viel mit der Problematik beschäftigt und es gab dort immer die varianten wie geht auch problemlos ohne GND und Ja sie brauchen 5V aber es geht auch gut mit 3V3. Und auch einige wenige die das Gegenteil behauptet hatten.

Ich persönlich bin Aktuell gerade heftig im Stress. Kann daher dem Forum nicht all-zuviel zeit widmen.

Vielleicht schaffe ich es aber trotzdem einen Vergleich der verschiedenen Typen.

Versuchsaufbau mäßig kann ich aber nicht viel bieten. Einmal mein Waagen Experimentierboard, wo ich alle Typen der HX711 Platinen anschließen kann. Dann habe ich auch noch 3 oder 4 Verschiedene Typen des HX711. Und als “Klimakammer” könnte ein Karton auf dem Heizbett meines 3D Drucker dienen. Damit müsste sich relativ genau und vor allem reproduzierbar eine Temperatur von Raumtemperatur bis hoch zu 100°C regeln lassen und vor allem auch Zeitverläufe Darstellen lassen.

Die frage die sich mir stellt ist was sollte ich dabei beachten, damit die Datensätze auch aussagekräftig werden.

Falls jemand ebenfalls lust und Zeit hat da genauer nachzuforschen, kann ich ihm sicher noch ein Experimentier Board bis auf den FiPi und die Sensoren bestücken.

1 Like

Naja, möchte man annehmen - es gibt da aber auch wieder das Problem mit den Brummschleifen, also redundanten Masseführungen, die sich anders verhalten, als man möchte. In so einer mixed mode -Schaltung, also Digital- und Analogtechnik auf einem Brett, würde man eine eigene Digitalmasse und eine Analogmasse (als plane, Massefläche) bauen, die an nur einer Stelle zusammentrifft: meist wären das die AGND- und DGND-Anschlüsse der ADC (oder DAC), die auch nur dort ihre einzige Verbindung hätten.
Deshalb wäre es in meiner Skizze und ‘in echt’ besser, den GND-Anschluß direkt an das GND-Pin des IC zu führen.

Egal, können wir bei dem Ding ohnehin nicht ändern, da ist alles besser, was den Zustand zu vorher ändert! ;)

Über den Schirm dürfen eh keine Ströme fließen (darf nur einseitig aufgelegt sein: an der Platine, nicht an der Wägezelle), daher ist es nicht ganz so wichtig, an welchem Punkt der beiden hier möglichen Du den nun anschließt.

3 Likes

Also das hier ist das Ergebnis der Massebrücke… schon komisch dieser Wobble


Und wenn man ein wenig länger schaut, dann erhält man am Nachmittag wieder die Parabel.
MIT Masseverbindung:
OHNE Masseverbindung

Und ganz ehrlich, ich konnte heute beim Besten Willen KEINE Sonne finden.
Ich versuche jetzt erst einmal als nächstes eine ordentliche Spannungsquelle zu nehmen …

Folgeschritt wird dann die HX711 einmal mit der korrekten Spannung für die Wägezelle zu betreiben … 5.0V

Hier noch ein Link von den Beelogger Kollegen:
HX711Boards