Forum: Mikrocontroller und Digitale Elektronik Regelung - EINFACH


von ohman (Gast)


Lesenswert?

Hallo,

ich stehe total auf dem Schlauch!

Nehmen wir mal an ich habe einen P-Regler.

Y=Kp*e

Und ich will damit, sagen wir mal eine Drehzahl auf 5000u/min regeln.

Ich muss doch dann die Stellgröße auf die Istgröße aufaddieren? Es heißt 
immer auf die "Regelstrecke die Stellgröße" aber WIE programmtechnisch?

Gruß

von Karl H. (kbuchegg)


Lesenswert?

ohman schrieb:
> Hallo,
>
> ich stehe total auf dem Schlauch!
>
> Nehmen wir mal an ich habe einen P-Regler.
>
> Y=Kp*e
>
> Und ich will damit, sagen wir mal eine Drehzahl auf 5000u/min regeln.

Das geht mit einem reinen P-Regler nicht.
Ein reiner P-Regler schafft es nicht eine vorgegebene Sollgröße zu 
erreichen. Daher muss ein P-Regler immer mit einem anderen Regler 
kombiniert werden. Normalerweise ein I-Regler. Wobei ein Teil der 
Integration durchaus auch von der Regelstrecke selber übernommen werden 
kann.

> Ich muss doch dann die Stellgröße auf die Istgröße aufaddieren?

Damit hast du dann hier im Prinzip einen I-Regler versteckt.

> Es heißt
> immer auf die "Regelstrecke die Stellgröße" aber WIE programmtechnisch?

Du hast eine Stellgröße 'Stell'
1
   Y = K * e;
2
   Stell = Stell + Y;

In der Theorie bin ich auch nicht so fit. Das was du da hast, ist dann 
kein klassischer P-Regler mehr, sondern eigentlich, ja was eigentlich, 
das müsste IMHO ein I-Regler sein, weil die Fehlerabweichung ja 
aufsummiert wird.


Das wichtige in Kürze:
Ein reiner P-Regler hat immer eine Regelabweichung, die er nicht mehr 
ausgleichen kann. Gibst du dem 5000 U/min vor (unter Last), dann 
erreicht er die nicht. Wohl aber reagiert er schnell auf die 
Regelabweichung und fängt an auszuregeln. Irgendwann im Regelprozess 
übernimmt dann der I-Regler das Ruder und gleicht Ist an Soll an, 
wodurch dann der P_Regler aus dem Schneider ist und immer mehr in den 
Hintergrund tritt. Ist der Sollwert erreicht, dann ist im wesentlichen 
nur mehr der I-Regler an der Arbeit um die kleinen Abweichungen 
auszugleichen. Erst bei größeren Abweichungen 'kickt' dann der P-Regler 
wieder ein und macht die ersten Korrekturen, weil er schneller reagiert 
als der I-Regler.
Kann man sehr gut erkennen, wenn man sich in einer Regelstrecke die 
einzelnen KOmpoenten der kompletten Reglergleichung ansieht (und hat 
mich auch das erste mal verblüfft, als ich die Zahlen beobachtet habe, 
während der Regler an der Arbeit war)

: Bearbeitet durch User
von ohman (Gast)


Lesenswert?

Vielen Dank für die ausführliche Aufklärung!

Aber irgendwie ist es mir trotzdem noch nicht klar. Also ich formuliere 
es nochmal so:

Ich habe einen P-Regler Y=Kp*e
Und praktisch: der Motor dreht sich gerade mit 3000u/min, der Sollwert 
sind aber 5000u/min.
Also muss ich ihm mehr Spannung geben. Die Spannung ist gerade auf sagen 
wir 5V. Also muss ich ja irgendwie das Ergebnis vom P-Regler in V 
umrechnen und auf die 5V addieren. Oder ist das komplett falsch?
Also vlt. an diesem Beispiel!

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

ohman schrieb:
> Ich muss doch dann die Stellgröße auf die Istgröße aufaddieren? Es heißt
> immer auf die "Regelstrecke die Stellgröße" aber WIE programmtechnisch?

Was ist die Istgröße?

Der Regler bekommt die Regelabweichung, also die Differenz aus 
Regelgröße und Führungsgröße. Daraus berechnet der Regler die 
Stellgröße. Die Größe wird auf die Strecke gegeben.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

ohman schrieb:
> Oder ist das komplett falsch?

Ja.

Der Regler bekommt die Differenz, also 2000 U/min. Daraus berechnet er 
die neue Stellgröße, also z.B. 7V.

von ohman (Gast)


Lesenswert?

Joe G. schrieb:
> ohman schrieb:
>> Oder ist das komplett falsch?
>
> Ja.
>
> Der Regler bekommt die Differenz, also 2000 U/min. Daraus berechnet er
> die neue Stellgröße, also z.B. 7V.

Verstehe ich irgendwie nicht. Kannst du da vlt. am oberen Beispiel von 
mir aufzeigen. und vor allem wie er dann auf die 7V kommt ?

Danke

Gruß

von Friedrich (Gast)


Lesenswert?


von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

ohman schrieb:
> Kannst du da vlt. am oberen Beispiel von
> mir aufzeigen. und vor allem wie er dann auf die 7V kommt ?

Nimm deine Gleichung Y=Kp*e und stelle sie nach Kp um.
Kp = 7/2000

von Martin (Gast)


Lesenswert?

Kp:= 0.1
nSoll=5000

Loop alle 1 ms
  nIst = MesseDrehzahl()
  err = nSoll - nIst

  UOut = Kp * err

  StelleUOutAlsPWMOderSo(Uout)
Loop Ende

Beispiel:
nSoll = 5000
nIst = 3000
err = 2000

UOut soll 7V sein
Also Kp = UOut/err = 0.0035

Der Haken ist, wie oben schon erklärt, dass Du mit dieser Struktur die 
Nenndrehzahl nie erreichst. Wenn Soll=Ist, dann err=0 und damit UOut 
auch 0. Der Fehler beim P-Regler sinkt mit steigendem Kp, wobei die 
Regelstrecke schwingt, wenn das Kp zu gross wird.
Wenn Kp unendlich ist (und damit die Regelabweichung theoretisch 0), hat 
man einen Bügeleisenthermostat. Dessen Regelabweichung ist durch die 
Dynamik der Strecke gegeben.

Was Du mit "Addieren" meinst, gibt einen I-Regler, der tatsächlich die 
Nenndrehzahl erreicht, wenn auch langsam. Deswegen kombiniert man P und 
I-Regler zu PI.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Martin schrieb:
> Der Haken ist, wie oben schon erklärt, dass Du mit dieser Struktur die
> Nenndrehzahl nie erreichst. Wenn Soll=Ist, dann err=0 und damit UOut
> auch 0. Der Fehler beim P-Regler sinkt mit steigendem Kp, wobei die
> Regelstrecke schwingt, wenn das Kp zu gross wird.

Nun ist der Lerneffekt aber hin :-(  Erst wenn der TO genau diesen 
Effekt selber herausbekommen hätte, könnte er nun von echtem 
Wissenszuwachs sprechen.

von Martin (Gast)


Lesenswert?

Joe G. schrieb:
> Nun ist der Lerneffekt aber hin :-(  Erst wenn der TO genau diesen
> Effekt selber herausbekommen hätte, könnte er nun von echtem
> Wissenszuwachs sprechen.

Man könnte anmerken, dass zwischen dem Beobachten des Motorzappelns bei 
zu grossem Kp und dem Verstehen von Frequenzgang, Phasengang und 
Nyquist-Kriterium (was mE das Minimum wäre, Pol/Nullstellenlage etc. 
braucht es dazu nicht) ein Riesenschritt ist. Wenn man es mal begriffen 
hat, ist die Theorie ja sehr einfach, aber wenn nicht... nützen 
vermutlich auch wohlgemeinte Links zu Regelungstechnik nichts.
Der Lerneffekt wäre riesig, wenn der TO sich anhand seines Beispiels die 
Theorie eines PI-Reglers erarbeiten würde, aber das ist eben gar nicht 
so einfach. Nimm mal ein einem Mikrocontroller-Aufbau mit PWM-Endstufe 
einen Frequenzgang auf.

von Karl H. (kbuchegg)


Lesenswert?

Am meisten habe ich gelernt, als ich mir eine Reglung zu Testzwecken 
aufgebaut habe und mir dann vom µC Tabellen gezogen habe, in denen ich 
mir den zeitlichen Verlauf der einzelnen Werte angesehen habe. Wie 
entwickelt sich e, wie entwickelt sich esum, was macht der Kp*e Term, 
wie ist der Integrale Anteil der Regelstrecke, was macht der Istwert und 
die Stellgröße.

Das ganze in Tabellenform aufbereitet und als Grafik umgeschlüsselt.
Beim sinnieren darüber, was ich da in den Diagrammen sehe, ist mir so 
manches Licht aufgegangen, welche sich dann durch Versuche 'am lebenden 
Objekt' verfiziert habe.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ich hab mir einfach mit einem AVR und LCD ein kleines 
Motorregelungssystem aufgebaut und dabei die AVR221 durchgearbeitet. 
Übers LCD und 3 Taster konnte man P, I und D einzeln einstellen (und 
natürlich die gewünschte Drehzahl) und dabei dem Motorregler bei der 
Arbeit zusehen.
AVR221 ist sowieso recht interessant, weil da grafisch und textlich die 
einzelnen Parameter gut erklärt werden.
http://www.atmel.com/Images/doc2558.pdf

von Simon (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.