• 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

Technikfrage Blocksteuerung + Weichenrückmeldung

Andre1980

Foriker
Beiträge
231
Reaktionen
57
Ort
Dresden
Ich habe ne Weile gesucht und bin nicht wirklich fündig geworden.

Es geht um eine analoge Anlage

Wenn ich ein Anlage in Blöcke Teile, kann ich ja vom folgenden Block, über Gleisbesetzmeldung, den aktuellen Block sagen, ob er Fahrt oder Halt hat. Das ist soweit gut und kein Problem.

Was ist aber, wenn ich über eine Weiche, in zwei verschiedene Blöcke fahren könnte. Dann muss ich ja zusätzlich die Weichenstellung abfragen. Und ein Kombination aus GBM und Weiche so gestellt an den aktuellen Block schicken.

Jetzt habe ich im gelesen, das man den Stellvorgang der Weiche blockieren könnte, wenn der folgende Block besetzt ist, wohin man die Weiche stellen will. Aber so richtig gefällt mir das nicht, denn man will sich vielleicht vorab eine Route der Weichen stellen, und sobald Frei ist, fährt der Zug los.

Die optische Weichenrückmeldung ist ja über LED und Diode kein großes Problem. Dort habe ich ja aber nur Halbwellen in 50Hz. Also geht die LED 50mal in einer Sekunde an und aus, richtig? Das Auge sieht das ja kaum. Da ich aber versuche die Blöcke über Arduinos zu steuern, bräuchte ich ja ein dauerhaftes Signal. Jetzt hatte ich mir Überlegt, man könnte ja ein Elko paralell zur LED+Vorwiederstand, setzen. Dieser sollte doch die Halbwellen glätten. Und somit könnte ich dieses geglättet Signal auch prima für den arduino nutzen. Wenn die Weiche gestellt wird, entläd sich der Elko dann über die LED.

Ich habe nur ein Video gesehen, wo ich denke das dort auch Elkos genau dafür eingesetzt werden.
. Bei den LEDs sitzt jeweils ein großer Elko, der wie ich denke genau diese Aufgabe übernimmt.

Mehr habe ich da auch nicht gefunden, so das ich denke, dass das eher nicht soweit verbreitet ist.


Würde das mit den Elkos so funtionieren? Wenn ja, wie groß müssten sie sein, um das Signal gut genug zu glätten, aber dass das Signal noch recht flink erlischt, sobald man die Weiche stellt.

Was spricht für und gegen solch einen Einsatz. Ist es vielleicht besser die Weichen zu sperren, wenn in diese Richtung der Block besetzt ist? und wenn ja warum?

Wie habt ihr das gelöst auf analogen Anlagen?

Wenn es schon Thread gibt, der genau dieses Thema behandelt, würde ich mich über einen Link dahin freuen, danke.

Freue mich auf antworten.
 
Um Prinzip geht das, aber ohne Potentialtrennung bekommst Du kein auf Masse bezogenes Signal, welches der Arduino benötigt. Ich würde in Serie mit der LED einen Optokoppler schalten ( also einen ILD74, weil pro Weiche zwei Anzeigen nötig ) und die Filterung auf der Ausgangsseite vornehmen. Da das ein OC-Transistorausgang ist, kannst Du einfach, einen Pull-Up Widerstand von sagen wir 22k nach U+des Arduino, an diesen legen und dann rechnest Du so: RC=100msec d. h. C[F]=100-3/22+3=4,5-6 [F] nächster Normwert also 4,7µF. Der kommt dann an den Ausgang des Optokopplers. Theoretisch müsste jetzt der Eingang es Arduino ein Scmitt-Trigger sein, aber in der Praxis erkennt man das Signal sauber. Die Logik ist natürlich umgekehrt.
 
Moin. Danke.

Ich weis leider nicht was ein MKS ist. Wollte eigentlich das Zeichen des Elkos nehmen und habe vermutlich etwas falsch gezeichnet.

Jetzt brauch ich nur noch ne sinnvolle UND und ODER Verknüpfung, das der aktuelle Block nur frei gibt, wenn eine der zwei Bedingungen erfüllt ist. Also z.B. Fahrt wenn Block A frei UND Weiche gerade ODER Fahrt wenn Block B frei UND Weiche Abzweig.

Das war aber ganz gut in dem einen MoBaElektronik Buch erklärt. Les ich mich nochmal rein.

Oder es kommt ne einfache Lösung von euch :D



Wie haben das Problem andere Analoganlagen geregelt? Gibt es noch andere Erfahrungen?
 
MKS-Kondensatoren sind ungepolte, mit metallisierter Kunststoffolie hergestellte Kondensatoren. In diesem Fall Polyester. Diese Kondensatoren sind bei gegebener Kapazität größer als vergleichbare Elkos und sind in dieser Anwendung nicht nötig. Sie haben elektrische Eigenschaften, die für andere Einsätze gedacht sind.
Ja wenn Du schon den Arduino hast und die Weichenstellung auswertest, wo liegt denn das Problem? Die Bedingung da reinzuprogrammieren ist doch kein Hexenwerk.
 
Nein, das programmieren ist kein Hexenwerk. Das Prototyp Shield für den Nano ist schon fertig. Es sind nur die nötigen Anschlüsse vorhanden. Für weitere Anschlüsse ist auch kein Platz, oder ich müsste es größer gestalten. Auch will ich nicht für jeden Block ein extra Shield machen.

Wenn ich für jeden Block das gleiche Shield nutze, würde ich entweder über einen extra Arduino die Weichen und Blöcke auswerten und das Ergebnis zu dem Arduino senden. Dies würde erhöhten Kabelaufwand bedeuten.

Oder ich baue halt ein kleines Extra Shield, was die Signale über UND ODER zusammenfasst, was ich, wenn ich es für den Block benötige, vor das Blockshield setze.

Das BlockShield braucht ja nur die Information Fahrt oder Halt.


Ich informier mich erstmal wie aufwändig dieses Zusätzliche Shield wäre und wie aufwändig die Umgestaltung des Shields wäre.
 
Wenn Du auch Signalen planst dann brauchts 3 Phasen, nicht nur Halt und Fahrt. Der Halt soll auf den früheren Blocksignal das gelbe Licht schalten.
Abgesehen davon kannst du vielleicht auch einen Richtung Schalter brauchen.
 
Zuletzt bearbeitet:
Wenn man den Internen Pullup *pinMode(i, INPUT_PULLUP)* nimmt kann man auf die zwei Anschlüsse von 5V + 22k Ohm Widerstand verzichten, oder?

Man könnte auch einen anderen Optokoppler nutzen, oder? Ausgang seitig wird er ja kaum belastet. Eingangs seitig verhält er sich ja wie eine normale LED wo man mit dem Vorwiderstand den Stromfluß begrenzt.

Also würde auch ein ACPL-827 funktionieren, oder? Oder muß man da auf was bestimmtes bei der Auswahl aufpassen?


Edit: Da nur ein Eingang des Optokopplers aktiv sein kann, kann man doch auch nur ein Vorwiderstand Eingangs seitig nehmen oder?
 
Zuletzt bearbeitet:
Nochmal zum Kondensator. Theoretisch geht jeder Kondensator mit 4,7µF oder?
Ein Keramikkondensator ist billiger und kleiner als ein Elko in der Größenordnung. Daher meine Frage.

Edit: Mit dem billiger hab ich mich geirrt. Aber generell sollte jeder Kondensator gehen, oder?
 
Zuletzt bearbeitet:
Kann es sein das der obige Handgezeichnete Schaltplan doch nicht funktioniert? Also jetzt mal rein theoretisch.

Wenn die Weiche ihre Endlage erreicht, leuchtet die LED und die LED im Optokoppler auch. Dadurch werden die Arduino Eingänge auf GND gezogen, aber nur jede Halbwelle bei 50Hz. Der Kondensator hält das Signal auf HIGH am Arduino. Also auch wenn der Optokoppler auf GND zieht, bleibt das Signal doch auf HIGH am Arduino und somit gibt es keine Pegeländerung am Eingang. Oder habe ich da jetzt ein Gedankenfehler?
 
Hat der Weichenantrieb Endabschaltung?

@krokodil war etwas schneller - ohne Endabschaltung funktioniert das nicht weil beide Dioden mit der Rückspannung des Weichenantriebes versorgt werden.
 
Endabschaltung und Endabschaltung ist auch noch zweierlei. Was ist das genau für ein Weichenantrieb?
 
Von Tillig. https://www.tillig.com/Produkte/produktinfo-83531.html

Also das mit der Endabschaltung, und das Leuchten lassen der LEDs, funktioniert einwandfrei. Schon bei der Fahrstraßenschaltung. Das ist kein Problem.

Auch die 50Hz durch die Wechselspannung sind kein Problem für das Auge, das Auge erkennt das einfach als leuchten.

Nur der Optokoppler schalten natürlich munter in 50Hz.

Sprich er zieht das Signal am Arduino in 50Hz zu GND.

Grundgedanke war es das Signal mit einem Elko zu glätten. ateshci hat vorgeschlagen das ausgangsseitig am Optokoppler zu machen.

Da aber der Optokoppler das Signal auf GND zieht, bewirkt doch der Elko, das das Signal auf High bleibt. Und damit gibt es doch keine Pegeländerung am Arduino, oder?
 
Das heißt:
LED gerade und LED Abzweig leuchten richtig nach Weichenstellung?
So richtig nach Deiner Beschreibung?
 
Ja
"Abzweig" leuchtet nachdem "Abzweig" gestastet wurde.
"Gerade" leuchtet nachdem "Gerade" getastet wurde.

Edit: Bissl verwirrend, aber funktioniert. Gibt sogar ne Anleitung dafür
https://www.tillig.com/dateien/Prod...83531_32_368991-Weichenantrieb_2016_03_21.pdf

Edit2: Und wie gesagt, das funktioniert auch einwandfrei. Es geht mehr um die 50Hz und das glätten bzw. wandeln in ein konstantes High oder Low., damit der Arduino damit zurechtkommt.
 
Zuletzt bearbeitet:
Na gut - entgegengesetzt - das ist ja aber nicht das Hauptproblem - sondern Optokoppler zum Arduino.
Damit wird es so sein, dass die Wechselspannung immer noch das Problem ist - müsste also eine Art Entprellung statt finden.
Ich würde das nach dem Optokoppler mit einem NE555 (oder besser NE556) erledigen - in der Arbeitsweise eines Schwellwertschalters. Weiß jetzt nicht, ob es noch bessere Schaltungen dafür gibt. Prellfreie Taster würde ich ausschließen, da es ja generell nicht so umschaltet wie es soll.
Hier findest Du eine Idee dazu
Pin 2 würde in dem Fall vom Optokoppler kommen.
 
Hmm, es gibt doch aber keinen Schwellwert. Es gibt ja nur 5V oder 0V. Und dies in der Frequenz von 50Hz auf der Ausgangseite.

Edit:
Wenn ich das richtig erkenne, dann nutze ich die rechte Schaltungsmöglichkeit in folgendem link: https://www.mikrocontroller.net/articles/Optokoppler


Wenn ich die Linke Schaltung nutze, sollte es funktionieren. Die I/O Pins liegen dann Standard mäßig auf LOW. Der Elko kommt vom I/O Pin zum GND. Wenn der Optokoppler jetzt in 50Hz schaltet puffert der Elko das und hält das Signal auf HIGH. Solange bis der Optokoppler nicht mehr schaltet, dann geht das Signal wieder auf LOW
 
Zuletzt bearbeitet:
Ja eben, das ist das Problem. Die 50Hz machen den Arduino eben zum ein/aus Operator, er schaltet Schätzungsweise hin und her und die innere Auswertung kann damit nichts anfangen.
Deshalb muss aus der Wechselspannung eben simulierte Gleichspannung gemacht werden.
Da eben das Ganze mit Wechselspannung arbeitet schafft ein Kondensator es auch nicht, es auf einer stabilen Spannung zu halten, sie wird irgendwo zwischendrin liegen. Der Schwellwertschalter hat die Aufgabe aus der Spannung irgendwo zwischendrin wieder etwas auswertbares zu machen.

Würde also bedeuten - aus den vielleicht 2,5V dann wieder 5V und 0V herzustellen - das erkennt dann der Arduino wiederum und macht dann das was er soll.

Werde mal schauen, ob ich da etwas brauchbares komplett aufmalen kann - wird aber nicht mehr heute - falls Du magst.
Mehraufwad (Preis) - geschätzt 50/60 Cent pro Stellrichtung.

Mit freundlichen Grüßen aus Sachsen
Lutz

PS: kurzer Technikhinweis - positive Halbwelle = HIGH, negative Halbwelle = LOW, Die Spannung schwillt zwischen -12 und +12 hin und her - so auch der Optokoppler
 
Ja
"Abzweig" leuchtet nachdem "Abzweig" gestastet wurde.
"Gerade" leuchtet nachdem "Gerade" getastet wurde.

Edit: Bissl verwirrend, aber funktioniert. Gibt sogar ne Anleitung dafür
https://www.tillig.com/dateien/Prod...83531_32_368991-Weichenantrieb_2016_03_21.pdf

Bei Mittelstellung und Störung leuchten beide weil beide Endlagenschalter nicht öffen, da keine Endlage erreicht wird.

Ja das ist ne ganz alte Schaltung und wurde schon in den Permot Stellpulten angewendet.
(zum bessern Unverständnis hat Tillig bei der Beschreibung die Endschalterkontakte im Antrieb nicht mit eingezeichnet)

Du Kannst die Lampe durch eine antiparallele Led (die leuchtet mit Wechselspannung, da 2 Led gegenpolig in einem Gehäuse) und Vorwiderstand ersetzen und optisch einkoppeln.

Es gibt auch >Optokoppler mit Wechselspannungseingang< in Form der genannten antiparallelen Led. Der Eingang funktioniert mit Wechselspannung.
Eine der beiden Led leuchtet bei der entsprechenden Halbwelle und steuert optisch den Transistor an, welcher Deine 5V High or Low schaltet.
 
Zuletzt bearbeitet:
Der Arduino kommt mit Schwellwerten zurecht. Sobald das Signal über 3V steigt erkennt er ein HIGH. Wenn es unter 2,3V sinkt erkennt er ein LOW.
 
Ja das ist ne ganz alte Schaltung und wurde schon in den Permot Stellpulten angewendet.
(zum bessern Unverständnis hat Tillig bei der Beschreibung die Endschalterkontakte im Antrieb nicht mit eingezeichnet)

Du Kannst die Lampe durch eine antiparallele Led (die leuchtet mit Wechselspannung, da 2 Led gegenpolig in einem Gehäuse) und Vorwiderstand ersetzen und optisch einkoppeln.

Es gibt auch >Optokoppler mit Wechselspannungseingang< in Form der genennten antiparallelen Led

Die Optokoppler kannte ich noch nicht :D. Blöd das die anderen Optokoppler schon bestellt sind. :(
 
Zurück
Oben