Meine kleine Wohnzimmerbahn

Jonas_M
Beiträge: 18
Registriert: 30.01.2022, 22:11
Hat sich bedankt: 3 Mal
Danksagung erhalten: 6 Mal

Meine kleine Wohnzimmerbahn

Beitrag von Jonas_M » 25.02.2022, 19:25

Hallo zusammen,

ich möchte hier meine Wohnzimmerbahn vorstellen. Da ich die Bahn immer nur für ein paar Tage aufbauen kann, wird es eher um die Technik der Ansteuerung und des rollenden Materials gehen.
Als erstes mal ein Bild vom rollenden Material und einem temporären Gleisaufbau.

Wohnzimmerbahn_07.jpg

Die grüne Lok ist von LGB (2075, wahrscheinlich älter als ich), der Rest ist Playmobil aus meiner Kindheit. Als Decoder verwende ich den LD-G-34 plus von Tams. Gesteuert wird per Smartphone mit der Z21 App oder in Zukunft mit einem selbst gebauten Wifi Controller.

So sieht mein momentaner Testaufbau auf. Es sieht etwas wüst aus, aber es funktioniert :mrgreen: Ich plane aber, alles auf Lochraster zu löten und in passende Gehäuse gebaut.

Wohnzimmerbahn_02.jpg

Dann erstmal zur DCC-Zentrale.
Der Grundlegene Aufbau meiner DCC-Zentrale ist hier zu finden viewtopic.php?f=30&t=252.
Beim L298N habe ich die beiden Ausgänge parallel geschaltet, um eine höhere Ausgangsleistung zu erhalten. Hierzu müssen immer zwei Anschlüsse verbunden werden:
- IN1 und IN4
- IN2 und IN3
- ENA und ENB
- OUT1 und OUT4
- OUT2 und OUT3

Als Netzteil verwende ich ein 20 V Netzteil von Lenovo, da ich mehr Netzteile als Notebooks habe :D
Ich verwende zwei Konfiguration mit der DCC-Zentrale. Einmal eine Konfiguration, mit der ich immer nur eine Lok ansteuern kann. Dafür kann ich hier die CV des Decoders programmieren. Die andere ist die „richtige“ Konfiguration als DCC-Zentrale zum Betrieb mit mehreren Loks.

Hier erstmal meine Konfiguration für den Einzelbetrieb mit CV Programmierung. Hier muss natürlich für jede Lok der Eintrag " "dccoutputaddr":"<ID>" angepasst werden:

Code: Alles auswählen

{
    "version":"3",
    "cfg":[
        {
            "m":"ap",
            "ssid":"Z21 Test",
            "kanal":"6",
            "pwd":"geheim1234"
        },
        {
            "m":"simulateZ21"
        },
        {
            "m":"webservicewifiscanner"
        },
        {
            "m":"webservicelog"
        },
        {
            "m":"cmdlogger"
        }
    ],
    "out":[
        {
            "m":"dccout",
            "enable":"D8",
            "addr":"4711",
            "dccoutputaddr":"4"
        }
    ],
    "in":[
    ],
    "connector":[
    ]
}
Und hier die Konfiguration als DCC-Zentrale:

Code: Alles auswählen

{
    "version":"3",
    "cfg":[
        {"m":"ap","ssid":"Z21 Test","kanal":"6","pwd":"geheim1234"},
        {"m":"webservicewifiscanner"},
        {"m":"webservicelog"},
		{"m":"simulateZ21"},
        {"m":"cmdlogger"}
    ],
    "out":[
        {"m":"dcczentrale","enable":"DISABLE"}
    ],
    "in":[
    ],
    "connector":[
    ]
}

Da ich es schöner finde, die Loks mit einem Drehregler zu steuern, möchte ich mir einen Wifi Controller bauen. Geplant ist einen oder zwei Drehencoder zu verwenden. Einmal für die Geschwindigkeit und einmal zur Auswahl der Loks. Außerdem sollen mit Tastern die Funktionen der Loks aktiviert werden. Als Display verwende ich ein 4x20 Display.
Hier ein Bild vom jetzigen (provisorischen) Aufbau:

Wohnzimmerbahn_04.jpg

Sobald der MCP23017 da ist, kann ich auch mehr Taster verwenden. Ich bin noch am überlegen, welches Gehäuse ich verwende und wie ich die Drehencoder und Taster anordnen möchte.
Hier meine Konfiguration des Wifi-Controller. Als Schalter sind bisher nur zwei enthalten. Einmal Lokauswahl und einmal Fahrtrichtungsumkehr.

Code: Alles auswählen

{
    "version": "3",
    "cfg": [{
            "m": "wlan",
            "ssid": "Z21 Test",
            "pwd": "geheim1234"
        }, {
            "m": "z21",
            "ip": "192.168.0.111"
        }, {
            "m": "webservicewifiscanner"
        }, {
            "m": "webservicelog"
        }, {
            "m": "cmdlogger"
        }, {
            "m": "i2c",
            "sda": "D2",
            "scl": "D1"
        }, {
            "m": "display",
            "model": "LCD1602_PCF8574",
            "rows": 20,
            "cols": 4,
            "text": [
                "${wifi|status}",
                "ID:${lctl|addr} ${lctl|addr|s/4/Dampflok/g|s/5/Gelbe Lok/g}",
                "${lctl|speed} ${lctl|direction}",
                "Mehr Text..."
            ]
        }
    ],
    "out": [{
            "m": "locdatacontroller",
            "locaddr": [
                "4",
                "5"
            ],
            "id": "lctl"
        }
    ],
    "in": [{
            "m": "gpio",
            "var": "locid+",
            "gpio": "D5",
            "out": [
                "lctl"
            ]
        },
		{
            "m":"gpio",
            "var":"toggleDir",
            "gpio":"D4",
            "out":[
                "lctl"
            ]
        },		
		{
            "m": "rotaryencoder",
            "var": "relSpeed",
            "stepvalue": "1",
            "gpio": [
                "D6",
                "D7"
            ],
            "out": [
                "lctl"
            ]
        }
    ],
    "connector": [
    ]
}
Hierzu die Anmerkung, dass ich die config so nicht auf den ESP lade, sondern vorher die Formatierung ändere, um Speicherplatz zu sparen.
Ich verwende hierzu Notepad++ mit dem Plugin "JSTool". Das Plugin lässt sich in Notepad++ ganz einfach installieren. Hierzu über Erweiterungen->Plugin-Verwaltung nach "JSTool" suchen und installieren. Danach kann über Erweiterungen->JSTool->JSMin (New file) eine neue Datei erstellt werden. Hier ist der gesamte Programmcode in einer Zeile enthalten und alle überflüssigen Leerzeichen und Zeilemumbrüche sind entfernt.

Das war es dann erstmal. Ich werde immer mal wieder ein Update bringen. Kann aber manchmal etwas dauern :oops:

Viele Grüße
Jonas

Ralf_St.
Beiträge: 350
Registriert: 18.09.2018, 01:14
Hat sich bedankt: 66 Mal
Danksagung erhalten: 14 Mal

Re: Meine kleine Wohnzimmerbahn

Beitrag von Ralf_St. » 26.02.2022, 13:33

Hallo Jonas

Bisher hatte ich immer das Gefühl, jeder "Neue" versucht sich an eine von Sven's Lösungen, kommt mehr oder weniger damit zurecht und verschwindet danach von der Bildfläche.... :?
Zu diesen Menschen gehörst Du offensichtlich nicht! :)

Schön das Du dein Vorgehen uns hier zeigst, insbesondere finde ich es sehr hilfreich das Du die zugehörigen Config eingestellt hast. Auf deinen Controller bin ich sehr gespannt!
Gruß, Ralf

Jonas_M
Beiträge: 18
Registriert: 30.01.2022, 22:11
Hat sich bedankt: 3 Mal
Danksagung erhalten: 6 Mal

Re: Meine kleine Wohnzimmerbahn

Beitrag von Jonas_M » 27.02.2022, 12:37

Hallo Ralf,
ja, ich hoffe, dass ich hier anderen auch etwas helfen kann :) Mir hat es nämlich sehr geholfen, die config von anderen Usern zu sehen und diese für mich anzupassen. Löten kann ich, aber bei Software brauche ich immer ein paar Hilfen/Beispiele, an denen ich mich entlang hangeln kann :)
Ich befürchte beim Controller dauert es noch was :| Der MCP23017 ist noch auf dem Weg von China zu mir :D Ich glaube, ich sollte mir mal eine CAD Software installieren und da schon mal das Gehäuse planen. Habe leider keinen 3D Drucker. Muss mal schauen, was ich noch für Gehäuse habe.
Wahrscheinlich wäre ein OLED besser hinsichtlich Stromverbrauch, aber man kann zum Glück die Hintergrundbeleuchtung bei meinem Display ausschalten.
Achja, für Nachbauer: das Display ist mit einem IC2 Wandler am ESP angeschlossen. Bei Aliexpress werden die Displays häufig schon mit dem Adapter angeboten, der nur noch angelötet werden muss.
Viele Grüße
Jonas

Jonas_M
Beiträge: 18
Registriert: 30.01.2022, 22:11
Hat sich bedankt: 3 Mal
Danksagung erhalten: 6 Mal

Re: Meine kleine Wohnzimmerbahn

Beitrag von Jonas_M » 12.03.2022, 15:17

So, es gibt ein kleines Update von mir. Ich habe die DCC-Zentrale in ein Gehäuse gebaut. Es war am Ende doch enger als gedacht, aber es funktioniert alles :)

Hier ein Bild vom Innenleben. Die H-Brücke ist am Boden befestigt, der Rest am Deckel.

DCC-Zentale_1.jpg

Und hier einmal die fertige Zentrale von außen. Ich muss mal schauen, ob die paar kleinen Löcher reichen, um die Wärme der H-Brücke abzuführen.

DCC-Zentale_2.jpg

Das war es dann auch erstmal leider. Der MCP23017 ist mittlerweile angekommen. Jetzt warte ich noch auf das Gehäuse und dann geht es an den Wifi-Controller.
Viele Grüße und noch ein schönes Wochenende
Jonas

Benutzeravatar
Zoltan
Beiträge: 587
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 94 Mal
Danksagung erhalten: 7 Mal
Kontaktdaten:

Re: Meine kleine Wohnzimmerbahn

Beitrag von Zoltan » 12.03.2022, 15:57

Ich treibe nur immer je eine G oder Spur 1 Lok damit an, aber dabei wird die Bridge noch nicht zu warm.
LG Zoltan

Jonas_M
Beiträge: 18
Registriert: 30.01.2022, 22:11
Hat sich bedankt: 3 Mal
Danksagung erhalten: 6 Mal

Re: Meine kleine Wohnzimmerbahn

Beitrag von Jonas_M » 20.05.2022, 18:49

So, nach über zwei Monaten bin ich dann doch mal dazu gekommen, mich dem Wifi-Controller zu widmen 8-)
Momentan sind erstmal nur Display, Drehencoder, Taster, Ein/Ausschalter und die USB-Buchse eingebaut. Es könnte also noch was dauern, bis es fertig ist. Aber der Anfang ist gemacht :)
Es kommen vielleicht noch mehr Taster dazu. Aber erstmal muss ich gucken, wie die Elektronik rein passt. Es müssen ein NodeMCU, ein MCP23017 und eine 18650 Lithiumzelle noch rein. Das ursprüngliche 20x4 Display wurde aus Platzgründen gegen ein 16x2 Display getauscht.
Im Anhang sind ein paar Bilder vom jetzigen Baufortschritt.
Ich melde mich dann wieder, wenn ich weiter gebaut habe :)
Viele Grüße
Jonas
Dateianhänge
WifiController_3.jpg
WifiController_2.jpg
WifiController_1.jpg

Benutzeravatar
Zoltan
Beiträge: 587
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 94 Mal
Danksagung erhalten: 7 Mal
Kontaktdaten:

Re: Meine kleine Wohnzimmerbahn

Beitrag von Zoltan » 21.05.2022, 22:31

Sieht gut aus, bitte weiter :)
LG Zoltan

Jonas_M
Beiträge: 18
Registriert: 30.01.2022, 22:11
Hat sich bedankt: 3 Mal
Danksagung erhalten: 6 Mal

Re: Meine kleine Wohnzimmerbahn

Beitrag von Jonas_M » 28.05.2022, 23:01

Und fertig :)
Innen drin herrscht leider ein bisschen Kabelgewirr. Der erste Test war auch schon erfolgreich.
Was ich vielleicht noch verbessern würde:
- schönere Schrauben, am liebsten mit Innensechskantkopf.
- einen anderen, größeren Drehregler.
- Beschriftung der Taster. Am einfachsten wäre natürlich einfach mit einem Stift drauf schreiben. Aufkleber wären dafür flexibler...
Hier noch mein Konfiguration. Vielleicht hilft sie ja dem ein oder anderen als Inspiration.

Code: Alles auswählen

{
    "version": "3",
    "cfg": [{
            "m": "wlan",
            "ssid": "Z21 Test",
            "pwd": "geheim1234"
        }, {
            "m": "z21",
            "ip": "192.168.0.111"
        }, {
            "m": "webservicewifiscanner"
        }, {
            "m": "webservicelog"
        }, {
            "m": "cmdlogger"
        }, {
            "m": "i2c",
            "sda": "D2",
            "scl": "D1"
        },
		{
            "m":"i2cslave",
            "d":"mcp23017",
            "addr":[1]
        },
		{
            "m": "display",
            "model": "LCD1602_PCF8574",
            "rows": 16,
            "cols": 2,
            "text": [
                "ID:${lctl|addr} ${lctl|addr|s/4/Dampflok/g|s/5/Gelbe Lok/g|s/666/---/g}",
                "${lctl|speed}${lctl|direction}${wifi|status|s/Disconnected/OFF/g|s/192.168.0.112//g|s/No SSID Avail/Z21?/g} ${lctl|f0|s/1/L/g|s/0//g}${lctl|f1|s/1/1|s/0//g}${lctl|f2|s/1/2|s/0//g}${lctl|f5|s/1/5|s/0//g}${lctl|f9|s/1/9|s/0//g} ${sys|A0voltage|%.3s}V"
            ]
        }
    ],
    "out": [{
            "m": "locdatacontroller",
            "locaddr": [
                "4",
                "5",
				"666"
            ],
            "id": "lctl"
        }
    ],
    "in": [{
            "m": "gpio",
            "var": "locid+",
            "gpio": "E1A0",
            "out": [
                "lctl"
            ]
        },
		{
            "m":"gpio",
            "var":"toggleDir",
            "gpio":"E1B0",
            "out":[
                "lctl"
            ]
        },
		{
            "m":"gpio",
            "var":"toggleF0",
            "gpio":"E1A1",
            "out":[
                "lctl"
            ]
        },
		{
            "m":"gpio",
            "var":"toggleF1",
            "gpio":"E1B1",
            "out":[
                "lctl"
            ]
        },
		{
            "m":"gpio",
            "var":"toggleF2",
            "gpio":"E1A2",
            "out":[
                "lctl"
            ]
        },
		{
            "m":"gpio",
            "var":"toggleF5",
            "gpio":"E1B2",
            "out":[
                "lctl"
            ]
        },
		{
            "m":"gpio",
            "var":"toggleF9",
            "gpio":"E1A3",
            "out":[
                "lctl"
            ]
        },
		{
            "m": "rotaryencoder",
            "var": "relSpeed",
            "stepvalue": "2",
            "gpio": [
                "D4",
                "D3"
            ],
            "out": [
                "lctl"
            ]
        }
    ],
    "connector": [
    ]
}
Viele Grüße und noch ein schönes Wochenende
Jonas
Dateianhänge
WifiController_5.jpg
WifiController_4.jpg
WifiController_1.jpg

Benutzeravatar
Zoltan
Beiträge: 587
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 94 Mal
Danksagung erhalten: 7 Mal
Kontaktdaten:

Re: Meine kleine Wohnzimmerbahn

Beitrag von Zoltan » 29.05.2022, 07:45

So "gewirrig" ist es gar nicht... :)
LG Zoltan

little.yoda
Site Admin
Beiträge: 861
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 31 Mal
Danksagung erhalten: 137 Mal

Re: Meine kleine Wohnzimmerbahn

Beitrag von little.yoda » 04.06.2022, 10:32

Gefällt mir.

Den Akku lädst du über einen TP4056?

Gruß

Antworten