Belegtmelder über DCC-Bus mit Arduino auslesen

#1 von FritzHelmut , 19.07.2023 17:07

Hallo ich habe da mal eine Frage an die Spezies.
Im Rahmen des Umbaus meiner analogen Anlage auf digital möchte ich eine Blockbelegt- und Weicheniststandserfassung machen.
Zu Beginn fahre ich per Maus und schalte die Signale, Weichen- und Weichenstrassen weiterhin analog per Taster.
Dazu möchte auch gleichzeitig eine Signalisation der Zustände der Weichen und Blockbelegungen und Signale auf meinem Pult machen.

Da ich später eh noch auf PC weiter umrüsten will, möchte ich jetzt gleich, um mir viel Arbeit und Geld zu ersparen, fertige Rückmeldemodule z.B. Digikeijs DR4088 oder ähnliches einbauen.
Momentan habe ich nur einen Digitalverstärker Roco 10764 mit Lokmaus 2 der ja nur senden kann.

Jetzt meine Frage: Wie kann ich diese Rückmelder mit einem Ardunio und Netzteil/Busleitung so verknüpfen, dass der Ardunio die Belegtmelder erkennen
und auslesen kann. Arduino und Belegtmelder bekommen ihre eigene Bus-Leitung und Stronversorgung!

Die Belegtmelder und der Ardunio sollen nicht mit auf den DCC-Bus zwischen Schiene und Digitalverstärker sein, weil ja sonst sicherlich Störungen und Chaos ausbricht wenn dann der Arduino an der „zentrale“ vorbei hier auch noch werkelt.

Das Ergebnis werde ich dann über PWM-Bus mit WS2812 und RGB-LED’s auf meinem Pult anzeigen. Diese Anzeigeform funktioniert perfekt schon in einem anderen Projekt.
Später wenn ich mal eine richtige Zentrale habe und alles per Software über den PC läuft, will ich dann den Arduino nur als Sniffer laufen lassen um die Zustände weiterhin auf dem Pult darzustellen. Den Rest macht ja dann eh der PC. Das Pult stellt dann nur noch eine 2. Visualisierungplattform bzw. die Handbedienung dar.
Ich hoffe mich verständlich ausgedrückt zu haben, was ich hier machen will.
Leider geht der Umbau nicht komplett im ganzen sondern nur über diverse Zwischenschritte.
Arduino-Programmierung ist kein Problem.

Vielen Dank im voraus und ich freue mich schon auf eure Ideen.
Vielleicht hat sogar jemand schon mal so etwas oder ähnliches gemacht.


MfG
Fritz


FritzHelmut  
FritzHelmut
Beiträge: 5
Registriert am: 05.09.2019
Ort: Arnstein
Spurweite H0
Stromart DC, Digital, Analog


RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#2 von madas , 19.07.2023 18:40

Wenn die Rückmeldemodule mit Loconet arbeiten, könntest Du einen Arduino mit einem Loconet-Shield bestücken und so die Loconetmeldungen mit dem Arduino mitlesen, falls es das ist was Du suchst.

Einen Arduino kannste aber auch zu einem Loconet Belegtmelder machen. Z.b. durch Spannungs bzw. Stromfühler, ToF Module usw. am I2C Bus. Per Multiplexer die Anzahl pro Arduino deutlich erhöhen. Dann musste die Signale pro I2C Adresse nur noch einer Rückmeldeadresse zuordnen und den aus dem Signal resultierenden Status aufs Loconet senden.


FritzHelmut hat sich bedankt!
madas  
madas
S-Bahn (S)
Beiträge: 18
Registriert am: 27.10.2022


RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#3 von FritzHelmut , 19.07.2023 18:57

Jein, nach meiner Meinung müsste der Arduino wie als Zentrale arbeiten und die Belegtmelder ständig anpollen und die antworten dann.

Oder melden sich die Belegtmelder selbständig bei der Zentrale wenn sich irgend etwas ändert?
Ich stehe da nicht so tief im Stoff wie bei DCC die Kommunikation zwischen Zentrale und Belegtmelder läuft. Also wer, da wie, wann, was macht.
Ist ja auch normalerweise für den normalen Benutzer vollkommen irrelevant.


MfG
Fritz


FritzHelmut  
FritzHelmut
Beiträge: 5
Registriert am: 05.09.2019
Ort: Arnstein
Spurweite H0
Stromart DC, Digital, Analog


RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#4 von Domapi , 19.07.2023 20:35

Wenn deine Rückmelder über den S88-Rückmeldebus funktionieren, dann google mal nach „S88 Scanner, Interface“ etc.
Evtl. kann man das parallel zur Zentrale anbinden und per Arduino auslesen.


Viele Grüße
Martin

- Mein Trennungsbahnhof: viewtopic.php?f=64&t=152275
- Drehscheibensteuerung auf Arduinobasis "LocoTurn": https://wiki.mobaledlib.de/anleitungen/b...v10/150_inhalte


FritzHelmut hat sich bedankt!
 
Domapi
CityNightLine (CNL)
Beiträge: 1.634
Registriert am: 22.09.2015
Ort: Nämberch
Gleise Ohne Pickel
Spurweite H0
Steuerung Mit Hirn und Verstand
Stromart DC, Digital


RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#5 von Eifel-Knacki , 19.07.2023 21:31

Hallo,

schau mal hier rein, das hilft bestimmt schon weiter. Du kannst den Martin (hier im Forum "Hobbyprog") aber auch anschreiben, der ist sehr hilfsbereit.

Gruß Knacki


Bei "Alterung" halte ich es mit den Japanern. Patina ist dort kein positiv besetzter Begriff.


FritzHelmut hat sich bedankt!
 
Eifel-Knacki
InterRegioExpress (IRE)
Beiträge: 324
Registriert am: 09.12.2022
Ort: Kreis EU
Gleise K u. M Gleise
Spurweite H0
Steuerung Simple DCC Zentrale / RaspberryPi4 / Rocrail
Stromart Digital

zuletzt bearbeitet 19.07.2023 | Top

RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#6 von hmarx , 19.07.2023 23:23

Hallo Fritz,
DCC dient nur der Steuerung von Lok- und Weichendecodern durch die Zentrale über die Gleisspannung. Eine Rückmeldung der Weichenstellung oder der Besetztmeldung gibt es bei DCC gar nicht.
Viele Grüße
Heinz


FritzHelmut hat sich bedankt!
hmarx  
hmarx
InterRegioExpress (IRE)
Beiträge: 264
Registriert am: 20.05.2016
Ort: Windeck
Gleise Roco Line o.B.
Spurweite H0
Steuerung Lenz LZV200, ModellStw, Arduino
Stromart DC, Digital


RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#7 von 1zu120 , 20.07.2023 06:27

Zitat von FritzHelmut im Beitrag #1
Da ich später eh noch auf PC weiter umrüsten will, möchte ich jetzt gleich, um mir viel Arbeit und Geld zu ersparen, fertige Rückmeldemodule z.B. Digikeijs DR4088 oder ähnliches einbauen.

Das mit den DR4088 würde ich gleich lassen, die Firma Digikeijs, die diese Module hergestellt hat, gibt es nicht mehr.
Da bleibt nur umschauen nach "ähnliches", oder eben Arduinos, was mich auch sehr interessieren würde.


MfG Uwe
mein Blog Schmalspurmodule
Roco Z21, Roco-WLAN-Maus, z21App, Multimaus, Servodecoder Joka-Electronic


FritzHelmut hat sich bedankt!
1zu120  
1zu120
InterRegioExpress (IRE)
Beiträge: 417
Registriert am: 19.03.2013
Ort: 1zu120
Spurweite TT

zuletzt bearbeitet 20.07.2023 | Top

RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#8 von KlausZ , 20.07.2023 08:13

Hallo,

wenn Du mit einem Arduino arbeiten willst, schau Dir auch mal die Loconet-Lösung von ArCoMoRa an: https://www.arcomora.com/arloco/

Klaus


FritzHelmut und 1zu120 haben sich bedankt!
 
KlausZ
InterRegioExpress (IRE)
Beiträge: 431
Registriert am: 15.08.2013
Ort: S-Möhringen
Spurweite Z
Stromart DC, Digital


RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#9 von moppe , 20.07.2023 10:10

Fritz,

Früher du viel Geld und unendlich viele Stunden in ein arduino Lösung brauchen, empfehlen ich ihn ein z21start + freischaltcode zu kaufen.
Nun hab du ein einfaches Zentrale mit rückmeldebus und Ethernet Netzwerk.
Es kann auch CVs lesen und schreiben und du kannst sogar deiner alte lokmaus nutzen….


Klaus


"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html


FritzHelmut hat sich bedankt!
 
moppe
Trans Europ Express (TEE)
Beiträge: 8.729
Registriert am: 07.08.2011
Homepage: Link
Ort: Norddeusche halbinsel
Gleise Roco, PECO, Märklin/Trix, PIKO,
Spurweite H0, H0e, N, Z
Steuerung Z21, Lenz, MpC Gahler+Ringsmeier, Games on Track/Faller
Stromart AC, DC, Digital, Analog


RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#10 von FritzHelmut , 21.07.2023 15:16

Zitat von hmarx im Beitrag #6
Hallo Fritz,
DCC dient nur der Steuerung von Lok- und Weichendecodern durch die Zentrale über die Gleisspannung. Eine Rückmeldung der Weichenstellung oder der Besetztmeldung gibt es bei DCC gar nicht.
Viele Grüße
Heinz


Hallo Heinz,
vielen Dank für die Richtigstellung mit dem DCC. Ich bin ja erst hier am Anfang des digitalen Einstiegs.

Zu den Arduinos:
Nun könnte man ja die Belegtmelder selber bauen, auch über einen Arduino mehrere Blöcke erfassen und die "Arduinos" über welchen Bus auch immer untereinander verbinden. Allein bei den Belegtmeldern gibt es zig Varianten und Variationen, von Schaltsystemen bis hin zu Stromfühler und was weis ich nicht noch. Ich habe mich für Stromfühler entschieden, weil das den Block komplett überwacht und nicht nur eine bestimmte Stelle. Auch muß ich mein Material nicht mit Magneten präparieren etc..
Auch bei Stromfühler gibt es wieder x Varianten wen es um die Empfindlichkeit geht. Von einfachen Dioden mit Optokoppler bis hin zu System mit OPV's und Verstärker etc.

Aber warum soll man das Rad immer neu erfinden!? Ist ja auch ganz schön Material und vor allem Zeitaufwendig das ganze Getöns zu entwerfen, Prototyp bauen, zu testen, ändern bis es irgendwann mal läuft oder auch nicht.

Ich nutze beispielsweise schon ein Eigenkonstrukt für meine Weichensteuerung, einen Mega als Master der per Virtual-Wire dann 20 Attiny85 von Digispark (Slave) als Servodekoder die Schaltbefehle schickt und die Ist-Weichenstellung zurückliest. Die IST-Zustände dann per Datenfunk an einen separaten PC zur Gleisbild-Visualisierung mittels Excel und VBA-Schnittstelle schickt. Funktioniert gut, habe aber auch 1 Jahr gebraucht und viele Irrungen und Wirrungen durchlaufen bis es lief.

Hat jemand Erfahrung wie lang die Leitung zwischen Gleis und dem Belegterfassungsmodul sein kann?
Bei den Störungen auf einer Modellbahnanlage fängt man sich da ganz schnell irgendwelches Zeugs bei langen Leitungen ein was dann zu den tollsten Effekten führt bis dazu das man nix mehr detektiert weil der Leitungswiderstand den geringen Strom eines Dekoders von wenigen 100µA auffrist.
Hatte ich bei meiner Weichensteuerung so, bis ich dann einen relativ Störunempfindlichen Bus gefunden hatte.

Ich wollte die Belegterfassungsmodule in mein Schaltpult bauen.
Also unter der Anlage soll nix aktives sein, nur Verbindungsdrähte (geschirmte Kabel) vom Pult zum jeweiligen Block.
Vor allem auch weil die Blöcke relativ Groß/lang sind und somit es nur ganz wenige Erfassungsstellen gibt.


MfG
Fritz


FritzHelmut  
FritzHelmut
Beiträge: 5
Registriert am: 05.09.2019
Ort: Arnstein
Spurweite H0
Stromart DC, Digital, Analog


RE: Belegtmelder über DCC-Bus mit Arduino auslesen

#11 von Draisine , 22.07.2023 13:33

Wie auch in #2 von madas geschrieben, ist es das einfachste die Statusmeldungen über Loconet mit Arduino-Shield auszulesen. Dazu benötigt man auch keine I2C-Schnittstelle, da zum Anschluß an Loconet nur eine Spannungsversorgung sowie die Daten- und Taktleitung des Loconet erforderlich sind.

Ich bin dabei mir über Arduino und Loconet ein Stellpult mit Belegtmeldererkennung und automatischer Fahrstraßenauswahl zu bauen, habe das ganze aber erst mal wieder auf die Seite gelegt, da ich gerade mit Umbauarbeiten in meinem Haus beschäftigt bin. Räume für meine Modellbahn.

Mit dem Arduino bin ich mittlerweile soweit gekommen, daß ich die Belegtmelderinformationen lesen und auswählen kann. Desweiteren kann ich Schaltbefehle für Weichen/Signale über das Loconet absetzen. Und ich generiere Statusmeldungen für Weichenstellungen und Belegtmeldungsanzeigen mittels Arduino Uno, wegen der begrenzten IN/Outputs hier allerdings tatsächlich in Kombination mit I2C und Horter-Bausteinen. Momentan für 64 Ein- und 64 Ausgänge. Horter-Bausteine deswegen, da diese recht professionell und auch als kompletter Bausatz erhältlich sind, inkl. professioneller Platine mit Kontroll-LED und Anschlußklemmen und für ca. 13 Euro/8 Ein-/Ausgänge auch relativ preiswert. Und auch funktionieren.

Die ganze Steuerung inkl. Belegmelderstatus funktioniert auch schon ganz gut. Wie gesagt, mir fehlt momentan etwas die Zeit hier dran weiterzuarbeiten. Wozu u. a. auch der Aufbau eines Testbahnhofs mit Stellpult gehört um auch die Fahrstraßenauswahl testen zu können. Hierzu habe ich einen Dijkstra-Algorithmus implementiert der mir die kürzeste Verbindung zwischen zwei ausgewählten Punkten (Start und Ziel) liefert, womit ich dann meine zugehörigen Weichen schalte. Das funktioniert im Simulationsmodus auch schon recht gut. In der Praxis wird es sicherlich noch den einen oder anderen Bug geben.

Für die Steuerung und Überwachung des Loconet gibt es fertige Bibliotheken.

Hier:
https://pgahtow.de/w/Loconet

findest Du beispielsweise eine gute Übersicht der Quellen inkl. Schaltplänen für ein Loconet-Shield. Das ist relativ simpel, da man sich nicht um die Busverwaltung kümmern muß. Das machen die Bibliotheken. Auf der Seite sind auch Beispielsketche angegeben, um beispielsweise OpCodes (Befehlssequenzen in Loconet) zu generieren, um damit beispielsweise Weichen zu schalten oder Belegtmelder abzufragen. Um das ganze kann man dann seine Sketche basteln. Entweder mit C (was ich halbwegs kann) oder mit C++ (was ich nicht kann und was ich auch nicht mehr lernen möchte, dazu fehlt mir einfach die Zeit).

Wenn Du konkrete Fragen zu dem einen oder anderen Punkt hast, dann melde Dich einfach. Ich versuche weiterzuhelfen, soweit ich das kann. Manches im Zusammenhang mit Loconet ist für mich auch noch wie Jugend-forscht. Aber bei mir funktioniert das schon mal auf wundersame Weise. Mit Try und Error.

P.S. ich verwende übrigens die 4088LN-CS. Aber auch die neueren Produkte von Yamorc. Und die DR5000 mit Upgrade (9401), deren Vorteil es als Multibuszentrale ist, die über Loconet abgesetzten Weichenschaltbefehle nach DCC zu übertragen. Somit erspare ich mir teure Loconet Schaltdecoder.

Grüße Thomas


Die Sucht nach Bahn/Modellbahn hat mich nie losgelassen, ich habe sie aber auch nie richtig ausgelebt. Nun erfülle ich mir all die Wünsche der letzten Jahrzehnte.


FritzHelmut hat sich bedankt!
Draisine  
Draisine
InterRegio (IR)
Beiträge: 180
Registriert am: 16.01.2019
Ort: Südhessen
Gleise Roco Line + geoLine + Piko + LGB, Fahrzeuge: alles mögliche
Spurweite H0, G
Steuerung Digikeijs DR5000 + Upgrade YD9401, MD-Zentrale, Bausteine Digikeijs + YAMORC, ESU
Stromart DC, Digital

zuletzt bearbeitet 03.08.2023 | Top

   

Piko Decoder
Roco 70656 DC kann AUX9,AUX10 auch bei ESU funktionieren?

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz