RAST-Test-Controller

Fernsteuerung, Wifi-Controller, ...
Ralf_St.
Beiträge: 359
Registriert: 18.09.2018, 01:14
Hat sich bedankt: 68 Mal
Danksagung erhalten: 17 Mal

Re: RAST-Test-Controller

Beitrag von Ralf_St. » 05.01.2021, 00:51

Guten Abend

Da es mit dem Akkubetriebenen ESP-NOW-ZENTRALEN-CONTROLLER noch etwas mehr Zeit braucht, habe ich mich dazu entschlossen den neuen Test-Controller erst mal so zu konfigurieren, das er an meiner Z21 betrieben werden kann. Hier aber erstmal ein Update zum neuen Test-Controller: (Leider ist die Qualität der Bilder nicht so gut... :oops:)
Die Maße wie auch die Ausführung mit der Powerbank haben sich zum Vorläufer nicht verändert.
Allerdings wurde nicht nur die Art der Tasten, sondern auch die Anzahl von 9 F-Tasten auf 17 erhöht. Hierzu werde ich im weiteren noch einige Angaben machen.
Noch sind lediglich die Platinen mit den Tastern eingebaut, alle anderen Komponenten sollen in nächster Zeit folgen.



ESP32-LYCONT_1.jpg
ESP32-LYCONT_1.jpg (109.11 KiB) 7989 mal betrachtet
Auf der Display-Seite des Controllers sind mit A+ und A- die Auswahl der Loks möglich.
Die drei Tasten darunter, F0 und F11, sind zum anlassen einer Lok notwendig, und F8 setzt die Lautstärke auf 20% herunter.
Wer sich die oberen 9 Tasten genauer ansieht, wird sich wahrscheinlich fragen, warum diese nicht von 1 bis 9 gehen, sondern in der oberen Reihe F7, F9 und F10 steht, gefolgt von F20 bis F25...
Was da so durcheinander erscheint, ist jedoch vor Jahren mit anderen Mitspielern gewachsen und "festgelegt" worden. Ich habe auf meinem Controller aber nur die Tasten eingebaut, die bei meinen Loks benutzt werden. F7, 9 und 10 sind für unterschiedliche Lasten, die an der Lok angehängt sind, zuständig.
F20 hat eine Spezialaufgabe, ist diese aktiv, kann die Lok nicht gefahren werden, sie saugt sich lediglich "Saft" aus dem Gleis um den verbauten Akku aufzuladen.
Mit F21 bis 25 kann ich, bei ausgewählten Loks, wenn diese als Vorspann oder nachschiebend eingesetzt werden, z.B. Pfeifsignale geben, das Horn oder die Glocke betätigen und den Decoder der Lok ein oder aus schalten...



ESP32-LYCONT_2.jpg
ESP32-LYCONT_2.jpg (80.56 KiB) 7989 mal betrachtet
Bei meinem ersten Test-Controller waren in der Frontblende lediglich die Umschaltknöpfe für die Fahrtrichtung herausgeführt. Bei der neun Variante ist die F3 Taste, welche ich zum bremsen der Lok benötige dazu gekommen! Wird die Taste gedrückt, bremst die Lok ab, lässt man die Taste los, rollt die Lok weiter...



ESP-LYCONT_3.jpg
ESP-LYCONT_3.jpg (99.91 KiB) 7989 mal betrachtet
Auf dieser Seite des Controllers sind die beiden Hebel zum beschleunigen der Lok, der Linke zum rangieren, der rechte für die Streckenfahrt. Des weiteren sind hier die Tasten F1, F2, F4 und F5 eingebaut. Bis auf F5, die für Lokfahrten ohne Last gesetzt werden kann, sind die anderen Tasten so konfiguriert, das die Funktionen nur so lange ausgeführt werden, wie die Taste gedrückt wird. Als Funktionen sind das bei mir Horn kurz, Horn lang und die Glocke.

Obwohl ich zur Zeit nur "Trockenübungen" durchführen kann, bin ich jetzt schon sehr zufrieden mit der Anordnung der Tasten! Im Grunde brauche ich keine Beschriftung auf den Tasten, weil ich den Controller ohne hinsehen zu müssen bedienen möchte!
Mir ist es einfach wichtig den Zug durch die Landschaft fahren zu sehen und die Augen bei der Lok zu haben.
Ständig zum Handregler schauen zu müssen um bestimmte Funktionen auszuführen macht mir nicht so viel Spaß! Ein weiterer Punkt den ich testen wollte, und bereits mit dem Vorgänger getestet habe, ist, den Controller als "Bauchladen" zu nutzen! Ob vor dem Bauch hängend, oder seitlich umgehängt, das Teil lässt sich super gut bedienen. Diese Ziele vor Augen, habe ich den/die Testregler gebaut und bin sehr zufrieden mit dem Ergebnis!

Was noch fehlt:
  • Die Taster am ESP32 anschließen, macht keine Probleme.
  • Ein MCP23017 an den ESP32 anschließen und herausfinden wo die Taster angeschlossenen werden.
  • Die config.json so zusammenzustellen das alles läuft, sollte mit dem Configurator klappen.
  • Alles so aufbauen, das es am Ende ins Gehäuse paßt.
Letzteres wird noch spannend, aber die Platine mit dem MCP23017 ist zum Glück relativ klein und sollte zusammen mit dem OLED Display und dem D1 Mini ESP32 gerade noch ins Gehäuse hinein passen...
Bei den Anschlüssen des MCP23017 und der Bezeichnung in der config.json brauche ich sicherlich noch Hilfe!

Wenn dann alles läuft, bin ich erst mal mega glücklich und kann mich vielleicht schon darauf freuen das die Erweiterung zum ESP-NOW-ZENTRALEN-CONTROLLER bald möglich ist!
Gruß, Ralf

Ralf_St.
Beiträge: 359
Registriert: 18.09.2018, 01:14
Hat sich bedankt: 68 Mal
Danksagung erhalten: 17 Mal

Re: RAST-Test-Controller

Beitrag von Ralf_St. » 10.01.2021, 02:45

"Nichts ist so einfach wie es aussieht"!

Zumindest für mich ist es so, aber ich lerne täglich dazu und freue mich das mir hier wann immer nötig geholfen wird.
Meine Config die ich mir "gebastelt" habe, war jedenfalls schon mal richtig. Allerdings, und daher nur zur Dokumentation, ist meine config.json etwas zu mächtig geraten!

Code: Alles auswählen

