Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Kako možete saznati nivo vode u rezervoaru za vodu? Za nadzor ove vrste stvari možete koristiti senzor pritiska. Ovo je općenito vrlo korisna oprema za industrijsku automatizaciju. Danas ćemo govoriti o ovoj familiji MPX senzora pritiska, posebno za mjerenje pritiska. Upoznat ću vas sa senzorom pritiska MPX5700 i izvršiti montažu uzorka pomoću ESP WiFi LoRa 32.
Danas u krugu neću koristiti LoRa komunikaciju, niti WiFi niti Bluetooth. Međutim, odlučio sam se za ovaj ESP32 jer sam već u drugim videozapisima naučio kako koristiti sve značajke o kojima danas govorim.
Korak 1: Demonstracija
Korak 2: Korišteni resursi
• MPX5700DP senzor diferencijalnog pritiska
• 10k potenciometar (ili trimpot)
• Protoboard
• Priključne žice
• USB kabl
• ESP WiFi LoRa 32
• Vazdušni kompresor (opciono)
Korak 3: Zašto mjeriti pritisak?
• Postoje brojne aplikacije u kojima je pritisak važna kontrolna varijabla.
• Možemo uključiti pneumatske ili hidraulične sisteme upravljanja.
• Medicinski instrumenti.
• Robotika.
• Kontrola industrijskih ili ekoloških procesa.
• Merenje nivoa u rezervoarima za tečnost ili gas.
Korak 4: Porodica senzora pritiska MPX
• To su pretvarači pritiska u električnom naponu.
• Zasnivaju se na piezo otpornom senzoru, gdje se kompresija pretvara u varijaciju električnog otpora.
• Postoje verzije koje mogu mjeriti male razlike tlaka (od 0 do 0,04 atm) ili velike varijacije (od 0 do 10 atm).
• Pojavljuju se u više paketa.
• Mogu mjeriti apsolutni tlak (u odnosu na vakuum), diferencijalni tlak (razlika između dva pritiska, p1 i p2) ili manometar (u odnosu na atmosferski tlak).
Korak 5: MPX5700DP
• Serija 5700 ima apsolutne, diferencijalne i mjerne senzore.
• MPX5700DP može mjeriti diferencijalni pritisak od 0 do 700kPa (približno 7atm).
• Izlazni napon varira od 0,2V do 4,7V.
• Njegova snaga je od 4,75V do 5,25V
Korak 6: Za demonstraciju
• Ovaj put nećemo raditi praktičnu primjenu pomoću ovog senzora; samo ćemo ga montirati i izvršiti neka mjerenja kao demonstraciju.
• Za to ćemo koristiti direktni kompresor zraka za primjenu pritiska na ulazu visokog pritiska (p1) i dobiti razliku u odnosu na lokalni atmosferski pritisak (p2).
• MPX5700DP je jednosmjerni senzor, što znači da mjeri pozitivne razlike gdje p1 uvijek mora biti veći ili jednak p2.
• p1> p2 i razlika će biti p1 - p2
• Postoje dvosmjerni diferencijalni senzori koji mogu ocijeniti negativne i pozitivne razlike.
• Iako je to samo demonstracija, ovdje bismo lako mogli koristiti principe za kontrolu, na primjer, tlaka u spremniku zraka, koji pokreće ovaj kompresor.
Korak 7: Kalibracija ESP ADC -a
• Budući da znamo da ESP analogno-digitalna konverzija nije potpuno linearna i da može varirati od jednog do drugog SoC-a, počnimo s jednostavnim određivanjem njegovog ponašanja.
• Pomoću potenciometra i multimetra izmjerit ćemo napon primijenjen na AD i povezati ga s naznačenom vrijednošću.
• Jednostavnim programom za čitanje AD -a i prikupljanje podataka u tablici uspjeli smo odrediti krivulju njegovog ponašanja.
Korak 8: Izračunavanje pritiska
• Iako nam proizvođač daje funkciju s ponašanjem komponente, uvijek je preporučljivo izvršiti kalibraciju kada govorimo o mjerenju.
• Međutim, budući da je to samo demonstracija, izravno ćemo koristiti funkciju koja se nalazi u podatkovnom listu. Za to ćemo manipulirati na način koji nam daje pritisak u funkciji vrijednosti ADC -a.
* Upamtite da dio napona koji na referentni napon primjenjuje na ADC mora imati istu vrijednost kao i ADC koji čita ukupni ADC. (Zanemarujući ispravku)
Korak 9: Montaža
• Za povezivanje senzora potražite zarez na jednom od njegovih terminala koji označava pin 1.
• Od tada računajući:
Pin 1 pruža izlaz signala (od 0V do 4.7V)
Pin 2 je referenca. (GND)
Pin 3 za napajanje. (Vs)
• Kako je izlazni signal 4,7 V, koristit ćemo razdjelnik napona tako da je maksimalna vrijednost ekvivalentna 3V3. Za to smo izvršili podešavanje pomoću potenciometra.
Korak 10: Izvorni kod
Izvorni kod: #Uključuje i #definira
// Bibliotecas para utilizationção to display oLED #include // Potrebni apeni za Arduino 1.6.5 e posteriorno #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Os pinos do OLED estão conectados ao ESP32 određuje GPIO -ove: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST prilagođen softveru
Izvor: Globalne varijable i konstante
SSD1306 ekran (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display" const int amostras = 10000; // numero de amostras coletadas para média const int pin = 13; // pino de leitura const float fator_atm = 0,0098692327; // fator de razgovore za atmosferu const float fator_bar = 0,01; // razgovor sa parametrom bar const float fator_kgf_cm2 = 0.0101971621; // fator de razgovaão kgf/cm2
Izvorni kod: Setup ()
void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // iniciando serijski // Inicia o display display.init (); display.flipScreenVertical (); // Vira a tela verticalmente}
Izvorni kod: Loop ()
void loop () {float medidas = 0.0; // varijable para manipular kao medidas float pressao = 0.0; // varijable para armazenar o valor da pressão // inicia a coleta de amostras do ADC for (int i = 0; i
Izvorni kod: Funkcija koja izračunava pritisak u kPa
float calculaPressao (float medida) {// Calcula a pressão com 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 DOS greška) return ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }
- SLIKE
Izvorni kod: Funkcija koja ispravlja AD vrijednost
float corrigeMedida (float x) { / * Esta função foi obtida através to relação entre a tenenso applicada no AD e valor lido * / return 4.821224180510e-02 + 1.180826610901e-03 * x + -6.640183463236e-07 * x * x * 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; }
Korak 11: Datoteke
Preuzmite datoteke:
JA NE