Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Si mund të mësoni për nivelin e ujit në një rezervuar uji? Për të monitoruar këtë lloj gjëje, mund të përdorni një sensor presioni. Kjo është pajisje shumë e dobishme për automatizimin industrial, në përgjithësi. Sot, ne do të flasim për këtë familje të saktë të sensorëve të presionit MPX, veçanërisht për matjen e presionit. Unë do t'ju prezantoj me sensorin e presionit MPX5700 dhe do të kryej një montim mostër duke përdorur ESP WiFi LoRa 32.
Unë nuk do të përdor komunikimin LoRa në qark sot, as WiFi as Bluetooth. Sidoqoftë, unë zgjodha këtë ESP32 sepse kam mësuar tashmë në video të tjera se si të përdorin të gjitha tiparet që diskutoj sot.
Hapi 1: Demonstrim
Hapi 2: Burimet e përdorura
• Sensori i presionit diferencial MPX5700DP
• potenciometër 10k (ose trimpot)
• Protoboard
• Telat e lidhjes
• Kabllo USB
• ESP WiFi LoRa 32
• Kompresor ajri (opsional)
Hapi 3: Pse Matni Presionin?
• Ka aplikime të shumta ku presioni është një variabël i rëndësishëm kontrolli.
• Ne mund të përfshijmë sisteme pneumatike ose hidraulike të kontrollit.
• Instrumentet mjekësore.
• Robotika.
• Kontrolli i proceseve industriale ose mjedisore.
• Matja e nivelit në rezervuarët e lëngjeve ose gazit.
Hapi 4: Familja MP e Sensorëve të Presionit
• Janë dhënës presioni në tension elektrik.
• Ato bazohen në një sensor piezo -rezistent, ku ngjeshja shndërrohet në një variacion të rezistencës elektrike.
• Ka versione të afta për të matur diferencat e vogla të presionit (nga 0 në 0.04atm), ose variacione të mëdha (nga 0 në 10atm).
• Ato shfaqen në pako të shumëfishta.
• Ato mund të matin presionin absolut (në raport me vakumin), presionin diferencial (diferenca midis dy presioneve, p1 dhe p2), ose matës (në raport me presionin atmosferik).
Hapi 5: MPX5700DP
• Seria 5700 përmban sensorë absolutë, diferencialë dhe matës.
• MPX5700DP mund të masë një presion diferencial nga 0 në 700kPa (afërsisht 7atm).
• Tensioni i daljes varion nga 0.2V në 4.7V.
• Fuqia e tij është nga 4.75V në 5.25V
Hapi 6: Për demonstrimin
• Këtë herë, ne nuk do të bëjmë një aplikim praktik duke përdorur këtë sensor; ne vetëm do ta montojmë dhe do të kryejmë disa matje si demonstrim.
• Për këtë, ne do të përdorim një kompresor të drejtpërdrejtë ajri për të ushtruar presion në hyrjen e presionit të lartë (p1) dhe për të marrë ndryshimin në lidhje me presionin lokal atmosferik (p2).
• MPX5700DP është një sensor njëdrejtimësh, që do të thotë se mat diferencat pozitive ku p1 gjithmonë duhet të jetë më e madhe ose e barabartë me p2.
• p1> p2 dhe ndryshimi do të jetë p1 - p2
• Ekzistojnë sensorë diferencialë të dyanshëm që mund të vlerësojnë ndryshimet negative dhe pozitive.
• Edhe pse është vetëm një demonstrim, ne lehtë mund t'i përdorim parimet këtu për të kontrolluar, për shembull, presionin në një rezervuar ajri, të mundësuar nga ky kompresor.
Hapi 7: Kalibrimi i ESP ADC
• Meqenëse e dimë që konvertimi analog-dixhital i ESP nuk është plotësisht linear dhe mund të ndryshojë nga një SoC në tjetrin, le të fillojmë duke bërë një përcaktim të thjeshtë të sjelljes së tij.
• Duke përdorur një potenciometër dhe një multimetër, ne do të matim tensionin e aplikuar në AD dhe do ta lidhim atë me vlerën e treguar.
• Me një program të thjeshtë për leximin e AD dhe mbledhjen e informacionit në një tabelë, ne ishim në gjendje të përcaktonim kurbën e sjelljes së tij.
Hapi 8: Llogaritja e Presionit
• Edhe pse prodhuesi na siguron funksionin me sjelljen e komponentit, është gjithmonë e këshillueshme të kryhet një kalibrim kur flasim për marrjen e matjeve.
• Megjithatë, meqenëse është vetëm një demonstrim, ne do të përdorim drejtpërdrejt funksionin që gjendet në fletën e të dhënave. Për këtë, ne do ta manipulojmë atë në një mënyrë që na jep presionin në funksion të vlerës ADC.
* Mos harroni se fraksioni i tensionit të aplikuar në ADC me tensionin e referencës duhet të ketë të njëjtën vlerë si ADC të lexuar nga ADC -ja totale. (Duke mos marrë parasysh korrigjimin)
Hapi 9: Asambleja
• Për të lidhur sensorin, kërkoni shkallën në njërin prej terminaleve të tij, që tregon pin 1.
• Duke numëruar prej andej:
Pin 1 siguron dalje sinjali (nga 0V në 4.7V)
Pin 2 është referenca. (GND)
Pin 3 për energji. (Vs)
• Meqenëse dalja e sinjalit është 4.7V, ne do të përdorim një ndarës të tensionit në mënyrë që vlera maksimale të jetë ekuivalente me 3V3. Për këtë, ne bëmë rregullimin me potenciometër.
Hapi 10: Kodi Burimor
Kodi Burim: #Përfshin dhe #përcakton
// Bibliotekat për përdorimin e shfaqjes së OLED #përfshijnë // Nevojat për përdorim në Arduino 1.6.5 e pasme #përfshijnë "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Os pinos për OLED estão conectados ao ESP32 ofron zgjedhje të GPIO -ve: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado por software
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 const float fator_atm = 0.0098692327; // fator de conversão para atmosferas const float fator_bar = 0.01; // fator de conversão para bar const float fator_kgf_cm2 = 0.0101971621; // fator de conversão kgf/cm2
Kodi burim: Setup ()
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: Loop ()
loop void () {float medidas = 0.0; // variável para manipular as medidas float pressao = 0.0; // variável para armazenar o valor da pressão // inicia a coleta de amostras do ADC për (int i = 0; i
Kodi burim: Funksioni që llogarit presionin në kPa
float calculaPressao (float medida) {// Llogaritni një shtypão o // valor do AD corrigido pela função corrigeMedida () // Esta função foi escrita de acordo com dados do fabricante // e NÃO LEVA EM CONSIDERAÇÃO OS POSSÍVEIS DESVIOS erro) kthimi ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }
- PAMOT
Kodi burim: Funksioni që korrigjon vlerën AD
float corrigeMedida (noton x) { / * Esta função foi obtida através da relação entre a tensão aplicada no AD e valor lido * / return 4.821224180510e-02 + 1.180826610901e-03 * x + -6.640183463236e-07 * 5.235532597676e-10 * x * x * x + -2.020362975028e-13 * x * x * x * x + 3.809807883001e-17 * x * x * x * x * x + -2.896158699016e-21 * x * x * x * x * x * x; }
Hapi 11: Skedarët
Shkarkoni skedarët:
INO