Sadržaj:

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

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

Video: Ovdje saznajte o iznimno važnom senzoru!: 11 koraka
Video: 🔵 Blackview Tab 16 - ПОДРОБНЫЙ ОБЗОР ПЛАНШЕТА 2024, Srpanj
Anonim
Ovdje saznajte o iznimno važnom senzoru!
Ovdje saznajte o iznimno važnom senzoru!

Kako možete saznati o razini vode u spremniku za vodu? Za nadzor ove vrste stvari možete koristiti senzor tlaka. Ovo je općenito vrlo korisna oprema za industrijsku automatizaciju. Danas ćemo govoriti o ovoj obitelji obitelji MPX senzora tlaka, posebno za mjerenje tlaka. 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 osjetnik diferencijalnog tlaka

• 10k potenciometar (ili trimpot)

• Protoboard

• Priključne žice

• USB kabl

• ESP WiFi LoRa 32

• Zračni kompresor (opcionalno)

Korak 3: Zašto mjeriti tlak?

Zašto mjeriti tlak?
Zašto mjeriti tlak?

• Postoje brojne primjene gdje je tlak važna kontrolna varijabla.

• Možemo uključiti pneumatske ili hidraulične sustave upravljanja.

• Medicinski instrumenti.

• Robotika.

• Kontrola industrijskih ili okolišnih procesa.

• Mjerenje razine u spremnicima tekućine ili plina.

Korak 4: MPX obitelj senzora tlaka

MPX obitelj senzora tlaka
MPX obitelj senzora tlaka

• Oni su pretvarači tlaka u električnom naponu.

• Temelje se na piezo otpornom senzoru, gdje se kompresija pretvara u varijaciju električnog otpora.

• Postoje inačice sposobne 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 tlaka, p1 i p2) ili mjerač (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 tlak od 0 do 700kPa (približno 7atm).

• Izlazni napon varira od 0,2V do 4,7V.

• Snaga mu 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 izravni kompresor zraka za primjenu tlaka na ulazu pod visokim tlakom (p1) i dobiti razliku u odnosu na lokalni atmosferski tlak (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 načela za kontrolu, na primjer, tlaka u spremniku zraka, koji pokreće ovaj kompresor.

Korak 7: Kalibriranje ESP ADC -a

Kalibriranje ESP ADC -a
Kalibriranje ESP ADC -a
Kalibriranje ESP ADC -a
Kalibriranje ESP ADC -a
Kalibriranje ESP ADC -a
Kalibriranje ESP ADC -a

• Budući da znamo da analogno-digitalna pretvorba ESP-a nije potpuno linearna i da se može razlikovati od jednog do drugog SoC-a, počnimo s jednostavnim određivanjem njegovog ponašanja.

• Pomoću potenciometra i multimetra izmjerit ćemo napon koji se primjenjuje 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 tlaka

Izračunavanje pritiska
Izračunavanje pritiska
Izračunavanje pritiska
Izračunavanje pritiska

• Iako nam proizvođač daje funkciju s ponašanjem komponente, uvijek je preporučljivo izvršiti kalibraciju kada govorimo o mjerenjima.

• 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 ispravak)

Korak 9: Montaža

Skupština
Skupština
Skupština
Skupština

• Za spajanje senzora potražite zarez na jednom od njegovih terminala koji označava pin 1.

• Od tada računajući:

Pin 1 omogućuje izlaz signala (od 0V do 4.7V)

Pin 2 je referenca. (GND)

Pin 3 za napajanje. (Vs)

• Budući da je izlazni signal 4,7 V, koristit ćemo razdjelnik napona tako da je maksimalna vrijednost ekvivalentna 3V3. Za to smo podešavanje izvršili pomoću potenciometra.

Korak 10: Izvorni kod

Izvorni kod
Izvorni kod
Izvorni kod
Izvorni kod

Izvorni kod: #Uključuje i #definira

// Bibliotecas para utilização do display oLED #include // Necessário apenas para o Arduino 1.6.5 e posterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Os pinos do OLED estão conectados ao ESP32 pelos određuje GPIO -ove: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve serv ajustado por software

Izvor: Globalne varijable i konstante

SSD1306 zaslon (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 converão para atmosferas const float fator_bar = 0,01; // fator de converão para 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; // variável para manipular as medidas float pressao = 0.0; // varijaável para armazenar o valor da pressão // inicia a coleta de amostras do ADC for (int i = 0; i (5000)) // se está ligado a mais que 5 segundos {// Limpa o buffer do display 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 buffer 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"); // escreve no buffer o valor do ADC display.drawString (0, 48, "adc:" + String (int (medidas))); } else // se prikazuje kao 5 segundos, izlažite tijelo inicial {// limpa o buffer do display display.clear (); // Ajusta o alinhamento para centralizado display.setTextAlignment (TEXT_ALIGN_CENTER); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); // escreve no buffer display.drawString (64, 0, "Sensor Pressão"); // escreve no buffer display.drawString (64, 18, "Diferencial"); // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_10); // escreve nema prikaza međuspremnika.drawString (64, 44, "ESP-WiFi-Lora"); } display.display (); // prijenos parametra me uspremnika ili kašnjenje prikaza (50); }

Izvorni kod: Funkcija koja izračunava tlak 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 pogreš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 da relação entre a tensão aplicada no AD e valor lido * / return 4.821224180510e-02 + 1.180826610901e-03 * x + -6.640183463236e-07 * 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

INO

Preporučeni: