Inhaltsverzeichnis:

MPX5010 Differenzdrucksensor mit Arduino auslesen - Gunook
MPX5010 Differenzdrucksensor mit Arduino auslesen - Gunook

Video: MPX5010 Differenzdrucksensor mit Arduino auslesen - Gunook

Video: MPX5010 Differenzdrucksensor mit Arduino auslesen - Gunook
Video: Differenzdruck Sensor 2024, November
Anonim
So lesen Sie den MPX5010-Differenzdrucksensor mit Arduino aus
So lesen Sie den MPX5010-Differenzdrucksensor mit Arduino aus

Ich habe den Code so geschrieben, dass er leicht an einen anderen Drucksensor angepasst werden kann. Ändern Sie einfach die folgenden const-Variablen im Code basierend auf den Werten aus dem Datenblatt für jeden Drucksensor:

  • Wert „sensorOffset“in mV
  • „Empfindlichkeit“-Wert in mV/mmH2O

Sobald ich diesen Drucksensor bekommen habe, habe ich mich online umgesehen, um einen Beispielcode zu finden, um die Druckwerte von diesem Sensor in reale Druckeinheiten, KPa oder cmH2O, zu extrahieren. Ich habe einen Beispielcode für genau diesen Sensor gefunden, nachdem ich ihn ausgeführt hatte, bemerkte ich, dass die Messwerte nicht mit dem übereinstimmten, was auf dem Datenblatt stehen sollte, also beschloss ich, meine eigene Berechnung und meinen eigenen Code zu schreiben … es sieht ewig aus, aber es funktioniert. Hurra!! Also dachte ich, ich würde es mit der Welt teilen, damit andere Menschen nicht den gleichen Schmerz durchmachen müssen.

Genießen!!

Lieferungen

Du brauchst:

  • Ein MPX5010 Drucksensor (natürlich)
  • Ein Arduino, Uno oder ein anderes
  • Etwas Silikonschlauch (zum Verbinden vom Drucksensor zum Druckhahn)
  • Kleine Kabelbinder (zur Sicherung des Silikonschlauchs)
  • Kleines 2mm Rohr aus Messing oder Kunststoff (ich habe das Rohr aus einer WD40 Dose verwendet)
  • Etwas Isolierband (nur erforderlich, wenn Ihr Silikonschlauch zu groß für Ihr WD40-Rohr ist)

Schritt 1: Schaltung anschließen

Schaltung verbinden
Schaltung verbinden
Schaltung verbinden
Schaltung verbinden

Siehe super einfaches Verbindungsbild

Schritt 2: Drucksensor anschließen

Drucksensor anschließen
Drucksensor anschließen
Drucksensor anschließen
Drucksensor anschließen
Drucksensor anschließen
Drucksensor anschließen
  • Schließen Sie Ihren Silikonschlauch an den Drucksensoranschluss an, verwenden Sie einen Kabelbinder, wenn Sie ihn benötigen, um eine gute Abdichtung zu erzielen
  • Bohren Sie ein 2 mm großes Loch in das Rohr, in dem Sie den Luftdruck messen möchten
  • Schieben Sie das WD40-Rohr in das Loch, es sollte wirklich fest sitzen. Verwenden Sie ein wenig Sekundenkleber, um die Versiegelung zu vervollständigen
  • Schieben Sie Ihren Silikonschlauch über das WD40-Rohr (ich musste Isolierband um das Rohr wickeln, damit es passt). Dann einen kleinen Kabelbinder hinzufügen

Schritt 3: Code hochladen

Code hochladen
Code hochladen
Code hochladen
Code hochladen

Laden Sie meinen Code auf Ihren Arduino hoch und klicken Sie dann auf das serielle Terminal, um die Zahlen anzuzeigen (die Schaltfläche mit dem Lupensymbol oben rechts auf dem Bildschirm).

Sie sollten die Zeit in Millisekunden sehen, dann ein ', ' und dann den Druckwert.

Sie haben im Code die Möglichkeit, die Zahl in kPa oder cmH2O zu berechnen, kommentieren Sie einfach die nicht benötigte Zeile aus.

Fügen Sie eine "Verzögerung(500);" hinzu. wenn Sie die Ablesungen verlangsamen möchten, damit sie leichter auf dem Terminal bereitstehen.

Ich habe den Code so geschrieben, dass er leicht an einen anderen Drucksensor angepasst werden kann. Ändern Sie einfach die folgenden const-Variablen im Code basierend auf den Werten aus dem Datenblatt für jeden Drucksensor:

  • Wert „sensorOffset“in mV
  • „Empfindlichkeit“-Wert in mV/mmH2O

Schritt 4: Sensorwerte nach Excel extrahieren

Extrahieren Sie Sensorwerte nach Excel
Extrahieren Sie Sensorwerte nach Excel
Extrahieren Sie Sensorwerte nach Excel
Extrahieren Sie Sensorwerte nach Excel
Extrahieren Sie Sensorwerte nach Excel
Extrahieren Sie Sensorwerte nach Excel
Extrahieren Sie Sensorwerte nach Excel
Extrahieren Sie Sensorwerte nach Excel
  1. Protokollieren Sie einige Messwerte in Ihrem seriellen Arduino-Terminal. Das sollte das Format haben: "Zeit(ms), Druckanzeige"
  2. Trennen Sie das USB-Kabel
  3. Wählen Sie alle Werte von Ihrem seriellen Terminal aus und kopieren Sie
  4. Fügen Sie sie in einen Notizblock ein
  5. Klicken Sie auf Datei>Speichern unter
  6. Geben Sie Ihren Dateinamen ein, ändern Sie die Erweiterung in ".csv" (sehr wichtig) und speichern Sie sie
  7. Öffnen Sie Ihren Datei-Explorer und Sie sollten Ihre Datei mit dem Excel-Logo darauf sehen (das bedeutet, dass Sie die.csv-Datei korrekt erstellt haben).
  8. Doppelklicken Sie auf Ihre neue.csv-Datei und sie wird in Excel geöffnet und sollte Ihre Werte automatisch in zwei separate Spalten sortiert und das Komma entfernt haben (deshalb sind.csv-Dateien großartig!)

Dann können Sie fortfahren und Diagramme des Drucks über die Zeit erstellen oder was immer Sie wollen.

Übrigens: CSV steht für "comma-separated values".

Schritt 5: Extra nerdy Bit

Extra nerdiges Stück
Extra nerdiges Stück
Extra nerdiges Stück
Extra nerdiges Stück

Gut gemacht, dass Sie es bis hierher geschafft haben! Damit hast du den Nerd-Test bestanden und als Belohnung verrate ich dir einige technische Details.

Also erwähnte ich am Anfang einen Beispielcode, den ich für genau diesen Sensor gefunden habe, der mir die falschen Werte lieferte. Um dies zu überprüfen, habe ich ihre Gleichung verwendet, um einige Punkte auf dem Antwortdiagramm (im Anhang) aus dem Datenblatt zu berechnen, und ich stellte fest, dass diese nicht mit dem Diagramm übereinstimmten. Also habe ich meine eigene Berechnung erstellt und sie mit der Grafik auf dem Datenblatt querverwiesen, um zu beweisen, dass sie theoretisch funktioniert, dann habe ich die Messwerte mit beiden Codes datenprotokolliert und die Grafiken, die ich angehängt habe, überlagert.

In den beigefügten Grafiken ist die blaue Linie der Beispielcode, den ich gefunden habe, und die rote Linie ist mein Code. Das Problem ist beim Betrachten des Diagramms ziemlich offensichtlich, da der Web-Beispielcode bei Umgebungstemperatur keine 0 misst, was er tun sollte, da wir den Differenzdruck messen.

Okay, es wird also nicht zu technisch, sorry, dass ich enttäuschen muss, aber ich hoffe, es hat Ihnen trotzdem gefallen:)

Empfohlen: