ARDUINO HX711 Veiesensorer ADC-modul brukerhåndbok
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 |
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.
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.
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:
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.
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:
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:
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.
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).
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 |