ARDUINO HX711 senzorji za tehtanje ADC modul uporabniški priročnik
ARDUINO HX711 ADC modul senzorjev za tehtanje

Aplikacija Exampz Arduino Uno:

Večina merilnih celic ima štiri žice: rdečo, črno, zeleno in belo. Na plošči HX711 boste našli povezave E+/E-, A+/A- in B+/B. Priključite tehtalno celico na senzorsko ploščo HX711 v skladu z naslednjo tabelo:

Plošča senzorja obremenitve HX711 Žica merilne celice
E+ Rdeča
E- Črna
A+ zelena
A- Bela
B- Nerabljeno
B+ Nerabljeno

Povezava

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

Modul HX711 deluje pri 5 V, komunikacija pa poteka prek serijskih zatičev SDA in SCK.

Kje uporabiti utež na merilni celici?
Na merilni celici lahko vidite puščico. Ta puščica kaže smer sile na tehtalno celico. S kovinskimi trakovi lahko naredite razporeditev, prikazano na sliki. Z vijaki pritrdite kovinski trak na merilno celico.

Teža

Programiranje Arduino UNO za merjenje teže v kg:

Povežite shemo, kot je prikazano na sliki 1 zgoraj.
Da bi ta senzorski modul deloval s ploščami Arduino, potrebujemo knjižnico HX711, ki lahko naloži iz https://github.com/bogde/HX711.
Preden lahko HX711 uporabite za natančno merjenje teže predmeta, ga morate najprej umeriti. Spodnji korak vam bo pokazal, kako izvesti kalibracijo.

1. korak: Skica za umerjanje
Naložite spodnjo skico na Arduino Uno Board

/* Handson Technology www.handsontec.com
* 29. december 2017
* Vmesnik modula merilne celice HX711 z Arduinom za merjenje teže v kg
Arduino
zatič
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Večina vseh zatičev na Arduino Uno bo združljivih z DOUT/CLK.
Plošča HX711 se lahko napaja od 2.7 V do 5 V, tako da bi moralo biti napajanje Arduino 5 V v redu.
*/
#include “HX711.h” //To knjižnico morate imeti v mapi knjižnice arduino
#define DOUT 3
#define CLK 2
lestvica HX711 (DOUT, CLK);
//Spremenite ta kalibracijski faktor glede na vašo merilno celico, ko ugotovite, da ga potrebujete mnogi
spremenite v tisočih
kalibracijski_faktor plovca = -96650; //-106600 je delovalo pri moji nastavitvi tehtnice največ 40 kg
//================================================== ========================================
// NASTAVITEV
//================================================== ========================================
void setup() {
Serial.begin(9600);

Serial.println("Umerjanje HX711");
Serial.println(“Odstrani vso težo s tehtnice”);
Serial.println(“Po začetku odčitavanja postavite znano težo na tehtnico”);
Serial.println(»Pritisnite a,s,d,f, da povečate faktor umerjanja za 10,100,1000,10000
oz.«);
Serial.println(»Pritisnite z,x,c,v, da zmanjšate faktor umerjanja za 10,100,1000,10000
oz.«);
Serial.println(“Pritisnite t za taro”);
scale.set_scale();
scale.tare(); //Ponastavi lestvico na 0
long zero_factor = scale.read_average(); //Pridobite osnovni odčitek
Serial.print(“Ničelni faktor: “); //To lahko uporabite za odstranitev potrebe po tariranju tehtnice.
Uporabno pri trajnih projektih.
Serial.println(ničelni_faktor);
}
//================================================== ========================================
// ZANKA
//================================================== ========================================
void loop() {
scale.set_scale(kalibracijski_faktor); //Prilagodi se temu kalibracijskemu faktorju
Serial.print("Branje: ");
Serial.print(scale.get_units(), 3);
Serial.print(”kg”); //Spremenite to v kg in znova prilagodite faktor umerjanja, če želite
sledi enotam SI kot zdrava pamet
Serial.print(” kalibracijski_faktor: “);
Serial.print(kalibracijski_faktor);
Serial.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;
sicer če (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')
scale.tare(); //Ponastavi lestvico na nič
}
}
//================================================== =======================================

Odstranite vso obremenitev s senzorja obremenitve. Odprite serijski monitor. Odpreti bi se moralo spodnje okno, ki prikazuje, da se je modul uspešno povezal z Arduino Uno.

Konfiguracija

Na merilno celico postavite predmet z znano težo. V tem primeru je avtor uporabil znano težo 191 gramov z merilno celico 10 KG. Serijski monitor bo prikazal nekaj vrednosti teže, kot je prikazano spodaj:
Konfiguracija

Tu moramo opraviti kalibracijo:

  • Vnesite črko "a, s, d, f" v ukazni prostor serijskega monitorja in pritisnite gumb "Pošlji", da povečate faktor umerjanja za 10, 100, 1000, 10000 oz.
  • Vnesite črko » z, x, c, v « v polje za ukaze serijskega monitorja in pritisnite gumb »Pošlji«, da zmanjšate kalibracijski faktor za 10, 100, 1000, 10000 oz.
    Konfiguracija

Nadaljujte s prilagajanjem, dokler odčitek ne pokaže dejanske teže na tehtalni celici. Zabeležite vrednost »calibration_factor«, v tem primeru »-239250« v avtorjevo tehtanje 191 g reference z merilno celico 10 KG. To vrednost bomo potrebovali za vključitev v našo drugo skico za resnično merjenje.

2. korak: Končna koda za dejansko merjenje teže
Preden naložimo skico, moramo vstaviti "kalibracijski faktor", pridobljen v 1. koraku:
Nastavitev

Naložite spodnjo skico na Arduino Uno Board, potem ko ste spremenili faktor lestvice:

/* Handson Technology www.handsontec.com
* 29. december 2017
* Vmesnik modula merilne celice HX711 z Arduinom za merjenje teže v kg
Arduino
zatič
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Večina vseh zatičev na Arduino Uno bo združljivih z DOUT/CLK.
Plošča HX711 se lahko napaja od 2.7 V do 5 V, tako da bi moralo biti napajanje Arduino 5 V v redu.
*/
#include “HX711.h” //To knjižnico morate imeti v mapi knjižnice arduino
#define DOUT 3
#define CLK 2
lestvica HX711 (DOUT, CLK);
//Spremenite ta kalibracijski faktor glede na vašo tehtalno celico, ko se ugotovi, da ga morate mnogi spreminjati v tisočih
kalibracijski_faktor plovca = -96650; //-106600 je delovalo pri moji nastavitvi tehtnice največ 40 kg
//================================================== ===============================================
// NASTAVITEV
//================================================== ===============================================
void setup() {
Serial.begin(9600);
Serial.println(“Pritisnite T za taro”);
scale.set_scale(-239250); //Faktor umerjanja, pridobljen iz prve skice
scale.tare(); //Ponastavi lestvico na 0
}
//================================================== ===============================================
// ZANKA
//================================================== ===============================================
void loop() {
Serial.print("Teža: ");
Serial.print(scale.get_units(), 3); //Do 3 decimalnih mest
Serial.println(”kg”); //Spremenite to v kg in ponovno prilagodite kalibracijski faktor, če sledite lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Ponastavi lestvico na nič
}
}
//================================================== ===============================================

Po uspešnem nalaganju skice odprite Serial Monitor. Prikazati bi se moralo spodnje okno, ki prikazuje dejansko izmerjeno vrednost:
Konfiguracija

Odčitek lahko ponastavite na 0.000 kg (brez obremenitve), tako da v polje za ukaze vnesete »t« ali »T« in pritisnete gumb »Pošlji«. Spodnji zaslon, ki prikazuje mersko vrednost, postane 0.000 kg.
Konfiguracija

Postavite predmet na tehtalno celico, prikazana mora biti dejanska teža. Spodaj je prikaz teže, ko postavite 191-gramski predmet (uporabljen v 1. koraku za umerjanje).
Konfiguracija

Hura! izdelali ste tehtnico z natančnostjo treh decimalnih mest!

Dokumenti / Viri

ARDUINO HX711 ADC modul senzorjev za tehtanje [pdfUporabniški priročnik
HX711 senzorji za tehtanje ADC modul, HX711, senzorji za tehtanje modul ADC, senzorji modul ADC, modul ADC, modul

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *