Izradite preciznu digitalnu Arduino vagu

Izradite preciznu digitalnu Arduino vagu

Povezivanjem senzora opterećenja s Arduinom, napravit ćemo jednostavnu, ali vrlo preciznu digitalnu vagu koja je u stanju mjeriti grame.

Vaga je mjerni instrument za određivanje mase tijela koristi se od davnina. Vage mogu funkcionirati na principu poluge pri kojoj se uspoređuju mase dvaju tijela ili na principu opruge pomoću koje se mjeri težina tijela. Težina i masa tijela dva su pojma koje većina ljudi najčešće miješa. Masa je mjera tromosti tijela i izražava se u kilogramima, a težina je sila koja djeluje na tijelo u gravitacijskom polju i izražava se u njutnima. Težina tijela zapravo je umnožak mase tijela i gravitacijskog ubrzanja. Primjer: Ako imate bočicu vode zapremnine 1l, njezina masa je 1kg, a njezina težina je 10N, ali samo na Zemlji. Drugi planeti u Sunčevom sustavu imaju različita gravitacijska ubrzanja, što znači da će bočica vode na nekom drugom planetu imati masu 1kg, ali različitu težinu. Gravitacijsko ubrzanje Zemlje iznosi 9,81 m/s², ali smo ga zaokružili na 10 zbog praktičnosti. Vagom određujemo masu, a ne težinu tijela!

Testiranje vage smo proveli na rubu stola kako bi naš senzor imao mjesta za “savijanje”.

Arduino vaga 2

Napretkom tehnologije za vage su se počeli koristiti elektromehanički senzori koji imaju precizna očitanja i mogu ih zapisati u digitalnom obliku, što ih čini jednostavnijima za korištenje krajnjem korisniku. Vage za mjerenje malih masa poput zlatnog nakita koji teži u gramima ne mogu biti tako precizne ako se rade na principu poluge ili opruge. Ključan faktor imaju vrlo precizni senzori. U današnje vrijeme digitalne vage nisu high-end uređaji i posjeduje ih svako kućanstvo, najvjerojatnije u obliku kuhinjske vage. Povezivanjem senzora opterećenja s Arduinom, napravit ćemo jednostavnu, ali vrlo preciznu digitalnu vagu koja je u stanju mjeriti grame. Dakako, postoje različite varijante senzora koje podnose opterećenja od 2/5/10/120kg! Ne smijemo zaboraviti kako se pri većem mjernom opsegu gubi preciznost senzora, ali svejedno pri vaganju tijela od 120kg nije potrebna preciznost u gram.

1. SPAJANJE

Senzor opterećenja na prvi je pogled malo zbunjujući. Metalni komad u obliku kvadra s rupom neobičnog oblika iz kojega izlaze četiri žice. Senzor je potrebno učvrstiti na neobičan način prikazan na slici.

shema postavljanja tereta

Crni dio na slici predstavlja vijak pomoću kojeg je senzor pričvršćen za tvrdu podlogu poput daske koja mora biti neke debljine kako bi se senzor mogao savinuti. Strelica pokazuje mjesto na koje se stavlja predmet. Daska ne smije prelaziti rupu za drugi po redu vijak jer će smetati za mjerenje.
Za spajanje senzora s Arduinom potreban nam je HX711 pretvornik. On podržava senzore građene od Wheatstone mosta, a to obuhvaća većinu senzora opterećenja, eng. Load cell sensor. HX711 može mjeriti vrlo male promjene otpora i pojačati ih kako bi se pretvorili u stvarne vrijednosti.
Crvena žica senzora spaja se na E+, crna na E-, zelena na A+, a bijela na A- dio HX711.

Idealno bi bilo napraviti postolje za vagu. U suštini nije potrebno raditi nikakvo kućište, već nabaviti dvije površine proizvoljnih dimenzija i pričvrstiti ih na obje strane senzora u paralelnom smjeru. Na slici je već prikazano mjesto na kojem će se senzor učvrstiti s podlogom, a na mjesto gdje dolazi teret potrebno je pričvrstiti drugu površinu uz pomoć dvaju vijaka. Površina ne mora biti velika jer koristimo senzor koji može izmjeriti maksimalno dva kilograma, a 10x10cm će zadovoljiti potrebe. Za materijal se preporuča drvo, po mogućnosti komad laminata jer je izuzetno čvrst i lagan, malo ga je teže probušiti, ali moguće je. Kako bi vaga bila stabilna kada dodamo teret, potrebno je površine postaviti kao na slici.

postolje

Narančasta površina predstavlja mjesto na koje se stavlja teret, a crna površina je postolje. Obje površine su odmaknute od senzora za debljinu dvije matice vijka kojim smo pričvrstili površine sa senzorom. Odmak postoji zbog lakšeg savijanja senzora kako ne bi ometalo mjerenje. Površine su postavljene tako da vaga bude stabilna ako dodamo teret.

2. KOMPONENTE I CIJENE

Arduino vaga 10

Spajanje Arduina sa senzorom tereta i HX711 Load Cell ADC-om

Arduino vaga 1

Shema spajanja:

shema spajanja

3. PROGRAMSKI KOD

HX711 složen je pretvornik i za njegovo korištenje dodajemo biblioteku koja će olakšati njegovo korištenje u kodu. Biblioteku, kao i cijeli kod, možete preuzeti na Vidilab Github stranici. Dodavanje biblioteke: U padajućem izborniku Arduina naziva skica, odabrati pri dnu opciju Include Library, zatim add .ZIP library te unijeti putanju gdje se nalazi biblioteka ili ju odabrati.

Senzori opterećenja nisu jednaki te ih je potrebno kalibrirati prije uporabe ako želite znati prave vrijednosti. Za kalibraciju koristimo poseban program koji nam za određenu masu tijela ispisuje faktor kalibracije, a taj faktor upisujemo u kod kako bismo dobili što preciznija mjerenja.

Programski kod pronađite na poveznici

2.a.Kalibracija:

Senzor je spojen s HX711 i Arduinom, pokrećemo kod naziva „kalibracija“ kako bismo saznali odgovarajući kalibracijski faktor. Prilikom pokretanja koda, na senzor ne smije biti postavljen nikakav uteg, sve dok ne počnu mjerenja. Prema očitanjima koja se ispisuju na serial monitoru, možemo vidjeti da senzor trenutno i nije osobito precizan. Tu glavnu ulogu odigrava faktor kalibracije kojeg trebamo saznati jer je svaki senzor tereta različit. Ideja je da postavimo uteg poznate mase i mijenjamo faktor kalibracije sve dok ne dobijemo precizno očitanje. Kako ne bismo ručno morali prepravljati kod radi promjene faktora kalibracije, u kodu ćemo dodati opciju mijenjanja vrijednosti faktora u ovisnosti o pritisnutoj tipki. To znači da ćemo pritiskom na određene tipke dodavati ili oduzimati određene vrijednosti od faktora kalibracije. Npr. za tipku F dodajemo 1000, za tipku G oduzimamo 1000. Na ručni način ćemo otkriti točan iznos faktora kalibracije za senzor tereta. U kodu za mjerenje mase potrebno je unijeti faktor kako bismo dobivali što preciznija očitanja, dakako, od neprecizne vage nemamo koristi.

Očitavanje faktora kalibracije i njegovo ručno podešavanje uz pomoć serial monitora.

kalibracija

Tablica tipki s kojima dodajemo ili oduzimamo vrijednosti kalibracijskog faktora. Tipka t služi kao tara, postavljanje na nulu. Faktor kalibracije za naš senzor tereta iznosi -877000.00.

Tipka

f v g b h n
Vrijednost +10 -10 +100 -100 +1000 -1000

2.b.Mjerenje mase:

Za ispis očitanih vrijednosti vage nismo koristili LCD, nego smo ih ispisivali u serial monitoru, što je veliki minus jer vaga ne može raditi kao samostalan uređaj, već treba biti povezana s računalom na kojem će se ispisivati vrijednosti. Kao ideju za dodatak predlažemo dodavanje LCD-a. Prilikom spajanja LCD-a potrebno je promijeniti pinove na koje je spojen HX711 pretvornik ili promijeniti pinove LCD-a, to je svakako lakše napraviti s HX711.

Podsjetnik za LCD:

LCD

lcd.print(); - ispisuje poruku na LCD-u.
lcd.setCursor(x,y); - postavlja pokazivač na određenu poziciju. X označava mjesto u retku, počevši s lijeve strane. Y označava mjesto u stupcu, počevši odozgora. 0,0. prvi red, prvi stupac.
lcd.clear(); - briše poruku s LCD-a
lcd.backlight(); - pali pozadinsko osvjetljenje
lcd.noBacklight(); - gasi pozadinsko osvjetljenje

Ocijeni sadržaj
(0 glasova)

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Skeniraj QR Code mobitelom i ponesi ovu stranicu sa sobom

Izradite preciznu digitalnu Arduino vagu - VidiLAB - QR Code Friendly

Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.