Standard S88 absolut adressiert
Obwohl die Anwendung von S88 für die Rückmeldungen im Modellbahnbereich sehr einfach ist, sind einige Nachteile nicht zu vermeiden. Besonders die oft gepriesene „automatische Adressierung“ erweist sich bei Anlagenerweiterungen und Umbauten eher als Nachteil. Fügt man in das lineare S88 System ein Modul ein, verschieben sich die Adressen aller nachfolgenden Module. Hängt man das neue S88 Modul einfach ans Ende der Kette, sind lange Wege im S88 Kabel oder in der Verdrahtung zum S88 Modul die Folge. Wie wir auch im Beitrag „S88 neu adressiert“ gesehen haben, erhöht das die Störempfindlichkeit des Systems. Modulanlagen mit variablem Aufbau sind mit Standard S88 nur mühsam zu realisieren. Für den automatischen Betrieb eines neuen Arrangements müssten alle Rückmeldeadressen den neuen Gegebenheiten angepasst werden. Mit dem hier vorgestellten Kopfmodul AKS88NB erhalten einzelne S88 Module oder Gruppen von Standard S88 Modulen feste Adressen. AKS88NB steht für Adressierbarer Kopf für S88 mit Netzwerkkabel und DatenBus. Weitere Vorteile dieses Kopfmoduls sind die höhere Störfestigkeit durch die Verwendung eines niederohmigen Datenbus und die frei wählbare Kabeltopologie, die zu kürzeren Kabeln und weniger Verdrahtung führt. Bei Modulanlagen kommt als wesentlicher Vorteil dazu, dass innerhalb eines Moduls die bisherigen S88 Baugruppen nicht angefasst werden müssen und dass sich auch an der Anlagenverdrahtung zu diesen Baugruppen nichts ändert. Unter der Voraussetzung, dass sich die Modellbahnsteuersoftware auch modular konfigurieren lässt, kann man mit dieser neuen Lösung einfach eine neue Reihung der Module durchführen, ohne alle Rückmelder neu programmieren oder von der Adresse her verschieben zu müssen. Ein Beitrag zu diesem Modul erschien in der Zeitschrift „Digitale Modellbahn“, Ausgabe 2/2018.
Zusammengefasst bietet das neue „AKS88NB“ Modul folgende Eigenschaften:
- Das Modul AKS88NB ist voll kompatibel mit allen 5V-Zentralen und 5V-S88 Scannern.
- Alle bisherigen Standard S88 Module können ohne Änderung der Verkabelung und der Verdrahtung weiterverwendet werden.
- Bis zu 4 Standard S88 (16-Bit) werden unterstützt.
- Programmierbare (Anfangs-)Adresse im Bereich der auf der Zentrale konfigurierten Anzahl von S88 Modulen. Diese Adresse wird im EEProm des Prozessors nullspannungsfest gespeichert.
- Die Anzahl der nachgelagerten „halben“ Standard S88 Module wird mit den 3 Steckbrücken „1“, „2“ und „4“ definiert.
- Geringe Anzahl an Komponenten. Der Mikroprozessor ATTiny2313A übernimmt als einzige aktive Komponente alle Aufgaben.
- Der Mikroprozessor wird aus der S88 Schnittstelle der Zentrale mit 5V versorgt. Das Modul ist NICHT 12 V kompatibel!
- Kann nur mit Netzwerk Patchkabeln angeschlossen werden (abgeschirmt und störsicher).
- Auf der Seite der Standard S88 Baugruppen bietet das Modul ebenfalls einen RJ45 Anschluss für die Verwendung von Netzwerk-Patchkabeln. Aber auch die traditionelle 6-polige Stiftleiste für ältere Standard S88 Module ist vorhanden.
- Unterstützt lineare (wie bisher), Baum- und Bus-Stichleitungs-Topologien mit handelsüblichen RJ45 T-Stücken.
- Eine Reihenfolge von AKS88NB (oder auch RM8S88NB) ist nicht einzuhalten.
- Der Datenbus (S88_DATA) zur Zentrale ist durch den Bipolaren Mikroprozessor Port von Hause aus niederohmig. Sendet gerade keines der NB Module Daten zur Zentrale, wird der Bus mit einem Lastwiderstand niederohmig (störsicher) abgeschlossen und auf Masse gehalten. Auf einem Modul, normalerweise dem letzten Modul, wird dazu auf JP1 eine Steckbrücke platziert.
- Die AKS88NB Module haben 2 primäre RJ45 Buchsen. Es gibt keine „DATA-IN“ und „DATA-OUT“ Unterscheidung wie bei Standard S88 Modulen.
- Das AKS88NB Modul kann zusammen mit RM8S88NB am gleichen S88 BUS verwendet werden.
Topologie-Beispiel
Anhand eines Beispiels wird die Verwendung der AKS88NB Module gezeigt. Eine modulare Gleisanlage mit einem Bahnhofsmodul, einem Betriebswerk-Modul und zwei einfachen Gleismodulen wird mit Standard S88 betrieben. Die Module sind in der Grafik durchnummeriert. 16-Bit Module haben eine Bezeichnung mit einem „#“ Zeichen. „Halbe“ oder 8-Bit Module haben eine Nummer, mit zwei vorangestellten „#“-Zeichen.
Alle S88 Rückmeldebausteine in den Gleismodulen hängen als Perlen an der Kette im S88 Kabel. Möchte man das Streckenmodul 2 zwischen dem Bahnhofsmodul und dem Betriebswerk platzieren, ohne dabei eine Adressänderung in Kauf zu nehmen, müsste man das S88 Kabel kreuz und quer durch das Arrangement ziehen, damit die ursprüngliche Reihenfolge und damit die Adressen gewährt bleibt. Das führt zu sehr langen S88 Kabeln und damit zu einem weniger zuverlässigen und übersichtlichen Rückmeldesystem.
Wirklich absolute Adressierung, auch der Standard S88, bei völliger Freiheit in der Topologie lässt sich nur unter Zuhilfenahme von adressierbaren Köpfen AKS88NB erreichen.
Einstellen der Adressen
Das Einstellen der Anfangsadresse eines AKS88NB Kopfes geschieht genauso wie bei einem RM8S88NB. Am besten wird ein grafischer Monitor für die Rückmelder verwendet, wie ihn z. B. Win-Digipet oder iTrain zur Verfügung stellt. So hat man die beste Übersicht, um unabhängig von der gewählten Topologie das Mapping der Rückmelder zu gestalten. Für Modellbahnprogramme, die von Hause aus einen solchen Monitor nicht anbieten, kann man dafür auch alle Rückmelder auf einer Stellwerksseite anzeigen. Abbildung 3 zeigt, wie das in Rocrail aussehen kann.
Bevor das zu programmierende AKS88NB Modul mit einem Patchkabel separat an die Zentrale angeschlossen wird, muss mithilfe der Steckbrücken 1, 2 und 4 die Anzahl der angeschlossenen Standard 8-Bit-Module definiert werden. Keine Brücke bedeutet 1 Modul, alle 3 Brücken gesteckt bedeutet, dass 8 Standard 8-Bit Module bedient werden (entspricht 4 16-Bit S88 Module). Ist die Anzahl eingestellt (siehe Tabelle 1), wird die Brücke JP3 kurz gesteckt und wieder entfernt. Die rote LED leuchtet auf. Im S88 Monitor wird nun die aktuelle Adresse (in Binärcode) an der richtigen Stelle angezeigt. Sind am AKS88NB mehr als 1 Standard S88 Module angeschlossen, wird auch deren Adresse im Monitor angezeigt. Nehmen wir an, Sie haben 3 8-Bit Module an X3 angeschlossen und das AKS88NB ist noch nicht konfiguriert. Der in Rocrail von mir programmierte S88 Monitor zeigt nun an:
Um nun die Adresse anzupassen, wird der Taster kurz gedrückt. Die Adressen inkrementieren und im Monitor sieht man, dass die drei Module jetzt die Modulnummern ##2, ##3 und ##4 belegen. Die binäre Darstellung wird entsprechend angepasst. Man betätigt die Taste nun so oft, bis die Position der Module, d. h. die Adresse, korrekt ist. Nehmen wir an, Sie wollten das erste halbe Modul auf der Nummer ##6 haben.
Nach dem 5. Tastendruck werden die 3 Module auf den Halbmoduladressen ##6 bis ##8 abgebildet. Man würde die Rückmelder deswegen im Modellbahnprogramm unter den Adressen 41 bis 64 verwenden können. Hat man so die gewünschte Adresse erreicht, wird der Taster erneut betätigt und so lange gehalten, bis die LED erlischt (nach ca. 6 s.). Die neuen Adressen sind nun fest im EEPROM des RM8S88NB hinterlegt. Das nächste AKS88NB Modul kann programmiert werden. Erreicht man mit dem Taster die maximal mögliche Adresse, springt die Anzeige wieder auf 1. Um zu vermeiden, dass man bis zu 63 mal drücken muss, auch wenn man auf der Zentrale nur 4 16-Bit Module konfiguriert hat, zählt der AKS88NB die Clockimpulse, die zwischen zwei Loads von der Zentrale kommen, mit und macht daran fest, wann die Adresse wieder auf 1 springen soll.
1 | 2 | 4 | Anzahl „halbe S88“ |
– | – | . | 1 |
X | – | – | 2 |
– | X | – | 3 |
X | X | – | 4 |
– | – | X | 5 |
X | – | X | 6 |
– | X | X | 7 |
X | X | X | 8 |
Abschlusswiderstand
Die AKS88NB Module verwenden vom S88 Standard außer +5V und Ground nur die S88_LOAD-, die S88_CLOCK- und die S88_DATA-Leitung. Die Datenleitung ist allerdings durchgehend und wird als Busleitung betrieben. Erst wenn ein AKS88NB Modul aufgrund der eingehenden S88_CLOCK Impulse feststellt, dass seine Information nun in Richtung Zentrale geschoben werden muss, schaltet es sich auf den Bus und setzt zu den nächsten 8 bis 64 Clock Impulse seine Daten auf die Datenleitung. Die übrige Zeit ist der Ausgang des Moduls hochohmig. Um undefinierte Zustände auf der Datenleitung zu vermeiden, wenn gerade kein Modul sendet, wird der Datenbus mit 330 Ohm nach Masse relativ niederohmig abgeschlossen. Das wird nur an einer Stelle auf einem der AKS88NB oder RM8S88NB Module durch Stecken eines Jumpers auf JP1 gemacht.
Nachbau
Das Modul verwendet den Atmel 8-Bit AVR Prozessor ATTiny2313A. Die Software wurde in Atmel Studio 7 in „C++“ erstellt.
Das Layout ist wegen der vielen Verbindungen zwischen den 8-poligen Modulsteckern doppelseitig. Bei selbst geätzten Platinen sind mehrere Drahtbrücken auf der Bestückungsseite erforderlich. Baut man auf Lochrasterplatine auf, dann sind die 3 RJ45 Netzwerkbuchsen der kniffeligste Part beim Zusammenbau.
Beim Prototyp auf Lochrasterplatine wurden auf der Unterseite der Buchsen die schwarzen Rast-Stifte abgeschnitten und die Beinchen 1, 3, 5 und 7 nach links, die Beinchen 2, 4, 6 und 8 entsprechend nach rechts verbogen, sodass sie alle im 2,54 mm Raster liegen. Dann werden noch 2 Löcher von 1,2 mm für die beiden Zungen des Blechschirms gebohrt. Das wird dann dreimal gemacht. Natürlich kann man auch eine der beiden Buchsen auf der S88NB BUS Seite weglassen und dafür einen RJ45 Verteiler (Abbildung 8 – Reichelt WB 3X8-8 SW) für die Verbindung zum nächsten NB (BUS) Modul verwenden.
Nachfolgend stelle ich alle erforderlichen Unterlagen für den nicht-kommerziellen Nachbau bereit. Achtung: Alle Angaben ohne Gewähr. Der Autor haftet nicht für Schäden, die durch die Verwendung dieser Information entstehen.
Informationen für den Nachbau des AKS88NB Moduls |
AKS88NB Schaltplan |
AKS88NB Bestückung |
AKS88NB Eagle und Gerber Dateien (Zip-File) |
AKS88NB Platine bei Seeed bestellen (China) |
AKS88NB Stückliste |
AKS88NB Reichelt Warenkorb |
AKS88NB Firmware (aks88nb.hex, aks88nb.eep und aks88nb.elf vom 1.07.2023) |
AKS88NB programmierter Prozessor. Bestellen Sie bei mir formlos per Mail. Geben Sie bitte Ihren Namen und Ihre Anschrift an. Kosten 4,- Euro/Stück + Versand. |
© 2015 – 2023 Gerard Clemens – Letzte Aktualisierung 29.07.2023
4. März 2022 um 11:39 Uhr
Hallo,
erst einmal ein recht Herzlichen Dank für Ihre Mühe und das Sie alles frei zu Verfügung stellen.
Ich habe Bereits den S88 Scanner nachgebaut, der erfolgreich in meiner kleinen Anlage seine Dienste verrichtet.
Jetzt habe ich mir auch ein paar AKS88NB nachgebaut.
Damit habe ich leider meine Probleme.
Ich verwende 16 Bit Rückmelder und wenn ich diese über den AKS88NB laufen lasse, dann wird mein High Byte falsch ausgegeben. Wenn ich Eingang 10 belege, dann wird auch in Rocrail Eingang 11 angezeigt und die Nachfolgenden Eingänge sind um einen verschoben. Eingang 16 wird somit gar nicht mehr angezeigt.
Die Problematik ist in allen nachfolgenden Rückmeldemodule.
Wissen Sie, woran das liegen kann, bzw. ob ich evtl. den Attiny falsch programmiert habe?
Über eine Rückmeldung würde ich mich freuen.
Machen Sie weiter so, besten Dank und mit freundlichen Grüßen!
8. Februar 2021 um 21:34 Uhr
ist die Fuses Einstellung 64/DF/FF ok, oder muß noch eine Anpassung erfolgen? viele Grüße
9. Februar 2021 um 10:00 Uhr
Fuses für AKS88NB:
SELFPRGEN = [ ]
DWEN = [ ]
EESAVE = [ ]
SPIEN = [X]
WDTON = [ ]
BODLEVEL = 2V7
RSTDISBL = [ ]
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = INTRCOSC_8MHZ_14CK_65MS
EXTENDED = 0xFF (valid)
HIGH = 0xDB (valid)
LOW = 0xE4 (valid)