Innholdsfortegnelse:
- Trinn 1: Demonstrasjon
- Trinn 2: Ressurser brukt
- Trinn 3: Hvorfor måle trykk?
- Trinn 4: MPX -familien med trykksensorer
- Trinn 5: MPX5700DP
- Trinn 6: For demonstrasjonen
- Trinn 7: Kalibrering av ESP ADC
- Trinn 8: Beregning av trykket
- Trinn 9: Montering
- Trinn 10: Kildekode
- Trinn 11: Filer
Video: Lær her om en ekstremt viktig sensor !: 11 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Hvordan kan du finne ut om vannstanden i en vanntank? For å overvåke denne typen ting kan du bruke en trykksensor. Dette er generelt nyttig utstyr for industriell automatisering. I dag skal vi snakke om denne eksakte familien av MPX -trykksensorer, spesielt for trykkmåling. Jeg vil introdusere deg for MPX5700 trykksensor og utføre en prøvesamling ved hjelp av ESP WiFi LoRa 32.
Jeg vil ikke bruke LoRa -kommunikasjon i kretsen i dag, verken WiFi eller Bluetooth. Imidlertid valgte jeg denne ESP32 fordi jeg allerede lærte i andre videoer hvordan jeg bruker alle funksjonene som jeg diskuterer i dag.
Trinn 1: Demonstrasjon
Trinn 2: Ressurser brukt
• MPX5700DP differensialtrykkssensor
• 10k potensiometer (eller trimpot)
• Protoboard
• Tilkoblingskabler
• USB-kabel
• ESP WiFi LoRa 32
• Luftkompressor (valgfritt)
Trinn 3: Hvorfor måle trykk?
• Det er mange bruksområder der trykk er en viktig kontrollvariabel.
• Vi kan involvere pneumatiske eller hydrauliske kontrollsystemer.
• Medisinsk instrumentering.
• Robotikk.
• Kontroll av industrielle eller miljøprosesser.
• Nivåmåling i væske- eller gassreservoarer.
Trinn 4: MPX -familien med trykksensorer
• De er trykktransdusere i elektrisk spenning.
• De er basert på en piezo -resistiv sensor, der komprimering omdannes til en variant av den elektriske motstanden.
• Det finnes versjoner som kan måle små trykkforskjeller (fra 0 til 0,04atm) eller store variasjoner (fra 0 til 10atm).
• De vises i flere pakker.
• De kan måle absolutt trykk (i forhold til vakuum), differansetrykk (forskjellen mellom to trykk, p1 og p2) eller måler (i forhold til atmosfæretrykk).
Trinn 5: MPX5700DP
• 5700 -serien har absolutte, differensial- og målesensorer.
• MPX5700DP kan måle et differensialtrykk fra 0 til 700 kPa (ca. 7atm).
• Utgangsspenningen varierer fra 0,2V til 4,7V.
• Strømmen er fra 4,75V til 5,25V
Trinn 6: For demonstrasjonen
• Denne gangen vil vi ikke gjøre en praktisk applikasjon med denne sensoren; vi vil bare montere den og utføre noen målinger som en demonstrasjon.
• For dette vil vi bruke en direkte luftkompressor for å påføre trykk ved høytrykksinntaket (p1) og få differansen i forhold til det lokale atmosfæretrykket (p2).
• MPX5700DP er en enveis sensor, noe som betyr at den måler positive forskjeller der p1 alltid må være større enn eller lik p2.
• p1> p2 og differansen vil være p1 - p2
• Det er toveis differensialsensorer som kan evaluere negative og positive forskjeller.
• Selv om det bare er en demonstrasjon, kan vi enkelt bruke prinsippene her for å kontrollere for eksempel trykket i et luftreservoar, drevet av denne kompressoren.
Trinn 7: Kalibrering av ESP ADC
• Siden vi vet at ESPs analog-digitale konvertering ikke er helt lineær og kan variere fra en SoC til en annen, la oss starte med å gjøre en enkel bestemmelse av dens oppførsel.
• Ved å bruke et potensiometer og et multimeter måler vi spenningen som tilføres AD og relaterer den til den angitte verdien.
• Med et enkelt program for å lese AD og samle informasjonen i en tabell, var vi i stand til å bestemme kurven for dens oppførsel.
Trinn 8: Beregning av trykket
• Selv om produsenten gir oss funksjonen komponentens oppførsel, er det alltid lurt å utføre en kalibrering når vi snakker om å ta målinger.
• Siden det imidlertid bare er en demonstrasjon, bruker vi funksjonen i databladet direkte. For dette vil vi manipulere det på en måte som gir oss trykket som en funksjon av ADC -verdien.
* Husk at brøkdelen av spenningen som tilføres ADC av referansespenningen må ha samme verdi som ADC leset av den totale ADC. (Ser bort fra korreksjonen)
Trinn 9: Montering
• For å koble til sensoren, se etter hakket i en av terminalene, som indikerer pinne 1.
• Teller derfra:
Pin 1 gir signalutgang (fra 0V til 4,7V)
Pin 2 er referansen. (GND)
Pin 3 for strøm. (Vs)
• Siden signalutgangen er 4,7V, bruker vi en spenningsdeler slik at maksimalverdien tilsvarer 3V3. For dette gjorde vi justeringen med potensiometeret.
Trinn 10: 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 gir informasjon om GPIO: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #definer SDA 4 #definer SCL 15 #definer RST 16 // RST deve ser ajustado por software
Kilde: Globale variabler og konstanter
SSD1306 -skjerm (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: Oppsett ()
ugyldig oppsett () {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
Kildekode: Funksjon som 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 (feil) return ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }
-- BILDER
Kildekode: Funksjon som korrigerer AD -verdien
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; }
Trinn 11: Filer
Last ned filene:
INO
Anbefalt:
Ekstremt grunnleggende, ukalibrert servokompass: 7 trinn
Ekstremt grunnleggende, ukalibrert servokompass: Dette er bare en grunnleggende instruks for et prosjekt jeg jobber med. Dette er ukalibrert og er en veldig grunnleggende prototype laget for klassen. I en senere instruks vil jeg vise hvordan jeg kalibrerer den. Jeg ville ikke forvente mye storhet av dette hvis jeg var deg, det
En ekstremt enkel måte å komme i gang med hjemmeautomatisering ved hjelp av DIY -moduler: 6 trinn
En ekstremt enkel måte å komme i gang med hjemmeautomatisering ved hjelp av DIY -moduler: Jeg ble positivt overrasket da jeg bestemte meg for å prøve å legge til noen DIY -sensorer til hjemmeassistenten. Å bruke ESPHome er ekstremt enkelt, og i dette innlegget vil vi lære å kontrollere en GPIO -pin og også oppnå temperatur og amp; fuktighetsdata fra et trådløst n
SCARA Robot: Lær om fremover og omvendt kinematikk !!! (Plot Twist Lær hvordan du lager et sanntidsgrensesnitt i ARDUINO ved hjelp av BEHANDLING !!!!): 5 trinn (med bilder)
SCARA Robot: Lær om fremover og omvendt kinematikk !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using Processing !!!!): En SCARA -robot er en veldig populær maskin i bransjens verden. Navnet står både for Selective Compliant Assembly Robot Arm eller Selective Compliant Articulated Robot Arm. Det er i utgangspunktet en robot med tre frihetsgrader, som er de to første
SaQai: Ekstremt rimelig telefon: 11 trinn
SaQai: Ekstremt rimelig telefon: Hei, takk for at du tok interesse for prosjektet vårt, kalt SaQai (uttales Say-Qwah). Vi tar sikte på å hjelpe deg med å gjenskape dette prosjektet og i fremtidige bestrebelser som involverer 3D -utskrift, programmering og maskinvaredesign. Jeg er Sam Conklin og jeg er
Lær hvordan du tegner et lys - trinn for trinn: 6 trinn
Lær hvordan du tegner et lys - trinn for trinn: Dette lyset tar 10 minutter å tegne hvis du følger trinnene mine nøye