Verwenden eines DMS-Balkens mit Arduino

Ein Dehnungsmessstreifen ermöglicht das Wiegen eines Objekts. Dieses kurze Tutorial zeigt, wie man mit dem Arduino Uno Board damit umgeht.

Das Beispiel verwendet die folgenden Elemente:

Verbindung

Das Modul wird direkt vom Arduino mit Strom versorgt, sodass wir keine externe Stromquelle benötigen. Die Stifte werden gemäß der folgenden Tabelle angebracht:

Verstärkerstift Arduino-Stift
VCC 5 V
DAT 3
CLK 2
Masse Masse

Befestigen Sie auf der anderen Seite des Verstärkermoduls den DMS-Balken entsprechend den Farben der Adern.

  • Rot rot
  • SCHWARZ - schwarz
  • WHT - weiß
  • GRN - grün

Anschlussplan von Strahl, Verstärker und Arduino Uno.

Service

Zunächst sollte die Bibliothek zur Arduino-Umgebung hinzugefügt werden (Sketch -> Include Library -> Add .ZIP Library ...).

Das Beispiel verwendet die Programme aus der beigefügten Bibliothek. Führen Sie zuerst das Kalibrierungsprogramm SparkFun_HX711_Calibration aus (Datei -> Beispiele -> HX711 -> SparkFun_HX711_Calibration). Dank dessen können wir den Koeffizienten für den verwendeten Dehnungsmessstreifen bestimmen.

Wir starten das System ohne Belastung des Balkens. Dann legen wir einen Gegenstand mit bekanntem Gewicht hinein. Stellen Sie nun mit den Tasten „+“ und „-“ (bzw. „a“ und „z“) den Messwert so ein, dass er mit unserer bekannten Masse übereinstimmt, z.

Screenshot vom Serial Port Monitor.

Unten verwendetes Programm (basierend auf dem aus der Bibliothek)

 #include "HX711.h"

#define DOUT 3 // Arduino Pin 3 und Sensor-DAT-Ausgang
#define CLK 2 // Arduino Pin 2 und Sensor-CLK-Ausgang

HX711-Skala (DOUT, CLK);

Schwimmerkalibrierungsfaktor = -7050; // Kalibrierungsfaktor

void setup () {
  Serial.begin (9600);
  Serial.println ("HX711 - Kalibrierungsprogramm");
  Serial.println ("Ladung vom Balken entfernen");
  Serial.println ("Legen Sie nach dem Start des Lesens die bekannte Masse auf den Balken");
  Serial.println ("Drücken Sie + oder um den Kalibrierungsfaktor zu erhöhen");
  Serial.println ("Drücken Sie - oder um den Kalibrierungsfaktor zu erhöhen");

  scale.set_scale ();
  scale.tare (); // Zurücksetzen der Skala auf 0

  long zero_factor = scale.read_average (); // Lesen Sie die Grundlagen
  Serial.print ("Nullfaktor:"); // Kann verwendet werden, um die Notwendigkeit einer Waagentarierung zu beseitigen. Nützlich für Projekte mit festem Maßstab
  Serial.println (zero_factor);
}

Leere Schleife () {

  scale.set_scale (Kalibrierungsfaktor); // Ausrichtung nach Kalibrierfaktor

  Serial.print ("Lesen:");
  Serial.print (scale.get_units (), 1);
  Serial.print ("kg"); // Wir können Kilogramm oder Pfund frei wählen, da zwischen ihnen ein linearer Zusammenhang besteht
  Serial.print ("Calibration_factor: "); Serial.print (Kalibrierfaktor); Serial.println (); if (Serial.available ()) {char temp = Serial.read (); // Abrufen des eingegebenen Werts und Ändern des Kalibrierungsfaktors if (temp == '+ '|| temp ==' a ') kalibrierungsfaktor + = 10; sonst if (temp ==' - '|| temp ==' z ') kalibrierungsfaktor - = 10;}}

Dann sollte der gelesene Wert im Programm SparkFun_HX711_Example verwendet werden (Datei -> Beispiele -> HX711 -> SparkFun_HX711_Example). Wir werden ein polonisiertes Programm verwenden:

#include "HX711.h"

#define Calibration_factor -3350.0 // Wert aus dem Kalibrierprogramm lesen

#define DOUT 3 // Arduino Pin 3 und Sensor-DAT-Ausgang
#define CLK 2 // Arduino Pin 2 und Sensor-CLK-Ausgang

HX711-Skala (DOUT, CLK);

void setup () {
  Serial.begin (9600);
  Serial.println ("HX711 Scale-Demo");

  scale.set_scale (Kalibrierungsfaktor); // Stellen Sie die Kalibrierung ein
  scale.tare (); // Setzen Sie den Zeiger auf den Anfang zurück

  Serial.println ("Liest:");
}

Leere Schleife () {
  Serial.print ("Lesen:");
  Serial.print (scale.get_units (), 1); //scale.get_units () gibt die Float-Variable zurück
  Serial.print ("kg"); // Wir können Kilogramm oder Pfund frei wählen, aber bei einer Änderung ändert sich auch der Kalibrierfaktor
  Serial.println ();
}

Jetzt können wir beliebige Gegenstände wiegen. Das Ergebnis der Arbeit des Programms wird auf dem Bildschirm unten angezeigt:

Screenshot vom Serial Port Monitor.

Wir freuen uns auf die Zusammenarbeit mit Ihnen!