JKRS-Modellbahntreff :: Thema anzeigen - ARDUINO - Messen von Zuglängen für eine SBf-Steuerung
JKRS-Modellbahntreff Foren-Übersicht



 ARDUINO - Messen von Zuglängen für eine SBf-Steuerung

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:21    ARDUINO - Messen von Zuglängen für eine SBf-Steuerung  Antworten mit Zitat Nach oben

Hallo zusammen,
eine Idee, die Leistung von Schattenbahnhöfen zu steigern ist, mehrere Züge auf einem Gleis zuzulassen, sodass nicht ein z. B. 60 cm langer Zug ein 3 m langes Gleis komplett blockiert.

Dazu muss man die SBf-Gleise in Abschnitte unterteilen, wie das bei der Großen Bahn z. B. auch am Bahnsteig in Köln der Fall ist, sodass dort auch z. B. zwei Züge in einem Gleis stehen können.

Dazu muss vor dem SBf ermittelt werden, was da kommt. Das geht mit einer zentralen Steuerung wie RocRail oder WinDigiPet, wenn man die Zuglängen einspeist.

Ziel ist aber, das ohne zentrale Steuerung zu machen, also völlig autonom. Die Idee hier ist, dass ein Arduino die Länge eines herankommenden Zuges misst und diese dann als Frage an nachgeordnete Arduini übergibt, um zu fragen, wo ein Gleis entsprechender Länge frei ist. Den Rest übernimmt dann die SBf-Steuerung, die der Übersicht halber nicht in diesem thread, sondern in eienm separaten thread dargestellt werden soll.

Meine Herangehensweise ist die, dass ich über Gleisabschnitte und entsprechende Kontakte (im Dreileitersystem von Schiene zu Schiene) eine Anzahl vordefinierter Längen auslese, wenn ein bestimmter Abschnitt erreicht, der nachfolgende Abschnitt aber noch frei ist. Das ermöglicht eine eindeutige Aussage über die Länge des Zuges.

Die Messung erfolgt über die Achsen des Zuges. Etwas ähnliches müsste man auch für Zweileiter-Systeme bauen können, da weiß ich aber nicht, wie die Hardware für das Eingangs-Signal des Arduino aussehen muss. Das mögen Zweileiterfahrer bitte ergänzen.

Hier demnächst vielleicht der erste Code für diese Aufgabe zur Diskussion?




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    
joe
Lokführer
Lokführer



Geschlecht:

Anmeldungsdatum: 18.08.2013
Beiträge: 281
Wohnort: Duisburg


NordWestf.gif

Beitrag 2 von 3
BeitragVerfasst am: 03 Okt 2018 21:42    ARDUINO - Messen von Zuglängen für eine SBf-Steuerung  Antworten mit Zitat Nach oben

Hallo Gerd,
ist die Zählung der Achsen nicht etwas zu kurz gedacht?
Braucht man nicht auch noch weitere Parameter, wie z.B. Zeit und /oder gleiche Geschwindigkeit während der Zählung?
Macht die Zuggattung mit verschiedenen Achsen/Waggon und Lok Probleme?
M.E: wäre eine definierte Zeit pro Zählung der Achsen für eine Längenbestimmung zielführender.
Woher weiss der Arduino, wann die letzte Achse den Messpunkt verlassen hat?

Wie gesagt, ich habe mich damit noch nicht beschäftigt - das sind Fragen, die beim ersten lesen aufgekommen sind.




Viele Grüße

joe / Jörg

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: 04 Okt 2018 20:13    ARDUINO - Messen von Zuglängen für eine SBf-Steuerung  Antworten mit Zitat Nach oben

Hallo Jörg,
da hättest Du sicher Recht, wenn ich vorhätte, "nur" die Achsen zu zählen.

Tatsächlich möchte ich aber gar nicht die Achsen zählen, sondern die Länge belegter und genormter Gleisabschnitte messen und dabei wie folgt vorgehen (hab ich vielleicht schlecht erklärt):

Ein Beipiel: Es gebe die Abschnitte E----D----C----B----A
über die von E kommend ein Zug in Richtung A fährt. Dahinter ist dann der SBf, für dessen Kapazitätsabfrage man nun erst mal die Länge des Zuges messen muss.

Gemessen wird erst dann, wenn die erste Achse im Bereich B angekommen ist und zwar so lange, bis die erste Achse im Bereich A ankommt. Sobald A also belegt ist, erfolgt keine Längenmessung mehr.

Damit habe ich als Zuglänge den Bereich B + (wenn C belegt auch) C + (wenn D belegt auch) D

Der Zug kann also 1, 2 oder 3 Abschnitte lang sein, also z. B. 1m, 2m oder 3m. Wichtig dabei ist, dass bei der letzten Messung, die der Arduino dann für gültig erklärt der Bereich E auf jeden Fall frei sein muss, sonst hätte der Zug Überlänge und könnte nicht abgestellt werden. (Dafür braucht man vielleicht auch eine Lösung, wenn der Rangierer nicht aufgepasst hat, aber meine oberirdischen Gleise sind eigentlcih nicht länger als die im SBf.)

Also: die letzte Messung "solange (B und nicht A und nicht E)" ist das gültige Ergebnis, das ist dann B, oder B+C oder B+C+D, je nach Länge des Zuges, also in diesem Beispiel 1, 2 oder 3 m.

Gibt es mehr Messabschnitte, verändert sich entsprechend der Messvorgang bzw. die Messgenauigkeit. Also z. B.: H----G----F----E----D----C----B----A
Da können die Züge z. B. 0,5 oder 1,0 oder 1,5 oder 2,0 oder 2,5 oder 3,0 Meter lang sein, die Genauigkeit erhöht sich also, ob man das braucht, siehe unten.

Aber es gibt immer

- gleich lange Abschnitte, in denen der Zug sich befinden muss zwischen
- einem End-Abschnitt (A), der noch nicht erreicht worden sein darf und
- einem Anfangs-Abschnitt (E oder im zweiten Beispiel H), der vom Zug schon verlassen worden sein muss

Drei Abschnitte für drei Zuglängen halte ich eigentlich für praktikabel, mehr würde sicher gehen beim Messvorgang, aber bei den Gleisen brauche ich dann ja auch entsprechend viele Abschnitte und ob es wünschenswert ist, mehr als drei Züge hintereinander abzustellen, wage ich mal zu bezweifeln.

Also eigentlich eine eher leichte Aufgabe. Ich muss nur den Code erst noch schreiben, dann wird's vielleicht klarer. Testen kann man das dann mit Tastern und LED am Arduino, bevor das an die Messstrecke angeschlossen werden kann. Da gibt es dann vielleicht noch ein Hardware-Thema für die Eingänge, damit da keine Spannungsspitzen auftreten etc. wird man da wohl was vorschalten müssen...

Die Methode mit der Achsenzählung hatte Joachim mir schon mal vor gefühlten 10 Jahren vorgeschlagen, ich weiß gar nicht mehr, an welcher Stelle ich da dran war. Aber irgendwie traue ich der Kontaktsicherheit einzelner Achsen nicht, die man auf jeden Fall - auch bei meiner Messung - entprellen müsste. Achszähler sind mir irgendwie unheimlich, weiß auch nicht warum. 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.0298 Sekunden brauchte die Seite (davon für PHP: 62% - SQL: 38%) | Die Datenbank bekam dafür 24 Anfragen | GZIP disabled | Debug on ]