ARDUINO HX711 súlymérő érzékelők ADC modul felhasználói kézikönyv
Pályázat plampLe az Arduino Uno-val:
A legtöbb mérőcella négy vezetékkel rendelkezik: piros, fekete, zöld és fehér. A HX711 kártyán talál E+/E-, A+/A- és B+/B csatlakozásokat. Csatlakoztassa a mérőcellát a HX711 érzékelőkártyához az alábbi táblázat szerint:
HX711 terhelésérzékelő kártya | Load Cell Wire |
E+ | Piros |
E- | Fekete |
A+ | Zöld |
A- | Fehér |
B- | Felhasználatlan |
B+ | Felhasználatlan |
HX711 érzékelő | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
A HX711 modul 5 V-on működik, és a kommunikáció soros SDA és SCK érintkezőkön keresztül történik.
Hol kell súlyt helyezni a mérőcellára?
Láthatja, hogy egy nyíl látható a Cella betöltése alatt. Ez a nyíl az erőmérő cellára ható erő irányát mutatja. Az ábrán látható elrendezést fémszalagokkal végezheti el. Csavarokkal rögzítse a fémcsíkot az erőmérő cellára.
Az Arduino UNO programozása súlymérésre kg-ban:
Csatlakoztassa a kapcsolási rajzot a fenti 1. ábra szerint.
Ahhoz, hogy ez az érzékelő modul működjön az Arduino kártyákkal, szükségünk van HX711 könyvtárra, amely letölthető a https://github.com/bogde/HX711.
Mielőtt a HX711-et használni lehetne egy tárgy pontos mérésére, először kalibrálni kell. Az alábbi lépés megmutatja, hogyan kell elvégezni a kalibrálást.
1 lépés: Kalibrációs vázlat
Töltse fel az alábbi vázlatot az Arduino Uno Board-ra
/* Handson Technology www.handsontec.com
* 29. december 2017
* Load Cell HX711 modul interfész Arduino-val a súly kg-ban méréséhez
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Az Arduino Uno legtöbb tűje kompatibilis a DOUT/CLK-vel.
A HX711 kártya 2.7 V-tól 5 V-ig táplálható, így az Arduino 5 V tápellátásának megfelelőnek kell lennie.
*/
#include “HX711.h” //Ennek a könyvtárnak az arduino könyvtár mappájában kell lennie
#define DOUT 3
#define CLK 2
HX711 mérleg (DOUT, CLK);
//Változtassa meg ezt a kalibrációs tényezőt a mérőcella szerint, amint kiderül, hogy sok szüksége van rá
ezrekben variáld
float kalibrációs_tényező = -96650; //-106600 működött a 40 kg-os max mérlegemnél
//================================================ =======================================
// BEÁLLÍT
//================================================ =======================================
void setup() {
Serial.begin(9600);
Serial.println("HX711 kalibrálás");
Serial.println(“Minden súly eltávolítása a mérlegről”);
Serial.println("A leolvasás megkezdése után helyezze az ismert súlyt a skálára");
Serial.println(“Nyomja meg az a,s,d,f billentyűt a kalibrációs tényező 10,100,1000,10000-rel növeléséhez
illetőleg");
Serial.println(“Nyomja meg a z,x,c,v billentyűket a kalibrációs tényező 10,100,1000,10000-rel csökkentéséhez
illetőleg");
Serial.println("Nyomja meg a t tára");
scale.set_scale();
scale.tare(); //Állítsa vissza a skálát 0-ra
long zero_factor = scale.read_average(); //Kérjen egy alapértéket
Serial.print(“Nulla tényező: “); //Ezzel megszüntethető a mérleg tárázásának szükségessége.
Hasznos állandó léptékű projektekben.
Serial.println(nulla_tényező);
}
//================================================ =======================================
// LOOP
//================================================ =======================================
void loop() {
scale.set_scale(calibration_factor); //Állítsa be ezt a kalibrációs tényezőt
Serial.print("Olvasás:");
Serial.print(scale.get_units(), 3);
Serial.print(” kg”); //Módosítsa ezt kg-ra, és állítsa be újra a kalibrációs tényezőt, ha
kövesd az SI mértékegységeit, mint egy józan ember
Serial.print(" kalibrációs_tényező: ");
Serial.print(kalibrációs_tényező);
Soros.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
kalibrációs_tényező += 10;
else if(temp == '-' || temp == 'z')
kalibrációs_tényező -= 10;
else if(temp == 's')
kalibrációs_tényező += 100;
else if(temp == 'x')
kalibrációs_tényező -= 100;
else if(temp == 'd')
kalibrációs_tényező += 1000;
else if(temp == 'c')
kalibrációs_tényező -= 1000;
else if(temp == 'f')
kalibrációs_tényező += 10000;
else if(temp == 'v')
kalibrációs_tényező -= 10000;
else if(temp == 't')
scale.tare(); //A skála visszaállítása nullára
}
}
//================================================ =======================================
Távolítson el minden terhelést a terhelésérzékelőről. Nyissa meg a Serial Monitort. Az alábbi ablaknak meg kell nyílnia, amely azt mutatja, hogy a modul sikeresen csatlakozott az Arduino Uno-hoz.
Helyezzen egy ismert súlyú tárgyat a mérőcellára. Ebben az esetben a szerző 191 gramm ismert tömeget használt 10 kg mérőcellával. A soros monitor az alábbiak szerint megjelenít egy súlyértéket:
Itt kell kalibrálni:
- Írja be az " a, s, d, f " betűt a soros monitor parancsterébe, és nyomja meg a "Küldés" gombot a kalibrációs tényező 10, 100, 1000, 10000 XNUMX-rel történő növeléséhez.
- Írja be a „z, x, c, v” betűt a soros monitor parancsterébe, és nyomja meg a „Küldés” gombot a kalibrációs tényező 10, 100, 1000, 10000 XNUMX értékkel történő csökkentéséhez.
Addig tartsa a beállítást, amíg a leolvasott érték meg nem mutatja a mérőcellára helyezett tényleges súlyt. Jegyezze fel a „calibration_factor” értéket, ebben az esetben a „-239250”-et a szerző 191 g-os referenciájában, 10 kg-os mérőcellával. Szükségünk lesz erre az értékre, hogy beillesszük a második vázlatunkba a valódi méréshez.
2. lépés: A valós súlymérés végső kódja
A vázlat feltöltése előtt be kell dugnunk az 1. lépésben kapott „kalibrációs tényezőt”:
A léptéktényező módosítása után töltse fel az alábbi vázlatot az Arduino Uno Boardra:
/* Handson Technology www.handsontec.com
* 29. december 2017
* Load Cell HX711 modul interfész Arduino-val a súly kg-ban méréséhez
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Az Arduino Uno legtöbb tűje kompatibilis a DOUT/CLK-vel.
A HX711 kártya 2.7 V-tól 5 V-ig táplálható, így az Arduino 5 V tápellátásának megfelelőnek kell lennie.
*/
#include “HX711.h” //Ennek a könyvtárnak az arduino könyvtár mappájában kell lennie
#define DOUT 3
#define CLK 2
HX711 mérleg (DOUT, CLK);
//Módosítsa ezt a kalibrációs tényezőt a mérőcella szerint, ha azt találja, sok ezerben kell módosítania
float kalibrációs_tényező = -96650; //-106600 működött a 40 kg-os max mérlegemnél
//================================================ ==============================================
// BEÁLLÍT
//================================================ ==============================================
void setup() {
Serial.begin(9600);
Serial.println("Nyomja meg a T-t a tárazáshoz");
scale.set_scale(-239250); //Az első vázlatból kapott kalibrációs tényező
scale.tare(); //Állítsa vissza a skálát 0-ra
}
//================================================ ==============================================
// LOOP
//================================================ ==============================================
void loop() {
Serial.print("Súly:");
Serial.print(scale.get_units(), 3); //Legfeljebb 3 tizedesjegy
Serial.println(” kg”); //Módosítsa ezt kg-ra, és állítsa be újra a kalibrációs tényezőt, ha követi a lbs-t
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //A skála visszaállítása nullára
}
}
//================================================ ==============================================
A vázlat sikeres feltöltése után nyissa meg a Serial Monitort. Az alábbi ablaknak kell megjelennie a valós mérési értékkel:
A leolvasást visszaállíthatja 0.000 kg-ra (terhelés nélkül) a „t” vagy a „T” beírásával a parancsmezőbe, és megnyomja a „Küldés” gombot. A mérési értéket mutató kijelző alatt 0.000 kg lesz.
Helyezzen egy tárgyat a mérőcellára, a tényleges súlynak meg kell jelennie. Az alábbiakban látható a súlykijelzés a 191 grammos tárgy elhelyezésekor (a kalibrálás 1. lépésében használták).
Hurrá! három tizedesvessző pontosságú mérleget szerkesztett!
Dokumentumok / Források
![]() |
ARDUINO HX711 súlymérő érzékelők ADC modul [pdf] Felhasználói kézikönyv HX711 mérőérzékelők ADC modul, HX711, súlymérő érzékelők ADC modul, érzékelők ADC modul, ADC modul, modul |