Nachdem ich dem Regler jetzt eine Zeit lang zugeschaut habe, wird in obenstendem Code (aus dem Wiki hier abgeschrieben) ein Problem klar: Der Regler läuft lange Zeit am "Anschlag". Deshalb habe ich eine Begrenzung des Ausgangssignals von -333 auf -33000 eingstellt was sinnvollen Vorgabewerten für den Fahrmotor entspricht.
Befindet sich der Regler länger in der Sättigung, so nimme die Fehlersumme für den I -Anteil errsum = errsum+error mitunter riesige Werte an die viel größer sind als der Ausgangsbereich des Reglers. NodeRed arbeitet hier mit langen Integers praktisch ohne Begrenzung. Bei einer Vorzeichenumkehr des Fehlers nimmt die Fehlersumme zwar wieder ab, aber das kann viel zu lange dauern. Macht es deshalb Sinn, errsum ähnlich dem Ausgangssignal zu begrenzen? Falls ja auf das wievielfache des Ausgangswertes?
Lesezeichen