Füllstandssensor

Seitenversionierung:
Version 1.008.05.2011Initialversion
Version 2.019.06.2011Neue Hardware
Dr. Boris Neubert omega@online.de

Hausautomation
Neubert & Volmar

Motivation

Die automatische Bewässerung unseres Gartens wird durch eine unterirdische Zisterne gespeist. Um zu vermeiden, daß die Pumpe leerläuft und um sparsamer sein zu können, wenn sich das Wasser zu Ende neigt, soll der Füllstand gemessen werden. Dafür war früher ein USF1000 von ELV (nicht mehr lieferbar) im Einsatz, der den Füllstand via Messung des Abstands zur Wasseroberfläche durch eine oberhalb angebrachte Ultraschallsender-/empfänger-Kombination ermittelte. Aufgrund eines Defekts im Ultraschallteil wurde eine neue Lösung benötigt.

Rahmenbedingungen

Folgende Rahmenbedingungen waren zu beachten:

Hardware

Für die Füllstandsmessung kommt ein selbstentwickelter Meßumformer zum Einsatz. Der Meßumformer besteht aus einem 100 kΩ-Zehngang-Potentiometer, auf dessen Achse koaxial eine Seilscheibe angebracht ist. An der Seilscheibe hängen an je einem Kunststoffaden ein Schwimmer (124 g) und ein Gegengewicht (74 g). Durch den Auftrieb des Schwimmers wird die Höhe des Wasserstands in der Zisterne in eine Drehbewegung der Seilscheibe und damit in eine Stellung des Potentiometers umgesetzt. Die Länge der Fäden und der Durchmesser der Seilscheibe sind so bemessen, daß bei einem vollen Hub des Wasserstands (Zisterne leer - Zisterne voll) etwa 6 Umdrehungen der Achse des Potentiometers erfolgen.

Das Potentiometer ist in ein spritzwassergeschütztes Gehäuse eingebaut, welches am oberen Rand der Zisterne mittels eines Winkels und zweier Schrauben und Dübel angebracht wurde. Die Achse ist kugelgelagert. Die Seilscheibe kann mit einer Schraube arretiert werden. Die Meßleitung wurde durch eine wasserdichte Kabeldurchführung aus dem Gehäuse und durch ein unterirdisches KA-Rohr entlang des Ansaugschlauchs der Förderpumpe in das Gartenhäuschen geführt, wo sich die Auswertelektronik befindet.

Am Potentiometer werden VS und GND angelegt. Die Spannung Vout am Abgriff des Potentiometers gegen GND wächst dann linear mit der Füllhöhe:

Vout= Voffset + a h

mit irgendeiner von der Geometrie abhängigen Konstante a.

Aus dem vom Drucksensor gemessenen Druck kann die Füllhöhe und aus der Füllhöhe und der Geometrie der Zisterne kann die Füllmenge berechnet werden.

Für die Messung von Vout kommt ein CPM zum Einsatz, der auf einer Streifenrasterplatine mit einigen diskreten Komponenten aufgebracht wird.

Die Schaltung wird aus historischen Gründen (siehe Verworfene Alternative) mit Vs= 5V versorgt, die für das CPM mit einem LP2950 auf VDD= 3V heruntergeregelt wird. Der Schalter, der ein sofortiges Senden der Meßwerte auslöst und ferner zum Einschalten des Konfigurationsmodus dient, wird von Pin PA1 nach GND geschaltet. Die Sende-LED wird mit einem 820Ω-Widerstand von Pin LED/CS nach VDD gelegt. Eine User-LED, die den Konfigurationsmodus anzeigt, liegt mit einem 820Ω-Widerstand von Pin PB0 nach VDD. Die 5V-Eingangsspannung Vs und die Ausgangsspannung Vout des Meßumformers werden jeweils mit Spannungsteilern aus zwei Widerständen durch 2 geteilt (R= 82 kΩ) und an die Pins AREF bzw. ADC2 gelegt. Dadurch mißt der A/D-Wandler des ATTiny84 im CPM automatisch den Quotienten x= Vout/Vs. Da die Beschaltung von AREF sehr hochohmig ist, wird durch einen zwischen den Pins AREF und GND angebrachten Elektrolytkondensator von 47 μF die notwendige Stabilisierung während der Messung erreicht.

Hier sieht man das Platinenlayout (hochauflösende Druckversion als PDF-Datei):

Es sind zunächst die Drahtbrücken (blau und rot) einzulöten, da sie unter anderen Bauteilen verschwinden. Das CPM wird gesockelt (Präzisionssockel mit gedrehten Fassungen). Rechts und links neben dem CPM werden Präzisionsbuchsenleisten aufgebracht, um das Selbstbau-ISP-Programmierkabel anschließen zu können. Der Elektrolytkondensator wird auf der Lötseite der Platine angebracht. Der abgesetzte Drucksensor mit den Entstörkondensatoren sowie die Spannungsversorgung werden mittels Buchsenleisten und aus Stiftleisten herstellten Steckern (1×3 bzw. 1×2) mit rechteckigen Kontakten an die Platine angeschlossen.

Software

Die Firmware für das Modul beruht auf dem CPM Tiny Action Framework und befindet sich im Drucksensor-Projekt, welches Teil der Firmware-Suite culfw ist.

Die Firmware mißt

x= Vout/Vs

und errechnet daraus mittels des sich aus den obigen Gleichungen ergebenden linearen Zusammenhangs

h= m x + n

die Füllhöhe. Dieser Wert wird in cm in einem FS20-Sensor-Datagramm alle 10 Minuten gesendet.

Darüberhinaus emuliert die Firmware einen USF1000, als ob sich der Ultraschallteil im Abstand

d= H + O - h

über der Wasseroberfläche befände, wobei H die Füllhöhe einer vollen Zisterne und O den Abstand der Ultraschalleinheit zur Wasseroberfläche bei voller Zisterne bezeichnen.

Die Firmware sendet alle 10 Minuten die Füllhöhe h und den Abstand d in cm in je einem FS20-Sensor-Datagramm, wobei das Datagramm für den Abstand identisch zu den Aussendungen des USF1000 ist.

Die Kalibrierung erfolgt ferngesteuert, indem neben den Werten für O und H die gemessenen Füllhöhen an zwei Kalibrierungspunkten (z.B. h= 0 m und h= aktuelle Füllhöhe der Zisterne) per FS20-Sensor-Datagramm z.B. von fhem aus an das Gerät übertragen werden.

Details zur Firmware und der Bedienung sind im README dargestellt.

Bildergalerie


Blick auf den Meßumformer von oben.


Blick auf den Meßumformer von der Seite.


Schwimmer und Gegengewicht.


Der Meßumformer im eingebauten Zustand (1/2).


Der Meßumformer im eingebauten Zustand (2/2).

Verworfene Alternative

Die Variante wurde verworfen, weil die Mimik eine enorme Temperaturabhängigkeit zeigte, die physikalisch nicht erklärt werden kann. Eine diesbezügliche Anfrage beim Hersteller des Drucksensors blieb unbeantwortet.

Prinzip

Der Füllstandssensor mißt den Überdruck am Boden der Zisterne, der durch die über Grund stehende Wassersäule entsteht, gegenüber dem Umgebungsluftdruck. Es gilt für den Überdruck in Pa

p= ρ g h

mit der Dichte des Wassers ρ= 1.000 kg/m3, der Schwerebeschleunigung g= 9,80665 N/kg und dem Wasserstand h über Grund in m. Dazu wird ein Schläuchlein am Ansaugstutzen des Ansaugschlauchs am Boden der Zisterne befestigt und entlang des Ansaugschlauchs ins Gartenhäuschen zu einem Drucksensor geführt. Im gesamten Schläuchlein herrscht derselbe Überdruck: dieser ist null, wenn das Schlauchende frei in der Luft hängt, und gleich dem Überdruck am Boden der Zisterne gemäß obiger Formel, wenn das Schlauchende auf Grund liegt. Man vergegenwärtige sich, daß Temperatureffekte für den Druck im Schläuchlein keine Rolle spielen.

Aus dem vom Drucksensor gemessenen Druck kann die Füllhöhe und aus der Füllhöhe und der Geometrie der Zisterne kann die Füllmenge berechnet werden.

Hardware

Als Drucksensor kommt ein integrierter MPX5010GC6U von Freescale Semiconductor zum Einsatz. Der Meßbereich des Sensors ist 0 kPa bis 10 kPa - eine Wassersäule von 1 m erzeugt einen Druck von 9,81 kPa.

Der Sensor liefert bei einer Eingangsspannung von Vs= 5V eine Ausgangsspannug Vout, die im Bereich von 0°C bis 85°C gemäß

Vout= Vs (p 0,09/kPa + 0,04)

variiert (Genauigkeit 5%), wobei p der Überdruck zwischen Schlauchanschluß am Sensor und Rückseite des Sensors ist.

Es ist darauf zu achten, daß der Schlauchanschluß am Sensor absolut dicht ist, damit der Druck dauerhaft im Schläuchlein bestehen bleibt. Dazu wird das Schläuchlein mit einer Dichtsubstanz über den Schlauchanschluß gesteckt und mit einem Draht befestigt, der in zwei Windungen um Schläuchlein und Schlauchanschluß gelegt und stramm festgezogen wird. Über die Langzeitdichtigkeit dieser Lösung kann derzeit noch genausowenig eine Aussage getroffen werden wie über den Effekt der Diffusion der im Schläuchlein eingeschlossenen Luft ins Wasser.

Für die hier vorgestellte Anwendung wäre die 3V-Variante MP3V5010 besser geeignet. Diese ist in Kontinentaleuropa aber nur mit hohen Versandkosten zu beschaffen.

Der Drucksensor im Gehäuse 482A (SOP) wird auf der Unterseite eines 4-reihigen Streifenrasters aufgelötet. Pin 1 (rechts unten bei Blick auf den Schlauchanschluß von oben) ist mit einer Kerbe markiert. Es sind nur die Pins 2 bis 4 auf der rechten Seite beschaltet:

PINSignal
2Vs
3GND
4Vout

Die Rauschunterdrückung wird mit 3 Kondensatoren wie in Figure 3 des MPX5010GC6U-Datenblatts dargestellt.

Quellen