Obsah:

Digitální měřítko s ESP32: 12 kroků
Digitální měřítko s ESP32: 12 kroků

Video: Digitální měřítko s ESP32: 12 kroků

Video: Digitální měřítko s ESP32: 12 kroků
Video: Digitální měřítko 2024, Listopad
Anonim
Image
Image
Použité zdroje
Použité zdroje

Přemýšleli jste někdy o montáži digitální váhy pomocí ESP32 a senzoru (známého jako siloměr)? Dnes vám ukážu, jak to udělat prostřednictvím procesu, který mimo jiné umožňuje i další laboratorní testy, například identifikaci síly, kterou motor v určitém bodě vykonává.

Poté předvedu některé koncepty související s používáním siloměrů, zachytím data buněk k vytvoření příkladu měřítka a upozorním na další možné aplikace siloměrů.

Krok 1: Použité zdroje

• Heltec Lora 32 WiFi ESP

• Zatěžovací buňka (0 až 50 newtonů, pomocí stupnice)

• 1 potenciometr 100k (lepší, pokud pro jemné nastavení použijete vícevřetenový trimr)

• 1 Amp Op LM358

• 2 odpory 1M5

• 2 10k odpory

• 1 odpor 4k7

• Dráty

• Protoboard

• USB kabel pro ESP

• Váha, nádoba s odstupňovaným objemem nebo jakýkoli jiný způsob kalibrace.

Krok 2: Ukázka

Demonstrace
Demonstrace

Krok 3: Načtěte buňky

Zatěžovací buňky
Zatěžovací buňky

• Jsou to snímače síly.

• Mohou použít různé metody k překladu použité síly na proporcionální velikost, kterou lze použít jako měřítko. Mezi nejběžnější patří ty, které používají extenzometry plechů, THE piezoelektrický efekt, hydrauliku, vibrační struny atd …

• Mohou být také klasifikovány podle měřícího formuláře (napětí nebo stlačení)

Krok 4: Zatížení buněk a tenzometry

Snímače zatížení a tenzometry
Snímače zatížení a tenzometry
Snímače zatížení a tenzometry
Snímače zatížení a tenzometry

• Pásové extenzometry jsou fólie (obvykle plastové) s tištěným drátem, které mají odpor, který se může měnit se změnou jejich velikosti.

• Jeho konstrukce si klade za cíl především převést mechanickou deformaci na změnu elektrické velikosti (odporu). K tomu dochází přednostně v jednom směru, aby bylo možné provést vyhodnocení součásti. K tomu je běžná kombinace několika extenzometrů

• Při správném připojení k tělu se jeho deformace rovná deformaci těla. Jeho odpor se tedy mění s deformací tělesa, což zase souvisí s deformační silou.

• Jsou také známé jako tenzometry.

• Při natažení tahovou silou se prameny prodlužují a zužují, čímž se zvyšuje odpor.

• Při stlačení tlakovou silou se dráty zkracují a rozšiřují, čímž se snižuje odpor.

Krok 5: Wheatstone Bridge

Wheatstone Bridge
Wheatstone Bridge

• Pro přesnější měření a umožnění efektivnější detekce kolísání odporu v siloměru je tenzometr sestaven do Wheatstoneova můstku.

• V této konfiguraci můžeme určit změnu odporu prostřednictvím nerovnováhy můstku.

• Pokud R1 = Rx a R2 = R3, děliče napětí budou stejné a napětí Vc a Vb budou také stejná, s můstkem v rovnováze. To znamená, že Vbc = 0V;

• Pokud je Rx jiné než R1, můstek bude nevyvážený a napětí Vbc bude nenulové.

• Je možné ukázat, jak by k této změně mělo dojít, ale zde provedeme přímou kalibraci vztahující se k hodnotě odečtené v ADC k hmotnosti aplikované na siloměr.

Krok 6: Zesílení

Zesílení
Zesílení

• I když použijeme Wheatstoneův můstek k zefektivnění čtení, mikro deformace v kovu snímače zatížení způsobí malé kolísání napětí mezi Vbc.

• K vyřešení této situace použijeme dva stupně zesílení. Jeden pro určení rozdílu a druhý pro přiřazení hodnoty získané k ADC ESP.

Krok 7: Zesílení (schéma)

Zesílení (schéma)
Zesílení (schéma)

• Zisk kroku odčítání je dán R6 / R5 a je stejný jako R7 / R8.

• Zisk neinvertujícího posledního kroku je dán Pot / R10

Krok 8: Sběr dat pro kalibraci

Sběr dat pro kalibraci
Sběr dat pro kalibraci
Sběr dat pro kalibraci
Sběr dat pro kalibraci

• Po sestavení nastavíme konečný zisk tak, aby se hodnota největší měřené hmotnosti přiblížila maximální hodnotě ADC. V TOMTO případě na 2 kg aplikované v článku bylo výstupní napětí kolem 3V3.

• Dále změníme aplikovanou hmotnost (známou prostřednictvím zůstatku a pro každou hodnotu) a přiřadíme LEITUR ADC, čímž získáme další tabulku.

Krok 9: Získání funkčního vztahu mezi naměřenou hmotností a hodnotou získaného ADC

Získání funkčního vztahu mezi naměřenou hmotností a hodnotou získaného ADC
Získání funkčního vztahu mezi naměřenou hmotností a hodnotou získaného ADC

Software PolySolve používáme k získání polynomu, který představuje vztah mezi hmotností a hodnotou ADC.

Krok 10: Zdrojový kód

Zdrojový kód - #Zahrnuje

Nyní, když máme k dispozici měření a známe vztah mezi ADC a aplikovanou hmotou, můžeme přejít ke skutečnému psaní softwaru.

// 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

// Osvědčené možnosti připojení OLED a další připojení ESP32 k GPIO: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado por software

Zdroj - globální proměnné a konstanty

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 - nastavení ()

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 - smyč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 // inicia a coleta de amostras do ADC for (int i = 0; i (5000)) // podívejte se na více než 5 seg {// Envi um CSV contendo o instante, a medida media do ADC e o valor em gramas // para a Serial. Serial.print (milis () / 1000,0, 0); // instante em segundos Serial.print (","); Serial.print (medidas, 3); // valor médio obtido no ADC Serial.print (","); Serial.println ((massa), 1); // hromadné gramy // Escreve no buffer do display display.clear (); // Limpa o buffer do display // ajusta o alinhamento para a esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // iusta a fonte para 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 // se liší od 5 segundos {display.clear (); // limpa o buffer do display display.setTextAlignment (TEXT_ALIGN_LEFT); // Ajusta o alinhamento para a esquerda display.setFont (ArialMT_Plain_24); // iusta a fonte para 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 - funkce CalculaMassa ()

// funkce zpětného odběru zpětné vazby // použití oPolySolve float calculaMassa (float medida) {return -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: Spuštění a měření

Spuštění a měření
Spuštění a měření

Krok 12: Soubory

Stáhněte si soubory

INO

PDF

Doporučuje: