beelogger

Add-on: HX711 mit zwei Wägezellen (Kanal A & B)

Der HX711 ist ein 24bit A/D-Wandler, der zwei separate Kanäle für zwei Wägezellen zur Verfügung stellt. Die Auswahl einer der beiden Kanäle erfolgt prinzipiell über die Einstellung der Verstärkung. Für Kanal A kann eine Verstärkung von 128 oder 64 gewählt werden, Kanal B bietet eine fixe Verstärkung von 32. 

 Als ‘Add-on‘ werden optionale Sensoren, Module oder sonstige Hardware sowie Programmcodes und Anleitungen vorgestellt, die nicht Teil der Standard-Entwicklung des Arduino Datenlogger für Imker sind. Damit ist es möglich, viele zusätzliche und zum Teil auch spezielle Funktionen für den beelogger zu unterstützen, die einfach integriert werden können.

Verstärkung und Auflösung

Um zu erläutern, welche Auswirkung die unterschiedlichen Verstärkungen und damit die Messung über Kanal A und Kanal B haben könnte, folgt ein wenig Mathematik.

Als Beispiel dient die Bosche Wägezelle H30A mit einer Maximallast von 200Kg. Diese kann mit einer Betriebsspannung bis 12V verwendet werden und bietet eine Empfindlichkeit von 2mV pro Volt. Da die Empfindlichkeit und damit die Messung von der Betriebsspannung abhängig ist, muss grundsätzlich zwischen einer Versorgung mit 5V, wie beim beelogger-EasyPlug, und einer Versorgung mit 3,3V, wie beim beelogger-Solar, unterschieden werden.

Um optimale Messergebnisse zu erhalten, muss die Wägezelle mit einer möglichst stabilen Spannung versorgt werden. Hierfür stellt der HX711 eine eigene, geregelte Spannungsquelle zur Verfügung. Geregelt wird die Versorgungsspannung der Wägezellen über einen im HX711 verbauten Regler und den auf dem Board befindlichen Transistor. Mit einem Spannungsteiler wird die zu regelnde Spannung eingestellt.

Bei den erhältlichen Boards ist über die Widerstände des Spannungsteilers die Regelspannung auf knapp unter 5V eingestellt. Hiermit kann der Regelkreis sauber arbeiten. Das Datenblatt gibt eine Obergrenze der Regelspannung vor, die mindestens 100mV geringer sein muss, als die Versorgungsspannung des Chips. Bei einer Versorgungsspannung des Chips mit 3,3V, kann die mit den auf dem Board eingesetzten Widerständen eingestellte Spannung (AVDD) von 4,3V nicht erreicht werden. Das Ergebnis hiervon ist, dass der Regelkreis nicht sauber arbeiten kann, die Wägezelle keine stabile Spannung erhält und die Messergebnisse dadurch nicht optimal sind.

Unter ‘beelogger-Solar – Beschaltung & Aufbau‘ sind im Absatz’ ‘Modifikation zum Betrieb des HX711-Boards mit 3,3V’ ausführlich Modifikationen hierfür beschrieben. Bei den weiteren Berechnungen wird ein beelogger-Solar mit einer stabilen Versorgungsspannung für den HX711 und einem überbrückten Regelkreis vorrausgesetzt. Die Betriebsspannung der Wägezelle beträgt somit 3,3V.

Ausgangsspannung der Wägezelle unter maximaler Last:

Betriebsspannung 5V (4,3V)
Betriebsspannung 3,3V
(HX711 modifiziert)
2mV/V * 4,3V = 8,6mV 2mV/V * 3,3V = 6,6mV
Entspricht einer Spannung pro Gramm:  
8,6mV / 200Kg = 43nV/g 6,6mV / 200Kg = 33nV/g

 

Eingangsspannungsbereich HX711 je Verstärkung nach Datenblatt  (±(AVDD/GAIN)):

mit AVDD= 5 Volt:

Kanal A:     128: +/- 20mV

  (alternativ) 64: +/- 40mV

Kanal B:       32: +/- 80mV

mit AVDD= 4,3 Volt:

Kanal A:     128: +/- 16mV

  (alternativ) 64: +/- 33mV

Kanal B:       32: +/- 67mV

mit AVDD= 3,3 Volt:

Kanal A:     128: +/- 13mV

  (alternativ) 64: +/- 26mV

Kanal B:       32: +/- 52mV

Eine Übersteuerung des HX711 ist mit dieser Wägezelle bei 3,3V/5V Speisung nicht möglich.

 

Die Spannung pro bit bei 24 bit Auflösung bei gegebenen Eingangsspannungsbereich und Verstärkung ist

Beispielrechnung: 128:   40mV / 16777216 = 2,4nV

mit AVDD = 5 Volt:

128: 40mV  ->  2,4nV

  64: 80mV  ->  4,8nV

  32:160mV ->  9,5nV

mit AVDD= 4,3 Volt:

128: 32mV  ->  1,9nV

  64: 66mV  ->  3,9nV

  32:134mV ->  8,0nV

mit AVDD= 3,3 Volt:

128:  26mV  ->  1,5nV

  64:  52mV  ->  3,1nV

  32: 104mV ->  6,2nV

Daraus folgt, dass für das beelogger-solar-System bei einer Verstärkung von 32 ein Gramm dem Wert 5 entspricht.

Fazit

Wie man sehr gut erkennen kann, liegt die Auflösung des HX711 bei jeder Verstärkung erheblich unter dem Wert der Wägezelle pro Gramm. Im praktischen Einsatz als Bienenstockwaage hat somit eine veränderte Verstärkung des HX711 von 128 (Kanal A) auf 32 (Kanal B) keine Auswirkung auf die Auflösung.

Aspekte wie Eigenrauschen oder Temperaturfehler des HX711 und der Wägezelle sind bei dieser Betrachtung nicht weiter berücksichtigt. Diese werden zu einem großen Teil durch eine Kalibrierung über den Temperaturbereich sowie durch Mehrfachmessung und Mittelwertbildung verringert.

Letzlich erhält man aus dem HX711 Werte, die eine hohe Auflösung suggerieren. Aus der möglichen Auflösung jedoch zu folgern, dass mit dem Gesamtsystem eine Auflösung im Grammbereich möglich ist, passt nicht zu den Kenndaten der Wägezelle.
Die Bosche H30A hat eine Genauigkeitsklasse C3, Y=7.500. Bei 200kg wird daraus ein Wert für die kleinste zuverlässige Auflösung von ca. 26,67gramm. Nimmt man aus dem Datenblatt den Teilungswert für eine eichfähige Waage von 3000 so ergibt sich ein Wert von 66,67gramm. Mehr Information zu den Kennwerten der Wägezelle bei Bosche.

In der Praxis liefert die Gesamtanordnung auch Unterschiede in den Messwerte unterhalb der Werte, die sich durch die Kenndaten der Wägezelle ergeben. Diese feinen Unterschiede sind über den gesamten Messbereich nicht wirklich als belastbare Messwerte anzusehen.

Hinweis: Parallelschaltung von zwei Wägezellen

Bei Parallelschaltung von zwei Wägezellen wie die Bosche H30A, verdoppelt sich der Ausgangsstrom des HX711. Die Spannung aus parallel geschalteten Wägezellen bleibt beim Kennwert der Wägezellen.
Damit die Auflösung der Systems mit den beiden parallelgeschalteten Wägezellen gleich bleibt, darf eine einzelne Wägezelle nur für die Hälfte der Last vorgesehen sein. Demzufolge 2 x100kg Wägezellen für eine Gesamtbelastung bis 200kg. Bei solchen Aufbauten darauf achten, dass keine Verspannungen im System auftreten und auf die Wägezellen übertragen werden. Diese führen zu verfälschten Meßwerten.

 

Libraries

<HX711.h> – https://github.com/bogde/HX711

Test-Programmcode

Um Kanal A oder Kanal B zu aktivieren, muss wie bereits erwähnt, die entsprechende Verstärkung eingestellt werden. Für Kanal A kann eine Verstärkung von 128 oder 64 gewählt werden, für Kanal B steht eine Verstärkung von 32 zur Verfügung. 

Mit der angegebenen Library ist als Standard eine Verstärkung von 128 und somit Kanal A ausgewählt. Nach Durchführung der Kalibrierung für Kanal A ist der Kalibrierung-Programmcode durch Angabe der Verstärkung von 32 direkt zu Beginn des Setups abzuändern, um Kanal B ebenfalls zu kalibrieren:

Im Test-Programmcode sind die Werte der Kalibrierung für beide Kanäle separat zu hinterlegen. 

Zum Test des Sensors mit dem beelogger-Solar, muss zunächst die Stromversorgung aktiviert werden. Hierfür ist im Setup des Programmcodes der Pin 4 auf ‘HIGH’ zu setzen:

Dieser Test-Programmcode soll einem einfachen und anschaulichen Test der beiden Kanäle des HX711 dienen. Auf Prüf- und Korrekturmassnahmen, wie beim regulären Test-Programmcode, wurde daher verzichtet. Es ist zu empfehlen, die Wägezelle an Kanal A und Kanal B mit unterschiedlichen Gewichten zu beschweren.

Ausgabe des seriellen Monitors (9600 baud):

Programmcode downloaden:

Download