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.
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.
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.
Durch die Wheatstone’sche Brückenschaltung werden die vier Dehnungsmessstreifen (engl. strain gauges) folgendermaßen mit den Eingängen des HX711-Moduls verbunden:
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+ |
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) |
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).