Digitale Weichenschaltung Modellbahn

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich habe eine (analoge) Märklin H0 Anlage mit 42 Weichen, 11 Abstellgleisen und einer Drehscheibe.

    Ich möchte die „Knopfsteuerung“ selbst digitalisieren und stattdessen Optokoppler Relaiskarten über Raspberry steuern.

    Die Software dazu schreibe ich selbst, bin beruflich im Java Umfeld aktiv … Der Plan ist eine (Flutter) App zu entwickeln, die den Raspberry über eine HTTP (Rest) Schnittstelle anspricht und so die über die GPIO angeschlossen Relais steuert.

    Soweit mir bekannt hat der Raspberry 4 nur 40 Pins, ich muss aber 2x42 + 11 bistabil = 95 Relais schalten.

    Hat jemand einen Tipp wie/ob das in der Größenordnung mit GPIO Erweiterung klappt? Was würdet ihr empfehlen?

    Meine Idee:

    PI: Raspberry Pi 4 Model B 8GB https://www.amazon.de/dp/B0899VXM8F/ref=cm_sw_r_cp_api_glt_i_AVRY084HGVFEYKDBNMJ6?_encoding=UTF8&psc=1&tag=psblog-21 [Anzeige]

    Relais AZDelivery 5 x 16-Relais Modul 12V

    https://www.amazon.de/dp/B07TTNW7Q5/ref=cm_sw_r_cp_api_glt_i_Y1S2PK4K4MMYJC64E0XY?psc=1&tag=psblog-21 [Anzeige]

    Bistabile Relaiskarten

    Relaismodul, 4-Kanal-Flip-Flop-DC 12 V Bistabil Selbstsperrendes Relaismodul Niedrigpuls-Trigger-Relais 6-24 VDC https://www.amazon.de/dp/B07VD7KMQ8/ref=cm_sw_r_cp_api_glt_i_6BAQSFE6RV2N3WV11W41?tag=psblog-21 [Anzeige]

    Amazon empfiehlt diese Expander. Kann das damit klappen? m.V. nach kann man damit doch „nur“ die 40 Pins verdoppeln - ich brauche aber 95 ?!

    AZDelivery 3 x MCP23017 Port Expander 16-Bit-I/O Bidirektional Expander mit I2C serieller Schnittstelle https://www.amazon.de/dp/B086W6ZQ36/ref=cm_sw_r_cp_api_glt_i_0V0P4N8CJ596SRYHRY3N?_encoding=UTF8&psc=1&tag=psblog-21 [Anzeige]

    Danke für jeden Tipp - bin neu beim Thema Raspberry und Hardware kenne ich mich jetzt auch nicht sonderlich aus.

    Grüße in die Runde

  • Bei den geringen Strömen, um die es da vermutlich geht, könntest du die Weichen auch mit Transistoren schalten. Eine Handvoll ULN2803 oder sowas sollte eigentlich genügen.

    Es gibt für relativ viel Geld Porterweiterungs-Hats zu kaufen. Wesentlich günstiger ist das mit ein paar hintereinander geschalteten Schieberegistern zu machen.

    Für 96 Weichen genügen 12 Schieberegister und 12 ULN - in Summe wenige Euros.


    Wozu sind die bistabilen Relaiskarten notwenig?

    Und wofür sind die 11 weiteren Relais? 11 Abstellgleise = 11 Relais? Was steuern die da?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Einmal editiert, zuletzt von Gnom (2. August 2021 um 07:57)

  • Hallo zurück,

    Danke für den Tipp. Ich messe später mal nach wie viel mA beim Schalten anliegt und melde mich wieder.

    Zu den GPIO Erweiterungen, kennst Du Dich da aus was man da nehmen könnte bzw. ob das überhaupt so möglich ist wegen der hohen Zahl benötigter PINs?

  • Wie ich oben schon sagte: Nimm Schieberegister - die kosten nicht viel und du kannst so viele hintereinander schalten, wie du willst. Die Programmierung erfordert etwas Geschick, ist aber unterm Strich ziemlich einfach.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Oja, Wechselstrom wäre natürlich blöd. Dann gäbe es auch noch Reed-Relais (nicht zu verwechseln mit Reedschaltern) - aber die sind relativ schwer zu bekommen und auch nicht ganz billig - so 60-90 Ct. Pro Stück je nach Quelle. Evtl. über Großhandelspalttformen billiger). Aber die Halbleiterrelais sind auch nicht billiger.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Amazon empfiehlt diese Expander. Kann das damit klappen? m.V. nach kann man damit doch „nur“ die 40 Pins verdoppeln - ich brauche aber 95 ?!

    AZDelivery 3 x MCP23017 Port Expander 16-Bit-I/O Bidirektional Expander mit I2C serieller Schnittstelle https://www.amazon.de/dp/B086W6ZQ36/ref=cm_sw_r_cp_api_glt_i_0V0P4N8CJ596SRYHRY3N?_encoding=UTF8&psc=1&tag=psblog-21 [Anzeige]

    Der MCP23017 ist ein I2C-seriell to paralell Converter. Da das Amazon Modul die I2C-Adressen einstellbar herausgeführt hat, kannst Du theoretisch 12 Stk. dieser Module an einem I2C (2 Pins am Pi) Anschluss/Master verwenden. Mit 6 Stk. dieser Module kannst Du 96 Ausgänge schalten. Der Pi4 hat aber auch die Möglichkeit, mehrere I2C Master zu konfigurieren. Dann hängen nicht alle Module an einem I2C-Bus, sondern an zwei, oder drei, was für die Strombelastung günstiger wäre.

    Besorge Dir mit "MCP23017 datenblatt" von Google dasselbe. Da ist umfangreich beschrieben, wie Du aus 2 Pins des Pi (SDA-1, SCL-1) 2 x 8 Bit = 16 Bit Ausgaben erzeugst.

    Da I2C gesetzlich geschützt ist, wird der Bus am Pi auch als BSC bezeichnet, wie z.B. in Kapitel 3 von https://datasheets.raspberrypi.org/bcm2711/bcm2711-peripherals.pdf

    https://www.raspberrypi.org/documentation/ solltest Du auch verwenden, wenn Du soein Projekt mit dem Pi 4 planst.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Nur "nebenbei":

    Wenn du den Pi4 8GB kaufst, musst du dir unbedingt das Original-Netzteil dazukaufen, nicht das, was bei dem Gehäuse dabei ist.

    Sonst habst du - wie bei vielen anderen Projekten hier schon erlebt - möglicherweise Stromprobleme!!

    Meine Pis

    Pi B Rev 2 24/7 - DHCP-Server im Heimnetz
    Pi 2B Rev 1.1 Home-Infocenter (Domoticz) - Kamera auf Garten
    Pi 2B Rev 1.1 Testgerät mit USV, Musikplayer, Kodi,
    Pi 3B Rev 1.2 Videos aus Netzwerk (an Rückseite des TV moniert)
    Pi 3B+ Rev 1.3 mit 3.5-TouchDisplay, Peppy-Web-Radio
    Pi 4B - 4GB Rev 1.1 Testgerät - Argon-ONE-Gehäuse

    Pi Zero Testgerät

    Pi Zero W Rev 1.1 Motion-Eye auf Garten

  • Hallo zurück,

    erstmal Danke für die Antworten - echt super!

    Ja, Märklin ist Wechselstrom - Weichen sollten sich angeblich aber auch mit 16V DC schalten lassen. Beim schalten ziehen sie ca 600mA Strom.

    Aus meiner Sicht ist das mit Relais zu schalten am saubersten und sichersten - da getrennte Stromkreise…

    Kriege ich denn obige Relaiskarten (5v) alle über das Netzteil versorgt?

    Danke für den Tipp mit dem Original Netzteil!

  • Kriege ich denn obige Relaiskarten (5v) alle über das Netzteil versorgt?

    Nein! Spendiere den Relaiskarten ein eigenes Netzteil. Je nachdem was die Relaisspulen ziehen, kommt da einiges an Strom zusammen. Ein HJR-4101-L zieht bei 5V etwa 40mA. Das sind bei knapp 100 Relais schon 4A. Sind auf der Karte Relais mit 100mA Spulenstrom verbaut, bist du auch schnell bei 10A.

  • 600 mA ? Das kann ich mir beim besten Willen nicht vorstellen. Bist du sicher?

    Also um die 100 Relais zu verbauen, wäre mir zu aufwändig. Wenn du getrennte Stromkreise willst, kannst du Optokoppler einabuen oder die besagten Reed Relais. Aber wozu eigentlich? Mann muss nicht auf Biegen und Brechen überall galvanische Trennungen einbauen.

    Wenn du auf Gleichstrom umbauen kannst, wäre das eine schlanke Lösung.

    Der ULN kann 500 mA schalten. Ich hab gerade in einem Dokument gelesen, dass die Weichen 5-10VA brauchen - bei 16 Volt sind das in der Tat bis zu 625 mA. Wenn du die Spannungsversorgung der Weichen auf 12 V absenkst, kannst du unter 500 mA bleiben. Oder du baust einen Widerstand von ca. 7 Ohm vor die Weiche, um die Spannung zu reduzieren. Du kannst auch je zwei Ausgänge des ULN parallel schalten, dann sind die 600 mA kein Problem. Du kannst aber auch andere Transistoren oder Mosfets einsetzten, die geeingete Leistungsdaten haben. Und wenn du unbedingt eine Trennung haben willst, setz halt Optokoppler davor. ULN, Optokoppler und Transistoren sind Pfennig artikel.

    Du kannst an ein Netzteil so viele Relais anschließen, wie du willst. Die Frage ist nur, wie viele du gleichzeitig betätigen willst. Grundsätzlich kannst du sie ja nacheinander schalten. Es ist ja nicht notwendig, viele Relais gleichzeitig zu schalten. Bei Transistoren hast du das Problem nicht, weil die kaum Strom brauchen. Eine Relais braucht ca. 60-70 mA (relativ wenig verglichen mit den 600 mA der Weiche). Das Netzteil des Pi hat genügend Reserven um ein paar Relais gleichzeitig zu schalten, wenn du nicht noch reichlich andere Stromfresser dran hängen hast.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Nein! Spendiere den Relaiskarten ein eigenes Netzteil. Je nachdem was die Relaisspulen ziehen, kommt da einiges an Strom zusammen. Ein HJR-4101-L zieht bei 5V etwa 40mA. Das sind bei knapp 100 Relais schon 4A. Sind auf der Karte Relais mit 100mA Spulenstrom verbaut, bist du auch schnell bei 10A.

    ... das alles gilt natürlich nur (siehe oben), wenn du alle Relais gleichzeitig schalten willst. Eine irrige Annahme, denke ich. Zum Umschalten der Weiche brauchst du doch (wenn ich mich nicht gänzlich irre) nur einen kurzen Impuls. Du kannst also die Relais immer schön nacheinander ansteuern und brauchst mitnichten 10 A.

    Insofern ist das "Nein!" (mit dem demonstrativen Ausrufezeichen) in diesem Fall doch eher ein "Jein" oder ein "Ja". Es ist hier aber gepflegte Tradition, weniger erfahrenen Usern ein bisschen Angst zu machen.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • das alles gilt natürlich nur (siehe oben), wenn du alle Relais gleichzeitig schalten willst. Eine irrige Annahme, denke ich.

    Naja ich helfe gerade selbst eine Anlage zu digitalisieren. Und wenn man dann ein Fahrprogramm nutzt werden schon viele Weichen geschaltet, auch gleichzeitig, wenn man es denn mit Relais macht. Und die Wünsche werden dann immer größer, erst die Weichen, dann Locks, dann Licht .... Wir haben anfangs mit 1wire und Transistoren (2 pro Weiche) geschaltet und nutzen Gleichstrom. Nebenbei, beim Preis sind wir allerdings jetzt auch da, als wenn wir die Anlage mit handelsüblichen Teilen digitalisiert hätten. Inzwischen machen wir alles mit DCC, einigen Decodern und dem ESP32. Um vielleicht noch etwas besser Helfen zu können, wäre der Typ der Weiche interessant. Wenn die mit Federantrieb ist, benötigt sie zum Halten der Position Dauerstrom. Es gibt auch Weichen mit 3 Anschlüssen, da wird mit Impuls umgeschaltet.

    Falls es jemanden interessiert, die Ideen mit dem ESP haben wir hier "geklaut": https://github.com/littleyoda/littleyoda-DCC-Decoder

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!