Tartalomjegyzék:

Digitális skála ESP32 -vel: 12 lépés
Digitális skála ESP32 -vel: 12 lépés

Videó: Digitális skála ESP32 -vel: 12 lépés

Videó: Digitális skála ESP32 -vel: 12 lépés
Videó: Arduino & P10 Panel ile 4-20mA | 0-99.9 Skala Testi 2024, November
Anonim
Image
Image
Felhasznált források
Felhasznált források

Gondolt már arra, hogy digitális mérleget szerel fel ESP32 és érzékelő (más néven terhelésmérő) segítségével? Ma megmutatom, hogyan kell ezt megtenni egy olyan eljárással, amely más laboratóriumi vizsgálatokat is lehetővé tesz, például a motor által egy adott ponton kifejtett erő azonosítását, többek között.

Ezután bemutatok néhány fogalmat a terhelésmérő cellák használatával kapcsolatban, rögzítem a cellaadatokat egy példaméret létrehozásához, és rámutatok a terhelési cellák egyéb lehetséges alkalmazására.

1. lépés: Felhasznált erőforrások

• Heltec Lora 32 WiFi ESP

• Cella betöltése (0-50 newton, skála használatával)

• 1 100k potenciométer (jobb, ha multivolt trimpot használ a finom beállításhoz)

• 1 erősítő op LM358

• 2 db 1M5 ellenállás

• 2 db 10 ezer ellenállás

• 1 4k7 ellenállás

• Vezetékek

• Protoboard

• USB -kábel ESP -hez

• Mérleg, térfogatú tartály vagy bármilyen más kalibrálási módszer.

2. lépés: Demonstráció

Demonstráció
Demonstráció

3. lépés: A cellák betöltése

Betöltőcellák
Betöltőcellák

• Erőátalakítók.

• Különböző módszereket használhatnak arra, hogy az alkalmazott erőt arányos nagyságúvá alakítsák, amely mérésként használható. A legelterjedtebbek közé tartoznak a lemez extensométerek, a piezoelektromos hatás, a hidraulika, a vibráló húrok stb.

• A mérési forma szerint is osztályozhatók (feszültség vagy kompresszió)

4. lépés: Töltse be a cellákat és a nyúlásmérőket

Terhelési cellák és nyúlásmérők
Terhelési cellák és nyúlásmérők
Terhelési cellák és nyúlásmérők
Terhelési cellák és nyúlásmérők

• A lemezes extensométerek olyan fóliák (általában műanyag), amelyek dróttal vannak ellátva, és amelyek ellenállása méretük változásával változhat.

• Felépítése elsősorban arra irányul, hogy a mechanikai deformációt elektromos nagyságrendű (ellenállás) változássá alakítsa át. Ez lehetőleg egyetlen irányban történik, így a komponensek kiértékelése elvégezhető. Ehhez gyakori több extenzométer kombinációja

• Ha megfelelően rögzítve van a testhez, annak deformációja megegyezik a testével. Így ellenállása a test deformációjával változik, ami viszont összefügg a deformáló erővel.

• Nyúlásmérő néven is ismertek.

• Ha húzóerővel feszítik, a szálak megnyúlnak és keskenyednek, növelve az ellenállást.

• Amikor a nyomóerő összenyomja, a vezetékek lerövidülnek és kiszélesednek, csökkentve az ellenállást.

5. lépés: Wheatstone híd

Wheatstone híd
Wheatstone híd

• A pontosabb mérés és az ellenállásváltozások hatékonyabb észlelése érdekében a mérőcellában a nyúlásmérőt Wheatstone -hídba szereljük össze.

• Ebben a konfigurációban meg tudjuk határozni az ellenállás változását a híd kiegyensúlyozatlanságán keresztül.

• Ha R1 = Rx és R2 = R3, a feszültségosztók egyenlők lesznek, és a Vc és Vb feszültségek is egyenlők, a híd egyensúlyban van. Vagyis Vbc = 0V;

• Ha Rx nem R1, a híd kiegyensúlyozatlan lesz, és a Vbc feszültség nulla lesz.

• Lehetőség van bemutatni, hogy ez az eltérés hogyan történjen, de itt közvetlen kalibrálást végzünk, amely az ADC -ben leolvasott értéket a mérőcellára alkalmazott tömeghez viszonyítja.

6. lépés: Erősítés

Erősítés
Erősítés

• Még a Wheatstone -híd használatával is hatékonyabbá teszi a leolvasást, a mérőcella fémének mikro -deformációi kis feszültségingadozásokat okoznak a Vbc között.

• A helyzet megoldásához az erősítés két szakaszát fogjuk használni. Az egyik a különbség meghatározásához, a másik pedig az ESP ADC -hez illeszkedő értékhez való illesztés.

7. lépés: Erősítés (séma)

Erősítés (séma)
Erősítés (séma)

• A kivonási lépés erősítését az R6 / R5 adja meg, és megegyezik az R7 / R8 értékkel.

• A nem invertáló utolsó lépés erősítését Pot / R10 adja

8. lépés: Adatok gyűjtése a kalibráláshoz

Adatgyűjtés a kalibráláshoz
Adatgyűjtés a kalibráláshoz
Adatgyűjtés a kalibráláshoz
Adatgyűjtés a kalibráláshoz

• Összeszerelés után úgy állítjuk be a végső erősítést, hogy a legnagyobb mért tömeg értéke közel legyen az ADC maximális értékéhez. Ebben az esetben a cellában alkalmazott 2 kg esetében a kimeneti feszültség 3V3 körül volt.

• Ezután módosítjuk az alkalmazott tömeget (mérlegről és minden egyes értékről ismert), és hozzárendeljük az ADC LEITUR -ját, és megkapjuk a következő táblázatot.

9. lépés: Funkcióviszony megszerzése a mért tömeg és a kapott ADC értéke között

Funkciókapcsolat megszerzése a mért tömeg és a kapott ADC értéke között
Funkciókapcsolat megszerzése a mért tömeg és a kapott ADC értéke között

A PolySolve szoftver segítségével polinomot kapunk, amely az ADC tömege és értéke közötti kapcsolatot képviseli.

10. lépés: Forráskód

Forráskód - #Includes

Most, hogy megvan a mód a mérésekhez, és ismerjük az ADC és az alkalmazott tömeg közötti kapcsolatot, továbbléphetünk a szoftver tényleges megírásához.

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

Forráskód - #Defines

// Os pinos do OLED estão conectados ao ESP32 pelos seguintes GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado szoftverrel

Forrás - Globális változók és állandók

SSD1306 kijelző (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

Forráskód - Beállítás ()

void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // soros sorozat kezdeményezése // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}

Forráskód - Loop ()

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)) // se está ligado a mais que 5 segundos {// Envia um CSV contendo o instante, a medida média do ADC e o valor em gramas // para a Serial. Sorozatnyomat (millis () / 1000,0, 0); // instante em segundos Serial.print (","); Serial.print (medidas, 3); // valor médio obtido no ADC Serial.print (","); Sorozat.println ((masszázs), 1); // massa em gramas // Escreve no buffer do display display.clear (); // Limpa vagy puffer megjelenítése // vezérlés vagy alinhamento para esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); // Escreve no buffer ne jelenítsen meg masszázskijelzést.drawString (0, 0, "Massa:" + String (int (massa)) + "g"); // escreve no buffer o valor do ADC display.drawString (0, 30, "ADC:" + String (int (medidas)))); } else // se está ligado a menos de 5 segundos {display.clear (); // limpa vagy puffer jelenítse meg a display.setTextAlignment (TEXT_ALIGN_LEFT); // Ajusta o alinhamento para a esquerda display.setFont (ArialMT_Plain_24); // ajusta 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 (); // transzfer o buffer para o display delay (50); }

Forráskód - Funkciószámítás Massza ()

// função para cálculo da massa obtida pela regressão // usando oPolySolve float calculaMassa (float medida) {return -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida * medida + -3.74810883 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; }

11. lépés: Indítás és mérés

Indítás és mérés
Indítás és mérés

12. lépés: Fájlok

Töltse le a fájlokat

ÉN NEM

PDF

Ajánlott: