Konzeptionelle Überlegungen & Entscheidungen

Arduino im Reisemobil – Teil 2

In Teil 1 wurde teilweise schon die Umsetzung beschrieben und so der Beschreibung der konzeptionellen Überlegungen des Arduino-Projekts vorgegriffen. Nachfolgend werden die Hintergründe erläutert.

Inhaltsverzeichnis der Arduino-Projektseiten

1 Leckage im Wohnmobil erkennen

Wasserleitungen sind bekanntlich so verlegt, dass man sie nicht sieht. Folglich sieht man auch das austretende Wasser einer Undichtigkeit nicht sofort. Schaltet die Druckwasserpumpe öfters kurz ein, deutet das recht früh auf eine Undichtigkeit hin. Es kann jedoch ein paar Tage dauern, bis man darauf aufmerksam wird.

Bei unserer GFK-Kabine ist auch die Bodenplatte aus GFK, so dass Leckage-Wasser nicht kritisch ist. Dennoch möchte man eine Undichtigkeit möglichst schnell entdecken und dies nicht dem Zufall überlassen.

Wie erkennt man mit einem Arduino eine undichte Wasserleitung im Reisemobil?

Der erste Gedanke war, mit dem Arduino das Einschaltverhalten der Druckwasserpumpen zu überwachen. Vermutlich könnte man ein Problem auf diese Weise erkennen. Man erkennt jedoch nicht, ob es wirklich eine Leckage ist oder wo sie sich befindet. Die Ursache kann auch die Pumpe selbst oder ein nicht dicht schließendes Ventil der Toilettenspülung sein. Man sucht dann Wasser, wo keines ist.

Nach ausgiebigen Tests mit Sensoren erscheint folgender Ansatz zielführend:

In jedem Bereich mit Wasserleitungen werden zwei Sensoren mit unterschiedlichen Messverfahren installiert.

Der Luftfeuchtesensor DHT22 meldet im Fall einer Undichtigkeit eine erhöhte Luftfeuchtigkeit für diesen Bereich (z.B. Pumpenfach). In Regionen mit hoher Luftfeuchtigkeit ist diese Messmethode vermutlich nicht aussagekräftig, da die Luftfeuchtigkeit klimabedingt bereits hoch ist und bei einer Undichtigkeit nicht mehr so deutlich steigen kann.

Der Wassersensor FC-37 erkennt Wasser ab einem Tropfen von ca. 2 mm. Beim Fahren gelangt das Wasser durch die Fahrbewegungen zum Sensor. Beim Übernachten fließt es zum Sensor, wenn dieser jeweils am niedrigsten Punkt montiert ist. Wir stehen schon immer vorne rechts ein klein wenig niederer, so dass wir die Wassersensoren einfach in jedem Bereich vorne rechts am GFK-Boden befestigen.

So erkennt der Arduino ein Problem nicht nur, sondern kann die Leckage orten und den betroffenen Bereich anzeigen.

Die Kombination der beiden Sensoren würde eine Undichtigkeit nur dann nicht sofort entdecken, wenn bei sehr hoher Luftfeuchtigkeit notgedrungen entgegen der üblichen Schlafrichtung übernachtet werden muss und in genau dieser Nacht eine Leitung oder ein Anschluss undicht wird.

2 Arduino Board

Viele Funktionen und Sensoren erfordern ein Arduino-Board mit großem Speicher, zahlreichen Ports (Ein-/Ausgänge) und mehreren seriellen Schnittstellen. Der Arduino Mega 2560 Rev3 ist das richtige Board für dieses Projekt.

Ein Terminalblock ist für den Arduino Mega ebenfalls erhältlich, so dass die Kabel am Arduino mit dem Schraubendreher angeschlossen werden können.

3 Stromverbrauch

Das System soll stromsparend sein. Ziel ist, den Eigenverbrauch des Systems durch seine Steuerungsmöglichkeiten (z.B. Kühlschrank auf Kältespeicher umschalten) mindestens auszugleichen.

Der Arduino schaltet deshalb die Stromversorgung aller nicht benötigten Komponenten (Displays, Sensoren etc.) automatisch ab und begibt sich selbst in einen energiesparenden Ruhezustand. Alle fünf Minuten wacht er auf, fragt die Sensoren ab, erledigt seine Aufgaben und schläft nach zwei Sekunden wieder. Er schläft 99% der Zeit!

Details zum stromsparenden Betrieb des Arduino Mega sind unter Erkenntnisse & Tipps zu finden.

4 Displays in Wohnkabine und Fahrerhaus

Ein Touch-Display soll in den Wohnbereich und eines ins Fahrerhaus des Fahrzeugs. Beide Displays sollen parallel bedienbar sein. Intelligente Displays haben einen eigenen Mikrocontroller und können per serieller Schnittstelle auch über größere Distanzen gesteuert werden.

Die Versorgungsspannung des Displays schaltet der Arduino. Wird das Display nicht mehr bedient, schaltet der Arduino das Display nach einer einstellbaren Zeit (z.B. 20 s) stromlos.

5 Antwortzeiten

Die Software soll auf kurze Antwortzeiten optimiert werden. Insbesondere betrifft das:

  • Anzeigen der ersten Messdaten nach dem Einschalten des Displays
  • Aktualisierungsintervall der Messdaten
  • Umschaltzeit zwischen den Bildschirmseiten

Details unter Aktualisierungsintervall & Antwortzeiten.

6 Gehäuse

Der Arduino soll im Technikfach untergebracht werden. Im Technikfach befinden sich jedoch die Ladegeräte (Netz, Solar), der Wechselrichter, die Batterien etc. und hier laufen viele verschiedene Kabel aus allen Ecken des Fahrzeugs zusammen. Das sind potentielle Störquellen, die die Funktion des Arduino durch Einstrahlung beeinträchtigen können.

Das Gehäuse soll deshalb komplett aus Metall bestehen und selbst mit GND verbunden werden, um den Arduino vor Einstrahlung zu schützen. Weiterhin soll es wasserdicht, gut montierbar und von oben zu öffnen sein.

Rückblickend war das ausgewählte Gehäuse von Molex eine gute Entscheidung.

7 Keine Abhängigkeit vom Arduino schaffen

Der Arduino soll das Fahrzeug um Funktionen erweitern, jedoch keine bisherige Funktionen vom Arduino abhängig machen. Fällt der Arduino aus, soll die bisherige Funktionsweise mit wenigen Handgriffen wieder hergestellt werden können. Nachfolgende zwei Beispiele zur Verdeutlichung:

Kühlschrank
Im Panel gibt es jetzt einen Umschalter, der den Kühlschrank zwischen normaler Funktionsweise und Arduino-Steuerung umschaltet. Fällt der Arduino aus, schaltet man um und der Kühlschrank läuft wie vorher.

Möbellüfter
Der Zusatzlüfter an der Möbelfront lief vorher mit dem Kompressor des Kühlschranks und wird jetzt vom Arduino gesteuert. Beim Ausfall des Arduino muss nur das Kabel des Lüfters umgesteckt werden, um die alte Funktionalität wieder herzustellen.

Weiter zu Teil 3:  Hardware

„Miß alles, was sich messen läßt,
und mach alles meßbar, was sich nicht messen läßt.“
(Archimedes, 287 – 212 v. Chr.)