INHOUDSOPGAWE:

Lees hier meer oor 'n uiters belangrike sensor !: 11 stappe
Lees hier meer oor 'n uiters belangrike sensor !: 11 stappe

Video: Lees hier meer oor 'n uiters belangrike sensor !: 11 stappe

Video: Lees hier meer oor 'n uiters belangrike sensor !: 11 stappe
Video: ELBERT HELPT BIJ EEN BEVALLING - TOPDOKS EXTRA 2024, Desember
Anonim
Lees hier meer oor 'n uiters belangrike sensor!
Lees hier meer oor 'n uiters belangrike sensor!

Hoe kan u meer te wete kom oor die watervlak in 'n watertenk? Om hierdie tipe dinge te monitor, kan u 'n druksensor gebruik. Dit is in die algemeen baie nuttige toerusting vir industriële outomatisering. Vandag gaan ons praat oor hierdie presiese familie MPX -druksensors, spesifiek vir drukmeting. Ek stel u voor aan die MPX5700 druksensor en neem 'n monstermontering met behulp van die ESP WiFi LoRa 32.

Ek sal vandag nie LoRa -kommunikasie in die kring gebruik nie, nie WiFi of Bluetooth nie. Ek het egter gekies vir hierdie ESP32 omdat ek al in ander video's geleer het hoe om al die funksies wat ek vandag bespreek, te gebruik.

Stap 1: Demonstrasie

Demonstrasie
Demonstrasie
Demonstrasie
Demonstrasie

Stap 2: Hulpbronne gebruik

Hulpbronne gebruik
Hulpbronne gebruik

• MPX5700DP differensiële druksensor

• 10k potensiometer (of trimpot)

• Protoboard

• Aansluitdrade

• USB -kabel

• ESP WiFi LoRa 32

• Lugkompressor (opsioneel)

Stap 3: Waarom meet u die druk?

Waarom druk meet?
Waarom druk meet?

• Daar is talle toepassings waar druk 'n belangrike beheervariabele is.

• Ons kan pneumatiese of hidrouliese beheerstelsels betrek.

• Mediese instrumente.

• Robotika.

• Beheer van industriële of omgewingsprosesse.

• Vlakmeting in vloeistof- of gasreservoirs.

Stap 4: Die MPX -familie van druksensors

Die MPX -familie van druksensors
Die MPX -familie van druksensors

• Dit is drukopnemers in elektriese spanning.

• Hulle is gebaseer op 'n piëzo -weerstandige sensor, waar kompressie omgeskakel word in 'n variasie van die elektriese weerstand.

• Daar is weergawes wat klein drukverskille (van 0 tot 0,04atm) of groot variasies (van 0 tot 10atm) kan meet.

• Hulle verskyn in veelvuldige pakkette.

• Hulle kan absolute druk (relatief tot vakuum), differensiële druk (die verskil tussen twee druk, p1 en p2) of meter (relatief tot atmosferiese druk) meet.

Stap 5: Die MPX5700DP

Die MPX5700DP
Die MPX5700DP
Die MPX5700DP
Die MPX5700DP

• Die 5700 -reeks beskik oor absolute, ewenaar- en metersensors.

• Die MPX5700DP kan 'n differensiële druk van 0 tot 700kPa (ongeveer 7atm) meet.

• Die uitgangsspanning wissel van 0.2V tot 4.7V.

• Die krag is van 4,75V tot 5,25V

Stap 6: Vir die demonstrasie

Vir die demonstrasie
Vir die demonstrasie

• Hierdie keer sal ons nie 'n praktiese toepassing met hierdie sensor doen nie; ons sal dit slegs monteer en 'n paar metings as 'n demonstrasie uitvoer.

• Hiervoor gebruik ons 'n direkte lugkompressor om druk uit te oefen by die hoë drukinlaat (p1) en die verskil in verhouding tot die plaaslike atmosferiese druk (p2) te kry.

• Die MPX5700DP is 'n eenrigting sensor, wat beteken dat dit positiewe verskille meet waar p1 altyd groter as of gelyk aan p2 moet wees.

• p1> p2 en die verskil sal p1 - p2 wees

• Daar is tweerigting-differensiële sensors wat negatiewe en positiewe verskille kan evalueer.

• Alhoewel dit slegs 'n demonstrasie is, kan ons die beginsels hier maklik gebruik om byvoorbeeld die druk in 'n lugreservoir, aangedryf deur hierdie kompressor, te beheer.

Stap 7: Kalibreer die ESP ADC

Kalibreer die ESP ADC
Kalibreer die ESP ADC
Kalibreer die ESP ADC
Kalibreer die ESP ADC
Kalibreer die ESP ADC
Kalibreer die ESP ADC

• Aangesien ons weet dat die analoog-digitale omskakeling van ESP nie heeltemal lineêr is nie en van die een SoC na die ander kan wissel, begin ons met 'n eenvoudige bepaling van die gedrag daarvan.

• Met behulp van 'n potensiometer en 'n multimeter, sal ons die spanning wat op die AD toegepas word, meet en dit met die aangeduide waarde in verband bring.

• Met 'n eenvoudige program om die AD te lees en die inligting in 'n tabel te versamel, kon ons die kurwe van die gedrag daarvan bepaal.

Stap 8: Berekening van die druk

Berekening van die druk
Berekening van die druk
Berekening van die druk
Berekening van die druk

• Alhoewel die vervaardiger die funksie van die komponent aan ons verskaf, is dit altyd raadsaam om 'n kalibrasie uit te voer wanneer ons praat oor metings.

• Aangesien dit slegs 'n demonstrasie is, sal ons die funksie in die datablad direk gebruik. Hiervoor sal ons dit manipuleer op 'n manier wat ons die druk gee as 'n funksie van die ADC -waarde.

* Onthou dat die breuk van die spanning wat deur die verwysingspanning op die ADC toegepas word, dieselfde waarde moet hê as die ADC wat deur die totale ADC gelees word. (Negeer die regstelling)

Stap 9: Montering

Vergadering
Vergadering
Vergadering
Vergadering

• Om die sensor aan te sluit, soek die kerf in een van sy terminale, wat pen 1 aandui.

• Tel daarvandaan:

Speld 1 bied seinuitset (van 0V tot 4,7V)

Speld 2 is die verwysing. (GND)

Speld 3 vir krag. (Vs)

• Aangesien die seinuitset 4,7V is, gebruik ons 'n spanningsverdeler sodat die maksimum waarde gelykstaande is aan 3V3. Hiervoor het ons die verstelling gemaak met die potensiometer.

Stap 10: Bronkode

Bronkode
Bronkode
Bronkode
Bronkode

Bronkode: #Sluit in en #definieer

// Bibliotecas para utilização to display oLED #include // Necessário apenas para o Arduino 1.6.5 e posterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Osinos do OLED estão conectados ao ESP32 bevat ook GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #definieer SDA 4 #definieer SCL 15 #definieer RST 16 // RST ontwikkel sagteware

Bron: Globale veranderlikes en konstantes

SSD1306 -skerm (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

Bronkode: Opstelling ()

ongeldige opstelling () {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}

Bronkode: Loop ()

leegte lus () {float medidas = 0.0; // variável para manipulêr 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); // Gee geen buffer om 'n pressao display.drawString (0, 0, String (int (pressao)) + "kPa") te vertoon nie; display.drawString (0, 16, String (pressao * fator_atm) + "atm"); display.drawString (0, 32, String (pressao * fator_kgf_cm2) + "kgf/cm2"); // kry geen buffer of waarde vir ADC display.drawString (0, 48, "adc:" + String (int (medidas))); } anders // kan ons 'n menos van 5 segundos aanbied, of 'n amptelike {// limf o buffer wys display.clear (); // Ajusta o alinhamento para centralizado display.setTextAlignment (TEXT_ALIGN_CENTER); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); // geen 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); // kry geen buffer display.drawString (64, 44, "ESP-WiFi-Lora"); } display.display (); // oordra of buffer vir vertoning van vertoning (50); }

Bronkode: Funksie wat die druk in kPa bereken

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 (fout) terugkeer ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }

- BEELDE

Bronkode: Funksie wat die AD -waarde regstel

float corrige Medida (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; }

Stap 11: lêers

Laai die lêers af:

PDF

EK NEE

Aanbeveel: