Wasser Durchflusssensor YF-S401: Unterschied zwischen den Versionen
Zeile 206: | Zeile 206: | ||
Setzt man die zufällige Messabweichung und die systematische Messabweichung zusammen, erhält man die Messunsicherheit: | Setzt man die zufällige Messabweichung und die systematische Messabweichung zusammen, erhält man die Messunsicherheit: | ||
<math> \ | <math> \delta u_p = F_p + v = (0,6+0,0248) \frac{l}{min}= 0,6248 \frac{l}{min}</math> | ||
Damit ergibt sich für das Messergebnis des Versuchs: | Damit ergibt sich für das Messergebnis des Versuchs: |
Version vom 21. November 2020, 14:55 Uhr
→ zurück zum Hauptartikel: ST WS2020
Autor: Sven Posner
Betreuer: Prof. Schneider
Aufgabe
Innerhalb des Schwerpunkts Systems Design Engineering (SDE), sollte im Fach Sensortechnik ein Sensor ausgewählt und mit einem beliebigen Mikrocontroller ausgewertet werden. Dazu gehört das Ermitteln der Sensordaten und der Funktionsweise des Sensors. Des Weiteren soll der Sensor mit einer Auswerteschaltung und einer dazugehörigen Software in Betrieb genommen werden.
Dieser Artikel behandelt den Wasser Durchflusssensor YF-S401, der mit einem Arduino Uno R3 ausgewertet werden soll.
Einleitung
Der Durchfluss von Flüssigkeiten wird in Volumen pro Zeiteinheit, dem Volumenstrom, gemessen. Das kann auf direkte und indirekte Weise geschehen. Bei dem hier Vorgestellten Durchflusssensor handelt es sich um einen Flügelradzähler. Das heißt der Messwert wird indirekt über ein Flügelrad aufgenommen und die Drehbewegung des Flügelrads wird dann in ein elektrische Signal umgewandelt.
Technische Daten
Parameter | Werte |
---|---|
Spannungsbereich |
5 - 24 V DC |
Pulsfrequenz pro l/min |
98 Hz |
Messbereich | 0,3 - 6 l/min (mit einer Genauigkeit von ±10 %) |
Maximaler Wasserdruck | 0,8 MPa (8 Bar) |
Betriebstemperatur | -25 - 80 °C |
Tastgrad | 50 % ±10 % |
Spannungspuls (Bei 5 V Eingangsspannung) | 4,7 V |
Pinout | |
---|---|
Rot | Vcc (5 - 25 V DC) |
Schwarz | GND |
Gelb | Signal |
Prinziperklärung
Das Messprinzip des Flügelradsensors beruht auf der volumetrischen Messung des Durchflusses. Dabei wird der Volumenstrom mit den Messkammern des Flügelrads ermittelt. Das heißt, das Füllen der einzelnen Kammern des Flügelrads entspricht einem gewissen Volumen, das über die Drehbewegung in ein Verhältnis zur Zeit gesetzt wird. Die Rotation des Flügelrad wiederum wird über einen Hallsensor ermittelt, der somit als Primarsensor dient. Dazu sind an der Welle des Flügelrads in gleichmäßigen abständen Permanentmagneten platziert, deren Magnetfeld dann von dem Hallsensor erfasst wird. Der Hallsensor gibt die so entstehenden Impulse an den Arduino weiter. Dieser wertet die Impulse dann aus.
Der Primärsensor
Wie oben erwähnt, dient als Primärsensor dieses Sensorsystems ein Hall Sensor. Hallsensoren bestehen meistens aus dünnen Halbleiterplättchen. Fließt infolge einer Angelegten Spannung ein Strom durch den Sensor und wird zusätzlich durch das Magnetfeld gebracht, so wirkt eine Lorenzkraft auf die Ladungsträger. Diese Lässt sich vereinfacht mit folgenderweise darstellen:
: elektrische Ladung
: Geschwindigkeit der Ladungsträger in y-Richtung
: magnetische Flussdichte in z-Richtung
Die durch die Lorenzkraft entstehende Ablenkung der Ladungsträger bewirkt die Entstehung eines elektrischen Feldes in Richtunge der Spannungskontakte. Diese Feld lässt sich so beschreiben:
= : Hallspannung im Leerlauf
Sobald die Kräfte im Gleichgewicht, sind kann man folgenden Ansatz wählen:
Des Weiteren gilt für den Steurstrom:
: Zahl der Ladungstrager pro m3
: durchströmte Fläche
: Geschwindigkeit der Ladungsträger
Setzt man nun die Gleichungen zusammen erhält man;
und mit gilt dann
: Hall-Konstante
So entsteht eine Spannung an den Spannungsabgriffen. Diese Hallspannung wächst mit der Stärke des Steuerstroms, und der Magnetischen Flussdichte.
Hallsensor IC
Dieser Hallsensor ist direkt in den IC TLE4905 integriert. Dieser IC besteht aus dem Hall-Element, der Stromversorgung, einem Verstärker, einem Schmitt-Trigger und der Ausgangsstufe. Das Hall-Element wird über die Stromversorgung versorgt. Das Signal des Hall-Elements wird dann über eine Verstärkerschaltung verstärkt und dann von dem Schmitt-Trigger in ein digitales Signal umgewandelt.
Sobald ein positives magnetisches Feld an dem IC anliegt und die die Einschalt-Induktion überschritten wird, wird der Ausgang des ICs auf die Ausgangsspannug (LOW) geschaltet. Wenn der magnetisch Fluss reduziert wird und der Relase Point unterschritten wird, wird der Ausgang wieder auf (HIGH) gesetzt.
Intern ist dem IC TLE4905 ein Pull-Up-Wiederstand vorgeschaltet. Ohne den Widerstand kann es sein, dass der Ein-Zustand nicht klar definiert ist. Deshalb zieht der Pull-Up-Wiederstand die Spannung auf (+5 V). Der IC, der hier als Schalter fungiert wird also zwischen Widerstand und Ground angeschlossen.
jedes mal, wenn ein Magnet sich an dem Hallsensor vorbei bewegt, sendet dieser kurz ein Low-Signal aus. Um das auszunutzen, wurden an der Welle des Flügelrads Permanentmagneten befestigt. durch diese Konfiguration sendet der Sensor Unterbrechungen mit einer Frequenz von 98 Hz bei einem Durchfluss von 1 l/min.
Equipment
Verwendete Software
Für die Abarbeitung der obgenannten Aufgabestellungen wurde folgenden Software verwendet:
- Arduino Software IDE 1.8.13
- Fritzing
- Tortoise SVN
Verwendete Komponente
Für die Abarbeitung der obgenannten Aufgabestellungen wurde folgenden Komponente eingesetzt:
- Wasser Durchflusssensor YF-S401
- Arduino UNO R3 (AZ-Delivery Edition)
- 5 V Tauchpumpe DollaTec
Messkette
Signalvorverarbeitung
Wie ein der Messkette zu sehen, wird die eigentliche Messgröße, der Volumenstrom , über das Flügelrad in eine Rotation mit der Frequenz übersetzt. Der Hallsensor erfasst dann die Magnetfeldänderung, die durch die Magneten an der Welle des Flügelrads hervorgerufen werden. Dieses Signal wird durch einen Verstärker, der mit dem Hallsensor in einem IC sitzt, verstärkt. Der Schmitt Trigger wandelt dieses analoge Signal in ein digitales Signal mit der gleichen Frequenz um. Es wird also kein analoges Signal übertragen, sondern ein Digitales bei dem dann die Frequenz ausgewertet wird. Das hat den Vorteil, dass kein A/D-Wandler benötigt wird und das Signal relativ unabhängig von der Leitungslänge ist.
Bussystem
Für den Sensor wird kein Bussystem benötigt.
Digitale Signalverarbeitung
Die digitalen Signale werden über einen digitalen Eingang des Arduinos eingelesen. Bei bedarf können diese noch mithilfe eines Filters geglättet werden. Danach erfolgt die Umrechnung der Frequenz in einen Volumenstrom in der Einheit l/min.
: Zeitdifferenz während des Zählens der Impulse.
: Anzahl der Pulse, die während der Zeitspanne gezählt wurden.
: Pulsfrequenz pro l/min.
Welche Verarbeitungsschritte sind notwendig? Welche Filter werden angewendet? Bestimmen Sie Auflösung, Empfindlichkeit und Messunsicherheit des Sensors.
Hardwareaufbau
Datenblätter
Datenblatt des Sensors YF-S401
Datenblatt des Hallsensors TLE4905
Schaltung des Bauteils
-
Blockschaltbild des Hallsensors TLE 4905
Schaltplan und Steckplatine
-
Schaltpaln des Wasser Durchflusssensors YF-S401
-
Anschlussbild des Wasser Durchflusssensors YF-S401
Softwarearchitektur
Die Software soll die Impulse des YF-S4021 zählen und in eine Frequenz umwandeln. mit dieser soll dann die der Volumenstrom berechnet werden. Um die Frequenz zu bestimmen, benötigt man einerseits die abgelaufene zeit und andererseits die Anzahl der Pulse in der Zeit. Die Ziet wird mit Hilfe der Bibliothek TimerOne bestimmt. Mit dieser kann relativ einfach ein Timerinterrupt erstellt werden, der zu einer gewünschten Zeit auslöst. Hier wurde eine Sekunde gewählt. Die Pulse werden ebenfalls über einen Interrupt gezählt.
Wenn der Timerinterrupt auslöst, wird als erstes der 1 s durch den Wert des Timers geteilt, da es im Programmablauf zu minimalen Differenzen kommt, die so ausgeglichen werden. Danach erfolgt die Berechnung des Durchflusses mit Hilfe der Formel .
Signalverarbeitung
Mathematisches Hilfsmittel
Umwelteinflüsse auf die Messung
Die Messung hängt von der Viskosität ab, diese wird mit einem K-Faktor berücksichtigt. Dieser wird durch volumetrische Kalibrierung bestimmt. Da die Viskosität von Wasser temperaturabhängig ist, kann diese die Messung beeinflussen. Sie liegt bei Raumtemperatur (20 °C) bei 1 Pa*s und wird steigt mit sinkender Temperatur.
Umgang mit der Messunsicherheit
Messabweichungen des Sensors
Systematische Messabweichungen
Laut Datenblatt ist der Fehler des Sensors bei 10%.Um die Messwertabweichung zu bestimmen, wird ein indirektes Verfahren Angewandt: Mit Hilfe einer Pumpe wird eine nahezu konstante Durchflussgeschwindigkeit erzeugt. Diese Pumpe wird über einen Schlauch mit dem Durchflusssensor verbunden. von diesem aus führt ein zweiter Schlauch in einem Messbecher, um so das Volumen zu bestimmen. Das insgesamt durchgeflossene Volumen wird berechnet in dem immer die Durchflussrate der letzten Sekunde aufaddiert wird. Die Vergleichsmessung erfolgt über einen Messbecher, der immer bis zu einem bestimmten Volumen gefüllt wird.hier wird der Messbecher immer mit 500 ml gefüllt, da das der größtmögliche Bereich war.
Die Absolute Messabweichung läst sich wie folgt berechnen:
: Absolute Messabweichung
: Gemessener Wert
: Richtiger Wert
Daraus ergibt sich die Relative Messabweichung:
Fehler beim Parsen (Konvertierungsfehler. Der Server („cli“) hat berichtet: „[INVALID]“): {\displaystyle f_x = \frac{F}{x} \cdot 100% }
Diese lassen sich in der Tabelle ablesen. Sie korrelieren sehr gut mit dem angegeben Wert von 10%. Im nächsten Schritt wird nun die Systematische Messabweichung bestimmt:
: Grenzabweichung
: Messbereichsendwert
Mit einem Messbereichsendwert von 6 l/min und einer Grenzabweichung von 10% ergibt sich:
Zufällige Messabweichungen
In einem zweiten Schritt werden, die Volumenmesswerte in Einen Volumenstrom umgerechnet, um so so die zufälligen Messabweichungen zu bestimmen. Da es sich hier um eine sehr kleine Anzahl von Messwerten handelt, kann nur ein Schätzwert des Mittelwerts gebildet werden. Dieser Bestimmt sich folgendermaßen:
Fehler beim Parsen (Konvertierungsfehler. Der Server („cli“) hat berichtet: „[INVALID]“): {\displaystyle \bar \bar x = \frac{1}{n} \cdot \sum\limits_{k=1}^n x_k}
Daraus lässt sich dann die Standardabweichung des Schätzwerts berechnen:
Fehler beim Parsen (Konvertierungsfehler. Der Server („cli“) hat berichtet: „[INVALID]“): {\displaystyle \bar \sigma = \pm \sqrt{\frac{\sum\limits_{k=1}^n (x_k-\bar\bar x)^2}{n \cdot (n-1)}}}
Sie beträgt für diese Messwerte . Da es sich hierbei nur ein Schätzwert handelt, muss noch ein Korrekturfakor eingebracht werden.Der sogenante t-Faktor ist in der Norm DIN 1319 festegelet. Für die Anzahl von 25 Messwerten und einer Statistischen Sicherheit von 95% liegt er bei . So ergiebt sich eine Vertrauensgrenze von:
Messunsicherheit
Setzt man die zufällige Messabweichung und die systematische Messabweichung zusammen, erhält man die Messunsicherheit:
Damit ergibt sich für das Messergebnis des Versuchs:
Fehler beim Parsen (Konvertierungsfehler. Der Server („cli“) hat berichtet: „[INVALID]“): {\displaystyle \dot V = (0,642 \pm 0,6248) \frac{l}{min}; (t-Verteilung, S=95%, n=25)}
Bewertung des Sensors
Welche Fehler treten in welchem Verarbeitungsschritt auf? Stellen Sie die Messunsicherheit bzw. das Vertrauensintervall dar.
Vorteile
Nachteile
Alternative
Zusammenfassung
Lernerfolg
YouTube Video
Schwierigkeitsgrad
Quellenverzeichnis
→ zurück zum Hauptartikel: ST WS2020