4 – Zeitdiskrete Realisierung kontinuierlicher Regler

 

Gegeben ist eine zeitkontinuierliche Regelstrecke mit der Übertragungsfunktion G\left( s \right). Wir nehmen an, wir haben bereits einen zeitkontinuierlichen Regler mit Übertragungsfunktion C\left( s \right) entworfen. Gesucht ist das digitale Regelgesetz, das aus der Fehlerfolge {e_k} \equiv {r_k}-{y_k} die Stellgröße {u_k} erzeugt.

4.1 Prinzipielles Vorgehen

Das grundsätzliche Vorgehen wollen wir an einem Beispiel demonstrieren. Sei die Übertragungsfunktion des bereits modellierten kontinuierlichen Systems:

C\left( s \right) = \frac{{U\left( s \right)}}{{E\left( s \right)}} = V\frac{{s+a}}{{s+b}}

Es gilt:

\frac{{s+a}}{{s+b}} = \frac{a}{b}\frac{{1+\frac{1}{a}s}}{{1+\frac{a}{b}\frac{1}{a}s}},\quad \quad \frac{a}{b} = :\alpha ,\quad \frac{1}{a} = :{T_{lead}}

Falls \alpha \in \left( {0,1} \right) ist, handelt es sich um ein Lead-Glied (phasenhebendes Korrekturglied).

1. Schritt:

Finde die Eingangs- / Ausgangs-Differentialgleichung zu C\left( s \right):

\left( {s+b} \right)U\left( s \right) = V\left( {s+a} \right)E\left( s \right)\:\:\: \bullet - \circ \:\:\:\dot u\left( t \right)+bu\left( t \right) = V\left( {\dot e\left( t \right)+ae\left( t \right)} \right)

2. Schritt:

Benutze den Computer, um eine Näherungslösung zu finden. Einfache Näherungsmethode: Eulerverfahren. Betrachte hierzu die Ableitung

\dot x = \mathop {\lim }\limits_{\delta t \to 0} \frac{{\delta x}}{{\delta t}}

Für kleine Abtastzeiten T gilt:

\underbrace {{{\left. {\dot x} \right|}_{t = kT}}}_{Tangente} \approx \underbrace {\frac{{{x_{k+1}}-{x_k}}}{T}}_{Sekante}

Veranschaulichung:

euler-vorwarts-verfahren-iterativ-differenzen

Diese Näherung heißt “Vorwärts-Euler”. Sie wird anstelle aller Ableitungen der E/A-DGL des Reglers eingesetzt. Die Näherung ist nur gut für kleine T. Alle Variablen, also u, \dot u, e und \dot e werden nur zu den diskreten Zeitpunkten kT ausgewertet und mit Index versehen:

\frac{{{u_{k+1}}-{u_k}}}{T}+b{u_k} = V\left( {\frac{{{e_{k+1}}-{e_k}}}{T}+a{e_k}} \right)

Dies ist die Differenzengleichung, die zur E/A-Gleichung näherungsweise äquivalent ist.

\Rightarrow \quad {u_{k+1}} = {u_k}+T\left( {-b{u_k}+V\frac{{{e_{k+1}}-{e_k}}}{T}+Va{e_k}} \right)

Dabei ist {u_{k+1}} der neue Wert, der zum Aktor (Stellglied) der Strecke geschickt wird. {u_k} ist der letzte Wert der Stellgröße (muss also gespeichert werden). {e_{k+1}} ist der neu eintreffende und {e_k} der vergangene Wert des Fehlersignals (Eingangssignal).

Durch Umordnung der Terme kann die Berechnung effizienter gemacht werden:

{u_{k+1}} = \underbrace {\left( {1-bT} \right)}_{ = :{\alpha _1}}{u_k}+\underbrace {V\left( {aT-1} \right)}_{ = :{\alpha _2}}{e_k}+V{e_{k+1}}

Die Werte {\alpha _1} und {\alpha _2} können schon vorab berechnet werden (offline). Bei der Implementierung dieses digitalen Regelgesetzes auf dem Microcontroller muss darauf geachtet werden, dass zwischen dem Auslesen des A/D-Wandlers (d.h. dem Auslesen des neuen Fehlerwertes {e_{k+1}}) und dem Liefern des Wertes {u_{k+1}} an den D/A-Wandler möglichst wenige Berechnungen anfallen, so dass die Verzögerung aufgrund der Berechnung auf ein Minimum reduziert wird und die Verarbeitung der Werte durch den Microcontroller als instantan betrachtet werden kann.

Programm des Microcontrollers:

x=0;		% Initialisierung der "vergangenen Werte"

% Definition der Konstanten:
alpha1 = 1-b * T;
alpha2 = V * (a * T-1);

while(1)
   tic;
   [y r] = read;   % Auslesen des A/D-Wandlers
   e = r-y;
   u = x+V * e;    % Update-Schritt
   send(u);        % u zum D/A-Wandler und Halteglied
   wait(T-toc);    % zurueck zu read, wenn T Sekunden seit letztem
                   % read vergangen sind
   % hier Abbruchbedingung einfuegen
end

Wichtige Bemerkung:

Bei allen Methoden, die ein kontinuierliches Regelgesetz (gegeben als C\left( s \right)) in ein diskretes Regelgesetz überführen, handelt es sich um Näherungen. Der Ausgang des kontinuierlichen Reglers antwortet im Allgemeinen auf die komplette “Vorgeschichte” des Fehlers e\left( t \right), während der diskrete Regler nur Zugang zu den abgetasteten Fehlerwerten {e_k} = e\left( {kT} \right) hat. Die verschiedenen Näherungsverfahren unterscheiden sich dadurch, dass sie unterschiedliche Annahmen darüber machen, was beim Fehlersignal e\left( t \right) zwischen den Abtastpunkten geschieht.

Am Beispiel des PI-Reglers wollen wir nun verschiedene Näherungsmethoden kennenlernen.

Gegeben: PI-Regler mit

C\left( s \right) = \frac{{U\left( s \right)}}{{E\left( s \right)}} = {V_P}\left( {1+\frac{{{V_I}}}{s}} \right)

Äquivalente E/A-Beschreibung im Zeitbereich:

u\left( t \right) = \underbrace {{V_P}e\left( t \right)}_{{u_P}}+\underbrace {{V_P}{V_I}\int_0^t {e\left( \tau \right)d\tau } }_{{u_I}}

Übergang zur rekursiven Beschreibung der Stellgrößenfolge:

{u_{P,k+1}} = {V_P}{e_{k+1}}

{u_{I,k+1}} = {u_I}\left( {\left( {k+1} \right)T} \right) = {V_P}{V_I}\int_0^{\left( {k+1} \right)T} {e\left( \tau \right)d\tau }

= {V_P}{V_I}\int_0^{kT} {e\left( \tau \right)d\tau } +{V_P}{V_I}\int_{kT}^{\left( {k+1} \right)T} {e\left( \tau \right)d\tau }

Methoden, um die Fläche \int_{kT}^{\left( {k+1} \right)T} {e\left( \tau \right)d\tau } anhand der Abtastwerte e\left( {\left( {k+1} \right)T} \right) = {e_{k+1}} und e\left( {kT} \right) = {e_k} zu approximieren, sind z.B. Vorwärts-Euler (Vorwärts-Rechteck-Regel), Rückwärts-Euler (Rückwärts-Rechteck-Regel) und Trapez-Regel.

Bemerkung: Die Vorwärts-Rechteck-Regel zur Integralnäherung entspricht der Vorwärts-Euler Methode zur Näherung von Ableitungen:

Für beliebige Signale x\left( t \right) gilt:

x\left( {\left( {k+1} \right)T} \right) = x\left( {kT} \right)+\int_{kT}^{\left( {k+1} \right)T} {\dot x\left( \tau \right)d\tau }

Wenn man nun das Integral mit der Vorwärts-Rechteck-Regel approximiert, erhält man die Vorwärts-Euler Methode von oben.

Wir wählen nun zur Bestimmung von {u_{I,k+1}} die Trapezregel und erhalten:

{u_{I,k+1}} = {u_{I,k}}+{V_P}{V_I} \cdot \frac{T}{2}\left( {{e_k}+{e_{k+1}}} \right)

4.2 Vorgehen mit Tustins Methode

Wir gehen nun davon aus, dass wir einen kontinuierlichen Regler C\left( s \right) entwerfen und diesen als digitalen Regler mit {u_{k+1}} = \ldots umsetzen. Wir wollen aber auch die Übertragungsfunktion C\left( z \right) des digitalen Reglers bestimmen. Statt des Weges C\left( s \right) \to {u_{k+1}} \to C\left( z \right) können wir dann später auch den Weg C\left( s \right) \to C\left( z \right) \to {u_{k+1}} gehen. Als erstes wollen wir uns nun aber mit {u_{k+1}} \to C\left( z \right) beschäftigen. Dazu führen wir eine z-Transformation der mit der Trapezregel bestimmten rekursiven Relation durch:

{u_{I,k+1}} = {u_{I,k}}+{V_P}{V_I} \cdot \frac{T}{2}\left( {{e_k}+{e_{k+1}}} \right)

\:\:\: \circ - \bullet \:\:\:

z{U_I}\left( z \right) = {U_I}\left( z \right)+{V_P}{V_I}\frac{T}{2}\left( {E\left( z \right)+zE\left( z \right)} \right)

\left( {z-1} \right){U_I}\left( z \right) = {V_P}{V_I}\frac{T}{2}\left( {z+1} \right)\left( {E\left( z \right)} \right)

{U_I}\left( z \right) = {V_P}{V_I}\frac{T}{2}\frac{{z+1}}{{z-1}}E\left( z \right)

Dabei entspricht der Term {V_P}{V_I}\frac{T}{2}\frac{{z+1}}{{z-1}} dem C\left( z \right) für den I-Anteil des PI-Reglers:

{U_I}\left( s \right) = {V_p}{V_I}\frac{1}{s}E\left( s \right)

Die diskrete Approximation für den I-Anteil mittels Trapezregel bedeutet: Ersetze in C\left( s \right):

\frac{1}{s} \to \frac{T}{2}\frac{{z+1}}{{z-1}}

aquivalentes-regelgesetz-tustins-methode

Man gewinnt aus C\left( z \right) die Stellgrößenfolge {u_{k+1}} durch z-Rücktransformation.

Beispiel:

C\left( z \right) = \frac{{U\left( z \right)}}{{E\left( z \right)}} = \frac{{23z-21}}{{7z-5}}

\left( {7z-5} \right)U\left( z \right) = \left( {23z-21} \right)E\left( z \right)

\:\:\: \bullet - \circ \:\:\:

7{u_{k+1}}-5{u_k} = 23{e_{k+1}}-21{e_k}

{u_{k+1}} = \frac{5}{7}{u_k}+\frac{{23}}{7}{e_{k+1}}-3{e_k}

4.2.1 Anwendungsgrenzen dieser Methode

Das Verfahren liefert gute Ergebnisse, falls die dynamischen Vorgänge des Regelkreises hinreichend schnell abgetastet werden. Zur quantitativen Beurteilung betrachten wir die Zeitskala der Regelkreisdynamik:

aquivalentes-regelgesetz-tustins-methode-anwendungsgrenzen

Die Anstiegszeit {T_{an}} wird meist seitens des Anwenders vorgegeben und ist daher bekannt.

Ziel: Beziehung zwischen der Anstiegszeit und der charakteristischen Kreisfrequenz

Annahme: kontinuierlicher Regelkreis, PT2-Verhalten mit Verstärkung 1, d.h.

T\left( s \right) = \frac{1}{{1+2d\frac{s}{{{\omega _k}}}+{{\left( {\frac{s}{{{\omega _k}}}} \right)}^2}}}

Faustformel:

{T_{an}} \approx \frac{{1,8}}{{{\omega _k}}}

Dabei ist {\omega _k} die Knickfrequenz. Diese ist ungefähr gleich der Bandbreite (Grenzfrequenz):

bode-diagramm-knickfrequenz-bandbreite-abfall

Daher können wir die Bandbreite aus der Anstiegszeit berechnen:

{\omega _k} \approx {\omega _B}\quad \Rightarrow \quad {\omega _B} \approx \frac{{1,8}}{{{T_{an}}}}

Wir präzisieren nun, wann die dynamischen Vorgänge des Regelkreises hinreichend schnell abgetastet werden.

  1. {\omega _T} = \frac{{2\pi }}{T} \geq 30{\omega _B}: Zeitdiskrete Realisierung von C\left( s \right) hat praktisch die selbe Regelgüte wie der kontinuierliche Regler
  2. 30{\omega _B} > {\omega _T} \geq 20{\omega _B}: Zeitdiskrete Realisierung liefert in der Regel vernünftige Resultate.
  3. 20{\omega _B} > {\omega _T} \geq 10{\omega _B}: Vor der zeitdiskreten Realisierung muss C\left( s \right) angepasst werden. Es ist eine Analyse des zeitdiskreten Regelkreisverhaltens nötig, z.B. Prüfung auf BIBO-Stabilität.
  4. {\omega _T} \leq 10{\omega _B}: Diskreter Regler sollte direkt als Abtastregler, auf Basis des diskreten Streckenmodells, entworfen werden.

Durch die Digitalisierung kommt es zu einer Zeitverzögerung im Signal. Dieser Effekt wird im folgenden Kapitel verdeutlicht.

4.3 Berücksichtigung der zusätzlichen Totzeit

berucksichtigung-totzeit-halteglied-zeitdiskrete-realisierung

Wesentlicher Effekt der zeitdiskreten Realisierung: Das Halteglied verursacht zusätzliche Totzeit \frac{T}{2}. Diese Totzeit ist signifikant und muss berücksichtigt werden, falls gilt: 20{\omega _B} > {\omega _T} \geq 10{\omega _B}

Vorgehen:

  • Entwerfe \hat C\left( s \right) (vorläufiger Entwurf) und lege Abtastzeit T fest.
  • Berücksichtige zusätzliche Totzeit \frac{T}{2}. Falls nötig: Angepasster Regler C\left( s \right)
  • Berechne zeitdiskrete Realisierung von C\left( s \right)

Die Totzeit bewirkt eine Phasenabsenkung \delta \varphi = -\omega \frac{T}{2}. Dadurch verringert sich die Phasenreserve um \delta \varphi = -{\omega _S}\frac{T}{2}. Dabei ist {\omega _S} die Schnittfrequenz der offenen Kette. Diese kann man im Bodediagramm erkennen:

bode-diagramm-amplitudenrand-phasenrand-reserve-rest

Anmerkung zum angepassten Regler \hat C\left( s \right) \to C\left( s \right):

Das algebraische Entwurfsverfahren ist auf rationale Übertragungsfunktionen zurechtgeschnitten. Für ein Totzeitglied mit der Übertragungsfunktion

C\left( s \right) = \exp \left\{ {-\frac{T}{2}s} \right\}

müssen wir daher eine rationale Näherungsfunktion benutzen. Dafür gibt es verschiedene Verfahren. Im Folgenden wenden wir die Pade-Approximation an.

4.3.1 Pade-Approximation

Grundidee: In der Regelungstechnik sind vor allem niedrige Frequenzen wichtig. Die Näherung soll also gut für kleine Werte von s sein.

Ansatz: Rationale Funktion \frac{{Z\left( s \right)}}{{N\left( s \right)}}, wobei Z\left( s \right) ein Polynom vom Grad p und N\left( s \right) ein Polynom vom Grad q ist. Je nach Wahl von p und q spricht man von einer (p,q)-Pade-Approximation. Um Zähler und Nenner zu bestimmen, entwickeln wir \exp \left\{ {-{T_t}s} \right\} und \frac{{Z\left( s \right)}}{{N\left( s \right)}} um s = 0 herum als Taylorreihe und vergleichen anschließend die Koeffizienten. Wir erhalten Gleichungen für die Koeffizienten von Z\left( s \right) und N\left( s \right). Zur Modellierung der Halteglied-Totzeit genügt im Allgemeinen die (0,1)-Pade-Approximation:

\exp \left\{ {-\frac{T}{2}s} \right\} = 1-\frac{T}{2}s+ \ldots

\frac{b}{{1+as}} = b\left( {1-\frac{a}{1}s+ \ldots } \right)

\Rightarrow \quad b = 1,\quad ba = \frac{T}{2}

\Rightarrow \quad \exp \left\{ {-\frac{T}{2}s} \right\} \approx \frac{1}{{1+\frac{T}{2}s}} = \frac{{\frac{2}{T}}}{{s+\frac{2}{T}}}

Dies ist die Übertragungsfunktion eines PT1-Glieds. Als Übertragungsfunktion des Halteglieds wird

{G_{hold}}\left( s \right) \approx \frac{{\frac{2}{T}}}{{s+\frac{2}{T}}} = \frac{1}{{1+\frac{T}{2}s}}

in die offene Kette eingefügt.

4.3.2 Beispiel / Übungsaufgabe

Gegeben sei die Regelstrecke

G\left( s \right) = \frac{V}{{1+{T_G}s}}

Der Regelkreis soll die vorgegebene Bandbreite {\omega _B} besitzen.

Wie bereits im vorherigen Kapitel besprochen gilt:

{\omega _B} \approx \frac{{1,8}}{{{T_{an}}}}

Dabei ist {T_{an}} die Anstiegszeit:

aquivalentes-regelgesetz-tustins-methode-anwendungsgrenzen

Als Verfahren für den Entwurf von \hat C\left( s \right) benutzen wir die Q-Synthese. Die Q-Synthese ist eine Methode zur rechnergestützten Synthese linearer Regler. Sie beruht auf einer direkten Berechnung des freien Parameters Q in der Parametrisierung aller stabilisierenden Regler. Regelungsvorgaben im Zeit- und Frequenzbereich werden in Form von linearen Ungleichungen an Q berücksichtigt. Diese Ungleichungen werden approximiert und mittels linearer Optimierung gelöst.

Im Fall der Aufgabenstellung hat T\left( s \right) keine instabilen Nullstellen, der Relativgrad ist 1:

T\left( s \right) = \frac{1}{{1+\frac{s}{{{\omega _B}}}}}

bode-diagramm-knickfrequenz-bandbreite-abfall

T\left( s \right) = Q\left( s \right)G\left( s \right)\quad \Rightarrow \quad Q\left( s \right) = \frac{{T\left( s \right)}}{{G\left( s \right)}} = \frac{1}{{1+\frac{s}{{{\omega _B}}}}} \cdot \frac{{1+{T_G}s}}{V}

1-T\left( s \right) = 1-\frac{1}{{1+\frac{s}{{{\omega _B}}}}} = \frac{{1+\frac{s}{{{\omega _B}}}}}{{1+\frac{s}{{{\omega _B}}}}}-\frac{1}{{1+\frac{s}{{{\omega _B}}}}} = \frac{{1+\frac{s}{{{\omega _B}}}-1}}{{1+\frac{s}{{{\omega _B}}}}} = \frac{{\frac{s}{{{\omega _B}}}}}{{1+\frac{s}{{{\omega _B}}}}}

\hat C\left( s \right) = \frac{{Q\left( s \right)}}{{1-T\left( s \right)}} = \frac{{1+{T_G}s}}{{V\left( {1+\frac{s}{{{\omega _B}}}} \right)}} \cdot \frac{{1+\frac{s}{{{\omega _B}}}}}{{\frac{s}{{{\omega _B}}}}} = \frac{{{T_G}{\omega _B}}}{V}\left( {1+\frac{1}{{{T_G}}} \cdot \frac{1}{s}} \right)

Wir haben also einen PI-Regler. Nun wählen wir die Abtastzeit T so, dass

{\omega _T} = \frac{{2\pi }}{T} = 10{\omega _B}\quad \Rightarrow \quad T = \frac{{2\pi }}{{10}} \cdot \frac{1}{{{\omega _B}}}

Die Strecke lautet unter Berücksichtigung des Haltegliedes:

G\left( s \right) = \frac{V}{{1+{T_G}s}} \cdot \frac{V}{{1+\frac{T}{2}s}}

Es gibt also keine instabilen Nullstellen, der Relativgrad (Polüberschuss) ist 2.

T\left( s \right) = \frac{1}{{1+\frac{s}{{{\omega _B}}}}} \cdot \frac{1}{{1+\frac{T}{2}s}}

Knickfrequenz:

\frac{2}{T} = \underbrace {\frac{{10}}{\pi }}_{ \approx 3}{\omega _B}

Die Bandbreite des Regelkreises ist etwa {\omega _B}, also die niedrigere der beiden Knickfrequenzen.

Q\left( s \right) = \frac{{T\left( s \right)}}{{G\left( s \right)}} = \frac{{\left( {1+{T_G}s} \right)\left( {1+\frac{T}{2}s} \right)}}{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)V}} = \frac{{1+{T_G}s}}{{V\left( {1+\frac{s}{{{\omega _B}}}} \right)}}

Angepasster Regler:

C\left( s \right) = \frac{{Q\left( s \right)}}{{1-T\left( s \right)}}

Nebenrechnung:

1-T\left( s \right) = 1-\frac{1}{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)}} = \frac{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)}}{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)}}-\frac{1}{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)}}

= \frac{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)-1}}{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)}} = \frac{{1+\left( {\frac{1}{{{\omega _B}}}+\frac{T}{2}} \right)s+\frac{T}{{2{\omega _B}}}{s^2}-1}}{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)}} = \frac{{\left( {\frac{1}{{{\omega _B}}}+\frac{T}{2}} \right)s+\frac{T}{{2{\omega _B}}}{s^2}}}{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)}}

Einsetzen:

C\left( s \right) = \frac{{Q\left( s \right)}}{{1-T\left( s \right)}} = \frac{{\left( {1+\frac{s}{{{\omega _B}}}} \right)\left( {1+\frac{T}{2}s} \right)\left( {1+{T_G}s} \right)}}{{s\left[ {\left( {\frac{1}{{{\omega _B}}}+\frac{T}{2}} \right)+\frac{T}{2}{\omega _B}s} \right]V\left( {1+\frac{s}{{{\omega _B}}}} \right)}} = \frac{{\left( {1+\frac{T}{2}s} \right)\left( {1+{T_G}s} \right)}}{{s\left[ {\left( {\frac{1}{{{\omega _B}}}+\frac{T}{2}} \right)+\frac{T}{2}{\omega _B}s} \right]V}}

Dies entspricht einem PID-Regler. Zum Vergleich die normierte Darstellung des PID-Reglers:

{C_{PID}}\left( s \right) = {\hat V_P}\frac{{\left( {1+{T_I}s} \right)\left( {1+{T_D}s} \right)}}{{{T_I}s\left( {1+{T_n}s} \right)}}

Zusammenfassung:

Wir haben zunächst einen zeitkontinuierlichen Regler entworfen. Anschließend haben wir festgelegt, wie schnell abgetastet werden soll. Dies muss immer zu der Bandbreite des Reglers in Beziehung gesetzt werden. Wenn schnell abgetastet werden soll, kann einfach Tustins Methode angewendet werden. Wenn die Abtastung aber langsamer ist, so wie im zuletzt besprochenen Beispiel, muss die zusätzliche Totzeit berücksichtigt werden. Dies haben wir mit der Pade-Approximation gemacht.

Ähnliche Artikel

Kommentar verfassen