Entwicklung des Modellbahn-Digital-Systems DIGI-NOW zum Schalten und Melden bei der ChRB

  • Sehr schönes Gehäuse. Die Optik gefällt mir (das ist das Einzige, das ich in diesem Projekt beurteilen kann.😁)

    Gruss Roger

    97 von 121 grünen Ae 6/6

    Die Katze schläft im Lärm; nur die Stille weckt sie, wenn die Mäuse rascheln.

  • Sehr schönes Gehäuse.

    Danke!

    Bei der Zentrale war es einfach, ein ansprechendes Gehäuse zu machen. Bei den Decodern, die etwas unförmig werden und wo noch einiges angeschlossen werden soll, wird es etwas schwieriger.

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • Roger, bist da da nicht im Thread ein Bisschen verrutscht?

    Klar ist er verrutscht, der andere Admin der weiss wie man solche Pannen korrigiert.  8)

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • Ja, Röbi, der Roger zeigt wohl leichte Anzeichen von Stress. Und ich bin schuld, weil ich mir die Engstelle eingebildet habe. Vielleicht sollte er Urlaub machen. Könnte aber auch riskant sein, wenn er z. B. in San Francisco die Lombard Street entdeckt und auf die Idee kommt, die für ams nachzubauen.

    @Röbi:

    Bei deinen letzten Fotos in diesem thread war ich zuerst etwas irritiert. Eine DIGI-NOW Central Station im Badezimmer? Der grüne Hintergrund mit den gelben Streifen erinnerte zu sehr daran. Erst beim weiterscrollen wurde mir die grüne Arbeitsmatte ersichtlich und mir klar, dass Du Deine Modellbahn nicht auch noch von der Badewanne aus steuerst. Ich denke, in diesem Falle hätte es bei Dir daheim auch Ärger gegeben.

    Beste Grüße Robert und allzeit gute H0-Fahrt (gilt natürlich auch für alle anderen Maßstäbe)

  • Ich denke, in diesem Falle hätte es bei Dir daheim auch Ärger gegeben.

    😅 😂 🤣 Keineswegs! Bei mir daheim bin ich der einzige, der Ärger macht. Eine Modellbahnsteuerung im Badezimmer wäre bei mir jetzt überhaupt kein Problem. Ich habe schliesslich auch zwei Velos (*) im Wohnzimmer.

    (*) Velo = Fahrrad.

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • in San Francisco die Lombard Street entdeckt

    Längst geschehen: Dort bin ich in den 90er Jahren mit einem ‘73er Cadillac-Riesenschiff hinuntergekurvt. Da gibts sogar irgendwo ein Bild davon.

    Gruss Roger

    97 von 121 grünen Ae 6/6

    Die Katze schläft im Lärm; nur die Stille weckt sie, wenn die Mäuse rascheln.

  • Servus Roger, Ich hoffe, ich hab Dich mit der Lombard Street jetzt nicht auf dumme bzw. stressige Gedanken gebracht. Also wegen mir müsstest du diese Serpentinen nicht in 1:66 nachbilden.

    Bist du mit dem Caddy eigentlich aufgesessen?

    Beste Grüße Robert und allzeit gute H0-Fahrt (gilt natürlich auch für alle anderen Maßstäbe)

  • Ich habe schliesslich auch zwei Velos (*) im Wohnzimmer.

    Zum Erzeugen des Bahnstroms deiner Modellanlage? Müssen da Frau, Kinder und Enkel strampeln, damit die Züge rollen? :D

    Beste Grüße Robert und allzeit gute H0-Fahrt (gilt natürlich auch für alle anderen Maßstäbe)

  • Gehäuse für DIGI-NOW Decoder

    Dieses ist jetzt auch soweit. Es ist höher geworden als das der Zentrale. Zum Einen, weil es ein Breadboard enthält, auf welches der ESP32-C6 aufgesteckt ist und zum Anderen, weil es nach oben noch Platz braucht für die Kabel mit Dupont-Steckern.

      

    Die beiden USB-C Anschlüsse werden für den Betrieb nicht benötigt. Sie bieten die Möglichkeit, Software auf den ESP32-C6 zu laden. Auch hier hat es ein kleines, rundes Fenster, durch welches man das von der RGB-LED abgestrahlte Licht gut sieht.

    Der Decoder wird samt Gehäuse in ein grösseres Gehäuse eines Dreifach-Port-Moduls eingeschoben (muss noch konstruiert werden). Dieses grössere Gehäuse wird drei MCP23017 Port-Expander und insgesamt 48 dreipolige Federkraftklemmen enthalten, damit bis zu 48 IR-Lichtschranken angeschlossen werden können.

    Die rechteckige Öffnung ist für die Durchführung der Kabel vorgesehen. Es werden insgesamt sechs Kabel benötigt:

    - Masse und 5 V DC von einer zweipoligen Federkraftklemme (am grösseren Gehäuse) zum ESP32-C6 zur Speisung desselben

    - Masse und 3.3 V DC vom ESP32-C6 zum ersten MCP23017 Port-Expander (die 3.3 V DC werden vom ESP32-C6 zur Verfügung gestellt

    - die beiden Leitungen SDA und SCL des I2C-Bus für die Kommunikation zwischen dem ESP32-C6 und dem ersten Port-Modul

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

    Einmal editiert, zuletzt von sturzi (14. März 2025 um 16:33) aus folgendem Grund: Sechs Kabel, nicht vier

  • Gestern durfte ich deine Teile ja live bestaunen, zwar nicht im Einsatz, aber doch sehr spannend.

    Ich glaub ich muss mich auch pensionieren lassen, damit ich für solche Spässe auch genügend Zeit habe...

  • Ich glaub ich muss mich auch pensionieren lassen, damit ich für solche Spässe auch genügend Zeit habe...

    Ja, Teddy, das kann ich dir nur empfehlen.

    Habt ihr es noch geschafft gestern?

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • Ich durfte die Teile am Freitag beim Gipfeltreffen der Filamentschnüffler begutachten.

    Sehr eindrücklich, die wohl kleinste Digitalzentrale die man haben kann.

    Als nicht-Programmierer verstehe ich leider bei weitem nicht alles, was Röbi da macht. Aber beeindruckend ist es allemal.

    Gruess Martin

  • IR-Lichtschranken-Rückmelde-Decoder mit drei Port-Modulen

    Gestern habe ich das zugehörige Gehäuse konstruiert und auch gleich gedruckt. Die Ports sind nun bestückt, aber es fehlt noch die interne Verkabelung.

    Im linken Teil ist der Decoder mit dem zwei-poligen Klemmenblock für die Speisung mit Masse und 5 V DC.

    Rechts sind drei Port-Module à 16 Ports. Hier werden die IR-Lichtschranken der einen Anlagen-Hälfte angeschlossen. Für die andere Seite wird es nochmals ein solches Gerät geben.

    Dieser IR-Lichtschranken-Decoder bekommt die DIGI-NOW-Adresse 0 und der für die andere Anlagen-Hälfte bekommt die Adresse 1. Die Port-Module haben die Adressen 0, 1 und 2 (von rechts nach links). Ich adressiere beim DIGI-NOW ja durch Aneinanderreihen von drei Hexadezimal-Adressen: Decoder-Adresse, dann Port-Modul-Adresse und zuletzt Port-Adresse. Auf diesem Bild hat somit das unterste Port ganz rechts die Adresse 000 und das Port ganz links oben bekommt die Adresse 02F.

    Von hinten erkennt man in jedem Port-Modul einen Port-Expander MCP23017. Pro Port-Modul hat es ja 16 Ports und pro Port-Expander hat es 16 Pins für die digitalen Ein-, bzw. Ausgänge. Für jedes Port braucht es also eine Kabel-Verbindung zum Port-Expander. Zusätzlich müssen die Ports mit Masse und 3.3 V DC (Speisung für die IR-Lichtschranken) verbunden werden. Das braucht aber nicht für jedes Port eine einzelne Kabel-Verbindung zum Port-Expander, weil ich diese jeweils zusammenfassen kann.

    Die rechteckigen Löcher zwischen den einzelnen Kammern für die Port-Module dienen der Verkabelung von Port-Modul zu Port-Modul. Das sind jeweils 4 Adern (Masse und 3.3 V DC für die Speisung, sowie SDA und SCL für den I2C-Daten-Bus). Diese 4 Verbindungen beginnen beim Decoder und werden als Kaskaden-Schaltung von Port-Modul zu Port-Modul geführt.

    Hier werden alle Ports in den Port-Modulen als digitale Eingänge konfiguriert. Bei den Weichen-Decodern und Weichen-Port-Modulen (die noch zu entwickeln sind) sieht es dann anders aus. Dort werden die Pins der (selben) Port-Expander als digitale Ausgänge konfiguriert werden.

    Bei der ChRB haben wir insgesamt 75 IR-Lichtschranken im Schattenbahnhof. Ausserhalb des Schattenbahnhofs wird es keine IR-Lichtschranken geben. Theoretisch würden wir also mit 5 Port-Modulen (5 x 16 = 60 Ports), also zum jetzt bestehenden nochmals eines mit nur 2 Port-Modulen, auskommen. Dann müsste ich aber von einigen IR-Lichtschranken die Kabel verlängern und zudem wäre die Reserve an Ports eher knapp. Wenn ich wie vorgesehen nochmals eine Gruppe mit 3 Port-Modulen fertige, haben wir Kapazität für 96 Lichtschranken und damit eine komfortable Reserve.

    Ich mache mich jetzt an die interne Verkabelung, damit die erste Decoder- und Port-Modul-Gruppe fertig ist. Die Software (das gilt für den Kommunikations-Teil im Amorocos, die DIGI-NOW-Zentrale und den DIGI-NOW-Decoder) werde ich erst mal provisorisch (in abgekürztem Verfahren) erstellen, weil ich das DIGI-NOW möglichst bald im praktischen Betrieb beobachten und beurteilen will.

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • Hallo Röbi

    Wie eine alte Gebetsmühle komme ich mir vor, aber: das 'fäget', das Projekt!

    Ich war, gefühlt, nur einen Moment abwesend und schon gibt es hier einen Erfahrungsbericht, da sind sämtliche Netflix-Thriller einfach nur 'Kindergeburtstag'. Gut, das sind sie auch sonst recht häufig 8) .

    Hmmm, aber Deine Berufsbezeichnung müsste eigentlich ergänzt werden zu Softi + Hardi :P .

    Bin schwer beeindruckt :thumbsup: .

    Gruss, Carlo

    [H0m DCC] Anlage "Rhaetian Flyer" Proto-Freelance RhB/Bernina, FO/MGB und etwas Brünig

    Testsegmente, Aufstellbahnhof, Wendel: in Betrieb; jetzt dran: gestaltetes 'Musteria', grob nach Vorbild Disentis
    Bemo et al., Peco und handlaid ; Steuerung: Rocrail, CANbus GCA, Hall-Melder, Weichen-Servo, Roco WLAN-Maus

  • Hallo Carlo

    Vielen Dank für dein Kompliment. Ja, es hat mich komplett "gepackt" mit diesem Projekt.

    aber Deine Berufsbezeichnung müsste eigentlich ergänzt werden zu Softi + Hardi

    Kaum. Ich habe zwar die elektrotechnischen und digitaltechnischen Grundlagen einmal gelernt, aber während meiner ganzen Berufs-Laufbahn nie angewendet. Während fast 40 Jahren habe ich mich beruflich nur mit Software auseinander gesetzt.

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • Erster IR-Lichtschranken-Rückmelde-Decoder fertig und auf der Anlage platziert

    Die interne Verkabelung des IR-Lichtschranken-Rückmelde-Decoders ist jetzt auch fertig und das Gerät hat auf dem Anlagen-Tisch seinen Platz zugeteilt bekommen.

    Die ersten beiden IR-Lichtschranken sind an den Ports mit den Adressen 000 und 001 angeschlossen und funktionieren bereits.

    Die beiden Drähte links sind erst provisorisch verlegt und dienen der Speisung mit 5V DC.

    Das schwarze USB-C-Kabel, das oben am ESP32-C6 eingesteckt ist und herausschaut, braucht es hier nur für Inbetriebnahme-Zwecke, damit ich jeweils ein neues Programm flashen (auf den ESP32-C6 laden) kann. Auch für die Anzeige von Zustands-Daten auf dem Serial Monitor (auf dem Bildschirm des Mac) braucht es dieses Kabel. Später im Betrieb sendet dieser Decoder seine Daten kabellos via ESP-NOW an die DIGI-NOW-Zentrale. Dann kann das USB-Kabel entfernt werden und ist nur noch nötig, wenn ich eine neue Software-Version flashen will.


    Hier schätze ich wieder einmal meine beschriftungsfreie Verkabelungs-Methode. Die jeweils drei Kabel für eine Lichtschranke sind (und bleiben) beisammen, weil sie miteinander verzöpfelt sind. Angeschrieben sind sie aber nicht. Beim Anschluss an den Decoder verwende ich irgend ein freies Port.

    Jedes Gerät bei der ChRB, also IR-Lichtschranken, Weichen-Antriebe, Signal-Lämpchen und Besetztmelde-Strecken, hat eine eindeutige Identifikation.

    Im Falle dieser IR-Lichtschranke ist es die Identifikation (ich nenne sie nur Id) 450. Mit dieser Id "arbeite" ich auch in der Software. Sie wird z.B. verwendet, um eine Status- oder Fehler-Meldung anzuzeigen oder zu protokollieren.

    Bei der Inbetriebnahme (also jetzt) lasse ich die IR-Lichtschranke ansprechen, indem ich die Hand davor halte. Der Computer zeigt mir die Adresse der Lichtschranke, die angesprochen hat, an. Diese Zuordnung Id 450 --> Adresse 000 nennt man ein Mapping und dieses Mapping schreibe ich in die Datenbank des Steuerungs-Systems Amorocos. Ab dann sorgt das Programm dafür, dass beim Ansprechen der Lichtschranke an der Adresse 000 immer die Id 450 verwendet wird. Ich brauche mich nachher (und das gilt auch für das Programmieren) nicht mehr um die Adressen zu kümmern, sondern kann alles über die jeweilige Id bewerkstelligen.

    Ich werde nun nach und nach alle Lichtschranken, deren Kabel ich auf die Anlagenseite H gezogen habe, anschliessen und testen.

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • Heute habe ich die restlichen IR-Lichtschranken, die gegen die H-Seite hin verkabelt sind, angeschlossen. Das sind jetzt 38 Lichtschranken. Da beim Decoder 0 die Port-Module 48 Ports haben, bleiben 10 Ports als Reserve (siehe oberste Reihe der Klemmen-Blöcke).

    Bei den übrigen (jetzt noch nicht angeschlossenen) 37 Lichtschranken gehen die Kabel Richtung K-Seite. Sie werden dann an die Port-Module des Decoders 1 angeschlossen, aber den muss ich erst herstellen.

    Alle 38 angeschlossenen IR-Lichtschranken sind getestet und deren Status-Erkennung durch den Decoder funktioniert.

    Wenn ich das USB-Kabel am Decoder entferne (so wie es im späteren Bahnbetrieb sein wird), werden an der 5V DC Speisung (links unter dem Decoder) 0.6 A gezogen. Das sind 3 Watt und das ist für mich überraschend wenig. Ohne die angeschlossenen Lichtschranken waren es etwa 0.15 A, also 0.75 W. Das bedeutet, dass die 38 Lichtschranken zusammen etwa 2.25 W konsumieren (0.06 W pro Lichtschranke). Mit diesen Werten muss ich nicht befürchten, dass der ESP32-C6 an die Grenzen seiner 3.3V DC Versorgungs-Kapazität für die Lichtschranken gelangt.

    Hier leuchtet bei allen angeschlossenen IR-Lichtschranken die rote LED. Das bedeutet, dass sie im Moment kein Objekt erkennen. Wenn man etwas davor hält, leuchtet zusätzlich noch die grüne LED und eine entsprechende Meldung geht an den Mac. Vorerst geht diese Meldung noch nicht über die DIGI-NOW Zentrale, sondern direkt über das USB-Kabel. Bis es auf dem endgültigen Weg über die Zentrale läuft, muss noch etwas Software entwickelt werden.

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • Zuverlässigkeit der kabellosen Kommunikation mit ESP-NOW und allfällige Konsequenzen

    Die Kommunikation zwischen zwei ESP32 Controllern, wie ich sie zwischen der DIGI-NOW Zentrale und den DIGI-NOW Decodern einsetze, garantiert gemäss Espressif-Dokumentation nicht, dass die Daten jeweils korrekt und lückenlos übertragen werden. Das ist zwar ein Nachteil, dafür (oder gerade deswegen) hat diese Kommunikation auch sehr wertvolle Vorteile: Sie ist schnell, einfach anzuwenden und verbindet sich immer automatisch und problemlos nach dem Ab- und wieder Zuschalten einer Komponente.

    Gemäss Espressif-Dokumentation muss der Anwender, falls er absolute Zuverlässigkeit bei der Daten-Übermittlung möchte, selber (auf Anwender-Ebene) Prüf- und Korrektur-Mechanismen einbauen. Bei diesem Punkt muss ich mir schon überlegen, ob das bei meiner Anwendung nötig und sinnvoll ist. Vor Allem weiss ich bis jetzt ja nicht, ob die ESP-NOW Kommunikation in meinem Umfeld und bei meiner Anwendung gelegentlich Übertragungsfehler macht oder nicht.

    Ich habe mich für folgendes Vorgehen entschieden:

    Da die ESP-NOW Kommunikation bei allen meinen bisherigen Versuchen einen äusserst zuverlässigen Eindruck hinterlassen hat, versuche ich es erstmal ohne Korrektur-Mechanismen. Hingegen Prüf-Mechanismen werde ich einsetzen, um sicher zu erfahren, wie zuverlässig die Kommunikation überhaupt ist.

    Um allfällige Übermittlungs-Fehler festzustellen, berechne ich auf der Sender-Seite eine Prüfsumme über alle zu übermittelnden Daten-Elemente und sende diese auch mit. Auf der Empfänger-Seite mache ich dieselbe Berechnung über alle empfangenen Daten-Elemente und kontrolliere, ob die Prüfsumme stimmt. Sollte sie einmal nicht stimmen, erhöhe ich einen Fehler-Zähler um 1 und ignoriere die übermittelten Daten (*).

    Um allfälliges Verlorengehen einer Übermittlung festzustellen, verwende ich eine Sequenz-Nummer bei der Übermittlung. Diese Nummer wird vor jeder Übermittlung um 1 erhöht und mitgesendet. Auf der Empfänger-Seite kontrolliere ich, ob diese Nummer auch wirklich fortlaufend und lückenlos ist. Ist sie es einmal nicht, erhöhe ich einen anderen Fehler-Zähler und ignoriere die übermittelten Daten (*).

    Diese Fehler-Zähler (sollten sie einmal nicht mehr auf 0 stehen), übermittelt die DIGI-NOW-Zentrale ans Amorocos und dieses protokolliert dies dann auf der Meldungs-Konsole. Auf diese Art erfahre ich, ob überhaupt Übermittlungs-Fehler passieren. Kommen diese tatsächlich vor, werde ich nicht darum herum kommen, nachträglich einen Korrektur-Mechanismus in die Kommunikations-Software auf Anwender-Ebene einzubauen.

    (*) Ich habe geschrieben, dass ich im Fehler-Fall die Daten ignoriere. Sollte das vorkommen, ist das noch nicht das Ende der Welt, denn es handelt sich um Daten, die immer wieder übermittelt werden. Die Übermittlungen sind Ereignis-gesteuert und erfolgen zusätzlich periodisch. Das heisst, wenn z.B. der Decoder feststellt, dass eine IR-Lichtschranke angesprochen hat, wird dies sofort übermittelt. Sollte diese Information verloren gehen, wird sie bei der periodischen Übermittlung (voraussichtlich ein Mal pro Sekunde) wieder übertragen. Das bedeutet, dass in einem solchen Fall eine IR-Lichtschranken-Rückmeldung um bis zu einer Sekunde verspätet ankommen kann. Deswegen funktioniert die Steuerung immer noch, wenn auch mal ein Zug um 20 oder 30 mm zu weit fährt. Aber eben: Ob dies überhaupt vorkommt, muss erst festgestellt werden. Mein Bauchgefühl mit den bisherigen Erfahrungen der ESP-NOW Kommunikation sagt mir, dass es in meinem Umfeld nicht vorkommen wird.

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.

  • Zweiter IR-Lichtschranken-Rückmelde-Decoder auch fertig

    Der erste, bereits eingebaute IR-Lichtschranken-Decoder hat einen Bruder erhalten.

    Das ist natürlich nicht sein Platz, sondern hier steht er nur für die Photo-Session


    Das ist sein richtiger Platz, auf der K-Seite der Anlage. Erst ein Teil der Lichtschranken ist angeschlossen. Morgen kommen die anderen dran.

    Gruss, Röbi

    Jeder braucht einen 3D-Drucker. Wer keinen hat, weiss es einfach noch nicht.