-  GitHub-Logo YouTube-Logo Twitter-Logo

  -  EN  |  DE  -

PiDS - der etwas andere π-Druck-Sensor

Herzlich willkommen beim PiDS - einem smarten Druck-Sensor basierend auf dem Raspberry Pi und REBOL.
 
Diese Seite zeigt eine weitere Entwicklung von TGD-Consulting im Bereich der embedded Hard- & Software-Lösungen rund um den Raspberry Pi und richtet sich an alle Anwender und Entwickler, welche einen Raspberry Pi als Füllstandsanzeige oder Pegelstandsanzeiger per Druckdifferenzsensor nutzen möchten.

Nur hier können Sie eine offizielle Lizenz für das Bundle der "PiDS-It!" Management Software[1] zum Preis von €29,99 EUR erwerben. Das Softwarebundle beinhaltet bereits alle erforderlichen Module (Webserver, Archivierung & Plot, Druck-Sensor) der Management Software, die für eine Füllstandsanzeige oder einen Pegelstandsanzeiger auf Basis des Raspberry Pi erforderlich sind.

Die Software läuft auf allen Raspberry Pi Modellen. Das modulare Konzept der "PiDS-It!" Management Software ist ideal für die neue Mehrkern-Architektur des Raspberry Pi 2 geeignet und nutzt dessen zusätzliche Rechenleistung optimal aus.

Die "PiDS-It!" Management Software zeichnet sich besonders durch
  • ein sehr einfaches Setup,
  • einen geringen Speicherbedarf (< 1MB),
  • die effiziente, modulare, smarte Anwendung
  • durch einen im User-Space laufenden embedded Webserver aus.
PiDS-Logo

Die Hardware, welche auf den folgenden Fotos abgebildet ist, dient ausschließlich zur Veranschaulichung und als Beispiel wie PiDS aussieht und wie der Aufbau erfolgt. Die erforderliche Hardware müssen Sie bei den jeweiligen Herstellern bzw. über deren Vertriebskanäle beziehen. TGD-Consulting bietet nur IT-Dienstleistungen und Softwarelösungen an.

Sie möchten ihren eigenen PiDS basierend auf der "PiDS-It!" Management Software bauen? Dann erwerben Sie eine Lizenz und lesen einfach weiter ...

Hier finden Sie als Schnelleinstieg direkt eine Antwort auf die häufigsten Fragen:

Weitere Antworten auf Fragen finden Sie in der FAQ.

Aktuell: neuer Sensor zur hydrostatischen Messung der Wassersäule 

PiDS-INA219-DigitalPiDS-INA219-ModulPiDS-INA219-Digital
Eine zuverlässige Erfassung des Messtromes des 4-20mA Drucksensors durch das INA219-Modul ermöglicht eine präzise Bestimmung des Füllstandes.
Hier der zugehörige Anschlussplan zum einfachen Nachbau (Digitalanzeige optional):
Verkabelung PiDS-INA219-Sensor


Die Bezeichnung PiDS steht für π-Druck-Sensor und stellt die Erweiterung eines gewöhnlichen Raspberry Pi zu einem per Webinterface steuerbaren Druckdifferenzsensor dar. PiDS ist vielseitig einsetzbar und nutzt die von PiUS her bekannten und mehrfach praxiserprobten Software-Module. Aufgrund des unterschiedlichen Messverfahrens wird allerdings zur Erfassung der Messwerte ein anderes, eigens an den Druckdifferenzsensor angepasstes Modul verwendet. PiDS kann wie PiUS sowohl zur Messung des Grundwasserspiegels
PiDS als Grundwasser Pegelmessgerät: Beispiel einer Grundwasserganglinie
sowie zur Überwachung von Tanks, Regenwassertonnen und Zisternen oder des Pegelstandes von stehenden oder fließenden Gewässern eingesetzt werden. Im Folgenden werden diese Anwendungsbeispiele näher beschrieben.

Lernen Sie nun die Vorteile und Möglichkeiten vom π-Druck-Sensor in allen Einzelheiten kennen und überzeugen sich gleich hier und jetzt im Internet von der "PiDS-It!" Management Software und deren einfach smarten Bedienung sowie den umfangreichen Konfigurationsmöglichkeiten. Alle wichtigen Funktionen von PiDS lassen sich auch aus der Ferne unter Verwendung eines Browsers von jedem beliebigen PC, Tablet oder Smartphone aus steuern und überwachen. Hier sieht man

PiDS in action: 

PiDS-WebUI
Die Bedienoberfläche von PiDS.

Der Systempreis eines PiDS inkl. aller benötigten Komponenten liegt bei etwas über 100,- EUR. Darin sind bereits die Lizenzkosten für die "PiDS-It!" Management Software enthalten. Die auf dieser Seite gezeigte Version eines PiDS besteht aus folgenden Komponenten:

HardwareSoftware
PiDS Prototyp 

PiDS-PrototypPiDS-PrototypPiDS-Prototyp
PiDS Protoyp mit geöffnetem Gehäuse.

Das äußere Erscheinungsbild unseres PiDS-Prototyps ist geprägt durch den schwarzen Druck-Sensor und den luftgefüllten Schlauch. Aufgrund der Größe des MPX5100DP Druck-Sensor
MPX5100DP Druckdifferenz-Sensor
ist der Einbau in ein gewöhnliches Raspberry Pi Kunststoffgehäuse etwas umständlich. Die einzelnen Komponenten des PiDS können aber trotzdem von jedem ambitionierten Anwender mit etwas Geschick selbstständig zusammengebaut werden. Alle Komponenten lassen sich direkt über das Internet beziehen. Die Bezugsquellen sind zum Teil in den obigen Listen verlinkt. Wir nutzen für unseren Prototypen des PiDS einen Raspberry Pi Model 2, der um einen MCP3008 A/D-Wandler und den MPX5100DP Druck-Sensor erweitert wird. Dadurch lässt sich auf sehr kostengünstige Weise eine smarte digitale Füllstandsanzeige im Eigenbau zusammenstellen.

Da spritzwassergeschützte und für den Außenbereich geeignete Gehäuse für den Raspberry Pi bekanntermaßen recht teuer sind, empfiehlt sich bei Bedarf den Druck-Sensor über ein beliebiges 3-adriges Kabel an den Raspberry Pi und einen der Eingangs-Channel des A/D-Wandlers anzuschließen. Damit können auch größere Strecken zwischen Druck-Sensor und A/D-Wandler bzw. Raspberry Pi überbrückt werden. Sofern die Kabelqualität stimmt, funktioniert dies bei Längen bis zu 20m ohne Probleme.
Die Anschlüsse 2 und 3 des Druck-Sensors sind direkt mit der 5 Volt Versorgungsspannung und der Masse der Stiftleiste P1 des Raspberry Pi verbunden. Am Pin 1 des MPX5100DP Bausteins liegt gemäß der Kennlinie des Sensors eine Spannung analog zum Differenzdruck an. Dieses analoge Signal ist mit einen der Eingangs-Channel des A/D-Wandlers zu verbinden. Der MPX5100DP Sensor ist für Druckdifferenzen bis 100kPA (ca. 10m Wassersäule) geeignet und hat eine Genauigkeit von 45mV pro 1 kPA. Bis zu einer Wassertiefe von ca. 7m kann der Anschluss an den A/D-Wandler direkt erfolgen, da die Referenzspannung (3,3V) des A/D-Wandlers nicht überschritten wird. Erst bei einer höheren Wassersäule muss ein Spannungsteiler verwendet werden, welcher die Ausgangspannung des Drucksensors auf die zulässige Eingangsspannung des A/D-Wandlers herabsenkt. Bei Verwendung längerer Kabel sollte der Spannungsteiler dann aber RPi-seitig in unmittelbarer Nähe zum Eingang des A/D-Wandlers platziert werden. Der genaue Anschluss des Druckdifferenzsensors ergibt sich aus dem unten abgebildeten Schaltplan.

Achtung: Falls es im laufenden Betrieb zu unerwartenden Systemhängern kommt, deutet dies auf eine zu schwache Stromversorgung des Raspberry Pi hin. Tauschen Sie dann das Netzteil gegen ein stärkeres und zuverlässigeres aus.

Beim Einbau der Komponenten ins Gehäuse sollten Kurzschlüsse vermieden werden. Achten Sie daher beim Einbau des A/D-Wandlers und des Druck-Sensors darauf, dass keine ungewollten Verbindungen zu spannungsführenden Leitungen entstehen. Insbesondere beim Einbau des Raspberry Pi und im Umgang mit den Halbleiter-Bauteilen ist darauf zu achten, dass entsprechende Schutzmaßnahmen gegen statische Aufladungen ergriffen werden.
Der Ethernet-Port (nur beim Model 2 und B+ vorhanden) sowie der USB-Anschluss des Raspberry Pi (alle Modelle) sind frei zugänglich, sodass der π-Druck-Sensor (PiDS) entweder per Cat-Kabel oder USB-WLAN-Adapter ans eigene LAN angeschlossen werden kann. So sieht unser PiDS-Prototyp zur Zeit von innen aus:

PiDS Innenleben 

PiDS-SchaltplanPiDS-Schaltplan
Breadboard-Verdrahtungsplan des PiDS-Prototypen
  PiDS-Verdrahtung
PiDS - magic by design.

Die Messung der Höhe der Wassersäule mittels Druck-Sensor ist prinzipiell recht simple und basiert auf dem hydrostatischen Druck. Über einen luftgefüllten oder mit einem anderen komprimierbaren Gasgemisch gefüllten Schlauch, dessen Länge größer der doppelten Höhe der zu erfassenden Wassersäule ist, wird der hydrostatische Druck der Wassersäule an den MPX5100DP Druckdifferenz-Sensor weitergeleitet und erfasst. Dazu müssen sich beide Enden des Schlauchs oberhalb der Wasseroberfläche befinden. Ein Ende des Schlauchs ist fest mit dem rechten Schlauchanschluss des Sensors zu verbinden, das andere Ende ist hermetisch zu verschließen. Die Mitte des Schlauches ist nun mit Hilfe eines Gewichtes auf den Grund der Zisterne oder des Tanks zu versenken. Die Luft im Schlauch wird nun aufgrund des hydrostatischen Drucks innerhalb der Wassersäule komprimiert und so vom Drucksensor erfasst. Zuvor muss allerdings noch eine kurze Kalibrierung des Messsystems durchgeführt werden, um den Druck bei leerer Zisterne/Tank zu simulieren. Dazu darf nur der atmosphärische Luftdruck auf den zuvor verschlossenen Schlauch wirken und es ist die PiDS-Management Software einmalig zu starten. Genau Details zur Kalibrierung entnehmen Sie bitte der FAQ.

Darüber hinaus ist darauf zu achten, dass ein diffusionsarmer Schlauch verwendet wird, der nicht im Laufe der Zeit porös wird, so dass weder Luft entweichen noch Flüssigkeit eindringen kann. Ansonsten nimmt die Genauigkeit und Langzeitstabilität der Messung ab und das Messsystem muss ggf. erneut kalibriert werden. Der Einfluß des Luftdrucks spielt beim gewählten Messverfahren übrigens keine Rolle, da nur die Druckdifferenz vom Sensor erfasst und in eine analoge Spannung umgewandelt wird. Die Steuerung und Auswertung der vom A/D-Wandler digitalisierten Signale übernimmt dabei ein REBOL3 Skript, das Druck-Sensor-Modul.

Die Vorteile einer Pegelmessung mittels Druck sind offensichtlich. Messungen sind relativ einfach und zuverlässig durchzuführen und haben eine gute Genauigkeit bei geringer Fehlertoleranz. Sogar schwankende Temperaturen und Luftdruckänderungen werden vom Sensor kompensiert. Der MPX5100DP Druck-Sensor ist günstig und bereits für unter €20,- Euro erhältlich. Er verfügt über einem Messbereich von bis zu 10m Wasserhöhe und das bei einer maximalen Genauigkeit von 10cm/kPa. Der Druck-Sensor benötigt eine Versorgungsspannung von 5 V und hat im Betrieb eine Stromaufnahme von weniger als 10mA. Daher kann das Bauteil direkt über die Stiftleiste P1 des Raspberry Pi mit Strom versorgt werden.

Das zentrale Kernstück des PiDS stellt die "PiDS-It!" Management Software dar, welche neben einem Webserver-Modul auch das Druck-Sensor-Modul sowie das Archivierungs- & Plot-Modul beinhaltet. Mit Hilfe von letzterem archiviert PiDS-It! alle Messdaten und bereitet die Daten für die grafische Darstellung als Plot auf. Die Grafiken werden dabei jede Nacht, um kurz vor Mitternacht, automatisch aktualisiert und als Ressourcen für eine Seite des Webservers bereitgestellt. Die übersichtlichen Tages- , Wochen-, Monats- sowie Jahresgrafiken (siehe oben) werden beim Anklicken vergrößert. Für das Druck-Sensor-Modul muss das spidev Python Modul installiert sein. Es ist auf Github im Rahmen von Open Source verfügbar. Die übrigen Bestandteile der Management Software sind Closed-Source und erfordern den Erwerb einer Lizenz.
Die Software benötigt eine REBOL3-Laufzeitumgebung/Interpreter. Wer möchte kann selbst den Source Code des REBOL3-Interpreters für den Raspberry Pi compilieren. Der Master Branch ist unter der Apache2.0-Lizenz auf GitHub veröffentlicht. Alternativ dazu kann ein fertiges Binary für Raspbian direkt hier von unserer Homepage heruntergeladen werden.

Die Bedienung von PiDS-It! erfolgt einfach über einen normalen Web-Browser. Das Webserver-Modul übernimmt dabei die komplette Kommunikation und Steuerung. Eine integrierte Suchfunktion ermöglicht die einfache und schnelle Suche nach historischen Messwerten. Darüber hinaus haben wir im Webserver-Modul eine Statusfunktion ("...ein nettes Gimmick ...") implementiert, welche u.a. die Temperatur des SOCs des Raspberry Pi der letzten 10 Stunden aufzeichnet und als Temperaturverlauf darstellt. Klicken Sie dafür einfach auf das entsprechende π im unteren Bereich der Seite und erfahren so wie warm es im Inneren des PiDS ungefähr ist.
Neben diesem Gimmick konfigurieren Sie mit Hilfe des Webserver-Moduls auch die wesentlichen Funktionen von PiDS. Angefangen mit der Angabe des Fassungsvermögens der verwendeten Zisterne über die Abtastrate der Messungen bis hin zur Festlegung möglicher Wartungsintervalle sowie der optionalen Ereignissteuerung werden alle wichtigen Parameter über die Systemeinstellungen zentral vom Browser aus konfiguriert.
Mit der universellen Ereignissteuerung

Beispiel einer LED-Pegelanzeige auf Basis der Ereignissteuerung
können konfigurierbare Ereignisse (GPIOs, E-Mail oder Shell-Befehle) pegelabhängig gesteuert werden. So lassen sich zum Beispiel eine automatische Nachspeisung der Zisterne oder eine pegelabhängige Gartenbewässerung mit Hilfe von magnetischen Ventilen oder Pumpen über zusätzliche GPIOs und Relais-Module einfach realisieren. Ebenso ist auf diese Weise eine Benachrichtigung per E-Mail bei leerer oder voller Zisterne möglich.
Eine Übersicht der verschiedenen Einstellungsmöglichkeiten ist aus dem folgenden Bild ersichtlich.

PiDS-Settings 

PiDS-Settings
Die Systemeinstellungen von PiDS (PiDS-Settings).

Anmerkung: Werksseitig sind die Systemeinstellungen (PiDS-Settings) nur über das selbe Netzsegment erreichbar, indem sich auch der PiDS befindet. Bei Bedarf kann dies entsprechend der eigenen Sicherheitsanforderungen angepasst werden. Falls keine Adresse für die Admin IP oder keine IP-Range festgelegt wird, ist der π-Ultraschall-Sensor von jeder beliebigen IP-Adresse aus konfigurierbar! Optional kann auch ein Zugriffsschutz aus einer Kombination von Benutzername und Kennwort individuell festgelegt werden.

Da es unzählige Arten von Zisternen und Tanks in den unterschiedlichsten Bauformen von verschiedenen Herstellern gibt, erweist sich eine exakte Berechnung des aktuellen Volumens als schwierig. Die "PiDS-It!" Management Software berechnet das Volumen linear zum konfigurierten Gesamtfassungsvermögen und kann daher ohne weitere Anpassung für Zisternen und Tanks in rechteckiger oder kubischer Form sowie für vertikal zylindrische Zisternen genutzt werden.
Andere Bauformen lassen sich bequem über Peiltabellen integrieren. Dabei wird das Volumen anhand einer Peiltabelle (Mapping-Tabelle per CSV-Datei) an die lokalen Gegebenheiten der Zisterne individuell angepasst. Im Softwarebundle sind bereits Peiltabellen zu den Zisternen folgender Hersteller enthalten:

Über den folgenden Link können Sie eine Lizenz von "PiDS-It!" sowie die Software selbst kostenpflichtig beziehen (Hinweis: Sie erhalten nach Zahlungseingang spätestens innerhalb von 3 Werktagen das Softwarebundle per gesonderter E-Mail zugesandt). Mit der Lizenz für das Softwarebundle erwerben Sie auch ein beschränktes, nicht exklusives Nutzungsrecht für die jeweiligen Module. Eine zusätzliche Lizensierung der einzelnen Module ist nicht erforderlich. Trotzdem können bei Bedarf neben einzelnen Lizenzen für die jeweiligen Module ( Druck-Sensor / Archivierung & Plot / Webserver ) auch Volumenlizenzen unserer Software erworben werden. Genaue Angaben zu den Preisen und Mengenrabatten erhalten Sie auf Anfrage.

Voraussetzung: Ein aktuelles Raspbian-Image auf SD-Card mit installiertem gnuplot und spidev Python Modul. Das Serial Peripheral Interface (SPI) des Raspberry Pi muss im Kernel aktiviert sein.

Installation & Start: Die Software kommt als Tarball, welcher nur entpackt werden muss (tar xvf PiDSIt.tar) und schon steht die "PiDS-It!" Management Software einsatzbereit auf dem Raspberry Pi zur Verfügung. Durch manuellen Aufruf des Shell-Skripts ./PiDSIt.sh start werden die PiDS-It! Module auf dem Raspberry Pi gestartet. Dieses Skript kann natürlich auch als init-Skript zum automatischen Starten von PiDS-It! ins System eingebunden werden. Als Alternative zum Shell-Skript lassen sich die PiDS-It! Module auch einzeln ausführen. Durch Eingabe von ./bin/r3 PiDSIt.r & wird das Archivierungs & Plot-Modul sowie das Druck-Sensor-Modul gestartet. Der Start des Webserver-Moduls erfolgt durch diesen Befehl ./bin/r3 Webserver.r & . Wir empfehlen aber die Einbindung des Webserver-Moduls als ReSpawn-Process in der /etc/inittab . Dies bietet den Vorteil, dass das Webserver-Modul jedesmal neu startet, sobald es beendet wurde.

Anwendung: Die weitere Nutzung sowie die Konfiguration der PiDS-It! Software erfolgt, wie oben bereits erwähnt, ausschließlich über den Browser des PCs, Tablets oder Smartphones. Geben Sie dazu einfach als URL die IP-Adresse des Raspberry Pi und den verwendeten Port des Webserver-Moduls in dem Browser ein ( z.B.: http://192.168.0.100:8080 ). Alles Weitere ist selbsterklärend oder erschließt sich von selbst.


Wir hoffen Sie sind von den Vorteilen des PiDS und vom smarten Design der Software ebenso überzeugt wie wir. Falls Sie Fragen, Wünsche oder Verbesserungsvorschläge zum PiDS oder zu der "PiDS-It!" Management Software haben, wir freuen uns auf Ihre Anfrage.

Sie haben Interesse an einer Füllstandsanzeige auf Basis eines kostengünstigen Ultraschall-Messverfahrens, dann klicken Sie hier

 

Sie interessieren sich für weitere von uns entwickelte Software und Projekte? Dann besuchen Sie auch mal diese Seiten:

 

  -   Copyright 2014-2021, TGD-Consulting   -   FAQ   -   PiDS powered by Serve-It! TNG   -  

π