Update: Es wird nun eine Selbstbaulösung mit Arduino - Prototyp/Sachstand am Ende des Beitrags!
ich sitze - mal wieder - am Thema SBH Steuerung und nachdem mir in meinem alten Thread immer wieder zur Steuerung per Software geraten wurde (viewtopic.php?f=5&t=144324) hab ich versucht mich in Rocrail einzulesen und auch diverse andere Seiten nach Informationen durchforstet. Leider komme ich auf keinen grünen (Tannen-)Zweig...
Randbedingungen: Märklin-Universum mit CS3 und S88. Die SBH Gleise sind für eine Ansteuerung mit Bremsmodul OHNE Übergangsbereich vorbereitet, d.h. jeder Haltabschnitt hat eine eigene Zuleitung und einen kurzen Nothalt-Abschnitt an der Ausfahrt. Jedes Gleis hat einen S88-Kontakt (Kontaktgleis) für den Bremsbereich und einen für das restliche Gleis. Ein SBH Gleis besteht aus zwei bzw. drei Halteabschnitten wobei der Großteil der Züge in einen Abschnitt passt.
Der ursprüngliche Plan: Der Zug fährt in das Gleis ein, bei Erreichen des Bremsbereiches schaltet ein Relais das gesamte Gleis auf Bremsspannung und der Zug hält, die Weiterfahrt erfolgt per "Fahrbefehl" (Signal-Stellung in der CS3). Ich habe das testweise für ein Gleis mit 2 Halteabschnitten umgesetzt, der Aufwand an Dekoder und Verdrahtungsmaterial ist erheblich, die Programmierung als Fahrstraße in der CS3 wird beim Versuch ein automatisches Nachrücken einzubauen zum Geduldsspiel und Angesichts von 16 Gleisen mit in Summe 38 Abschnitten ist das definitv kein gangbarer Weg (zumindest nicht solange Märklin eine Kopierfunktion oder Makros einbaut).
Ich fahre die Anlage manuell mit der CS3/MS2, eine aktive Steuerung über einen PC/Monitor bzw. Vollautomatik steht nicht zur Diskussion! Ich suche eine Software die in der Lage ist einen Zug am Einfahrgleis des SBH zu übernehmen und den Zug auf ein (per CS3 gewähltes) Gleis zu fahren und dort abzubremsen - gerne per Lokverfolgung und aktiver Geschwingkeitsregelung, wenn das nicht geht gerne auch einfach über eine Dummy-Lok und entsprechende Logiken.
Kann mir hierzu jemand einen konkreten Tipp geben wie man das umsetzen könnte?
Oli
Nachtrag: Eine Schnittstelle zum CAN-Digital-Bahn Projekt ist ebenfalls vorhanden - da hab ich aber auch nix brauchbares gefunden.
Zitat Ich fahre die Anlage manuell mit der CS3/MS2, eine aktive Steuerung über einen PC/Monitor bzw. Vollautomatik steht nicht zur Diskussion! Ich suche eine Software die in der Lage ist einen Zug am Einfahrgleis des SBH zu übernehmen und
Probiere mal iTrain aus und schau dir dort an wie das gelöst wird. Aber du hast hier ein ganz anderes Problem. Wenn du alles über die Zentrale steuerst, muss die Software jederzeit wissen, wo sich deine Züge befinden, sonst kann das nicht funktionieren. Über die Software wird der Befehl "0" zum halten gesendet, dies muss er für die passende Lok (Decodernummer) senden, sonst kann das nicht funktionieren. Daher muss die Software immer genau wissen, wo sich welcher Zug befindet. Steuerst du das ganze manuell, benötigst du zusätzliche Informationen um jederzeit den genauen Standort der einzelnen Loks und Richtung der Software mitteilen zu können. Da wird deine Verkabelung noch extremer.
mfg
Ralf
Der Computer soll die Arbeit des Menschen erleichtern und nicht umgekehrt! Neue Kupplungen für Faller OHU Selbstentladewagen: viewtopic.php?f=27&t=82863 Kein Support per PN !
1) eine Zugverfolgung bei manuellem Fahrbetrieb durch Beobachtung der Fahrbewegungen ist durchaus möglich, da die Software die Stellung der Weichen kennt. Das geht in Ansätzen inzwischen wohl sogar mit der CS3 wie einige Threads hier im Forum belegen.
2) ich bin völlig zufrieden wenn ich das Bremsen wie ursprünglich geplant per Relais und Bremsspannung mache
3) Ich hab mir iTrain runtergeladen und damit ein wenig gespielt - ich habe jetzt aber nichts gefunden was über die Definition von Ablaufskripten hinausgeht, also im Prinzip das was ich auch in der CS3 machen kann (und dann auch hier scheinbar alles über die GUI 38 mal eintippen muss).
Zwischenfrage weiß jemand ob die mfx Dekoder von Märklin und ESU den Broadcast Befehl für Fahrstufen akzeptieren und wenn ja wie man den senden kann? Laut mfx Protokollbeschreibung http://www.skrauss.de/modellbahn/Schienenformat.pdf ist hier analog zu DCC die Adresse 0 vorgesehen...
ich habe das mit Uhlenbrocks Universal Relais gelöst. Zug kommt am (virtuellen/Relais) Einfahrsignal vor dem Schattenbahnhof an und hält dort. Das Relais prüft den nächsten freien Fahrweg, stellt diesen und das Einfahrsignal (Relais) auf Fahrt. Zug fährt in das freie Gleis und wird per Bremsspannung angehalten. Wahlweise kann (in Reihenfolge oder per Zufall) ein Zug entsprechend den Bahnhof wieder verlassen. Verdrahtungsaufwand hält sich in Grenzen. Anzeige besetzt / frei bzw. Fahrstellungen erfolgen auf PC (WinDigiPet).
Das mit dem Broadcast ist viel komplizierter als Diodenbremstrecken, weil du im Prinzip dafür einen eigenen Booster brauchst und dann an den Grenzen zu dem normalen Fahrstrom immer Probleme mit der Schleiferüberbrückung hast.
Rocrail ist m.e. kein Weg für Dich, weil ich nicht sehe, wie Rocrail wissen könnte, welche Lok in deinem Einfahrabschnitt steht. Mit DCC und Railcom und viel Scriptprogrammierung vielleicht möglich.
Du brauchst wohl eher eine klassische SPS, also wo Du Deine Abläufe und Logiken mit programmieren kannst und viele Ein- und Ausgänge hast. Kann man auch mit einem Arduino selber basteln, aber das ist auch programmieren lernen.
Statt der Schaltgleise die mit einem Schleifer betätigt werden nimmst du halt die S88, mit eingebautem Bremsmodul bleibt der Zug dann auch nicht abrupt stehen.
Der Computer soll die Arbeit des Menschen erleichtern und nicht umgekehrt! Neue Kupplungen für Faller OHU Selbstentladewagen: viewtopic.php?f=27&t=82863 Kein Support per PN !
@Franz: IMHO hast du bei Diodenstrecke, Bremsgenerator oder Broadcast immer das gleiche Problem mit dem Kurzschluß am einfahrenden Schleifer - du mußt den Pegel der zugeschalteten "Sonderversorgung" wegnehmen oder so begrenzen daß keine Überlast entsteht bzw. das Signal außerhalb des Bremsblocks erhalten bleibt. Es steht auf einem anderen Blatt das eine Begrenzerschaltung für ein 10kHz Digitalsignal schwieriger ist wie eine Gleichstromquelle. Da ich die Bremsspannung erst zuschalten will wenn der Zug schon im Block ist, reduziert sich das Problem auf ggf. nachlaufende Schleifer die länger sind als der "Abstellblock" was ich zumindest für meinen persönlichen Fall ausschließen kann.
Da ich mit Software mein Geld verdiene und gerade mein erstes Arduinoprojekt erfolgreich hinter mich gebracht habe (viewtopic.php?f=5&t=184220), ist das nicht das Problem. Es gibt inzwischen auch den ersten Prototypen der zumindest auf dem Schreibtisch funktioniert, ich werde das später mal aufräumen und hochladen...
Und ja die Weichen sind digital.
@Ralf: Eine analoge Steuerung war der Ursprungsplan und dann haben mir alle gesagt ich solls doch in Software machen....siehe den eingangs verlinkten Post.
Aktuelle Funktionalität: Zug fährt ins Gleis ein, beim Erreichen des Bremskontaktes (kurz vor dem Gleisende) wird das gesamte Gleis auf eine Bremsspannung (derzeit noch per Bremsgenerator extern erzeugt) gelegt und der Zug hält. Durch Drücken der "grünen" Taste für die zugeordnete MM-Adresse wird wieder auf Fahrspannung umgeschaltet und der Zug fährt aus, nach Verlassen des Blocks aktiviert sich die Schaltung selbständig wieder. Ggf auf hinteren Abschnitten stehende Züge werden nach vorne geholt.
Der Sketch implementiert 2 Gleise mit je 3 Abschnitten, das läßt sich aber mit zwei Zeilen Conifg auf beliebige Layouts anpassen. Die Details sind im Readme des Repository und im Code halbwegs beschrieben, ein Entwurf für den Schaltplan befindet sich dort ebenfalls. Ich plane die Platine auf 8 Eingänge und 8 Relais auszulegen und dann einen Schwung davon fertigen zu lassen, ich habe zudem noch ein paar Ideen um die Platine ggf. auch als autonome Blockstreckensteuerung einsetzen zu können - falls jemand Interesse hat gerne hier oder per PN melden!
Woher weiß der Arduino/Software welche Züge in welchem Gleis stehen ? Werden immer nur die gleichen Züge in ein bestimmtes Gleis gefahren ? Wie wird das bei Loks mit mfx(+)-Decodern gelöst ? Wenn du dort die Spannung komplett vom Gleis nimmst, wird sich die Lok erst einmal wieder komplett neu am System zurückmelden, was einige Zeit dauern kann. Wie werden dem Arduino/Software die Adressen der Loks und die Zuordnung mitgeteilt ? Kann ein Zug der von der Länge auch in ein anderes freies Gleis passen würde dahin umgeroutet werden ?
mfg Ralf
Der Computer soll die Arbeit des Menschen erleichtern und nicht umgekehrt! Neue Kupplungen für Faller OHU Selbstentladewagen: viewtopic.php?f=27&t=82863 Kein Support per PN !
Der Arduino hat nur die Aufgabe durch Umschalten auf Bremsspannung (15 Volt DC aus einem Bogobit Bremsmodul) die Bremse anzuziehen - daher ist es ihm auch völlig egal welcher Zug da reinfährt - Länge, Routing, Weichenstellung etc ist NICHT Aufgabe der Steuerung. Vom Prinzip her ist das eine "vorverdrahtete" Variante von m83 Dekoder + Bremsmodul mit direktem Anschluß.
...daher heißt der Beitrag ja auch Brems-Automatik und nicht Schattenbahnhofsteuerung!
So kleines Update - die Originalschaltung tut soweit aber das mit dem Bremsmodul/Konstantstromquelle war mir ein Dorn im Auge.
Die neue Version integriert nun eine Kurzschlußerkennung auf Basis des ACS712 und nutzt diese sowohl für den Entgleisungsfall als auch zur Erkennung einer "feindlichen" Einfahrt mit Überbrückung der Bremsspannung zum normalen Bahnstrom. Der Prototyp liegt gerade auf dem Schreibtisch - sobald der tut werde ich den neuen Schaltplan hier vorstellen
Jetzt sehe ich, womit Du kämpfst. Nicht so einfach, das sehe ich ein.
Für jedes Gleis des Kopfbahnhofs das Anhalten mit jeweils einer Brems-Schaltung zu lösen, klingt plausibel. Ist aber wohl nur übersichtlich, wenn die Lok (oder ihr Schleifer) vorn sitzt, damit das Bremsmodul korrekt arbeitet. Bei stark unterschiedlicher Zuglänge und Weichenumschaltungen wird es für die Ausfahrt, so glaube ich, bei jeder technischen Lösung kompliziert.
Das bogobit-bremsmodul hat doch eine kuzschluss-ableitung über leistungstransistor integriert. Insofern kann von digitalstrom ohne übergangsabschnitt auf brensstrom gefahren werden. Passiert bei mir seit jahren täglich. Und ein bremsmodul (bausatz ca. 15€) kann per bistabilem relais mehrere abschnitte versorgen.