Përmbajtje:

Peshore dixhitale Me ESP32: 12 hapa
Peshore dixhitale Me ESP32: 12 hapa

Video: Peshore dixhitale Me ESP32: 12 hapa

Video: Peshore dixhitale Me ESP32: 12 hapa
Video: Установка приложения ArduBlock 2024, Korrik
Anonim
Image
Image
Burimet e Përdorura
Burimet e Përdorura

A keni menduar ndonjëherë për montimin e një shkalle dixhitale duke përdorur një ESP32 dhe një sensor (i njohur si një qelizë ngarkese)? Sot, unë do t'ju tregoj se si ta bëni këtë përmes një procesi që gjithashtu lejon teste të tjera laboratorike, të tilla si identifikimi i forcës që kryen një motor në një pikë, ndër shembuj të tjerë.

Më pas do të demonstroj disa koncepte që lidhen me përdorimin e qelizave të ngarkuara, do të kap të dhënat e qelizave për të ndërtuar një shkallë shembullore dhe do të tregoj aplikime të tjera të mundshme të qelizave të ngarkesës.

Hapi 1: Burimet e përdorura

• Heltec Lora 32 WiFi ESP

• Ngarkoni qelizën (0 deri në 50 Njutonë, duke përdorur një shkallë)

• 1 potenciometër prej 100k (më mirë nëse përdorni një trimpot multivolt për rregullim të mirë)

• 1 Amp Op LM358

• 2 rezistorë 1M5

• 2 rezistorë 10k

• 1 rezistencë 4k7

• Tela

• Një Protoboard

• Një kabllo USB për ESP

• Një shkallë, enë me vëllim të graduar, ose ndonjë metodë tjetër të kalibrimit.

Hapi 2: Demonstrim

Demonstrim
Demonstrim

Hapi 3: Ngarkoni qelizat

Qelizat e Ngarkesës
Qelizat e Ngarkesës

• Ata janë shndërrues të forcave.

• Ata mund të përdorin metoda të ndryshme për të përkthyer forcën e aplikuar në një madhësi proporcionale që mund të përdoret si masë. Ndër më të zakonshmet janë ato që përdorin ekstensometra fletësh, efekti piezoelektrik, hidraulikë, tela vibrues, etj …

• Ato gjithashtu mund të klasifikohen sipas formës së matjes (tension ose kompresim)

Hapi 4: Ngarkoni qelizat dhe matësit e tendosjes

Qelizat e Ngarkesës dhe Matësit e Tendosjes
Qelizat e Ngarkesës dhe Matësit e Tendosjes
Qelizat e Ngarkesës dhe Matësit e Tendosjes
Qelizat e Ngarkesës dhe Matësit e Tendosjes

• Zgjatësit e fletës janë filma (zakonisht plastikë) me një tel të shtypur që kanë një rezistencë që mund të ndryshojë me ndryshimin e madhësisë së tyre.

• Ndërtimi i tij kryesisht synon të shndërrojë një deformim mekanik në një variacion të një madhësie elektrike (rezistence). Kjo ndodh mundësisht në një drejtim të vetëm, në mënyrë që të bëhet vlerësimi i përbërësve. Për këtë, kombinimi i disa ekstensometrave është i zakonshëm

• Kur lidhet siç duhet me një trup, deformimi i tij është i barabartë me atë të trupit. Kështu, rezistenca e tij ndryshon me deformimin e trupit, i cili nga ana tjetër lidhet me forcën deformuese.

• Ato njihen edhe si matës të tendosjes.

• Kur shtrihen nga një forcë tërheqëse, fillesat zgjaten dhe ngushtohen, duke rritur rezistencën.

• Kur ngjeshen nga një forcë shtypëse, telat shkurtohen dhe zgjerohen, duke zvogëluar rezistencën.

Hapi 5: Ura e Grurit

Ura e Grurit të Grurit
Ura e Grurit të Grurit

• Për një matje më të saktë dhe për të lejuar zbulimin më efikas të variacionit të rezistencës në një qelizë ngarkese, matësi i sforcimit mblidhet në një urë Wheatstone.

• Në këtë konfigurim, ne mund të përcaktojmë ndryshimin e rezistencës përmes çekuilibrit të urës.

• Nëse R1 = Rx dhe R2 = R3, ndarësit e tensionit do të jenë të barabartë, dhe tensionet Vc dhe Vb gjithashtu do të jenë të barabarta, me urën në ekuilibër. Kjo do të thotë, Vbc = 0V;

• Nëse Rx është e ndryshme nga R1, ura do të jetë e pabalancuar dhe tensioni Vbc do të jetë jo zero.

• isshtë e mundur të tregohet se si duhet të ndodhë ky ndryshim, por këtu, ne do të bëjmë një kalibrim të drejtpërdrejtë, duke e lidhur vlerën e lexuar në ADC me një masë të aplikuar në qelizën e ngarkesës.

Hapi 6: Përforcimi

Përforcim
Përforcim

• Edhe duke përdorur urën Wheatstone për ta bërë leximin më efikas, mikro deformimet në metalin e qelizës së ngarkesës prodhojnë variacione të vogla të tensionit midis Vbc.

• Për të zgjidhur këtë situatë, ne do të përdorim dy faza të amplifikimit. Njëra për të përcaktuar ndryshimin dhe një tjetër për të përputhur vlerën e marrë me ADC të ESP.

Hapi 7: Përforcimi (skema)

Përforcimi (skema)
Përforcimi (skema)

• Fitimi i hapit të zbritjes jepet nga R6 / R5 dhe është i njëjtë me R7 / R8.

• Fitimi i hapit përfundimtar jo-përmbysës jepet nga Pot / R10

Hapi 8: Mbledhja e të dhënave për Kalibrim

Mbledhja e të dhënave për kalibrim
Mbledhja e të dhënave për kalibrim
Mbledhja e të dhënave për kalibrim
Mbledhja e të dhënave për kalibrim

• Pasi të montohemi, vendosim fitimin përfundimtar në mënyrë që vlera e masës më të madhe të matur të jetë afër vlerës maksimale të ADC. Në këtë rast, për 2 kg të aplikuar në qelizë, tensioni i daljes ishte rreth 3V3.

• Më pas, ne ndryshojmë masën e aplikuar (e njohur përmes bilancit dhe për secilën vlerë), dhe shoqërojmë një LEITUR të ADC, duke marrë tabelën tjetër.

Hapi 9: Marrja e lidhjes së funksionit midis masës së matur dhe vlerës së ADC të marrë

Marrja e lidhjes së funksionit midis masës së matur dhe vlerës së ADC të fituar
Marrja e lidhjes së funksionit midis masës së matur dhe vlerës së ADC të fituar

Ne përdorim softuerin PolySolve për të marrë një polinom që përfaqëson marrëdhënien midis masës dhe vlerës së ADC.

Hapi 10: Kodi Burimor

Kodi Burim - #Përfshin

Tani që kemi se si të marrim matjet dhe të dimë marrëdhënien midis ADC dhe masës së aplikuar, mund të kalojmë në shkrimin e softuerit.

// Bibliotekat për përdorimin e ekranit OLED #përfshijnë // Nevojat për apenas para Arduino 1.6.5 dhe anterior #përfshijnë "SSD1306.h" // o mesmo que #include "SSD1306Wire.h"

Kodi burim - #Përcakton

// Os pinos për 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 aj për softuer

Burimi - Variablat dhe Konstantet Globale

Ekrani 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

Kodi Burim - Konfigurimi ()

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

Kodi Burim - Lak ()

lak void () {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 për (int i = 0; i (5000)) // se është e vlefshme për 5 orë më parë {// Envia um CSV contendo o instante, një mediat mediatike për ADC e o valor em gramas // para një Seriali. Serial.print (millis () / 1000.0, 0); // instante em segundos Serial.print (","); Serial.print (medidas, 3); // valor médio obtido no ADC Serial.print (","); Serial.println ((massa), 1); // massa em gramas // Escreve no buffer do display display.clear (); // Limpa ose tampon do të shfaqet // austa o alinhamento para një shfaqje esquerda.setTextAlignment (TEXT_ALIGN_LEFT); // austa 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"); // mos ruani asnjë tampon ose valor për shfaqjen ADC.drawString (0, 30, "ADC:" + String (int (medidas))); } else // se está ligado a menos de 5 segundos {display.clear (); // limpa o buffer do display display.setTextAlignment (TEXT_ALIGN_LEFT); // Përgjigje për një ekran esquerda.setFont (ArialMT_Plain_24); // ajusta a fonte para Arial 24 display.drawString (0, 0, "Balança"); // mos ruani asnjë ekran tampon.setFont (ArialMT_Plain_16); // Përgjigje për Arial 16 display.drawString (0, 26, "ESP-WiFi-Lora"); // mos ruani asnjë tampon} display.display (); // transferoni o buffer para o vonesës së shfaqjes (50); }

Kodi Burim - Llogaritja e funksionit Masa ()

// 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 + medida * medida * medida + 1.796252359323e-10 * medida * medida * medida * medida + -3.995722708150e-14 * medida * medida * medida * medida * medida * medida + 3.284692453344e-18 * medida * medida * medida * medida * medida * medida * medida; }

Hapi 11: Fillimi dhe Matja

Fillimi dhe Matja
Fillimi dhe Matja

Hapi 12: Skedarët

Shkarkoni skedarët

INO

PDF

Recommended: