Vorwort
Im Folgenden beschreibe den Aufbau und die Programmierung
eines Füllstands-Messgeräts
für meinen Wasserspeicher, einer zylindrischen
Zisterne stehenden Aufbaus, also mit konstanter Wasseroberfläche.
Die Fläche ist 3 m², der Inhalt 6000 L (die Füllhöhe also folglich
2 m).
In der aktuellen Firmware habe ich auch andere Geometrien implementiert,
konnte sie jedoch nicht testen. Falls Sie hier Schwierigkeiten haben,
kontaktieren Sie mich bitte.
Die Wahl der verwendeten Bauteile (insbesondere der Controller und
OPs) erfolgte nicht nur nach optimalen Eigenschaften sondern auch danach,
was in der Bastelkiste vorhanden war.
Verwendung
Die vorliegende Schaltung wurde entwickelt zur Messung des Füllstandes
einer Regenwasser-Zisterne. Sie besteht aus zwei Baugruppen, einem
Ultraschall-Sensor
bezeichnet) und
einer Anzeigeeinheit die beide mit einem Datenkabel verbunden sind.
Methoden
Wie könnte man den Inhalt der Zisterne messen?
- Wiegen: man könnte die Zisterne kraftisoliert auf einem Wägesensor montieren. Diese Methode würde zwar tatsächlich den Inhalt der Zisterne bestimmen können, scheidet jedoch wegen des irrsinnigen nötigen Aufwandes vollkommen aus.
- Messen von Zulauf und Ablauf: ebenfalls keine schlechte Idee, hat jedoch den Nachteil einer Drift falls Zulauf- und Ablaufmesser nicht 100%ig genau sind. Da speziell der Zulauf (wo auch mal Blätter, Taubenkot etc. mit drin sind) schwer genau zu messen ist scheidet auch diese Methode aus.
- Potentiometrische Messung der Füllhöhe: Ein Schwimmer erzeugt über einen Seilzug eine Drehbewegung eines Potentiometers dessen Widerstand gemessen wird. Könnte funktionieren aber der Seilzug, Umlenkrollen etc. werden durch Verschmutzung schwergängig und würden die Messgenauigkeit negativ beeinflussen.
- Laser, Radar: gemessen wird die Laufzeit einer elektromagnetischen
Welle von einem fest montierten Sender zur Wasseroberfläche und deren
Rücklaufzeit. Da die Zeiten bei den in Frage kommenden Entfernungen jedoch
im Sub-
Nanosekunden- Bereich liegen scheidet auch dies zumindest für ein Hobbyprojekt aus. - Triangulation: Ein Laser leuchtet oben von der Zisternenwand nach schräg unten an die gegenüberliegende Kante des Zisternenbodens. Eine (Zeilen-) Kamera misst den Abstand des reflektierten Laserpunktes von der Position am Boden. Dies erfordert einige Mathematik die ich hier nicht weiter diskutieren möchte und funktioniert auch nur bei spiegelglatter Wasseroberfläche. Wellen bei Regenzulauf erzeugen schwer zu korrigierende Mehrfachspiegelungen. Die Kamera ist insbesondere in ihrer unmittelbaren Nähe sehr empfindlich gegen Verschmutzung (Spinnweben, Insekten und deren Hinterlassenschaften etc.) Die Montage dieser Apparatur wäre sehr schwierig und scheidet daher praktisch auch aus.
- Bodendruck: gemessen wird der Druckunterschied zwischen einem Sensor am Boden der Zisterne und einem an der Oberfläche. Diese Methode funktioniert aber wasserfeste Drucksensoren für den Bodensensor sind nicht ganz billig und sie müssen auch auf der elektrischen Seite dauerhaft wasserfest isoliert sein. Das ist nicht ganz einfach und scheidet letztlich auch aus. Es gibt auch Sensoren mit einem Luftschlauch zum anderen Ende der Leitung, die lediglich den Differenzdruck vom Boden der Zisterne zur umgebenden Luft messen. Theoretisch ist das recht genau aber praktisch eher unpraktisch.
- Schallmessung: gemessen wird die Laufzeit eines (Ultra-) Schallimpulses von einem fest montierten Sensor zur Wasseroberfläche und zurück. Diese Methode ist relativ billig, leidet jedoch wegen der Temperaturabhängigkeit der Schallgeschwindigkeit und der unbekannten Temperaturverteilung der Luftsäule über dem Wasser (im Gegensatz zu Laser oder Radar) unter systematischen Fehlern. Es gibt zwei prinzipielle Ansätze hierzu, der Sensor könnte die Wasseroberfläche von oben oder auch von unten anpeilen. Von oben scheint mir als die günstigere Möglichkeit.
Ich habe mich in diesem Projekt für die Ultraschall-
Alle Methoden, die nur die Füllhöhe ermitteln, sind prinzipiell von der
Zisternen-
Download
Auf der Download-Seite finden Sie alle Projektdateien sowie einige andere Sachen, die Sie vielleicht interessieren könnten (nein, keine Werbung!).
Die Bauteile im Schaltplan sind ausschließlich SMD-Typen (z.B. BC856), für den Laboraufbau habe ich natürlich die entsprechenden bedrahteten Versionen (BC556) eingesetzt, die genauso funktionieren.
Bevor Sie anfangen, mit der Schaltung Spaß zu haben, lesen Sie bitte auch den Abschnitt Sicherheit am Ende dieser Seite!
Zum Erstellen der Software benötigen Sie das kostenlose Atmel AVR-
Werfen Sie auch einen Blick auf die Photos meines Prototypen, die vielleicht einige Fragen klären.
Für den ersten Prototyp (Version 1.0) verwendete ich einen ATmega162 für das Display, den einfachsten Controller mit zwei USARTs. Eine professionell gefertigte Leiterplatte war damals noch nicht angedacht. Die aktuelle Version 2.0 verwendet einen ATmega128, der viel mehr Möglichkeiten bietet, eine Menge mehr Gimmicks und Spaß erlaubt und dessen Mehrkosten im Gesamtsystem nicht auffallen.
Sensor
Der Sensor benutzt einen relativ kleinen Controller vom Typ ATtiny2313
mit einer Taktfrequenz von 3,6864 MHz. Um seine Kapazität nicht unnötig zu fordern ist die Firmware in
Assembler gehalten (schließlich wollen wir auch das nicht ganz vergessen, oder?).
Alle Berechnungen werden in der Anzeigeeinheit
durchgeführt, die in C programmiert ist. Auch die Versorgungsspannung des
Sensors wird von dieser ferngeschaltet. Energieverbrauch
ist daher nur am Rande ein Thema da er nur solange
eingeschaltet ist wie er auch wirklich arbeiten
muss (in der aktuellen
Version maximal 10 s pro Minute).
Das bedeutet aber auch, dass er sich keine Werte im RAM merken kann. Alles was er dauerhaft wissen muss ist folglich im EEPROM abgelegt. Bis zum aktuellen Softwarestand muss er sich glücklicherweise *nichts* merken.
Anzeige
Die Anzeigeeinheit verwendet einen ATmega128 mit ebenfalls
3,6864 MHz.
Dieser wurde gewählt weil er zwei serielle Schnittstellen hat, eine zur
Messeinheit und eine zu einem PC (RS232) oder zu einem eventuellen
Home-
Bootloader
Ein Bootloader wurde implementiert um die Firmware des Sensors vom Display aus updaten zu können.
Leistungsaufnahme
Ein Hinweis zur Leistungsaufnahme des Systems sei an dieser Stelle erlaubt:
Durch die Verwendung eines Schaltreglers konnte die Verlustleistung des
Controllers samt Hinterleuchtung des Displays erheblich gesenkt werden
(verglichen mit Linearreglern à la 78xx). Ein Absenken der Controller-
Mit einem anderen, billigen Leistungsmessgerät (wirklich zuverlässige stehen mir leider nicht zur Verfügung) wurden folgende Daten ermittelt, die jedoch ziemlich plausibel klingen:
Leerlauf: Sensor aus, ohne Beleuchtung | 1.5 W |
Während der Messung, Beleuchtung aus | 2.0 W |
Mit Beleuchtung 100%, Sensor aus | 2.9 W |
Pro Jahr entspricht dies etwa 13 kWh oder € 3,30 (bei 25 Cent/kWh), permanente Beleuchtung verdoppelt in etwa diesen Wert.
Ein Taster wurde eingeplant um die Hinterleuchtung des Displays nur bei Bedarf zu aktivieren. (Ein langer Tastendruck erlaubt die Umschaltung zwischen permanenter und akuter Hinterleuchtung). Zusätzlich erlaubt er das rasche Durchschalten der Anzeige und die Anzeige von Werten die, mangels Relevanz, sonst nicht auf dem Display erscheinen.
Überraschen mag der hohe Verbrauch der
RS485-
Bei kurzen Leitungen und ohne oder mit nur kurzen Stichleitungen kann man auch auf die Terminierung verzichten. Im Zweifelsfalle hilft ausprobieren... Sehen Sie auch hier.
Was den Wirkungsgrad des DC/DC-Konverters betrifft habe ich etwa 77 % gemessen (bei externer Einspeisung von 15 V= und einer Last von 500 mA an 5 V). Das ist kein außerordentlich guter Wert aber für einen betagten Regler ohne Synchrongleichrichtung durchaus akzeptabel. 2 W Nutzleistung verursachen grob 0.6 W Verluste was problemlos ohne Kühlkörper machbar ist.
Praxis
Erste Versuche im Labor haben gezeigt, dass auch relativ kleine und
glatte
Objekte (etwa der eigene Arm, Vorhänge am Fenster oder die Knickgelenke eines
Meterstabes, obwohl fast parallel zur
Schallrichtung) Reflexionen erzeugen die weiter entfernte Objekte
überlagern. Das Echo eines kleinen Fingers in 40 cm Entfernung ist eben
genauso real wie das der Wasseroberfläche in 3 m Entfernung und lässt
sich schwer davon unterscheiden. Umso beeindruckender waren die ersten
Messungen in der Zisterne, als ich literweise(!) die Wasserentnahme
verfolgen konnte. Es bleibt abzuwarten, wie bei niedrigem Wasserstand
Objekte innerhalb der Zisterne (etwa die Steigstufen oder der
Saugschlauch) die Messung stören werden. Die ersten Versuche stimmen
mich zuversichtlich.
Inzwischen hat sich gezeigt, dass auch die fast leere Zisterne noch korrekt vermessen wird.
Probleme
Spinnen. Spinnen können zum Problem werden. Nach ca. einem Jahr
störungsfreiem Betrieb zeigte das Display plötzlich nur noch Hausnummern
.
Es zeigte sich, dass der Sensor in einem Spinnennetz von der Größe des Zisternendeckels verschwunden
war. Selbst die Befestigungsschnur war einseitig gerissen (im Spinnennetz, mit
seltsam braunen Enden). Eine schwarze Monsterspinne saß am Rand des
Zisternendeckels. Ich kenne mich mit Spinnenmimik nicht so gut aus aber
ich denke es war ein verlegenes Grinsen... Nun, viel mehr konnte sie mir
auch nicht mehr erzählen...
Feuchtigkeit ist das nächste Problem. Obwohl der Sensor noch einwandfrei funktioniert (also keine Feuchtigkeit eingedrungen sein dürfte) war er (im September) außen komplett nass und alle Eisenschrauben waren stark verrostet. Die aufsteigende Feuchtigkeit des (zumindest im Winter) relativ warmen Zisternenwassers ist dafür verantwortlich. Also für alle der Umgebung ausgesetzten Schrauben, Befestigungshaken oder -Seilen unbedingt Edelstahl oder Nylon verwenden.
Die Ultraschallsender und -Empfänger sehen auch nicht mehr neuwertig aus aber funktionieren noch immer problemlos.
Sicherheit
Isolation
Das Display wird direkt mit 230 V~ versorgt. Trennen Sie die Netzversorgung allpolig bevor Sie an der Schaltung arbeiten. Halten Sie in Ihrem Layout genug Isolationsabstand zwischen der Primär- und der Sekundärseite des Transformators und den damit verbundenen Teilen (mindestens 8 mm). Wenn Sie sich für die fertigen Leiterplatten entscheiden habe ich das für Sie getan. Für Versuche an der Schaltung, verwenden Sie nicht 230 V als Versorgung sondern speisen Sie (15..30) V= direkt nach dem Gleichrichter aus einer sicheren Quelle ein (also über TP2/TP4).
Sicherungen
Der Transformator ist nicht kurzschlussfest. Um alle Vorschriften einzuhalten,
der Hersteller hat mir dies auf Nachfrage bestätigt, muss er sowohl primär-
als auch sekundärseitig abgesichert werden. Die sekundäre Sicherung ist auf
dem Trafo angegeben und muss 250 mAT sein. Sie stellt sicher, dass der Trafo auch bei
Überlast geschützt ist.
Als primärseitige Sicherung habe ich
100 mAT gewählt. Sie schützt gegen Fehler im Trafo und fliegt
bei einem Kurzschluss
in der Primärwicklung.
Setzen Sie hier unbedingt eine Sicherung mit Löschmittelfüllung
(undurchsichtig, mit Sandfüllung) ein da diese ein erheblich höheres Abschaltvermögen
aufweisen. Während normale (durchsichtige) Glassicherungen nur 35 A Abschalten
können (bei höheren Kurzschlussströmen kann ein Lichtbogen entstehen der nicht
von selbst verlöscht und die Sicherung damit überbrückt) liegt das
Abschaltvermögen löschmittelgefüllter Sicherungen bei typisch 1500 A. Bei einem
direkten Kurzschluss zwischen Phase und Neutralleiter (so unwahrscheinlich er
auch scheinen mag) muss man locker mit einigen 100 A rechnen!
Varistor
Fehlt hier nicht ein Varistor zum Überspannungsschutz?
Nein. Transformatoren sind zum direkten Netzanschluss ausgelegt. Sowohl Primär gegen Sekundär als auch über der Primärwicklung halten sie Transienten wie in den Prüfnormen definiert stand. Natürlich können z.B. bei Blitzeinschlägen Ereignisse auftreten, die dies übersteigen aber das könnte auch der Varistor dann nicht mehr verkraften. Den Varistor müssten Sie durch eine thermisch gekoppelte Temperatursicherung schützen da Varistoren dazu neigen, auch bei Nennspannung zu überhitzen wenn sie ein paar Transienten absorbiert haben.
Copyright
Die Schaltung und die Software wurden von Grund auf von mir entwickelt und ich beanspruche dafür das Copyright. Ich veröffentliche den Schaltplan unter der FDL und die Sourcen unter der GPL. (abweichende Lizenzen auf Anfrage.)
Vereinfacht heißt das, Sie können die Schaltung und die Software beliebig nutzen und weiter Verbreiten, unentgeltlich oder gegen Entgelt, solange Sie mich als Urheber ausweisen und eventuelle Änderungen als die Ihren kenntlich machen. Außerdem müssen Sie Schaltung und Software wie Sie sie verwenden weiterhin frei und im Quellcode öffentlich zugänglich machen.
Die Bilder der Formeln wurden mit latex2png erzeugt.
Bezugsquellen
Die verwendeten Bauteile sind prinzipiell nichts ungewöhnliches und Sie können sie bei diversen Händlern beziehen. Allerdings vermutlich nicht alle bei einem. Versandkosten und Mindermengenzuschläge können möglicherweise den Wert einzelner Bestellungen übersteigen. Ich habe viele Bauteile bei Reichelt bestellt, der Rest war einfach bei uns im Lager.
In der Stückliste habe ich für jedes Bauteil einen Distributor samt Bestellnummer angegeben. Es mag nicht unbedingt der billigste sein aber es ist zumindest ein Anfangswert.
Mein damaliger Arbeitgeber, die Bär Industrie-
Bitte beachten Sie auch hier, es handelt sich um ein Hobbyprojekt. Garantie erstreckt sich nur auf die Funktion der Baugruppen, nicht auf die Verwendbarkeit in einem speziellen Anwendungsfall, die auch ich Ihnen leider nicht garantieren kann.
Ich freue mich auf Rückmeldungen, konstruktive Kritik und Verbesserungsvorschläge, kann Ihnen jedoch leider nur Support gewähren soweit es meine Freizeit erlaubt. Bitte haben Sie dafür Verständnis! Ich tue was ich kann.