ARDUINO HX711 senzori za vaganje ADC modul korisnički priručnik
ARDUINO HX711 ADC modul senzora za vaganje

Primjena Examps Arduino Uno:

Većina mjernih ćelija ima četiri žice: crvenu, crnu, zelenu i bijelu. Na HX711 ploči pronaći ćete E+/E-, A+/A- i B+/B priključke. Spojite mjernu ćeliju na senzorsku ploču HX711 prema sljedećoj tablici:

Ploča senzora opterećenja HX711 Žica mjerne ćelije
E+ crvena
E- Crna
A+ zelena
A- Bijela
B- Nekorišteno
B+ Nekorišteno

Veza

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

Modul HX711 radi na 5V, a komunikacija se vrši pomoću serijskih SDA i SCK pinova.

Gdje primijeniti težinu na mjernu ćeliju?
Možete vidjeti strelicu prikazanu na mjernoj ćeliji. Ova strelica pokazuje smjer sile na mjernoj ćeliji. Možete napraviti raspored prikazan na slici pomoću metalnih traka. Pričvrstite metalnu traku na mjernu ćeliju pomoću vijaka.

Težina

Programiranje Arduino UNO za mjerenje težine u kg:

Spojite shemu kao što je prikazano na gornjoj slici 1.
Kako bi ovaj senzorski modul radio s Arduino pločama, potrebna nam je biblioteka HX711 koja se može učitati s https://github.com/bogde/HX711.
Prije nego što se HX711 može koristiti za točno mjerenje težine objekta, prvo ga treba kalibrirati. Korak u nastavku pokazat će vam kako izvršiti kalibraciju.

1 korak: Skica kalibracije
Učitajte donju skicu na Arduino Uno ploču

/* Handson Technology www.handsontec.com
* 29. prosinca 2017
* Sučelje modula mjerne ćelije HX711 s Arduinom za mjerenje težine u kg
Arduino
pribadača
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Većina pinova na Arduino Uno bit će kompatibilna s DOUT/CLK.
HX711 ploča može se napajati od 2.7 V do 5 V tako da bi Arduino napajanje od 5 V trebalo biti u redu.
*/
#include “HX711.h” //Morate imati ovu biblioteku u svojoj mapi Arduino biblioteke
#definiraj DOUT 3
#definiraj CLK 2
HX711 skala (DOUT, CLK);
//Promijenite ovaj kalibracijski faktor prema svojoj mjernoj ćeliji nakon što se ustanovi da to trebate
mijenjati ga u tisućama
kalibracijski_faktor plovka = -96650; //-106600 radilo je za moju postavku maksimalne vage od 40 kg
//================================================== ========================================
// POSTAVITI
//================================================== ========================================
void setup() {
Serial.begin(9600);

Serial.println("Kalibracija HX711");
Serial.println(“Ukloni sve težine s vage”);
Serial.println(“Nakon početka očitanja, postavite poznatu težinu na vagu”);
Serial.println(“Pritisnite a,s,d,f za povećanje faktora kalibracije za 10,100,1000,10000
odnosno");
Serial.println(“Pritisnite z,x,c,v za smanjenje faktora kalibracije za 10,100,1000,10000
odnosno");
Serial.println(“Pritisnite t za taru”);
scale.set_scale();
mjerilo.tare(); //Resetirajte ljestvicu na 0
long zero_factor = scale.read_average(); //Dobivanje osnovnog očitanja
Serial.print(“Nulti faktor: “); //Ovo se može koristiti za uklanjanje potrebe za tariranjem vage.
Korisno u projektima trajnih razmjera.
Serial.println(nulti_faktor);
}
//================================================== ========================================
// PETLJA
//================================================== ========================================
void loop() {
scale.set_scale(faktor_kalibracije); //Prilagodite ovom faktoru kalibracije
Serial.print(“Čitanje: “);
Serial.print(scale.get_units(), 3);
Serial.print(”kg”); //Promijenite ovo u kg i ponovno namjestite faktor kalibracije ako želite
slijedi SI jedinice kao zdrava osoba
Serial.print(” faktor_kalibracije: “);
Serial.print(kalibracijski_faktor);
Serijski.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
kalibracijski_faktor += 10;
else if(temp == '-' || temp == 'z')
kalibracijski_faktor -= 10;
else if(temp == 's')
kalibracijski_faktor += 100;
else if(temp == 'x')
kalibracijski_faktor -= 100;
else if(temp == 'd')
kalibracijski_faktor += 1000;
else if(temp == 'c')
kalibracijski_faktor -= 1000;
else if(temp == 'f')
kalibracijski_faktor += 10000;
else if(temp == 'v')
kalibracijski_faktor -= 10000;
else if(temp == 't')
mjerilo.tare(); //Poništi ljestvicu na nulu
}
}
//================================================== =======================================

Uklonite sav teret sa senzora opterećenja. Otvorite serijski monitor. Donji prozor trebao bi se otvoriti pokazujući da se modul uspješno spojio na Arduino Uno.

Konfiguracija

Postavite predmet poznate težine na mjernu ćeliju. U ovom slučaju autor je koristio poznatu težinu od 191 gram s mjernom ćelijom od 10 KG. Serijski monitor će prikazati neku brojku težine kao što je prikazano u nastavku:
Konfiguracija

Ovdje moramo izvršiti kalibraciju:

  • Utipkajte slovo "a, s, d, f" u prostor za naredbe serijskog monitora i pritisnite gumb "Pošalji" za povećanje faktora kalibracije za 10, 100, 1000, 10000 redom
  • Unesite slovo ” z, x, c, v ” u prostor za naredbe serijskog monitora i pritisnite gumb “Pošalji” za smanjenje faktora kalibracije za 10, 100, 1000, 10000 redom.
    Konfiguracija

Nastavite podešavati dok očitanje ne pokaže stvarnu težinu postavljenu na mjernu ćeliju. Zabilježite vrijednost "faktora kalibracije", u ovom slučaju "-239250" u autorovoj referentnoj težini od 191 g s mjernom ćelijom od 10 KG. Trebat će nam ova vrijednost za uključivanje u našu drugu skicu za stvarno mjerenje.

2. korak: Konačni kod za stvarno mjerenje težine
Prije učitavanja skice, moramo dodati "faktor kalibracije" dobiven u 1. koraku:
Postavljanje

Prenesite donju skicu na Arduino Uno ploču, nakon izmjene faktora razmjera:

/* Handson Technology www.handsontec.com
* 29. prosinca 2017
* Sučelje modula mjerne ćelije HX711 s Arduinom za mjerenje težine u kg
Arduino
pribadača
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Većina pinova na Arduino Uno bit će kompatibilna s DOUT/CLK.
HX711 ploča može se napajati od 2.7 V do 5 V tako da bi Arduino napajanje od 5 V trebalo biti u redu.
*/
#include “HX711.h” //Morate imati ovu biblioteku u svojoj mapi Arduino biblioteke
#definiraj DOUT 3
#definiraj CLK 2
HX711 skala (DOUT, CLK);
//Promijenite ovaj faktor kalibracije prema svojoj mjernoj ćeliji nakon što se ustanovi da ga morate mijenjati u tisućama
kalibracijski_faktor plovka = -96650; //-106600 radilo je za moju postavku maksimalne vage od 40 kg
//================================================== ===============================================
// POSTAVITI
//================================================== ===============================================
void setup() {
Serial.begin(9600);
Serial.println(“Pritisnite T za taru”);
scale.set_scale(-239250); //Kalibracijski faktor dobiven iz prve skice
mjerilo.tare(); //Resetirajte ljestvicu na 0
}
//================================================== ===============================================
// PETLJA
//================================================== ===============================================
void loop() {
Serial.print(“Težina: “);
Serial.print(scale.get_units(), 3); //Do 3 decimalne točke
Serial.println(”kg”); //Promijenite ovo u kg i ponovno namjestite faktor kalibracije ako slijedite lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
mjerilo.tare(); //Poništi ljestvicu na nulu
}
}
//================================================== ===============================================

Nakon uspješnog učitavanja skice, otvorite Serial Monitor. Trebao bi se pojaviti donji prozor koji prikazuje stvarnu izmjerenu vrijednost:
Konfiguracija

Možete resetirati očitanje na 0.000 kg (bez tereta”) tako da unesete “t” ili “T” u prostor za naredbe i pritisnete gumb “Pošalji”. Donji zaslon koji prikazuje mjernu vrijednost postaje 0.000 kg.
Konfiguracija

Postavite predmet na mjernu ćeliju, stvarna težina bi se trebala prikazati. Ispod je prikaz težine kada postavite objekt od 191 grama (korišten u 1. koraku za kalibraciju).
Konfiguracija

hura! konstruirali ste vagu s točnošću od tri decimalne točke!

Dokumenti / Resursi

ARDUINO HX711 ADC modul senzora za vaganje [pdf] Korisnički priručnik
HX711 ADC modul senzora za vaganje, HX711, ADC modul za senzore za vaganje, ADC modul senzora, ADC modul, modul

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *