Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 30.11.2005
Hinweis: Am Freitag entfällt die Vorlesung! (Tagung M4M – Methods for Modalities) heute nochmals: Thema Modellierung / Simulation 30.11.2005
Pendel Aufstellen physikalischer Schwingungsgleichungen Erstellen eines Simulationsmodells (Strecke/Regelung) Simulation und Validierung des Modells Codegenerierung 30.11.2005
einfaches Pendel Ansatz: Trägheitskraft = Rückstellkraft Länge L Masse m Auslenkung s Ansatz: Trägheitskraft = Rückstellkraft m*s= -m*g*sin =s/L s+g*sin(s/L)=0 Anfangsbedingung (0) bzw. s(0) Linearisierung: für kleine gilt sin s=(-g/L)* s Analytische Lösung oder Simulation 30.11.2005
inverses Pendel Modellierung der Strecke mit Wagen und Pendel http://www-user.tu-chemnitz.de/~beber/DA/Diplomarbeit_IP.pdf Modellierung der Strecke mit Wagen und Pendel 30.11.2005
inverses Pendel Wagen: F=U-M*x Pendel: 30.11.2005
Pendel @ FIRST Fehlertolerante Realisierung! 30.11.2005
Crashkurs Regelungstechnik Wiederholung: © Prof. Dr.-Ing. Ch. Ament 30.11.2005
30.11.2005
30.11.2005
Steuerbarkeit und Beobachtbarkeit lineares DGL-System. Sei x der Vektor der Regelgrößen, u der Vektor der Stellgrößen und y ein Vektor von Messgrößen. Das System x[t+1]=A*x[t]+B*u[t] ist steuerbar mit Schrittweite n, wenn es zu jedem Wertepaar p, q eine Folge u[0],…,u[n-1] gibt mit p=x[0] und q=x[n] intuitiv: das System lässt sich von p nach q steuern Ein System mit x[t+1]=A*x[t]+B*u[t] und y[t+1]=C*x[t]+D*u[t] ist beobachtbar, wenn aus der Steuerfolge u[0],…u[n-1] und der Messwertfolge y[0],…, y[n-1] mit der Schrittzahl N der unbekannte Anfangszustand x[0] bestimmt werden kann intuitiv: der Zustand lässt sich aus dem Verhalten ableiten Erweiterungen für den kontinuierlichen Fall Charakterisierung mit algebraischen Mitteln 30.11.2005
Reglerklassen Proportionaler, integraler und differentialer Anteil bei der Regelung P-Regler: u(t)=k*e(t) I-Regler: u(t)=k*e(t) dt D-Regler: u(t) = k*e(t) PI-Regler: u(t) = k1*e(t) + k2*e(t) dt PD-Regler: u(t) = k1*e(t) + k2*e(t) PID-Regler: u(t) = k1*e(t) + k2*e(t) dt + k3*e(t) u(t) = KP*[e(t) + 1/TI*e(t) dt + TD *e(t)] KP: Proportionalbeiwert, TI: Nachstellzeit, TD: Vorhaltezeit Ziel: Vermeidung bzw. Dämpfung von Überschwingungen „Reiner“ Differenzierer nicht realisierbar (Verzögerung!) 30.11.2005
informell PID-Regler: P(proportionaler) Anteil: „Je größer die Regelabweichung, umso größer muß die Stellgröße sein“ I(integraler) Anteil: „Solange eine Regelabweichung vorliegt, muß die Stellgröße verändert werden“ D(differentieller) Anteil: „Je stärker sich die Regelabweichung verändert, umso stärker muß die Regelung eingreifen“ 30.11.2005
PID in Simulink Als fester vorgegebener Block verfügbar! 30.11.2005
Einstellung des Reglers Erst den proportionalen Anteil einstellen erhöhen bis leichte Oszillation auftritt Dann integralen Teil hochregeln solange bis die Oszillation aufhört Dann differentiellen Anteil damit Zielgerade möglichst schnell erreicht wird Parameter Anstiegszeit Überschwingung Einschwingzeit Abweichung P -- + +- - I ++ D 30.11.2005
Beispiel Wasserstandsregelung Hausaufgabe! 30.11.2005