Innehållsförteckning:

Hur man läser MPX5010 differenstrycksensor med Arduino: 5 steg
Hur man läser MPX5010 differenstrycksensor med Arduino: 5 steg

Video: Hur man läser MPX5010 differenstrycksensor med Arduino: 5 steg

Video: Hur man läser MPX5010 differenstrycksensor med Arduino: 5 steg
Video: Next Generation Scania 2024, November
Anonim
Hur man läser MPX5010 differenstrycksensor med Arduino
Hur man läser MPX5010 differenstrycksensor med Arduino

Hur jag har skrivit koden är sådan att den enkelt kan ändras för att passa en annan trycksensor. Ändra bara följande const -variabler i koden baserat på värdena från databladet för alla trycksensorer:

  • "sensorOffset" -värde i mV
  • "känslighets" -värde i mV/mmH2O

När jag fick den här trycksensorn tittade jag runt på nätet för att försöka hitta en exempelkod för att extrahera tryckavläsningarna från denna sensor till verkliga tryckenheter, KPa eller cmH2O. Jag hittade en provkod för den här exakta sensorn, efter att ha kört den märkte jag att avläsningarna inte stämde överens med vad de skulle vara på databladet, så jag bestämde mig för att skriva min egen beräkning och min egen kod … det ser åldrar men det fungerar, hurra!! Så jag tänkte att jag skulle dela det med världen så att andra människor inte behöver gå igenom samma smärta.

Njut av!!

Tillbehör

Du kommer att behöva:

  • En MPX5010 trycksensor (naturligtvis)
  • En Arduino, Uno eller någon annan
  • Någon kiselslang (för anslutning från trycksensorn till tryckkranen)
  • Små buntband (för att säkra kiselslangen)
  • Liten 2 mm rör mässing eller plast (jag använde röret från en WD40 -burk)
  • En del isoleringstejp (behövs bara om din kiselslang är för stor för ditt WD40 -rör)

Steg 1: Anslut krets

Anslut krets
Anslut krets
Anslut krets
Anslut krets

Se superenkel anslutningsbild

Steg 2: Anslut trycksensorn

Anslut trycksensorn
Anslut trycksensorn
Anslut trycksensorn
Anslut trycksensorn
Anslut trycksensorn
Anslut trycksensorn
  • Anslut din kiselslang till trycksensorporten, använd kabelband om du behöver den för att få en bra tätning
  • Borra ett 2 mm hål i röret du vill känna av lufttrycket
  • Skjut in WD40 -röret i hålet, det ska passa riktigt. Använd lite superlim för att slutföra tätningen
  • Skjut din kiselslang över WD40 -röret (jag var tvungen att linda isoleringstejp runt röret för att få det att passa). Lägg sedan till ett litet buntband

Steg 3: Ladda upp kod

Ladda upp kod
Ladda upp kod
Ladda upp kod
Ladda upp kod

Ladda upp min kod till din Arduino, klicka sedan på den seriella terminalen för att se siffrorna (knappen med förstoringsglasets symbol högst upp till höger på skärmen).

Du bör se tiden i milisekunder, sedan a ',' sedan tryckvärdet.

Du har alternativet i koden att beräkna antalet i kPa eller cmH2O, bara kommentera raden du inte behöver.

Lägg till en "fördröjning (500);" om du vill bromsa avläsningarna för att göra dem enklare att redo på terminalen.

Hur jag har skrivit koden är sådan att den enkelt kan ändras för att passa en annan trycksensor. Ändra bara följande const -variabler i koden baserat på värdena från databladet för alla trycksensorer:

  • "sensorOffset" -värde i mV
  • "känslighets" -värde i mV/mmH2O

Steg 4: Extrahera sensorvärden till Excel

Extrahera sensorvärden till Excel
Extrahera sensorvärden till Excel
Extrahera sensorvärden till Excel
Extrahera sensorvärden till Excel
Extrahera sensorvärden till Excel
Extrahera sensorvärden till Excel
Extrahera sensorvärden till Excel
Extrahera sensorvärden till Excel
  1. Logga några avläsningar i din Arduino seriella terminal. Den ska vara i formatet: "tid (ms), tryckavläsning"
  2. Koppla ur USB-kabeln
  3. Välj alla värden från din seriella terminal och kopiera
  4. Klistra in dem i en anteckningsblock
  5. Klicka på fil> spara som
  6. Skriv in ditt filnamn och ändra tillägget till ".csv" (mycket viktigt) och spara det
  7. Öppna din filutforskare och du bör se din fil med Excel -logotypen på den (det betyder att du har gjort.csv -filen korrekt)
  8. Dubbelklicka på din nya.csv -fil så öppnas den i Excel och den borde automatiskt ha sorterat dina värden i två separata kolumner och blivit av med komma (det är därför.csv -filer är bra!)

Sedan kan du fortsätta och göra tryckdiagram över tiden eller vad du än vill.

BTW: CSV står för "kommaseparerade värden".

Steg 5: Extra nördig bit

Extra nördig bit
Extra nördig bit
Extra nördig bit
Extra nördig bit

Bra jobbat för att du har kommit så här långt! Det betyder att du har klarat nördtestet och som belöning kommer jag att berätta några tekniska detaljer.

Så jag nämnde i början om en provkod jag hittade för den här exakta sensorn som gav mig fel värden. För att kontrollera det använde jag deras ekvation för att beräkna några punkter på svarsdiagrammet (bifogat) från databladet och jag fann att dessa inte stämde överens med diagrammet. Så jag skapade min egen beräkning och jag korsrefererade den med diagrammet på databladet för att bevisa att det fungerar i teorin, sedan dataloggade avläsningar med både koder och överlagrade graferna, som jag har bifogat.

På de bifogade graferna är den blå linjen exempelkoden jag hittade och den röda linjen är min kod. Problemet är rimligt uppenbart när man tittar på grafen eftersom webbexempelkoden inte mäter 0 vid omgivning vilket den bör göra eftersom vi mäter differenstryck.

Ok så det är inte alltför tekniskt trots allt, ledsen att göra besviken men hoppas att du tyckte om det ändå:)

Rekommenderad: