Obsah:

Digitálna váha s ESP32: 12 krokov
Digitálna váha s ESP32: 12 krokov

Video: Digitálna váha s ESP32: 12 krokov

Video: Digitálna váha s ESP32: 12 krokov
Video: Aqara FP2 RTCZCQ12LM - мультизонный микроволновый датчик присутствия с сенсором освещенности 2024, November
Anonim
Image
Image
Použité zdroje
Použité zdroje

Premýšľali ste niekedy o montáži digitálnej váhy pomocou ESP32 a senzora (známeho ako snímač zaťaženia)? Dnes vám ukážem, ako to urobiť pomocou postupu, ktorý okrem iného umožňuje aj ďalšie laboratórne testy, ako napríklad identifikáciu sily, ktorú motor vykonáva v bode.

Potom predvediem niektoré koncepty súvisiace s používaním snímačov zaťaženia, zachytím údaje buniek na zostavenie príkladovej škály a poukážem na ďalšie možné aplikácie snímačov zaťaženia.

Krok 1: Použité zdroje

• Heltec Lora 32 WiFi ESP

• zaťažovacia bunka (0 až 50 newtonov, pomocou stupnice)

• 1 potenciometer 100k (lepšie, ak na jemné nastavenie použijete viacvratový trimr)

• 1 zosilňovač, op. LM358

• 2 odpory 1M5

• 2 10k odpory

• 1 odpor 4k7

• Drôty

• Protoboard

• USB kábel pre ESP

• Váha, nádoba s odstupňovaným objemom alebo akýkoľvek iný spôsob kalibrácie.

Krok 2: Ukážka

Ukážka
Ukážka

Krok 3: Vložte bunky

Záťažové bunky
Záťažové bunky

• Sú to snímače sily.

• Môžu použiť rôzne metódy na preklad aplikovanej sily na proporcionálnu veľkosť, ktorú je možné použiť ako mieru. Medzi najbežnejšie patria tie, ktoré používajú tabuľkové extenzometre, THE piezoelektrický efekt, hydrauliku, vibračné struny, atď …

• Môžu byť tiež klasifikované podľa meracej formy (napätie alebo kompresia)

Krok 4: Načítajte bunky a tenzometre

Snímače zaťaženia a tenzometre
Snímače zaťaženia a tenzometre
Snímače zaťaženia a tenzometre
Snímače zaťaženia a tenzometre

• Extenzometre na plechy sú filmy (zvyčajne plastové) s potlačeným drôtom, ktoré majú odpor, ktorý sa môže líšiť v závislosti od zmeny veľkosti.

• Jeho konštrukcia je zameraná predovšetkým na premenu mechanickej deformácie na variáciu elektrickej veľkosti (odporu). K tomu dochádza výhodne v jednom smere, aby bolo možné vykonať vyhodnotenie komponentu. Na to je bežná kombinácia niekoľkých extenzometrov

• Pri správnom pripevnení k telu sa jeho deformácia rovná deformácii tela. Jeho odpor sa teda líši v závislosti od deformácie telesa, ktorá zase súvisí s deformačnou silou.

• Sú tiež známe ako tenzometre.

• Pri napnutí ťahovou silou sa pramene predlžujú a zužujú, čím sa zvyšuje odpor.

• Pri stlačení tlakovou silou sa drôty skrátia a rozšíria, čím sa zníži odpor.

Krok 5: Wheatstone Bridge

Wheatstone Bridge
Wheatstone Bridge

• Pre presnejšie meranie a umožnenie efektívnejšej detekcie variácií odporu v silomere je tenzometrický snímač zostavený do Wheatstoneovho mostíka.

• V tejto konfigurácii môžeme určiť variáciu odporu prostredníctvom nerovnováhy mostíka.

• Ak R1 = Rx a R2 = R3, rozdeľovače napätia budú rovnaké a napätia Vc a Vb budú tiež rovnaké, s mostíkom v rovnováhe. To znamená, že Vbc = 0V;

• Ak je Rx iné ako R1, mostík bude nevyvážený a napätie Vbc bude nenulové.

• Je možné ukázať, ako by k tejto variácii malo dôjsť, ale tu vykonáme priamu kalibráciu, ktorá porovná hodnotu načítanú v ADC s hmotnosťou aplikovanou na snímač zaťaženia.

Krok 6: Zosilnenie

Zosilnenie
Zosilnenie

• Dokonca aj keď použijeme Wheatstoneov most na zefektívnenie čítania, mikro deformácie v kovu snímača zaťaženia spôsobujú malé odchýlky napätia medzi Vbc.

• Na vyriešenie tejto situácie použijeme dva stupne zosilnenia. Jeden na určenie rozdielu a druhý na priradenie hodnoty získanej k ADC ESP.

Krok 7: Amplifikácia (schéma)

Zosilnenie (schéma)
Zosilnenie (schéma)

• Zisk kroku odčítania je daný R6 / R5 a je rovnaký ako R7 / R8.

• Zisk neinvertujúceho posledného kroku je daný Pot / R10

Krok 8: Zhromažďovanie údajov na kalibráciu

Zhromažďovanie údajov na kalibráciu
Zhromažďovanie údajov na kalibráciu
Zhromažďovanie údajov na kalibráciu
Zhromažďovanie údajov na kalibráciu

• Po zostavení nastavíme konečný zisk tak, aby sa hodnota najväčšej nameranej hmotnosti blížila maximálnej hodnote ADC. V tomto prípade bolo na 2 kg aplikované v článku výstupné napätie okolo 3 V3.

• Ďalej zmeníme aplikovanú hmotnosť (známu prostredníctvom zostatku a pre každú hodnotu) a priradíme LEITUR ADC, čím získame nasledujúcu tabuľku.

Krok 9: Získanie funkčného vzťahu medzi nameranou hmotnosťou a hodnotou získaného ADC

Získanie funkčného vzťahu medzi nameranou hmotnosťou a hodnotou získaného ADC
Získanie funkčného vzťahu medzi nameranou hmotnosťou a hodnotou získaného ADC

Na získanie polynómu, ktorý predstavuje vzťah medzi hmotnosťou a hodnotou ADC, používame softvér PolySolve.

Krok 10: Zdrojový kód

Zdrojový kód - #Zahrnuté

Teraz, keď máme spôsob, ako získať merania a poznať vzťah medzi ADC a aplikovanou hmotou, môžeme pristúpiť k skutočnému písaniu softvéru.

// Bibliotecas para utilização do display oLED #include // Necessário apenas para o Arduino 1.6.5 e anterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"

Zdrojový kód - #Defines

// Osem konektorov OLED a ďalších konektorov ESP32 ponúka GPIO: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado pred softvérom

Zdroj - globálne premenné a konštanty

Displej SSD1306 (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display" const int amostras = 10000; // número de amostras coletadas para a média const int pin = 13; // pino de leitura

Zdrojový kód - nastavenie ()

void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // iniciando a serial // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}

Zdrojový kód - slučka ()

void loop () {float medidas = 0,0; // variável para manipular as medidas float massa = 0,0; // variável para armazenar o valor da massa // initia a coleta de amostras do ADC for (int i = 0; i (5000)) // sa líši od 5 hlavných segmentov {// Envi um CSV contendo o instante, and medida media do ADC e o valor em gramas // para a Serial. Serial.print (millis () / 1000,0, 0); // inštante em segundos Serial.print (","); Serial.print (medidas, 3); // valor médio obtido no ADC Serial.print (","); Serial.println ((massa), 1); // hromadne gramy // Escreve no buffer do display display.clear (); // Limp o buffer to display // ajusta o alinhamento para a esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte pre Arial 16 display.setFont (ArialMT_Plain_16); // Escreve no buffer do display a massa display.drawString (0, 0, "Massa:" + String (int (massa)) + "g"); // escreve no buffer or valor do ADC display.drawString (0, 30, "ADC:" + String (int (medidas))); } else // pozrite sa na 5 výberov {display.clear (); // limpa o buffer do display display.setTextAlignment (TEXT_ALIGN_LEFT); // Ajusta o alinhamento para a esquerda display.setFont (ArialMT_Plain_24); // ajusta a fonte pre Arial 24 display.drawString (0, 0, "Balança"); // escreve no buffer display.setFont (ArialMT_Plain_16); // Ajusta a fonte para Arial 16 display.drawString (0, 26, "ESP-WiFi-Lora"); // escreve no buffer} display.display (); // transfere o buffer para o display delay (50); }

Zdrojový kód - kalkulácia funkcií Massa ()

// hlavná regresia hromadných regresií // používanie oPolySolve plaváková kalkulácia Massa (plaváková medida) {návrat -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3,684944764970e-04 * medida * medida + -3,7481038 medida * medida * medida + 1,796252359323e-10 * medida * medida * medida * medida + -3,995722708150e-14 * medida * medida * medida * medida * medida + 3,284692453344e-18 * medida * medida * medida * medida * medida * medida; }

Krok 11: Spustenie a meranie

Štartovanie a meranie
Štartovanie a meranie

Krok 12: Súbory

Stiahnite si súbory

INO

PDF

Odporúča: