Bei Dublin – Drape handelt es sich um einen komplett selbstgebauten Rollo für die Innenseite des Fensters. Gesteuert wird der Rollo über mein SmartHome-System Dublin.
Konzept
Dublin – Drape sollte in eine freie Fläche oberhalb der Fenster bei uns in der Wohnung passen. Der Platz hierfür ist auf 70 mm in der Höhe begrenzt. Als Antrieb soll ein Schrittmotor dienen. Hierdurch kann die Position des Rollos genau eingestellt werden, ohne dass Endschalter oder gar Wegaufnehmer nötig sind. Mit dem Motor werden vier Stoffbahnen (für jedes Fenster eine) aus- und eingerollt. Damit alles möglichst unauffällig wird, habe ich mir überlegt, den Rollo in einem weißen Kabelkanal einzubauen.
Umsetzung
Folgendes Material habe ich beim Bau des Rollos verwendet:
- Wemos D1 mini (WLAN fähiger Mikrocontroller)
- Schrittmotor (Maße 40×40 mm und 40 Ncm Drehmoment)
- Schrittmotortreiber TB6600
- Stahlwelle
- Kugellager
- Kabelkanal 60x40x230 mm
- Temperatursensor DS18B20
Mechanik
Zunächst habe ich Lagerböcke aus Holz angefertigt, um die Welle leicht drehbar im Kabelkanal lagern zu können. Natürlich ist Holz kein guter Werkstoff für präzise Kugellagerpassungen. Aber es ist eben doch nur ein Rollo. Da das Material bereits vorrätig war, es leicht zu bearbeiten ist und außerdem sehr wenig Gewicht hat, habe ich mich daher für Holz entschieden. Die Lagerböcke sind auf die Form und das Maß des Kabelkanals zugeschnitten, dadurch sind sie formschlüssig im Kanal fixiert.
Da ich leider keinen Kabelkanal in meiner Wunschgröße von 60×60 mm bekommen habe, musste ich für den Kabelkanal 60×40 mm den Motor (40×40 mm) in einem Ausschnitt platzieren. Im Nachhinein gesehen sorgt das aber für eine gute Belüftung des Motors. Den Ausschnitt habe ich ebenso sehr genau und formschlüssig durchgeführt, sodass der Motor keine weitere Befestigung mehr benötigt.
Für die einzelnen Vorhänge habe ich jeweils vier Schlitze in die Unterseite des Kanals gesägt. Damit die Stoffe sich von selbst herausziehen und glatt hängen bekommen diese gleich noch ein paar Eisenstangen als Gewicht spendiert. Diese wurden später unten im Stoff eingenäht.
Zu guter Letzt musste lediglich noch die Welle mit dem Schrittmotor verbunden werden. Dazu habe ich die Welle am Ende geschlitzt und mittels Schlauchschellen auf der Motorwelle festgeklemmt.

Elektronik
Die Elektronik für die Steuerung des Schrittmotors ist relativ simpel.
Der Wemos D1 mini stellt die zentrale Steuerung dar. Er gibt 3 Signale an den Schrittmotortreiber TB6600 weiter. Das sind folgende:
- Enable (Steuert, ob der Motor aktiv angesteuert und gebremst wird)
- Direction (Steuert, ob der Motor rechts oder links drehen soll)
- Step (Verleitet den Schrittmotortreiber dazu, den Motor um einen Einzelschritt zu verfahren)
Zusätzlich befindet sich in dem Gehäuse noch ein Spannungswandler für den Wemos D1 mini. Dieser regelt die 19 V vom Netzteil für den Schrittmotor auf 5 V für die Spannungsversorgung des Mikrocontrollers herab.
Zu guter Letzt habe ich noch einen DS18B20 zur Überwachung der Endstufentemperatur verbaut. Erreicht die Endstufe mehr als 35 °C, wird der Schrittmotortreiber abgeschalten.

Software
Die Software auf dem Wemos D1 mini kommuniziert in regelmäßigen Intervallen mit Dublin-Server.
Sie frägt zuerst alle Parameter für den Rollo ab. Das sind folgende:
- Enabled (Steuert, ob der Rollo aktiv ist oder nicht = Enable-Eingang des Treibers)
- Position (Die gewünschte Position des Rollos)
- Accleration (Die gewünschte Beschleunigung in Schritte/s² für den Motor)
- MaxSpeed (Die maximale Geschwindigkeit, die der Motor drehen darf)
- EndTop (Die Position in Schritte, an der der Rollo ganz oben ist)
- EndBottom (Die Position in Schritte, an der der Rollo ganz unten ist)
- Retract (Wenn die Position auf 0 % gestellt wird, steuert Retract, wie viele Schritte der Motor weiter drehen soll, um den Stoff komplett einzuziehen. Das ist notwendig, da der Stoff sich manchmal etwas längt bzw. der Motor etwas nachrutscht)
- ActiveBrake (Steuert, ob der Motor immer bestromt wird oder nicht. Aus Energiespargründen setzte ich auf ein Gegengewicht, statt den Motor aktiv zu bremsen. Für alle Fälle kann man die Bremse jedoch hiermit aktivieren)
- TemperatureDriver (Die Temperatur wird an Dublin weitergereicht, um in der App visualisiert zu werden)
- DoReference (Sollte die Position des Motors einmal verstellt sein, kann man über die Funktion „Referenzierung starten“ die Steuerung dazu veranlassen, vorsichtig gegen den Endanschlag oben zu fahren und somit den Nullpunkt erneut zu setzen)
Sind alle Parameter eingelesen, wird die prozentuale Position aus dem Tag /livingroom/drape/position über die beiden Tags /livingroom/drape/end_top und end_bottom in die absolute Position in Schritten umgerechnet. Sollte es hierbei eine Abweichung geben, steuert den Wemos D1 mini über die Bibliothek AccelStepper den Schrittmotor in die gewünschte Richtung.
App
In der zugehörigen Dublin iOS-App habe ich hierzu einen eigenen DetailView implementiert, der alle notwendige Einstellungen beinhaltet und auch einen Slider für die gewünschte Position des Rollos. Dieser sieht wie folgt aus:

Endergebnis
Zum Abschluss hier noch ein Video von Dublin – Drape in Aktion!
Window icons created by Freepik – Flaticon