Inhaltsverzeichnis:

Ultraschall-Tankfüllstandsmesser - Gunook
Ultraschall-Tankfüllstandsmesser - Gunook

Video: Ultraschall-Tankfüllstandsmesser - Gunook

Video: Ultraschall-Tankfüllstandsmesser - Gunook
Video: Wassertankanzeige Ultraschall auch für Öltank Typ TS-FT002 welche Voraussetzungen sind erforderlich 2024, Juli
Anonim
Ultraschall-Tankfüllstandsmesser
Ultraschall-Tankfüllstandsmesser
Ultraschall-Tankfüllstandsmesser
Ultraschall-Tankfüllstandsmesser

Müssen Sie den Flüssigkeitsstand in einem Brunnen mit großem Durchmesser, einem Tank oder einem offenen Behälter überwachen? Diese Anleitung zeigt Ihnen, wie Sie mit billiger Elektronik ein berührungsloses Sonar-Füllstandsmessgerät herstellen!

Die obige Skizze zeigt einen Überblick darüber, was wir mit diesem Projekt angestrebt haben. Unser Ferienhaus verfügt über einen großen Brunnen zur Trinkwasserversorgung für den Hausgebrauch. Eines Tages sprachen mein Bruder und ich darüber, wie unser Großvater früher den Wasserstand manuell gemessen hat, um den Wasserverbrauch und -zufluss den ganzen Sommer über im Auge zu behalten, um eine Überziehung zu vermeiden. Wir dachten, dass wir mit moderner Elektronik in der Lage sein sollten, die Tradition wiederzubeleben, aber mit weniger Handarbeit. Mit ein paar Programmiertricks ist es uns gelungen, mit einem Arduino mit Sonarmodul den Abstand bis zur Wasseroberfläche (l) mit einigermaßen zuverlässig und einer Genauigkeit von ± wenigen Millimetern zu messen. Dies bedeutete, dass wir das verbleibende Volumen V unter Verwendung des bekannten Durchmessers D und der Tiefe L mit einer Genauigkeit von etwa ± 1 Liter abschätzen konnten.

Da der Brunnen ca. 25m vom Haus entfernt liegt und wir das Display drinnen haben wollten, haben wir uns für die Verwendung von zwei Arduinos mit einer Datenverbindung dazwischen entschieden. Sie können das Projekt einfach so ändern, dass nur ein Arduino verwendet wird, wenn dies bei Ihnen nicht der Fall ist. Warum nicht die drahtlose Datenübertragung verwenden? Teils aus Einfachheit und Robustheit (das Kabel wird weniger wahrscheinlich durch Feuchtigkeit beschädigt) und teils weil wir den Einsatz von Batterien auf der Sensorseite vermeiden wollten. Mit einem Kabel könnten wir sowohl die Datenübertragung als auch die Stromversorgung über dasselbe Kabel führen.

1) Arduino-Modul im HausDies ist das Haupt-Arduino-Modul. Es sendet ein Triggersignal an den Arduino im Brunnen, empfängt die gemessene Entfernung und zeigt die berechnete Restwassermenge auf einem Display an.

2) Well Side Arduino und Sonarmodul Der Zweck dieses Arduino ist einfach, ein Triggersignal vom Haus zu empfangen, eine Messung durchzuführen und die Entfernung vom Sonarmodul zum Wasserstand zurückzugeben. Die Elektronik ist in einer (relativ luftdichten) Box eingebaut, an der ein Kunststoffrohr an der Aufnahmeseite des Sonarmoduls befestigt ist. Der Zweck des Rohres besteht darin, Messfehler zu reduzieren, indem das Sichtfeld so reduziert wird, dass nur die Wasseroberfläche vom Empfänger "gesehen" wird.

Schritt 1: Teile, Test & Programmierung

Teile, Test & Programmierung
Teile, Test & Programmierung
Teile, Test & Programmierung
Teile, Test & Programmierung
Teile, Test & Programmierung
Teile, Test & Programmierung

In diesem Projekt haben wir folgende Teile verwendet:

  • 2 x Arduino (einer zum Messen des Flüssigkeitsstands, einer zum Anzeigen der Ergebnisse auf einem Display)
  • Ein einfaches 12-V-Netzteil
  • Ultraschall (Sonar) Modul HC-SR04
  • LED-Anzeigemodul MAX7219
  • 25 m Telefonkabel (4 Adern: Strom, Masse und 2 Datensignale)
  • Montagebox
  • Heißkleber
  • Lot

Teilekosten: ca. 70 €

Um sicherzustellen, dass alles so funktioniert, wie es sollte, haben wir zuerst alle Lötarbeiten, Verdrahtungen und einfachen Prüfstandstests durchgeführt. Es gibt viele Beispielprogramme für den Ultraschallsensor und das LED-Modul online, wir haben sie nur verwendet, um sicherzustellen, dass die gemessene Entfernung Sinn macht (Bild 1) und wir die Ultraschallreflexion von der Wasseroberfläche auf- Website (Bild 2). Wir haben auch die Datenverbindung gründlich getestet, um sicherzustellen, dass sie auch über lange Distanzen funktioniert, was sich als kein Problem herausstellte.

Unterschätzen Sie nicht die Zeit, die für diesen Schritt aufgewendet wird, denn es ist wichtig zu wissen, dass das System funktioniert, bevor Sie sich darum bemühen, alles schön in Boxen zu montieren, Kabel auszugraben usw.

Beim Testen haben wir festgestellt, dass das Sonarmodul manchmal eine Schallreflexion von anderen Teilen des Brunnens wie den Seitenwänden und dem Wasserversorgungsrohr aufnimmt und nicht von der Wasseroberfläche. Dies bedeutete, dass die gemessene Entfernung plötzlich viel kürzer war als die tatsächliche Entfernung zum Wasserspiegel. Da wir diese Art von Messfehlern nicht einfach durch Mittelung glätten können, haben wir uns entschieden, alle neu gemessenen Entfernungen zu verwerfen, die zu stark von der aktuellen Entfernungsschätzung abweichen. Dies ist unproblematisch, da wir ohnehin davon ausgehen, dass sich der Wasserstand eher langsam ändert. Beim Start führt dieses Modul eine Reihe von Messungen durch und wählt den größten empfangenen Wert (d. h. den niedrigsten Wasserstand) als wahrscheinlichsten Ausgangspunkt aus. Danach wird zusätzlich zur Entscheidung "behalten/verwerfen" eine Teilaktualisierung des geschätzten Pegels verwendet, um zufällige Messfehler zu glätten. Wichtig ist auch, dass vor einer erneuten Messung alle Echos abklingen – zumindest in unserem Fall, wo die Wände aus Beton und damit sehr echoreich sind.

Die endgültige Version des Codes, den wir für die beiden Arduinos verwendet haben, finden Sie hier:

github.com/kelindqv/arduinoUltrasonicTank

Schritt 2: Bauarbeiten

Bauarbeiten
Bauarbeiten

Da unser Brunnen in einiger Entfernung vom Haus lag, mussten wir einen kleinen Graben im Rasen anlegen, um das Kabel zu verlegen.

Schritt 3: Anschließen und Montieren aller Komponenten

Anschließen und Montieren aller Komponenten
Anschließen und Montieren aller Komponenten
Anschließen und Montieren aller Komponenten
Anschließen und Montieren aller Komponenten
Anschließen und Montieren aller Komponenten
Anschließen und Montieren aller Komponenten

Schließen Sie alles so an, wie es beim Testen war, und hoffen Sie, dass es noch funktioniert! Denken Sie daran, zu überprüfen, ob der TX-Pin eines Arduino zum RX des anderen geht und umgekehrt. Wie in Bild 1 gezeigt, haben wir das Telefonkabel verwendet, um den Arduino im Brunnen mit Strom zu versorgen, um die Verwendung von Batterien zu vermeiden.

Das zweite und dritte Bild zeigt die Kunststoffrohranordnung, wobei der Sender außerhalb des Rohres und der Empfänger innen platziert sind (ja, das war eine unbequeme Aufnahmeposition…)

Schritt 4: Kalibrierung

Nachdem sichergestellt war, dass der Abstand vom Sensor zum Wasserstand korrekt berechnet wurde, bestand die Kalibrierung nur noch aus der Messung des Durchmessers des Brunnens und der Gesamttiefe, um das Flüssigkeitsvolumen zu berechnen. Wir haben auch die Algorithmusparameter (Zeit zwischen den Messungen, die Teilaktualisierungsparameter, Anzahl der anfänglichen Messungen) angepasst, um eine robuste und genaue Messung zu erhalten.

Wie gut hat der Sensor den Flüssigkeitsstand erfasst?

Wir konnten leicht einen Effekt beim Spülen des Wasserhahns für ein paar Minuten oder beim Spülen der Toilette sehen, was wir wollten. Wir konnten sogar sehen, dass sich der Brunnen über Nacht relativ vorhersehbar nachfüllte - alles mit einem Blick auf das Display. Erfolg!

Hinweis:- Die Zeit-Weg-Umrechnung korrigiert derzeit keine Änderungen der Schallgeschwindigkeit aufgrund von Temperaturschwankungen. Dies könnte eine schöne Ergänzung für die Zukunft sein, da die Temperaturen im Brunnen ziemlich unterschiedlich sein werden!

Schritt 5: Langfristige Verwendung

1 Jahr Update: Der Sensor funktioniert trotz der feuchten Umgebung einwandfrei ohne Anzeichen von Korrosion oder Beschädigungen! Das einzige Problem im Laufe des Jahres war, dass sich bei kaltem Wetter (im Winter) Kondenswasser auf dem Sensor ansammelt, das den Sensor offensichtlich blockiert. Dies ist in unserem Fall kein Problem, da wir nur im Sommer Messwerte benötigen, andere Benutzer jedoch möglicherweise kreativ werden müssen!:) Isolierung oder Belüftung sind wahrscheinlich machbare Lösungen. Viel Spaß beim Erfinden!

Empfohlen: