Gewichtssensor und HX711

Gewichtssensor und HX711

In Digital-Waagen kommen Kraftsensoren in Form von sogenannten Wägezellen zum Einsatz, die man auch separat kaufen kann und damit erstaunlich genaue Waagen selbst bauen kann.

Verwendete Bauteile

Wägezelle

Die Wägezellen bestehen aus einem besonders geformten Stück Metall, die sich unter der Einwirkung einer Gewichtskraft elastisch verformen. Diese Änderung wird mit Hilfe von Dehnungsmessstreifen (meist unter schwarzem oder weißem Harz eingegossen) erfasst und in elektrische Signale umgewandelt. In der Regel werden diese Signale über eine sogenannte Wheatstone’sche Brückenschaltung als Spannungssignal in einen Verstärker (hier: HX711) eingespeist.

HX711

Der HX711 ist ein für Waagen konzipierter 24-Bit Analog-zu-Digital-Wandler (ADC), der deutlich höhere Auflösungen und Verstärkungen zulässt als der ADC des Arduinos, somit muss der HX711 zwischen die Wägezelle und die Eingänge des Arduino geschaltet werden, um vernünftige Ergebnisse zu erzielen.

Anschlüsse

Durch die Wheatstone’sche Brückenschaltung werden die vier Dehnungsmessstreifen (engl. strain gauges) folgendermaßen mit den Eingängen des HX711-Moduls verbunden:

Anschlüsse der Wheatstoneschen Brückenschaltung
Abb.: Anschlüsse der Wheatstoneschen Brückenschaltung.
Wägesensor HX711
schwarz (evtl gelb) E- (Excitation- oder GND)
rot E+ (Excitation+ oder VCC)
weiß A- (Output- , Signal- oder Amplifier-)
grün (evtl. blau) A+ (Output+ , Signal+ oder Amplifier+)
-kein- B-
-kein- B+

Aufbau und Programmierung

Zunächst wird der HX711 an den Arduino angeschlossen:

HX711 Arduino
VCC 5V (auch: 3,3V möglich)
GND GND
SCK A0 (auch andere möglich)
DT A1 (auch andere möglich)
Aufbau der Wägesensors mit HX711 und Arduino
Abb.: Aufbau der Wägesensors mit HX711 und Arduino (bei der Kalibrierung mit Eichgewichten)

Für die folgende Kalibrierung und die Wägeversuche wurde die Library HX711_ADC für Arduino verwendet. Die mitgelieferten Beispiele sind optimal, um die Wägefunktion auszuprobieren. Man beginnt am Besten mit dem "Calibration.ino"-Sketch, der nach der Kompilierung und dem Hochladen auf den Arduino zunächst ein Gewicht verlangt (serielle Konsole!), mit dem der Wägesensor kalibriert werden kann. Dazu sollte ein bekanntes Gewicht mit möglichst hoher Genauigkeit verwendet werden (z.B. Eichgewichte), um die Waage ideal einzustellen. Der Sketch speichert dann für alle späteren Wägeversuche ein "calibration value", welches in den EEPROM des Arduino. Anschließend kann der Wägesensor normal verwendet werden.
Die anschließenden Messversuche waren bei mir erstaunlich genau (±1 Gramm).
Falls die Anzeige

Für den normalen Betrieb der Waage, kann nach der Kalibrierung der Sketch "Read_1x_load_cell.ino" verwendet werden, wobei hier nur noch der oben ermittelte Kalibrierungsfaktor eingetragen werden muss (Zeile 41).

Weitere Möglichkeiten

zurück