Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fuzzy-Klima-Regelung Simulink für Fuzzy Control

Ähnliche Präsentationen


Präsentation zum Thema: "Fuzzy-Klima-Regelung Simulink für Fuzzy Control"—  Präsentation transkript:

1 Fuzzy-Klima-Regelung Simulink für Fuzzy Control
Jörg Krone, Ulrich Lehmann, Hans Brenig, Udo Reitz, Michael Schneider SS2007 V_1_Fuzzy_Logik_Control_1.2

2 V_1_Fuzzy_Logik_Control_1.2
Inhalt Test des Fuzzy-Reglers Regelstrecke Regelkreis Optimierung Quellenverzeichnis SS2007 V_1_Fuzzy_Logik_Control_1.2

3 Testen des Fuzzy-Reglers in MATLAB/Simulink
>>help fuzzy zeigt alle Parameter zum Aufruf fuzzy >>fuzzy Aufruf des Fis-Editor Importieren der vorhandenen Membership Functions in den Fis-Editor Export der Membership Functions in den Workspace von MATLAB Laden Sie Ihren Fuzzy-Regler in den Workspace, um den Fuzzy-Regler weiter benutzen zu können. Sie können direkt den gespeicherten Workspace mit dem Fuzzy-Regler laden. Falls Sie Ihren Fuzzy-Regler nur als FIS-Datei vorliegen haben, öffnen Sie den Fis-Editor mit dem Kommando >>fuzzy, importieren die Fis-Datei und exportieren danach den Fuzzy-Regler in den Workspace. Speichern Sie bitte jetzt Ihren Workspace. SS2007 V_1_Fuzzy_Logik_Control_1.2

4 Testen des Fuzzy-Reglers in MATLAB/Simulink
Starten von Simulink Neues Modell anlegen Aus der Fuzzy Logic Toolbox den Block „Fuzzy Logic Contoller with Ruleviewer“ in das neue Modell kopieren (drag&drop) Der Fuzzy-Regler soll in Simulink getestet werden. Dazu starten Sie Simulink und wählen aus dem Simulink-Library-Browser den Block „Fuzzy Logic controller wirh Ruleviewer“ aus. Per drag&drop können Sie den Block aus dem Library Browser in Ihr Modell übertragen. SS2007 V_1_Fuzzy_Logik_Control_1.2

5 Testen des Fuzzy-Reglers in MATLAB/Simulink
Auf dieser Folie sind die einzelnen Schritte zu sehen, um einen Fuzzy-Block in Simulink zu erstellen. SS2007 V_1_Fuzzy_Logik_Control_1.2

6 Testen des Fuzzy-Reglers in MATLAB/Simulink
Modell speichern Laden der Membership Functions aus dem Workspace in den Funktionsblock (Doppelklick auf den Block) Name aus dem Workspace Speichern Sie Ihr Simulink-Modell bevor Sie weitermachen bzw. speichern Sie immerwieder Ihr Modell!!! Durch einen Doppelklick auf den Simulink-Block öffnet sich das Fenster, um die Eigenschaftn des Blocks einzustellen. Tragen Sie jetzt den Namen Ihres Fuzzy-Regler ein. ACHTUNG: ohne .fis!!! Der eingetragene Name des Fuzzy-Reglers muss mit dem Namen des Fuzzy-Reglers im Workspace identisch sein. Sollte die Simulation zu langsma laufen, können Sie über die Refresh rate die Zeit angeben nach welcher die Ansicht erneuert werden soll. Ist die Simulation zu langsam: „Refresh rate“ sinnvoll erhöhen SS2007 V_1_Fuzzy_Logik_Control_1.2

7 Testen des Fuzzy-Reglers in MATLAB/Simulink
Wie kann der Fuzzy-Regler getestet werden?  Kontrollierter Test! Zwei Eingänge des Fuzzyreglers Temperatur -> steigt und fällt [10…30°C] Temperaturänderung -> positiv/negativ/konstant [-3…3] Wie kann nun der Fuzzy-Regler auf seine Funktion getestet werden? Dazu soll ein kontrollierter Test durchgeführt werden. Der Fuzzy-Regler hat zwei Eingänge (Temperatur und Temperaturänderung) an denen ein bekanntes Signal angelegt werden soll. Die Temperatur soll sich linear von 10°C auf 30°C steigen und danach wieder auf 10°C fallen. Die Temperaturveränderung soll durch einen Block dargestellt werden, welcher zuerst konstant ist, dann linear auf -3°C fällt und dann auf +3°C steigt. SS2007 V_1_Fuzzy_Logik_Control_1.2

8 Testen des Fuzzy-Reglers in MATLAB/Simulink
Dazu holen Sie sich den Block „Repeating Sequence Interpolated“ in Ihr Modell für die Temperatur und die Temperaturänderung. SS2007 V_1_Fuzzy_Logik_Control_1.2

9 Testen des Fuzzy-Reglers in MATLAB/Simulink
Bauen Sie Ihr Simulationsmodell auf und lassen Sie sich das Ergebnis auf dem Scope ausgeben. Es sollen die Aussentemperatur in der Mitte, oben der Ausgang des Fuzzy-Reglers und unten die Temperaturänderung angezeigt werden. Scope: oben: Ausgang des Fuzzy-Reglers mitte: Innentemp. X unten: dx/dt, Temp.Änderung SS2007 V_1_Fuzzy_Logik_Control_1.2

10 Testen des Fuzzy-Reglers in MATLAB/Simulink
Hier sehen Sie die Eigenschaften der beiden Blöcke für die Temperatur und die Temperaturänderung. Alle 100s soll sich der Verlauf ändern. Der kontrollierte Test soll 400s dauern und sich danach wiederholen. Falls eine Fehlermeldung beim Start der Simulation bei diesen Blöcken kommt, kann es sein, dass Sie die Vektoren noch transponieren müssen. SS2007 V_1_Fuzzy_Logik_Control_1.2

11 Testen des Fuzzy-Reglers in MATLAB/Simulink
Simulationsdauer: 800s Sample Time: 1s Stellen Sie nun die Simulationsdauer auf 800s ein. Die Sample Time soll 1s betragen. Starten Sie nun Ihre Simulation und lassen sich das Ergebnis auf dem Scope anzeigen. SS2007 V_1_Fuzzy_Logik_Control_1.2

12 Testen des Fuzzy-Reglers in MATLAB/Simulink
WAS FÄLLT IHNEN AN DEN GRAPHEN AUF??? Haben Sie das gleiche oder ein ähnliches Simulationsergebnis? Prüfen und bewerten Sie Ihr Ergebnis! Was fällt Ihnen an diesen Graphen auf? Was passiert mit dem Fuzzy-Regler bei „heiss“ und „konstant“ oder bei „kalt“ und „kühler“? SS2007 V_1_Fuzzy_Logik_Control_1.2

13 Testen des Fuzzy-Reglers in MATLAB/Simulink
Auffälligkeiten: Ist das sprunghafte Verhalten des Ausgangs des Fuzzy-Reglers korrekt? Warum verhält sich der Fuzzy-Regler so sprunghaft? Werden die Max.-/Min.-Werte des Fuzzy-Reglers erreicht? Was fällt Ihnen bei den Graphen auf? Ist das sprunghafte Verhalten des Ausgangs des Fuzzy-Reglers korrekt? Warum verhält sich der Fuzzy-Regler so sprunghaft an diesen Stellen? Werden die Max. /Min.-Werte des Fuzzy-Reglers erreicht? SS2007 V_1_Fuzzy_Logik_Control_1.2

14 Testen des Fuzzy-Reglers in MATLAB/Simulink
Lösungsvorschläge: Definitionsbereich der Membership Functions vergrößern Eingänge des Fuzzyblocks auf den gültigen Definitionsbereich begrenzen („Saturation“)  Das Modell soll so angepasst werden, dass im vorhandenen Scope ein 4. Graph mit dem korrekten Verlauf des Fuzzyausgangs angezeigt wird. Welche Lösungsmöglichkeiten schlagen Sie vor? Der Definitionsbereich der Membership Functions muss vergrößert werden. oder Nur Inputwerte innerhalb des Definitionsbereichs zulassen. Dies kann mit einem Begrenzer („Saturation) in Simulink umgesetzt werden. Anmerkung: Im Matlab-m-file kann das mit einer if-Abfrage umgesetzt werden. Passen Sie nun das Simulationsmodell so an, dass im vorhanden Scope ein. 4. Graph in einem separaten Fenster mit dem korrekten Verlauf des Ausgangs des Fuzzy-Reglers angezeigt wird. SS2007 V_1_Fuzzy_Logik_Control_1.2

15 Testen des Fuzzy-Reglers in MATLAB/Simulink
Sie können sich das vorhandene Modell kopieren und den neu eingfügten Teil um die Begrenzer erweitern und am Scope anschließen, wie es auf der Graphik zu sehen ist. Starten Sie die Simulation und lassen sich das Ergebnis im Scope anzeigen. Bewerten Sie den neuen Graphen. SS2007 V_1_Fuzzy_Logik_Control_1.2

16 Testen des Fuzzy-Reglers in MATLAB/Simulink
Die Parametrierung des Saturation-Blocks erfolgt gemäß des Wertebereiches Ihrer Membership Functions. Für die Temperatur geht das zulässige Intervall von ….. bis …… Für die Temperaturänderung geht das zulässige Intervall von ….. bis …… SS2007 V_1_Fuzzy_Logik_Control_1.2

17 Testen des Fuzzy-Reglers in MATLAB/Simulink
Wie ist das Ergebnis des Fuzzy-Reglers zu bewerten? Liefert der Fuzzy-Regler jetzt ein sinnvolles Ergebnis? Im untersten Graphen können Sie jetzt erkennen, dass der Fuzzy-Regler für jeglichen Input des kontrolliertem Test ein sinnvolles Ergebnis liefert. Wenn es heiß ist und die Temperaturänderung konstant ist, dann liefert der Fuzzy-Regler das Ergebnis stark kühlen.  Ergebnis ist korrekt! Wenn es kalt ist und es wärmer wird, dann liefert der Fuzzy-Regler das Ergebnis heizen.  Ergebnis ist korrekt! Wenn es heiß ist und es wärmer wird, dann liefert der Fuzzy-Regler das Ergebnis stark kühlen.  Ergebnis ist korrekt! SS2007 V_1_Fuzzy_Logik_Control_1.2

18 V_1_Fuzzy_Logik_Control_1.2
Regelstrecke Einfluss der Aussen- temperatur auf die Innentemperatur durch die Wand oder Fenster Verzögerte Reaktion des Kühl-/Heizgerätes nach Verstellen des Thermostats Kennlinie Verzögerte Reaktion der Innenraumtemp. auf die geänderte Temp. des Kühl-/Heizgerätes Im folgenden möchte ich Ihnen kurz die Regelstrecke der Fuzzy-Klima-Regelung vorstellen. In rot ist der Einfluss der Aussentemperatur aus die Innentemperatur durch die Wand und/oder Fenster, etc. mathematisch für die Simulation dargestellt. In blau ist die Kennlinie des Kühl-Heiz-Aggregates in einer sogenannten Look-Up-Table dargestellt. Diese Kennlinie entspricht noch nicht der realen. Deswegen muss diese zunächst eingegeben werden. In orange ist über eine Transfer Function die verzögerte Reaktion des Kühl-/Heizgerätes nach Verstellen des Thermostates dargestellt. In violett ist ebenfalls über eine Transfer Function die verzögerte Reaktion der Innenraumtemperatur auf die geänderte Temperatur des Kühl-/Heizgerätes dargestellt. Nähere Informationen über das erstellen eines Regelkreises können Sie im Fach Prozessinformatik des Masterstudienganges CV&CI oder einem entsprechenden Wahlfach des Bachelorstudienganges AI erfahren. SS2007 V_1_Fuzzy_Logik_Control_1.2

19 V_1_Fuzzy_Logik_Control_1.2
Regelstrecke Kennlinie des Wärme-/Kälteerzeugers heizen y Übertragen Sie diese Kennlinie bitte in die Look-Up-Tabel Ihres Simulink-Modell. Generieren Sie für jede Spalte eine Variable im Workspace und tragen Sie dort die Werte ein. Sie können die Werte aus der Praktikumsanleitung evtl. per Copy&Paste entnehmen und in Matlab einfügen. Die Variablennamen müssen Sie jetzt nur noch über die Eigenschaften der Look-Up-Table mit Ihrem Simulink-Modell verknüpfen. Anmerkung: Wenn eine Fehelrmeldung kommt, müssen die Vektoren noch transponiert werden. Das kann direkt im Block geschehen durch einfügen eines Kochkommas ‘ nach dem Variablennamen. Jetzt die Kennlinie in das vorhandene Modell der Regelstrecke eingeben!!! kühlen SS2007 V_1_Fuzzy_Logik_Control_1.2

20 V_1_Fuzzy_Logik_Control_1.2
Regelkreis Look Up Table ist eingebaut Fuzzy-Regler in dieses Modell integrieren Eingänge vom Fuzzy-Regler Innentemperatur Temperaturänderung innen T1=1/10 Tv Die Look-Up-Table ist nun mit den realen Werten eingebaut. Binden Sie Ihren Fuzzy-Regler in dieses Modell ein. Sie können dies machen, indem Sie Ihren vorhandenen Fuzzy-Regler markieren und dann mit Copy&Paste in das neue Modell übertragen. Die beiden Eingänge des Fuzzy-Reglers sind oben die Temperatur und unten die Temperaturänderung. Die Temperaturänderung soll in diesem Modell berechnet werden, indem die Temperatur T über die Zeit t abgeleitet wird (Differentation). Dazu benötigen Sie eine Transfer Function. Zusätzlich wird in diesem Block noch eine Verzögerung T1=1/10 Tv zur Reduktion von hochfrequenten Störungen berücksichtigt. SS2007 V_1_Fuzzy_Logik_Control_1.2

21 V_1_Fuzzy_Logik_Control_1.2
Regelkreis Jeweils in einem Scope soll folgendes zu sehen sein Innenraumtemperatur und Ausgang von Fuzzy-Regler Eingangsgößen in Fuzzy-Regler Aussentemperatur Begrenzer nicht vergessen In einem Scope sollen folgende Graphen in separaten Koordinatensystemen zu sehen sein: Oben: Innentemperatur und Ausgang vom Fuzzy-Regler Mitte: Eingangsgrößen des Fuzzy-Reglers Unten: Aussentemperatur Vergessen Sie die Begrenzer nicht, um ein sinnvolles Ergebnis zu erzielen. Wenn Sie alle Komponenten eingebaut haben und überflüssige Komponenten wie die Sprungantwort entfernt haben, können Sie die Simulation starten. Bewerten Sie das Ergebnis! SS2007 V_1_Fuzzy_Logik_Control_1.2

22 V_1_Fuzzy_Logik_Control_1.2
Regelkreis Ihr Regelkreis sollte jetzt so aussehen! Wenn Sie den Block Scope beschriften, wird im Scope der gleiche Name angezeigt und Sie kommen bei mehreren Scopes nicht durcheinander, da alle eindeutig beschriftet sind. SS2007 V_1_Fuzzy_Logik_Control_1.2

23 V_1_Fuzzy_Logik_Control_1.2
Regelkreis Bewerten Sie die Graphen? Wird die geforderte Zieltemperatur 20°C im zulässigen Toleranzband geregelt? Reagiert Ihr Fuzzy-Regler korrekt? Sie sehen, dass die Zieltemperatur von 20°C noch nicht erreicht wird. Welche Möglichkeiten stehen Ihnen zur Verfügung, um die Zieltemperatur mit einer zulässigen Abweichung von +/-5% zu erreichen? An der Regelstrecke darf nichts geändert werden, da diese ein Abbild der realen Umgebung ist. Änderungen können nur am Fuzzy-Regler vorgenommen werden. SS2007 V_1_Fuzzy_Logik_Control_1.2

24 Regelkreis (Optimierung)
Ziel: 20°C ist noch nicht erreicht Welche Möglichkeiten der Verbesserung des Modells gibt es? Regeln überprüfen und gegebenfalls anpassen Struktur des Fuzzy-Reglers erweitern (I-Anteil) Die Zieltemperatur ist noch nicht erreicht. Welche Möglichkeiten der Verebsserung des Fuzzy-Regler gibt es? Ändern der Regeln gerade im mittleren Bereich (Feintuning) Ändern der Membership Functions Struktur des Fuzzy-Reglers erweitern, z.B. mit einem I-Anteil Korrigieren Sie das Regelwerk und starten die Simulation erneut. Dieser Vorgang wird solange wiederholt bis Ihr Fuzzy-Regler die geforderte Zieltemperatur im zulässigen Toleranzband regelt. SS2007 V_1_Fuzzy_Logik_Control_1.2

25 Regelkreis (Optimierung)
Optimierung der Fuzzy-Regeln durch Anpassen der Fuzzy-Regeln Die Temperatur wird auf 20°C im zulässigen Toleranzband geregelt!!! Die Aufgabe ist gelöst. Bitte speichern Sie alle Ihre Ergebnisse und Modelle, so dass Sie später darauf zurückgreifen können. SS2007 V_1_Fuzzy_Logik_Control_1.2

26 V_1_Fuzzy_Logik_Control_1.2
Quellenverzeichnis Fuzzy Control für Ingenieure Jörg Kahlert ISBN Fuzzy-Logik und Fuzzy-Control Jörg Kahlert, Hubert Frank ISBN Hoffmann, J.; Brunner, U.: Matlab & Tools für die Simulation dynamischer Systeme Lehmann, Ulrich: Skript Prozessrechensysteme ftp-Server: ftp:// /Neuro-Fuzzy-Systeme%20CI%20(RTII)/Vorlesung_FH_SWF/ Lehmann, U.; Krone, J.: Vorlesung Neuro-Fuzzy-Systeme, FH-SW Iserlohn, SS 2003 SS2007 V_1_Fuzzy_Logik_Control_1.2


Herunterladen ppt "Fuzzy-Klima-Regelung Simulink für Fuzzy Control"

Ähnliche Präsentationen


Google-Anzeigen