Für meinen mechanischen Servo­antrieb mit 3 Positionen hatte ich 2021 einen WLAN-Servo­con­trol­ler entworfen und ge­baut. Kurz zuvor gab es eine neue Ether­net Protokoll-Spe­zi­fi­ka­tion von Roco / Fleisch­mann. Darin wurden die Telegramme für den erweiterten Zu­be­hör­de­co­der ver­öf­fent­licht.


Schaltplan

An der Mechanik und der Auswahl des MG90S Servo hat sich seitdem nichts geändert. Auch der Einsatz des WEMOS D1 Mini wurde beibehalten. Der Mini versorgt das Servo mit 3,3V und liefert auch den erforderlichen Servoimpuls. Die Funktionalität der Decoder-Hard­ware wurde um die manuelle Einstellung der Endlagen erweiter. Dazu mussten dem Schaltplan einige Tasten hinzugefügt werden. Ich verwende dafür die Handbedienung, die ich auch für die Einstellung der herkömmlichen SerDecD Decoder schon verwendet habe.

Prinzipieller Aufbau mit den Tasten für die einmalige Einstellung der Endlagen
Kleines Handbediengerät aus dem 3D-Drucker für die Einstellung der Endlagen

Software

Die Software für den ESP8266 wurde mit der Arduino IDE erstellt. Für die Erzeugung des Servo-Impulses kommt die Bibliothek „core_esp8266_waveform“. Sonstige Biblio­the­ken sind ESP8266WiFi, WiFiUdp, EEPROM, ArduinoOTA und ESP8266WebServer.

Die neueste Software in der Version 1.03 hat keine mir bekannte Macken und funktioniert mit dem Standard Weichenbefehl LAN_X_SET_TURNOUT und mit dem Befehl für erweiterte Zube­hördecoder LAN_X_SET_EXT_ACCESSORY.


Erklärung mit Screenshots

Der Wemos D1 Mini loggt sich direkt in den ­WLAN-Router der Modellbahn ein und erhält von die­sem eine zufällig gewählte IP-Adresse aus dem DHCP-Bereich. Beim Einrichten des Netz­wer­kes und der Sen­so­ren und Aktoren muss man diese Adresse noch kennen. Beim Betrieb der An­la­ge hin­ge­gen nicht mehr, weil der Decoder über die Ausgangsadresse des Zube­hörartikels (Weiche/Signal) angesprochen wird.

Ein weiterer Wemos D1 Mini übernimmt die Rolle des Vermittlers und wird des­wegen Mediator genannt. Dieser Media­tor loggt sich, wie der Servo-Aktor, in den WLAN-Router ein und erzwingt im Router jedoch eine feste IP-Adresse, die Sie vorgeben. Zusätzlich kann man natürlich auch den Router über Adress-Reservierung dazu bewegen, aufgrund der eingehenden Mac-Id dem Mediators immer dieselbe Adresse zuzuweisen. Dazu später mehr. Der Mediator über­nimmt die Rolle einer abgespeckten „Z21“ Zentrale, die nur für (bestimmte) WLAN Rückmelder oder zum Stellen von Weichen und/oder Signale verwendet wird. Die feste IP-Adresse dieser virtu­ellen Z21 Zentrale wird von der Modellbahn-Soft­ware wie die Standard-Adresse 192.168.0.111 einer reellen Z21 verwen­det. Bei mir hat der Mediator die Adresse 192.168.20.111. Die Modell­bahn-Soft­ware „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 Auf­träge zum Stellen von Weichen und Signalen, zum Lesen und Schreiben von CVs und anderen Informa­tionen.


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_1.03.bin“ für den Servo-Aktor. Verbinden Sie den PC und den Servo-Aktor (bzw. den nackten Wemos Mini D1) über das USB-Kabel. Wählen Sie den seriellen Port aus und starten den Flash Vorgang.

Beim ESPHome-Flasher sieht das so aus:

Der serielle Port COM11 wurde ausgewählt und die Firmware z21_servo_control_1.03.bin geladen. Klicken Sie jetzt auf „Flash ESP“!
Der ESPHome-Flasher hat seine Arbeit begonnen. Zunächst wird der komplette Flash-Speicher des Chips gelöscht. Alle vorherigen Daten aus der Version 1.02 sind damit weg. Danach wird der neue Inhalt geladen und der ESP8266 initialisiert alle Parameter.
Nach getaner Arbeit zeigt das Log Fenster, dass tatsächlich alle Parameter und Einstellungen auf Default zurückgesetzt wurden. Der Servo-Controller macht einen eigenen AP auf (im Beispiel „SRV_00D0“), in dem man sich mit dem Passwort „NWKONFIG“ einloggen kann. Mit dem Browser kann man nun die Adresse 192.168.4.1 aufrufen und den Baustein (erneut) konfigurieren.

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

Unter dem Reiter Config wird mithilfe des Zahnradsymbols die
Firmware z21_servo_control_1.03.bin 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 frisch geflashten Servo-Aktor gesagt werden, mit welchem WLAN er sich ver­binden muss. Noch sind weder der PC (Smartphone, Tablett) noch der Ser­vo-Aktor mit ir­gend­einem Netzwerk ver­bun­den. Damit wir überhaupt Ver­bin­dung mit dem Modul aufnehmen kön­nen, spannt es ein eigenes WLAN auf, mit dem wir uns (PC/Smartphone oder Tablett) ver­binden können. In der WLAN-Liste sehen wir ein neues WLAN:

Die WLAN-Liste im Smartphone zeigt 2 neue WLANs, SRV_8DF7 und SRV_C59A.

Das WLAN SRV_8DF7 ist in der WLAN-Liste neu erschienen. Die Buch­staben „SRV_“ stehen für Servo, die 4-stellige hexadezimale Zahl 8DF7 ist die einmalige Kennung des NextGen Aktors in diesem Bei­spiel. Sie werden für Ihren Aktor natürlich einen anderen hexadezimalen Code se­hen. Notieren Sie sich den Namen direkt auf den ESP8266 Baustein für den Servo.
Verbinden Sie sich mit dem neu angezeigten WLAN. Verwenden Sie das Passwort „NWKONFIG“.
Wenn die Verbindung steht, star­ten 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 SRV_XXXX/ (im Bei­spiel SRV_8DF7) eingeben.

Im Browser erscheint folgendes Menü:

Hauptmenü des Servo-Aktors
SRV_8DF7 auf dem Smartphone.

Damit wir sehen, dass sich das Modul noch mit keinem WLAN verbunden hat, wird die Über­schrift „WiFi Servo NextGen“ in roter Schrift wieder­ge­ge­ben. Zunächst wollen wir, dass sich das Aktor-Modul mit un­serem Modellbahn-WLAN-Router verbindet und klicken deswegen auf „WiFi Configuration“.

Hier müssen dem Aktor-Modul 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 An­ga­ben meistens auf der Unterseite des Gerätes. Die Angaben zu „Mediator“ und „Decoder Address“ können Sie erst ein­mal so lassen. Dazu kommen wir später.

Klicken Sie nun auf „Save Settings“. Das NG Servo Aktor-Modul startet neu und baut eine Ver­bindung mit Ihrem Router auf. Wenn das erfolgreich war, wird das WLAN SRV_8DF7 (in diesem Beispiel, bei Ihnen natürlich ein anderes) abge­schaltet. Spätestens jetzt sollte Ihr PC auch über Kabel oder WLAN mit dem­sel­ben Router verbunden sein.

Falls bei Ihnen der Aufruf der Konfi­gu­ra­tionsseite über den Namen SRV_XXXX funktioniert hat, rufen Sie die Seite durch die erneute Eingabe dieses Na­mens 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 Sekun­den mit grüner Über­schrift zurück.

Das NextGen Servo-Modul hat sich erfolgreich mit dem
WLAN des Modellbahnrouters verbunden.

Falls Sie den Servo-Aktor mit einem Android Smart­pho­ne oder Tablett konfigurieren (auch die müssen vorher mit dem Modellbahn-Router verbunden werden), dann funk­tioniert die Angabe des Namens auf kei­nen Fall und müssen Sie stattdessen die IP-Adresse des Servo-Aktors ein­geben. Um diese IP-Adresse herauszufinden, ge­hen Sie auf die Adresse des Routers und schauen in der DHCP Tabelle nach:

Hier in der Liste der DHCP WLAN Clients sehen Sie, dass das Modul
mit dem Namen SRV_8DF7 die Adresse 192.168.20.123 erhalten hat.

Die Konfigurationsvariablen CV

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

Eingabemaske für die Konfigurationsvariablen.

CV Num­merBeschreibungVorein­stellung
CV001 / CV009Ausgangsadresse bzw. Weichennummer im Bereich von 1 – 2048. Unter einer Adresse können norma­ler­weise beide Spulen einer Weiche, rot und grün, abzweigend und gerade angesprochen werden. Beim NextGen Servo-Aktor werden mit einer Ausgangsadresse maximal zwei Signalbilder, rot und grün oder 2 Weichenstellungen rund = rot = abzweigend oder grün = gerade angesteuert. Hat ein an­geschlossenes Signal mehr als 2 Begriffe, dann wird für jedes weitere angebrochene Paar Begriffe intern automatisch die nächste Ausgangs­adresse verwendet.
So kann der Servo-Aktor mit 4 Aus­gangs­adres­sen bis zu 8 Sig­nal­­be­grif­fe stellen. Werden im Standard-Modus Aus­gangs­adres­sen mit nur mit einem Begriff belegt, kann der freie Adressraum von anderen Servo-Aktoren verwendet werden. Es müssen keine Aus­gangs­adres­sen „ver­schenkt“ werden, weil der Servo 3 oder 5 Begriffe anfahren soll. Im „erweiterten Modus“ für Zubehördecoder braucht es immer nur eine Ausgangsadresse um fast beliebig viele Begriffe (256) an­zu­steu­ern. Der NextGen Servoaktor unterstützt von den 256 möglichen Begriffen allerdings nur die ersten 8. Ausgangsadressen gehen intern (Raw Adres­sen) von 0 – 2047. Für den An­wender und seine Mo­dell­bahn­soft­ware gibt es nur die Adressen von 1 – 2048.
1
CV003Zunahme der Im­puls­zeit in μs pro 16 ms. Das entspricht der Ge­schwin­dig­keit. Werte liegen zwischen 1 und 20.10
CV007Zeigt die aktuelle Version der Firm­ware an (nur Lesen).
CV008Der Hersteller Code (Mobatron = 24). Schreiben Sie einen anderen Wert als 24 in CV008, um ein Rücksetzen auf Werks­ein­stel­lun­gen aller CVs und anderen Ein­­stel­lun­gen zu be­wir­ken. Danach muss der Servo-Aktor komplett neu kon­fi­gu­riert werden.24
CV029Die Eingabe der Zahl 32 (entspricht Bit 5) schaltet den Servo-Steller von Standard auf erweitert. Im Standard Modus (CV29=0) braucht er jeweils eine Aus­gangs­adresse für jedes ange­brochene Paar Positionen. Im er­wei­ter­ten Modus wird grund­sätz­lich nur eine Aus­gangs­adresse für bis zu 256 Positionen benö­tigt. Der NextGen WLAN Servo-Steller kann aller­dings nur die ersten 8 Positionen ansteuern0
CV031Die letzte Stelle der IP-Adresse des Me­dia­tors. Die hier definierte IP-Adresse sollte die feste IP-Adresse sein, die Ihr WLAN Router für den Mediator vergibt. Diese Adresse ver­wen­den Sie auch in Ihrer Mo­dell­bahn­soft­ware für den Zugriff auf die virtuelle Z21.111
CV032Die letzte Stelle der IP-Adresse eines PCs im Modell­bahn­netz­werk, auf dem eine Ter­mi­nal­soft­ware läuft. Auf diesem PC können die serielle Ausgaben des Servo-Aktors während des Betriebes über TCP/IP be­ob­ach­tet werden. 202
CV033Betriebsart des seriellen Monitors. 0 = keine Aus­ga­be, 1 = serielle Aus­ga­be auf USB-Port, 2 = Ausgabe über TCP/IP Protokoll auf einen PC mit Ter­mi­nal­soft­ware wie z.B. „YAT“. Nach erfolgter In­be­trieb­nahme sollte hier wieder 0 einge­tragen werden.1
CV034CV034 enthält die Anzahl Positionen/Begriffe, die von diesem Servo-Aktor verwendet werden. Form­sig­nale und Weichen­antriebe verwenden 2 oder 3 von 8 möglichen Posi­tionen.7
CV035
und
CV036
Bei welcher Impulslänge in μs wird die rechte Endlage entsprechend 0° erreicht? (Blick auf die Abtrieb­swelle, 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
CV040Die Refresh-Zeit der Info Seite. Um die Servo-Position in µs zu beob­ach­ten kann eine kürzere Wieder­hol­zeit des Seiten­aufbaus defi­niert wer­den. Bedenken Sie jedoch, dass das WLAN Band­breite kostet und stel­len Sie nach Gebrauch wieder eine Zeit von ca. 5 s ein.5
CV042
bis
CV049
Positionen 1 – 8 in Grad. Der Servo-Aktor fährt nur die Anzahl Posi­ti­onen an, die auch in CV034 defi­niert wurde.0, 90, 180, 0, 90, 180, 0, 90
Übersicht der CVs

Konfigurationsbeispiel:

Servo-AktorAnzahl
Positionen
PositionenWeichen
Taste
CV
Servo-Aktor 1
Ausgangsadresse 17
CV034 =
3
1
2
3
17 rot
17 grün
18 rot
CV042
CV043
CV044
Servo-Aktor 2
Ausgangsadresse 18
Ausgangsadresse 19
CV034 =
3
4
5
6
18 grün
19 rot
19 grün
CV045
CV046
CV047
Servo-Aktor 3
Ausgangsadresse 20
CV034 =
2
7
8
20 rot
20 grün
CV048
CV049
3 Servo-Aktoren im Standard-Modus verwenden die Adressen 17 – 20, um 2 3-begriffige Signale und eine Weiche bzw. ein 2-begriffiges Signal zu steuern

Die Info Übersicht

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

Die Seite mit den Informationen zum NextGen Servo-Aktor mit dem Namen SRV_8DF7

Im obigen Beispiel für NextGen Servo SRV_8DF7 sieht man zunächst wird die verwendete Hardware, die installierte Firmware und Tag und Uhrzeit der Kom­pilation. Unter Router SSID finden Sie den Namen des WLAN-Routers wieder, mit dem sich das Ser­vo­-Mo­dul verbunden hat. Nach der Router-SSID wird seine IP-Adresse und die verwendete Subnet Maske angezeigt. Die von Ihnen definierte feste IP-Adresse des Mediators wird gefolgt von der über DHCP vergebene IP-Adresse 192.168.20.123 des Servo-Aktors SRV_8DF7. Die Mac-Adresse des Aktors SRV_8DF7 sollten Sie auch im Router wiederfinden. In der Modell­bahn­software wird die Weiche oder das Signal 23 angesprochen. Dieser Servo-Aktor verwendet die Positionen 1 und 2 der Tabelle. Die zuletzt erreichte Position liegt bei einer Impuls­breite von 2501 μs.

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

Downloads (Chrome: rechte Maustaste: „Link speichern unter …“)



©2022 Gerard Clemens – Letzte Aktualisierung 03.04.2022

Z21 is a registered trademark of Modelleisenbahn GmbH, Plainbachstraße 4, A-5101 Bergheim, Austria.

iTrain is a registered trademark of Berros, 9204 LH Drachten, Netherlands.

Rocrail is a registered trademark of Robert Jan Versluis, 67373 Dudenhofen, Germany.

Win-Digipet is a trademark of Digipet, Dr. Peter Peterlin, 50354 Hürth, Germany