Wasser Durchflusssensor YF-S401: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 105: Zeile 105:
* Arduino Software IDE 1.8.13
* Arduino Software IDE 1.8.13
* Fritzing
* Fritzing
* Matlab R2020a


===Verwendete Komponente===
===Verwendete Komponente===

Version vom 22. Dezember 2020, 11:52 Uhr

→ zurück zum Hauptartikel: ST WS2020

Abblidung 1: Wasser Durchflusssensor YF-S401

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

Wie der Name bereits verrät, kann mit dem dem Wasser Durchflusssensor YF-S401 der Durchfluss von Wasser bestimmt werden. 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

Abblidung 2: Schematische Darstellung des Halleffekts [1]

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 Richtung 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 Steuerstrom:

 : Zahl der Ladungsträger 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. [2]

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.
Auf der Welle des Flügelrads ist ein radial orientierter Ringmagnet befestigt. Dieses Magnetfeld wird von dem Hallsensor erfassst. 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
  • Matlab R2020a

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

Messkette des Durchflusssensors [5]

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.

Möchte man nun das durchflossene Volumen bestimmen, ist die korrekte Möglichkeit das Integral des Volumenstroms über die Zeit zu bestimmen.

Vereinfacht kann man auch den jeweiligen Volumenstrom pro Zieteinheit aufsummieren. Dazu wird der Volumenstrom von l/min in ml/s umgerechnet und jede Sekunde aufsummiert. Dabei muss jedoch beachtet werden, dass so nur die Untersumme des Integrals gebildet wird.

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 steigt mit sinkender Temperatur.

Hardwareaufbau

Datenblätter

Datenblatt des Sensors YF-S401
Datenblatt des Hallsensors TLE4905

Schaltung des Bauteils

Schaltplan und Steckplatine

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 .

Progammablaufplan des Auswerteprogramms [9]

Messabweichungen des Sensors

Systematische Messabweichungen

Messwete des Sensors mit den Vergleichswerten und Umrechnung in Volumenstrom [10]

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

Plot der Messwerte im Vergleich mit dem wahren Wert [11]

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)}

Bei diesem Sensor kann man also eine sehr große Messunsicherheit erkennen. Wenn man die vorherigen Berechnungen betrachtet, erkennt man, dass es sich hauptsächlich um systematische Fehler handelt. Das rührt einerseits daher, dass die Überprüften wahren Werte keinesfalls mit einer hohen Genauigkeit gemessen wurden. Dort können als auch schon eine Fehler entstanden sein. Des weiteren ist in dem Plot zu erkennen, dass die Messwerte fast immer unter dem wahren Wert sind. Das ist auf die Berechnung des Volumens zurückzuführen. Durch das Aufsummieren des Volumenstroms pro Sekunde berechnet man eigentlich die Untersumme des Integrals des Volumens und ist so immer etwas kleiner als der Messwert.









Bewertung des Sensors

Vorteile

Die Vorteile dieses Sensors sind:

  • Günstiger Sensor
  • Messung von nicht elektrisch leitender Flüssigkeiten
  • Relativ genau (dies lies sich in diesem Versuch nicht genau überprüfen, deshalb hier hohe Ungenauigkeit)

Nachteile

  • Viskosität muss bekannt sein (hier wird Wasser vorausgesetzt)
  • Es muss einen Beruhigungsstrecke vor und nach der Turbine Vorhanden sein
  • Die Strömung darf keine Feststoffe oder Fasern enthalten
  • Die Leitung darf nicht Vibrieren

Alternative

Als Alternativen bieten sich verschiedene Messysteme an. Es gibt Systeme die mit Ultraschall arbeiten, magnetisch-induktive, thermische, solche die den Coriolis-Effekt nutzen und schließlich viele Konstruktionen, bei denen Turbinen- oder Flügelräder, durch die Strömung angetrieben, laufen. Zu den Letztgenannten zählt auch der Wasser Durchflusssensor YF-S401. In Dieser Tabelle Sind die verschiedenen Messprinzipien, sowie ihre Vor und Nachteile aufgeführt.

Messprinzip Lageunabhängigkeit Druckverlust Genauigkeit Ansprechzeit Dynamik Ansprechbereich Feuchteunempfindlich Schmutzunempfindlich
Therm. Anemometer
++
+++
+++
+++
+++
+++
+
++
Coriolis-Messer
+++
+++
+++
+++
++
++
+++
+++
Schwebekörper
+
+
+
+
+
+
++
++
Turbine
++
+
+++
++
+
++
++
+
Flügelrad
++
++
++
++
+++
++
+++
+
Laminarelement
+++
++
+++
++
+++
++
+++
+
Vortex
+++
++
+++
++
++
++
+++
++
Differenzdruck
+++
++
+++
++
+++
++
+++
++

[12]

Zusammenfassung

In diesem Artikel wurde ein Wasser Durchflusssensor betrachtet. Damit findet wie in der Einleitung angesprochen eine praktische Vertiefung der Lehrinhalte der Vorlesung Sensortechnik statt. Dieser Sensor, beziehungsweise das Sensormodul besteht aus einem Flügelrad, das in den Volumenstrom des Wassers getaucht wird. Die Drehbewegung wird dann mi Hilfe eines Ringmagneten und Hallsensors in ein Elektrisches Signal umgewandelt. Diese wird dann mit einem Schmitt-Trigger in ein diskretes Signal umgewandelt. Dies Frequenz dieses Signal. Kann dann in einen Durchfluss mit dem Mikrokontroller umgerechnet werden. Das wird mit der Ardunio IDE realisiert. Zusätzlich wurde mit der Software Fritzing ein Schaltplan erstellt, und diese Schaltung mit Hilfe eines Breadboard übersichtlich aufgebaut. So konnten die zuvor theoretisch durchdachten Messergebnisse durch den praktischen Aufbau bestätigt werden. Da eine Referenzmessung in nicht mit der Benötigten Genauigkeit durchführbar war lies sich die angegebene Messabweichung nicht mit hinreichender Sicherheit überprüfen. Es ist also durchaus möglich, dass dieser Sensor die angegebene Genauigkeit erreicht und Somit eine zuverlässige und kostengünstige Möglichkeit darstellt, einen Durchfluss zu messen.

YouTube Video

Wasser Durchflusssensor YF-S401

Schwierigkeitsgrad

Quellenverzeichnis


→ zurück zum Hauptartikel: ST WS2020