
LocoNet
Bis Ende 2018 setzten wir auf unserer Modulanlage zu größten Teil Nachbauten von HDL ein. Dies galt sowohl für den IO Vers. 149 und des Servotreibers Vers. 101. Leider hatten wir vor allem beim IO immer wieder Probleme mit der Zuverläsigkeit. Diese hätten durch neuere Firmwareversionen seitens von HDL abgestellt werden können. Leider gab es diverse rechtliche Konflikte mit Digitrax, als ursprüglicher LocoNet-Entwickler, weswegen die Frimware nicht mehr frei verfügbar war. Ein Upgrade hätte unseren Verein je Baustein ca. 7€ gekostet. Bei schätzungsweise 40 eingesetzten IOs hätten wir rund 280€ in neue PICs investieren müssen.
Unsere Elektroniker hielten deshalb schon längere Zeit nach Alternativen Ausschau. Und siehe da, die Arduino-Szene zeigte durchaus professionelle Lösungsansätze. Karlheinz Oestreicher hat sich vor allem von den Ausführungen von Philipp Gathow inspireren lassen. http://pgahtow.de/wiki/index.php?title=Loconet
Weitere grundlegende Harware- und Softwarequellen sind unter diesem Link zu funden: https://mrrwa.org/loconet-interface/
Aus diesen Informationen entstand unsere Einheitsplatine "KO UniLocoNet". Sie bildet die Hardware zur LocoNet-Anbindung. Je nach Frimware kann dann daraus ein IO-, Servo oder MP3-Sound-Baustein erstellet werden. Der Vorteil dieser Hardwarevariante: die Firmware gibt das Szenario vor - die Hardware bleibt!

-> weiterlesen
16 Ein- / Ausgänge für vielfältige Funktionen
Die Firmware gründet auf der Entwicklung von Dani Guisado - http://www.clubncaldes.com.
Innerhalb Rocrail bildet sie die Funktionalität des LocoNet-Bausteiens CGA50 ab.
In unserem Funktionsumfang haben wir eine Statusaktualisierung nach jeder Gleisspannungsfreischaltung implementiert und sie mit der Vers-Nr.: 151 versehen.
Auf unserer Modulanlage erfüllt der Baustein alle Aufgaben aus den Bereichen melden, schalten und signalisieren. Durch seine universell konfigurierbaren Ports bleiben fast keine Wünsche mehr offen.
IO unter Racrail einrichten:

Voraussetzung ist, dass eine funktionierende Verbindung über eine LocoNetkompatible Zentrale besteht.
Über den Menüpunkt Programmieren -> LocoNet -> LocoIO wird der eigentliche Programmierdialog geöffnet.
Dieser mehrseitige Dialog ist sehr mächtig. Seine sieben Reiter gruppieren zusammengehörige Konfigurationsgruppen.
Beim Aufruf des Dialoges befindet man sich in der Konfigurationsgruppe "Adresses".
Nach einem Mausklick auf Query werden alle LocoNet-Module, welche an diesem Bus hängen und die Abfrage erkennen, mit ihrer Moduladresse und Firmwareversion aufgelistet.
Die Versionsnummern lassen auf die Verwendung des Moduls schließen.
Aktuell gilt:
| V-Nr.: | Verwendung | Info |
| 101 | Servo | |
| 102 | EBF-Servo | Arduino |
| 149 | IO | |
| 150 | EBF-IO | Arduino |
| 151 | EBF-IO | Arduino |
| 841 | EBF-MP3-Sound | Arduino |
Nachdem das IO-Modul markiert ist kann im Konfigurationsbereich "Easy Setup" mit Get All die Konfiguration der Ports ausgelesen werden.
In der Titelzeile des Dialogs wird die aktuelle Moduladresse angezeigt.
Jeder der 16 zur Verfügung stehenden Ports kann auf dieser Dialogseite konfiguriert werden.
Zunächst sollte jeder Port seine eigene Adresse besitzen, sonst kann es zu unerwünschten Adresskonflikten führen.
Im nächsten Schritt wird jedem Port seine Aufgabe zugewiesen:
INPUT: Der Eingang reagiert sobald sein Pegel auf Low liegt. Es gibt keine Ein-/Ausschaltverzögerung. D.h. jedes prellen eines Tasters erzeugt Datenverkehr auf dem LocoNet-Bus. Daher sollte diese Funktionsweise nicht für unentprellte Rückmelder genutzt werden.
BLOCK: Auch hier reagiert der Eingang sobald sein Pegel auf Low liegt. Egal wieviele Trigger folgen bleibt sein Zustand stabil. Erst nach ca. 3-4 Sekunden nach dem letzten Trigger geht es zurück in den Ausgangszustand. Diese Betriebsart setzen wir zum Melden auf der Strecke ein. Sie ist selbst bei kurzen Punktmeldern zuverlässig.
SWITCH: In dieser Betriebsart ist der Port als Ausgang definiert. Mit der Option C2 (2 Coils = 2 Spulen) können zb.Weichen oder Signale mit Spulenantrieben angesteuert werden. Hierzu wird noch ein weiterer Port als Ausgang mit der gleichen Adresse definiert und einer der beiden erhält die Option C2. Die Ausgänge schalten nun im Wechsel von High nach Low.
PULSE: Diese Betriebsart entspricht nachezu der von Switch. Allerdings wird der Ausgang nach kurzer Zeit wieder zurück gesetzt.
In der Feldern Usage steht die verwendete RocRailkennung des Ports.
Sind die Einstellungen alle vorgenommen wird mit Set All die neue Kofiguration in das EPROM des Moduls geschrieben. Zusätzlich sollte die Konfiguration nochmals lokal mit Save gespeichert werden.
Nach dem Programmieren sollten die Module kurz ausgeschaltet werden, damit sie komplett neu hochfahren. Danach sind sie einsatzbereit.
ACHTUNG: Zum treiben von größeren Lasten müssen Schaltverstärker nachgeschaltet werden.
Acht Servos an einem LocoNet-Modul
Die Firmware gründet auf der Entwicklung von Dani Guisado - www.clubncaldes.com.
Innerhalb Rocrail bildet sie die Funktionalität des LocoNet-Bausteiens CGA136 ab.
Da dieser Baustein fast uneingeschränkt zum Stellen unserer Weichen dient, werden die Servos nach erreichen ihrer jeweiligen Endposition abgeschaltet. Damit wird einerseits die termische Leistung des 7805 enorm reduziert und andererseits die Mechanik des Servos entlastet.
Die Firmware ist mit der Vers-Nr.: 102 versehen.
Servo unter Racrail einrichten:

Voraussetzung ist, dass eine funktionierende Verbindung über eine LocoNetkompatible Zentrale besteht.
Über den Menüpunkt Programmieren -> LocoNet -> LocoIO wird der eigentliche Programmierdialog geöffnet.
Dieser mehrseitige Dialog ist sehr mächtig. Seine sieben Reiter gruppieren zusammengehörige Konfigurationsgruppen.
Beim Aufruf des Dialoges befindet man sich in der Konfigurationsgruppe "Adresses".
Nach einem Mausklick auf Query werden alle LocoNet-Module, welche an diesem Bus hängen und die Abfrage erkennen, mit ihrer Moduladresse und Firmwareversion aufgelistet.
Die Versionsnummern lassen auf die Verwendung des Moduls schließen.
Nachdem das Servomodul markiert ist kann im Konfigurationsbereich "Easy Setup" mit Get All die Konfiguration der Ports ausgelesen werden.
In der Titelzeile des Dialogs wird die aktuelle Moduladresse angezeigt.
Um unser Modul als Achtfach-Servo einsetzen zu können müssen die ersten acht Ports als Switch eingestellt werden. Natürlich sollte jeder Port seine eigene Adresse besitzen, sonst kann es zu unerwünschten Adresskonflikten führen.
Sind die Einstellungen alle vorgenommen wird mit Set All die neue Kofiguration in das EPROM des Moduls geschrieben. Zusätzlich sollte die Konfiguration nochmals lokal mit Save gespeichert werden.
Nun wird jeder einzelner Servoport eingestellt:
Port auswählen und mit Get die aktuellen Positionen aus dem EPROM des Moduls lesen.
Start- und Endposition werden in den Feldern Pos1 und Pos2 definiert. Der Parameter V steht für die Geschwindigkeit. Hier werden Werte von 0 bis 5 ausgewertet.
Nach einem klick auf Set werden die Daten ins EProm geschrieben. Ber unserer Firmwareversion 102 bewegt sich dann das Ruderhorn mit der vorgegebenen Geschwindikeit von der Start- zur Endposition und wieder zurück.
Nach dem Programmieren sollten die Module kurz ausgeschaltet werden, damit sie komplett neu hochfahren. Danach sind sie einsatzbereit.
Quelle: https://wiki.rocrail.net/doku.php?id=lnsv-de
48 Sounds aus einem IO
Dieses MP3-Soundmodul ist eine Weiterentwicklung des KO-LocoNetIO.
Die KO-UniLoconet-Platine dient, wie für alle dieser Entwicklungen als Hardwarebasis. Die Erweiterung besteht im wesentlichen aus einer kleinen Platine, die auf den IO-Steckplatz aufgesteckt wird. Sie trägt einen kleinen DFPlayer, ein Mini-MP3-Player. Dieser hat einen Slot für MiniSDCard und eine kleine Stereoendstufe. Also alles was ein richtiges Soundpaket ausmacht. Alle Parameter werden über eine serielle Schnittstelle an den Winzling übertragen. Wem die Power nicht ausreicht, kann mit entsprechenden Verstärkern nachhelfen.
Allerdings werden für diesen Baustein gleich 42 fortlaufende Adressen benötigt. Zur Einrichtung werden 16 Basisadressen belegt. Hinter jeder dieser Adressen werden intern nochmals +16 und +32 angesprochen. Siehe Dialog Programmieren->LocNnet->LocoIO. Die Lautstärke wird in RocRail im Reiter "OPC" Opcode, Argument1, Argument2 mit Werten zwischen 0 - 127 festgelegt.
Daraus kann ein tolles Klangerlebnis an lokalen Schwerpunkten erzeugt werden.
In einer künftigen Weiterentwicklung sollen die Sonds der unteren 16 Adressen als sogenannter Soundteppich eingespielt werden.
LocoNetSound unter Racrail einrichten:

Voraussetzung ist, dass eine funktionierende Verbindung über eine LocoNetkompatible Zentrale besteht.
Über den Menüpunkt Programmieren -> LocoNet -> LocoIO wird der eigentliche Programmierdialog geöffnet.
Dieser mehrseitige Dialog ist sehr mächtig. Seine sieben Reiter gruppieren zusammengehörige Konfigurationsgruppen.
Beim Aufruf des Dialoges befindet man sich in der Konfigurationsgruppe "Adresses".
Nach einem Mausklick auf Query werden alle LocoNet-Module, welche an diesem Bus hängen und die Abfrage erkennen, mit ihrer Moduladresse und Firmwareversion aufgelistet.
Die Versionsnummern lassen auf die Verwendung des Moduls schließen.
Nachdem das IO-Modul markiert ist kann im Konfigurationsbereich "Easy Setup" mit Get All die Konfiguration der Ports ausgelesen werden.
In der Titelzeile des Dialogs wird die aktuelle Moduladresse angezeigt.
Jeder der 16 zur Verfügung stehenden Ports kann auf dieser Dialogseite konfiguriert werden.
Zunächst sollte jeder Port seine eigene Adresse besitzen, sonst kann es zu unerwünschten Adresskonflikten führen.Im nächsten Schritt wird jedem Port seine Aufgabe zugewiesen:
Sind die Einstellungen alle vorgenommen wird mit Set All die neue Kofiguration in das EPROM des Moduls geschrieben. Zusätzlich sollte die Konfiguration nochmals lokal mit Save gespeichert werden.
In der Kofigurationsgruppe "OPC" werden nun für die Ports die einzelnen Soundpegel vergeben. Port auswählen und mit Get die aktuellen Soundpegel aus dem EPROM des Moduls lesen.
Im Beispiel hat der Port 16 die Adresse 100. So ergeben sich folgen Zuweisungen:
Adresse 100: Wert: 0 - 127 in Opcode = Soundpegel von 000_AbfahrtVonGleis1.mp3
Adresse 116: Wert: 0 - 127 in Argument1 = Soundpegel von 016_Windrauschen.mp3
Adresse 132: Wert: 0 - 127 in Argument2 = Soundpegel von 032_Bach.mp3
Nach einem klick auf Set werden die Daten ins EProm des Soundmoduls geschrieben.
Damit das so einfach funktioniert dürfen die MP3-Dateien nicht mit Klartextnamen, wie "AbfahrtVonGleis1.mp3" versehen werden, sondern müssen fortlaufend als "000_AbfahrtVonGleis1.mp3", "001_AbfahrtVonGleis2.mp3" ... "047_Kuhweide.mp3" auf der Speicherkarte gespeichert werden.Somit bleibt die richtige Zuweisung von Adresse und Sounddatei gewährleistet.
Nach dem Programmieren sollten die Module kurz ausgeschaltet werden, damit sie komplett neu hochfahren. Danach sind sie einsatzbereit.
Quelle: https://wiki.rocrail.net/doku.php?id=lnsv-de
-> weiterlesen