Energiehaushalt eines Hauses: Energiespeicher ESP: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(54 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 ==
Zu Projektbeginn wurden die Anforderungen im Lastenheft in Form einer detaillierten Excel-Tabelle festgehalten. 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.
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:  Excel-Tabelle mit dem erstellten Lastenheft für das Projekt ]]<br clear=all>
[[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 anhand einer Skizze erstellt und anschließend in Matlab Simulink modelliert. 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, erforderlich sind. Im Rahmen des technischen Systementwurfs wurden die Gesamtstruktur des Systems sowie die Beziehungen zwischen den verschiedenen Modulen detailliert beschrieben.
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_Strom (Batteriespeicher)[A]
* ESP_Stromnetz [W]
* ESP_Stromnetz (Verkaufen)[W]
* ESP_Verbrauch [%]
* ESP_Verbrauch [%]
'''Parameter'''
'''Parameter'''
Zeile 75: Zeile 85:
== Akku ==
== Akku ==
'''Eingänge'''
'''Eingänge'''
* EEZ_PVleistungAC[W]
* EEZ_PVleistungAC [W]
* PAR_ESP_SollVerbrauch[W]
'''Ausgänge'''
'''Ausgänge'''
* ESP_BatterieZustand  
* ESP_BatterieZustand  
'''Parameter'''
'''Parameter'''
* PAR_BTWirkungsgrad[%]
* PAR_BTWirkungsgrad [%]
* PAR_ESP_Batteriekapazität[Ah]
* PAR_ESP_Batteriekapazität [Ws]
* PAR_ESP_DoD[%]
* PAR_ESP_DoD [%]
* PAR_ESP_SoC[%]
* PAR_ESP_SoC [%]


{| class="wikitable"
{| class="wikitable"
Zeile 150: 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 5 stellt die Implementierung des Warmwasserspeichers in Simulink dar.
Abbildung 7 stellt die Implementierung des Warmwasserspeichers in Simulink dar.
[[Datei: Warmwasserspeicher in Simulink.png|thumb|left|1000px|Abbildung 5: Implementierung des Warmwasserspeichers in Simulink]]<br clear=all>
[[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 176: 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 6 bieten einen Einblick in den Betrieb des Systems
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 6: Implementierung des Energiespeichers in Simulink]]<br clear=all>
[[Datei: Programmierung_EnergieSpeicher1.png|thumb|left|1000px|Abbildung 8: Implementierung des Energiespeichers in Simulink]]<br clear=all>


''' Solarmanager'''
===  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 das Fehlen von 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, selbst wenn keine Solarenergie verfügbar 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.
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.


Nachfolgend finden Sie den Code für die Funktion 'Solarmanager'
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 242: Zeile 251:


== Komponententest ==
== Komponententest ==
Im nächsten Schritt wurden verschiedene Tests 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 separaten Gruppe durchgeführt, um sicherzustellen, dass möglicherweise übersehene Fehler von den Modulentwicklern erkannt werden. Das System der Heizungsregelung HZR wurde getestet. Um den Komponententest durchzuführen, wurden zunächst Testfälle entwickelt, die auf den Anforderungen im Lastenheft und den Informationen aus dem Komponentenentwurf basieren. Bei den Tests wurde überprüft, ob der Output einer Komponente den Erwartungen entspricht, die aufgrund bestimmter Eingabewerte und Spezifikationen festgelegt wurden. Anhand der generierten Ausgangswerte wurde bewertet, ob ein Testfall erfolgreich bestanden wurde oder nicht.
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


'''Warmwasser '''
'''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 270: 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 297: 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 ==
Nach dem V-Modell ist der Integrationstest die Stufe, die auf den Komponententest folgt. 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.
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 311: 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 14: Testfall 001]]
[[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 10: Testfall 002]]
[[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 11: Testfall 003]]
[[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 12: Testfall 004]]
[[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 326: 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 14: Testfall 006]]
[[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 14: Testfall 007]]
[[Datei:Testfall1_7.png|left|mini|300px|Abbildung 16: Testfall 007]]
|}
|}


Zeile 335: Zeile 348:


== Systemtest ==
== Systemtest ==
Nachdem die Integrationstest durchgeführt wurde, werden Modelle angepasst. Anschließend wird alle Modelle im Block "Auswertung" getestet und durch "scope" die Ergebnisse angezeigt. Folgende ist der Systemtest für alle Module.  
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 349: 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 10: Testfall 002]]
[[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 11: Testfall 003]]
[[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 12: Testfall 004]]
[[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 13: Testfall 005]]
[[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 14: Testfall 006]]
[[Datei:Testfall006.png|left|mini|300px|Abbildung 21: Testfall 006]]
|}
|}


Zeile 367: Zeile 380:


== Fazit ==
== Fazit ==
Im Sommersemester 2023 bestand das Ziel der Seminaraufgabe darin, den Energiehaushalt eines Hauses zu simulieren. Zu Beginn des Seminars wurde die Entscheidung getroffen, die Vorgehensweise gemäß dem V-Modell zu verwenden. Dabei werden zunächst die Anforderungen an das Endprodukt beschrieben, die schrittweise detaillierter werden. In der Implementierungsphase werden die detaillierten Anforderungen dann mit Hilfe von MATLAB Simulink modelliert. Anschließend werden die Komponententest, Integrationstest und Systemtest durchgeführt. Nach jedem Test passen alle Gruppen ihre Modelle und Komponentenspezifikationen entsprechend an und abschließend ist das Gesamtmodell mit einigen Anpassungen nach den Tests lauffähig.  
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.


Zusammenfassend können die Studierenden während dieser Seminaraufgabe das V-Modell praktisch anwenden und ihre Kenntnisse in MATLAB/Simulink vertiefen. Die Dokumentation und Archivierung mit SVN (Subversion) ermöglicht eine effiziente Verwaltung von Datei- und Projektversionen. Die gewonnenen Erfahrungen aus diesem Projekt sind für die zukünftige Arbeit der Studierenden äußerst nützlich und von großem Nutzen.
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

Abbildung 1: Symbolbild der Seminaraufgabe [1]

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

Abbildung 2: V-Modell 2023 [2]


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.

Abbildung 3: Lastenheft von der Gruppe ESP


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.

Abbildung 4:Erster Entwurf auf Papier: Handschriftliche Skizze
Abbildung 5:Erster Entwurf in Simulink
Abbildung 6:Finaler Entwurf in Simulink


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.

Abbildung 7: Implementierung des Warmwasserspeichers in Simulink


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.


Abbildung 8: Implementierung des Energiespeichers in Simulink


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.

Abbildung 9: Komponententest für den Warmwasserspeicher


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.

Abbildung 10: Komponententest für den Heizungsregler


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.
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.
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.
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.
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.
Abbildung 13: Testfall 005
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.
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.
Abbildung 16: Testfall 007


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.
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.
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.
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.
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.
Abbildung 21: Testfall 006


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




→ zum Hauptartikel: Systems Design Engineering - Seminaraufgabe SoSe 2023: Energiehaushalt eines Hauses