Seite 3 von 4

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 20.11.2024, 14:42
von Stuckalf
Die Frage mit dem geänderten Config-File hat sich auch schon erledigt.
Mit "a" mit Debug lässt sich ja netterweise auch der Accesspoint wieder einschalten, sodass der ESP erreichbar ist.

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 20.11.2024, 15:02
von little.yoda
Stuckalf hat geschrieben:
20.11.2024, 14:28
Habe nochmal neu gelöscht, geflasht mit "ESP32: MiniKit ESP32 (1.3.0)".
Dieses Mal habe ich die Ports IO21 und IO17 genommen. Alle benötigten Dateien auf den ESP geschoben, Neustart...
Hier findest du die Informationen zu den einzelnen Ports der ESP32:
https://github.com/littleyoda/littleyod ... 32.cpp#L94

Nicht nutzen solltest du die, die mit F::UNSTABLE_AT_STARTUP , F::PIN_STRAPPING_AT_STARTUP oder mit einer 0 markiert sind.

Am besten die nehmen, die mit folgenden markiert sind:

Code: Alles auswählen

F::SUPPORTS_PULLDOWN | F::SUPPORTS_PULLUP | F::DIGITAL_INPUT | F::DIGITAL_OUTPUT | F::SUPPORTS_PWM | F::SUPPORTS_ADC
Stuckalf hat geschrieben:
20.11.2024, 14:28
Die Spannungskurve ändert sich quasi abrupt, sobald der ESP eine neue Info von der Z21 App oder der MultiMaus erhält.
Gibt es in der Config oder im Framework eine entsprechende Einstellung, um Anfahr- und Bremsverzögerungen einzustellen und ein Geschwindigkeitsprofil für eine Lok zu hinterlegen?
Du kannst die Geschwindigkeitsänderung limitieren, indem man dass Modul limitchange zwischen locospeed und pwm einhängt. Beispiel hier:

Code: Alles auswählen

    
    "out":[
          {
            "id":"pwm1",
            "m":"pwm",
            "pwm":"DISABLE",
            "forward":"D2",
            "reverse":"D3"
          }
    ],
    "filter":[
             {
            "id":"pwmfilter",
            "m": "limitchange",
            "rate":"50",
            "out":[
                "pwm1"
            ]
            }
    ],
    "in":[
         {
            "m":"locospeed",
            "addr":4711,
            "out":[
                  "pwmfilter"
            ]
         }
    ],
Stuckalf hat geschrieben:
20.11.2024, 14:28
Und lässt sich die Langsamfahrt (ohne irgendeine Regelung, meinetwegen einfach nur 50%) mit einer Funktionstaste wie beispielsweise F4 (DCC typisch) einstellen?
Ich hatte so etwas mal angedacht, aber nie implementiert.
Stuckalf hat geschrieben:
20.11.2024, 14:28
Eine weitere Frage:
Lässt sich ein geändertes Config File auch nachträglich noch auf den ESP übertragen? Der ESP spannt ja kein eigenes WLAN mehr auf. Aber aus dem Log im Programmer konnte ich auch keine IP entdecken, unter der man noch auf die Weboberfläche zugreifen könnte.
Mehrere Möglichkeiten:
  • Wenn der ESP in deinem Haus-Netzwerk eingebunden ist, solltest du die IP-Adresse über deinen Router ermitteln können
  • Wenn du auf die serielle Konsole zugreifst, solltest du mit einem "debug" den Debugmodus aktivieren und mit "d" dir die Debuginformationen anzeigen lassen können. Dort sollte die IP-Adresse auftauchen. Im Notfall aktivierst du mit "a" wieder den Adhoc Modus und kannst dann darauf zu greifen.

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 20.11.2024, 15:09
von Zoltan
Danke euch beiden, ich lerne wieder viel :)

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 20.11.2024, 22:35
von Stuckalf
little.yoda hat geschrieben:
20.11.2024, 15:02
Du kannst die Geschwindigkeitsänderung limitieren, indem man dass Modul limitchange zwischen locospeed und pwm einhängt. Beispiel hier:
Habe den Code in der Config probiert. Auch mit Werten runter bis 10 ändert sich gefühlt erst einmal nichts.
Allerdings sind das alles bislang nur Ergebnisse des Messgeräts.

Soweit ich das im Code richtig gesehen habe, läuft die Funktion in einem Loop und addiert oder subtrahiert ein Zehntel (abs) der "rate" vom current, also von der aktuellen Geschwindigkeit. Da das ganze nicht zeitgesteuert läuft (hatte ich zumindest nicht gesehen, kann mein Fehler sein), vermute ich einfach mal ins blaue, dass die Schleife zum Erhöhen oder Verringern der Geschwindigkeit trotz "rate" Faktor zu schnell durch ist.

Ich habe heute die ESP8266 bekommen und teste diese morgen auch mal. Außerdem schließe ich in den nächsten Tagen den DRV8833 an und hänge einen Motor an das System. Evtl. stellt sich durch die Motorlast mit Lok und Waggons das ganze weitaus moderater dar. Es bleibt spannend.

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 21.11.2024, 09:00
von little.yoda
Stuckalf hat geschrieben:
20.11.2024, 22:35

Habe den Code in der Config probiert. Auch mit Werten runter bis 10 ändert sich gefühlt erst einmal nichts.
Allerdings sind das alles bislang nur Ergebnisse des Messgeräts.

Soweit ich das im Code richtig gesehen habe, läuft die Funktion in einem Loop und addiert oder subtrahiert ein Zehntel (abs) der "rate" vom current, also von der aktuellen Geschwindigkeit. Da das ganze nicht zeitgesteuert läuft (hatte ich zumindest nicht gesehen, kann mein Fehler sein), vermute ich einfach mal ins blaue, dass die Schleife zum Erhöhen oder Verringern der Geschwindigkeit trotz "rate" Faktor zu schnell durch ist.
Die Loop-Funktion wird ungefähr alle 100 ms[*] aufgerufen.
Der Wert wird somit alle 100 ms um rate/10 angepasst.
Das heißt, dass der Geschwindigkeitswert (-127 bis 127) jede Sekunde um Rate angepasst werden sollte.
Bei rate=10 sollte es eigentlich fast 13 Sekunden von 100% auf 0% dauern.

Kannst du mir mal dein Config-File schicken? Evtl. stimmt etwas in der Verkettung der Befehle nicht.
"IN" muss auf "pwmfilter" verweisen.
"filter" muss auf "pwm" verweisen

Mit einem DC-Messgerät ein PWM-Signale kann funktionieren, muss aber nicht. Aber bei den Zeiten von denen wir hier gerade sprechen sollte zumindest irgendwas brauchbares dabei herauskommen.

Gruß,
Sven

[*]
Das zeitabhängige Aufrufen der Loop-Funktion erfolgt auf einer höheren Ebene.
return 100 bedeutet, dass die Funktion frühstens in 100 ms wieder aufgerufen werden soll.

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 21.11.2024, 11:38
von Stuckalf
Ist bestimmt mein Fehler. Ich glaube, ich habe den Verweis in -> pwmfilter vergessen.
Ich prüfe das heute Nachmittag und melde mich dann nochmal.

Danke für die ganze Unterstützung - ist wirklich riesig!

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 21.11.2024, 12:47
von Stuckalf
Hallo Sven,

ich hatte die Änderung in "in" wirklich übersehen. Ich habe es gerade getestet, es funktioniert und lässt sich auch auf dem Multimeter einwandfrei ablesen.
Heute oder morgen hänge ich einen Treiber und einen Lego Zugmotor dran und lasse mit dem System die erste Lok fahren. Bin gespannt...

Viele Grüße aus dem Münsterland
Alf

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 23.11.2024, 10:50
von Stuckalf
Guten Morgen,

der erste Motor ist über einen DRV8833 angeschlossen und läuft soweit mit einem ESP8266 D1 mini.
Ich habe den 8833 huckepack auf den ESP mit der Steckerkeiste montiert, um möglichst wenig Verkabelung zu bekommen. Dabei liegen VCC, GND sowie die Ports D3 und D4 passend, um an den DRV8833 (IN3 und IN4) angeschlossen zu werden.

Dummerweise liefert die Ansteuerung über D3 und D4 einen kurzen Impuls, sobald das System mit Strom verbunden wird. Ähnlich wie der altertümliche Märklin Bocksprung beim Umschalten der Fahrtrichtung. Danach läuft zwar alles einwandfrei, aber irgendwas wird beim Hochfahren des ESP8266 anscheinend kurzzeitig auf D3 oder D4 geschaltet.
Die Pins sind als unstable at startup gemarkert. aber ich hatte gehofft, damit etwas Glück zu haben.
Mal schauen, ob ich mit wenig Aufwand eine alternative Verdrahtung hinbekommen.

Der Motor selbst lässt sich aber einwandfrei im WLAN des mXion Multi steuern. Mit Z21 App wie auch MultiMaus (keine WLAN MultiMaus) läuft das schon mal gut.

Frage an Sven: Werden die ESP8266 Ports D3 und D4 beim Start von LY von Dir auf low gesetzt? Oder werden die Ports nicht initialisiert?

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 23.11.2024, 14:42
von little.yoda
Mit D3 und D4 hast du dir die schlechtesten Ports beim ESP8266 ausgesucht.
D3 wird auch noch beim Flashen benötigt und je nachdem, was angeschlossen ist, kann du den ESP8266 noch nicht einmal flashen.
Stuckalf hat geschrieben:
23.11.2024, 10:50
Frage an Sven: Werden die ESP8266 Ports D3 und D4 beim Start von LY von Dir auf low gesetzt? Oder werden die Ports nicht initialisiert?
Das Verhalten ist durch den Sourcecode nicht beeinflussbar.

Ich habe mal vor 8 Jahren hierzu einen Blog-Beitrag geschrieben:
https://www.open4me.de/index.php/2016/0 ... nschalten/

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Verfasst: 23.11.2024, 18:42
von Zoltan
D4 ist das blaue Onboardled, schrieb ich schon...
Ein Foto vom zusammengebauten "Huckepack" wäre auch hilfreich.