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 lie­fert auch den erforderlichen Servoimpuls. Die Funktionalität der Decoder-Hard­ware wurde um die manuelle Einstellung der Endlagen erweitert. Dazu mussten dem Schalt­plan einige Tasten hin­zu­ge­fügt werden. Ich verwende dafür die Handbedienung, die ich auch für die Einstellung der herkömmlichen SerDecD Decoder schon verwendet habe. Die vier Tas­ten der Handbedienung verbinden 4 Ports des Controllers mit Masse.

Prinzipieller Aufbau mit den Tasten für die einmalige Einstellung der Endlagen
Kleines Handbediengerät zum Einstellen der Endlagen aus dem 3D-Drucker. Die Tasten
liegen im Raster vom 2,54 mm, sodass ein kleines Stück Lochrasterplatine
reicht, um das Ganze intern zu verdrahten. Tasten sind DT 6 von Reichelt, aber natürlich
gehen auch viele andere.

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“ zum Einsatz. Sonstige Biblio­the­ken sind ESP8266WiFi, WiFiUdp, EEPROM, ArduinoOTA, ESP8266WebServer und WebSocketsServer.

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

Die Modellbahn-Software-Pakete Rocrail und iTrain haben den Befehl LAN_X_SET_EXT_ACCESSORY implementiert und können deswegen über eine einzelne Zu­be­hör­adresse bis zu 8 Positionen ansteuern (theoretisch sogar 32 sogenannte „Aspects“ oder Signalbegriffe). Da wir hier aber von mechanischen Signalen mit nur 3 Positionen und Servos mit begrenzter Auflösung reden, lässt die Software „nur“ 8 verschiedene Positionen zu.


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, der Sen­so­ren und Aktoren muss man diese IP-Adresse noch kennen. Beim Betrieb der An­la­ge hin­ge­gen nicht mehr, weil der Decoder über die Weichenadresse bzw. ü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 „Media­tor“ genannt. Dieser Media­tor loggt sich, wie der Servo-Aktor, in den WLAN-Router ein und er­hält passend zu seiner MAC-Id immer dieselbe, also eine feste IP-Adresse. Sie geben vor, wel­che Adresse Sie sich für den Mediator wünschen, so z. B. die 111 an letzter Stelle. Dazu ver­wen­det man im Router ein Feature mit dem Namen Adress-Reservierung. Dazu aber später mehr. Der Mediator über­nimmt die Rolle einer abgespeckten „Z21“ Zentrale, die nur für (be­stimm­te) WLAN Rückmelder oder zum Stellen von Weichen und/oder Signalen 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ück­meldungen von NextGen Modulen kommen über diese Adresse in den PC und an diese Adres­se 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 „20230714_z21_Servo_NextGen_V1.04.ino.bin“ für den Servo-Aktor. Verbinden Sie den PC und den Servo-Aktor (bzw. den nackten Wemos Mini D1) über ein USB-Kabel. Wählen Sie den seri­ellen Port aus und starten den Flash Vorgang.

Beim ESPHome-Flasher sieht das so aus:

Der serielle Port COM11 wurde ausgewählt und die (vorherige Version der) 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.03 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 ‚20230714_z21_Servo_NextGen_V1.04.ino.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_“ ste­hen 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 hexa­de­zi­malen 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 dazu 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_0A4D

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_0A4D die Adresse 192.168.20.120 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
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_0A4D

Im obigen Beispiel für NextGen Servo SRV_0A4D sieht man zunächst wird die verwendete Hard­ware, 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 defi­nierte feste IP-Adresse des Mediators wird gefolgt von der über DHCP vergebene IP-Adresse 192.168.20.122 des Servo-Aktors SRV_0A4D. Die Mac-Adresse des Aktors SRV_0A4D sollten Sie auch im Router wiederfinden. In der Modell­bahn­software wird die Weiche oder das Signal über die Adresse 3 angesprochen. Da die Betriebsart „Extended Decoder“ aktiv ist, werden mit der einzigen Weichenadresse 3 drei Positionen angefahren. Dieser Servo-Aktor verwendet die ersten 3 Positionen 1, 2 und 3 der Ta­bel­le. Die zuletzt erreichte Position liegt bei einer Impuls­breite von 499 μs.

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

Downloads



©2023 Gerard Clemens – Letzte Aktualisierung 15.08.2023


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