• Hallo TT-Modellbahner, schön, dass du zu uns gefunden hast.
    Um alle Funktionen nutzen zu können, empfehlen wir dir, dich anzumelden. Denn vieles, was das Board zu bieten hat, ist ausschließlich angemeldeten Nutzern vorbehalten. Du benötigst nur eine gültige E-Mail-Adresse und schon kannst du dich registrieren.
    Deine Mailadresse wird für nichts Anderes verwendet als zur Kommunikation zwischen uns.
    Die Crew des TT-Boardes

Gleisbildstellwerk digitalisieren

Dirk J

Foriker
Beiträge
258
Reaktionen
1
Hallo Zusammen,

Ich möchte euch einen kleinen Einblick in mein aktuelles „Bastelprojekt“ geben.

Kurz zur Vorgeschichte: Da ich in der glücklichen Lage bin, einen Bekannten zu haben, der sich mit Microcontrollern und deren Programmierung recht gut auskennt, die Technik zum Ätzen besitze und auch mit dem Löten recht gut zurecht komme, habe ich mir Gedanken gemacht, wie man sich das lästige Merken der Zubehördecoderadressen ersparen kann.

In meinem Mobalager befindet sich ein altes Gleisbildstellwerk, welches man für ein solches Projekt sicher sehr gut verwenden könnte. Aber wie bekomme ich das an die Intellibox? Auf eine PC-Steuerung will ich verzichten, da ich nicht nur „Zuschauer“ sondern auch Akteur sein möchte und mein Bastelzimmer PC-frei bleiben soll.

Wir haben eine Platine entwickelt, deren PIC Schaltersignale ausliest und LEDs als Rückmeldung ansteuern kann. Diese Signale werden auf der Platine in RS232-Signale umgewandelt, die die IB wiederum lesen und weiterverarbeiten kann. Diese schickt anschließend die Signale über die Schiene an den entsprechenden Weichen-/Zubehördecoder. So wird z.B. eine Weiche umgeschaltet. Die Endlagenschalter des Weichenantriebes schalten den zugeordneten S88-Rückmeldeeingang auf Masse. Dieses leitet die Info über den S88-Bus zur IB zurück. Sie wandelt das Signal in RS232 um, welches der PIC auf dem Interface verarbeiten kann. Je nach Weichenstellung schaltet dieser dann die Positions-LED auf dem Gleisbildstellwerk an/aus. Auf dem Blockschaltbild im Anhang kann man den Signalfluss sehen.
Da ein PIC nur über eine begrenzte Anzahl von Beinchen (Ein- / Ausgänge) verfügt, wäre die Größe des Stellwerkes stark eingegrenzt. So könnten z.B. nur 20 Weichen inkl. Rückmeldung und ein 22 Gleisbelegtmelder angeschlossen werden. Um die Flexibilität und die Anschlussmöglichkeiten zu erhöhen, haben wir noch Expandermodule entwickelt, die jeweils über 20 Schalteingänge, 20 Weichenrückmeldungen und 20 z.B. Gleisbelegterkennungen verfügen. Ein reines Schalterexpandermodul, mit dem bis zu 59 Funktionsgleise, Hausbeleuchtungen und andere Zubehörartikel angesteuert werden können, ist auch fertig entwickelt. Diese Expandermodule kommunizieren über I²C-Bus mit dem Interface.

Ein paar Fotos, der Prototypen lege ich auch mit ab. Hier sind noch kleinere Änderungen (Positionierung und Dimensionierung der Bauteile) notwendig.

Was ich jetzt noch herausfinden muss, wie kompatibel ist die RS232-Kommunikation zu anderen Zentralen. Normaler Weise sollte ich hier ja auch Normen geben, an die man sich hält, aber… wie auch bei anderen Punkten wird jeder ein paar Feinheiten eingebaut haben. Ich kann die Tests z.Zt. leider nur an der IB durchführen. Wie funktioniert das bei klassischen PC-Steuerungen? Die kommunizieren doch auch über RS232 mit der Zentrale. Oder gibt es noch andere Möglichkeiten die Signale auf die Schiene zu bekommen?

Über Anmerkungen, Tipps und Infos würde ich mich sehr freuen.

Gruß

Dirk
 

Anhänge

  • Blockschaltbild.jpg
    Blockschaltbild.jpg
    269,1 KB · Aufrufe: 120
  • interface_oben.jpg
    interface_oben.jpg
    108,4 KB · Aufrufe: 97
  • interface_unten.jpg
    interface_unten.jpg
    170,1 KB · Aufrufe: 96
  • expander_oben.jpg
    expander_oben.jpg
    118,7 KB · Aufrufe: 92
  • expander_unten.jpg
    expander_unten.jpg
    115,7 KB · Aufrufe: 87
Hallo Dirk,

das ist ja ein hochinteressantes Projekt. Was mir gleich auffiel ist, dass du noch auf RS232 setzt, was aber wahrscheinlich deiner existierenden IB geschuldet ist. Andere Zentralen und auch die neue IB sind ja mittlerweile beim USB-Interface gelandet. Wie du schon schriebst, ist RS232 standardisiert und sollte überall mit gleicher Funktionalität implementiert sein. Wenn es Probleme gibt, hilft mitunter, ein zusätzliches Stoppbit zu senden.
Hast du auch ein Foto von dem Gleisbildstellwerk?

Thorsten
 
:top::top::top:
...Um die Flexibilität und die Anschlussmöglichkeiten zu erhöhen, haben wir noch Expandermodule entwickelt, die jeweils über 20 Schalteingänge, 20 Weichenrückmeldungen und 20 z.B. Gleisbelegterkennungen verfügen...
Habt ihr schonmal überlegt anstatt der I²C-Expander Schieberegister zu nehmen? Die sind ähnlich unkompliziert wie die PCFxxxx anzusteuern, bieten aber den Vorteil das man mehr als 8 Bausteine an jeden Datenbus legen kann. Wenn der µC über eine (oder gar zwei) USI-Schnittstellen (Universal Serial Interface) verfügt habt ihr auch keine zusätzliche Prozessorlast zu bewältigen und könnt das gute Stück noch für andere Sachen benutzen.

@Thorsten:
RS232 ist sicherer als USB und lässt sich bei µC deutlich leichter Umsetzen. Hier feilscht man ja teilweise um einzelne Bytes im Code die man einsparen kann.
USB ist im Aufbau recht kompliziert und verursacht eine hohe Prozessorlast weil ein (zu) großer Anteil des Protokolls softwarebasiert arbeitet. Das vorletzte Wort des Vorsatzes steht dabei im direkten Kontrast zu der erwähnten Bytefeilscherei. ;)
 
Hallo Dirk,
vielleicht kannst Du noch einmal etwas zum Thema RS232 schreiben und Deiner Wahl dafür erklären. Man hätte doch auch einfach einen 16-kanäligen LocoIO nehmen können, den man mittels Software einmalig konfiguriert und der dann seine Schaltbefehle von den Gleisbildtastern über das Loconet versendet, um am anderen Ende Weichen oder SIgnale oder sonst etwas zu schalten. Selbst die reale Rückmeldung der Weichenmotoren könnte man über diesen Baustein abfackeln und wiederum als Übertragungsmedium das Loconet nutzen.

Ich will Deine/Eure Entwcklung nicht in Frage stellen, sie ist sicher ein interessanter Ansatz. Aber mich würde es interessieren, warum Ihr nicht bereits verfügbare Bauteile für das einfach zu beherrschende Loconet benutzt und auf RS232 setzt.
 
RS-232 oder USB

Solange noch serielle Schnittstellen eingebaut werden, ist es ja ok. Aber wie lange wird es sie noch geben?
USB ist im Aufbau recht kompliziert und verursacht eine hohe Prozessorlast weil ein (zu) großer Anteil des Protokolls softwarebasiert arbeitet. Das vorletzte Wort des Vorsatzes steht dabei im direkten Kontrast zu der erwähnten Bytefeilscherei. ;)
Ich weiss, dass der Overhead beim USB 'etwas' größer ist als bei einer klassischen seriellen Schnittstelle. Ich schraube im Moment eine OpenDCC-Zentrale zusammen, die klassisch eine RS-232-Schnittstelle hatte (und auch noch hat), aber auch über FT232RL eine USB-Schnittstelle anbietet. Hier ist das USB-Protokoll in externe Hardware ausgelagert und vermeidet so zusätzliche Prozessorlast, natürlich verbunden mit zusätzlichen Kosten für die Hardware.

Thorsten
 
Hallo,

Erstmal vielen Dank für die Antworten und Hinweise/Anregungen. Vielleicht kann man das Eine oder Andere noch übernehmen.

@Torsten

Was hat uns zu dieser Variante bewegt? Gute Frage. Es liegt sicherlich an der Größe der zu steuernden Anlage und an den vorhandenen Steuerungskomponenten. Das Interface und die Expander sind so konzipiert, dass man damit eine größere Heimanlage betreiben kann. Mit 4 Expandern kann man 178 Schalter einlesen, das sollte eigentlich reichen. Bei Modulanlagen hingegen wird das recht schnell knapp und die Flexibilität für eine spätere Erweiterung ist bei Loco auch höher. Bei Modulanlagen kommt hinzu, dass man sein Steuerpult überallhin mitnehmen kann. Das will ich aber nicht. Ich schließe mein GBS an einer Stelle der Anlage an und dort bleibt es dann auch.

Ich habe z.Zt. Eigenbau Weichendecoder und S88-Module, die ich in dieses System einbinden will. Inwiefern man diese vorhandenen "alten" Komponenten (Weichendecoder / S88-Module) in das Loco-Net einbinden kann, weiß ich nicht. Um ein neues Loco-Net-System aufzubauen, wäre der finanzielle Aufwand aktuell wesentlich höher, da ich alles (je nach Verwendbarkeit alter Komponenten) neu kaufen müsste bzw. Komponenten benötige, die die Signale der alten Bauteile in das Loco-Format konvertieren.

mein Fazit: Ich gehe aktuell davon aus, dass sich ein GBS mit meinen Schaltungen preiswerter in ein bestehendes "altes" System bringen lässt, als mit Loco-Net-Komponenten. Da lasse ich mich aber gern eines Besseren belehren.

Gruß

Dirk
 
Moin,

das Ganze ist ja auch eine Frage dessen, was man unter GBS versteht. Wenn ich es hier richtig verstanden habe, ist das ja "nur" eine GBS-Oberfläche für die einfachere Bedienung ohne jedwede Intelligenz. Meint also, es gibt keine Fahrstraßeneinstellung durch Start-Ziel-Tasten, keinerlei Sicherheit gegen das Stellen von Weichen unter Fahrzeugen usw., was eigentlich ein GBS ausmacht. Oder liege ich da falsch?
Die serielle Schnittstelle ist einfach zu bedienen; im Fall der IB ist aber auch die einzige Schnittstelle in Richtung eines PCs belegt. Ich hätte auch eher die Loconet-Schnittstelle bevorzugt, zur Not auch über den LocoBuffer von Hans Deloof (den es mittlerweile auch mit USB-Schnittstelle gibt).
Da ich ein Lenz-System nutze, habe ich das LW100 im Einsatz und die LW120/130-Bausteine selbst nachempfunden, da nicht mehr verfügbar. Bei der Schaltungsentwicklung habe ich festgestellt, dass sowohl XBus als auch GZIO-Bus RS485-Technik nutzt und die Bausteine durch geringe Bestückungsvariation für beide Anschlußvarianten ausgelegt. Für das Abfragen der Tasten und Ausgeben von Anzeigen hat man jede Zeit der Welt, so dass AT89C4051 völlig ausreichend sind. Ein Fahrstraßenmodul für die Lokmaus ist auch noch möglich, da die vorhandene SPI-Schnittstelle auch ein serielles EEPROM als Fahrstraßenspeicher ansprechen kann. Start-Ziel- und Eintastenbedienung sind möglich.

Gruß
Thomas
 
Zurück
Oben