{
   "version":"3",
   "cfg":[
      {
         "m":"wlan",
         "ssid":"Hallo-World",
         "pwd":"12345678"
      },
      {
         "m":"z21",
         "ip":"192.168.xxx.xxx"
      },
      {
         "m":"webservicewifiscanner"
      },
      {
         "m":"webservicelog"
      },
      {
         "m":"cmdlogger"
      },
      {
         "m":"i2c",
         "sda":"IO21",
         "scl":"IO22"
      }, 
      {
         "m":"i2cslave",
         "d":"mcp23017",
         "addr":[
            0
        ]
      },
      {
         "m":"display",         
         "text": [
            "${lctl|f0|s/0/ /g|s/1/0/g}${lctl|f1|s/0/ /g|s/1/1/g}${lctl|f2|s/0/ /g|s/1/2/g}${lctl|f3|s/0/ /g|s/1/3/g}${lctl|f4|s/0/ /g|s/1/4/g}${lctl|f5|s/0/ /g|s/1/5/g}${lctl|f6|s/0/ /g|s/1/6/g}${lctl|f7|s/0/ /g|s/1/7/g}${lctl|f8|s/0/ /g|s/1/8/g}${lctl|f9|s/0/ /g|s/1/9/g}",
            "----------",
            "${lctl|f10|s/0/ /g|s/1/0/g}${lctl|f11|s/0/ /g|s/1/1/g}${lctl|f12|s/0/ /g|s/1/2/g}${lctl|f13|s/0/ /g|s/1/3/g}${lctl|f14|s/0/ /g|s/1/4/g}${lctl|f15|s/0/ /g|s/1/5/g}${lctl|f16|s/0/ /g|s/1/6/g}${lctl|f17|s/0/ /g|s/1/7/g}${lctl|f18|s/0/ /g|s/1/8/g}${lctl|f19|s/0/ /g|s/1/9/g}",
            "----------",
            "${lctl|f20|s/0/ /g|s/1/0/g}${lctl|f21|s/0/ /g|s/1/1/g}${lctl|f22|s/0/ /g|s/1/2/g}${lctl|f23|s/0/ /g|s/1/3/g}${lctl|f24|s/0/ /g|s/1/4/g}${lctl|f25|s/0/ /g|s/1/5/g}${lctl|f26|s/0/ /g|s/1/6/g}${lctl|f27|s/0/ /g|s/1/7/g}${lctl|f28|s/0/ /g|s/1/8/g}",
            "${lctl|direction}${lctl|status}"
         ],
         "model":"Wemos OLED Shield",
         "rotation": "180"
      }
   ],
   "out":[
      {
         "m":"locdatacontroller",
         "locaddr":[
            "1",
            "50",
            "2051",
            "66",
            "3"
         ],
         "id":"lctl"
      }
   ],
   "in":[
      {
         "m":"rotoryencoder",
         "gpio":[
            "IO34",
            "IO35"
         ],
         "out":[
            "lctl"
         ],
         "var":"relspeed",
         "stepvalue":"6"
      },
      {
         "m":"rotoryencoder",
         "gpio":[
            "IO32",
            "IO33"
         ],
         "out":[
            "lctl"
         ],
         "var":"relspeed",
         "stepvalue":"1"
      },
      {
         "m":"gpio",
         "gpio":"IO17",
         "out":[
            "lctl"
         ],
         "var":"locid+"
      },
      {
         "m":"gpio",
         "gpio":"IO16",
         "out":[
            "lctl"
         ],
         "var":"locid-"
      },
      {
         "m":"gpio",
         "gpio":"IO04",
         "out":[
            "lctl"
         ],
         "var":"toggleF0"
      },
      {
         "m":"gpio",
         "gpio":"IO05",
         "out":[
            "lctl"
         ],
         "var":"toggleF11"
      },
      {
         "m":"gpio",
         "gpio":"IO14",
         "out":[
            "lctl"
         ],
         "var":"toggleF8"
      },
      {
         "m":"gpio",
         "gpio":"IO15",
         "out":[
            "lctl"
         ],
         "var":"toggleF9"
      },
      {
         "m":"gpio",
         "gpio":"IO26",
         "out":[
            "lctl"
         ],
         "var":"toggleF10"
      },
      {
         "m":"gpio",
         "gpio":"IO27",
         "out":[
            "lctl"
         ],
         "var":"toggleF5"
      },      
      {
         "m":"gpio",
         "gpio":"!IO19",
         "out":[
            "lctl"
         ],
         "var":"setF3"
      },
      {
         "m":"gpio",
         "gpio":"!IO23",
         "out":[
            "lctl"
         ],
         "var":"setF1"
      },
      {
         "m":"gpio",
         "gpio":"!IO25",
         "out":[
            "lctl"
         ],
         "var":"setF2"
      },
      {
            "m":"gpio",
            "var":"toggleF4",
            "gpio":"E1B0",
            "out":[
                "lctl"
            ]
        },
       {
            "m":"gpio",
            "var":"toggleF7",
            "gpio":"E1B1",
            "out":[
                "lctl"
            ]
        },  
        {
            "m":"gpio",
            "var":"toggleF20",
            "gpio":"E1B2",
            "out":[
                "lctl"
            ]
        },
        {
            "m":"gpio",
            "var":"toggleF21",
            "gpio":"E1B3",
            "out":[
                "lctl"
            ]
        },
        {
            "m":"gpio",
            "var":"toggleF22",
            "gpio":"E1B4",
            "out":[
                "lctl"
            ]
        },
        
        {
            "m":"gpio",
            "var":"toggleF23",
            "gpio":"E1B5",
            "out":[
                "lctl"
            ]
        },
        {
            "m":"gpio",
            "var":"toggleF24",
            "gpio":"E1B6",
            "out":[
                "lctl"
            ]
        },  
        {
            "m":"gpio",
            "var":"toggleF25",
            "gpio":"E1B7",
            "out":[
                "lctl"
            ]
        },
      {
         "m":"gpio",
         "gpio":"IO18",
         "out":[
            "lctl"
         ],
         "var":"toggleDir"
      }
   ],
   "connector":[
      
   ]
}
Was das für Auswirkungen hatte, möchte ich hier mal aufzeigen:
Da ich den Controller zunächst nur mit dem ESP32 aufgebaut hatte, und alles gut funktionierte, konnten Fehler am Display und dem ESP ausgeschlossen werden.
Um die noch fehlenden 8 Tasten anschließen zu können, war ein MCP23017 erforderlich. Nachdem dieser eingebaut und die 8 Tasten angeschlossen waren, zickte das Display plötzlich herum...
Zunächst war alles normal, aber nach 1 bis 2 Sekunden blitzte es kurz auf und danach blinkte unten rechts ein winziger Punkt!
Zwar konnte ich die Funktionen der Lok aktivieren, aber angezeigt wurden mir die nicht.
Weder konnte ich von einer zur anderen Lok wechseln, noch zeigte mir das Display die Fahrstufe an!
So ein Mist dachte ich mir und begann damit Funktionstaster für Funktionstaster wieder abzulöten. Dann die Config ändern, wieder aufspielen und den Controller zum testen wieder einschalten.
4 Taster musste ich abklemmen, bist der Controller, beziehungsweise das Display wieder normal funktionierte.
Es folgte das große Rätselraten, liegt es am MCP23017, oder hat sich irgendwo ein Fehler eingeschlichen! Der Gedanke, das etwas mit der Software nicht stimmen könnte, kam mir erst, als ich in der Config zwar die Einträge für Anschlüsse am MCP23017 eingetragen hatte, diese aber überhaupt nicht an den Tastern angeschlossen waren...!?
Auch jetzt spielte das Display verrückt und wieder zeigte es mir nichts an...!?

Nachdem ich Sven die Config zum überprüfen zugesandt hatte, stellte sich heraus, dass die Datei zu groß war und von daher Probleme mit dem ESP auftraten.

Sven hat mir meine Config dann "verkleinert"! Als Laie würde ich sagen, er hat aus vielen kurzen Zeilen eine einzige gemacht... Nun ist sie nur noch knapp halb so groß wie zuvor!

Nachdem ich diese Config aufgespielt hatte, funktionierte dann alles wie es soll!
Also lötete ich die 4 Funktionstaster wieder an...
Kaum zu glauben, auch die funktionieren nun!

Jetzt hoffe ich mal, dass es morgen immer noch so ist und nicht wieder irgendwas unerwartetes passiert!
Nachtrag
Ich war gerade an der Anlage und habe den Controller nochmal ausgiebig getestet.
Alles funktioniert wunderbar und ohne irgendwelche Probleme! Als Bauchladen umgehängt oder auch als Handregler macht es richtig Spaß damit eine Lok zu fahren.
Der Tipp von Norbert mit den beiden unterschiedlich konfigurierten Drehreglern ist mega klasse gewesen! Das Sven diese, aber auch alle anderen Möglichkeiten realisiert hat, macht das alles erst möglich, dafür nochmal ein Dankeschön!
Gruß, Ralf

Ralf_St.
Beiträge: 359
Registriert: 18.09.2018, 01:14
Hat sich bedankt: 68 Mal
Danksagung erhalten: 17 Mal

Re: RAST-Test-Controller

Beitrag von Ralf_St. » 10.01.2021, 23:46

Guten Abend

Das Kind hat nun einen Namen, LYCONT-32, soll er heißen!
Ich hoffe das ist auch für Norbert okay, ich finde das ist eine gelungene Namensgebung!?
Hier noch ein Größenvergleich zur WLM:
Vergleich.jpg
Vergleich.jpg (198.12 KiB) 7946 mal betrachtet
Das Teil auf dem Regler wird zum kuppeln der Wagen benötigt. Endlich habe ich dafür einen festen Platz, und dadurch die Hände frei, oder muss ihn nicht in meinen Hosentaschen herum tragen... 8-)

Nachtrag
Hier noch ein Bild vom OLED Display. Auch hier werden die möglichen 6 Zeilen genutzt.
OLED_NEU.jpg
OLED_NEU.jpg (43.53 KiB) 7919 mal betrachtet

Allerdings habe ich in Zeile 2 und 4 nur Bindestriche eingetragen. Hierdurch ergeben sich optisch 3 Zeilen, in denen jeweils 10 Funktionen von 0 bis 9 angezeigt werden können. Aus meiner Sicht können so sehr übersichtlich bis zu 30 aktive Funktionstasten abgelesen werden.
In Zeile 6 wird die Fahrtrichtung, die Lokadresse und mit der 1 die Fahrstufe 0 angezeigt.

Schöner wäre sicherlich für Fahrstufe 0 auch eine 0 da stehen zu haben!? Da ich aber eh nur auf das Display schaue, wenn ich eine Lok in Betrieb nehme, oder um zu prüfen welche Funktionen noch aktiv sind, kann ich damit leben.

Nachtrag:
Da mein LYCONT-32 nun ohne Probleme läuft, werde ich über alles weitere im Thread "Akkubetriebene Zentrale" weiter berichten.
Gruß, Ralf

little.yoda
Site Admin
Beiträge: 928
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 146 Mal

Re: RAST-Test-Controller

Beitrag von little.yoda » 15.01.2021, 08:54

Hi

Die Sache mit der Fahrstufe "1" schaue ich mir die Tage an.

Eine Frage:
Wo hast du die Tasten her, die du verbaut hast?

Gruß,
Sven

Ralf_St.
Beiträge: 359
Registriert: 18.09.2018, 01:14
Hat sich bedankt: 68 Mal
Danksagung erhalten: 17 Mal

Re: RAST-Test-Controller

Beitrag von Ralf_St. » 15.01.2021, 11:20

Guten Morgen Sven

Die Tastenknöpfe habe ich gefräst, darunter sind auf Lochrasterplatine aufgelötete Microtaster.
Die Micotaster sind auf jeden Fall besser als die, die in meinem LYCONT-32 mit den weißen Tastern verbaut sind!
Das mit der "1" bei Fahrstufe 0 ist mir unter andem von Freunden gesagt worden, weil sie es komisch empfunden haben..., so ganz unrecht haben sie ja nicht, oder!?
Gruß, Ralf

little.yoda
Site Admin
Beiträge: 928
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 146 Mal

Re: RAST-Test-Controller

Beitrag von little.yoda » 15.01.2021, 11:35

Ralf_St. hat geschrieben:
15.01.2021, 11:20
Das mit der "1" bei Fahrstufe 0 ist mir unter andem von Freunden gesagt worden, weil sie es komisch empfunden haben..., so ganz unrecht haben sie ja nicht, oder!?
natürlich haben sie recht :-)
Der Hintergrund ist, dass in der DCC Welt 0 als Notstop genutzt wird und die 1 als normaler Stop.

Ich meine ich hatte hier mal eine Umwandlung eingebaut, aber irgendwas passt wohl nicht. Ich meine Nobert hat mir den Punkt auch schon mal gesagt, aber ich konnte es nicht nachvollziehen

Gruß,
Sven

Norbert
Beiträge: 304
Registriert: 31.12.2018, 08:07
Hat sich bedankt: 1 Mal
Danksagung erhalten: 71 Mal

Re: RAST-Test-Controller

Beitrag von Norbert » 15.01.2021, 12:03

Stimmt, das Thema hatten wir sogar mehrfach, Sven.
Irgendwann ist es wohl aus Zeitgründen eingeschlafen,
und letztendlich habe ich mich damit auch arrangiert.
"1" ist eben Fahrstufe Null, was jucken mich da "Freunde", ich weiß es, man schaut sowieso nicht hin,
und gesichert ist die FS auf "Null", wenn man 1x die Richtung wechselt oder den Regler gegen Null ganz gelassen etwas "überdreht".

Also, wer es unbedingt braucht, ich -für meinen Teil- kann damit leben! :mrgreen:

VG N.

Antworten