- Potrebne komponente za izgradnju Arduino vage:
- Teretna ćelija i modul osjetnika težine HX711:
- Objašnjenje sklopa:
- Radno objašnjenje:
- Arduino vaga kod:
Danas ćemo izgraditi Arduino wight stroj, povezivanjem teretne ćelije i senzora težine HX711 s Arduinom. Strojeve s utezima vidjeli smo u mnogim trgovinama, gdje stroj prikazuje težinu stavljanjem predmeta na platformu za vaganje. Dakle, ovdje gradimo isti stroj za vaganje pomoću Arduino i Load stanica, kapaciteta do 40 kg. Ovo se ograničenje može dodatno povećati upotrebom teretne ćelije većeg kapaciteta.
Glavna komponenta potrebna za izradu ove Arduino vage je senzor koji može pretvoriti težinu u ekvivalentni električni signal. Ovaj senzor naziva se teretnom ćelijom, tako da ćemo u ovom projektu ovu ćeliju koristiti kao naš Arduino senzor težine. Također smo koristili istu ćeliju opterećenja u nekoliko drugih projekata, kao što su, primjerice, prijenosni Arduino maloprodajni vag, vaga Raspberry pi itd., Ako ih želite, možete ih i provjeriti.
Potrebne komponente za izgradnju Arduino vage:
- Arduino Uno
- Teretna ćelija (40 kg)
- HX711 modul pojačavača ćelije opterećenja
- LCD 16x2
- Spajanje žica
- USB kabl
- Breadboard
- Vijci s maticom, okvir i postolje
Teretna ćelija i modul osjetnika težine HX711:
Merna ćelija je pretvarač koji pretvara silu ili tlak u električni izlaz. Veličina ovog električnog izlaza izravno je proporcionalna primijenjenoj sili. Teretne ćelije imaju mjerač naprezanja, koji se deformira kada se na njega vrši pritisak. A onda mjerač napetosti generira električni signal o deformaciji dok se njegov efektivni otpor mijenja pri deformaciji. Merna ćelija obično se sastoji od četiri mjerača napetosti u konfiguraciji Wheatstonovog mosta. Teretna ćelija dolazi u različitim rasponima poput 5 kg, 10 kg, 100 kg i više, ovdje smo koristili teretnu ćeliju koja može težiti i do 40 kg.

Sada su električni signali koje generira teretna ćelija u nekoliko milivolti, tako da ih treba pojačati nekim pojačalom i stoga na sliku dolazi HX711 senzor za vaganje. HX711 modul senzora za vaganje ima čip HX711, koji je 24-precizni A / D pretvarač (analogni u digitalni pretvarač). HX711 ima dva analogna ulazna kanala i programiranjem tih kanala možemo dobiti do 128. Dakle, modul HX711 pojačava nisku električnu snagu teretnih ćelija, a zatim se ovaj pojačani i digitalno pretvoreni signal unosi u Arduino kako bi se izvukla težina.

Merna ćelija je povezana s pojačalom HX711 teretne ćelije pomoću četiri žice. Te su četiri žice crvena, crna, bijela i zelena / plava. Moguće su male razlike u bojama žica od modula do modula. Ispod detalja veze i dijagrama:
- CRVENA Žica spojena je na E +
- CRNA žica je spojena na E-
- BIJELA Žica je spojena na A-
- ZELENA Žica je spojena na A +

Učvršćivanje merne ćelije s platformom i postoljem:
Ovaj je korak neobavezan i možete izravno staviti utege na teretnu ćeliju bez platforme i možete je jednostavno stegnuti bez pričvršćivanja s bilo kojom bazom, ali bolje je pričvrstiti platformu za stavljanje velikih stvari na nju i pričvrstiti je na podnožju tako da miruje. Dakle, ovdje moramo napraviti okvir ili platformu za postavljanje stvari za mjerenje težine. Podloga je također potrebna za učvršćivanje teretne ćelije preko nje pomoću matica i vijaka. Ovdje smo koristili tvrdi karton za okvir za postavljanje stvari preko njega i drvenu ploču kao podlogu. Sada napravite veze kako je prikazano na shemi spojeva i spremni ste za polazak.



Objašnjenje sklopa:
Veze za ovaj projekt su jednostavne, a shema je dana u nastavku. LCD pinovi 16x2 RS, EN, d4, d5, d6 i d7 povezani su brojevima pinova 8, 9, 10, 11, 12 i 13 Arduina. DT i SCK pinovi modula HX711 izravno su povezani s Arduinovim pinovima A0 i A1. Priključci teretnih ćelija s modulom HX711 već su ranije objašnjeni i također prikazani na donjoj shemi sklopa.

