Sadržaj:

Ovdje saznajte o izuzetno važnom senzoru!: 11 koraka
Ovdje saznajte o izuzetno važnom senzoru!: 11 koraka

Video: Ovdje saznajte o izuzetno važnom senzoru!: 11 koraka

Video: Ovdje saznajte o izuzetno važnom senzoru!: 11 koraka
Video: Стабилизация биохимических показателей крови. Большой восстановительный рефлекторный каскад 2024, Juli
Anonim
Ovdje saznajte o izuzetno važnom senzoru!
Ovdje saznajte o izuzetno važnom senzoru!

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

Demonstracija
Demonstracija
Demonstracija
Demonstracija

Korak 2: Korišteni resursi

Korišteni resursi
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?

Zašto mjeriti pritisak?
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

MPX porodica senzora pritiska
MPX porodica senzora pritiska

• 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

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

Za demonstraciju
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

Kalibracija ESP ADC -a
Kalibracija ESP ADC -a
Kalibracija ESP ADC -a
Kalibracija ESP ADC -a
Kalibracija ESP ADC -a
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

Proračun pritiska
Proračun pritiska
Proračun pritiska
Proračun 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

Montaža
Montaža
Montaža
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
Izvorni kod
Izvorni kod
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 (5000)) // prikazuje se 5 sekundi {// Limpa o baferu za prikaz display.clear (); // ajusta o alinhamento para esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_16); // Escreve no baffer ne prikazuje pressao display.drawString (0, 0, String (int (pressao)) + "kPa"); display.drawString (0, 16, String (pressao * fator_atm) + "atm"); display.drawString (0, 32, String (pressao * fator_kgf_cm2) + "kgf/cm2"); // nema me uspremnika niti valjanosti za ADC display.drawString (0, 48, "adc:" + String (int (medidas))); } else // prikazuje se pet oznaka, izloži tijelo inicialno {// limpa o baferu za prikaz display.clear (); // Pomoć za centralno podešavanje display.setTextAlignment (TEXT_ALIGN_CENTER); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); // escreve nema međuspremnika display.drawString (64, 0, "Sensor Pressão"); // escreve nema me uspremnika display.drawString (64, 18, "Diferencial"); // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_10); // escreve no baffer display.drawString (64, 44, "ESP-WiFi-Lora"); } display.display (); // prenos parametra me uspremnika ili kašnjenje prikaza (50); }

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:

PDF

JA NE

Preporučuje se: