Leistungskurve über PWM out value scheint nicht zu gehen

Stuckalf
Beiträge: 62
Registriert: 05.02.2024, 08:07
Hat sich bedankt: 2 Mal

Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von Stuckalf » 16.05.2025, 11:10

Hallo zusammen,

beim Testen unterschiedlicher Lego Loks ist mir folgendes aufgefallen:
Anscheinend funktioniert die einstellbare Leistungskurve für PWM out über das value Array nicht.
Da Lego Loks recht schwer sind (komplette Züge natürlich dann noch schwerer), benötige ich ein wenig "Wumms", also mehr Leistung als bei einer H0-Lok, um die Masse erst einmal in Bewegung zu bringen. In das Array bei den values kann ich aber eintragen, was ich möchte. die getestete Lok fährt immer erst ab ca. 40 - 50 % Speed los.

Der Akku der Lok ist voll (frisch geladen). Ist in meiner Config etwas falsch? Hier mal eine Config mit Extremwerten für den PWM Bereich. Das Ding müsste bei DCC Stufe 1 mit ca. 80% Leistung schon extrem losrasen. Aber nix, sie fährt erst bei Stufe 40 - 50 (optisch geschätzt in der Z21 App) wirklich los.

Config:

Code: Alles auswählen

{
    "version":"3",
    "cfg":[
        {
            "m":"wlan",
            "ssid":"Susi MoBa",
            "pwd":"zwerggarten"
        },
        {
            "m":"z21",
            "ip":"192.168.112.23"
        },
        {
            "m":"webservicewifiscanner"
        },
        {
            "m":"webservicelog"
        },
        {
            "m":"cmdlogger"
        },
        {
            "m":"dcc",
            "gpio":"DISABLE"
        }
    ],
    "out":[
        {
            "freq":"12000",
            "id":"pwm1",
            "m":"pwm",
            "pwm":"DISABLE",
            "forward":"D1",
            "reverse":"D2",
             "values":[
                [1,100],
                [64,105],
                [127,110]
            ]
        }
    ],
    "filter":[
             {
            "id":"pwmfilter",
            "m": "limitchange",
            "rate":"20",
            "out":[
                "pwm1"
            ]
            }
    ],
    "in":[
         {
            "m":"locospeed",
            "addr":2,
            "out":[
                  "pwmfilter"
            ]
         }
    ],
    "connector":[
    ]
}
Findet jemand einen Fehler in meiner Config?

VG, Alf
Zuletzt geändert von Stuckalf am 16.05.2025, 11:30, insgesamt 2-mal geändert.

Stuckalf
Beiträge: 62
Registriert: 05.02.2024, 08:07
Hat sich bedankt: 2 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von Stuckalf » 16.05.2025, 11:16

Auch ein Test mit anderen Extremwerten ändert nichts:

"values":[
[1,0],
[64,5],
[127,10]
]

little.yoda
Site Admin
Beiträge: 943
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 34 Mal
Danksagung erhalten: 148 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von little.yoda » 16.05.2025, 14:00

Kannst du mal die Config-Seite des Decoders (<ip>/cfg) aufrufen.
Dort sollte eine Grafik der Ansteuerung angezeigt werden.

Stuckalf
Beiträge: 62
Registriert: 05.02.2024, 08:07
Hat sich bedankt: 2 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von Stuckalf » 16.05.2025, 14:57

Habe ich gemacht. Die Grafik zeigt die zuletzt eingestellten Extremwerte korrekt an.
Bis 127 läuft die Kurve linear von 0 bis 10 - wie in den Werten auch angezeigt.
Aber bei diesem Werten dürfte sich der Motor nicht großartig drehen. Die Lok zieht damit aber locker drei kleine Wagen - und es ist eine mittelgroße Lok mit zwei Drehgestellen.

Aber dadurch konnte ich zumindest feststellen, dass die Ansteuerung mit 100 Hz weitaus besser funktioniert als mit beispielsweise 5000 oder 10000 Hz.

Ich habe zum Testen mal 100 Hz PWM und folgende Werte angegeben:
[1,10], [64,10], [127,127]

Ich hätte vermutet, dass sich bis zur Hälfte der eingestellten Geschwindigkeit nichts tut. Die Kurve unter "cfg" zeigt das auch korrekt an. Aber die Geschwindigkeit nimmt gefühlt ganz normal linear zu, sobald ich den Schieber unter "controll" bewege oder die Lok mit der Z21 App ansteuere.
Die Werte der eingestellten Punkte im Array werden also anscheinend korrekt in der Config ausgelesen. Aber sie werden, zumindest bei mir, nicht für die wirkliche Geschwindigkeit über PWM an den Motortreiber übermittelt.

Stuckalf
Beiträge: 62
Registriert: 05.02.2024, 08:07
Hat sich bedankt: 2 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von Stuckalf » 16.05.2025, 15:47

Wenn ich raten müsste, würde ich vermuten, der Fehler (wenn nicht meine Config falsch ist) liegt vielleicht in der config.cpp ab Zeile 214 (soweit ich auf die Schnelle gesehen habe, wird ab da das Array mit den Values ausgelesen und pro Eintrag werden die Werte in ein Float-Array linear interpoliert). Aber ich vermute mal, dass die Auswertung der Daten als Grafik unter ip/cfg auch auf diesen PWM-Werten fusst. Deswegen dürfte das eigentlich korrekt sein, den die angezeigte Kurve passt ja zu dem, was ich an Werten eingegeben habe.

Evtl. hat auch die Umrechnung in PWM einen Hau-mich, die wird wohl über a->setPwmValues(arr) aufgerufen.

Hilft das weiter?

Benutzeravatar
Zoltan
Beiträge: 689
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 111 Mal
Danksagung erhalten: 8 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von Zoltan » 16.05.2025, 16:00

En wenig off für diesen Beitrag, aber: welche Motoren und was für Akkus benutzt du in den Lego Zügen?
Der "normale" Drehgestell-Zugmotor in der Railjet-Taurus-Lok mit einer 7,2V Block-akku (mein Standardantrieb) zieht seine 2 Wagen noch ziemlich gut, aber den ganzen Railjet-Zug mit 5 Waggons kann er nicht mal ansatzweise bewegen.
Was könnte ich tun?
2 Motordrehgestelle parallel und/oder die Speisespannung auf 12 Volt erhöhen?
LG Zoltan
Mein YT Kanal: www.youtube.com/@oldnat

Stuckalf
Beiträge: 62
Registriert: 05.02.2024, 08:07
Hat sich bedankt: 2 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von Stuckalf » 16.05.2025, 16:04

Hast Du schon einen XL-Motor und ein passend übersetztes Getriebe ausprobiert?
Soweit ich weiß, läuft damit auch das Lego Krokodil bei vielen Umbauten, oder der Orient Express 21344.

little.yoda
Site Admin
Beiträge: 943
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 34 Mal
Danksagung erhalten: 148 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von little.yoda » 16.05.2025, 16:25

Stuckalf hat geschrieben:
16.05.2025, 15:47
Hilft das weiter?
Oh je. Das muss ich mir an einem Tag in Ruhe anschauen, wo es mir sehr gut geht.

Stuckalf
Beiträge: 62
Registriert: 05.02.2024, 08:07
Hat sich bedankt: 2 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von Stuckalf » 16.05.2025, 17:32

Keinen Stress, Sven. Ich bin ja froh, dass Du für solche Fragen überhaupt Zeit hast.
Danke Dir für all Deine Mühe über die ganzen Jahre. So etwas ist nicht selbstverständlich.

Benutzeravatar
Zoltan
Beiträge: 689
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 111 Mal
Danksagung erhalten: 8 Mal

Re: Leistungskurve über PWM out value scheint nicht zu gehen

Beitrag von Zoltan » 16.05.2025, 19:48

Es gibt Loks, wo keine XL Motoren hineinpassen, zB. all die Drehgestelloks. Die sind ja ursprünglich auch nicht zum Motorisieren gedacht worden.
Mein Krokodil hat keine Probleme, aber die meisten "unmotorisierten" BB Loks haben Drehgestellmotoren. Die Gailtal-Lok schafft ihre 3 Schlierenwagen noch gerade. Die V100 (beide, 6w und 8w) ziehen auch den 4-Wagen-Doppelstock-Zug (damit bin ich damals als ich an der Uni war von Rostock Klement-Gottwald-Strasse nach Warnemünde gefahren). Aber der Railjet streikt bei voller länge. Und da kann ich keinen XL-Motor nehmen... siehe alles in meinen YT-Videos.
LG Zoltan
Mein YT Kanal: www.youtube.com/@oldnat

Antworten