Arduino-Waage mit 5 kg Wägezelle und HX711-Verstärker

Dieses Instructable beschreibt, wie eine kleine Waage unter Verwendung von handelsüblichen Teilen hergestellt wird.

Benötigte Materialien:

1. Arduino - Dieses Design verwendet ein Standard-Arduino Uno. Andere Arduino-Versionen oder Klone sollten ebenfalls funktionieren

2. HX711 auf Breakout-Board - Dieser Mikrochip wurde speziell entwickelt, um die Signale von Wägezellen zu verstärken und an einen anderen Mikrocontroller zu melden. Die Wägezellen werden an diese Karte angeschlossen, und diese Karte teilt dem Arduino mit, was die Wägezellen messen.

3. 5 kg Wägezelle - Wägezellen sind speziell geformte Metallteile, auf die Dehnungsmessstreifen kleben. Die Dehnungsmessstreifen sind Widerstände, die ihren Widerstand ändern, wenn sie gebogen werden. Wenn sich das Metallteil biegt, ändert sich der Widerstand der Wägezelle (der HX711 misst diese kleine Widerstandsänderung genau). Sie können sowohl den HX711 als auch die Wägezelle hier kaufen: //www.amazon.com/Degraw-Load-Cell-HX711-Combo/dp/B075317R45/

Wenn Sie das Kit kaufen, hinterlassen Sie bitte eine Bewertung! Es ist wirklich hilfreich für zukünftige Käufer.

4. Robuste flache Montagefläche (x2) - ein steifes Stück Hartholz oder Metall ist ideal.

5. Drähte in verschiedenen Farben zum Verbinden aller Teile

6. Stromversorgung für Arduino

Schritt 1: Montieren Sie die Wägezelle

Zuerst werden wir die Wägezelle montieren. Ihr Reittier wird einzigartig sein, aber hier sind die Richtlinien, die Sie befolgen müssen:

1. Die Aluminium-Wägezelle sollte 4 Gewindebohrungen und ein Etikett mit der Kraftrichtung aufweisen. Montieren Sie die Seite ohne Etikett an der festen Oberfläche und befestigen Sie die Seite mit dem Etikett an der beweglichen Oberfläche. Der Pfeil auf der beschrifteten Seite sollte nach unten in die Richtung zeigen, in die sich die Plattform bewegt, wenn eine Last aufgebracht wird.

2. Die Montageplatte und die bewegliche Platte sollten beide so starr wie möglich sein

3. Stellen Sie sicher, dass zwischen den Montageplatten und der Wägezelle starre Abstandshalter angebracht sind. Abstandshalter oder Unterlegscheiben funktionieren beide gut. Das Ziel ist, dass jede Kraft, die auf die bewegliche Platte ausgeübt wird, bewirkt, dass sich die Wägezelle verbiegt und verdreht. Ohne Abstandshalter würde die Last direkt von der beweglichen Platte auf die feste Platte übertragen, ohne die Wägezelle zu beeinträchtigen.

Schritt 2: Verdrahten Sie die Wägezellen und HX711

Informationen zum Anschließen der Wägezellen HX711 und Arduino finden Sie im Schaltplan.

Bei Aluminium-Wägezellen sind bereits mehrere Dehnungsmessstreifen für eine Wheatstone-Brücke miteinander verdrahtet. Sie müssen lediglich die Kabel in der richtigen Ausrichtung an die HX711-Karte anschließen.

Schritt 3: Fügen Sie Ihrer Arduino IDE die HX711-Bibliothek hinzu

Die HX711-Bibliothek ist hier verfügbar: //github.com/bogde/HX711

Unter diesem Link auf der Arduino-Website finden Sie Anweisungen zum Hinzufügen der Bibliothek zu Ihrer Arduino-IDE: //www.arduino.cc/en/Guide/Libraries

Schritt 4: Kalibrieren und wiegen!

Sparkfun hat großartige Arduino-Programme, um die Waage auszuführen. Die aktuellsten Versionen sind auf GitHub verfügbar und werden unten abgedruckt: //github.com/sparkfun/HX711-Load-Cell-Amplifier

Der erste Softwareschritt besteht darin, Kalibrierungsfaktoren für die Waage zu bestimmen. Führen Sie dazu den folgenden Code aus:

 / * Beispiel für die Verwendung des SparkFun HX711-Breakout-Boards mit einer Skala Von: Nathan Seidle SparkFun Electronics Datum: 19. November 2014 Lizenz: Dieser Code ist gemeinfrei, aber Sie kaufen mir ein Bier, wenn Sie dieses verwenden, und wir treffen uns eines Tages (Beerware-Lizenz). Dies ist die Kalibrierungsskizze. Verwenden Sie diese Option, um den Kalibrierungsfaktor zu bestimmen, den das Hauptbeispiel verwendet. Es gibt auch den Zero_Factor aus, der für Projekte nützlich ist, die zwischen den Leistungszyklen eine permanente Masse auf der Skala haben. Richten Sie Ihre Waage ein und starten Sie die Skizze OHNE Gewicht auf der Waage. Sobald die Messwerte angezeigt werden, platzieren Sie das Gewicht auf der Waage. Drücken Sie +/- oder a / z, um den Kalibrierungsfaktor anzupassen, bis die Ausgangswerte mit dem bekannten Gewicht übereinstimmen. Verwenden Sie diesen Kalibrierungsfaktor in der Beispielskizze In diesem Beispiel wird von Pfund (lbs) ausgegangen. Wenn Sie Kilogramm bevorzugen, ändern Sie den Serial.print ("lbs"). Linie zu kg. Der Kalibrierungsfaktor unterscheidet sich erheblich, hängt jedoch linear mit lbs (1 lbs = 0, 453592 kg) zusammen. Ihr Kalibrierungsfaktor kann sehr positiv oder sehr negativ sein. Es hängt alles von der Einrichtung Ihres Skalensystems und der Richtung ab, in die die Sensoren vom Nullzustand abweichen. In diesem Beispielcode wird die hervorragende Bibliothek von bogde verwendet: "// github.com/bogde/HX711" Die Bibliothek von bogde wird unter einem Arduino-Pin der GNU GENERAL PUBLIC LICENSE veröffentlicht 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Die meisten Pins am Arduino Uno sind mit DOUT / CLK kompatibel. Die HX711-Karte kann mit 2, 7 V bis 5 V betrieben werden, daher sollte die Arduino 5 V-Stromversorgung in Ordnung sein. * / #include "HX711.h" #define DOUT 3 #define CLK 2 HX711 scale; float kalibrierungsfaktor = -7050; // - 7050 funktionierte für mein 440lb max scale setup void setup () {Serial.begin (9600); Serial.println ("HX711-Kalibrierungsskizze"); Serial.println ("Entfernen Sie das gesamte Gewicht von der Waage"); Serial.println ("Legen Sie nach Beginn der Messungen das bekannte Gewicht auf die Waage"); Serial.println ("Drücken Sie + oder a, um den Kalibrierungsfaktor zu erhöhen"); Serial.println ("Drücken Sie - oder z, um den Kalibrierungsfaktor zu verringern"); scale.begin (DOUT, CLK); scale.set_scale (); scale.tare (); // Setze die Skala auf 0 zurück long zero_factor = scale.read_average (); // Eine Basislinie abrufen Serial.print ("Zero factor:"); // Dies kann verwendet werden, um die Notwendigkeit zu beseitigen, die Waage zu tarieren. Nützlich in permanenten Projekten. Serial.println (zero_factor); } void loop () {scale.set_scale (Kalibrierungsfaktor); // An diesen Kalibrierungsfaktor anpassen Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Ändern Sie dies in kg und passen Sie den Kalibrierungsfaktor neu an, wenn Sie SI-Einheiten wie einer gesunden Person folgen. Serial.print ("kalibrierungsfaktor:"); Serial.print (Kalibrierungsfaktor); Serial.println (); if (Serial.available ())} 

Nachdem Sie die Waage kalibriert haben, können Sie dieses Beispielprogramm ausführen und es dann für Ihre eigenen Zwecke hacken:

 / * Beispiel für die Verwendung des SparkFun HX711-Breakout-Boards mit einer Skala Von: Nathan Seidle SparkFun Electronics Datum: 19. November 2014 Lizenz: Dieser Code ist gemeinfrei, aber Sie kaufen mir ein Bier, wenn Sie dieses verwenden, und wir treffen uns eines Tages (Beerware-Lizenz). Dieses Beispiel zeigt die grundlegende Skalenausgabe. In der Kalibrierungsskizze finden Sie den Kalibrierungsfaktor für Ihr spezifisches Wägezellen-Setup. In diesem Beispielcode wird die hervorragende Bibliothek von bogde verwendet: "// github.com/bogde/HX711" Die Bibliothek von bogde wird unter einer GNU GENERAL PUBLIC LICENSE veröffentlicht. Der HX711 kann eines gut: Wägezellen lesen. Das Breakout Board ist mit jeder Wägezelle auf Weizensteinbrückenbasis kompatibel, mit der der Benutzer alles von einigen Gramm bis zu mehreren zehn Tonnen messen kann. Arduino Pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Die HX711-Karte kann von 2, 7V bis 5V mit Strom versorgt werden, daher sollte die Arduino 5V-Spannung in Ordnung sein. * / #include "HX711.h" #define kalibrierungsfaktor -7050.0 // Dieser Wert wird mit der SparkFun_HX711_Calibration-Skizze #define DOUT 3 #define CLK 2 HX711-Skala erhalten; void setup () {Serial.begin (9600); Serial.println ("HX711 Scale Demo"); scale.begin (DOUT, CLK); scale.set_scale (Kalibrierungsfaktor); // Dieser Wert wird mithilfe der SparkFun_HX711_Calibration-Skizze scale.tare () ermittelt. // Angenommen, die Waage hat beim Start kein Gewicht, setzen Sie die Waage auf 0 zurück. Serial.println ("Readings:"); } void loop () {Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); //scale.get_units () gibt einen float Serial.print ("lbs") zurück; // Sie können dies in kg ändern, müssen jedoch den Kalibrierungsfaktor umgestalten. Serial.println (); }} 

Ähnlicher Artikel