Obsah:

Stupnica Arduino s 5 kg zaťažovacím článkom a zosilňovačom HX711: 4 kroky (s obrázkami)
Stupnica Arduino s 5 kg zaťažovacím článkom a zosilňovačom HX711: 4 kroky (s obrázkami)

Video: Stupnica Arduino s 5 kg zaťažovacím článkom a zosilňovačom HX711: 4 kroky (s obrázkami)

Video: Stupnica Arduino s 5 kg zaťažovacím článkom a zosilňovačom HX711: 4 kroky (s obrázkami)
Video: I made this musescore masterpiece when I was 8... 2024, November
Anonim
Váha Arduino s 5 kg záťažovým článkom a zosilňovačom HX711
Váha Arduino s 5 kg záťažovým článkom a zosilňovačom HX711
Váha Arduino s 5 kg záťažovým článkom a zosilňovačom HX711
Váha Arduino s 5 kg záťažovým článkom a zosilňovačom HX711

Tento návod popisuje, ako vyrobiť malú váhu pomocou ľahko dostupných mimo regálových častí.

Potrebný materiál:

1. Arduino - tento dizajn používa štandardné Arduino Uno, fungovať by mali aj ďalšie verzie alebo klony Arduino

2. HX711 na oddeľovacej doske - Tento mikročip je špeciálne vyrobený na zosilnenie signálov zo snímačov zaťaženia a ich hlásenie inému mirkokontroléru. Snímače zaťaženia sa zapoja do tejto dosky a táto doska oznámi Arduinu, čo snímače zaťaženia merajú.

3. Snímač zaťaženia 5 kg - Snímače zaťaženia sú špeciálne tvarované kovové časti, ku ktorým je prilepené tenzometre. Tenzometre sú odpory, ktoré pri ohnutí menia svoju odolnosť. Keď sa kovová časť ohne, odpor snímača zaťaženia sa zmení (HX711 meria túto malú zmenu odporu presne). HX711 aj snímač zaťaženia si môžete kúpiť tu:

Ak si kúpite súpravu, zanechajte prosím recenziu! Je to skutočne užitočné pre budúcich kupujúcich.

4. Pevná rovná montážna plocha (x2) - ideálny je tuhý kus tvrdého dreva alebo kovu.

5. Drôty v rôznych farbách na pripojenie všetkých častí

6. Napájanie pre Arduino

Krok 1: Namontujte záťažovú bunku

Namontujte snímač zaťaženia
Namontujte snímač zaťaženia

Najprv namontujeme snímač zaťaženia. Váš držiak bude jedinečný, ale postupujte podľa týchto pokynov:

1. Hliníkový snímač zaťaženia by mal mať 4 závitové otvory a štítok ukazujúci smer sily. Namontujte stranu bez štítku na pevný povrch a pripevnite stranu so štítkom na pohyblivý povrch. Šípka na označenej strane by mala smerovať nadol v smere, akým sa plošina bude pri pôsobení zaťaženia pohybovať.

2. Montážna doska a pohyblivá doska by mali byť čo najpevnejšie

3. Uistite sa, že medzi montážne dosky a snímač zaťaženia vložíte nejakú formu pevných rozperiek. Vzpery alebo podložky fungujú dobre. Cieľom je, aby akákoľvek sila pôsobiaca na pohyblivú dosku spôsobila ohnutie a skrútenie silomera. Bez rozperiek by sa zaťaženie prenášalo priamo z pohyblivej dosky na pevnú dosku bez toho, aby to ovplyvnilo silomer.

Krok 2: Pripojte snímače zaťaženia a HX711

Pripojte snímače zaťaženia a HX711
Pripojte snímače zaťaženia a HX711

Pozrite si schému zapojenia, ako pripojiť snímače zaťaženia, HX711 a Arduino.

Na hliníkových snímačoch zaťaženia je už niekoľko tenzometrov zapojených dohromady k mostu Wheatstone. Všetko, čo musíte urobiť, je pripojiť vodiče k doske HX711 v správnej orientácii.

Krok 3: Pridajte knižnicu HX711 do svojho Arduino IDE

Knižnica HX711 je k dispozícii tu:

Na tomto odkaze na webovej stránke Arduino nájdete pokyny na pridanie knižnice do vášho IDE Arduino:

Krok 4: Kalibrujte a odvážte

Kalibrujte a odvážte!
Kalibrujte a odvážte!

Sparkfun má skvelé programy Arduino na spustenie škály. Najaktuálnejšie verzie sú k dispozícii na GitHub a sú vytlačené nižšie:

Prvým softvérovým krokom je stanovenie kalibračných faktorov pre váhu. Ak to chcete urobiť, spustite tento kód:

/*

Príklad použitia oddeľovacej dosky SparkFun HX711 s váhou Autor: Nathan Seidle SparkFun Electronics Dátum: 19. novembra 2014 Licencia: Tento kód je verejným vlastníctvom, ale ak ho použijete, kúpite mi pivo a jedného dňa sa stretneme (licencia na pivo). Toto je náčrt kalibrácie. Pomocou neho určte kalibračný_faktor, ktorý používa hlavný príklad. Produkuje tiež nulový faktor užitočný pre projekty, ktoré majú trvalú hmotnosť na stupnici medzi výkonovými cyklami. Nastavte svoju váhu a spustite náčrt BEZ váhy na váhe Po zobrazení nameraných hodnôt položte váhu na váhu. Stlačením +/- alebo a/z upravte kalibračný_faktor, kým sa výstupné hodnoty nezhodujú so známou hmotnosťou. Tento kalibračný_faktor použite na vzorovom náčrte. Tento príklad predpokladá libry (libry). Ak dávate prednosť kilogramom, zmeňte súbor Serial.print ("libry"); čiara do kg. Kalibračný faktor sa bude výrazne líšiť, ale bude lineárne závisieť od libier (1 lbs = 0,453592 kg). Váš kalibračný faktor môže byť veľmi pozitívny alebo veľmi negatívny. Všetko závisí od nastavenia vášho systému mierok a smeru, ktorým sa senzory odkláňajú od nulového stavu. Tento ukážkový kód používa vynikajúcu knižnicu bogde: knižnica „https://github.com/bogde/HX711“bogde je vydaná pod GNU GENERAL PUBLIC LICENSE Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Väčšina pinov na Arduino Uno bude kompatibilná s DOUT/CLK. Dosku HX711 je možné napájať od 2,7 V do 5 V, takže napájanie Arduino 5 V by malo byť v poriadku. */ #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 mierka HX711; float calibration_factor = -7050; //-7050 fungovalo pre moje nastavenie maximálnej mierky 440 libier neplatné nastavenie () {Serial.begin (9600); Serial.println ("kalibračný náčrt HX711"); Serial.println ("Odstrániť všetku hmotnosť z váhy"); Serial.println („Po začatí čítania umiestnite známu hmotnosť na váhu“); Serial.println („Stlačením + alebo a zvýšite kalibračný faktor“); Serial.println („Stlačením - alebo z znížite kalibračný faktor“); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Obnovenie mierky na 0 dlhých zero_factor = scale.read_average (); // Získanie základnej hodnoty Serial.print ("Nulový faktor:"); // Toto sa dá použiť na odstránenie potreby vytarovania váhy. Užitočné v projektoch trvalého rozsahu. Serial.println (zero_factor); } void loop () {scale.set_scale (calibration_factor); // Upravte tento kalibračný faktor Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Zmeňte to na kg a znova upravte kalibračný faktor, ak budete postupovať podľa jednotiek SI ako rozumný človek Serial.print ("calibration_factor:"); Serial.print (calibration_factor); Serial.println (); if (Serial.available ()) {char temp = Serial.read (); if (temp == ' +' || temp == 'a') calibration_factor += 10; else if (temp == ' -' || temp == 'z') calibration_factor -= 10; }}

Po kalibrácii váhy môžete spustiť tento ukážkový program a potom ho hacknúť na vlastné účely:

/*

Príklad použitia oddeľovacej dosky SparkFun HX711 s váhou Autor: Nathan Seidle SparkFun Electronics Dátum: 19. novembra 2014 Licencia: Tento kód je verejným vlastníctvom, ale ak ho použijete, kúpite mi pivo a jedného dňa sa stretneme (licencia na pivo). Tento príklad ukazuje výstup základnej stupnice. Pozrite si náčrt kalibrácie, aby ste získali kalibračný_faktor pre vaše konkrétne nastavenie snímača zaťaženia. Tento príklad kódu používa vynikajúcu knižnicu bogde: „https://github.com/bogde/HX711“knižnica bogde je vydaná pod GNU GENERAL PUBLIC LICENSE HX711 robí jednu vec dobre: čítať zaťažovacie bunky. Odlomová doska je kompatibilná s akýmkoľvek snímačom zaťaženia mosta z pšeničného kameňa, ktorý by mal užívateľovi umožniť merať všetko od niekoľkých gramov do desiatok ton. Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Dosku HX711 je možné napájať od 2,7V do 5V, takže napájanie Arduino 5V by malo byť v poriadku. */#include "HX711.h" #define calibration_factor -7050.0 // Táto hodnota je získaná pomocou SparkFun_HX711_Calibration skice #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 scale; void setup () {Serial.begin (9600); Serial.println („demo v mierke HX711“); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (kalibračný_faktor); // Táto hodnota sa získa pomocou SparkFun_HX711_Calibration sketch scale.tare (); // Za predpokladu, že na váhe pri spustení nie je žiadna váha, resetujte váhu na 0 Serial.println ("Readings:"); } void loop () {Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); //scale.get_units () vráti float Serial.print ("lbs"); // Môžete to zmeniť na kg, ale budete musieť refaktorovať calibration_factor Serial.println (); }

Odporúča: