Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 15.6.2009
War wir bislang hatten Einführungsbeispiel (Mars Polar Lander) Automotive Software Engineering Domänen-Engineering Modellbasierte Entwicklung Anforderungsdefinition und -artefakte Lastenheft TSG Ziele und Szenarien Strategien Modellierung physikalische Modellierung Anwendungs- und Verhaltensmodellierung Berechnungsmodelle, zeitabhängige & hybride Automaten Datenflussmodelle (Katze und Maus) Regelungstechnik 15.6.2009
Pendel Aufstellen physikalischer Schwingungsgleichungen Erstellen eines Simulationsmodells (Strecke/Regelung) Simulation und Validierung des Modells Codegenerierung 15.6.2009
Schwingungsgleichung Pendel 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 15.6.2009
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 15.6.2009
inverses Pendel Wagen: F=U-M*x Pendel: 15.6.2009
Pendel @ FIRST Fehlertolerante Realisierung! 15.6.2009
Crashkurs Regelungstechnik Eingebettetes System: System Umgebung Allgemeines Schema eines Regelkreises: © Prof. Dr.-Ing. Ch. Ament 15.6.2009
15.6.2009
15.6.2009
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 15.6.2009
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!) 15.6.2009
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“ 15.6.2009
PID in Simulink Als fester vorgegebener Block verfügbar! 15.6.2009
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 15.6.2009
Beispiel Wasserstandsregelung Hausaufgabe! 15.6.2009