Inhoudsopgave:

Hoe MPX5010 drukverschilsensor met Arduino te lezen - Ajarnpa
Hoe MPX5010 drukverschilsensor met Arduino te lezen - Ajarnpa

Video: Hoe MPX5010 drukverschilsensor met Arduino te lezen - Ajarnpa

Video: Hoe MPX5010 drukverschilsensor met Arduino te lezen - Ajarnpa
Video: تحكيم المشاريع المرشحة لمسابقة تصميم وصناعة جهاز التنفس الصناعي(مفتوح المصدر) 2024, November
Anonim
Hoe MPX5010 drukverschilsensor met Arduino te lezen?
Hoe MPX5010 drukverschilsensor met Arduino te lezen?

De manier waarop ik de code heb geschreven, is zodanig dat deze eenvoudig kan worden aangepast aan een andere druksensor. Wijzig gewoon de volgende const-variabelen in de code op basis van de waarden uit het gegevensblad voor elke druksensor:

  • "sensorOffset" waarde in mV
  • "gevoeligheid" waarde in mV/mmH2O

Toen ik deze druksensor eenmaal had, keek ik online rond om te proberen een voorbeeldcode te vinden om de drukmetingen van deze sensor te extraheren in echte drukeenheden, KPa of cmH2O. Ik vond één voorbeeldcode voor deze exacte sensor, nadat ik hem had uitgevoerd, merkte ik dat de metingen niet overeenkwamen met wat ze op het gegevensblad zouden moeten staan, dus besloot ik mijn eigen berekening en mijn eigen code te schrijven … het ziet er oud uit, maar het werkt, Hoera!! Dus ik dacht dat ik het met de wereld zou delen, zodat andere mensen niet door dezelfde pijn hoeven te gaan.

Genieten van!!

Benodigdheden

Je hebt nodig:

  • Een MPX5010 druksensor (natuurlijk)
  • Een Arduino, Uno of een andere
  • Wat siliconenslang (om de druksensor aan te sluiten op de drukkraan)
  • Kleine kabelbinders (voor het vastzetten van de siliconenslang)
  • Kleine buis van 2 mm messing of plastic (ik gebruikte de buis uit een WD40-blikje)
  • Wat isolatietape (alleen nodig als je siliconenslang te groot is voor je WD40-buis)

Stap 1: Sluit het circuit aan

Sluit circuit aan
Sluit circuit aan
Sluit circuit aan
Sluit circuit aan

Zie supereenvoudige verbindingsafbeelding

Stap 2: Sluit de druksensor aan

Druksensor aansluiten
Druksensor aansluiten
Druksensor aansluiten
Druksensor aansluiten
Druksensor aansluiten
Druksensor aansluiten
  • Sluit uw siliconenslang aan op de druksensorpoort, gebruik een kabelbinder als u deze nodig hebt om een goede afdichting te maken
  • Boor een gat van 2 mm in de buis waarvan u de luchtdruk wilt voelen
  • Duw de WD40-buis in het gat, het moet echt goed passen. Gebruik een beetje superlijm om de verzegeling te voltooien
  • Schuif je siliconenslang over de WD40-buis (ik moest isolatietape om de buis wikkelen om het te laten passen). Voeg dan een kleine kabelbinder toe

Stap 3: Upload code

Code uploaden
Code uploaden
Code uploaden
Code uploaden

Upload mijn code naar je Arduino en klik vervolgens op de seriële terminal om de nummers te bekijken (de knop met het vergrootglassymbool rechtsboven in het scherm).

Je zou de tijd in milliseconden moeten zien, dan een ', ' en dan de drukwaarde.

Je hebt de mogelijkheid in de code om het getal in kPa of cmH2O te berekenen, gewoon commentaar geven op de regel die je niet nodig hebt.

Voeg een "vertraging (500);" toe als u de metingen wilt vertragen om ze gemakkelijker klaar te maken op de terminal.

De manier waarop ik de code heb geschreven, is zodanig dat deze eenvoudig kan worden aangepast aan een andere druksensor. Wijzig gewoon de volgende const-variabelen in de code op basis van de waarden uit het gegevensblad voor elke druksensor:

  • "sensorOffset" waarde in mV
  • "gevoeligheid" waarde in mV/mmH2O

Stap 4: Extraheer sensorwaarden naar Excel

Sensorwaarden extraheren naar Excel
Sensorwaarden extraheren naar Excel
Sensorwaarden extraheren naar Excel
Sensorwaarden extraheren naar Excel
Sensorwaarden extraheren naar Excel
Sensorwaarden extraheren naar Excel
Sensorwaarden extraheren naar Excel
Sensorwaarden extraheren naar Excel
  1. Log enkele metingen in uw Arduino seriële terminal. Het moet de volgende indeling hebben: "time(ms), pressure reading"
  2. Koppel de USB-kabel los
  3. Selecteer alle waarden van uw seriële terminal en kopieer
  4. Plak ze in een Kladblok
  5. Klik op bestand>opslaan als
  6. Typ uw bestandsnaam en verander de extensie in ".csv" (zeer belangrijk) en sla het op
  7. Open je bestandsverkenner en je zou je bestand moeten zien met het Excel-logo erop (dat betekent dat je het.csv-bestand correct hebt gemaakt)
  8. Dubbelklik op uw nieuwe.csv-bestand en het wordt geopend in Excel en het zou uw waarden automatisch in twee afzonderlijke kolommen moeten hebben gesorteerd en de komma moeten verwijderen (daarom zijn.csv-bestanden geweldig!)

Dan kunt u doorgaan en grafieken maken van de druk in de loop van de tijd of wat u maar wilt.

BTW: CSV staat voor "comma-separated values".

Stap 5: Extra Nerdy Bit

Extra Nerdy Bit
Extra Nerdy Bit
Extra Nerdy Bit
Extra Nerdy Bit

Goed gedaan om zo ver te komen! Dit betekent dat je geslaagd bent voor de nerdtest en als beloning zal ik je wat technische details vertellen.

Dus ik noemde aan het begin een voorbeeldcode die ik vond voor deze exacte sensor die me de verkeerde waarden gaf. Om het te controleren, gebruikte ik hun vergelijking om een paar punten op de responsgrafiek (bijgevoegd) uit de datasheet te berekenen en ik ontdekte dat deze niet overeenkwamen met de grafiek. Dus ik heb mijn eigen berekening gemaakt en ik heb er een kruisverwijzing naar gemaakt met de grafiek op het gegevensblad om te bewijzen dat het in theorie werkt.

Op de bijgevoegde grafieken is de blauwe lijn de voorbeeldcode die ik heb gevonden en de rode lijn is mijn code. Het probleem is redelijk duidelijk wanneer we naar de grafiek kijken, omdat de webvoorbeeldcode geen 0 meet bij omgevingstemperatuur, wat het zou moeten doen omdat we de differentiële druk meten.

Ok, dus het is toch niet overdreven technisch, sorry dat ik je teleurstel, maar ik hoop dat je er toch van hebt genoten:)

Aanbevolen: