Indholdsfortegnelse:

Lær her om en ekstremt vigtig sensor !: 11 trin
Lær her om en ekstremt vigtig sensor !: 11 trin

Video: Lær her om en ekstremt vigtig sensor !: 11 trin

Video: Lær her om en ekstremt vigtig sensor !: 11 trin
Video: Смарт-Часы Maimo Watch - Детальный ОБЗОР + ТЕСТЫ 2024, November
Anonim
Lær her om en yderst vigtig sensor!
Lær her om en yderst vigtig sensor!

Hvordan kan du finde ud af om vandstanden i en vandtank? For at overvåge denne type ting kan du bruge en trykføler. Dette er generelt meget nyttigt udstyr til industriel automatisering. I dag vil vi tale om denne nøjagtige familie af MPX -trykfølere, specielt til trykmåling. Jeg vil præsentere dig for MPX5700 -trykføleren og udføre en prøvesamling ved hjælp af ESP WiFi LoRa 32.

Jeg vil ikke bruge LoRa -kommunikation i kredsløbet i dag, hverken WiFi eller Bluetooth. Jeg valgte dog denne ESP32, fordi jeg allerede i andre videoer lærte at bruge alle de funktioner, jeg diskuterer i dag.

Trin 1: Demonstration

Demonstration
Demonstration
Demonstration
Demonstration

Trin 2: Brugte ressourcer

Ressourcer brugt
Ressourcer brugt

• MPX5700DP differenstryk sensor

• 10k potentiometer (eller trimpot)

• Protoboard

• Tilslutningskabler

• USB -kabel

• ESP WiFi LoRa 32

• Luftkompressor (ekstraudstyr)

Trin 3: Hvorfor måle tryk?

Hvorfor måle tryk?
Hvorfor måle tryk?

• Der er mange applikationer, hvor tryk er en vigtig reguleringsvariabel.

• Vi kan involvere pneumatiske eller hydrauliske kontrolsystemer.

• Medicinsk instrumentering.

• Robotik.

• Kontrol af industrielle eller miljømæssige processer.

• Niveaumåling i væske- eller gasbeholdere.

Trin 4: MPX -familien af trykfølere

MPX -familien af trykfølere
MPX -familien af trykfølere

• De er tryktransducere i elektrisk spænding.

• De er baseret på en piezo -resistiv sensor, hvor komprimering omdannes til en variation af den elektriske modstand.

• Der findes versioner, der kan måle små trykforskelle (fra 0 til 0,04atm) eller store variationer (fra 0 til 10atm).

• De vises i flere pakker.

• De kan måle absolut tryk (i forhold til vakuum), differenstryk (forskellen mellem to tryk, p1 og p2) eller måler (i forhold til atmosfærisk tryk).

Trin 5: MPX5700DP

MPX5700DP
MPX5700DP
MPX5700DP
MPX5700DP

• 5700 -serien har absolutte, differentiale og målesensorer.

• MPX5700DP kan måle et differenstryk fra 0 til 700kPa (ca. 7atm).

• Udgangsspændingen varierer fra 0,2V til 4,7V.

• Dens effekt er fra 4,75V til 5,25V

Trin 6: Til demonstration

Til demonstrationen
Til demonstrationen

• Denne gang udfører vi ikke en praktisk anvendelse ved hjælp af denne sensor; vi vil kun montere det og udføre nogle målinger som en demonstration.

• Til dette vil vi bruge en direkte luftkompressor til at påføre tryk ved højtryksindløbet (p1) og få forskellen i forhold til det lokale atmosfæriske tryk (p2).

• MPX5700DP er en ensrettet sensor, hvilket betyder, at den måler positive forskelle, hvor p1 altid skal være større end eller lig med p2.

• p1> p2 og forskellen vil være p1 - p2

• Der er tovejs differentielle sensorer, der kan evaluere negative og positive forskelle.

• Selvom det kun er en demonstration, kunne vi sagtens bruge principperne her til f.eks. At kontrollere trykket i et luftreservoir, der drives af denne kompressor.

Trin 7: Kalibrering af ESP ADC

Kalibrering af ESP ADC
Kalibrering af ESP ADC
Kalibrering af ESP ADC
Kalibrering af ESP ADC
Kalibrering af ESP ADC
Kalibrering af ESP ADC

• Da vi ved, at ESP's analog-digitale konvertering ikke er helt lineær og kan variere fra en SoC til en anden, lad os starte med at foretage en enkel bestemmelse af dens adfærd.

• Ved hjælp af et potentiometer og et multimeter måler vi spændingen på AD'en og relaterer den til den angivne værdi.

• Med et simpelt program til at læse AD og indsamle oplysningerne i en tabel, var vi i stand til at bestemme kurven for dens adfærd.

Trin 8: Beregning af trykket

Beregning af trykket
Beregning af trykket
Beregning af trykket
Beregning af trykket

• Selvom producenten giver os funktionen adfærd af komponenten, er det altid tilrådeligt at foretage en kalibrering, når vi taler om at foretage målinger.

• Da det imidlertid kun er en demonstration, vil vi direkte bruge funktionen i databladet. Til dette vil vi manipulere det på en måde, der giver os trykket som en funktion af ADC -værdien.

* Husk, at brøkdelen af spændingen, der påføres ADC'en med referencespændingen, skal have den samme værdi som ADC læst af den totale ADC. (Ser bort fra rettelsen)

Trin 9: Montering

montage
montage
montage
montage

• For at tilslutte sensoren skal du kigge efter hakket i en af dets terminaler, hvilket angiver pin 1.

• Tæller derfra:

Pin 1 giver signaludgang (fra 0V til 4,7V)

Pin 2 er referencen. (GND)

Pin 3 til strøm. (Vs)

• Da signaludgangen er 4,7V, bruger vi en spændingsdeler, så den maksimale værdi svarer til 3V3. Til dette foretog vi justeringen med potentiometeret.

Trin 10: Kildekode

Kildekode
Kildekode
Kildekode
Kildekode

Kildekode: #Includes og #defines

// 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 inddeler GPIO'er: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado por software

Kilde: Globale variabler og konstanter

SSD1306 -skærm (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

Kildekode: Opsætning ()

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

Kildekode: Loop ()

void loop () {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 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 a esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 10 display.setFont (ArialMT_Plain_16); // Vis ingen buffer, vis ikke en 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"); // opretter ingen buffer eller værdi til ADC display.drawString (0, 48, "adc:" + String (int (medidas))); } ellers // kan der vises 5 menuer, men kan også bruges til officiel {// limpa o buffer viser 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); // registrer ingen buffer display.drawString (64, 44, "ESP-WiFi-Lora"); } display.display (); // overføre o buffer til displayforsinkelse (50); }

Kildekode: Funktion, der beregner trykket i 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 DESVIOS DO COMPONENTE (fejl) return ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }

- BILLEDER

Kildekode: Funktion, der korrigerer AD -værdien

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 * 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; }

Trin 11: Filer

Download filerne:

PDF

INO

Anbefalede: