Sadržaj:

Arduino vaga s ćelijom opterećenja od 5 kg i pojačalom HX711: 4 koraka (sa slikama)
Arduino vaga s ćelijom opterećenja od 5 kg i pojačalom HX711: 4 koraka (sa slikama)

Video: Arduino vaga s ćelijom opterećenja od 5 kg i pojačalom HX711: 4 koraka (sa slikama)

Video: Arduino vaga s ćelijom opterećenja od 5 kg i pojačalom HX711: 4 koraka (sa slikama)
Video: kako testirati mjernu ćeliju s multimetrom, spajanje ožičenja mjerne ćelije 2024, Juli
Anonim
Arduino vaga s ćelijom opterećenja od 5 kg i pojačalom HX711
Arduino vaga s ćelijom opterećenja od 5 kg i pojačalom HX711
Arduino vaga s ćelijom opterećenja od 5 kg i pojačalom HX711
Arduino vaga s ćelijom opterećenja od 5 kg i pojačalom HX711

Ovaj Instructable opisuje kako napraviti malu vagu za vaganje pomoću dijelova dostupnih s police.

Potrebni materijali:

1. Arduino - ovaj dizajn koristi standardni Arduino Uno, trebale bi raditi i druge Arduino verzije ili klonovi

2. HX711 na ploči za razbijanje - Ovaj mikročip je posebno napravljen za pojačavanje signala iz mjernih ćelija i njihovo prijavljivanje drugom mirkokontroleru. Merne ćelije se priključuju na ovu ploču, a ova ploča govori Arduinu šta mere merne ćelije.

3. Merna ćelija od 5 kg - Teretne ćelije su posebno oblikovani metalni delovi na koje je nalepljeno merilo deformacija. Tenzimetri su otpornici koji mijenjaju svoju otpornost pri savijanju. Kada se metalni dio savije, otpor mjerne ćelije se mijenja (HX711 precizno mjeri ovu malu promjenu otpora). HX711 i mjernu ćeliju možete kupiti ovdje:

Ako kupite komplet, ostavite recenziju! Zaista je od pomoći budućim kupcima.

4. Čvrsta ravna montažna površina (x2) - idealan je kruti komad tvrdog drva ili metala.

5. Žice u različitim bojama za povezivanje svih dijelova

6. Napajanje za Arduino

Korak 1: Montirajte mjernu ćeliju

Montirajte mjernu ćeliju
Montirajte mjernu ćeliju

Prvo ćemo montirati mjernu ćeliju. Vaš nosač će biti jedinstven, ali evo smjernica kojih se morate pridržavati:

1. Aluminijska mjerna ćelija treba imati 4 rupe s urezom i naljepnicu koja pokazuje smjer sile. Montirajte stranu bez oznake na fiksnu površinu i montirajte stranu s naljepnicom na pokretnu površinu. Strelica na označenoj strani trebala bi biti usmjerena prema dolje u smjeru u kojem će se platforma kretati kada se primijeni opterećenje.

2. Montažna ploča i pokretna ploča trebaju biti što je moguće kruće

3. Stavite neki oblik krutih odstojnika između montažnih ploča i mjerne ćelije. Oboji ili podloške dobro rade. Cilj je da svaka sila primijenjena na pokretnu ploču izazove savijanje i uvijanje mjerne ćelije. Bez odstojnika, opterećenje bi se prenosilo izravno s pokretne ploče na fiksnu ploču bez utjecaja na mjernu ćeliju.

Korak 2: Ožičite mjerne ćelije i HX711

Ožičite mjerne ćelije i HX711
Ožičite mjerne ćelije i HX711

Pogledajte dijagram ožičenja za povezivanje mjernih ćelija, HX711 i Arduino.

Na aluminijskim mjernim ćelijama, više mjerača naprezanja već su spojeni zajedno za Wheatstoneov most. Sve što trebate učiniti je spojiti žice na ploču HX711 u ispravnoj orijentaciji.

Korak 3: Dodajte biblioteku HX711 u svoj Arduino IDE

Biblioteka HX711 dostupna je ovdje:

Pogledajte ovu vezu na web stranici Arduino za upute o tome kako dodati biblioteku u svoj Arduino IDE:

Korak 4: Kalibrirajte i izvažite

Kalibrirajte i izmjerite!
Kalibrirajte i izmjerite!

Sparkfun ima sjajne Arduino programe za pokretanje ljestvice. Najnovije verzije dostupne su na GitHub-u i doštampane u nastavku:

Prvi softverski korak je određivanje faktora kalibracije za vagu. Da biste to učinili, pokrenite ovaj kod:

/*

Primjer upotrebe SparkFun HX711 ploče za razbijanje sa ljestvicom Autor: Nathan Seidle SparkFun Electronics Datum: 19. novembar 2014. Licenca: Ovaj kôd je javno vlasništvo, ali kupujete mi pivo ako ga upotrebite i jednog dana se sretnemo (licenca za pivo). Ovo je skica kalibracije. Koristite ga za određivanje calibration_factor koji koristi glavni primjer. Također daje nulti faktor koristan za projekte koji imaju stalnu masu na ljestvici između ciklusa napajanja. Postavite svoju vagu i pokrenite skicu BEZ utega na vagi Kada se očitavanja prikažu, postavite težinu na vagu Pritisnite +/- ili a/z da biste prilagodili faktor kalibracije sve dok se izlazna očitanja ne poklapaju s poznatom težinom Koristite ovaj faktor kalibracije na primjeru skice Ovaj primjer pretpostavlja funte (lbs). Ako više volite kilograme, promijenite Serial.print ("lbs"); linija do kg. Faktor kalibracije bit će značajno drugačiji, ali će biti linearno povezan s lbs (1 lbs = 0,453592 kg). Vaš faktor kalibracije može biti vrlo pozitivan ili vrlo negativan. Sve ovisi o postavljanju vašeg sustava vage i smjeru od kojeg senzori skreću iz nultog stanja. Ovaj primjer koda koristi bogdeovu izvrsnu biblioteku: "https://github.com/bogde/HX711" bogdeova biblioteka je objavljena pod GNU OPĆOM JAVNOM LICENCOM Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Većina iglica na Arduino Uno bit će kompatibilna s DOUT/CLK. HX711 ploča može se napajati od 2.7V do 5V tako da bi Arduino 5V napajanje trebalo biti u redu. */ #uključuje "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 vaga; float calibration_factor = -7050; //-7050 je radilo za moju postavku maksimalne skale od 440 lb. Void setup () {Serial.begin (9600); Serial.println ("HX711 kalibraciona skica"); Serial.println ("Uklonite svu težinu sa vage"); Serial.println ("Nakon početka očitavanja, postavite poznatu težinu na vagu"); Serial.println ("Pritisnite + ili a za povećanje faktora kalibracije"); Serial.println ("Pritisnite - ili z za smanjenje faktora kalibracije"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Vrati skalu na 0 dugačak zero_factor = scale.read_average (); // Dobijanje osnovnog očitanja Serial.print ("Nulti faktor:"); // Ovo se može koristiti za uklanjanje potrebe za taracijom vage. Korisno u projektima stalnih razmjera. Serial.println (nula_faktor); } void loop () {scale.set_scale (calibration_factor); // Prilagodi ovom faktoru kalibracije Serial.print ("Očitavanje:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Promijenite ovo u kg i ponovno podesite faktor kalibracije ako slijedite SI jedinice poput razumne osobe Serial.print ("calibration_factor:"); Serial.print (calibration_factor); Serial.println (); if (Serial.available ()) {char temp = Serial.read (); if (temp == ' +' || temp == 'a') faktor kalibracije += 10; else if (temp == ' -' || temp == 'z') calibration_factor -= 10; }}

Nakon kalibracije vage, možete pokrenuti ovaj ogledni program, a zatim ga hakirati u svoje svrhe:

/*

Primjer upotrebe SparkFun HX711 ploče za razbijanje sa ljestvicom Autor: Nathan Seidle SparkFun Electronics Datum: 19. novembar 2014. Licenca: Ovaj kôd je javno vlasništvo, ali kupujete mi pivo ako ga upotrebite i jednog dana se sretnemo (licenca za pivo). Ovaj primjer demonstrira izlaz osnovne skale. Pogledajte skicu kalibracije da biste dobili faktor calibration_factor za vašu specifičnu postavku mjerne ćelije. Ovaj primjer koda koristi bogdeovu izvrsnu biblioteku: "https://github.com/bogde/HX711" bogdeova biblioteka je objavljena pod GNU OPĆOM JAVNOM LICENCOM HX711 čini jednu stvar dobro: čita ćelije mjerenja. Ploča za probijanje kompatibilna je sa bilo kojim mjernim ćelijama na bazi mosta od pšeničnog kamena koje bi trebale omogućiti korisniku da mjeri sve od nekoliko grama do desetina tona. Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND HX711 ploča može se napajati od 2.7V do 5V tako da bi Arduino 5V napajanje trebalo biti u redu. */#uključuje "HX711.h" #define calibration_factor -7050.0 // Ova vrijednost se dobiva pomoću skice SparkFun_HX711_Calibration #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 ljestvice HX711; void setup () {Serial.begin (9600); Serial.println ("HX711 demo demo"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (calibration_factor); // Ova vrijednost se dobiva pomoću SparkFun_HX711_Calibration skice scale.tare (); // Pod pretpostavkom da na vagi nema težine pri pokretanju, vratite vagu na 0 Serial.println ("Očitavanja:"); } void loop () {Serial.print ("Čitanje:"); Serial.print (scale.get_units (), 1); //scale.get_units () vraća float Serial.print ("lbs"); // Ovo možete promijeniti u kg, ali ćete morati preurediti calibration_factor Serial.println (); }

Preporučuje se: