Energiehaushalt eines Hauses: Energiespeicher ESP: Unterschied zwischen den Versionen
(63 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
'''Autoren:''' [[Benutzer:Asmaa Kachout-Aarourou|Asmaa Kachout-Aarourou]]; [[Benutzer:Lihui Liu|Lihui Liu]] <br/> | '''Autoren:''' [[Benutzer:Asmaa Kachout-Aarourou|Asmaa Kachout-Aarourou]]; [[Benutzer:Lihui Liu|Lihui Liu]] <br/> | ||
'''Betreuer:''' [[Benutzer:Prof._Mirek_Göbel| Prof. Dr.-Ing. M. Göbel]] | '''Betreuer:''' [[Benutzer:Prof._Mirek_Göbel| Prof. Dr.-Ing. M. Göbel]] | ||
[[Kategorie:BSE/SDE-EnergieHaus]] | |||
→ zum Hauptartikel: [[Systems Design Engineering - Seminaraufgabe SoSe 2023: Energiehaushalt eines Hauses | Systems Design Engineering - Seminaraufgabe SoSe 2023: Energiehaushalt eines Hauses]] | → zum Hauptartikel: [[Systems Design Engineering - Seminaraufgabe SoSe 2023: Energiehaushalt eines Hauses | Systems Design Engineering - Seminaraufgabe SoSe 2023: Energiehaushalt eines Hauses]] | ||
Zeile 38: | Zeile 40: | ||
== Anforderungsdefinition: Lastenheft == | == Anforderungsdefinition: Lastenheft == | ||
Zum Projektbeginn wurden die Anforderungen im Lastenheft in Form einer detaillierten Excel-Tabelle festgelegt. Das Lastenheft beinhaltet sowohl Informationen als auch konkrete Anforderungen. Die Informationen sind in verschiedene Kapitel untergliedert, wie beispielsweise Stromspeicherung, Art des Batteriespeichers, Speicherregelung, Schnittstellen, Software/Werkzeuge, Dokumentation und Wasserkollektor. Jedes Kapitel enthält spezifische Anforderungen, die als direkte Vorgaben formuliert sind. Für eine visuelle Darstellung siehe Abbildung 3. | |||
[[Datei: Lastenheft_1.png|thumb|left|1000px|Abbildung 3: Lastenheft von der Gruppe ESP ]]<br clear=all> | |||
== Funktionaler Systementwurf == | == Funktionaler Systementwurf == | ||
Der funktionale Systementwurf war im Sommersemester 2023 kein Bestandteil der Gruppenaufgabe und wurde von Prof. Dr. Göbel bereitgestellt | Der funktionale Systementwurf war im Sommersemester 2023 kein Bestandteil der Gruppenaufgabe und wurde von Prof. Dr. Göbel bereitgestellt | ||
== Technischer Systementwurf == | == Technischer Systementwurf == | ||
Der technische Systementwurf wurde zunächst | Der technische Systementwurf wurde zunächst gemäß der Darstellung in Abbildung 4 skizziert. Anschließend wurde dieser Entwurf in Matlab/Simulink umgesetzt, wie in die 5 und 6 Abbildung zu sehen ist. Dabei wurden verschiedene Aspekte und Elemente berücksichtigt, die für die Gestaltung und Entwicklung der beiden Systeme, nämlich des Energiespeichers und des Wassertemperaturspeichers, notwendig sind. Im Rahmen des technischen Systementwurfs wurde die Gesamtstruktur des Systems detailliert beschrieben, ebenso wie die Beziehungen zwischen den verschiedenen Modulen. | ||
[[Datei:Skizze_1.png|thumb|left|500px| Abbildung 4:Erster Entwurf auf Papier: Handschriftliche Skizze]] | |||
[[Datei:Erster_Entwurf.png|thumb|right|500px|Abbildung 5:Erster Entwurf in Simulink]] | |||
[[Datei:Finaler_Entwurf.png|thumb|left|1100px|Abbildung 6:Finaler Entwurf in Simulink]] | |||
<br clear=all> | |||
== Komponentenspezifikation == | == Komponentenspezifikation == | ||
Nach dem technischen Systementwurf werden die einzelnen Komponenten detailliert spezifiziert. In den Spezifikationen wird ihre Funktionen beschrieben und wie die Komponenten umgesetzt werden sollen. | Nach dem technischen Systementwurf werden die einzelnen Komponenten detailliert spezifiziert. In den Spezifikationen wird ihre Funktionen beschrieben und wie die Komponenten umgesetzt werden sollen. Die Komponentenspezifikation werden nach der Erstellung mit der Durchführung des Projekts ständig angepasst. Folgende stellt die Komponenten und deren zu durchführenden Funktionen sowie für die Implementierung die benötigt Parameter dar. | ||
== Solarmanager == | == Solarmanager == | ||
'''Eingänge''' | '''Eingänge''' | ||
* EEZ_PVleistungAC [W] | * EEZ_PVleistungAC [W] | ||
* ESP_Bateriezustand | * ESP_Bateriezustand [%] | ||
* LKT_Stromverbrauch [Ws] | |||
* HZT_verbrauchte_Leistung [Ws] | |||
'''Ausgänge''' | '''Ausgänge''' | ||
* ESP_Stromnetz [W] | |||
* ESP_Stromnetz | |||
* ESP_Verbrauch [%] | * ESP_Verbrauch [%] | ||
'''Parameter''' | '''Parameter''' | ||
Zeile 73: | Zeile 85: | ||
== Akku == | == Akku == | ||
'''Eingänge''' | '''Eingänge''' | ||
* EEZ_PVleistungAC | * EEZ_PVleistungAC [W] | ||
'''Ausgänge''' | '''Ausgänge''' | ||
* ESP_BatterieZustand | * ESP_BatterieZustand | ||
'''Parameter''' | '''Parameter''' | ||
* PAR_BTWirkungsgrad[%] | * PAR_BTWirkungsgrad [%] | ||
* PAR_ESP_Batteriekapazität[ | * PAR_ESP_Batteriekapazität [Ws] | ||
* PAR_ESP_DoD[%] | * PAR_ESP_DoD [%] | ||
* PAR_ESP_SoC[%] | * PAR_ESP_SoC [%] | ||
{| class="wikitable" | {| class="wikitable" | ||
Zeile 148: | Zeile 159: | ||
Bei der Programmierung werden die Komponenten gemäß den zuvor definierten Spezifikationen umgesetzt. Die Implementierung erfolgt im bereits erstellten Simulink-Modell, das für den technischen Systementwurf entwickelt wurde. Die verwendeten Parameter werden separat in einer Matlab-Datei zusammengefasst und beim Start des Modells aufgerufen, um die entsprechenden Konstanten im Workspace zu erstellen. | Bei der Programmierung werden die Komponenten gemäß den zuvor definierten Spezifikationen umgesetzt. Die Implementierung erfolgt im bereits erstellten Simulink-Modell, das für den technischen Systementwurf entwickelt wurde. Die verwendeten Parameter werden separat in einer Matlab-Datei zusammengefasst und beim Start des Modells aufgerufen, um die entsprechenden Konstanten im Workspace zu erstellen. | ||
=== Warmwasserspeicher === | === Warmwasserspeicher === | ||
Abbildung | Abbildung 7 stellt die Implementierung des Warmwasserspeichers in Simulink dar. | ||
[[Datei: Warmwasserspeicher in Simulink.png|thumb|left|1000px|Abbildung | [[Datei: Warmwasserspeicher in Simulink.png|thumb|left|1000px|Abbildung 7: Implementierung des Warmwasserspeichers in Simulink]]<br clear=all> | ||
Für die Simulation des Warmwasserspeichers wurde das Modell FlexTherm Duo des Herstellers Flamco als Beispiel verwendet<ref>https://flamco.aalberts-hfc.com/de/catalog/pufferspeicher-und-warmwasserbereitung/warmwasserbereiter/standspeicher-flextherm-duo/flextherm-duo-120-500/18501/groups/g+c+p+a+nr+view</ref> verwenet.<br/> | Für die Simulation des Warmwasserspeichers wurde das Modell FlexTherm Duo des Herstellers Flamco als Beispiel verwendet<ref>https://flamco.aalberts-hfc.com/de/catalog/pufferspeicher-und-warmwasserbereitung/warmwasserbereiter/standspeicher-flextherm-duo/flextherm-duo-120-500/18501/groups/g+c+p+a+nr+view</ref> verwenet.<br/> | ||
Die Gruppe HZR stellt die Warmwasserheizleistung für den Warmwasserspeicher bereit, die als Eingang fungiert. Die Leistung P wird mithilfe eines Integrators zur integrierten zugeführten Wärme <math>\dot Q </math> erfasst. Zur Berechnung der Temperaturdifferenz wird die folgende Formel verwendet: <br/> | Die Gruppe HZR stellt die Warmwasserheizleistung für den Warmwasserspeicher bereit, die als Eingang fungiert. Die Leistung P wird mithilfe eines Integrators zur integrierten zugeführten Wärme <math>\dot Q </math> erfasst. Zur Berechnung der Temperaturdifferenz wird die folgende Formel verwendet: <br/> | ||
Zeile 174: | Zeile 185: | ||
In diesen Fällen ist das System auf das Netz angewiesen, um die erforderliche Energie zu liefern. Dadurch wird sichergestellt, dass der Energiebedarf des Hauses kontinuierlich gedeckt wird, auch wenn die PV-Anlage keinen Strom erzeugt. Sobald die PV-Anlage jedoch genügend Energie erzeugt und die Batterie voll aufgeladen ist, kann überschüssiger Strom in das Netz eingespeist werden. | In diesen Fällen ist das System auf das Netz angewiesen, um die erforderliche Energie zu liefern. Dadurch wird sichergestellt, dass der Energiebedarf des Hauses kontinuierlich gedeckt wird, auch wenn die PV-Anlage keinen Strom erzeugt. Sobald die PV-Anlage jedoch genügend Energie erzeugt und die Batterie voll aufgeladen ist, kann überschüssiger Strom in das Netz eingespeist werden. | ||
Um diese Funktionalitäten zu optimieren, wurde das System mithilfe von MATLAB Simulink simuliert. Die simulierten Ergebnisse in Abbildung | Um diese Funktionalitäten zu optimieren, wurde das System mithilfe von MATLAB Simulink simuliert. Die simulierten Ergebnisse in Abbildung 8 bieten einen Einblick in den Betrieb des Systems. | ||
[[Datei: Programmierung_EnergieSpeicher1.png|thumb|left|1000px|Abbildung | [[Datei: Programmierung_EnergieSpeicher1.png|thumb|left|1000px|Abbildung 8: Implementierung des Energiespeichers in Simulink]]<br clear=all> | ||
=== Solarmanager === | |||
Der Solarmanager oder Solarregler wurde so programmiert, dass er die drei unten genannten Szenarien berücksichtigt: | Der Solarmanager oder Solarregler wurde so programmiert, dass er die drei unten genannten Szenarien berücksichtigt: | ||
Im ersten Szenario, wenn ausreichende Sonneneinstrahlung vorhanden ist, analysiert der Solarmanager die PV-Leistung und teilt den erzeugten Strom entsprechend auf. Ein Teil der Energie wird in die Batterie geleitet, um sie aufzuladen und für Zeiten ohne Sonneneinstrahlung vorzubereiten. Der andere Teil des erzeugten Stroms wird direkt dem Verbrauch zur Verfügung gestellt, um die elektrischen Geräte zu betreiben. Der Solarregler überwacht kontinuierlich die Sonneneinstrahlung, um sicherzustellen, dass die Batterie angemessen geladen wird und der Verbrauch abgedeckt ist. | Im ersten Szenario, wenn ausreichende Sonneneinstrahlung vorhanden ist, analysiert der Solarmanager die PV-Leistung und teilt den erzeugten Strom entsprechend auf. Ein Teil der Energie wird in die Batterie geleitet, um sie aufzuladen und für Zeiten ohne Sonneneinstrahlung vorzubereiten. Der andere Teil des erzeugten Stroms wird direkt dem Verbrauch zur Verfügung gestellt, um die elektrischen Geräte zu betreiben. Der Solarregler überwacht kontinuierlich die Sonneneinstrahlung, um sicherzustellen, dass die Batterie angemessen geladen wird und der Verbrauch abgedeckt ist. | ||
Im zweiten Szenario, wenn keine Sonneneinstrahlung vorhanden ist und die Batterie leer ist, erkennt der Solarregler automatisch | Im zweiten Szenario, wenn keine Sonneneinstrahlung vorhanden ist und die Batterie leer ist, erkennt der Solarregler automatisch die Fehlende PV-Leistung. In dieser Situation schaltet der Solarregler nahtlos auf den Netzbezug um, um den benötigten Strom für den Verbrauch bereitzustellen. Durch diese Umschaltung wird ein unterbrechungsfreier Betrieb sichergestellt, obwohl keine Solarenergie verfügbar ist. | ||
Im dritten Szenario, wenn die Batterie bereits vollständig aufgeladen ist und gleichzeitig Sonneneinstrahlung vorhanden ist, erfasst der Solarregler den Ladezustand der Batterie sowie die aktuelle PV-Leistung. Bei überschüssigem Strom aus der PV-Anlage wird dieser erkannt und gesteuert. Der Solarregler leitet den überschüssigen Strom in das Stromnetz, um anderen Verbrauchern zur Verfügung zu stehen. | Im dritten Szenario, wenn die Batterie bereits vollständig aufgeladen ist und gleichzeitig Sonneneinstrahlung vorhanden ist, erfasst der Solarregler den Ladezustand der Batterie sowie die aktuelle PV-Leistung. Bei überschüssigem Strom aus der PV-Anlage wird dieser erkannt und gesteuert. Der Solarregler leitet den überschüssigen Strom in das Stromnetz, um anderen Verbrauchern zur Verfügung zu stehen. | ||
Folgende stelle die Code für die Funktion "Solarmanager" dar. | |||
<pre> | <pre> | ||
function [NetzOut, NetzIn,BT_laden, verbrauch]= fcn(PV_P, P_Soll,BT_Zustand) | function [NetzOut, NetzIn,BT_laden, verbrauch]= fcn(PV_P, P_Soll,BT_Zustand) | ||
Zeile 233: | Zeile 244: | ||
''' Batterie ''' | ''' Batterie ''' | ||
Für das entwickelte System wurde ein Lithium-Eisenphosphat-Akku ausgewählt, da diese Art von Batterie bekannt für ihre hohe Leistungsfähigkeit und Zuverlässigkeit ist. Der Akku weist einen beeindruckenden Wirkungsgrad von 95,3% auf, was bedeutet, dass nur eine geringe Menge an Energieverlust beim Laden und Entladen auftritt. | Für das entwickelte System wurde ein Lithium-Eisenphosphat-Akku ausgewählt, da diese Art von Batterie bekannt für ihre hohe Leistungsfähigkeit und Zuverlässigkeit ist. Der Akku weist einen beeindruckenden Wirkungsgrad von 95,3% auf, was bedeutet, dass nur eine geringe Menge an Energieverlust beim Laden und Entladen auftritt.<ref>ttps://www.rct-power.com/de/newsreader-1393/batteriespeicher-lithium-eisenphosphat.html#:~:text=Der%20Wirkungsgrad%20einer%20LiFePO4%2DBatterie,zwischen%2093%20bis%2098%20Prozent</ref> | ||
Zusätzlich wurden spezifische Batterieparameter festgelegt. Die Depth of Discharge (DoD) des Akkus beträgt 80%. Das bedeutet, dass der Akku bis zu 80% seiner Kapazität entladen werden kann, bevor er wieder aufgeladen werden muss. Diese Einstellung ermöglicht eine effektive Nutzung des Batteriespeichers | Zusätzlich wurden spezifische Batterieparameter festgelegt. Die Depth of Discharge (DoD) des Akkus beträgt 80%. Das bedeutet, dass der Akku bis zu 80% seiner Kapazität entladen werden kann, bevor er wieder aufgeladen werden muss. Diese Einstellung ermöglicht eine effektive Nutzung des Batteriespeichers. | ||
Der State of Charge (SoC) des Akkus beträgt 20%. Dies bedeutet, dass immer ein Minimum von 20% der Akkukapazität beim Entladen in der Batterie verbleiben soll. Dieses Vorgehen zielt darauf ab, die Lebensdauer des Akkus zu maximieren und eine Tiefentladung zu vermeiden, die den Akku beschädigen könnte | Der State of Charge (SoC) des Akkus beträgt 20%. Dies bedeutet, dass immer ein Minimum von 20% der Akkukapazität beim Entladen in der Batterie verbleiben soll. Dieses Vorgehen zielt darauf ab, die Lebensdauer des Akkus zu maximieren und eine Tiefentladung zu vermeiden, die den Akku beschädigen könnte. <ref>https://www.creabest.de/blogs/news/so-laden-sie-lifepo4-akkus-auf</ref> | ||
== Komponententest == | == Komponententest == | ||
Zur Validierung des implementierten Modells wurden Komponententests, Integrationstests, Systemtests und Abnahmetests gemäß dem V-Modell durchgeführt. Im V-Modell bildet der Komponententest die erste Stufe, bei der die Funktionsfähigkeit der einzelnen Komponenten innerhalb eines Moduls getestet wird. Die Tests wurden von einer anderen Gruppe durchgeführt, um sicherzustellen, dass möglicherweise übersehene Fehler von den Modulentwicklern erkannt werden. Die Gruppe Heizungsregelung HZR wurde für den Komponententest und den Integrationstest getestet. Um den Komponententest durchzuführen, wurden die Testfälle basierend die HZR geschriebene Komponentenspezifikation entwickelt. Dabei werden die Eingaben statt Signale hinzufügt und mit den Ausgaben bewertet, ob die erzielten Ergebnisse mit der Komponentenspezifikation übereinstimmen. Folgende Tabelle stellt der Komponententest für das Wasserspeicher | |||
''' | '''Warmwasserspeicher ''' | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
| align="center" style="background:#4472C4; color:white"|'''Testfall-ID''' | | align="center" style="background:#4472C4; color:white"|'''Testfall-ID''' | ||
Zeile 268: | Zeile 279: | ||
<br clear = all> | <br clear = all> | ||
Abbildung 9 stellt die Testumgebung für den Warmwasserspeicher. Die gelbe "Scope" mit entsprechenden Beschriftungen entspricht jeden Testfall. Das gilt auch für den Testumgebung vom Heizungsregler. | |||
[[Datei: Testfall_Warmwasserspeicher.png|thumb|left|1000px|Abbildung 9: Komponententest für den Warmwasserspeicher]]<br clear=all> | |||
'''Heizungsregler ''' | '''Heizungsregler ''' | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
Zeile 295: | Zeile 307: | ||
<br clear = all> | <br clear = all> | ||
Der Testumgebung ist in der Abbildung 10 zu sehen. | |||
[[Datei: Testfall_Heizungsregler.png|thumb|left|1000px|Abbildung 10: Komponententest für den Heizungsregler]]<br clear=all> | |||
== Integrationstest == | == Integrationstest == | ||
Nachdem der Komponententest durchgeführt wurde, wurde das Modell angepasst und wird der Integrationstest durchgeführt. Während der Komponententest die Funktionalität und Korrektheit jeder einzelnen Komponente überprüft, stellt der Integrationstest sicher, dass diese Komponenten erfolgreich zusammenarbeiten und ihre Funktionen im größeren System erfüllen können. Folgende Tabelle stellt der Integrationstest für die Gruppe HZR dar. | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
| align="center" style="background:#4472C4; color:white"|'''Testfall-ID''' | | align="center" style="background:#4472C4; color:white"|'''Testfall-ID''' | ||
Zeile 309: | Zeile 324: | ||
|- | |- | ||
| 001 || Keine Personen zu Hause|| LKT_aktuellerstatus=0 || Parameter laden ||Heizleistung = 0|| Heizleistung = 0|| i. O. | | 001 || Keine Personen zu Hause|| LKT_aktuellerstatus=0 || Parameter laden ||Heizleistung = 0|| Heizleistung = 0|| i. O. | ||
[[Datei:Testfall1_7.png|left|mini|300px|Abbildung | [[Datei:Testfall1_7.png|left|mini|300px|Abbildung 11: Testfall 001]] | ||
|- | |- | ||
| 002 || Mindestens eine Person zu Hause um 5 Uhr ||LKT_aktuellerstatus=1;LKT_aktuellesdatum=5;ISO_Isttemperatur_Haus=19 ||Parameter laden || Heizleistung > 0 || Heizleistung = 0 || n. i. O. | | 002 || Mindestens eine Person zu Hause um 5 Uhr ||LKT_aktuellerstatus=1;LKT_aktuellesdatum=5;ISO_Isttemperatur_Haus=19 ||Parameter laden || Heizleistung > 0 || Heizleistung = 0 || n. i. O. | ||
[[Datei:Testfall2_4.png|left|mini|300px|Abbildung | [[Datei:Testfall2_4.png|left|mini|300px|Abbildung 12: Testfall 002]] | ||
|- | |- | ||
| 003 || Mindestens eine Person zu Hause um 22 Uhr || LKT_aktuellerstatus=1;LKT_aktuellesdatum=22;ISO_Isttemperatur_Haus=14 || Parameter laden || Heizleistung > 0 || Heizleistung > 0|| i. O. | | 003 || Mindestens eine Person zu Hause um 22 Uhr || LKT_aktuellerstatus=1;LKT_aktuellesdatum=22;ISO_Isttemperatur_Haus=14 || Parameter laden || Heizleistung > 0 || Heizleistung > 0|| i. O. | ||
[[Datei:Testfall3_5.png|left|mini|300px|Abbildung | [[Datei:Testfall3_5.png|left|mini|300px|Abbildung 13: Testfall 003]] | ||
|- | |- | ||
| 004 || Ist Warmwasser Temperatur größer als Soll Warmwasser Temperatur - Hysterese ||ESP_Temperatur = 80; EEZ_Warmwasserleistung = 0. || Parameter laden || HZR_Warmwasserleistung=0; HZR_Warmwasserheizleistung_Waermepumpe=0 || HZR_Warmwasserleistung=0; HZR_Warmwasserheizleistung_Waermepumpe=0 || i. O. | | 004 || Ist Warmwasser Temperatur größer als Soll Warmwasser Temperatur - Hysterese ||ESP_Temperatur = 80; EEZ_Warmwasserleistung = 0. || Parameter laden || HZR_Warmwasserleistung=0; HZR_Warmwasserheizleistung_Waermepumpe=0 || HZR_Warmwasserleistung=0; HZR_Warmwasserheizleistung_Waermepumpe=0 || i. O. | ||
[[Datei:Testfall2_4.png|left|mini|300px|Abbildung | [[Datei:Testfall2_4.png|left|mini|300px|Abbildung 14: Testfall 004]] | ||
|- | |- | ||
| 005 || Ist Warmwasser Temperatur ungleich 0 und kleiner als Soll Warmwasser Temperatur + Hysterese und größer als Soll Warmwasser Temperatur-Hysterese; EEZ_Warmwasserleistung ungleich 0 || ESP_Temperatur = 70; EEZ_Warmwasserleistung = 1000 || Parameter laden || WHZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=800 ||HZR_Warmwasserleistung=1000; HZR_Warmwasserheizleistung_Waermepumpe=0|| n. i. O. | | 005 || Ist Warmwasser Temperatur ungleich 0 und kleiner als Soll Warmwasser Temperatur + Hysterese und größer als Soll Warmwasser Temperatur-Hysterese; EEZ_Warmwasserleistung ungleich 0 || ESP_Temperatur = 70; EEZ_Warmwasserleistung = 1000 || Parameter laden || WHZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=800 ||HZR_Warmwasserleistung=1000; HZR_Warmwasserheizleistung_Waermepumpe=0|| n. i. O. | ||
Zeile 324: | Zeile 339: | ||
|- | |- | ||
| 006 || Ist Warmwasser Temperatur kleiner als Soll Warmwasser Temperatur-Hysterese ||ESP_Temperatur = 60; EEZ_Warmwasserleistung = 1000. || Parameter laden|| HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=800 || HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=-800 || n. i. O. | | 006 || Ist Warmwasser Temperatur kleiner als Soll Warmwasser Temperatur-Hysterese ||ESP_Temperatur = 60; EEZ_Warmwasserleistung = 1000. || Parameter laden|| HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=800 || HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=-800 || n. i. O. | ||
[[Datei:Testfall6.png|left|mini|300px|Abbildung | [[Datei:Testfall6.png|left|mini|300px|Abbildung 15: Testfall 006]] | ||
|- | |- | ||
| 007|| Ist Warmwasser Temperatur = 0; EEZ_Warmwasserleistung = 0 ||ESP_Temperatur = 0; EEZ_Warmwasserleistung = 0. || Parameter laden|| HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=200|| HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=200 || i. O. | | 007|| Ist Warmwasser Temperatur = 0; EEZ_Warmwasserleistung = 0 ||ESP_Temperatur = 0; EEZ_Warmwasserleistung = 0. || Parameter laden|| HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=200|| HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=200 || i. O. | ||
[[Datei:Testfall1_7.png|left|mini|300px|Abbildung | [[Datei:Testfall1_7.png|left|mini|300px|Abbildung 16: Testfall 007]] | ||
|} | |} | ||
Zeile 333: | Zeile 348: | ||
== Systemtest == | == Systemtest == | ||
Nach dem Integrationstest und erneute Anpassung muss Systemtest durchgeführt wurde. Anschließend werden alle Modelle im Block "Auswertung" getestet und durch "scope" die Ergebnisse angezeigt. Folgende ist der Systemtest für alle Module. | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
| align="center" style="background:#4472C4; color:white"|'''Testfall-ID''' | | align="center" style="background:#4472C4; color:white"|'''Testfall-ID''' | ||
Zeile 347: | Zeile 362: | ||
|- | |- | ||
| 002 || Testen der Isolierungsfunktion || Parameter geladen, Simulation eines Zeitschritts || Überprüfung der ISO-Temperatur, ob Heizleistung gibt (ggf. Heizung funktioniert) || Wenn Heizung regelt die Temperatur, ISO_IstTemp soll HZR-Solltemperatur sich näheren || ISO_IstTemp nähert sich die HZR-Solltemperatur || i. O. | | 002 || Testen der Isolierungsfunktion || Parameter geladen, Simulation eines Zeitschritts || Überprüfung der ISO-Temperatur, ob Heizleistung gibt (ggf. Heizung funktioniert) || Wenn Heizung regelt die Temperatur, ISO_IstTemp soll HZR-Solltemperatur sich näheren || ISO_IstTemp nähert sich die HZR-Solltemperatur || i. O. | ||
[[Datei:Testfall002.png|left|mini|300px|Abbildung | [[Datei:Testfall002.png|left|mini|300px|Abbildung 17: Testfall 002]] | ||
|- | |- | ||
| 003 || Testen der Funktion der Heizleistung || Parameter geladen, Simulation eines Zeitschritts || Testen im Winter ob Heizung funktioniert (ggf. Heizleistung gibt) || Wenn LKT_Temp kleiner als HZR-Solltemperatur ist, soll die Heizleistung erhöht werden und wenn Solltemperatur erreicht, bleibt die Heizleistung konstant. || Am Anfang passt das Ergebnis, dann bei reduzierter Temperatur gibt es keine Heizleistung mehr und wieder steigert || n. i. O. | | 003 || Testen der Funktion der Heizleistung || Parameter geladen, Simulation eines Zeitschritts || Testen im Winter ob Heizung funktioniert (ggf. Heizleistung gibt) || Wenn LKT_Temp kleiner als HZR-Solltemperatur ist, soll die Heizleistung erhöht werden und wenn Solltemperatur erreicht, bleibt die Heizleistung konstant. || Am Anfang passt das Ergebnis, dann bei reduzierter Temperatur gibt es keine Heizleistung mehr und wieder steigert || n. i. O. | ||
[[Datei:Testfall003.png|left|mini|300px|Abbildung | [[Datei:Testfall003.png|left|mini|300px|Abbildung 18: Testfall 003]] | ||
|- | |- | ||
| 004 || Testen der erzeugte Solarenergie || Parameter geladen. || Simulation eines Zeitschritts || Die Energie nimmt am Tag zu und nimmt am Nacht ab || Die Energie nimmt am Tag zu und nimmt am Nacht ab || i. O. | | 004 || Testen der erzeugte Solarenergie || Parameter geladen. || Simulation eines Zeitschritts || Die Energie nimmt am Tag zu und nimmt am Nacht ab || Die Energie nimmt am Tag zu und nimmt am Nacht ab || i. O. | ||
[[Datei:Testfall004.png|left|mini|300px|Abbildung | [[Datei:Testfall004.png|left|mini|300px|Abbildung 19: Testfall 004]] | ||
|- | |- | ||
| 005 || Testen der Wassertemperatur || Parameter geladen. || Simulation eines Zeitschritts ||Wassertemperatur nimmt zu und ab. || Wassertemperatur reduziert von 0 Grad bis -6000 Grad und nimmt zu. || n. i. O. | | 005 || Testen der Wassertemperatur || Parameter geladen. || Simulation eines Zeitschritts ||Wassertemperatur nimmt zu und ab. || Wassertemperatur reduziert von 0 Grad bis -6000 Grad und nimmt zu. || n. i. O. | ||
[[Datei:Testfall005.png.png|left|mini|300px|Abbildung | [[Datei:Testfall005.png.png|left|mini|300px|Abbildung 20: Testfall 005]] | ||
|- | |- | ||
| 006 || Testfall für das Block HZT || Parameter geladen. || Vergleich HZR_Leistung und HZT_Verbrauchteleistung|| Wenn Tempertaur -10 Grad und HZR_Heizleistung = 2400 W ist, HZT_VerbrauchteLeistung = 2400W/1.7=1412W || HZT_VerbrauchteLeistung =1412W (Aus der Abbildung ist ungefähr so) || i. O. | | 006 || Testfall für das Block HZT || Parameter geladen. || Vergleich HZR_Leistung und HZT_Verbrauchteleistung|| Wenn Tempertaur -10 Grad und HZR_Heizleistung = 2400 W ist, HZT_VerbrauchteLeistung = 2400W/1.7=1412W || HZT_VerbrauchteLeistung =1412W (Aus der Abbildung ist ungefähr so) || i. O. | ||
[[Datei:Testfall006.png|left|mini|300px|Abbildung | [[Datei:Testfall006.png|left|mini|300px|Abbildung 21: Testfall 006]] | ||
|} | |} | ||
Zeile 365: | Zeile 380: | ||
== Fazit == | == Fazit == | ||
Im Sommersemester 2023 | Im Sommersemester 2023 lag der Fokus der Seminaraufgabe auf der Simulation des Energiehaushalts eines Hauses. Dieses Projekt wurde zu sechs Gruppen verteilt, die sich mit verschiedenen Teilen des Hauses beschäftigten. Jede Gruppe widmete sich einem bestimmten Bereich, darunter Lastkollektive, Energieerzeugung, Energiespeicherung, Heizungssteuerung, Heizungs- und Klimatechnik und die Dämmeigenschaften des Hauses. | ||
Um ein strukturiertes Vorgehen zu gewährleisten, wurde zum Beginn des Seminars das V-Modell als Rahmen gewählt. Nach diesem Modell beschrieben die Studierenden zunächst die Anforderungen an das Endprodukt, die im weiteren Verlauf der Entwicklung schrittweise konkretisiert wurden. In der Implementierungsphase setzten die Studierenden die detaillierten Anforderungen mit MATLAB Simulink in Modelle um. | |||
Nach der Modellierung folgten umfangreiche Testphasen, darunter Komponententests, Integrationstests und Systemtests. Dabei wurden die einzelnen Modelle und Komponenten von den verschiedenen Gruppen getestet, um die Funktionalität und Zuverlässigkeit des Gesamtsystems sicherzustellen. Diese Vorgehensweise ermöglichte es den Gruppen, potenzielle Fehler und Schwachstellen frühzeitig zu erkennen und entsprechende Anpassungen vorzunehmen. | |||
Die Verwendung von SVN (Subversion) zur Datei- und Projektversionierung erleichterte die Dokumentation und Archivierung des gesamten Projekts. Dadurch konnten die Studierenden effizient Dateien verwalten und auf frühere Versionen zugreifen, was zur transparenten Nachvollziehbarkeit des Entwicklungsprozesses beitrug. | |||
Die Studierenden konnten wertvolle Erfahrungen sammeln, indem sie das V-Modell in der Praxis anwandten und ihre Kenntnisse in MATLAB/Simulink vertieften. Diese Erfahrungen werden ihnen in ihrer zukünftigen Arbeit äußerst nützlich sein und ihnen eine solide Basis für kommende Projekte bieten. | |||
== Literaturverzeichnis == | == Literaturverzeichnis == |
Aktuelle Version vom 13. Juli 2023, 13:04 Uhr
Autoren: Asmaa Kachout-Aarourou; Lihui Liu
Betreuer: Prof. Dr.-Ing. M. Göbel
→ zum Hauptartikel: Systems Design Engineering - Seminaraufgabe SoSe 2023: Energiehaushalt eines Hauses
Einleitung
Im Sommersemester 2023 im Rahmen der Lehrveranstaltung Systems Design Engineering im Masterstudiengang Business and Systems Engineering soll ein Modell für den Energiehaushalt eines Hauses entwickelt werden. Das Gesamtsystem wird in sechs Module unterteilt:
- Lastkollektiv
- Energieerzeugung
- Energiespeicherung
- Heizungsregelung
- Heiz- und Klimatechnik
- Isolationseigenschaften des Hauses
Die Gruppe Kachout/Liu bearbeiten mit dem Modul Energiespeicher (kurz: ESP).
Zielsetzung der Seminaraufgabe
Das Ziel dieser Seminaraufgabe besteht darin, dass die Studierenden mithilfe der Vorgehensweise des V-Modells die Simulation eines Hauses mit Solaranlage in MATLAB/Simulink durchführen. Die sechs aufgeteilten Systeme sollen miteinander kommunizieren können. Dadurch haben die Studierenden die Möglichkeit, ihre Kenntnisse im Bereich des Energiehaushalts eines Hauses sowie der Software MATLAB/Simulink zu vertiefen.
V-Modell
Das V-Modell wird in der Softwareentwicklung häufig angewendet. Die Schritte auf der linken Seite des V-Modells umfassen die Spezifikations- und Designphase, während sich die Schritte auf der rechten Seite auf die Umsetzung und Testphase konzentrieren. Diese Phasen sind aufeinander aufbauend und führen zur Entstehung eines vollständigen Systems.
Die Durchführung der Seminaraufgabe basierend auf dem V-Modell ist in Abbildung 2 wie folgt aufgeteilt:
- Anforderungsdefinition
- Funktionaler Systementwurf
- Technischer Systementwurf
- Komponentenspezifikation
- Programmierung/Modellierung
- Komponententest
- Integrationstest
- Systemtest
Anforderungsdefinition: Lastenheft
Zum Projektbeginn wurden die Anforderungen im Lastenheft in Form einer detaillierten Excel-Tabelle festgelegt. Das Lastenheft beinhaltet sowohl Informationen als auch konkrete Anforderungen. Die Informationen sind in verschiedene Kapitel untergliedert, wie beispielsweise Stromspeicherung, Art des Batteriespeichers, Speicherregelung, Schnittstellen, Software/Werkzeuge, Dokumentation und Wasserkollektor. Jedes Kapitel enthält spezifische Anforderungen, die als direkte Vorgaben formuliert sind. Für eine visuelle Darstellung siehe Abbildung 3.
Funktionaler Systementwurf
Der funktionale Systementwurf war im Sommersemester 2023 kein Bestandteil der Gruppenaufgabe und wurde von Prof. Dr. Göbel bereitgestellt
Technischer Systementwurf
Der technische Systementwurf wurde zunächst gemäß der Darstellung in Abbildung 4 skizziert. Anschließend wurde dieser Entwurf in Matlab/Simulink umgesetzt, wie in die 5 und 6 Abbildung zu sehen ist. Dabei wurden verschiedene Aspekte und Elemente berücksichtigt, die für die Gestaltung und Entwicklung der beiden Systeme, nämlich des Energiespeichers und des Wassertemperaturspeichers, notwendig sind. Im Rahmen des technischen Systementwurfs wurde die Gesamtstruktur des Systems detailliert beschrieben, ebenso wie die Beziehungen zwischen den verschiedenen Modulen.
Komponentenspezifikation
Nach dem technischen Systementwurf werden die einzelnen Komponenten detailliert spezifiziert. In den Spezifikationen wird ihre Funktionen beschrieben und wie die Komponenten umgesetzt werden sollen. Die Komponentenspezifikation werden nach der Erstellung mit der Durchführung des Projekts ständig angepasst. Folgende stellt die Komponenten und deren zu durchführenden Funktionen sowie für die Implementierung die benötigt Parameter dar.
Solarmanager
Eingänge
- EEZ_PVleistungAC [W]
- ESP_Bateriezustand [%]
- LKT_Stromverbrauch [Ws]
- HZT_verbrauchte_Leistung [Ws]
Ausgänge
- ESP_Stromnetz [W]
- ESP_Verbrauch [%]
Parameter
- PAR_SMWirkungsgrad [%]
ID | Kapitel | Inhalt | Ersteller | Datum |
1 | Tag mit Sonneneinstrahlung: Der Laderegler erkennt, dass die Sonneneinstrahlung ausreicht, um den Stromverbrauch zu decken und die Batterie aufzuladen: Eingänge EEZ_PVleistungAC > LKT_LeistunglVerbrauch+HZT_LeistunglVerbrauch--> Ausgang : Verbrauch=LKT_LeistunglVerbrauch+HZT_LeistunglVerbrauch | Kachout, Liu | 13.05.2023 | |
2 | Tag ohne Sonneneinstrahlung: Da keine Sonneneinstrahlung vorhanden ist und der Stromverbrauch höher ist als die Batterieleistung, erkennt der Laderegler, dass der Strom aus dem Netz bezogen werden muss Eingänge: EEZ_PVleistungAC < LKT_LeistunglVerbrauch+HZT_LeistunglVerbrauch--> Ausgang : Verbrauch aus Netz=LKT_LeistunglVerbrauch+HZT_LeistunglVerbrauch | Kachout, Liu | 13.05.2023 | |
3 | Tag mit Sonneneinstrahlung:Der Laderegler erkennt, dass die Batterie bereits vollständig aufgeladen ist, der Stromverbrauch sehr niedrig ist. In diesem Fall wird der überschüssige Strom ins Netz eingespeist Eingänge: EEZ_PVLeistung >LKT_LeistunglVerbrauch+HZT_LeistunglVerbrauch und EEZ_PVLeistung > BatterieZustand Ausgänge : Verbrauch=LKT_LeistunglVerbrauch+HZT_LeistunglVerbrauch und Netz: EEZ_PVLeistung - (LKT_LeistunglVerbrauch+HZT_LeistunglVerbrauch) | Kachout, Liu | 13.05.2023 |
Akku
Eingänge
- EEZ_PVleistungAC [W]
Ausgänge
- ESP_BatterieZustand
Parameter
- PAR_BTWirkungsgrad [%]
- PAR_ESP_Batteriekapazität [Ws]
- PAR_ESP_DoD [%]
- PAR_ESP_SoC [%]
ID | Kapitel | Inhalt | Ersteller | Datum |
1 | Die Batteriekapazität stellt mit dem konstant 7 kWh dar | Kachout, Liu | 08.05.2023 | |
2 | P=E/t --> Leistung [w] in Energie Umwandeln [Wh] | Kachout, Liu | 08.05.2023 | |
3 | Die Energiespeicherung in Akku stellt mit dem Integrator dar | Kachout, Liu | 08.05.2023 | |
4 | Akku muss mit Saturation verbunden werden, um die grenzen von Akkukapazität zu bestimmen | Kachout, Liu | 08.05.2023 | |
5 | Wirkungsgrad von der Batterie (LiFePO4-Akkus) | Kachout, Liu | 08.05.2023 | |
6 | Depth of Discharge: 80% (LiFePO4-Akkus) d.h. Max. Ladung ist 20160000 [Ws] | Kachout, Liu | 28.05.2023 | |
7 | State of Charge: 20% (LiFePO4-Akkus) d.h. Max Entladung= 5040000 ws --> wenn die Batteriezustand auf 5040000 [Ws] ist "Batterie leer" | Kachout, Liu | 28.05.2023 |
Warmwasserspeicher
Eingänge
- HZR_Heizleistung[W]
Ausgänge
- ESP_WarmwasserTemperatur[°C]
Parameter
- PAR_ESP_Wärmekap(Wärmekapazität von Wasser)[J/(g*K)]
- PAR_ESP_VolumenWarmwasser [m^3]
- PAR_ESP_Anfangstemperatur [°C]
- PAR_ESP_Wasserdichte[kg/m^3]
- PAR_ESP_WLF_EPS W/(mK)
- PAR_ESP_Heizfläche [m^2]
- PAR_ESP_ISO_Dicke [m]
ID | Kapitel | Inhalt | Ersteller | Datum |
1 | Der Eingang HZR_Heizleistung soll durch Saturation begrenzt werden | Kachout, Liu | 08.05.2023 | |
2 | Die zugeführte Wärmeenergie besteht aus die Leistung aus Heizung und Wärmeverluste | Kachout, Liu | 08.05.2023 | |
3 | Die zugeführte Wärmeenergie ist durch Integrator der Leistung berechnet werden | Kachout, Liu | 08.05.2023 | |
4 | Umrechnung von zugeführter Leistung in Temperaturanstieg des Wassers durch die Formel: ∆T=Q/(m∙c) | Kachout, Liu | 08.05.2023 | |
5 | Durch die Formel: Q=(λ∙A∙∆T)/d wird die verlorene Wärme berechnet | Kachout, Liu | 13.05.2023 | |
6 | Die berechnete Temperatur werden von Kelvin zum Grad umgewandelt werden | Kachout, Liu | 13.05.2023 | |
7 | Der Ausgang ist die Summe zwischen Anfangstemperatur und Temperaturdifferenz in Grad | Kachout, Liu | 13.05.2023 |
Programmierung / Modellierung
Bei der Programmierung werden die Komponenten gemäß den zuvor definierten Spezifikationen umgesetzt. Die Implementierung erfolgt im bereits erstellten Simulink-Modell, das für den technischen Systementwurf entwickelt wurde. Die verwendeten Parameter werden separat in einer Matlab-Datei zusammengefasst und beim Start des Modells aufgerufen, um die entsprechenden Konstanten im Workspace zu erstellen.
Warmwasserspeicher
Abbildung 7 stellt die Implementierung des Warmwasserspeichers in Simulink dar.
Für die Simulation des Warmwasserspeichers wurde das Modell FlexTherm Duo des Herstellers Flamco als Beispiel verwendet[3] verwenet.
Die Gruppe HZR stellt die Warmwasserheizleistung für den Warmwasserspeicher bereit, die als Eingang fungiert. Die Leistung P wird mithilfe eines Integrators zur integrierten zugeführten Wärme erfasst. Zur Berechnung der Temperaturdifferenz wird die folgende Formel verwendet:
steht für die spezifische Wärmekapizität. Die Wärmekapizität von Wasser ist .
Um die Einheiten konsistent zu halten, wurde die Wärmekapizität in Parameter.m als gegeben.
repräsentiert die Masse des zu erwärmenden Wassers. Die Masse können durch die Formel berechnet werden: .
ist die Wasserdichte und beträgt 1 kg/m3
.
Das Wasservolumen wird in Litern angegeben, aber für die Einheitsumwandlung wird es durch 1000 geteilt, um es in m³ umzurechnen.
Anschließend wird die anfängliche Temperatur (Annahme: 10 Grad) mit dieser Temperaturdifferenz addiert. Das Ergebnis wird als Ausgang ESP_Warmwassertemperatur ausgegeben und anderen Gruppen zur Verfügung gestellt.
Es gibt gewiss Wärmeverluste in einem Warmwasserspeicher. Die folgende Formel ist zur Berechnung der verlorene Wärme:
.
ist der Wärmefluss der Isolierung.
ist die Wärmeleitfähigkeit des Isoliermaterials. Laut dem Datenblatt von FlexTherm Duo wird Polystyrol als Isoliermaterial verwendet. In der FSDE[4] liegt die Wärmeleitfähigkeit von expandiertem Polystyrol zwischen 0,032 und 0,040 Watt pro Meter und Kelvin. Im Simulink wird die Parameter mit dem Name PAR_WLF_EPS = 0,032 angegeben.
ist die Fläche der Isolierung. Gemäß dem Datenblatt beträgt die Heizfläche 0,5 m2.
ist die Temperaturdifferenz zwischen dem Warmwasserspeicher und der Umgebung, die bereits berechnet wurde.
ist die Dicke der Isolierungsschicht. Im Datenblatt wird die Isolierungsdicke mit 0,08 m angegeben.
Nachdem die verlorene Wärme berechnet wurden, wird sie durch den Block Add mit "+-" mit der Warmwasserheizleistung der Gruppe HZR ausgeglichen.
Energiespeicher
Das Ziel des entwickelten Systems " Energiespeicher" ist die effiziente Nutzung der von der Photovoltaikanlage (EEZ-Gruppe) erzeugten Energie. Es erfüllt zwei Hauptfunktionen: die Versorgung des Hauses mit der erzeugten Energie und die Speicherung überschüssiger Energie in einer Batterie für die spätere Nutzung, insbesondere am Abend, wenn die Sonneneinstrahlung abnimmt. Darüber hinaus wurde das System simuliert, um Situationen zu berücksichtigen, in denen die PV-Anlage keinen Strom erzeugt.
In diesen Fällen ist das System auf das Netz angewiesen, um die erforderliche Energie zu liefern. Dadurch wird sichergestellt, dass der Energiebedarf des Hauses kontinuierlich gedeckt wird, auch wenn die PV-Anlage keinen Strom erzeugt. Sobald die PV-Anlage jedoch genügend Energie erzeugt und die Batterie voll aufgeladen ist, kann überschüssiger Strom in das Netz eingespeist werden. Um diese Funktionalitäten zu optimieren, wurde das System mithilfe von MATLAB Simulink simuliert. Die simulierten Ergebnisse in Abbildung 8 bieten einen Einblick in den Betrieb des Systems.
Solarmanager
Der Solarmanager oder Solarregler wurde so programmiert, dass er die drei unten genannten Szenarien berücksichtigt: Im ersten Szenario, wenn ausreichende Sonneneinstrahlung vorhanden ist, analysiert der Solarmanager die PV-Leistung und teilt den erzeugten Strom entsprechend auf. Ein Teil der Energie wird in die Batterie geleitet, um sie aufzuladen und für Zeiten ohne Sonneneinstrahlung vorzubereiten. Der andere Teil des erzeugten Stroms wird direkt dem Verbrauch zur Verfügung gestellt, um die elektrischen Geräte zu betreiben. Der Solarregler überwacht kontinuierlich die Sonneneinstrahlung, um sicherzustellen, dass die Batterie angemessen geladen wird und der Verbrauch abgedeckt ist.
Im zweiten Szenario, wenn keine Sonneneinstrahlung vorhanden ist und die Batterie leer ist, erkennt der Solarregler automatisch die Fehlende PV-Leistung. In dieser Situation schaltet der Solarregler nahtlos auf den Netzbezug um, um den benötigten Strom für den Verbrauch bereitzustellen. Durch diese Umschaltung wird ein unterbrechungsfreier Betrieb sichergestellt, obwohl keine Solarenergie verfügbar ist.
Im dritten Szenario, wenn die Batterie bereits vollständig aufgeladen ist und gleichzeitig Sonneneinstrahlung vorhanden ist, erfasst der Solarregler den Ladezustand der Batterie sowie die aktuelle PV-Leistung. Bei überschüssigem Strom aus der PV-Anlage wird dieser erkannt und gesteuert. Der Solarregler leitet den überschüssigen Strom in das Stromnetz, um anderen Verbrauchern zur Verfügung zu stehen.
Folgende stelle die Code für die Funktion "Solarmanager" dar.
function [NetzOut, NetzIn,BT_laden, verbrauch]= fcn(PV_P, P_Soll,BT_Zustand) a = P_Soll ; if PV_P == a % 1 Szenario: Sonniger Tag verbrauch = a; BT_laden = 0 ; NetzOut=0; NetzIn=0; elseif PV_P > 20160000 %1.Szenario: Ein sehr Sonniger Tag verbrauch = a ; rest = PV_P - 20160000 ; BT_laden = rest ; NetzOut=PV_P-rest; NetzIn=0; elseif PV_P == 0 & BT_Zustand >a %2. Szenario: keine Sonneneinstrahlung aber Batterie Voll verbrauch = a; BT_Zustand= BT_Zustand-a; NetzIn=0; NetzOut=0; BT_laden = 0 ; elseif PV_P == 0 & BT_Zustand < a %2.Szenario: keine Sonneneinstrahlungen und Batterie ist leer, dann Strom aus dem Netz bezogen NetzIn=a; verbrauch = NetzIn; NetzOut=0; BT_laden = 0 ; else PV_P > a & BT_Zustand == 0 %3.Szenario: Sonniger Tag und Batterie ist Voll , dann Strom ins Netz einspeisen verbrauch= a NetzOut= 0; BT_laden = PV_P-a NetzIn= 0 end
Batterie
Für das entwickelte System wurde ein Lithium-Eisenphosphat-Akku ausgewählt, da diese Art von Batterie bekannt für ihre hohe Leistungsfähigkeit und Zuverlässigkeit ist. Der Akku weist einen beeindruckenden Wirkungsgrad von 95,3% auf, was bedeutet, dass nur eine geringe Menge an Energieverlust beim Laden und Entladen auftritt.[5]
Zusätzlich wurden spezifische Batterieparameter festgelegt. Die Depth of Discharge (DoD) des Akkus beträgt 80%. Das bedeutet, dass der Akku bis zu 80% seiner Kapazität entladen werden kann, bevor er wieder aufgeladen werden muss. Diese Einstellung ermöglicht eine effektive Nutzung des Batteriespeichers.
Der State of Charge (SoC) des Akkus beträgt 20%. Dies bedeutet, dass immer ein Minimum von 20% der Akkukapazität beim Entladen in der Batterie verbleiben soll. Dieses Vorgehen zielt darauf ab, die Lebensdauer des Akkus zu maximieren und eine Tiefentladung zu vermeiden, die den Akku beschädigen könnte. [6]
Komponententest
Zur Validierung des implementierten Modells wurden Komponententests, Integrationstests, Systemtests und Abnahmetests gemäß dem V-Modell durchgeführt. Im V-Modell bildet der Komponententest die erste Stufe, bei der die Funktionsfähigkeit der einzelnen Komponenten innerhalb eines Moduls getestet wird. Die Tests wurden von einer anderen Gruppe durchgeführt, um sicherzustellen, dass möglicherweise übersehene Fehler von den Modulentwicklern erkannt werden. Die Gruppe Heizungsregelung HZR wurde für den Komponententest und den Integrationstest getestet. Um den Komponententest durchzuführen, wurden die Testfälle basierend die HZR geschriebene Komponentenspezifikation entwickelt. Dabei werden die Eingaben statt Signale hinzufügt und mit den Ausgaben bewertet, ob die erzielten Ergebnisse mit der Komponentenspezifikation übereinstimmen. Folgende Tabelle stellt der Komponententest für das Wasserspeicher
Warmwasserspeicher
Testfall-ID | Testfall-Name | Vorbedingungen und Eingänge | Aktionen | Erwartetes Ergebnis | Ergebnis | Bewertung | Kommentar |
001 | Testeingänge: ESP_Warmwassertemperatur= 40; | Parameter geladen | Simulation eines Zeitschritts | ESP_Warmwassertemperatur= 40 ist kleiner als (PAR_HZR_Wassertemp_Soll = 70+PAR_HZR_Wassertemp_Hysterese=5); Beim Vergleich ist Test case 1 result 1 = 0, Test case 1 result 2 = 0 | Test case 1 result 1 = 0, Test case 1 result 2 = 0 | i. O. | |
002 | Testeingänge: ESP_Warmwassertemperatur= 90; | Parameter geladen | Simulation eines Zeitschritts | HZR_Warmwasserheizleistung = 0 | HZR_Warmwasserheizleistung = 0 | i. O. | |
003 | Testeingänge: ESP_Warmwassertemperatur= 40; | Parameter geladen | Simulation eines Zeitschritts | HZR_Warmwasserheizleistung = 200 W | HZR_Warmwasserheizleistung = 200 W | i. O. | |
004 | Testeingänge: ESP_Warmwassertemperatur= 60; EEZ_Warmwasserleistung = 80 | Parameter geladen | Simulation eines Zeitschritts | EEZ_Warmwasserleistung = 80 > 0, Vergleichsergebnis in Test case 4 ist 1 als true | Test case 4 =1 | siehe Kommentar | Wie difiniert man den akzeptablen Bereich |
005 | Testeingänge: ESP_Warmwassertemperatur= 60; | Parameter geladen | Simulation eines Zeitschritts | Wenn Ist Temperatur = 60, soll geheizt werden, Test case 5 soll 200 sein; Wenn Ist Temperatur = 100, soll geheizt werden, Test case 5 soll 0 sein | Ist Temperatur = 60, Test case 5 = 200 sein; Ist Temperatur = 100, Test case 5 = 0 | i. O. | |
006 | Testeingänge: ESP_Warmwassertemperatur= 60; ESP_Warmwassertemperatur= 80; | Parameter geladen | Simulation eines Zeitschritts | HZR_Warmwasserheizleistung 200 W - ESP_Warmwassertemperatur 80 = HZR_Warmwasserheizleistung_Waermepumpe 120 W | HZR_Warmwasserheizleistung_Waermepumpe = 120 W | i. O. |
Abbildung 9 stellt die Testumgebung für den Warmwasserspeicher. Die gelbe "Scope" mit entsprechenden Beschriftungen entspricht jeden Testfall. Das gilt auch für den Testumgebung vom Heizungsregler.
Heizungsregler
Testfall-ID | Testfall-Name | Vorbedingungen und Eingänge | Aktionen | Erwartetes Ergebnis | Ergebnis | Bewertung | Kommentar |
001 | Testeingänge:Testeingänge: LKT_aktuellerStatus:people = 0; LKT_aktuellesDatum=12:34; ISO_Isttemperatur_Haus = 9 | Parameter geladen | Simulation eines Zeitschritts | Test case1 Comparing result1 = 0; Test case1 Comparing result2 = 0; | Test case1 Comparing result1 = 0; Test case2 Comparing result2 = 1; | n.i.O. | |
002 | Testeingänge: LKT_aktuellerStatus:people = 0; LKT_aktuellesDatum=12:34; ISO_Isttemperatur_Haus = 9 | Parameter geladen | Simulation eines Zeitschritts | Für niemand zu Haus soll Test case2 Comparing result3 = 0; Test case2 Solltemperatur = PAR_HZR_Minimaltemperatur = 16 | Für niemand zu Haus soll Test case2 Comparing result3 = 0; Test case2 Solltemperatur = PAR_HZR_Minimaltemperatur = 16 | i. O. | |
003 | Testeingänge: LKT_aktuellerStatus:people = 0; LKT_aktuellesDatum=12:34; ISO_Isttemperatur_Haus = 9 | Parameter geladen | Simulation eines Zeitschritts | aktuelle Zeit ist 12:34, ist kleiner als start daytime, größer als end daytime, Test case3 Comparing result4 = 1 | Test case3 Comparing result4 = 1 | i. O. | |
004 | Testeingänge: LKT_aktuellerStatus:people = 0; LKT_aktuellesDatum=12:34; ISO_Isttemperatur_Haus = 9 | Parameter geladen | Simulation eines Zeitschritts | Test case 4 Regeldifferenz = Solltemperatur - Isttemperatur = 16 - 9 = 7 | Test case 4 Regeldifferenz = 7 | i.O | |
005 | Testeingänge: LKT_aktuellerStatus:people = 0; LKT_aktuellesDatum=12:34; ISO_Isttemperatur_Haus = 9 | Parameter geladen | Simulation eines Zeitschritts | Test case5 PID resultierende Heizleistung = 77 | Test case5 PID resultierende Heizleistung = 77 | i. O. | |
006 | Testeingänge: LKT_aktuellerStatus:people = 0; LKT_aktuellesDatum=12:34; ISO_Isttemperatur_Haus = 9 | Parameter geladen | Simulation eines Zeitschritts | Mit Scope zu sehen, Solltemperatur ohne Hysterese | Solltemperatur ohne Hysterese | i. O. |
Der Testumgebung ist in der Abbildung 10 zu sehen.
Integrationstest
Nachdem der Komponententest durchgeführt wurde, wurde das Modell angepasst und wird der Integrationstest durchgeführt. Während der Komponententest die Funktionalität und Korrektheit jeder einzelnen Komponente überprüft, stellt der Integrationstest sicher, dass diese Komponenten erfolgreich zusammenarbeiten und ihre Funktionen im größeren System erfüllen können. Folgende Tabelle stellt der Integrationstest für die Gruppe HZR dar.
Testfall-ID | Testfall-Name | Vorbedingungen und Eingänge | Aktionen | Erwartetes Ergebnis | Ergebnis | Bewertung | Kommentar |
001 | Keine Personen zu Hause | LKT_aktuellerstatus=0 | Parameter laden | Heizleistung = 0 | Heizleistung = 0 | i. O. | |
002 | Mindestens eine Person zu Hause um 5 Uhr | LKT_aktuellerstatus=1;LKT_aktuellesdatum=5;ISO_Isttemperatur_Haus=19 | Parameter laden | Heizleistung > 0 | Heizleistung = 0 | n. i. O. | |
003 | Mindestens eine Person zu Hause um 22 Uhr | LKT_aktuellerstatus=1;LKT_aktuellesdatum=22;ISO_Isttemperatur_Haus=14 | Parameter laden | Heizleistung > 0 | Heizleistung > 0 | i. O. | |
004 | Ist Warmwasser Temperatur größer als Soll Warmwasser Temperatur - Hysterese | ESP_Temperatur = 80; EEZ_Warmwasserleistung = 0. | Parameter laden | HZR_Warmwasserleistung=0; HZR_Warmwasserheizleistung_Waermepumpe=0 | HZR_Warmwasserleistung=0; HZR_Warmwasserheizleistung_Waermepumpe=0 | i. O. | |
005 | Ist Warmwasser Temperatur ungleich 0 und kleiner als Soll Warmwasser Temperatur + Hysterese und größer als Soll Warmwasser Temperatur-Hysterese; EEZ_Warmwasserleistung ungleich 0 | ESP_Temperatur = 70; EEZ_Warmwasserleistung = 1000 | Parameter laden | WHZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=800 | HZR_Warmwasserleistung=1000; HZR_Warmwasserheizleistung_Waermepumpe=0 | n. i. O. | |
006 | Ist Warmwasser Temperatur kleiner als Soll Warmwasser Temperatur-Hysterese | ESP_Temperatur = 60; EEZ_Warmwasserleistung = 1000. | Parameter laden | HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=800 | HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=-800 | n. i. O. | |
007 | Ist Warmwasser Temperatur = 0; EEZ_Warmwasserleistung = 0 | ESP_Temperatur = 0; EEZ_Warmwasserleistung = 0. | Parameter laden | HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=200 | HZR_Warmwasserleistung=200; HZR_Warmwasserheizleistung_Waermepumpe=200 | i. O. |
Systemtest
Nach dem Integrationstest und erneute Anpassung muss Systemtest durchgeführt wurde. Anschließend werden alle Modelle im Block "Auswertung" getestet und durch "scope" die Ergebnisse angezeigt. Folgende ist der Systemtest für alle Module.
Testfall-ID | Testfall-Name | Vorbedingungen und Eingänge | Aktionen | Erwartetes Ergebnis | Ergebnis | Bewertung | Kommentar |
001 | Funktionalität der Blöcke | Parameter geladen und Signale definiert. | Funktionstest | Programm zeigt keine Fehlermeldungen | Programm zeigt keine Fehlermeldungen | i. O. | |
002 | Testen der Isolierungsfunktion | Parameter geladen, Simulation eines Zeitschritts | Überprüfung der ISO-Temperatur, ob Heizleistung gibt (ggf. Heizung funktioniert) | Wenn Heizung regelt die Temperatur, ISO_IstTemp soll HZR-Solltemperatur sich näheren | ISO_IstTemp nähert sich die HZR-Solltemperatur | i. O. | |
003 | Testen der Funktion der Heizleistung | Parameter geladen, Simulation eines Zeitschritts | Testen im Winter ob Heizung funktioniert (ggf. Heizleistung gibt) | Wenn LKT_Temp kleiner als HZR-Solltemperatur ist, soll die Heizleistung erhöht werden und wenn Solltemperatur erreicht, bleibt die Heizleistung konstant. | Am Anfang passt das Ergebnis, dann bei reduzierter Temperatur gibt es keine Heizleistung mehr und wieder steigert | n. i. O. | |
004 | Testen der erzeugte Solarenergie | Parameter geladen. | Simulation eines Zeitschritts | Die Energie nimmt am Tag zu und nimmt am Nacht ab | Die Energie nimmt am Tag zu und nimmt am Nacht ab | i. O. | |
005 | Testen der Wassertemperatur | Parameter geladen. | Simulation eines Zeitschritts | Wassertemperatur nimmt zu und ab. | Wassertemperatur reduziert von 0 Grad bis -6000 Grad und nimmt zu. | n. i. O. | |
006 | Testfall für das Block HZT | Parameter geladen. | Vergleich HZR_Leistung und HZT_Verbrauchteleistung | Wenn Tempertaur -10 Grad und HZR_Heizleistung = 2400 W ist, HZT_VerbrauchteLeistung = 2400W/1.7=1412W | HZT_VerbrauchteLeistung =1412W (Aus der Abbildung ist ungefähr so) | i. O. |
Fazit
Im Sommersemester 2023 lag der Fokus der Seminaraufgabe auf der Simulation des Energiehaushalts eines Hauses. Dieses Projekt wurde zu sechs Gruppen verteilt, die sich mit verschiedenen Teilen des Hauses beschäftigten. Jede Gruppe widmete sich einem bestimmten Bereich, darunter Lastkollektive, Energieerzeugung, Energiespeicherung, Heizungssteuerung, Heizungs- und Klimatechnik und die Dämmeigenschaften des Hauses.
Um ein strukturiertes Vorgehen zu gewährleisten, wurde zum Beginn des Seminars das V-Modell als Rahmen gewählt. Nach diesem Modell beschrieben die Studierenden zunächst die Anforderungen an das Endprodukt, die im weiteren Verlauf der Entwicklung schrittweise konkretisiert wurden. In der Implementierungsphase setzten die Studierenden die detaillierten Anforderungen mit MATLAB Simulink in Modelle um.
Nach der Modellierung folgten umfangreiche Testphasen, darunter Komponententests, Integrationstests und Systemtests. Dabei wurden die einzelnen Modelle und Komponenten von den verschiedenen Gruppen getestet, um die Funktionalität und Zuverlässigkeit des Gesamtsystems sicherzustellen. Diese Vorgehensweise ermöglichte es den Gruppen, potenzielle Fehler und Schwachstellen frühzeitig zu erkennen und entsprechende Anpassungen vorzunehmen.
Die Verwendung von SVN (Subversion) zur Datei- und Projektversionierung erleichterte die Dokumentation und Archivierung des gesamten Projekts. Dadurch konnten die Studierenden effizient Dateien verwalten und auf frühere Versionen zugreifen, was zur transparenten Nachvollziehbarkeit des Entwicklungsprozesses beitrug.
Die Studierenden konnten wertvolle Erfahrungen sammeln, indem sie das V-Modell in der Praxis anwandten und ihre Kenntnisse in MATLAB/Simulink vertieften. Diese Erfahrungen werden ihnen in ihrer zukünftigen Arbeit äußerst nützlich sein und ihnen eine solide Basis für kommende Projekte bieten.
Literaturverzeichnis
- ↑ https://www.herold.at/blog/passivhaus-was-bringt-es-vorteile/
- ↑ Erstellt von Prof. Dr. Göbel Sommer 2023
- ↑ https://flamco.aalberts-hfc.com/de/catalog/pufferspeicher-und-warmwasserbereitung/warmwasserbereiter/standspeicher-flextherm-duo/flextherm-duo-120-500/18501/groups/g+c+p+a+nr+view
- ↑ https://mit-sicherheit-eps.de/acht-gruende-fuer-eps
- ↑ ttps://www.rct-power.com/de/newsreader-1393/batteriespeicher-lithium-eisenphosphat.html#:~:text=Der%20Wirkungsgrad%20einer%20LiFePO4%2DBatterie,zwischen%2093%20bis%2098%20Prozent
- ↑ https://www.creabest.de/blogs/news/so-laden-sie-lifepo4-akkus-auf
→ zum Hauptartikel: Systems Design Engineering - Seminaraufgabe SoSe 2023: Energiehaushalt eines Hauses