Radno objašnjenje:
Princip rada ovog Arduino projekta mjerenja težine je jednostavan. Prije ulaska u detalje, prvo moramo kalibrirati ovaj sustav za mjerenje ispravne težine. Kada ga korisnik uključi, sustav će automatski početi kalibrirati. A ako ga korisnik želi kalibrirati ručno, pritisnite gumb. Za potrebe kalibracije stvorili smo funkciju void calibrate () , provjerite donji kod.
Za kalibraciju pričekajte LCD indikaciju za stavljanje 100 grama preko merne ćelije, kao što je prikazano na donjoj slici. Kada se na LCD-u prikaže "stavite 100g", stavite težinu od 100g preko merne ćelije i pričekajte. Nakon nekoliko sekundi postupak kalibracije bit će završen. Nakon kalibracije korisnik može staviti bilo koju težinu (maksimalno 40 kg) preko merne ćelije i može dobiti vrijednost preko LCD-a u gramima.

U ovom smo projektu koristili Arduino za kontrolu cijelog procesa. Merna ćelija osjeti težinu i isporučuje analogni električni napon modulu pojačala opterećenja HX711. HX711 je 24-bitni ADC, koji pojačava i digitalno pretvara izlaz iz ćelije opterećenja. Tada se ova pojačana vrijednost dovodi u Arduino. Sada Arduino izračunava izlaz HX711 i pretvara ga u vrijednosti težine u gramima i prikazuje na LCD-u. Za kalibriranje sustava koristi se tipka. Napisali smo program Arduino za cijeli postupak, provjerite Kôd i demo video na kraju ovog vodiča.

Arduino vaga kod:
Programski dio ovog projekta malo je složen za početnike. U ovom projektu nismo koristili nijednu knjižnicu za povezivanje senzora opterećenja HX711 s Arduinom. Upravo smo slijedili tehnički list HX711 i napomene o primjeni. Iako u tu svrhu postoje neke knjižnice, gdje tu knjižnicu trebate samo uključiti, a težinu možete dobiti pomoću jednog retka koda.
Prije svega, uključili smo datoteku zaglavlja za LCD i definirali igle za isti. I za tipke također. Zatim su deklarirane neke varijable za potrebe izračuna.
#include
Nakon nje stvorili smo donju funkciju za čitanje podataka s modula HX711 i vraćanje njegovih rezultata.
unsigned long readCount (void) {unsigned long Count; nepotpisani char i; pinMode (DT, IZLAZ); digitalWrite (DT, HIGH); digitalWrite (SCK, LOW); Brojanje = 0; pinMode (DT, INPUT); while (digitalRead (DT)); za (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); Brojanje = Brojanje << 1; digitalWrite (SCK, LOW); if (digitalRead (DT)) Count ++; } digitalWrite (SCK, HIGH); Brojanje = Brojanje ^ 0x800000; digitalWrite (SCK, LOW); povratak (Count); }
Nakon njega inicijalizirali smo LCD i davali upute za ulazne i izlazne pinove u void setup ().
void setup () {Serial.begin (9600); pinMode (SCK, IZLAZ); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("Težina"); lcd.setCursor (0,1); lcd.print ("Mjerenje"); kašnjenje (1000); lcd.clear (); kalibrirati(); }
Sljedeća u funkciji void loop () , pročitali smo podatke iz modula HX711, pretvorili smo te podatke u težinu (grame) i poslali ih na LCD.
void loop () {count = readCount (); int w = ((((count-sample) / val) -2 * ((count-sample) / val)); Serial.print ("težina:"); Serial.print ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("Težina"); lcd.setCursor (0,1); lcd.ispis (w); lcd.print ("g"); if (digitalRead (sw) == 0) {val = 0; uzorak = 0; w = 0; broj = 0; kalibrirati(); }}
Prije toga stvorili smo funkciju kalibracije u kojoj smo kalibrirali sustav postavljanjem utega od 100 g preko teretne ćelije.
void calibrate () {lcd.clear (); lcd.print ("Kalibriranje…"); lcd.setCursor (0,1); lcd.print ("Molimo pričekajte…"); za (int i = 0; i <100; i ++) {count = readCount (); uzorak + = broj; Serial.println (count); }……………….

Dakle, ovdje smo naučili osnovno povezivanje merne ćelije i senzora težine HX11 s Arduinom za mjerenje težina. U našim tekstualnim tutorijalima stvorit ćemo neke aplikacije na temelju mjerenja težine poput pametnog spremnika, automatskih vrata itd.
