Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Kuinka voit selvittää vesisäiliön vedenpinnan? Tämän tyyppisten asioiden valvontaan voit käyttää paineanturia. Tämä on erittäin hyödyllinen laite teollisuuden automaatioon yleensä. Tänään puhumme tästä tarkasta MPX -paineanturiperheestä, erityisesti paineen mittaamiseen. Esittelen sinulle MPX5700 -paineanturin ja suoritan näytekokoonpanon käyttämällä ESP WiFi LoRa 32 -laitetta.
En käytä LoRa -viestintää piirissä tänään, en WiFi- tai Bluetooth -yhteyttä. Valitsin kuitenkin tämän ESP32: n, koska olen jo opettanut muissa videoissa, kuinka käyttää kaikkia ominaisuuksia, joista keskustelen tänään.
Vaihe 1: Esittely
Vaihe 2: Käytetyt resurssit
• MPX5700DP Paine -eroanturi
• 10k potentiometri (tai trimpot)
• Protoboard
• Liitäntäjohdot
• USB kaapeli
• ESP WiFi LoRa 32
• Ilmakompressori (valinnainen)
Vaihe 3: Miksi mitata paine?
• On olemassa lukuisia sovelluksia, joissa paine on tärkeä säätömuuttuja.
• Voimme käyttää pneumaattisia tai hydraulisia ohjausjärjestelmiä.
• Lääketieteelliset instrumentit.
• Robotiikka.
• Teollisten tai ympäristöprosessien valvonta.
• Pinnan mittaus neste- tai kaasusäiliöissä.
Vaihe 4: MPX -paineanturiperhe
• Ne ovat painejännitejännitteitä.
• Ne perustuvat pietsoresistiiviseen anturiin, jossa puristus muunnetaan sähkövastuksen vaihteluksi.
• On olemassa versioita, jotka pystyvät mittaamaan pieniä paine -eroja (0–0,04 atm) tai suuria vaihteluita (0–10atm).
• Ne näkyvät useissa pakkauksissa.
• Ne voivat mitata absoluuttisen paineen (suhteessa tyhjiöön), paine -eron (kahden paineen, p1 ja p2 ero) tai painemittarin (suhteessa ilmanpaineeseen).
Vaihe 5: MPX5700DP
• 5700 -sarjassa on absoluuttiset, differentiaaliset ja mittarit.
• MPX5700DP voi mitata paine -eron 0-700 kPa (noin 7atm).
• Lähtöjännite vaihtelee 0,2 V - 4,7 V.
• Sen teho on 4,75 V - 5,25 V.
Vaihe 6: Esittelyä varten
• Tällä kertaa emme käytä käytännössä tätä anturia; asennamme sen vain ja teemme joitain mittauksia havainnollistamiseksi.
• Tätä tarkoitusta varten käytämme suoraa ilmakompressoria paineen kohdistamiseksi korkeapaineen sisääntuloon (p1) ja saamme eron suhteessa paikalliseen ilmanpaineeseen (p2).
• MPX5700DP on yksisuuntainen anturi, mikä tarkoittaa, että se mittaa positiivisia eroja, joissa p1: n on aina oltava suurempi tai yhtä suuri kuin p2.
• p1> p2 ja ero on p1 - p2
• On olemassa kaksisuuntaisia differentiaaliantureita, jotka voivat arvioida negatiivisia ja positiivisia eroja.
• Vaikka se on vain havainnollistusta, voisimme helposti käyttää tässä olevia periaatteita esimerkiksi paineen säätämiseen kompressorilla toimivassa ilmasäiliössä.
Vaihe 7: ESP ADC: n kalibrointi
• Koska tiedämme, että ESP: n analoginen-digitaalinen muunnos ei ole täysin lineaarinen ja voi vaihdella SoC: sta toiseen, aloitetaan yksinkertaisesti määrittämällä sen käyttäytyminen.
• Mitataan potentiometrillä ja yleismittarilla AD: hen syötetty jännite ja liitetään se ilmoitettuun arvoon.
• Yksinkertaisella ohjelmalla AD: n lukemiseen ja taulukon tietojen keräämiseen pystyimme määrittämään sen käyttäytymiskäyrän.
Vaihe 8: Paineen laskeminen
• Vaikka valmistaja toimittaa meille toiminnon osan toiminnalla, on aina suositeltavaa suorittaa kalibrointi, kun puhumme mittauksista.
• Koska tämä on kuitenkin vain havainnollistustapa, käytämme suoraan taulukosta löytyvää toimintoa. Tätä varten käsittelemme sitä tavalla, joka antaa meille paineen ADC -arvon funktiona.
* Muista, että ADC: hen syötetyn jännitteen murto -osalla vertailujännitteellä on oltava sama arvo kuin ADC: n koko ADC: n lukema. (Oikaisu jätetään huomiotta)
Vaihe 9: Kokoonpano
• Liitä anturi etsimällä lovi sen liittimistä, joka osoittaa nasta 1.
• Laskeminen sieltä:
Nasta 1 tarjoaa signaalilähdön (0V - 4,7V)
Nasta 2 on viite. (GND)
Nasta 3 virtaa varten. (Vs)
• Koska signaalin lähtö on 4,7 V, käytämme jännitteenjakajaa siten, että suurin arvo vastaa 3V3. Tätä varten teimme säädön potentiometrillä.
Vaihe 10: Lähdekoodi
Lähdekoodi: #Sisältää ja #määrittelee
// 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 pelosekoitus GPIO: t: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado por software
Lähde: Globaalit muuttujat ja vakiot
SSD1306 -näyttö (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display" const int amostras = 10000; // número de amostras coletadas para a media 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
Lähdekoodi: Setup ()
void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // sarjan aloittaminen // Inicia tai näyttö display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}
Lähdekoodi: Loop ()
void loop () {float medidas = 0.0; // variavel para manipular as medidas float pressao = 0.0; // vaihteável para armazenar o valor da pressão // inicia a coleta de amostras do ADC for (int i = 0; i
Lähdekoodi: Toiminto, joka laskee paineen 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 erro) paluu ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }
- KUVIA
Lähdekoodi: Toiminto, joka korjaa AD -arvon
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; }
Vaihe 11: Tiedostot
Lataa tiedostot:
INO