Für meinen mechanischen Servoantrieb mit 3 Positionen habe ich einen Servocontroller benötigt. Zuerst habe ich einen SerDecMulti verwendet. Das hat gut funktioniert aber der hängt nicht im WLAN und wird von der DCC Gleisspannung versorgt und gesteuert.

Auf der Basis eine Wemos D1 Mini wurde mit minimalem Aufwand einen WLAN Servo­con­troller auf die Beine gestellt.


Schaltplan

Wohl weil ich ein sparsames MG90S Servo genommen habe, lässt es sich ohne wei­tere Komponenten direkt an einem ­Wemos D1 Mini betreiben. Der Mini versorgt das Servo mit 3,3V und liefert auch den erforderlichen Servoimpuls. Da die Drehmomente zum Stellen eines 3-begriffigen Signals, dank der Exzenter fast gegen null gehen, habe ich keine Be­denken, dass der Längsregler auf dem Wemos D1 schlapp macht. Wird das Servo nicht be­wegt, wird der Servoimpuls abgeschaltet. Außer mit dem MG90S habe ich mit einem Conrad Micro Servo Versuche gemacht. Letztendlich habe ich auch aus preisgründen nur die MG90S verwendet.

Die Schaltung zum Betreiben eines Servos enthält nur einen Wemos D1 Mini

Zum Einstellen der absoluten Servo-Endlagen in μs habe ich die Handbedienung der SerDecD-Decoder angeschlossen. Sobald die Software dafür getestet ist, werde ich obige fritzing Zeich­nung ergänzen.


Foto

Rechts oben zwei NextGen Servo-Aktoren mit Wemos D1 Mini auf Platinen zum befestigen unter der Anlagenplatte. Links und unten die Exzentermechaniken für die 3-begriffigen Viessmann Signale mit den MG90S Servos.

Stückliste

Die aktuelle Bestückung der Steckbretter kommt offensichtlich ohne Stückliste aus. Mit den geplanten Erweiterungen wird eventuell doch eine Stückliste erforderlich. Für mich habe ich die Wemos D1 Mini steckbar auf eine Platine montiert, die man einfach unter die Anlagenplatte schraubt. Die Wemos werden mit 5VDC aus einem Schaltwandler versorgt, der aus den 16VAC eines Modellbahntrafos gespeist wird. Auf der Platine ist Platz für einen Schaltwandler LM2596 DC-DC, so dass ich den NG Servosteller auch stand-alone für ein einzelnes Signal auf einem Streckenmodul verwenden kann.


Software

Die Software für den ESP8266 wurde mit der Arduino IDE erstellt. Anfangs habe ich die Arduino Servo Bibliothek verwendet. Mit der Einstellung und Steuerung über Tasten, die ich gerade programmiere, wurde es dann einfacher direkt die zugrundeliegende Bibliothek „core_esp8266_waveform“ zu verwenden.

Die Software ist also noch nicht fertig, aber die hier angebotene Version 1.02 hat keine mir bekannte Macken und funktioniert klaglos.

Für größere und stärkere Servos reichen die 3,3 V des Wemos nicht aus. Hier wird eine Erweiterung mit Mosfet Schalter erwogen, mit der die 5 V bei Bedarf auf das Servo geschaltet werden. Das braucht natürlich auch passende Software.


Erklärung mit Screenshots

Der Wemos D1 Mini loggt sich direkt in den (Modellbahn-)WLAN-Router ein und erhält von diesem eine zufällig gewählte IP-Adresse aus seinem DHCP-Bereich. Beim Einrichten des Netzwerkes und der Sensoren und Aktoren muss man diese Adresse noch kennen. Beim Betrieb der Anlage hingegen nicht mehr.

Ein weiterer Wemos D1 Mini übernimmt die Rolle des Vermittlers und wird deswegen Mediator genannt. Dieser Mediator loggt sich, wie der Servoaktor, in den WLAN-Router ein und erhält jedoch eine feste IP-Adresse. Dazu muss man den Router entsprechend einstellen. Dazu später mehr. Der Mediator übernimmt die Rolle einer abgespeckten „Z21“ Zentrale, die nur für (bestimmte) WLAN Rückmelder oder zum Stellen von Weichen und/oder Signale verwendet wird. Das Erzeugen der DCC Gleisspannung (zum Fahren oder Stellen anderer Weichen und Signale wird in den meisten Fällen von einer zweiten, vollwertigen, Zentrale übernommen. Die feste IP-Adresse dieser virtuellen Z21 Zentrale wird von der Modellbahn-Software wie die Standard Adresse 192.168.0.111 einer reellen Z21 verwendet. Bei mir hat der Mediator die Adresse 192.168.20.111. Die Modellbahn-Software „spricht“ nur mit dieser Adresse. Alle Rückmeldungen von NextGen Modulen kommen über diese Adresse in den PC und an diese Adresse schickt der PC Aufträge zum Stellen von Weichen und Signalen, zum Lesen und Schreiben von CVs und anderen Informationen.


Inbetriebnahme des NextGen Servo-Aktors

Software erstmalig laden

ESPHome-FlasherESPFlasher.EXE
Dieses Bild hat ein leeres Alt-Attribut. Der Dateiname ist image-3.pngDieses Bild hat ein leeres Alt-Attribut. Der Dateiname ist image-4.png
Software Tools zum Flashen des Wemos D1 Mini

Zum ersten laden der Software benötigen Sie einen PC und ein Micro USB-Kabel. Laden Sie das Software-Tool ESPHomeFlasher.exe oder ESPFlasher.exe runter. Laden Sie die Firmware „z21_servo_control.bin“ für den Servo-Aktor. Verbinden Sie den PC und den Servoaktor (bzw. den nackten Wemos Mini D1) über das USB-Kabel. Wählen Sie den seriellen Port aus und starten den Flash Vorgang.

Beim ESPHomeFlasher sieht das so aus:

Die Firmware und der Port COM3 wurden ausgewählt
Der Flash Vorgang läuft und im Consolen-Fenster sieht man, was gerade passiert.
Am Ende des Flashvorgangs wird die Firmware gestartet und man sieht die serielle Ausgabe des Bausteins, die schon einige wichtige Informationen wie die NID und Hinweise zum weiteren Vorgehen enthält.

Beim NodeMcuflasher (ESP8266Flasher) sieht das nicht ganz so komfortabel aus:

Unter dem Reiter „Config“ wird die Firmware „Z21_servo_control ausgewählt.
Der Flashvorgang läuft. Die App zeigt die MAC-ID des Access Points (AP) und die Mac-ID des Clients (STA = Station) an.
Grün, Fertig!

Konfiguration des Servo-Aktors

Als Erstes muss dem Servo-Aktor gesagt werden, mit welchem WLAN er sich verbinden muss. Noch sind weder der PC (Smartphone, Tablett) noch der Servo-Aktor mit irgendeinem Netzwerk verbunden. Damit wir überhaupt Verbindung mit dem Modul aufnehmen können, spannt es ein eigenes WLAN auf mit dem wir uns (PC/Smartphone oder Tablett) verbinden können. In der WLAN Liste sehen wir ein neues WLAN:

Das WLAN AP3543 ist in der WLAN-Liste neu erschienen. Die Buchstaben „AP“ stehen für Access Point und die Zahl 3543 ist die einmalige Kennung des NextGen Aktors in diesem Beispiel. Sie werden für Ihren Aktor eine andere Zahl sehen. Im verwendeten Roco Z21 EtherNet Protokoll spielt die NID eine wichtige Rolle. Deswegen wird diese Kennung auch für das WLAN verwendet. Notieren Sie sich die Nummer direkt auf den ESP8266 Baustein.
Verbinden Sie sich mit dem neu angezeigten WLAN. Verwenden Sie das Passwort „NWKONFIG“.
Wenn die Verbindung steht, starten Sie den Browser und rufen die Adresse 192.168.4.1 auf. Haben Sie sich mit dem PC eingeloggt, können Sie wahrscheinlich statt der Adresse auch den Namen APXXXX/ (im Beispiel AP3543/) eingeben.

Im Browser erscheint folgendes Menü:

Hauptmenü des Servo-Aktors 3543

Damit wir sehen, dass sich das Modul noch mit keinem WLAN verbunden hat, wird die Überschrift „WiFI Servo NextGen“ in roter Schrift wiedergegeben. Zunächst wollen wir, dass sich das Aktormodul mit unserem Modellbahn-WLAN-Router verbindet und klicken deswegen auf „WiFi Configuration“.

Hier müssen dem Aktormodul SSID und Passwort für den Modellbahnrouter bekannt gemacht werden.

Überschreiben Sie die Platzhalter MyHomeWiFi und Password mit der SSID und Passwort Ihres Routers. Wenn Sie unsicher sind, finden Sie diese Angaben meistens auf der Unterseite des Gerätes. Die Angaben zu „Mediator“ und „Decoder Address“ können Sie erst einmal so lassen. Dazu kommen wir später.

Klicken Sie nun auf „Save Settings“. Das NG Servo Aktormodul startet neu und baut eine Verbindung mit Ihrem Router auf. Wenn das erfolgreich war, wird das WLAN AP3543 (in diesem Beispiel 3543, bei Ihnen natürlich ein anderes) abgeschaltet. Spätestens jetzt sollte Ihr PC auch über Kabel oder WLAN mit demselben Router verbunden sein.

Falls bei Ihnen der Aufruf der Konfigurationsseite über den Namen APXXXX funktioniert hat, rufen Sie die Seite durch die erneute Eingabe dieses Namens noch mal auf (es reicht dazu im noch bestehenden Browserfenster den Cursor hinter dem Namen zu platzieren und Enter zu drücken). Die Webseite wird neu geladen und kommt nach einigen Sekunden mit grüner Überschrift und dem Namen des WLANs zurück.

Das neue Modul 3543 hat sich erfolgreich mit meinem Router TP-Link_F092 verbunden.

Konfigurieren Sie den Servo-Aktor mit Smartphone oder Tablett (auch die müssen vorher mit dem Modellbahn-Router verbunden werden), dann funktioniert die Angabe des Namens auf keinen Fall und müssen Sie die IP-Adresse des Servo-Aktors eingeben. Um diese IP-Adresse rauszufinden, gehen Sie auf die Adresse des Routers und schauen in der DCP Tabelle nach:

Jetzt sehen wir, dass der Servoaktor mit der der NID 3543 die IP-Adresse 192.168.20.127 erhalten hat.
Jetzt hat auch das Smartphone Zugang zu der Konfiguration

Die Konfigurationsvariablen CV

Über das Main Menu gehen wird auf „CV Configuration“.

Die Eingabemaske für die Konfigurationsvariablen

CV Num-merBedeutungVorein­stellung
CV001 und CV009Decoderadresse im Bereich von 1 – 512. Unter jeder Adresse können
wie bei Weichendecodern 8 Weichenspulen (sprich 4 Weichen) adres­-
siert werden. Statt Weichenspulen werden jedoch Servo-Positionen
aktiviert. Der Servo-Aktor könnte also bis zu 8 Positionen anfahren.
Werden Positionen nicht benötigt, kann der freie Adressraum von
anderen Servo-Aktoren verwendet werden. Es müssen keine Weichen-
adressen „verschenkt“ werden.
1
CV003Zunahme der Impulszeit in μs pro 16 ms. Das entspricht der Geschwin-
digkeit. Werte liegen zwischen 1 und 20.
10
CV007Zeigt die aktuelle Version der Firmware an (nur Lesen)
CV008Der Hersteller Code (Mobatron = 24). Schreiben Sie einen anderen
Wert als 24 in CV008, um ein Urlöschen aller CVs und anderen Einstel-
lungen zu bewirken.
CV031Die letzte Stelle der IP-Adresse des Mediators. Die hier definierte IP-
Adresse sollte die feste IP-Adresse sein, die Ihr WLAN Router für den
Mediator vergibt. Diese Adresse verwenden Sie in Ihrer Modellbahn-
software für den Zugriff auf die virtuelle Z21.
111
CV032Die letzte Stelle der IP-Adresse eines PCs im Modellbahnnetzwerk,
auf dem eine Terminalsoftware läuft. Auf diesem PC können die serielle Ausgaben des Servo-Aktors während des Betriebes über TCP/IP beob-
achtet werden.
202
CV033Betriebsart des seriellen Monitors. 0 = keine Ausgabe, 1 = serielle
Ausgabe auf USB-Port, 2 = Ausgabe über TCP/IP Protokoll auf einen PC
mit Terminalsoftware wie z.B. „YAT“. Nach erfolgter Inbetriebnahme sollte
hier wieder 0 eingetragen werden
1
CV034CV034 ist eine Bitmaske, die festlegt, wie viele und welche Positionen
von diesem Servo-Aktors verwendet werden. Formsignale und Weichen-
antriebe verwenden 3 oder 2 von 8 möglichen Positionen. Für jede
Position wird an entsprechender Stelle ein Bit gesetzt. Es dürfen nur die
Bits gesetzt werden die für diese Decoderadresse nicht bereits von
anderen Servo-Aktoren belegt sind. Mehrere Servo-Aktoren können
sich also dieselbe Decoderadresse teilen. Stellen Sie sich das so vor
als hätten Sie Weichen nicht nur mit 2 Spulen sondern auch mit 3 und
mehr Spulen. Unter der Tabelle gibt es Bespiele für eine sinnvolle
Belegung einer Decoderadresse mit 3 Servos.
7
CV035
und
CV036
Bei welcher Impulslänge in μs wird die rechte Endlage entsprechend 0° erreicht? (Blick auf die Abtriebswelle, Endlage in Uhrzeigersinn). Es
muss nicht die mechanische Endlage sein.
500
CV037
und
CV038
Bei welcher Impulslänge in μs wird die linke Endlage entsprechend 180° erreicht? (Blick auf die Abtriebswelle, Endlage gegen Uhrzeigersinn). Es muss nicht die mechanische Endlage sein.2500
CV042
bis
CV049
Positionen 1 – 8 in Grad. Der Servo-Aktor fährt nur die Positionen an,
für die auch ein Bit in der Maske aus CV034 gesetzt ist.
0, 90, 180, 0, 90, 180, 0, 90
Übersicht der CVs

Konfigurationsbeispiel:

Servo-AktorMaske
binär
Maske
dezimal
PositionenWeichen
Taste
CV
Servo-Aktor 1
Decoderadresse 5
CV034 =
00000111
CV034 =
7
1
2
3
17 rot
17 grün
18 rot
CV042
CV043
CV044
Servo-Aktor 2
Decoderadresse 5
CV034 =
00111000
CV034 =
56
4
5
6
18 grün
19 rot
19 grün
CV045
CV046
CV047
Servo-Aktor 2
Decoderadresse 5
CV034 =
11000000
CV034 =
192
7
8
20 rot
20 grün
CV048
CV049
3 Servo-Aktoren teilen sich eine Decoderadresse und steuern 2 3-begriffige Signale und eine Weiche bzw. ein 2-begriffiges Signal

Die Info Übersicht

Zurück über „Main Menu“ können wir uns noch die Webseite „Information“ ansehen.

Die Seite mit den Informationen des Servo-Aktors

Zunächst wird die verwendete Hardware, die installierte Firmware und Tag und Uhrzeit der Kom­pilation angezeigt. Unter Router-ID finden Sie den Namen des WLAN Routers wieder, mit dem sich das Ser­vo­mo­dul verbunden hat. Im obigen Beispiel steht AP0208 für den Hostnamen des Servo-Ak­tors. Nach dem Host­namen wird die IP-Adresse angezeigt, die der Router automatisch ver­ge­ben hat, gefolgt von der Mac-Adresse. Die IP-Adresse des Routers und die Subnet Maske, sind weitere Parameter, die die Netz­werk­ver­bin­dung defi­nie­ren. Dieser Servo-Aktor hat im Roco Z21 Protokoll die einmalige Kennung 208 (0208) und spricht mit dem Mediator mit der Adresse 192.168.20.112. Diese Adresse ist auch die Adresse, welche in die Modell­bahn­software für die Verbindung zur virtuellen Z21 eingetragen wird. In der Modellbahnsoftware werden die Wei­chen 20 – 23 zum Erreichen der 8 Positionen angesprochen. Die nicht physikalisch vor­han­denen Wei­chenausgänge 20 – 23 mit jeweils 2 „Spulen“ befinden sich auf einen ebenfalls nur gedachten Decoder mit der Nummer 6. Dieser Servo-Aktor verwendet von den 4 Weichen­adres­sen, Weiche 21 grün und Wei­che 22 rot und grün. Das ist das Bitmuster 0011100. Anders dar­ge­stellt verwendet der Aktor die Posi­tio­nen 4, 5 und 6 (–654—). Die zuletzt erreichte Position liegt bei einer Impulsbreite von 2525 μs. Mit F5 kann die Übersicht aktualisiert werden. Die An­zeige ist nicht dynamisch in dem Sinne, dass sie sich mit der Servoposition stetig verändert.

Mehr zum Thema NextGen Servo-Aktoren, Sensoren und Mediator finden Sie hier.


Downloads (bei Chrome rechte Maustaste und „Link speichern unter . . . “ )


Letzte Aktualisierung 29.07.2021