JKRS-Modellbahntreff :: Thema anzeigen - ARDUINO - SBf-Steuerung ohne Umfahrgleis - alles belegt
JKRS-Modellbahntreff Foren-Übersicht



 ARDUINO - SBf-Steuerung ohne Umfahrgleis - alles belegt

Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
gaulois
Profi-Bahner
Profi-Bahner



Geschlecht:
Alter: 56
Anmeldungsdatum: 28.11.2006
Beiträge: 13078
Wohnort: Bundeshauptstadt der Energie


NordWestf.gif

Beitrag 1 von 3
BeitragVerfasst am: 03 Okt 2018 8:42    ARDUINO - SBf-Steuerung ohne Umfahrgleis - alles belegt  Antworten mit Zitat Nach oben

Hallo zusammen,
in diesem thread sollen die Schaltungen und Codes für das Verwalten eines Schattenbahnhofes diskutiert werden, der keine Umfahrgleise mehr braucht.

Normalerweise hat ein SBf ja ein "Überlaufgleis" je Fahrtrichtung. Wenn der SBf voll ist (aber das kann ja jeder), fährt der nächste Zug einfach dran vorbei.

Ein SBf, der keine Umfahrgleise mehr braucht, ermöglicht mehr Züge.

So habe ich z. B. auf jeder Ebene 10 Gleise, im SBf, von denen derzeit 2 als Umfahrgleise benötigt werden. Es bleiben also "nur" 8 zum Abstellen von Zügen.

Mit einer Schaltung, die die einzelnen Züge verwaltet und einen Zug passender Länge "herausschiebt", wäre eine Leistungssteigerung um 25%.

Das soll in einen diesem thread diskutiert werden, denn das ist gegenüber den anderen SBf-Schaltungen noch mal ein großer Schritt. Voraussetzung hierfür ist nämlich nicht nur, dass die verfügbare Gleislänge bekannt ist, sondern auch, dass bekannt ist, welche Zuglängen wo am Ausfahr-Ende der Gleise stehen, sodass,

- ein Zug passender Länge identifiziert,
- herausgefahren,
- ein ggf. dahinter stehender Zug aufgerückt und
- der neue Zug aufgenommen werden kann.

Besonderheit bei mir: hinter einem SBf liegt ein weiterer SBf, der ebenso funktionieren soll, d. h. der "herausgeschobene" Zug löst ggf. dasselbe procedere beim nächsten SBf aus. Die Strecke zwischen den beiden SBf, die nur aus einem Verteilkreis besteht, ist aber recht kurz, sodass eine erneute Zuglängenmessung hier nicht möglich ist. Vielmehr muss die "herausgeschobene" Zuglänge als Datum übergeben werden, sodass der nächste SBf aktiv werden und Platz schaffen kann.

Das ist dann aus meiner Sicht die Königsdisziplin und wird daher von den hier und heute angefangenen Arduino-threads der sein, der am Schluss steht.

Diskutiert werden kann darüber natürlich trotzdem jetzt schon Very Happy




Quelle von mir eingestellter Bilder: Ich! Copyright bei mir!

und immer den Nachwuchs fördern!

Gerd 50 014

zur Moselanlage: . . . . . . . . . . . . . . . . . zum Wildenrather Kreisel:
ImageImage

HiddenBenutzer-Profile anzeigenPrivate Nachricht sendenAIM-NamePersönliches Album    
heckmal
Profi-Bahner
Profi-Bahner



Geschlecht:
Alter: 86
Anmeldungsdatum: 20.01.2014
Beiträge: 1665
Wohnort: Auf den Moselhöhen im Rhein-Hunsrück-Kreis, auch (Hängeseilbrücken genannt)


R_Pfalz.gif

Beitrag 2 von 3
BeitragVerfasst am: 03 Okt 2018 17:01    ARDUINO - SBf-Steuerung ohne Umfahrgleis - alles belegt  Antworten mit Zitat Nach oben

Hallo Gerd,
ist doch sicher mit einer aufwändigen Programmierung verbunden, wenn jeder Zug - der zurück zum Sbh fährt - sich für seine Länge ein passendes freies Gleis suchen muss? Dir stehen nach diesem Verfahren auch nicht mehr Sbh-Gleise zur Verfügung.

Warum wird im Sbh nicht jedem Zug ein eigenes Gleis zugeordnet?




Gruß Alois
(Märklin H0 digital mit PC-Steuerung)

Copyright - Bildquelle:
Wenn nichts anderes vermerkt, beim Autor!
Link zu meinem Video:
http://www.youtube.com/watch?v=3jiiXi8j7eQ&feature=youtu.be
Meine Galerie:
http://www.jkrs-modellbahntreff.de/album_personal.php?user_id=466

OfflineBenutzer-Profile anzeigenPrivate Nachricht sendenPersönliches Album    
gaulois
Profi-Bahner
Profi-Bahner



Geschlecht:
Alter: 56
Anmeldungsdatum: 28.11.2006
Beiträge: 13078
Wohnort: Bundeshauptstadt der Energie


NordWestf.gif

Beitrag 3 von 3
BeitragVerfasst am: 03 Okt 2018 18:02    ARDUINO - SBf-Steuerung ohne Umfahrgleis - alles belegt  Antworten mit Zitat Nach oben

Hallo Alois,
nein, die Programmierung ist, weil sie dezentral ist, ja nur einmal zu machen und dann auf jeden der Arduini aufzuspielen, also kein sooo großer Aufwand. Ich bin noch nicht dazu gekommen, den code zu programmieren, weil ich im Moment noch fasziniert andere Anwendungen studiere, aber wenn es soweit ist, wirst Du sehen, dass sich das fundamental von (D)einer zentralen Steuerung unterscheidet.

In einer zentralen Steuerung könnte man aber über ein Klassenkonzept einer objektorientierten Sprache auch die Programmierung nur einmal machen und dann für jede Instanz einer Klasse vererben. Bei mir wird aber gleich auf verschiedene Geräte abgestellt, die miteinander über die serielle Schnittstelle "reden".

Hier wird also nix linear programmiert, sondern mittels Funktionen und Parameterübergaben (das ist nicht objektorientiert, aber auch nicht mehr weit weg davon), sodass man den code nur einmal schreibt, aber zig mal verwenden kann.

Was Du vorschlägst setzt voraus, dass jeder Zug erkannt werden kann, dass also eine zentrale Einheit weiß, welcher Zug wo ist. Darüber hatten wir schon mal an anderer Stelle diskutiert. Das entfällt bei meiner SBf-Steuerung zunächst völlig, denn das würde bedeuten, dass irgendwann jeder Zug eine ID bekommen muss, die dann von Arduino zu Arduino weitergereicht werden müsste. Entweder über Transponder (mit dem Thema bin ich noch nicht durch, aber die benötigten Stückzahlen schrecken mich ab), oder beim Aufgleisen muss man irgendeinem Arduino mitteilen, was da wo steht.

Es wird aber wohl nicht auf der ganzen Anlage Arduino-überwachte Bereiche geben. Zunächst möchte ich nur die SBf ausstatten und/oder Fahrstraßen damit schalten, aber keine lückenlose Überwachung, wie Du sie für Deine Anlage hast und brauchst.

Stellt man dann neue Züge auf, müsste man - wie gesagt - irgendeinem Arduino dann die Info geben, wer das ist und wohin er gehört und welcher Zug dafür jetzt von der Anlage genommen wurde.

Das wäre mir zuviel Aufwand im laufenden Betrieb, würde aber natürlich ermöglichen, dass man gezielt einen Zug auf der Anlage findet und aufruft. Für ein Fahren nach Fahrplan wäre das notwendig, das habe ich im SBf-Bereich aber - jedenfalls erst mal - nicht vorgesehen.

Die Programmierung der Gleisfindung (gehört eigentlich hierher: http://www.jkrs-modellbahntreff.de/viewtopic.php?t=4851) läuft in Blöcken recht simpel ab:

Eingang: Zug der Länge 2, wer hat Platz?

Gleis 1: Ich habe nur 1 Platz (reicht nicht)
Gleis 2: Ich habe 3 Platz (passt, ist aber nicht optimal)
Gleis 3: Gleis 2 hat 3 Platz, ich habe nichts besseres
Gleis 4: Ich habe 2 Platz (das ist besser als 3 zu verschwenden)
Gleis 5: Gleis 4 hat den passenden Platz (wurde schon gefunden, muss also nicht mehr geprüft werden

Eingang: Aha, Gleis 4 hat Platz -> Fahrstraße auf Gleis 4

natürlich muss dazu im Gleis jeweils außer den - sagen wir mal 3 - Abschnitten zum Abstellen der Züge auch ein Haltebereich für die Lok definiert sein, in dem der Strom abgeschaltet werden kann, der aber zur Abstelllänge gehört.

Die Logik, nach der dann die Lok stromlos geschaltet wird ist davon abhängig, dass der Zug wirklich komplett im Halteabschnitt steht, muss aber verhindern, dass er auf einen vorausstehenden Zug oder die Weichenstraße auffährt.

Soweit die Theorie dazu.


Wird jetzt aber kein freies Gleis gefunden, müsste einer der Gleisverwalter rückmelden: "ich habe zwar keinen freien Platz, aber ich habe einen Zug gleicher Länge an vorderster Stelle stehen, ich kann den rausschicken (und ggf. einen dahinter stehenden Zug aufrücken lassen), dann habe ich Platz für den Zug."

Das ist in der Tat nicht einfach, aber weniger eine Frage des vielen Programmierens als vielmehr der Speicherung von Informationen, die - falls eine einfache Gleisfreisuche kein Ergebnis liefert - in einem zweiten Schritt dann quasi Plan B aktiviert. Das ist eine Erweiterung der Programmierung, die erst mal in dem anderen thread (http://www.jkrs-modellbahntreff.de/viewtopic.php?t=4851) entwickelt werden müsste und auf die dann bei der Übergabe der Antworten die Plan-B Antworten aufgesattelt werden.

Aber Danke für die Frage und die Kritik, die veranlasst mich nämlich, erklären zu müssen, wie ich mir das vorstelle und das verhilft mir zu einer genaueren Vorstellung, was ich eigentlich bauen will. Very Happy

Nur sind wir hier in diesem Thread für die eigentliche Programmierung noch zu früh, weil erst mal das Grundwerk für den Fall, dass freie Gleise da sind, geschaffen werden muss, über das Konzept kann man aber schon sprechen Wink




Quelle von mir eingestellter Bilder: Ich! Copyright bei mir!

und immer den Nachwuchs fördern!

Gerd 50 014

zur Moselanlage: . . . . . . . . . . . . . . . . . zum Wildenrather Kreisel:
ImageImage

HiddenBenutzer-Profile anzeigenPrivate Nachricht sendenAIM-NamePersönliches Album    
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


 Gehe zu:   




Berechtigungen anzeigen



Cookies entfernen
Forensicherheit

Powered by Orion based on phpBB © 2001, 2002 phpBB Group
CBACK Orion Style based on FI Theme
Alle Zeiten sind GMT + 1 Stunde



Flotte 0.0382 Sekunden brauchte die Seite (davon für PHP: 66% - SQL: 34%) | Die Datenbank bekam dafür 24 Anfragen | GZIP disabled | Debug on ]