Sadržaj:

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

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

Video: Arduino vaga s mjernom ćelijom od 5 kg i pojačalom HX711: 4 koraka (sa slikama)
Video: Što je mjerna ćelija || Kako radi mjerna ćelija || Objašnjenje funkcije Wheatstoneovog mosta 2024, Srpanj
Anonim
Arduino vaga s mjernom ćelijom od 5 kg i pojačalom HX711
Arduino vaga s mjernom ćelijom od 5 kg i pojačalom HX711
Arduino vaga s mjernom ćelijom od 5 kg i pojačalom HX711
Arduino vaga s mjernom ćelijom 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 izrađen za pojačavanje signala iz mjernih ćelija i njihovo prijavljivanje drugom mirkontroleru. Merne ćelije se priključuju na ovu ploču, a ova ploča govori Arduinu što mjere mjerne ćelije.

3. Mjerač težine 5 kg - Mjerili su ćelije posebno oblikovanih metalnih dijelova na koje je pričvršćeno ljepilo. Tenzimetri su otpornici koji mijenjaju svoj otpor pri savijanju. Kada se metalni dio savije, otpor mjerne ćelije se mijenja (HX711 točno mjeri ovu malu promjenu otpora). HX711 i mjernu ćeliju možete kupiti ovdje:

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

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

5. Žice u raznim 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č bit će jedinstven, ali evo smjernica kojih se morate pridržavati:

1. Aluminijska mjerna ćelija trebala bi imati 4 izrezane rupe 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ć je spojeno zajedno za Wheatstoneov most. Sve što trebate učiniti je spojiti žice na ploču HX711 u ispravnom smjeru.

Korak 3: Dodajte knjižnicu HX711 u svoj Arduino IDE

Knjižnica HX711 dostupna je ovdje:

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

Korak 4: Kalibrirajte i izvažite

Kalibrirajte i izvažite!
Kalibrirajte i izvažite!

Sparkfun ima sjajne Arduino programe za pokretanje ljestvice. Najnovije verzije dostupne su na GitHubu i ponovno se ispisuju u nastavku:

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

/*

Primjer korištenja SparkFun HX711 ploče za razbijanje sa ljestvicom Autor: Nathan Seidle SparkFun Electronics Datum: 19. studenog 2014. Licenca: Ovaj kôd je javna domena, ali kupujete mi pivo ako ga upotrijebite i jednog dana se sretnemo (licenca za pivo). Ovo je skica kalibracije. Pomoću njega odredite faktor kalibracije koji koristi glavni primjer. Također daje nulti faktor koristan za projekte koji imaju stalnu masu na ljestvici između ciklusa snage. 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 za podešavanje faktora calibration_factor sve dok se izlazna očitanja ne podudaraju s poznatom težinom Koristite ovaj calibration_factor na primjeru skice Ovaj primjer pretpostavlja funte (lbs). Ako više volite kilograme, promijenite Serial.print ("lbs"); redak u kg. Faktor umjeravanja bit će značajno drugačiji, ali linearno će se odnositi na lbs (1 lbs = 0,453592 kg). Vaš faktor umjeravanja može biti vrlo pozitivan ili vrlo negativan. Sve ovisi o postavljanju vašeg sustava mjerila i smjeru od kojeg senzori skreću iz nultog stanja. Ovaj primjer koda koristi bogdeovu izvrsnu biblioteku: "https://github.com/bogde/HX711" bogdeova je knjižnica izdana 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. Ploča HX711 može se napajati od 2.7V do 5V pa bi Arduino 5V napajanje trebalo biti u redu. */ #uključuje "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 scale; faktor kalibracije plovka = -7050; //-7050 je radilo za moju postavku od 440 lb max scale void setup () {Serial.begin (9600); Serial.println ("HX711 kalibracijska skica"); Serial.println ("Ukloni svu težinu s vage"); Serial.println ("Nakon što očitavanja počnu, poznatu težinu stavite na vagu"); Serial.println ("Pritisnite + ili a za povećanje kalibracijskog faktora"); Serial.println ("Pritisnite - ili z za smanjenje kalibracijskog faktora"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Vraćanje ljestvice na 0 dugačak zero_factor = scale.read_average (); // Dobivanje 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 kalibracijski faktor 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') faktor kalibracije -= 10; }}

Nakon kalibriranja vage, možete pokrenuti ovaj ogledni program, a zatim ga hakirati za vlastite potrebe:

/*

Primjer korištenja SparkFun HX711 ploče za razbijanje sa ljestvicom Autor: Nathan Seidle SparkFun Electronics Datum: 19. studenog 2014. Licenca: Ovaj kôd je javna domena, ali kupujete mi pivo ako ga upotrijebite 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" knjižnica bogde objavljena je pod GNU OPĆOM JAVNOM LICENCOM HX711 čini jednu stvar dobro: čita ćelije mjerenja. Ploča za probijanje kompatibilna je s bilo kojom mjernom ćelijom na bazi pšeničnog kamena koja bi trebala omogućiti korisniku da mjeri sve od nekoliko grama do nekoliko desetaka 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 ("demonstracija ljestvice HX711"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (calibration_factor); // Ova vrijednost se dobiva pomoću skale skica SparkFun_HX711_Calibration.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čeni: