mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Regelkreis - Regelabweichung


Autor: Asmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte einen Regelkreis mit einem PID-Regler und PT1-Regelstecke 
simulieren. Das ganze mit LabView und Formelknoten, aber das ist erstmal 
egal.


float w[1000];   //Sollgröße
float y[1000];   //Regelabweichung
float x1[1000];  //Stellgröße
float x2[1000];  //Istgröße

...

for(i=0; i<1000; i++)
{
  if(i<998)
  {

    //Stelle 1

    x1[i+2] = x1[i+1] + a2*y[i+2] + a1*y[i+1] + a0*y[i];  //PID-Regler
    x2[i+1] = x2[i] + b0*(K*x1[i]-x2[i]);    //PT1-Regelstecke

    //Stelle 2
  }
}

Meine Frage ist, an welcher Stelle die Regelabweichung berechnet wird, 
und vor allem wie? Im PID-Regler wird ja y[i+1] benötigt. Muss ich also 
davor schon y[i+1] berechnet haben? Und wäre y[i+1] = w[i+1] - x2[i+1] 
richtig?
Was mir fehlt ist also die Gleichung von Regelabweichung, und an welcher 
Stelle die berechnet wird.

Danke im Voraus..

Autor: U.R. Schmitt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Asmin schrieb:
> x1[i+2] = x1[i+1] + a2*y[i+2] + a1*y[i+1] + a0*y[i];  //PID-Regler

Wie willst Du denn diese Formel berechnen, wenn Du noch keine 
Regelabweichung hast?

Asmin schrieb:
> Was mir fehlt ist also die Gleichung von Regelabweichung
Was sagt denn da dein Regelungstechnikscript/buch.

genau: Abweichung = Sollwert - Istwert

Autor: Asmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
U.R. Schmitt schrieb:
> Asmin schrieb:
>
>> x1[i+2] = x1[i+1] + a2*y[i+2] + a1*y[i+1] + a0*y[i];  //PID-Regler
>
>
>
> Wie willst Du denn diese Formel berechnen, wenn Du noch keine
>
> Regelabweichung hast?

Demnach müsste ich ja davor schon y[i+2] berechnen?

Mit y[i+2] = w[i+2] - x2[i+2] ?

Nun stelle ich dir deine Frage: Wie berechne ich y[i+2] wenn ich x2[i+2] 
noch nicht habe? Also muss irgendwo mit dem Initialisierungswert 
angefangen werden.
Was ich gerne hätte, ist die Formel für Regelabweichung an der richtigen 
Stelle. Mit einer Erklärung natürlich, damit ich das ganze verstehe :)

Autor: Asmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke, ich muss y[i+k] in jeder Gleichung mit w[i+k]- x[i+k] 
ersetzen, dann müsste das passen.
Wenn ich aber mit PID-Regler aktuell x1[i+2] berechnet habe, dann müsste 
ich doch für die Gleichung der Regelstrecke mit x1[i+2] arbeiten, oder?
Demnach müsste die Gleichung so aussehen:

x2[i+3] = x2[i+2] + b0*(K*x1[i+2]-x2[i+2]);    //PT1-Regelstecke

Oder macht das keinen Unterschied?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.