Wir haben unseren Bike Camper nun schon mit jeder Menge Technik ausgestattet: Einer Photovoltaikanlage, einer Sonnenbatterie, einer Beleuchtung, einer Lüftungsanlage und einigen Sensoren. Jetzt wird es Zeit, dass die Komponenten auch miteinander sprechen können. Nur so kann unser Bike Camper auch intelligent werden und Aufgaben automatisch erledigen. Eine dieser Aufgaben kennen wir schon aus dem letzen Beitrag – die Lüftungsanlage.

Einige der verbauten Komponenten (von links): Stromsensor, Featherwing M0 Bluefruit, Relay Modul, Lüfter

Einige der verbauten Komponenten (von links): Stromsensor, Featherwing M0 Bluefruit, Relay Modul, Lüfter

Hierbei werden Temperatur- und Luftfeuchtesensoren ausgewertet, um die Lüftung nach Bedarf zu steuern. Später wollen wir auch noch einen Schritt weiter gehen und bestimmte Geräte ein- bzw. ausschalten, je nach Ladezustand der Batterie oder ob die Solaranlage Strom produziert. Auch hierzu benötigen wir wieder Sensoren und eine Möglichkeit ein Gerät zu steuern.

Die gesamte intelligente Steuerung wird dabei vom „Gehirn“ des Bike Campers durchgeführt. Die Sensoren  bilden die „Sinne“ und liefern Informationen, auf die es dann reagieren kann. Daraufhin steuert es dann die übrigen „Körperteile“, wie den Lüfter oder andere Geräte.

Das Gehirn

Das Gehirn des Bike Campers bildet ein Mikrocontroller. Genauer gesagt eine 5 x 2 cm kleine Platine, die den Mikrocontroller aufnimmt und einige Schnittstellen bereitstellt. Die Wahl fiel dabei auf den Feather M0 Bluefruit LE. Dieses kleine Entwicklerboard basiert auf dem ARM Cortex M0 Prozessor mit 48 MHz und bietet 265 KB Speicher, sowie 16 KB RAM. Zusätzlich besitzt es noch ein Bluetooth Funk-Modul.

Das Gehirn: Das schwarze Quadrat in der Mitte der Platine ist der eigentliche Mikrocontroller. Das Bluetooth-Modul befindet sich rechts daneben. Quelle: lady ada, LicenseAttribution-ShareAlike Creative Commons

Das Gehirn: Das schwarze Quadrat in der Mitte der Platine ist der eigentliche Mikrocontroller. Das Bluetooth Modul befindet sich rechts daneben.
Quelle: lady ada, License Attribution – ShareAlike Creative Commons

Das Feather M0 Bluefruit ist ein Arduino kompatibler Mikrocontroller. Arduino ist eine Entwicklungsumgebung, die es auf einfache Weise ermöglicht eigene Programme für Mikrocontroller zu schreiben. Die Programme können dann einfach mittels USB-Kabel vom Computer auf den Mikrocontroller übertragen werden. Ursprünglich wurde dieses System entwickelt, um es Künstlern und anderen Kreativen zu ermöglichen, Projekte zur Interaktion von Mensch und Maschine umzusetzen.

Wenn man sich nun die Prozessorgeschwindigkeit und den Speicher des Mikrocontrollers ansieht, stellt sich natürlich die Frage warum wir einen so „langsamen“ Computer mit so kleinem Speicher verwenden. Zum Vergleich: Prozessoren in aktuellen Smartphones takten mit 1-2 GHz etwa 20-40 mal schneller. Auch der Speicher würde nicht einmal ausreichen, um eine kleine Webseite zu öffnen. Der Vorteil eines Mikrocontroller gegenüber eines kleinen PC’s, wie z.B. dem Raspberry Pi, ist ein anderer: Er hat einen sehr geringen Stromverbrauch. Ein weiterer wichtiger Unterschied zum PC ist, dass auf dem Mikrocontroller nur genau ein Programm läuft. Dies macht ihn sehr robust in seiner Funktion. Außerdem entfallen regelmäßige Updates der vielen Programme und Systemdienste, die auf einem PC laufen.

Wenn also nur wenige spezifische Aufgaben erledigt werden sollen, ist ein Mikrocontroller häufig eine gute Wahl. Wir möchten nur einige Sensordaten erfassen und ein paar Steuerungsaufgaben durchführen. Daher ist ein Mikrocontroller für unseren Einsatzzweck auch bestens geeignet.

Kommunikation auf allen Kanälen

Der Mikrocontroller verfügt über verschiedene Schnittstellen um mit der Außenwelt zu kommunizieren. Hierzu gehören 20 analoge und digitale Ein- und Ausgänge. Über diese können wir zum Beispiel die Spannung und den Strom der Sonnenbatterie einlesen oder die Drehzahl des Lüfters steuern. Auch verschiedene digitale Übertragungsprotokolle werden dabei unterstützt. Auf diese Weise werden z.B. die Temperatur- und Luftfeuchtesensoren ausgelesen.  

adafruit_products_2995_pinout_v1_1

Pin-Belegung des Mikrocontrollers: Die meisten Pins haben mehrere Funktionen, die einfach per Software konfiguriert werden können.

Über diese Schnittstellen können auch weitere Module aus Feather Serie von adafruit  – auch Feather Wings genannt – durch einfaches Aufstecken angeschlossen werden. Im Bike Camper wird z.B. ein Relais-Modul zum Einsatz kommen, über das die Multifunktionssteckdose geschaltet werden kann. Später wird vielleicht auch noch ein Daten-Logger-Modul nachgerüstet, um die Sensordaten aufzuzeichnen.

Um auch mit Geräten kommunizieren zu können, die nicht über Kabeln mit dem Bike Camper verbunden sind, wollen wir natürlich auch eine Funkschnittstelle haben. Hierzu wird Bluethoot Low Energy (bzw. Bluetooth Smart) zum Einsatz kommen, das auch von allen modernen Smartphones unterstützt. Das Bluetooth Modul selbst befindet sich auch auf der Platine des Mikrocontrollers und kommuniziert über eine serielle Verbindung (SPI).

Benutzerschnittstelle

Als Mensch-Maschine-Schnittstellen kommen im Bike Camper zum einen einfache Schalter zum Einsatz, mit denen z.B. verschiedene Modi der Lüftungssteuerung eingestellt werden können. Schalter bieten auch in einer Welt der Smartphones immer noch die einfachste und schnellste Benutzerschnittstelle.

Mit Schaltern können aber nur einfache Aktionen durchgeführt werden. Daher soll es für den Bike Camper als erweiterte Schnittstelle eine Smartphone App geben. Über diese soll man Zugang zu Einstellungen bekommen, die man nicht so häufig benötigt, oder die komplexe Eingaben benötigen. Außerdem kann man darüber einfach verschiedene Daten zum Bike Camper und seiner Solaranlage visualisieren. Die Kommunikation der App mit dem Mikrocontroller wird über das Bluetooth Modul erfolgen.

Verdrahtung

Die Steuerungszentrale wird sicher in einem Kunstoffgehäuse verbaut

Die Steuerungszentrale wird sicher in einem Kunstoffgehäuse verbaut

Alle Komponenten löten wir nun noch auf eine Lochraster-Platine auf. Um die Spannung messen zu können, bauen wir uns aus zwei Widerständen auch noch Spannungsteiler. Der Mikrocontroller und das Reails-Modul können einfach auf die Stiftleisten auf der Platine gesteckt werden. Genauso werden beim Einbau in den Bike Camper auch die bereits verlegten Kabel für Sensoren und Schalter mit der Platine verbunden.

Am Ende wird alles noch in ein Kunststoffgehäuse gebaut. Für den Auslass der Kabel bohren wir noch ein paar Löcher. Die gesamte Schaltung wird schließlich mittels USB-Kabel mit Strom versorgt und der Spaß kann los gehen…

So geht’s weiter

Die Arbeiten an der Hardware des Bike Campers sind nun abgeschlossen. Jetzt können wir den Microcontroller mit den gewünschten Funktionen programmieren  und dem Gehirn damit Intelligenz einhauchen. Als nächstes werden wir uns aber erstmal um die Smartphone App kümmern, damit wir auch mit dem Bike Camper kommunizieren können.

Programmierung des Mikrocontrollers

Programmierung des Mikrocontrollers