ARDUINO HX711 Vejesensorer ADC-modul brugermanual
ARDUINO HX711 Vejesensorer ADC-modul

Anvendelse Example med Arduino Uno:

De fleste vejeceller har fire ledninger: rød, sort, grøn og hvid. På HX711-kort finder du E+/E-, A+/A- og B+/B-forbindelser. Tilslut vejecelle til HX711 sensorkort i henhold til følgende tabel:

HX711 Load Sensor Board Load Cell Wire
E+ Rød
E- Sort
A+ Grøn
A- Hvid
B- Ubrugt
B+ Ubrugt

Forbindelse

HX711 sensor Arduino Uno
GND GND
DT D3
SCK D2
VCC 5V

HX711-modulet fungerer ved 5V og kommunikation sker ved hjælp af serielle SDA- og SCK-ben.

Hvor skal man påføre vægt på vejecellen?
Du kan se, at en pil vises på belastningscellen. Denne pil viser kraftretningen på vejecellen. Du kan lave arrangement vist i figuren ved hjælp af metalstrimler. Fastgør metalstrimmel på vejecellen ved hjælp af bolte.

Vægt

Programmering af Arduino UNO til at måle vægt i kg:

Tilslut skemaet som vist i figur 1 ovenfor.
For at dette sensormodul kan fungere med Arduino-kort, har vi brug for HX711 Library, som kan downloades fra https://github.com/bogde/HX711.
Før HX711 kan bruges til at måle en genstands vejning nøjagtigt, skal den først kalibreres. Nedenstående trin viser dig, hvordan du udfører kalibreringen.

1 Trin: Kalibreringsskitse
Upload nedenstående skitse til Arduino Uno Board

/* Handson Technology www.handsontec.com
* 29. december 2017
* Load Cell HX711 Modul Interface med Arduino til at måle vægt i kg
Arduino
stift
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Næsten enhver pin på Arduino Uno vil være kompatibel med DOUT/CLK.
HX711-kortet kan strømforsynes fra 2.7V til 5V, så Arduino 5V-strømmen burde være i orden.
*/
#include “HX711.h” //Du skal have dette bibliotek i din arduino-biblioteksmappe
#define DOUT 3
#define CLK 2
HX711 skala(DOUT, CLK);
//Skift denne kalibreringsfaktor i henhold til din vejecelle, når det er fundet, at du har brug for det
variere det i tusindvis
float calibration_factor = -96650; //-106600 fungerede for min 40Kg max vægt opsætning
//================================================ =======================================
// OPSÆTNING
//================================================ =======================================
void setup() {
Serial.begin(9600);

Serial.println(“HX711 Calibration”);
Serial.println(“Fjern al vægt fra vægten”);
Serial.println(“Når aflæsningerne er begyndt, læg kendt vægt på vægten”);
Serial.println(“Tryk på a,s,d,f for at øge kalibreringsfaktoren med 10,100,1000,10000
henholdsvis");
Serial.println("Tryk på z,x,c,v for at reducere kalibreringsfaktoren med 10,100,1000,10000
henholdsvis");
Serial.println(“Tryk på t for tara”);
skala.sæt_skala();
scale.tare(); //Nulstil skalaen til 0
lang nulfaktor = scale.read_average(); //Få en baseline-aflæsning
Serial.print(“Nul faktor: “); //Dette kan bruges til at fjerne behovet for at tarere vægten.
Nyttig i projekter i permanent skala.
Serial.println(nul_faktor);
}
//================================================ =======================================
// LOOP
//================================================ =======================================
void loop() {
skala.sæt_skala(kalibreringsfaktor); //Juster til denne kalibreringsfaktor
Serial.print(“Læser: “);
Serial.print(scale.get_units(), 3);
Serial.print(" kg"); //Skift dette til kg og juster kalibreringsfaktoren igen, hvis du
følg SI-enheder som en fornuftig person
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
calibration_factor += 10;
else if(temp == '-' || temp == 'z')
kalibreringsfaktor -= 10;
andet if(temp == 's')
calibration_factor += 100;
andet if(temp == 'x')
kalibreringsfaktor -= 100;
andet if(temp == 'd')
calibration_factor += 1000;
andet if(temp == 'c')
kalibreringsfaktor -= 1000;
andet if(temp == 'f')
calibration_factor += 10000;
andet if(temp == 'v')
kalibreringsfaktor -= 10000;
andet if(temp == 't')
scale.tare(); //Nulstil skalaen til nul
}
}
//================================================ =======================================

Fjern enhver belastning fra belastningssensoren. Åbn den serielle skærm. Nedenstående vindue skulle åbne og vise, at modulet var blevet tilsluttet Arduino Uno.

Konfiguration

Placer et kendt vægtobjekt på vejecellen. I dette tilfælde brugte forfatteren en kendt vægt på 191 gram med 10KG Load Cell. Den serielle monitor vil vise nogle veje tal som vist nedenfor:
Konfiguration

Vi skal lave kalibrering her:

  • Indtast bogstavet "a, s, d, f" i den serielle monitors kommandorum og tryk på "Send"-knappen for at øge kalibreringsfaktoren med henholdsvis 10, 100, 1000, 10000
  • Indtast bogstavet " z, x, c, v " i kommandorummet på den serielle monitor og tryk på "Send"-knappen for at reducere kalibreringsfaktoren med henholdsvis 10, 100, 1000, 10000.
    Konfiguration

Bliv ved med at justere indtil aflæsningen viser den faktiske vægt placeret på vejecellen. Notér "calibration_factor"-værdien, i dette tilfælde "-239250" i forfatterens vægt på 191g reference med 10KG Load Cell. Vi skal bruge denne værdi til at tilslutte vores anden skitse til reel måling.

2. trin: Endelig kode for reel vægtmåling
Før du uploader skitsen, skal vi tilslutte "kalibreringsfaktoren" opnået i 1. trin:
Opsætning

Upload nedenstående skitse til Arduino Uno Board, efter at have ændret skalafaktoren:

/* Handson Technology www.handsontec.com
* 29. december 2017
* Load Cell HX711 Modul Interface med Arduino til at måle vægt i kg
Arduino
stift
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Næsten enhver pin på Arduino Uno vil være kompatibel med DOUT/CLK.
HX711-kortet kan strømforsynes fra 2.7V til 5V, så Arduino 5V-strømmen burde være i orden.
*/
#include “HX711.h” //Du skal have dette bibliotek i din arduino-biblioteksmappe
#define DOUT 3
#define CLK 2
HX711 skala(DOUT, CLK);
//Skift denne kalibreringsfaktor i henhold til din vejecelle, når den først er fundet, du har brug for at variere den i tusindvis
float calibration_factor = -96650; //-106600 fungerede for min 40Kg max vægt opsætning
//================================================ ==============================================
// OPSÆTNING
//================================================ ==============================================
void setup() {
Serial.begin(9600);
Serial.println(“Tryk på T for at tarere”);
scale.set_scale(-239250); //Kalibreringsfaktor opnået fra første skitse
scale.tare(); //Nulstil skalaen til 0
}
//================================================ ==============================================
// LOOP
//================================================ ==============================================
void loop() {
Serial.print(“Vægt: “);
Serial.print(scale.get_units(), 3); //Op til 3 decimaler
Serial.println(" kg"); //Skift dette til kg og juster kalibreringsfaktoren igen, hvis du følger lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Nulstil skalaen til nul
}
}
//================================================ ==============================================

Når du har uploadet skitsen, skal du åbne Serial Monitor. Nedenstående vindue skulle vises, der viser den reelle måleværdi:
Konfiguration

Du kan nulstille aflæsningen til 0.000 kg (uden belastning) ved at taste "t" eller "T" ind i kommandorummet og trykke på "Send"-knappen. Nedenstående display, der viser måleværdien bliver 0.000 kg.
Konfiguration

Placer en genstand på vejecellen, den faktiske vægt skal vises. Nedenfor er vægtvisningen, når du placerer genstanden på 191 gram (bruges i 1. trin til kalibrering).
Konfiguration

Hurra! du har konstrueret en vægt med en nøjagtighed på tre decimaler!

Dokumenter/ressourcer

ARDUINO HX711 Vejesensorer ADC-modul [pdfBrugermanual
HX711 Vejesensorer ADC-modul, HX711, Vejesensorer ADC-modul, sensorer ADC-modul, ADC-modul, modul

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *