Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Koble til krets
- Trinn 2: Koble til trykksensoren
- Trinn 3: Last opp kode
- Trinn 4: Pakk ut sensorverdier til Excel
- Trinn 5: Extra Nerdy Bit
Video: Hvordan lese MPX5010 differensial trykksensor med Arduino: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Måten jeg har skrevet koden på er slik at den enkelt kan endres for å passe til en annen trykksensor. Bare endre følgende const -variabler i koden basert på verdiene fra databladet for enhver trykksensor:
- "sensorOffset" -verdi i mV
- "sensitivitet" -verdi i mV/mmH2O
Når jeg fikk denne trykksensoren, så jeg meg rundt på nettet for å prøve å finne en eksempelkode for å trekke ut trykkavlesningene fra denne sensoren til virkelige trykkenheter, KPa eller cmH2O. Jeg fant en prøvekode for denne eksakte sensoren, etter å ha kjørt den, la jeg merke til at avlesningene ikke stemte overens med hva de skulle være på databladet, så jeg bestemte meg for å skrive min egen beregning og min egen kode … det ser aldre ut, men det fungerer, hurra !! Så jeg tenkte at jeg ville dele det med verden, slik at andre mennesker ikke trenger å gå gjennom den samme smerten.
Nyt!!
Rekvisita
Du vil trenge:
- En MPX5010 trykksensor (selvfølgelig)
- En Arduino, Uno eller annen
- Noen silisiumslanger (for å koble fra trykksensoren til trykkhanen)
- Små kabelbindere (for sikring av silisiumslangen)
- Liten 2 mm rør messing eller plast (jeg brukte røret fra en WD40 boks)
- Noe isolasjonstape (bare nødvendig hvis silisiumslangen din er for stor for WD40 -røret)
Trinn 1: Koble til krets
Se superenkelt tilkoblingsbilde
Trinn 2: Koble til trykksensoren
- Koble silisiumslangen til trykksensorporten, bruk kabelbinder hvis du trenger den for å få en god tetning
- Bor et 2 mm hull i røret du vil føle lufttrykket
- Skyv WD40 -røret inn i hullet, det skal passe veldig godt. Bruk litt superlim for å fullføre forseglingen
- Skyv silisiumslangen din over WD40 -røret (jeg måtte vikle isolasjonstape rundt røret for å få det til å passe). Legg deretter til et lite kabelbånd
Trinn 3: Last opp kode
Last opp koden min til Arduino, og klikk deretter på den serielle terminalen for å se tallene (knappen med forstørrelsesglass -symbolet øverst til høyre på skjermen).
Du bør se tiden i milisekunder, deretter a ',' og deretter trykkverdien.
Du har muligheten i koden for å beregne tallet i kPa eller cmH2O, bare kommenter linjen du ikke trenger.
Legg til en "forsinkelse (500);" hvis du vil bremse avlesningene for å gjøre dem lettere å klargjøre på terminalen.
Måten jeg har skrevet koden på er slik at den enkelt kan endres for å passe til en annen trykksensor. Bare endre følgende const -variabler i koden basert på verdiene fra databladet for en hvilken som helst trykksensor:
- "sensorOffset" -verdi i mV
- "sensitivitet" -verdi i mV/mmH2O
Trinn 4: Pakk ut sensorverdier til Excel
- Logg noen avlesninger i din Arduino serielle terminal. Den skal ha formatet: "tid (ms), trykkavlesning"
- Koble fra USB-kabelen
- Velg alle verdiene fra den serielle terminalen og kopier
- Lim dem inn i en Notisblokk
- Klikk fil> lagre som
- Skriv inn filnavnet ditt, og endre deretter utvidelsen til ".csv" (veldig viktig) og lagre den
- Åpne filutforskeren, og du bør se filen med Excel -logoen på (det betyr at du har laget CSV -filen riktig)
- Dobbeltklikk på den nye CSV -filen, så åpnes den i Excel, og den burde automatisk ha sortert verdiene dine i to separate kolonner og kvitt komma (derfor er CSV -filer flotte!)
Deretter kan du fortsette og lage grafer over trykk over tid eller hva du vil.
BTW: CSV står for "kommaadskilte verdier".
Trinn 5: Extra Nerdy Bit
Godt gjort for å komme så langt! Dette betyr at du har bestått nerdtesten, og som en belønning vil jeg fortelle deg noen tekniske detaljer.
Så jeg nevnte i begynnelsen om en prøvekode jeg fant for denne eksakte sensoren som ga meg feil verdier. For å sjekke det brukte jeg ligningen deres til å beregne noen få punkter på responsgrafen (vedlagt) fra databladet, og jeg fant ut at disse ikke stemte overens med grafen. Så jeg lagde min egen beregning, og jeg krysshenviste den med grafen på databladet for å bevise at den fungerer i teorien, så datalogget jeg avlesninger med både koder og over la grafene, som jeg har lagt ved.
På de vedlagte grafene er den blå linjen eksempelkoden jeg fant, og den røde linjen er koden min. Problemet er rimelig åpenbart når man ser på grafen fordi webeksempelkoden ikke måler 0 ved omgivelsestemperatur som den bør gjøre fordi vi måler differensialtrykk.
Ok, så det vil ikke være altfor teknisk, beklager å skuffe, men håper du likte det uansett:)
Anbefalt:
Hvordan lese flere analoge verdier ved hjelp av en analog pin: 6 trinn (med bilder)
Hvordan lese flere analoge verdier ved hjelp av en analog pin: I denne opplæringen skal jeg vise deg hvordan du leser flere analoge verdier ved å bruke bare en analog inngangspinne
Differensial sensor forspenning: 3 trinn
Differensial sensor forspenning: Denne instruksjonsfilen viser hvordan du kan lage en differensial sensor forspenningskrets. Denne kretsen er foreldet. Det er matchende motstand IC -broer solgt på i
Hvordan lage en stemning og lese, lampe med høyttalere: 10 trinn
Hvordan lage en stemning og lese, lampe med høyttalere: Starten av dette prosjektet gikk tregt, vi måtte gå gjennom designtenkningsprosessen, denne prosessen er empatisk, definerende, ideer, prototyping og til slutt testing. Vi begynte på #1, Empathizing, og vi gjennomgikk en rekke intervjuer med
SD -kortmodul med Arduino: Hvordan lese/skrive data: 14 trinn
SD -kortmodul med Arduino: Hvordan lese/skrive data: Oversikt Lagringsdata er en av de viktigste delene av hvert prosjekt. Det er flere måter å lagre data i henhold til datatype og størrelse. SD- og micro SD -kort er et av de mest praktiske blant lagringsenhetene, som brukes i
Hvordan lage en latterlig billig analog trykksensor: 4 trinn (med bilder)
Hvordan lage en latterlig billig analog trykksensor: Lei av å betale ublu beløp for en enkel analog trykksensor? Her er en enkel måte å lage en utrolig billig analog trykksensor på. Denne trykksensoren vil ikke være veldig nøyaktig når det gjelder måling av presis