ARDUINO HX711 Veiesensorer ADC-modul brukerhåndbok
ARDUINO HX711 Veiesensorer ADC-modul

Søknad Eksample med Arduino Uno:

De fleste lastcellene har fire ledninger: rød, svart, grønn og hvit. På HX711-kortet finner du E+/E-, A+/A- og B+/B-tilkoblinger. Koble veiecellen til HX711 sensorkort i henhold til følgende tabell:

HX711 Lastsensorkort Lastcelleledning
E+ Rød
E- Svart
A+ Grønn
A- Hvit
B- Ubrukt
B+ Ubrukt

Forbindelse

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

HX711-modulen opererer på 5V og kommunikasjon gjøres ved hjelp av serielle SDA- og SCK-pinner.

Hvor skal man legge vekt på veiecellen?
Du kan se en pil vises på lastcellen. Denne pilen viser kraftretningen på lastcellen. Du kan lage arrangement vist i figuren ved hjelp av metallstrimler. Fest metallstrimmel på lastcellen med bolter.

Vekt

Programmering av Arduino UNO for å måle vekt i kg:

Koble til skjemaet som vist i figur 1 ovenfor.
For at denne sensormodulen skal fungere med Arduino-kort trenger vi HX711 Library som kan lastes ned fra https://github.com/bogde/HX711.
Før HX711 kan brukes til å måle en objektveiing nøyaktig, må den kalibreres først. Trinn nedenfor viser deg hvordan du utfører kalibreringen.

1 trinn: Kalibreringsskisse
Last opp skissen nedenfor til Arduino Uno Board

/* Handson Technology www.handsontec.com
* 29. desember 2017
* Lastcelle HX711-modulgrensesnitt med Arduino for å måle vekt i kg
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
De fleste pinner på Arduino Uno vil være kompatible med DOUT/CLK.
HX711-kortet kan drives fra 2.7V til 5V, så Arduino 5V-strømmen skal være i orden.
*/
#include “HX711.h” //Du må ha dette biblioteket i arduino-biblioteksmappen din
#define DOUT 3
#define CLK 2
HX711 skala(DOUT, CLK);
//Endre denne kalibreringsfaktoren i henhold til belastningscellen din når det er funnet at du mange trenger det
variere det i tusenvis
float calibration_factor = -96650; //-106600 fungerte for min 40Kg maks vektoppsett
//================================================ ========================================
// OPPSETT
//================================================ ========================================
void setup() {
Serial.begin(9600);

Serial.println(“HX711 Calibration”);
Serial.println(“Fjern all vekt fra vekten”);
Serial.println(“Etter at avlesningene begynner, plasser kjent vekt på vekten”);
Serial.println(“Trykk a,s,d,f for å øke kalibreringsfaktoren med 10,100,1000,10000
henholdsvis»);
Serial.println(“Trykk z,x,c,v for å redusere kalibreringsfaktoren med 10,100,1000,10000
henholdsvis»);
Serial.println(“Trykk t for tara”);
skala.sett_skala();
scale.tare(); //Tilbakestill skalaen til 0
long zero_factor = skala.lest_gjennomsnitt(); //Få en grunnlinjeavlesning
Serial.print(“Nullfaktor: “); //Dette kan brukes til å fjerne behovet for å tarere vekten.
Nyttig i prosjekter i permanent skala.
Serial.println(null_faktor);
}
//================================================ ========================================
// LØKKE
//================================================ ========================================
void loop() {
skala.sett_skala(kalibreringsfaktor); //Juster til denne kalibreringsfaktoren
Serial.print(“Leser: “);
Serial.print(scale.get_units(), 3);
Serial.print(” kg”); //Endre dette til kg og juster kalibreringsfaktoren på nytt hvis du
følg SI-enheter som en tilregnelig 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;
annet hvis(temp == '-' || temp == 'z')
kalibreringsfaktor -= 10;
annet if(temp == 's')
calibration_factor += 100;
annet if(temp == 'x')
kalibreringsfaktor -= 100;
annet if(temp == 'd')
calibration_factor += 1000;
annet if(temp == 'c')
kalibreringsfaktor -= 1000;
annet if(temp == 'f')
calibration_factor += 10000;
annet if(temp == 'v')
kalibreringsfaktor -= 10000;
annet if(temp == 't')
scale.tare(); //Tilbakestill skalaen til null
}
}
//================================================ ======================================

Fjern eventuell last fra lastsensoren. Åpne seriemonitoren. Vinduet nedenfor skal åpnes som viser at modulen var koblet til Arduino Uno.

Konfigurasjon

Plasser et kjent vektobjekt på veiecellen. I dette tilfellet brukte forfatteren en kjent vekt på 191 gram med 10 kg belastningscelle. Den serielle monitoren vil vise et vekttall som vist nedenfor:
Konfigurasjon

Vi må gjøre kalibrering her:

  • Tast inn bokstaven "a, s, d, f" i den serielle monitorens kommandorom og trykk "Send"-knappen for å øke kalibreringsfaktoren med henholdsvis 10, 100, 1000, 10000
  • Tast inn bokstaven "z, x, c, v" i kommandofeltet for seriell monitor og trykk "Send"-knappen for å redusere kalibreringsfaktoren med henholdsvis 10, 100, 1000, 10000.
    Konfigurasjon

Fortsett å justere til avlesningen viser den faktiske vekten plassert på veiecellen. Registrer "calibration_factor"-verdien, i dette tilfellet "-239250" i forfatterens vekt på 191g referanse med 10KG Load Cell. Vi trenger denne verdien for å koble til vår andre skisse for ekte måling.

2. trinn: Endelig kode for reell vektmåling
Før vi laster opp skissen, må vi plugge inn "kalibreringsfaktoren" oppnådd i 1. trinn:
Oppsett

Last opp skissen nedenfor til Arduino Uno Board, etter å ha endret skaleringsfaktoren:

/* Handson Technology www.handsontec.com
* 29. desember 2017
* Lastcelle HX711-modulgrensesnitt med Arduino for å måle vekt i kg
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
De fleste pinner på Arduino Uno vil være kompatible med DOUT/CLK.
HX711-kortet kan drives fra 2.7V til 5V, så Arduino 5V-strømmen skal være i orden.
*/
#include “HX711.h” //Du må ha dette biblioteket i arduino-biblioteksmappen din
#define DOUT 3
#define CLK 2
HX711 skala(DOUT, CLK);
//Endre denne kalibreringsfaktoren i henhold til belastningscellen din når det er funnet at du mange trenger å variere den i tusenvis
float calibration_factor = -96650; //-106600 fungerte for min 40Kg maks vektoppsett
//================================================ ==============================================
// OPPSETT
//================================================ ==============================================
void setup() {
Serial.begin(9600);
Serial.println(“Trykk T for å tarere”);
scale.set_scale(-239250); //Kalibreringsfaktor hentet fra første skisse
scale.tare(); //Tilbakestill skalaen til 0
}
//================================================ ==============================================
// LØKKE
//================================================ ==============================================
void loop() {
Serial.print(“Vekt: “);
Serial.print(scale.get_units(), 3); //Opp til 3 desimaler
Serial.println(" kg"); //Endre dette til kg og juster kalibreringsfaktoren på nytt hvis du følger lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Tilbakestill skalaen til null
}
}
//================================================ ==============================================

Etter å ha lastet opp skissen, åpner du Serial Monitor. Vinduet nedenfor skal vises som viser den virkelige måleverdien:
Konfigurasjon

Du kan tilbakestille avlesningen til 0.000 kg (uten belastning) ved å taste inn "t" eller "T" i kommandofeltet og trykke på "Send"-knappen. Under displayet som viser måleverdien blir 0.000 kg.
Konfigurasjon

Plasser en gjenstand på veiecellen, den faktiske vekten skal vises. Nedenfor er vektvisningen når du plasserer objektet på 191gram (brukt i 1. trinn for kalibrering).
Konfigurasjon

Hurra! du har konstruert en vekt med en nøyaktighet på tre desimaler!

Dokumenter / Ressurser

ARDUINO HX711 Veiesensorer ADC-modul [pdfBrukerhåndbok
HX711 Veiesensorer ADC-modul, HX711, Veiesensorer ADC-modul, sensorer ADC-modul, ADC-modul, modul

Referanser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *