PI con Anti-Windup - Repositorio Digital de la Universidad de ...
PI con Anti-Windup - Repositorio Digital de la Universidad de ...
PI con Anti-Windup - Repositorio Digital de la Universidad de ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine<br />
feldorientierte Motorregelung für ein<br />
Elektrofahrzeug<br />
Bachelorthesis - Abschlussprojekt<br />
Autor: Luis Alfonso Puertol<strong>la</strong>no Ventura<br />
Studienbereich: Elektro- und Informationstechnik<br />
Matrikelnummer: 23 50 38 2<br />
Erstprüfer: Prof. Dr.- Ing. Armin Dietz<br />
Zweitprüfer: Prof. Dr.- Ing. Norbert Graß<br />
Datum: 23/08/2012<br />
[Escriba aquí una <strong>de</strong>scripción breve <strong>de</strong>l documento. Normalmente, una <strong>de</strong>scripción breve es<br />
un resumen corto <strong>de</strong>l <strong>con</strong>tenido <strong>de</strong>l documento. Escriba aquí una <strong>de</strong>scripción breve <strong>de</strong>l<br />
documento. Normalmente, una <strong>de</strong>scripción breve es un resumen corto <strong>de</strong>l <strong>con</strong>tenido <strong>de</strong>l<br />
documento.]
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Einleitung<br />
Die Arbeit wur<strong>de</strong> in Rahmen <strong>de</strong>s europeischen Stu<strong>de</strong>ntenAustauschprogramms ERASMUS am<br />
Institut ELSYS durchgeführt.<br />
Es geht um die Programmierung und Steuerung <strong>de</strong>s Motors eines bereits vorhan<strong>de</strong>nen<br />
Elektrofahrzeugs (E-Buggy). Für das Fahrzeug braucht man verschie<strong>de</strong>ne Komponenten, wie<br />
einen Umrichter <strong>de</strong>r von einem Mikro<strong>con</strong>troller gesteuert und geregelt wird, an<strong>de</strong>re<br />
Leistungselektronik Elemente, sowie ein kleines Batteriemanagement.<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 1
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Inhaltsverzeichnis<br />
A. Abkürzungsverzeichnis .......................................................................................................... 3<br />
1. Zusammenfassung ................................................................................................................. 4<br />
2. Vergleich <strong>de</strong>r Reglertypen ..................................................................................................... 5<br />
3. <strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> .................................................................................................... 6<br />
3.1. Eigenschaften <strong>de</strong>s <strong>PI</strong>-Reglers ........................................................................................ 7<br />
3.2. <strong>Anti</strong>-<strong>Windup</strong> Metho<strong>de</strong> .................................................................................................. 9<br />
4. Realisierung <strong>de</strong>s <strong>PI</strong>-Reglers ................................................................................................. 14<br />
4.1. <strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong>-Funktionalität .................................................................. 15<br />
4.1.1. Initialisierung ....................................................................................................... 15<br />
4.1.2. Berechnung und <strong>Anti</strong>-<strong>Windup</strong>-Algorithmus........................................................ 16<br />
4.1.3. Ergebnisse ........................................................................................................... 17<br />
4.1.4. Einstellungen <strong>de</strong>s Reglers .................................................................................... 23<br />
4.2. Hauptprogramm .......................................................................................................... 24<br />
B. Literaturverzeichnis ............................................................................................................. 25<br />
C. Anhang ................................................................................................................................ 26<br />
C.1. Mikro<strong>con</strong>trollers Infineon XC2287M ................................................................................ 26<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 2
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
A. Abkürzungsverzeichnis<br />
µC Mikro<strong>con</strong>troller<br />
FOC<br />
Feldorientierte Regelung (engl. Field Oriented Control)<br />
PWM<br />
Pulsenweitenmodu<strong>la</strong>tion<br />
PMSM<br />
Permanenterregte Synchronmaschine (engl. Permanent Magnet<br />
Synchronous Motors)<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 3
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
1. Zusammenfassung<br />
Das Projekt E-Buggy hat zum Ziel <strong>de</strong>r Bau eines Elektrofahrzeugs (E-Buggy). Dafür wur<strong>de</strong>n<br />
verschie<strong>de</strong>ne Teams gebil<strong>de</strong>t, welche sich verschie<strong>de</strong>nen Teilprojekten gewidmet haben. Dazu<br />
gehört das Design <strong>de</strong>s Fahrzeuges, die Untersuchung <strong>de</strong>r Batterie und das Programmieren <strong>de</strong>r<br />
Leistungelektronik. Ich persönlich habe mich beson<strong>de</strong>rs mit <strong>de</strong>r Motorregelung beschäftigt.<br />
Für die Steuerung <strong>de</strong>r PMSM, wird die feldorientierte Regelung (Field Oriented Control, FOC)<br />
genutzt (Abb. 1). Dafür war es zunächst nötig zu lernen, wie je<strong>de</strong>s Tei<strong>la</strong>ufgabe funktioniert.<br />
Dazu gehört zum Beispiel: die Anwendung <strong>de</strong>r Park- und C<strong>la</strong>rk-Transformationen, die Funktion<br />
<strong>de</strong>s Umrichters, das Programmieren eines <strong>PI</strong>-Reglers in C für <strong>de</strong>n Infineon µC XC2287M.<br />
Für diesen Teil <strong>de</strong>r Arbeit, hat man sich in <strong>de</strong>r <strong>PI</strong>-Regler beschäftigt. So kann man mit <strong>de</strong>m<br />
Elektromotor und seinem Drehmoment arbeiten (Abb. 1), ohne die maximale Grenze <strong>de</strong>s<br />
Motorstromes zu überschreiten. Um das ganzen Regelungsystem gut funktionieren zu machen,<br />
muss man auch anpassen<strong>de</strong> Reglerparameter hingefügt wer<strong>de</strong>n.<br />
Abbildung 1: Struktur <strong>de</strong>r Feldorientierten Motorregelung [Sahhary, 2008]<br />
Folgen<strong>de</strong> Programme wur<strong>de</strong>n eingesetz:<br />
• DAvE – Auto co<strong>de</strong> generation.<br />
• TASKING VX-toolset for C166 – C/C++ compiler and <strong>de</strong>bugger.<br />
• DAS Control Server – Device Acces Server.<br />
• UDE Desktop 3.0 – Universal Debug Engine, Develop and test software applications.<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 4
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
2. Vergleich <strong>de</strong>r Reglertypen<br />
In <strong>de</strong>r Abbildung 2 (Abb. 2) ist <strong>de</strong>r Vergleich von P-, I-, <strong>PI</strong>-, PD- und <strong>PI</strong>D-Regler in einem<br />
Regelkreis mit PT2-Glied als Regelstrecke dargestellt. Es ist <strong>de</strong>utlich zu sehen, dass die Regler<br />
ohne I-Anteil (P und PD) eine bleiben<strong>de</strong> Rege<strong>la</strong>bweichung aufweisen. Erst die Regler mit I-<br />
Anteil können auf <strong>de</strong>n normierter Endwert von 1 ausregeln. Beim reinen I-Regler geht das so<br />
<strong>la</strong>ngsam, dass es gar nicht mehr auf <strong>de</strong>m Diagramm zu sehen ist. Der Hauptzweck eines I-<br />
Anteils ist also die Vermeidung bleiben<strong>de</strong>r Rege<strong>la</strong>bweichungen. Daher ist ein I-Anteil<br />
normalerweise nicht nötig, wenn die Strecke schon einen I-Anteil besitzt (ausnahme: es wird<br />
ein doppelter I-Anteil zur Vermeidung von Schleppfehlern benötigt).<br />
Die schnellsten Regler sind die mit einem D-Anteil (PD- und <strong>PI</strong>D-Regler). Der D-Anteil kommt<br />
<strong>de</strong>shalb hauptsächlich zum Einsatz, wenn schnelle Dynamik gefragt ist o<strong>de</strong>r die Strecke selbst<br />
schon instabil ist. Voraussetzung für die Schnelligkeit ist allerdings, dass keine Begrenzung im<br />
Stellglied o<strong>de</strong>r Aktuator auftritt. In <strong>de</strong>r Praxis ist eine Begrenzung meistens nicht zu vermei<strong>de</strong>n,<br />
<strong>de</strong>shalb gilt die Sprungantwort in <strong>de</strong>r Praxis nur für kleine Sprünge.<br />
Die Regler ohne D-Anteil, aber mit P-Anteil (P- und <strong>PI</strong>-Regler) sind mittelschnell. Für einfache<br />
Rege<strong>la</strong>ufgaben reicht auch oft schon ein reiner P-Regler aus, wenn die bleiben<strong>de</strong><br />
Rege<strong>la</strong>bweichung vernachlässigt wer<strong>de</strong>n kann o<strong>de</strong>r wenn die Strecke schon einen I-Anteil<br />
besitzt.<br />
Abbildung 2: Vergleich <strong>de</strong>r Antwort <strong>de</strong>r Reglertypen [www.rn-wissen.<strong>de</strong>, Regelungstechnik]<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 5
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
3. <strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong><br />
Der <strong>PI</strong>-Regler (Proportional–Integral Regler) besteht aus <strong>de</strong>n Anteilen <strong>de</strong>s P-Glie<strong>de</strong>s K P und I-<br />
Glie<strong>de</strong>s mit <strong>de</strong>r Zeitkonstante T N . Er kann sowohl aus einer Parallelstruktur o<strong>de</strong>r aus einer<br />
Reihenstruktur <strong>de</strong>finiert wer<strong>de</strong>n. Der Begriff <strong>de</strong>r Nachstellzeit T N stammt aus <strong>de</strong>r<br />
Parallelstruktur <strong>de</strong>s Reglers (Abb. 3).<br />
Abbildung 3: Struktur <strong>de</strong>s <strong>PI</strong>-Reglers [U<strong>de</strong>nar]<br />
So dass diese I<strong>de</strong>ale Sprungsantwort sehen kann (Abb. 4):<br />
<br />
∗ <br />
<br />
(3.1.)<br />
K p → Proportionale Verstärkung<br />
K i → Integral Verstärkung<br />
Abbildung 4: I<strong>de</strong>aler Sprungantwort <strong>de</strong>s <strong>PI</strong>-Reglers [Wikipedia, <strong>PI</strong>-Regler]<br />
Signaltechnisch wirkt <strong>de</strong>r <strong>PI</strong>-Regler gegenüber <strong>de</strong>m I-Regler so, dass nach einem<br />
Eingangssprung <strong>de</strong>ssen Wirkung um die Nachstellzeit T N vorverlegt ist. Durch <strong>de</strong>n I-Anteil wird<br />
die stationäre Genauigkeit gewährleistet, die Rege<strong>la</strong>bweichung wird nach <strong>de</strong>m Einschwingen<br />
<strong>de</strong>r Regelgröße zu Null.<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 6
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
3.1. Eigenschaften <strong>de</strong>s <strong>PI</strong>-Reglers<br />
• Kompensation eines PT1-Glie<strong>de</strong>s <strong>de</strong>r Strecke: Er kann mit <strong>de</strong>m PD-Glied ein PT1-Glied<br />
<strong>de</strong>r Strecke kompensieren und damit <strong>de</strong>n offenen Regelkreis vereinfachen.<br />
• Keine Rege<strong>la</strong>bweichung bei konstantem Sollwert: Durch das I-Glied wird im<br />
stationären Zustand bei konstantem Sollwert die Rege<strong>la</strong>bweichung zu Null.<br />
• Langsamer Regler: Der durch das I-Glied erworbene Vorteil <strong>de</strong>r Vermeidung einer<br />
stationären Rege<strong>la</strong>bweichung hat auch <strong>de</strong>n Nachteil, dass eine zusätzliche Polstelle mit<br />
-90 ° Phasenwinkel in <strong>de</strong>n offenen Regelkreis eingefügt wird, was eine Reduzierung <strong>de</strong>r<br />
Kreisverstärkung K <strong>PI</strong> be<strong>de</strong>utet. Deshalb ist <strong>de</strong>r <strong>PI</strong>-Regler kein schneller Regler.<br />
• 2 Einstellparameter: Der Regler enthält nur zwei Einstellparameter, K <strong>PI</strong> = K P / T N und T N .<br />
• Regelstrecke höherer Ordnung: kann optimal an einer Regelstrecke höherer Ordnung<br />
eingesetzt wer<strong>de</strong>n, von <strong>de</strong>r nur die Sprungantwort bekannt ist. Durch Ermittlung <strong>de</strong>r<br />
Ersatztotzeit T U (Verzugszeit) und <strong>de</strong>r Ersatzverzögerungs-Zeitkonstante T G<br />
(Ausgleichszeit) kann das PD-Glied <strong>de</strong>s Reglers die Zeitkonstante T G kompensieren. Für<br />
die I-Regler-Einstellung <strong>de</strong>r verbleiben<strong>de</strong>n Regelstrecke mit Ersatztotzeit TU gelten die<br />
bekannten Einstellvorschriften.<br />
• Regelstrecke mit 2 dominanten Zeitkonstanten: er kann eine Regelstrecke mit zwei<br />
dominanten Zeitkonstanten von PT1-Glie<strong>de</strong>rn regeln, wenn die Kreisverstärkung<br />
reduziert wird und die längere Dauer <strong>de</strong>s Einschwingens <strong>de</strong>r Regelgröße auf <strong>de</strong>n<br />
Sollwert akzeptiert wird. Dabei kann mit K <strong>PI</strong> je<strong>de</strong>r gewünschte Dämpfungsgrad D<br />
eingestellt wer<strong>de</strong>n, von aperiodisch (D=1) bis schwach gedämpft schwingend (D gegen<br />
0).<br />
• PD-Glied ohne Differenzierung: Das in <strong>de</strong>r Reihenstruktur entstan<strong>de</strong>ne PD-Glied <strong>de</strong>s <strong>PI</strong>-<br />
Reglers ist mathematisch ohne Differenzierung entstan<strong>de</strong>n. Deshalb entsteht bei <strong>de</strong>r<br />
Realisierung <strong>de</strong>s Reglers in <strong>de</strong>r Parallelstruktur auch keine parasitäre Verzögerung.<br />
Wegen eines möglichen <strong>Windup</strong>-Effektes durch Regelstreckenbegrenzung <strong>de</strong>r<br />
Stellgröße u(t) ist die schaltungsmäßige Realisierung <strong>de</strong>s <strong>PI</strong>-Reglers in Parallelstruktur<br />
anzustreben.<br />
Die Grundi<strong>de</strong>e <strong>de</strong>s <strong>PI</strong>-Reglers (Abb. 5) ist einfach und lässt sich vergleichen mit <strong>de</strong>r<br />
Entscheidungsfindung von Menschen, welche häufig auf <strong>de</strong>r Kenntniss von Vergangenheit und<br />
Gegenwart basiert. Der <strong>PI</strong>-Regler macht das Gleiche mit <strong>de</strong>m Regler. Das Steuersignal besteht<br />
aus zwei Teilen:<br />
• Ein proportionaler Teil zum Auffin<strong>de</strong>n <strong>de</strong>s Fehlers (Regelverhalten aufgrund <strong>de</strong>r<br />
gegenwärtigen Information).<br />
• Ein proportionaler Teil zum Integral-Fehler <strong>de</strong>r Vergangenheit (Regelverhalten<br />
aufgrund <strong>de</strong>r vergangenen Information).<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 7
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
So dass:<br />
Abbildung 5: <strong>PI</strong>-Regler [www.rn-wissen.<strong>de</strong>, Regelungstechnik]<br />
Übertragungsfunktion <strong>de</strong>r Parallelstruktur. Solche Werten wer<strong>de</strong>n so normalerweise<br />
berechnet:<br />
U HSL<br />
E HSL = K 1+ T N∗s<br />
p<br />
T N ∗s<br />
K <strong>PI</strong> = K p<br />
T N<br />
TN und KP sind berechnet so dass es keine Oberschingungen erscheinen. Wenn man es falsch<br />
macht, kann folgen<strong>de</strong>s passieren (Abb. 6):<br />
1.5<br />
1.25<br />
1<br />
0.75<br />
0.5<br />
0.25<br />
2<br />
1<br />
-1<br />
-2<br />
2 4 6 8 10 12 14<br />
1 2 3 4 5 6 7<br />
Abbildung 6: Sprungsnatworte mit Oberschwingungen [Luis Puertol<strong>la</strong>no, 2012]<br />
Deswegen, wer<strong>de</strong>n die kritische Werte berechnet, um an <strong>de</strong>r Grenze <strong>de</strong>n<br />
Oberschwingungen zu bleiben, und wer<strong>de</strong>n danach wie folgen<strong>de</strong>s benutzt:<br />
K p = 0.45∗K P Krit<br />
T N = 0.83∗T N Krit<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 8
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Obwohl viele Aspekte eines Steuersystems von <strong>de</strong>r linearen Regelungstechnik verstan<strong>de</strong>n<br />
wer<strong>de</strong>n können, müssen einige nicht-lineare Effekte berücksichtigt wer<strong>de</strong>n. Bei <strong>de</strong>r<br />
Implementierung eines Reglers sind dies zum Beispiel:<br />
• Ein motor hat eine nominale Geschwindigkeit (wie in unserem Fall).<br />
• Ein Ventil hat eine maximale und eine minimale Öffnung.<br />
• Eine Stromversorgung eines elektrischen Gerätes ist begrenzt.<br />
3.2. <strong>Anti</strong>-<strong>Windup</strong> Funktion<br />
Für eine Steuerung mit einer Vielzahl von Betriebsbedingungen kann es vorkommen, dass die<br />
Regelgröße die vorgegebenen Grenzen <strong>de</strong>s Aktuators erreicht. Wenn dies passiert, bleibt die<br />
Rückkopplungsschleife in ihrer Grenze unabhängig von <strong>de</strong>m Prozeß-Ausgang. Bei Verwendung<br />
eines integralen Reglers wird ein möglicher Fehler immer weiter seinen Wert steigern. Der<br />
Integral-Anteil wird ganz groß und es wird die Wirkung "<strong>Windup</strong>" produziert (Abb. 7).<br />
Abbildung 7: Beispiel von <strong>Windup</strong> [Luis Puertol<strong>la</strong>no, 2012]<br />
Dies kann so vermie<strong>de</strong>n wer<strong>de</strong>n:<br />
• Der Begrenzung <strong>de</strong>r Reglerabweichung bewirkt, dass <strong>de</strong>r Ausgang <strong>de</strong>s Reglers nicht die<br />
Begrenzung <strong>de</strong>s Aktuators erreichen kann. Dies produziert häufig Begrenzungen in <strong>de</strong>r<br />
Wirkung <strong>de</strong>s Reglers, aber kann nichts gegen <strong>de</strong>n <strong>Windup</strong>-Effekt, welcher von<br />
Störungen produziert wird, ausrichten.<br />
• Ein an<strong>de</strong>rer Weg ist die Neuberechnung <strong>de</strong>s Integra<strong>la</strong>nteils: Wenn <strong>de</strong>r Ausgang<br />
gesättigt ist, wird das Integral neu berechnet, so dass <strong>de</strong>r neue Wert ein<br />
Ausgangssignal an <strong>de</strong>r Sättigungsgrenze darstellt.<br />
Eine an<strong>de</strong>re Metho<strong>de</strong> ist die konditionale Integration zur Begrenzung <strong>de</strong>s Integralüber<strong>la</strong>ufs.<br />
Man benutzt ein Schalter, wenn das Signal sehr weit weg von <strong>de</strong>m stationären Status liegt. In<br />
diesem Fall, wird <strong>de</strong>r I-Anteil nur unter solchen Bedingungen benutzt. In an<strong>de</strong>ren Fällen, bleibt<br />
<strong>de</strong>r I-Anteil gleich. Es wird auch „Festbin<strong>de</strong>n <strong>de</strong>s Integrators“ genannt.<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 9
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Abbildung 8: <strong>PI</strong>-Regler Parallelform und Begrenzung [www.20sim.com]<br />
Abbildung 9: <strong>PI</strong>-Regler Seriesform und Begrenzung [www.20sim.com]<br />
Der Unterschied zwischen Eingang und Ausgang (TR) ist rückgekoppelt in <strong>de</strong>n I-Anteil durch<br />
<strong>de</strong>n 1/T a Verstärkung (Abbs. 8 und 9). Eine gute Überwachung ist die Rückkopplung mit <strong>Anti</strong>-<br />
<strong>Windup</strong>. Der Aktuator ist von einem Signal-Begrenzer vertreten wor<strong>de</strong>n.<br />
Sobald <strong>de</strong>r Begrenzer sättigt, bekommt das Signal einen unterschiedlichen Wert von null<br />
aufwärts und vermei<strong>de</strong>t, dass <strong>de</strong>r I-Anteil in <strong>Windup</strong> geht (Abb. 10). Reset-Zeitkonstanten<br />
bestimmen dabei, wie schnell auf <strong>Windup</strong> <strong>de</strong>s Integrators reagiert wird.<br />
Abbildung 10: Antwort ohne und mit <strong>Anti</strong>-<strong>Windup</strong> [micros-<strong>de</strong>signs, Suky, CreativeCommons]<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 10
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Abbildung 11: Antwort mit Switch On-Off Metho<strong>de</strong> [micros-<strong>de</strong>signs, Suky, CreativeCommons]<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 11
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Der Ziel <strong>de</strong>s <strong>Anti</strong>-<strong>Windup</strong>s ist <strong>de</strong>r Integration zu begrenzen (Abb. 12).<br />
Abbildung 12: Antwort <strong>de</strong>s Systems mit und ohne <strong>Anti</strong>-<strong>Windup</strong><br />
[Universität Bochum, Christian Schmid, 2005]<br />
Diese <strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> müssen angewen<strong>de</strong>t wer<strong>de</strong>n, so dass ihre Funktion von<br />
einem µC ausgeübt wer<strong>de</strong>n kann. Der Aktuator wird begrenzt und gibt ein Signal (Abb. 13),<br />
welches auf <strong>de</strong>r folgen<strong>de</strong>n Grundi<strong>de</strong>e begrenzt wird:<br />
; < <br />
; < < <br />
; ! > <br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 12
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Abbildung 13: Grundfunktionsweise <strong>de</strong>s Reglers mit <strong>Anti</strong>-<strong>Windup</strong> stationares Vorhalten<br />
[http://www.20sim.com]<br />
Ein Beispiel <strong>de</strong>s Grundprogrammes wäre folgen<strong>de</strong>s:<br />
Programm-Co<strong>de</strong> in C:<br />
# − ; // Vergleich<br />
% % ; // Integration I-Anteil<br />
if % < −400{ % −400; } // Begrenzung I-Anteil<br />
if % < 400{ % 400; }<br />
* Kp ∗ e + Ki ∗ Ta ∗ esum;//Reglergleichung<br />
if * < 0{* = 0; } // Begrenzung Stellgröβe<br />
if * < 1023{* = 1023; }<br />
789 = *; // Übergabe Stellgröβe<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 13
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
4. Realisierung <strong>de</strong>s <strong>PI</strong>-Reglers<br />
Für die Co<strong>de</strong>entwicklung wird die Software „TASKING VX-toolset for C166“ eingesetzt (Abb. 14).<br />
Abbildung 14: Ansicht von TASKING VX-toolset for C166 [Luis Puertol<strong>la</strong>no, 2012]<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 14
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
4.1. <strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong>-Funktionalität<br />
4.1.1. Initialisierung<br />
Hier wird <strong>de</strong>r Regler initialisiert, und wird folgen<strong>de</strong> Werte für die verschie<strong>de</strong>nen Glie<strong>de</strong>n<br />
benutzen:<br />
// Initialisierung <strong>de</strong>s Reglers – Werten die man für die verschie<strong>de</strong>nen Glie<strong>de</strong>n will.<br />
void initRegler(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
ptrRegler->KP = 0;// Proportionalkonstant - Constante proporcional<br />
ptrRegler->KI = 0;// Integrationskonstant - Constante <strong>de</strong> integración<br />
ptrRegler->StellGroesse = 0;// Stellgrösse - Control <strong>de</strong> <strong>la</strong> variable<br />
ptrRegler->FuehrungsGroesse = 0;// Führungsgrösse - Comando <strong>de</strong> <strong>la</strong> variable<br />
ptrRegler->RegelGroesse = 0;// Regelgrösse - Control <strong>de</strong> <strong>la</strong> variable<br />
ptrRegler->RegelAbweichung = 0;// Abweichung (Unterschied) - Desviación<br />
ptrRegler->EingangsBegrenzungMax = 0;// Maximal Eingangs Begrenzung -<br />
Limitación máxima <strong>de</strong> entrada<br />
ptrRegler->EingangsBegrenzungMin = 0;// Minimal Eingangs Begrenzung -<br />
Limitación mínima <strong>de</strong> entrada<br />
ptrRegler->AusgangsBegrenzungMax = 0;// Maximal Ausgangs Begrenzung -<br />
Limitación máxima <strong>de</strong> salida<br />
ptrRegler->AusgangsBegrenzungMin = 0;// Minimal Ausgangs Begrenzung -<br />
Limitación mínima <strong>de</strong> salida<br />
ptrRegler->Abtastzeit = 0;// Abtastzeit - Tiempo <strong>de</strong> muestreo<br />
}<br />
ptrRegler->Summe = 0;// Summe - Suma<br />
ptrRegler->SummenBegrenzungMax = 0;// Maximal Summe Begrenzung -<br />
Limitación máxima <strong>de</strong> <strong>la</strong> suma<br />
ptrRegler->SummenBegrenzungMin = 0;// Minimal Summe Begrenzung -<br />
Limitación mínima <strong>de</strong> <strong>la</strong> suma<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 15
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
4.1.2. Berechnung und <strong>Anti</strong>-<strong>Windup</strong>-Algorithmus<br />
Hier wird es beschrieben wie man die Berechnung <strong>de</strong>s <strong>PI</strong>-Reglers programmiert ist:<br />
// Berechnung <strong>de</strong>s Regler Algorithmus -> Cálculo <strong>de</strong>l algoritmo <strong>de</strong>l regu<strong>la</strong>dor<br />
long calcRegler(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
// Berechnung <strong>de</strong>r Regel Abweichung - Cálculo<br />
ptrRegler->RegelAbweichung = ptrRegler->FuehrungsGroesse - ptrRegler->RegelGroesse;<br />
// Begrenzung für <strong>de</strong>n Regler Eingang - Limitación<br />
if(ptrRegler->RegelAbweichung > ptrRegler->EingangsBegrenzungMax)<br />
{<br />
ptrRegler->RegelAbweichung = ptrRegler->EingangsBegrenzungMax;<br />
}<br />
else if(ptrRegler->RegelAbweichung < ptrRegler->EingangsBegrenzungMin)<br />
{<br />
ptrRegler->RegelAbweichung = ptrRegler->EingangsBegrenzungMin;<br />
}<br />
// Berechnung <strong>de</strong>r Regler Summe - Cálculo <strong>de</strong> <strong>la</strong> suma <strong>de</strong>l regu<strong>la</strong>dor<br />
ptrRegler->Summe = ptrRegler->Summe + ptrRegler->RegelAbweichung;<br />
// Begrenzung <strong>de</strong>r Regler Summe - Limitación <strong>de</strong> <strong>la</strong> suma <strong>de</strong>l regu<strong>la</strong>dor<br />
if(ptrRegler->Summe > ptrRegler->SummenBegrenzungMax)<br />
{<br />
ptrRegler->Summe = ptrRegler->SummenBegrenzungMax;<br />
}<br />
else if(ptrRegler->Summe < ptrRegler->SummenBegrenzungMin)<br />
{<br />
ptrRegler->Summe = ptrRegler->SummenBegrenzungMin;<br />
}<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 16
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
// Berechnung <strong>de</strong>r Stellgröße - Cálculo <strong>de</strong> <strong>la</strong> variable <strong>de</strong> <strong>con</strong>trol<br />
ptrRegler->StellGroesse = ptrRegler->KP * ptrRegler->RegelAbweichung +<br />
ptrRegler->KI * ptrRegler->Abtastzeit * ptrRegler->Summe;<br />
// Begrenzung für <strong>de</strong>n Regler Ausgang - Limitación <strong>de</strong> <strong>la</strong> salida <strong>de</strong>l regu<strong>la</strong>dor<br />
if(ptrRegler->StellGroesse > ptrRegler->AusgangsBegrenzungMax)<br />
{<br />
ptrRegler->StellGroesse = ptrRegler->AusgangsBegrenzungMax;<br />
}<br />
else if(ptrRegler->StellGroesse < ptrRegler->AusgangsBegrenzungMin)<br />
{<br />
ptrRegler->StellGroesse = ptrRegler->AusgangsBegrenzungMin;<br />
}<br />
return ptrRegler->StellGroesse;<br />
}<br />
/*********************************************************************/<br />
4.1.3. Ergebnisse<br />
Hier wird es beschrieben wie man die Ergebnisse <strong>de</strong>s <strong>PI</strong>-Reglers bekommen kann:<br />
// Get Metho<strong>de</strong> für KP<br />
int getReglerKP(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
}<br />
return ptrRegler->KP;<br />
// Set Metho<strong>de</strong> für KP<br />
void setReglerKP(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, int kp)<br />
{<br />
ptrRegler->KP = kp;<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 17
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für KI<br />
int getReglerKI(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->KI;<br />
}<br />
// Set Metho<strong>de</strong> für KI<br />
void setReglerKI(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, int ki)<br />
{<br />
ptrRegler->KP = ki;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für StellGroesse<br />
long getReglerStellGroesse(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->StellGroesse;<br />
}<br />
// Set Metho<strong>de</strong> für StellGroesse<br />
void setReglerStellGroesse(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long stellgroesse)<br />
{<br />
ptrRegler->StellGroesse = stellgroesse;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für FuehrungsGroesse<br />
long getReglerFuehrungsGroesse(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->FuehrungsGroesse;<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 18
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
}<br />
// Set Metho<strong>de</strong> für FuehrungsGroesse<br />
void setReglerFuehrungsGroesse(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long fuehrungsgroesse)<br />
{<br />
ptrRegler->FuehrungsGroesse = fuehrungsgroesse;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für RegelGroesse<br />
long getReglerRegelGroesse(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->RegelGroesse;<br />
}<br />
// Set Metho<strong>de</strong> für RegelGroesse<br />
void setReglerRegelGroesse(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long regelgroesse)<br />
{<br />
ptrRegler->RegelGroesse = regelgroesse;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für RegelAbweichung<br />
long getReglerRegelAbweichung(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->RegelAbweichung;<br />
}<br />
// Set Metho<strong>de</strong> für RegelAbweichung<br />
void setReglerRegelAbweichung(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long rege<strong>la</strong>bweichung)<br />
{<br />
ptrRegler->RegelAbweichung = rege<strong>la</strong>bweichung;<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 19
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für EingangsBegrenzungMax<br />
long getReglerEingangsBegrenzungMax(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->EingangsBegrenzungMax;<br />
}<br />
// Set Metho<strong>de</strong> für EingangsBegrenzungMax<br />
void setReglerEingangsBegrenzungMax(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long eingangsBegrenzungMax)<br />
{<br />
ptrRegler->EingangsBegrenzungMax = eingangsBegrenzungMax;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für EingangsBegrenzungMin<br />
long getReglerEingangsBegrenzungMin(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->EingangsBegrenzungMin;<br />
}<br />
// Set Metho<strong>de</strong> für EingangsBegrenzungMin<br />
void setReglerEingangsBegrenzungMin(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long eingangsBegrenzungMin)<br />
{<br />
ptrRegler->EingangsBegrenzungMin = eingangsBegrenzungMin;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für AusgangsBegrenzungMax<br />
long getReglerAusgangsBegrenzungMax(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->AusgangsBegrenzungMax;<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 20
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
}<br />
// Set Metho<strong>de</strong> für AusgangsBegrenzungMax<br />
void setReglerAusgangsBegrenzungMax(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long ausgangsBegrenzungMax)<br />
{<br />
ptrRegler->AusgangsBegrenzungMax = ausgangsBegrenzungMax;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für AusgangsBegrenzungMin<br />
long getReglerAusgangsBegrenzungMin(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->AusgangsBegrenzungMin;<br />
}<br />
// Set Metho<strong>de</strong> für AusgangsBegrenzungMin<br />
void setReglerAusgangsBegrenzungMin(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long ausgangsBegrenzungMin)<br />
{<br />
ptrRegler->AusgangsBegrenzungMin = ausgangsBegrenzungMin;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für Abtastzeit<br />
int getReglerAbtastzeit(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->Abtastzeit;<br />
}<br />
// Set Metho<strong>de</strong> für Abtastzeit<br />
void setReglerAbtastzeit(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, int abtastzeit)<br />
{<br />
ptrRegler->Abtastzeit = abtastzeit;<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 21
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für SummenBegrenzungMax<br />
long getReglerSummenBegrenzungMax(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->SummenBegrenzungMax;<br />
}<br />
// Set Metho<strong>de</strong> für SummenBegrenzungMax<br />
void setReglerSummenBegrenzungMax(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long summenBegrenzungMax)<br />
{<br />
ptrRegler->SummenBegrenzungMax = summenBegrenzungMax;<br />
}<br />
/*********************************************************************/<br />
// Get Metho<strong>de</strong> für SummenBegrenzungMin<br />
long getReglerSummenBegrenzungMin(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler)<br />
{<br />
return ptrRegler->SummenBegrenzungMin;<br />
}<br />
// Set Metho<strong>de</strong> für SummenBegrenzungMin<br />
void setReglerSummenBegrenzungMin(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrRegler, long summenBegrenzungMin)<br />
{<br />
ptrRegler->SummenBegrenzungMin = summenBegrenzungMin;<br />
}<br />
/*********************************************************************/<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 22
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
4.1.4. Einstellungen <strong>de</strong>s Reglers<br />
Hier wird es geschrieben wie man die Parametereinstellungen <strong>de</strong>s <strong>PI</strong>-Reglers:<br />
// Reglereinstellungen setzen für Id-Regler - Establecer los parámetros <strong>de</strong>l Regu<strong>la</strong>dor (Potencia reactiva)<br />
void mainSet<strong>PI</strong>ReglerIdParams(struct <strong>PI</strong>Regler *ptr<strong>PI</strong>ReglerId)<br />
{<br />
setReglerKP(ptr<strong>PI</strong>ReglerId, 0);<br />
setReglerKI(ptr<strong>PI</strong>ReglerId, 0);<br />
setReglerEingangsBegrenzungMax(ptr<strong>PI</strong>ReglerId, 350);<br />
setReglerEingangsBegrenzungMin(ptr<strong>PI</strong>ReglerId, -350);<br />
setReglerAusgangsBegrenzungMax(ptr<strong>PI</strong>ReglerId, 52213);<br />
setReglerAusgangsBegrenzungMin(ptr<strong>PI</strong>ReglerId, -52213);<br />
setReglerAbtastzeit(ptr<strong>PI</strong>ReglerId, 1);<br />
setReglerSummenBegrenzungMax(ptr<strong>PI</strong>ReglerId, 100000);<br />
setReglerSummenBegrenzungMin(ptr<strong>PI</strong>ReglerId, -100000);<br />
}<br />
// Reglereinstellungen setzen für Iq-Regler - Establecer los parámetros <strong>de</strong>l Regu<strong>la</strong>dor (Potencia activa)<br />
void mainSet<strong>PI</strong>ReglerIqParams(struct <strong>PI</strong>Regler *ptr<strong>PI</strong>ReglerIq)<br />
{<br />
setReglerKP(ptr<strong>PI</strong>ReglerIq, 0);<br />
setReglerKI(ptr<strong>PI</strong>ReglerIq, 0);<br />
setReglerEingangsBegrenzungMax(ptr<strong>PI</strong>ReglerIq, 350);<br />
setReglerEingangsBegrenzungMin(ptr<strong>PI</strong>ReglerIq, -350);<br />
setReglerAusgangsBegrenzungMax(ptr<strong>PI</strong>ReglerIq, 52213);<br />
setReglerAusgangsBegrenzungMin(ptr<strong>PI</strong>ReglerIq, -52213);<br />
setReglerAbtastzeit(ptr<strong>PI</strong>ReglerIq, 1);<br />
setReglerSummenBegrenzungMax(ptr<strong>PI</strong>ReglerIq, 100000);<br />
setReglerSummenBegrenzungMin(ptr<strong>PI</strong>ReglerIq, -100000);<br />
}<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 23
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Mit diesem Co<strong>de</strong> wird <strong>de</strong>r Regler <strong>de</strong>finiert, d.h. die Ausgangsbegrenzungen und die Parameter<br />
<strong>de</strong>s Reglers. Und man muss auch <strong>de</strong>n Regler initialisieren. Damit wird folgen<strong>de</strong>r Co<strong>de</strong> in <strong>de</strong>r<br />
Main.c File geschrieben:<br />
4.2. Hauptprogramm<br />
Hier wird es geschrieben, wie man die an<strong>de</strong>ren Teilen <strong>de</strong>s Programms anrufen muss:<br />
// Initialisierung <strong>de</strong>s Reglers<br />
void initRegler(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrReglerId);<br />
void initRegler(vo<strong>la</strong>tile struct <strong>PI</strong>Regler *ptrReglerIq);<br />
void mainSet<strong>PI</strong>ReglerIdParams(struct <strong>PI</strong>Regler *ptr<strong>PI</strong>ReglerId);<br />
void mainSet<strong>PI</strong>ReglerIqParams(struct <strong>PI</strong>Regler *ptr<strong>PI</strong>ReglerIq);<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 24
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
B. Literaturverzeichnis<br />
[1] Laboratorio <strong>de</strong> procesos industriales:<br />
http://www.e<strong>la</strong>i.upm.es:8009/spain/Asignaturas/ControlProcesos/archivos/Practicas/Practica<br />
_1.pdf<br />
[2] Regelungstechnik:<br />
http://www.rn-wissen.<strong>de</strong>/in<strong>de</strong>x.php/Regelungstechnik<br />
[3] <strong>Anti</strong>-<strong>Windup</strong>:<br />
http://www.20sim.com/webhelp/library/signal/<strong>con</strong>trol/pid_<strong>con</strong>trol/antiwindup.htm<br />
[4] Control <strong>PI</strong>D <strong>con</strong> <strong>Anti</strong>-<strong>Windup</strong>:<br />
http://www.micros-<strong>de</strong>signs.com.ar/<strong>con</strong>trol-pid-<strong>con</strong>-anti-windup-en-pic/<br />
[5] Regelungstechnik:<br />
http://<strong>de</strong>.wikipedia.org/wiki/Regler#<strong>PI</strong>-Regler<br />
[6] Infineon: [AP16084] FOC of a PMSM Application Note, V1.0, May 2004<br />
[7] Sahhary, Bassel; Elektrische Antreibe mit dauermagneterregten Maschinen im dynamischen<br />
sensorlosen Betrieb. Hamburg, 2008.<br />
[8] Nickl, Felix; Feoldorientierte Motorregelung für ein Elektrofahrzeug; Nürnberg, 2011.<br />
[9] Control system with anti-windup measure:<br />
http://www.atp.ruhr-uni-bochum.<strong>de</strong>/rt1/sys<strong>con</strong>trol/no<strong>de</strong>92.html<br />
[10] <strong>Universidad</strong> <strong>de</strong> Zaragoza;<br />
Regelungstechnik-, Leistungs-, und <strong>Digital</strong>elektronikunter<strong>la</strong>gen.<br />
[11] [Sahhary 2008] Sahhary, Bassel: Elektrische Antriebe mit dauermagneterregten<br />
Maschinen im dynamischen sensorlosen Betrieb, Helmut-Schmidt-Universität Hamburg, Diss.,<br />
2008. http://opus.unibw-hamburg.<strong>de</strong>/opus/volltexte/2009/1904/pdf/2009_Sahhary.pdf,<br />
Abruf: 01.02.2011<br />
[12]Datenblätter:<br />
http://www.infineon.com/dgdl/XC2287M-<br />
PB.pdf?fol<strong>de</strong>rId=db3a3043132679fb01133eb909a307c3&fileId=db3a30431c69a49d011c94d56<br />
aa7058d<br />
[13] [U<strong>de</strong>nar] <strong>Universidad</strong> <strong>de</strong> Colombia, Kolumbien Universität<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 25
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
C. Anhang<br />
C.1. Mikro<strong>con</strong>trollers Infineon XC2287M<br />
Abbildung 15: Dattenb<strong>la</strong>tt <strong>de</strong>s XC2287M Mikro<strong>con</strong>troller [Infineon]<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 26
<strong>PI</strong>-Regler mit <strong>Anti</strong>-<strong>Windup</strong> für eine feldorientierte<br />
Motorregelung für ein Elektrofahrzeug<br />
Abbildung 16: Diagram Block XC2287M [Infineon]<br />
Luis Alfonso Puertol<strong>la</strong>no Ventura 27