Wasser Durchflusssensor YF-S401: Unterschied zwischen den Versionen
Zeile 114: | Zeile 114: | ||
===Schaltplan und Steckplatine=== | ===Schaltplan und Steckplatine=== | ||
<gallery class="center" caption="YF-S401" widths="400" heights="400"> | |||
Datei:Schaltplan Wasser Durchflussensor.jpg|'''Schaltpaln des Wasser Durchflusssensors YF-S401''' | |||
Datei:Anschlussbild Wasser Durchflussensor.jpg|'''Anschlussbild des Wasser Durchflusssensors YF-S401''' | |||
</gallery> | |||
==Softwarearchitektur== | ==Softwarearchitektur== |
Version vom 12. November 2020, 20:33 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.
Auswahl eines Primärsensors
Wie funktioniert der Sensor? Welche Rohsignale liefert der Sensor?
Als Primärsensor dieses Sensorsystems dient 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 sorgt dafür, dass eine Spannung an den Spannungsabgriffen induziert wird. Diese Hallspannung wächst mit der Stärke des Steuerstroms, und der Magnetischen Flussdichte.
Dieser Hallsensor ist direkt in den IC TLE4905 integriert. Sobald ein positives magnetisches Feld an diesem 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
Sollen Messwerte oder vorverarbeitete Daten übertragen werden? Wie lässt sich eine Vorverarbeitung umsetzen? Wird eine Kennlinie eingesetzt? Wenn ja, wie wird diese kalibriert?
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.
Wie werden die analogen Signale umgesetzt? Welcher ADU kommt zum Einsatz? Welche Gründe sprechen für diesen ADU? Alternativen?
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
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
Umgang mit der Messunsicherheit
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