ARDUINO HX711 Vägningssensorer ADC-modul Användarmanual
Applikation Example med Arduino Uno:
De flesta lastceller har fyra ledningar: röd, svart, grön och vit. På HX711-kortet hittar du E+/E-, A+/A- och B+/B-anslutningar. Anslut lastcell till HX711 sensorkort enligt följande tabell:
HX711 Lastsensorkort | Lastcellskabel |
E+ | Röd |
E- | Svart |
A+ | Grön |
A- | Vit |
B- | Oanvänd |
B+ | Oanvänd |
HX711 sensor | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
HX711-modulen fungerar på 5V och kommunikationen sker med seriella SDA- och SCK-stift.
Var ska man lägga vikt på lastcellen?
Du kan se en pil visas på lastcellen. Denna pil visar kraftriktningen på lastcellen. Du kan göra arrangemanget som visas i figuren med hjälp av metallremsor. Fäst metallremsa på lastcellen med bultar.
Programmera Arduino UNO för att mäta vikt i kg:
Anslut schemat som visas i figur 1 ovan.
För att denna sensormodul ska fungera med Arduino-kort behöver vi HX711 Library som kan laddas ner från https://github.com/bogde/HX711.
Innan HX711 kan användas för att mäta ett objekts vägning noggrant måste det kalibreras först. Nedanstående steg visar dig hur du gör kalibreringen.
1 Steg: Kalibreringsskiss
Ladda upp skissen nedan till Arduino Uno Board
/* Handson Technology www.handsontec.com
* 29 december 2017
* Lastcell HX711-modulgränssnitt med Arduino för att mäta vikt i kg
Arduino
stift
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Nästan alla stift på Arduino Uno kommer att vara kompatibla med DOUT/CLK.
HX711-kortet kan drivas från 2.7V till 5V så Arduino 5V-strömmen borde vara bra.
*/
#include “HX711.h” //Du måste ha det här biblioteket i din arduino-biblioteksmapp
#define DOUT 3
#define CLK 2
HX711 skala(DOUT, CLK);
//Ändra den här kalibreringsfaktorn enligt din lastcell när det upptäcks att du många behöver
variera det i tusentals
float calibration_factor = -96650; //-106600 fungerade för min 40Kg max våguppsättning
//================================================ ========================================
// UPPSTART
//================================================ ========================================
void setup() {
Serial.begin(9600);
Serial.println(“HX711 Calibration”);
Serial.println(“Ta bort all vikt från vågen”);
Serial.println(“Efter att avläsningarna börjar, placera känd vikt på vågen”);
Serial.println(“Tryck på a,s,d,f för att öka kalibreringsfaktorn med 10,100,1000,10000
respektive");
Serial.println(“Tryck på z,x,c,v för att minska kalibreringsfaktorn med 10,100,1000,10000
respektive");
Serial.println(“Tryck på t för tara”);
scale.set_scale();
scale.tare(); //Återställ skalan till 0
long zero_factor = scale.read_average(); //Få en baslinjeavläsning
Serial.print("Nollfaktor: "); //Detta kan användas för att ta bort behovet av att tarera vågen.
Användbar i projekt i permanent skala.
Serial.println(noll_faktor);
}
//================================================ ========================================
// LOOP
//================================================ ========================================
void loop() {
scale.set_scale(calibration_factor); //Justera till denna kalibreringsfaktor
Serial.print(“Reading: “);
Serial.print(scale.get_units(), 3);
Serial.print(” kg”); //Ändra detta till kg och justera om kalibreringsfaktorn om du
följ SI-enheter som en sansad 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;
annat om(temp == '-' || temp == 'z')
calibration_factor -= 10;
annars if(temp == 's')
calibration_factor += 100;
annars if(temp == 'x')
calibration_factor -= 100;
annars if(temp == 'd')
calibration_factor += 1000;
annars if(temp == 'c')
calibration_factor -= 1000;
annars if(temp == 'f')
calibration_factor += 10000;
annars if(temp == 'v')
calibration_factor -= 10000;
annat om (temp == 't')
scale.tare(); //Återställ skalan till noll
}
}
//================================================ ======================================
Ta bort eventuell last från lastsensorn. Öppna den seriella monitorn. Fönstret nedan bör öppnas som visar att modulen har anslutits till Arduino Uno.
Placera ett känt viktobjekt på lastcellen. I det här fallet använde författaren en känd vikt på 191 gram med 10 kg lastcell. Den seriella monitorn kommer att visa en viktsiffra som visas nedan:
Vi måste göra kalibrering här:
- Knappa in bokstaven "a, s, d, f" i den seriella monitorns kommandoutrymme och tryck på "Skicka"-knappen för att öka kalibreringsfaktorn med 10, 100, 1000, 10000 respektive
- Knappa in bokstaven " z, x, c, v " i den seriella monitorns kommandoutrymme och tryck på "Skicka"-knappen för att minska kalibreringsfaktorn med 10, 100, 1000, 10000 respektive.
Fortsätt justera tills avläsningen visar den faktiska vikten placerad på lastcellen. Skriv ner "calibration_factor"-värdet, i det här fallet "-239250" i författarens vikt på 191g referens med 10KG lastcell. Vi kommer att behöva detta värde för att ansluta till vår andra skiss för riktig mätning.
Steg 2: Slutlig kod för mätning av verklig vikt
Innan vi laddar upp skissen måste vi koppla in "kalibreringsfaktorn" som erhölls i det första steget:
Ladda upp skissen nedan till Arduino Uno Board, efter att ha ändrat skalfaktorn:
/* Handson Technology www.handsontec.com
* 29 december 2017
* Lastcell HX711-modulgränssnitt med Arduino för att mäta vikt i kg
Arduino
stift
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Nästan alla stift på Arduino Uno kommer att vara kompatibla med DOUT/CLK.
HX711-kortet kan drivas från 2.7V till 5V så Arduino 5V-strömmen borde vara bra.
*/
#include “HX711.h” //Du måste ha det här biblioteket i din arduino-biblioteksmapp
#define DOUT 3
#define CLK 2
HX711 skala(DOUT, CLK);
//Ändra den här kalibreringsfaktorn enligt din lastcell när den väl hittats måste du variera den i tusentals
float calibration_factor = -96650; //-106600 fungerade för min 40Kg max våguppsättning
//================================================ ==============================================
// UPPSTART
//================================================ ==============================================
void setup() {
Serial.begin(9600);
Serial.println(“Tryck på T för att tarera”);
scale.set_scale(-239250); //Kalibreringsfaktor erhållen från första skissen
scale.tare(); //Återställ skalan till 0
}
//================================================ ==============================================
// LOOP
//================================================ ==============================================
void loop() {
Serial.print(“Vikt: “);
Serial.print(scale.get_units(), 3); //Upp till 3 decimaler
Serial.println(” kg”); //Ändra detta till kg och justera om kalibreringsfaktorn om du följer lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Återställ skalan till noll
}
}
//================================================ ==============================================
När du har laddat upp skissen, öppnar du Serial Monitor. Fönstret nedan bör visas som visar det verkliga mätvärdet:
Du kan återställa avläsningen till 0.000 kg (utan belastning) genom att knappa in "t" eller "T" i kommandofältet och trycka på "Skicka"-knappen. Nedanstående display som visar mätvärdet blir 0.000 kg.
Placera ett föremål på lastcellen, den faktiska vikten ska visas. Nedan visas viktvisningen när du placerar föremålet på 191gram (används i 1:a steget för kalibrering).
Hurra! du har konstruerat en våg med en noggrannhet på tre decimaler!
Dokument/resurser
![]() |
ARDUINO HX711 Vägningssensorer ADC-modul [pdf] Användarmanual HX711 Vägningssensorer ADC-modul, HX711, Vägningssensorer ADC-modul, sensorer ADC-modul, ADC-modul, modul |