Einfache Regelung einer Leistung via Geschw.

OP #4026849
Lesenswert?
• ▲
▼
Hallo liebes Forum,

ich hoffe ihr könnt mir vielleicht helfen, bin ansonsten nirgends fündig 
geworden. Konkret geht es um folgendes:
Ich programmiere in C# gerade eine Art "Simulation" mit einem 
Elektro-Fahrzeug. Der E-Motor hat eine gewisse PMax. Aktuell kann ich 
100% Leistung geben und der Motor beschleunigt solange (bis zu einer 
gewissen V), bis die Widerstände zu groß werden.
Nun möchte ich aber die Geschwindigkeit regeln können, soll heißen: ich 
gebe eine V_soll vor und der beschleunigt mit P dorthin (mit P erhalte 
ich an der aktuellen geschw. eine Kraft => beschleunigung => neue 
geschw.). Der geregelte P-Wert muss zwischen -100...+100% von Pmax 
liegen (negativ=bremsen im generatorbetrieb).

Mein Problem ist: ich erhalte einen gewissen Regelfehler in 
(beispielsweise) km/h oder m/s, weiß aber nicht so recht wie ich damit 
den Leistungsgrad regle...

Ich wäre um jegliche Hilfe sehr dankbar!!
#4026891
Lesenswert?
• ▲
▼
Julian Nachname schrieb:

> Nun möchte ich aber die Geschwindigkeit regeln können, soll heißen: ich
> gebe eine V_soll vor und der beschleunigt mit P dorthin

so so.
Und wie macht er das?

Wie ist deine jetzige Regelschleife aufgebaut?

> Mein Problem ist: ich erhalte einen gewissen Regelfehler in
> (beispielsweise) km/h oder m/s, weiß aber nicht so recht wie ich damit
> den Leistungsgrad regle...

na ja.
offensichtlich, wenn die Geschwindigkeit niedriger ist als V_Soll, dann 
muss mehr P gegeben werden (aber nicht mehr als P_max). Ist sie zu hoch, 
dann muss P verringert werden.

> Ich wäre um jegliche Hilfe sehr dankbar!!

PID Regler
#4026956
Lesenswert?
• ▲
▼
Julian Nachname schrieb:
> Bin erst ganz neu in der thematik, also war Simulation vielleicht auch
> etwas übertrieben ;) Wie könnte hierbei die Formel für einen Regler
> aussehen (welche dann im code implementiert wird)?

Im allereinfachsten Fall?
1
   if( Geschwindigkeit zu klein && P kleiner als P_max )
2
     P++;
3

4
   else if( Geschwindigkeit zu gross && P größer als P_Min )
5
     P--;

und das dann alle paar Millisekunden zb mit einem Timer ausführen 
lassen.

so richtig glücklich wirst du damit nicht werden. Der Regler wird 
Schwingen wie Sau. Aber - vielleicht auch nicht.

Man könnte jetzt natürlich auch hergehen und die Erhöhung bzw. 
Erniedrigung von der Größe der Abweichung abhängig machen.

Ansonsten: dann eben ein PID Regler.

(mal danach googeln)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren