Seminaraufgabe SoSe 2022: EHF Gruppe FLD: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(205 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:DeutschePostAuto-Bild.png|500px|thumb|rechts| Symbolbild der Seminaraufgabe ]]
[[Datei:DeutschePostAuto-Bild.png|500px|thumb|rechts| Symbolbild der Seminaraufgabe <ref>https://www.nzz.ch/mobilitaet/auto-mobil/ungewoehnlicher-elektroautohersteller-deutsche-post-will-e-auto-anbieter-werden-ld.121237 </ref>]]
[[Datei:Fahrzeug-Leangsdynamik-FLD.png|500px|thumb|rechts|Fahrzeug-Leangsdynamik-FLD]]
[[Datei:Fahrzeug-Leangsdynamik-FLD.png|500px|thumb|rechts|Fahrzeug-Leangsdynamik-FLD]]


Zeile 11: Zeile 11:


==Einleitung==
==Einleitung==
Im Rahmen des Studiengangs BSE der Hochschule Hamm-Lippstadt wird im 1. Fachsemester der Kurs Systems-Design-Engeneering angeboten. In diesem Kurs entwickeln Studenten in Zusammenarbeit mit anderen Team ein technisches System nach dem V-Modell. Im Sommersemester 2022 wurde der Energiehaushalt eines Fahrzeuges simuliert.
Im Rahmen des Masterstudiengangs BSE der Hochschule Hamm-Lippstadt wird im 1. Fachsemester der Kurs Systems-Design-Engineering angeboten. In diesem Kurs entwickeln Studierende in Zusammenarbeit mit anderen Teams ein technisches System nach dem V-Modell. In dem Sommersemester 2022 wurde der Energiehaushalt eines Fahrzeuges simuliert.


=== Gesamtmodell ===
=== Gesamtmodell ===
Bei dem Gesamtmodell handelt es sich um eine Simulation in Simulink, welche den Energiehaushalt eines Fahrzeuges mit Längsdynamik, Wärmehaushalt und Energieinhalt der Fahrzeugbatterie umfasst. Diese drei Komponenten werden von unterschiedlichen Gruppen erstellt. Hierbei werden über Schnittstellen relevante Daten ausgetauscht, sodass sie in Zusammenarbeit die Simulationsaufgabe des Gesamtmodelles darstellen.
Bei dem Gesamtmodell handelt es sich um eine Simulation in Simulink, welche den Energiehaushalt eines Fahrzeuges mit Längsdynamik, Wärmehaushalt und Energieinhalt der Fahrzeugbatterie umfasst. Diese drei Komponenten werden von unterschiedlichen Gruppen erstellt. Hierbei werden über Schnittstellen relevante Daten ausgetauscht, sodass sie in Zusammenarbeit die Simulationsaufgabe des Gesamtmodells darstellen.


=== Aufgabe der Komponente Fahrzeuglängsdynamik (FLD) ===
=== Aufgabe der Komponente Fahrzeuglängsdynamik (FLD) ===
Die Komponente Fahrzeuglängsdynamik modelliert die Bewegung des Fahrzeuges in der Längsrichtung des Fahrzeuges. Die Komponente regelt dabei die Fahrzeugleistung anhand einer vom Umgebungsmodell vorgegebenen Sollgeschwindigkeit und gibt diese an weitere Komponenten weitert. Von diesen Komponenten werden weitere Daten aufgenommen aus denen dann die Fahrzeugbeschleunigung und Fahrzeuggeschwindigkeit berechnet werden.
Die Komponente Fahrzeuglängsdynamik modelliert die Bewegung in der Längsrichtung des Fahrzeuges. Die Komponente regelt dabei die Fahrzeugleistung anhand einer vom Umgebungsmodell vorgegebenen Soll-Geschwindigkeit und gibt diese an weitere Komponenten weiter. Von diesen Komponenten werden weitere Daten aufgenommen, aus denen die Fahrzeugbeschleunigung und Fahrzeuggeschwindigkeit berechnet werden.


== Anforderungsdefinition ==
== Anforderungsdefinition ==
Zeile 34: Zeile 34:
| align="center" style="background:#ffc960;"|'''Kommentar Auftraggeber&nbsp; &nbsp;'''
| align="center" style="background:#ffc960;"|'''Kommentar Auftraggeber&nbsp; &nbsp;'''
|-
|-
| 001||I||1||Ausgänge ||||||||||
| 001||I||'''1'''||'''Ausgänge''' ||||||||||
|-
|-
| 002||A||||Berechnete Daten werden über einen Bus ausgegeben.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 002||A||||Berechnete Daten werden über einen Bus ausgegeben.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 003||A||||Die Simulation muss die Geschwindigkeit des Fahrzeuges berechnen.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 003||A||||Die Simulation muss die Geschwindigkeit des Fahrzeuges berechnen.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 004||A||||Die Simulation muss die benötigte Antriebsleistung in Watt ausgeben.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 004||A||||Die Simulation muss die benötigte Antriebsleistung in Watt ausgeben.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 005||A||||Die Simulation muss bei Rekuperation eine Negativeantriebsleistung ausgaben (in Watt) ||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 005||A||||Die Simulation muss bei Rekuperation eine negative Antriebsleistung ausgeben (in Watt) ||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 006||I||2||Eingänge ||||||||||
| 006||I||'''2'''||'''Eingänge''' ||||||||||
|-
|-
| 007||||||Für die Berechnung benötigte Daten werden über einen Bus eingelesen.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 007||||||Für die Berechnung benötigte Daten werden über einen Bus eingelesen.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 008||A||||Die Simulation muss die Sollgeschwindigkeit als Eingangssignal bekommen.||L.Honerlage M. Wollschläger||27.04.2022||Korrigiert||Akzeptiert mit Einschr.||alle zeitveränderlichen Werte sind SIGNALE (siehe Systemtheorie 5. Semester MTR)
| 008||A||||Die Simulation muss die Soll-Geschwindigkeit als Eingangssignal bekommen.||L. Honerlage M. Wollschläger||27.04.2022||Korrigiert||Akzeptiert mit Einschr.||alle zeitveränderlichen Werte sind SIGNALE (siehe Systemtheorie 5. Semester MTR)
|-
|-
| 009||A||||Die Simulation muss die Steigung in Prozent als Eingangsparmeter bekommen.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert mit Einschr.||
| 009||A||||Die Simulation muss die Steigung in Prozent als Eingangsparameter bekommen.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert mit Einschr.||
|-
|-
| 010||A||||Die Simulation muss die Windgeschwindigkeit als Eingangsparmeter bekommen.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert mit Einschr.||
| 010||A||||Die Simulation muss die Windgeschwindigkeit als Eingangsparameter bekommen.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert mit Einschr.||
|-
|-
| 011||A||||Die Simulation muss Antriebsleistung in Watt bekommen||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 011||A||||Die Simulation muss Antriebsleistung in Watt bekommen||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 012||I||2.1||Eingänge - Konstanten||||||||||
| 012||I||'''2.1'''||'''Eingänge - Konstanten'''||||||||||
|-
|-
| 013||A||||Die Simulation verarbeitet den Paramter Cw Wert.  ||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 013||A||||Die Simulation verarbeitet den Parameter Cw-Wert.  ||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 014||A||||Die Simulation verarbeitet den Paramter Luftdruck.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 014||A||||Die Simulation verarbeitet den Parameter Luftdruck.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 015||A||||Die Simulation verarbeitet den Paramter Rollwiderstandbeiwert. ||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 015||A||||Die Simulation verarbeitet den Parameter Rollwiderstandsbeiwert. ||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 016||A||||Die Simulation verarbeitet den Paramter Fahrzeugsmasse.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 016||A||||Die Simulation verarbeitet den Parameter Fahrzeugmasse.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 017||I||3||Berechnung||||||||||
| 017||I||'''3'''||'''Berechnung'''||||||||||
|-
|-
| 018||A||||Die Berechungen müssen numerisch druchgeführt werden.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 018||A||||Die Berechungen müssen numerisch druchgeführt werden.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 019||A||||Die Schrittweite der Berechnung muss für die Aufgabe hinreichend schnell sein. Sie muss in der Simulation untersucht werden und darf maximal 1/10 von der kleinsten Systemzeitkostanten betragen!||L.Honerlage M. Wollschläger||27.04.2022||Korrigiert||Akzeptiert mit Einschr.||… muss in der Simulation untersucht werden und darf maximal 1/10 von der kleinsten Systemzeitkostanten betragen!
| 019||A||||Die Schrittweite der Berechnung muss für die Aufgabe hinreichend schnell sein. Sie muss in der Simulation untersucht werden und darf maximal 1/10 von der kleinsten Systemzeitkostanten betragen!||L. Honerlage M. Wollschläger||27.04.2022||Korrigiert||Akzeptiert mit Einschr.||… muss in der Simulation untersucht werden und darf maximal 1/10 von der kleinsten Systemzeitkostanten betragen!
|-
|-
| 020||A||||Das Programm muss eine Minimierung des Regefehlers von Soll- und Ist- Geschwindigkeit anstreben.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 020||A||||Das Programm muss eine Minimierung des Regefehlers von Soll- und Ist-Geschwindigkeit anstreben.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 021||I||4||Unsetzung/Software||||||||||
| 021||I||'''4'''||'''Umsetzung/Software'''||||||||||
|-
|-
| 022||A||||Das Modell wird in einem Simulink-Block umgesetzt||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 022||A||||Das Modell wird in einem Simulink-Block umgesetzt||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 023||A||||Der Simulink-Block wird in einer Bibiliothek bereitgestellt.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 023||A||||Der Simulink-Block wird in einer Bibiliothek bereitgestellt.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 024||A||||Das Modell entspricht den Namenskonventionen für Matlab/Simulink von Prof. Mirek Göbel. (Version 1.1)||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 024||A||||Das Modell entspricht den Namenskonventionen für Matlab/Simulink von Prof. Mirek Göbel. (Version 1.1)||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 025||A||||Variablen im Signanalflussplan werden beschriftet, entsprechend den Namenskoventionen.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 025||A||||Variablen im Signanalflussplan werden beschriftet, entsprechend den Namenskoventionen.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 026||A||||Blöcke im Signanalflussplan werden eingefärbt, entsprechend den Namenskoventionen.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 026||A||||Blöcke im Signanalflussplan werden eingefärbt, entsprechend den Namenskoventionen.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 027||I||5||Rahemnbedingungen||||||||||
| 027||I||'''5'''||'''Rahemnbedingungen'''||||||||||
|-
|-
| 028||A||||Das Projekt wird nachhaltig im SVN dokumnetiert.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 028||A||||Das Projekt wird nachhaltig im SVN dokumentiert.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 029||A||||Die Produktentwicklung erfolgt nach dem V-Model.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 029||A||||Die Produktentwicklung erfolgt nach dem V-Model.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 030||A||||Alle Ein- und Ausgangssinale werden in SI-Einheiten angegeben, falls nicht anders defniernt.||L.Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
| 030||A||||Alle Ein- und Ausgangssignale werden in SI-Einheiten angegeben, falls nicht anders defniernt.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert||
|-
|-
| 031||A||||Prof. Mirek Göbel bewertet das Projekt mit 1.0.||L.Honerlage M. Wollschläger||27.04.2022||Wir arbeiten dran.||Akzeptiert mit Einschr.||wenn die Leistung stimmt, gerne ;-)))
| 031||A||||Prof. Mirek Göbel bewertet das Projekt mit 1.0.||L. Honerlage M. Wollschläger||27.04.2022||Wir arbeiten dran.||Akzeptiert mit Einschr.||wenn die Leistung stimmt, gerne ;-)))
|}
|}
</div>
</div>


== Funktionaler Systementwurf ==
== Funktionaler Systementwurf ==
Im Funktionalen Systementwurf wurde das System in mehrere Subkomponenten unterteil, für welche eine Teilaufgabe definiert wurde. In Verbindung erfüllen diese Komponenten die Gesamtaufgabe der Komponente Fahrzeuglängsdynamik.
Im funktionalen Systementwurf wurde das System in mehrere Subkomponenten unterteilt, für welche eine Teilaufgabe definiert wurde. In Verbindung erfüllen diese Komponenten die Gesamtaufgabe der Komponente Fahrzeuglängsdynamik.


* '''Fahrwiderstände:''' Die Komponente berechnet die Fahrwiderstände, welche auf das Fahrzeug wirken. Im Modell werden dabei Wind- und Rollwiderstand betrachtet.
* '''Fahrwiderstände:''' Die Komponente berechnet die Fahrwiderstände, welche auf das Fahrzeug wirken. Im Modell werden dabei der Wind- und Rollwiderstand betrachtet.


* '''Bremsen:''' Die Komponente berechnet die Bremskraft, welche aufgrund einer zu geringen Rekuperationsleistung benötigt wird.
* '''Bremsen:''' Die Komponente berechnet die Bremskraft, welche aufgrund einer zu geringen Rekuperationsleistung benötigt wird.
Zeile 107: Zeile 107:
* '''Geschwindigkeitsermittlung:''' Die Komponente berechnet die Geschwindigkeit des Fahrzeugs durch die Integration der Beschleunigung.  
* '''Geschwindigkeitsermittlung:''' Die Komponente berechnet die Geschwindigkeit des Fahrzeugs durch die Integration der Beschleunigung.  


* '''Hangabtriebskraft:''' Die Komponente berechnet die durch eine Steigung entstehenden Hangabtriebskraft, welche auf das Fahrzeug wirkt.
* '''Hangabtriebskraft:''' Die Komponente berechnet die durch eine Steigung entstehende Hangabtriebskraft, welche auf das Fahrzeug wirkt.


* '''Regler:''' Die Komponente berechnet die Sollleistung des Fahrzeugs. Im Modell wird ein PID-Regler verwendet.
* '''Regler:''' Die Komponente berechnet die Soll-Leistung des Fahrzeugs. Im Modell wird ein PID-Regler verwendet.


* '''Umrechnung P zu F:''' Die Komponente rechnet die Leistung des Antriebs in die Antriebskraft um.
* '''Umrechnung P zu F:''' Die Komponente rechnet die Leistung des Antriebs in die Antriebskraft um.


Weitere Informationen zur Interaktion der Einzelnen Komponenten untereinander finden sich im Abschnitt technischer Systementwurf.
Weitere Informationen zur Interaktion der einzelnen Komponenten untereinander finden sich im Abschnitt Technischer Systementwurf.


== Technischer Systementwurf ==
== Technischer Systementwurf ==
Im technischen Systementwurf werden die einzelnen Komponenten, sowie deren Zusammenspiel genauer beschrieben. Für diese Entwicklung wurde das Gesamtmodell zunächst auf Papier grob skizziert, bevor ein Simulink-Modell erstellt wird. Hierbei sind die jeweiligen Unterkomponenten als eigenes Subsystem erstellt. Diese werden mit ihren Ein- und Ausgängen untereinander verbunden und bilden so den Rahme der Gesamtkomponente Fahrzeuglängsdynamik (FLD). Die interne Implementierung der Subsysteme wird in diesem Schritt noch nicht durchgeführt. Dies folgt in den nächsten Schritten des V-Modells.
Im technischen Systementwurf werden die einzelnen Komponenten sowie deren Zusammenspiel genauer beschrieben. Für diese Entwicklung wurde das Gesamtmodell zunächst auf Papier grob skizziert, bevor ein Simulink-Modell erstellt wird. Hierbei wurden die jeweiligen Unterkomponenten als eigenes Subsystem erstellt. Diese werden mit ihren Ein- und Ausgängen untereinander verbunden und bilden so den Rahmen der Gesamtkomponente Fahrzeuglängsdynamik (FLD). Die interne Implementierung der Subsysteme wird in diesem Schritt noch nicht durchgeführt. Dies folgt in den nächsten Schritten des V-Modells.


<gallery widths="350" heights="300">
<gallery widths="350" heights="300">
Zeile 124: Zeile 124:
</gallery>
</gallery>


Die Ermittelten Schnittstellen der einzelnen Komponenten sind in den folgenden Tabellen dargestellt.
Die ermittelten Schnittstellen der einzelnen Komponenten sind in den folgenden Tabellen dargestellt.
 
== Komponentenspezifikation ==
Nach dem technischen Systementwurf werden die einzelnen Komponenten im Detail spezifiziert. Mithilfe dieser Spezifikationen wird festgelegt, wie die Komponenten umzusetzen sind. Anhand der ermittelten Punkte kann im Anschluss der jeweilige Baustein erstell und implementiert werden.
 
Durch ['''Ausklappen'''] der einzelnen Teilbereiche werden die detaillierten Tabellen zur Komponentenspezifikation dargestellt. 


=== Fahrwiderstände ===
=== Fahrwiderstände ===
Die Komponente berechnet die Fahrwiderstände. Im Modell werden dabei Wind- und Rollwiderstand betrachtet. Die Berechnung beruhen auf Parametern zur Geometrie des Fahrzeuges, zur Beschaffenheit des Reifen-Fahrbahnsystems und zur Umgebung des Fahrzeuges.
<div class="mw-collapsible mw-collapsed ">
Die Komponente besitzt folgende Eingänge:
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
{| class="wikitable"
Zeile 142: Zeile 133:
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
|-
| FLD_v_ist_f64||Windgeschwindigkeit relativ zur Fahrbahn||m/s
| FLD_v_ist_f64||Geschwindigkeit relativ zur Fahrbahn||m/s
|-
|-
| EHF_v_Wind_f64||Windgeschwindigkeit relativ zur Fahrbahn||m/s
| EHF_v_Wind_f64||Windgeschwindigkeit relativ zur Fahrbahn||m/s
Zeile 159: Zeile 150:
|-  
|-  
|}
|}
=== Bremsen ===
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_P_soll_f64||Soll-Leistung des Antriebs||W
|-
| FLD_P_ist_f64||Ist-Leistung des Antriebs||W
|-
| FLD_v_ist_f64||Ist-Geschwindigkeit des Fahrzeuges||m/s
|-
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_F_Bremse_f64||Bremskraft des Fahrzeuges||N
|-
|}
=== Geschwindigkeitsermittlung ===
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| PAR_F_B_Max_f64||Maximalwert für die Bremskraft||N
|-
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_v_ist_f64||Ist-Geschwindigkeit des Fahrzeuges||m/s
|-
|}
=== Hangabtriebskraft ===
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_Steigung_Prozent_f64||Steigung, in welcher sich das Fahrzeug befindet. Negative Werte geben ein Gefälle an.||Prozent
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_F_Hang_f64||Resultierende Kraft aus der Steigung in Newton||N
|-
| FLD_f_Normal_f64||Normalkraft auf die Reifen (wird für Rollwiderstand verwendet)||N
|}
=== Regler ===
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_v_soll_f64||Soll-Geschwindigkeit des Fahrzeuges||m/s
|-
| EHF_v_ist_f64||Ist-Geschwindigkeit des Fahrzeuges||m/s
|-
| EHF_P_ist_f64||Ist-Leistung des Fahrzeuges||W
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_P_Soll_f64||Soll-Leistung, welche von der Komponente Antrieb angefordert wird||W
|}
=== Umrechnung P zu F ===
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_P_ist_f64||Ist-Leistung, welche durch die Komponente Antrieb ermittelt wird||W
|-
| EHF_V_ist_f64||Ist-Geschwindigkeit des Fahrzeuges||m/s
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_F_Antrieb_f64||Die Kraft, welche durch den Antrieb auf das Fahrzeug ausgeübt wird||N
|}
== Komponentenspezifikation ==
Nach dem technischen Systementwurf werden die einzelnen Komponenten im Detail spezifiziert. Mithilfe dieser Spezifikationen wird festgelegt, wie die Komponenten umzusetzen sind. Anhand der ermittelten Punkte kann im Anschluss der jeweilige Baustein erstellt und implementiert werden.
Durch ['''Ausklappen'''] der einzelnen Teilbereiche werden die detaillierten Tabellen zur Komponentenspezifikation dargestellt. 
=== Fahrwiderstände ===
Die Komponente berechnet die Fahrwiderstände. Im Modell werden dabei Wind- und Rollwiderstand betrachtet. Die Berechnungen beruhen auf Parametern zur Geometrie des Fahrzeuges, zur Beschaffenheit des Reifen-Fahrbahnsystems und zur Umgebung des Fahrzeuges.
<div class="mw-collapsible mw-collapsed ">


Die folgenden Parameter werden von der Komponente verwendet:
Die folgenden Parameter werden von der Komponente verwendet:
Zeile 181: Zeile 294:
In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:
In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:
{| class="wikitable"
{| class="wikitable"
| align="center" style="background:#f0f0f0;"|'''Testfall-ID'''
| align="center" style="background:#80a0ff;"|'''ID'''
| align="center" style="background:#f0f0f0;"|'''Testfall-Name'''
| align="center" style="background:#80a0ff;"|'''Kapitel'''
| align="center" style="background:#f0f0f0;"|'''Anforderungs-ID'''
| align="center" style="background:#80a0ff;"|'''Inhalt'''
| align="center" style="background:#f0f0f0;"|'''Vorbedingungen und Eingänge'''
| align="center" style="background:#80a0ff;"|'''Ersteller'''
| align="center" style="background:#f0f0f0;"|'''Aktionen'''
| align="center" style="background:#80a0ff;"|'''Datum 1'''
| align="center" style="background:#f0f0f0;"|'''Erwartetes Ergebnis'''
| align="center" style="background:#80a0ff;"|'''Durchsicht von'''
| align="center" style="background:#f0f0f0;"|'''Ergebnis'''
| align="center" style="background:#80a0ff;"|'''Datum 2'''
| align="center" style="background:#f0f0f0;"|'''Bewertung'''
|-
| align="center" style="background:#f0f0f0;"|'''Kommentar'''
| ||1||Rahmenbedingungen||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| 001||Rahmenbedingungen eingehalten||010, 020, 030||-||"Visuelle Überprüfung
| 010||||Die Berechnung erfolgt in einem Simulink Block||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| der Komponente"||"Simulink, keine Subsysteme,
| 020||||Es gibt keine weiteren Subsysteme||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| alle Einheiten SI"||"keine Subsysteme,
| 030||||Alle Werte in SI-Einheiten, falls nicht anders angegeben||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| Parameter in SI-Einheiten"||i. O.||
| ||2||Luftwiderstand||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| 002||Eingänge, Ausgänge und Parameter||-||-||"Vergleich Modell mit der
| 040||||Die Gesamtgeschwindigkeit wird relativ zur Luft mittels Addition von Fahrgeschwindigkeit und Luftgeschwindigkeit ermittelt||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| Komponentenspezifikation
| ||||Folgende Formel wird für den Luftwiderstand verwendet||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| (KS)"||"Alle Eingänge, Ausgänge,
| 050|||| <math>  F_{Wind}= \frac{1}{2} c_w \cdot A \cdot p \cdot v^2 </math>||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| und Parameternamen
| ||||v =  Gesamtgeschwindigkeit  relativ zur Luft||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| stimmen mit der KS
| ||||c_w = PAR_FLD_cw_Fzg_f64||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| überein, es gibt keine die in
| ||||A = PAR_FLD_A_Front_f64||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| der KS nicht vorhanden sind"||"Alles stimmt mit der KS
| ||||ρ = PAR_FLD_roh_Luft_f64||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| überein"||i. O.||
| ||3||Rollwiderstand||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| 003||PID-Regler||040||-||"Visuelle Überprüfung
| ||||Folgende Formel wird für den Rollwiderstand verwendet (Multiplikation von Normalkraft und Rollwiderstandsbeiwert)||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| der Komponente"||PID-Regler vorhanden||PID-Regler vorhanden||i. O.||
| 070|||| <math>F_{Roll} = F_{Normal} \cdot c_R</math>||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
|  
| ||||F_Normal = FLD_F_Normal_f64||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
| ||||c_R = PAR_FLD_Rollwiderstandsbeiwert_f64||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
| ||4||Gesamtkraft||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
| 080||||Die Gesamtkraft ergibt sich aus der Addition von F_Wind und F_Roll||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|}
|}
</div>
</div>
Zeile 226: Zeile 346:
Die Komponente Bremse berechnet die durch die Fahrzeugbremsen ausgeübte Kraft. Die benötigte Bremsleistung wird durch den Vergleich von Soll- und Ist-Rekuperationsleistung bestimmt. Im Anschluss wird aus dieser Leistung eine Kraft ausgerechnet, welche schließlich auf die maximal erreichbare Kraft der Bremsen begrenzt wird.
Die Komponente Bremse berechnet die durch die Fahrzeugbremsen ausgeübte Kraft. Die benötigte Bremsleistung wird durch den Vergleich von Soll- und Ist-Rekuperationsleistung bestimmt. Im Anschluss wird aus dieser Leistung eine Kraft ausgerechnet, welche schließlich auf die maximal erreichbare Kraft der Bremsen begrenzt wird.
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_P_soll_f64||Sollleistung des Antriebs||W
|-
| FLD_P_ist_f64||Istleisutng des Antiebs||W
|-
| FLD_v_ist_f64||Istgeschwindigkeit des Fahrzeuges||m/s
|-
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_F_Bremse_f64||Bremskraft des Fahrzeuges||N
|-
|}


Die folgenden Parameter werden von der Komponente verwendet:
Die folgenden Parameter werden von der Komponente verwendet:
Zeile 291: Zeile 388:
| 050||||Wenn die Sollleistung negativ ist, dann wird die Bremskraft wie folgt berechnet:||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
| 050||||Wenn die Sollleistung negativ ist, dann wird die Bremskraft wie folgt berechnet:||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
|-
|-
| 060||||<math> F_{B} = \frac{P_{Abweichung}}{V_{ist}}</math> ||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
| 060||||<math>F_{B} = \frac{P_{Abweichung}}{ V_{ist}} </math>||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
|-
|-
| ||||v_ist = FLD_v_ist_f64||Mario Wollschläger||18.05.2022||Lukas Honerlage||18.05.2022
| ||||v_ist = FLD_v_ist_f64||Mario Wollschläger||18.05.2022||Lukas Honerlage||18.05.2022
Zeile 300: Zeile 397:


=== Geschwindigkeitsermittlung ===
=== Geschwindigkeitsermittlung ===
Die Komponente berechnet die Geschwindigkeit des Fahrzeugen. Die Berechnung beruht auf der Gesamtkraft des Fahrzeuges, welches durch die Summer der Fahrzeugmasse geteilt wird.  
Die Komponente berechnet die Geschwindigkeit des Fahrzeuges. Die Berechnung beruht auf der Gesamtkraft des Fahrzeuges, welche durch die Summe der Fahrzeugmasse geteilt wird.  


<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">


Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| PAR_F_B_Max_f64||Maximalwert für die Bremskraft||N
|-
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_v_ist_f64||Istgeschwindigkeit des Fahzeuges||m/s
|-
|}


Die folgenden Parameter werden von der Komponente verwendet:
Die folgenden Parameter werden von der Komponente verwendet:
Zeile 339: Zeile 417:
|}
|}


Das Trägheitsmoment rotierender Komponenten wie die Reifen eines Autos kann ebenfalls durch eine Ersatzmasse simuliert werden. Die entsprechende Formel ist den Spezifikationen zu entnehmen.
In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:
In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:
{| class="wikitable"
{| class="wikitable"
Zeile 355: Zeile 434:
| 020||||Es gibt keine weiteren Subsysteme||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
| 020||||Es gibt keine weiteren Subsysteme||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
|-
|-
| 030||||Alle Werte in SI-Einheiten, falls nicht anders Angegeben||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
| 030||||Alle Werte in SI-Einheiten, falls nicht anders angegeben||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
|-
|-
| ||2||Erstatzmasse des Massenträgheitsmomentes eines Rades||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
| ||2||Erstatzmasse des Massenträgheitsmoments eines Rades||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
|-
|-
| 040||||<math> m_{Ersatz} = \frac{J}{r^{2}} </math>||Mario Wollschläger||18.05.2022||Lukas Honerlage||18.05.2022
| 040||||<math> m_{Ersatz} = \frac{J}{r^{2}} </math>||Mario Wollschläger||18.05.2022||Lukas Honerlage||18.05.2022
Zeile 381: Zeile 460:


=== Hangabtriebskraft ===
=== Hangabtriebskraft ===
Die Komponente berechnet durch eine Steigung entstehenden Hangabtriebskraft. Die Berechnung beruhen auf Parametern der Steigung, Fahrzeugmasse und der Erdbeschleunigung.
Die Komponente berechnet die durch eine Steigung entstehende Hangabtriebskraft. Die Berechnung beruht auf Parametern der Steigung, Fahrzeugmasse und Erdbeschleunigung.
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_Steigung_Prozent_f64||Gibt die Steigung an, in welcher sich das Fahrzeug befindet. Negative Werte geben ein Gefälle an.||Prozent
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_F_Hang_f64||Resultierende Kraft aus der Steigung in Newton.||N
|-
| FLD_f_Normal_f64||Normalkraft auf die Reifen (wird für Rollwiderstand verwendet)||N
|}
Die folgenden Parameter werden von der Komponente verwendet:
Die folgenden Parameter werden von der Komponente verwendet:
{| class="wikitable"
{| class="wikitable"
Zeile 438: Zeile 496:
| ||||Folgende Formeln werden für die Berechung verwendet||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
| ||||Folgende Formeln werden für die Berechung verwendet||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| 040||||Die Gesamtgeschwindigkeit wird relativ zur Luft mittels Addition von Fahrgeschwindigkeit und Luftgeschwindigkeit ermittelt||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
| 040||||<math> F_{Hang} = m \cdot g \cdot \frac{s}{\sqrt{1 + s^2}}</math> ||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| 050||||<math> F_{Wind} = \frac{1}{2}\cdot C_{w}\cdot A \cdot p \cdot v^{2} </math>||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
| 050||||<math> F_{Normal} = m \cdot g \cdot \frac{1}{\sqrt{1 + s^2}}</math> ||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
|-
|-
| ||||Die Variablen sind folgendermaßen zuzuordnen:||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
| ||||Die Variablen sind folgendermaßen zuzuordnen:||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022
Zeile 455: Zeile 513:
|}
|}
</div>
</div>
[[Datei:FLD_F_Hang-Zeichung.png|300px|thumb|rechts|Fahrzeugleangsdynamik-FLD]]
Da die Steigung in Prozent angegeben wird, beschreibt diese ebenfalls das Verhältnis der Hangabtriebskraft zur Normalkraft des Fahrzeuges auf die Fahrbahn.
:<math>
F_{Hang} = F_{Normal} \cdot s
</math>
Die beiden Kräftevektoren zusammen ergeben die Gewichtskraft, welche auf das Fahrzeug wirkt.
Hierbei gilt, dass Normal- und Gewichtskraft im rechten Winkel zueinander stehen. Dadurch kann der Satz des Pythagoras angewandt werden. Durch Umformung kann ein Zusammenhang zwischen der Normalkraft <math> F_{Normal} </math> und der Steigung <math> s </math> in Prozent hergeleitet werden.
:<math>\begin{align}
&& F_g^2 &= F_{Normal}^2 + F_{Hang}^2 \\
\Leftrightarrow && F_g^2 &= F_{Normal}^2 + (F_{Normal} \cdot s)^2 \\
\Leftrightarrow && F_g^2 &= F_{Normal}^2 + F_{Normal}^2 \cdot s^2 \\
\Leftrightarrow && \frac{F_g^2}{F_{Normal}^2} &= 1 + s^2 \\
\Leftrightarrow && (\frac{F_g}{F_{Normal}})^2 &= 1 + s^2 \\
\Leftrightarrow && \frac{F_g}{F_{Normal}} &= \sqrt{1 + s^2} \\
\Leftrightarrow && F_g &= F_{Normal} \cdot \sqrt{1 + s^2} \\
\Leftrightarrow && F_{Normal} &= \frac{F_g}{\sqrt{1 + s^2}}
\end{align}</math>
Durch Multiplikation der Normalkraft <math> F_{Normal} </math> mit der Steigung <math> s </math> kann die Hangabtriebskraft <math> F_{Hang} </math> errechnet werden. Diese ergibt sich dann zu:
:<math>\begin{align}
&& F_{Hang} &= F_{Normal} \cdot s \\
\Leftrightarrow && F_{Hang} &= F_g \cdot \frac{s}{\sqrt{1 + s^2}}
\end{align}</math>


=== Regler ===
=== Regler ===
Der Regler berechnet aus der Soll-Geschwindigkeit und der Ist-Geschwindigkeit des Fahrzeuges die benötigte Solleistung des Antriebes zur Minimierung der Regelabweichung. Um ein möglichst schnelle Ansprechverhalten ohne ständige Regelabweichung zu realisieren wird ein PID-Regler verwendet. Durch den Vergleich von Soll- und Ist-Leistung des Antriebes wird eine Anti-Windup-Strategie umgesetzt, welche diese ungewünschte Verhalten des I-Anteils des PID-Reglers verhindert.
Der Regler berechnet aus der Soll-Geschwindigkeit und der Ist-Geschwindigkeit des Fahrzeuges die benötigte Soll-Leistung des Antriebes zur Minimierung der Regelabweichung. Um ein möglichst schnelles Ansprechverhalten ohne ständige Regelabweichung zu realisieren, wird ein PID-Regler verwendet. Durch den Vergleich von Soll- und Ist-Leistung des Antriebes wird eine Anti-Windup-Strategie umgesetzt, welche dieses ungewünschte Verhalten des I-Anteils des PID-Reglers verhindert.
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_v_soll_f64||Sollgeschwindgikeit des Fahrzeuges||m/s
|-
| EHF_v_ist_f64||Istgeschwindigkeit des Fahrzeuges||m/s
|-
| EHF_P_ist_f64||Istleistung des Fahrzeugs||W
|}


Die Komponente besitzt folgende Ausgänge:
Die Parameter des PID-Reglers werden mit der Sprungantwortmethode ermittelt. Das Vorgehen ist im folgenden Kapitel [[ Seminaraufgabe SoSe 2022: EHF Gruppe FLD#Programmierung / Modellierung | Programmierung / Modellierung]] dargestellt. Die folgenden Parameter werden von der Komponente verwendet:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_P_Soll_f64||Sollleistung, welche von der Komponente Antrieb angefordert wird||W
|}
 
Die Parameter des PID-Reglers werden mit der Sprungantwortmethode ermittelt. Das vorgehen ist im folgenden Kapitel [[ Seminaraufgabe SoSe 2022: EHF Gruppe FLD#Programmierung / Modellierung | Programmierung / Modellierung]] dargestellt. Die folgenden Parameter werden von der Komponente verwendet:
{| class="wikitable"
{| class="wikitable"
| align="center" style="background:#5ebef3; width:250px;"|'''Parameter'''
| align="center" style="background:#5ebef3; width:250px;"|'''Parameter'''
Zeile 515: Zeile 580:
| ||2||Umsetzung||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
| ||2||Umsetzung||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
|-
|-
| 040||||Die Sollleistung wird mit einem PID-Regler bestimmt||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
| 040||||Die Soll-Leistung wird mit einem PID-Regler bestimmt||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
|-
|-
| 050||||P,I,D Parameter werden mittels Sprungantwortmethode ermittelt ||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
| 050||||P,I,D Parameter werden mittels Sprungantwortmethode ermittelt ||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022
Zeile 521: Zeile 586:
| ||3||Anti-Windup||Lukas Honerlage||18.05.2022||Mario Wollschläger||19.05.2022
| ||3||Anti-Windup||Lukas Honerlage||18.05.2022||Mario Wollschläger||19.05.2022
|-
|-
| 060||||Das Anti-Windup Problem wird durch einen Vergleich von Soll- und Istleistung umgesetzt. ||Mario Wollschläger||04.07.2022||Lukas Honerlage||04.07.2022
| 060||||Das Anti-Windup Problem wird durch einen Vergleich von Soll- und Ist-Leistung umgesetzt. ||Mario Wollschläger||04.07.2022||Lukas Honerlage||04.07.2022
|-
|-
| 070||||Die Regeldifferenz in der Leistung wird bestimmt (Soll - Ist)||Mario Wollschläger||04.07.2022||Lukas Honerlage||04.07.2022
| 070||||Die Regeldifferenz in der Leistung wird bestimmt (Soll - Ist)||Mario Wollschläger||04.07.2022||Lukas Honerlage||04.07.2022
|-
|-
| 080||||Die Regeldifferenz wird mit einem konstaten Wert multipliziert. (Der Wert wird bei der Inbetreibnahme bestimmt)||Mario Wollschläger||04.07.2022||Lukas Honerlage||04.07.2022
| 080||||Die Regeldifferenz wird mit einem konstanten Wert multipliziert. (Der Wert wird bei der Inbetreibnahme bestimmt)||Mario Wollschläger||04.07.2022||Lukas Honerlage||04.07.2022
|-
|-
| 090||||Die Regeldifferenz wird vor dem Integrator des I-Anteils Abgezogen||Mario Wollschläger||04.07.2022||Lukas Honerlage||04.07.2022
| 090||||Die Regeldifferenz wird vor dem Integrator des I-Anteils abgezogen||Mario Wollschläger||04.07.2022||Lukas Honerlage||04.07.2022
|}
|}
</div>
</div>


=== Umrechnung P zu F ===
=== Umrechnung P zu F ===
Mit dieser Komponente wird die vom Antrieb zur Verfügung gestellte Radleistung in eine Kraft umgewandelt. Dies Berechnung erfolgt auf Basis der Momentangeschwindigkeit des Fahrzeuges. Zur Beachtung von Radschlupf wird die Antriebskraft auf einen Maximalwert begrenzt.
Mit dieser Komponente wird die vom Antrieb zur Verfügung gestellte Radleistung in eine Kraft umgewandelt. Diese Berechnung erfolgt auf Basis der Momentangeschwindigkeit des Fahrzeuges. Zur Beachtung von Radschlupf wird die Antriebskraft auf einen Maximalwert begrenzt.
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
Die Komponente besitzt folgende Eingänge:
{| class="wikitable"
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_P_ist_f64||Istleistung, welche durch die Komponente Antieb ermittelt wird||W
|-
| EHF_V_ist_f64||Istgeschwindigkeit des Fahrzeuges||m/s
|}
Die Komponente besitzt folgende Ausgänge:
{| class="wikitable"
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge'''
| align="center" style="background:#f0f0f0; width:800px;"|'''Beschreibung'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_F_Antrieb_f64||Die Kraft, welche durch den Antrieb auf das Fahrzeug ausgeübt wird||N
|}


Die folgenden Parameter werden von der Komponente verwendet:
Die folgenden Parameter werden von der Komponente verwendet:
Zeile 598: Zeile 643:


== Programmierung / Modellierung ==
== Programmierung / Modellierung ==
In der Programmierung werden die einzelnen Komponenten entsprechende zuvor definierten Spezifikation umgesetzt. Die Implementierung erfolgt in dem bereits für den technischen Systementwurf erstellten Simulink-Modell.
In der Programmierung werden die einzelnen Komponenten entsprechend zuvor definierter Spezifikationen umgesetzt. Die Implementierung erfolgt in dem bereits für den technischen Systementwurf erstellten Simulink-Modell. Ebenfalls werden die Parameter angelegt. Alle Parameter, welche von der Komponente Fahrzeuglängsdynamik verwendet werden, sind in einer Matlab-Datei zusammengefasst. Diese Datei wird beim Start des Modells aufgerufen, sodass die entsprechenden Konstanten im Workspace angelegt werden.
 
<pre>
% Parameterdatei fuer FLD (Fahrzeuglängsdynamik)
% ***********************************************************\
%
% Projekt: EHF - Energiehaushalt eines Fahrzeugs
%
% Teilprojekt: FLD - Fahrzeuglängsdynamik
%
% Implementierung : MATLAB R2020a
%
% Toolbox : Simulink
%
% Autor : Mario Wollschläger, Lukas Honerlage
%
%************************************************************/
 
PAR_FLD_cw_Fzg_f64 = 0.3;                  %Cw-Wert des Fahrzeuges (Einheitenlos)
PAR_FLD_A_Front_f64 = 3.2;                  %Stirnfläche des Fahrzeuges (m^2)
PAR_FLD_Rollwiderstandsbeiwert_f64 = 0.013; %Koeffizient für die Berechnung des Rollwiderstandes (Einheitenlos)
PAR_FLD_roh_Luft_f64 = 1.225;              %Dichte der Luft (kg/m^3)
PAR_FLD_m_Fzg_f64 = 2000;                  %Masse des Fahrzeuges (kg)
PAR_FLD_g_f64 = 9.81;                      %Erdbeschleunigung (m/s^2)
PAR_FLD_J_Rad_f64 = 70;                    %Massenträgheitsmoment eines Rades (kg m^2)
PAR_FLD_r_Rad_f64 = 0.55;                  %Radius eines Rades (m)
PAR_FLD_F_B_Max_f64 = 20000;                %Maximalwert für die Bremskraft (N) (Abgeschätzt: 1 g Verzögerung bei 2 Tonnen Fahrzeugmasse)
PAR_FLD_KP_f64 = 7594.5;                    %P-Faktor des PID-Reglers (Einheitenlosen)
PAR_FLD_KI_f64 = 45566.7;                  %I-Faktor für den Integrationsanteil des PID-Reglers (Einheitenlos)
PAR_FLD_KD_f64 = 11391.7;                  %D-Faktor für den Differentialanteil des PID-Reglers (Einheitenlos)
PAR_FLD_F_Antrieb_Max_f64 = 10000;          %Maximalkraft, welche durch den Antrieb ausgeübt werden kann (N)
</pre>
Im Folgenden ist die Implementierung der einzelnen Submodule in Simulink zu sehen.
=== Fahrwiderstände ===
=== Fahrwiderstände ===
[[Datei:FLD_Fahrwiderstaende.png|500px|thumb|rechts|Fahrzeug-Leangsdynamik-FLD]]
[[Datei:FLD_Fahrwiderstaende.png|500px|thumb|links|Fahrzeugleangsdynamik-FLD]]


<br clear=all>
<br clear=all>


=== Bremsen ===
=== Bremsen ===
[[Datei:FLD_Bremsen.png|500px|thumb|rechts|Fahrzeug-Leangsdynamik-FLD]]
[[Datei:FLD_Bremsen.png|500px|thumb|links|Fahrzeug-Bremsen-FLD]]


<br clear=all>
<br clear=all>


=== Geschwindigkeitsermittlung ===
=== Geschwindigkeitsermittlung ===
[[Datei:FLD_Geschwindigkeitsermittlung .png|500px|thumb|rechts|Fahrzeug-Geschwindigkeitsermittlung-FLD]]
[[Datei:FLD_Geschwindigkeitsermittlung .png|500px|thumb|links|Fahrzeug-Geschwindigkeitsermittlung-FLD]]


<br clear=all>
<br clear=all>


=== Hangabtriebskraft ===
=== Hangabtriebskraft ===
[[Datei:FLD_Hangabtriebskraft .png|500px|thumb|rechts|Fahrzeug-Hangabtriebskraft -FLD]]
[[Datei:FLD_Hangabtriebskraft .png|500px|thumb|links|Fahrzeug-Hangabtriebskraft -FLD]]


<br clear=all>
<br clear=all>


=== Regler ===
=== Regler ===
[[Datei:FLD_Regler .png|500px|thumb|rechts|Fahrzeug-Regler-FLD]]
[[Datei:FLD_Regler .png|500px|thumb|links|Fahrzeug-Regler-FLD]]
<br clear=all>
 
Die Regler-Parameter Kp, Ki und Kd werden mittels der Sprungantwortmethode nach Ziegler und Nichols bestimmt.<ref name="ZiNi42">Ziegler, J. G.; Nichols, N. B.: Optimum settings for automatic controllers, ''Trans. ASME'', '''64''' (1942), pp. 759–768</ref> Hierfür wurde ein Einheitsprung in die Regelstrecke eingeleitet und die Sprungantwort aufgenommen. Diese Sprungantwort wurde im Anschluss mittels eines PT1-Gliedes mit Totzeit approximiert. Aus den Kostanten der Approximation können die Regler-Parameter berechnet werden.
<gallery widths="350" heights="300">
Datei:FLD_Reglerauslegung_Simulink.png|Simulinkmodell zur Auslegung des Reglers [[Datei:FLD_Reglerauslegung.zip | Originaldatei]]
Datei:FLD_Reglerauslegung_Simulink_Sprungartwort.png|Sprungantwort und Approximation als PT1 Glied
Datei:FLD_Reglerauslegung_Simulink_Excel.png|Berechnung der Werte des PID-Reglers [[Datei:FLD_Reglerauslegung.xlsx | Originaldatei]]
</gallery>


<br clear=all>
<br clear=all>


=== Umrechnung P zu F ===
=== Umrechnung P zu F ===
[[Datei:FLD_UmrechnungPzuF.png|500px|thumb|rechts|Fahrzeug-Umrechnung P zu F FLD]]
In der Programmierung wird das Problem abgefangen, dass nicht durch Null geteilt werden darf. Wenn die Ist-Geschwindigkeit gleich Null ist, wird diese auf den Wert 0.0001 gesetzt. Durch den sehr kleinen Wert wird das Gesamtergebnis nur so verändert, dass es vernachlässigt werden kann.   
 
[[Datei:FLD_UmrechnungPzuF.png|500px|thumb|links|Fahrzeug-Umrechnung P zu F FLD]]


<br clear=all>
<br clear=all>


== Komponententest ==
== Komponententest ==
Der Komponententest für die Komponenten der Fahrzeuglängsdynamik wurde durch die Gruppe [[Seminaraufgabe SoSe 2022: EHF Gruppe FKI | FKI]] durchgeführt. Im Folgenden ist die Dokumentation der Tests zu sehen.
=== Fahrwiderstände ===
=== Fahrwiderstände ===
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Parameter'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| PAR_FLD_cw_Fzg_f64||0,3||-
|-
| PAR_FLD_A_Front_f64||3,2||m²
|-
| PAR_FLD_Rollwiderstandsbeiwert_f64||0,013||-
|-
| PAR_FLD_roh_Luft_f64||1,225||kg/m³
|-
| PAR_FLD_m_Fzg_f64||2000||kg
|}
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Simulationsdaten'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_v_Wind_f64||6||m/s
|-
| EHF_v_Wind_f64||41,6667||m/s
|-
| FLD_v_ist_f64||13,8889||m/s
|-
| FLD_v_ist_f64||41,6667||m/s
|-
| FLD_F_Normal_f64||19620||N
|-
| FLD_F_Normal_f64||1565||N
|}
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
{| class="wikitable"
{| class="wikitable"
Zeile 648: Zeile 771:
| 020||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine die in der KS nicht vorhanden sind||Alles stimmt mit der KS überein||i. O.||
| 020||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine die in der KS nicht vorhanden sind||Alles stimmt mit der KS überein||i. O.||
|-
|-
| 030||Test auf richtige Formel (FWind)||050||FLD_v_ist_f64=6 EHF_v_Wind_f64=13.8889||Simulation bei einer normalen Luftgeschwindigkeit von 6 m/s  und einer Fahrgeschwindigkeit von 13,8889 m/s (=50 km/h) ||Fwind=0.5*cw*A*roh*v^2=0.5*0.3*3.2*1.225*(6+13.8889)^2=232.5941 N||Fwind=232.6 N||i. O.||
| 030||Test auf richtige Formel (FWind)||050||FLD_v_ist_f64 = 6 EHF_v_Wind_f64 = 13.8889||Simulation bei einer normalen Luftgeschwindigkeit von 6 m/s  und einer Fahrgeschwindigkeit von 13,8889 m/s (=50 km/h) || Fwind = 0.5*cw*A*roh*= 0.5*0.3*3.2*1.225*(6+13.8889)² = 232.5941 N||Fwind = 232.6 N||i. O.|| [[Datei:FLD_Bild1.png|500px|thumb|rechts]]
|-
|-
| 040||Test auf richtige Formel (FWind)||050||FLD_v_ist_f64=41.6667 EHF_v_Wind_f64=41.6667 ||Simulation bei einer Luftgeschwindigkeit von 41,6667 (=150km/h)  und einer Fahrgeschwindigkeit von 41,6667 m/s (=150 km/h) ||Fwind=0.5*cw*A*roh*v^2=0.5*0.3*3.2*1.225*(41.6667*2)^2=4083.3398 N||Fwind=4083 N||i. O.||
| 040||Test auf richtige Formel (FWind)||050||FLD_v_ist_f64 = 41.6667 EHF_v_Wind_f64 = 41.6667 ||Simulation bei einer Luftgeschwindigkeit von 41,6667 (=150km/h)  und einer Fahrgeschwindigkeit von 41,6667 m/s (=150 km/h) ||Fwind = 0.5*cw*A*roh*= 0.5*0.3*3.2*1.225*(41.6667*2)² = 4083.3398 N||Fwind = 4083 N||i. O.|| [[Datei:FLD_Bild2.png|500px|thumb|rechts]]
|-
|-
| 050||Test auf richtige Formel (FRoll)||070|| FLD_F_Normal_f64=19620||Simulation bei einer Normalkraft von 19620 N ( bei 0% Steigung)||FRoll=cr*FNormal=0.013*19620=255,06 N||FRoll=255.1 N||i. O.||     
| 050||Test auf richtige Formel (FRoll)||070|| FLD_F_Normal_f64 = 19620||Simulation bei einer Normalkraft von 19620 N ( bei 0 % Steigung)||FRoll = cr*FNormal = 0.013*19620=255,06 N||FRoll = 255.1 N||i. O.|| [[Datei:FLD_Bild3.png|500px|thumb|rechts]]    
|-
|-
| 060||Test auf richtige Formel (FRoll)||070||FLD_F_Normal_f64= 1565||Simulation bei einer Normalkraft von 1565 N ( bei 8% Steigung)||FRoll=cr*FNormal=0.013*1565=20.345 N||FRoll=20.34 N||i. O.||   
| 060||Test auf richtige Formel (FRoll)||070||FLD_F_Normal_f64 = 1565||Simulation bei einer Normalkraft von 1565 N ( bei 8 % Steigung)||FRoll = cr*FNormal = 0.013*1565 = 20.345 N||FRoll = 20.34 N||i. O.|| [[Datei:FLD_Bild4.png|500px|thumb|rechts]]    
|-
|-
| 070||Test auf richtige Formel (FWinderstand)||080||FLD_v_ist_f64=41.6667 EHF_v_Wind_f64=41.6667 FLD_F_Normal_f64= 1565||Simulation bei Luftgeschwindigkeit von 41,6667, einer Fahrgeschwindigkeit von 41,6667 m/s und einer Normalkraft von 1565 N ||FWinderstand=FWind+FRoll=4083.3398 + 20.345=4103.6848 N||FWiderstand=4104 N||i. O.||
| 070||Test auf richtige Formel (FWinderstand)||080||FLD_v_ist_f64 = 41.6667 EHF_v_Wind_f64 = 41.6667 FLD_F_Normal_f64 = 1565||Simulation bei Luftgeschwindigkeit von 41,6667, einer Fahrgeschwindigkeit von 41,6667 m/s und einer Normalkraft von 1565 N ||FWinderstand = FWind+FRoll = 4083.3398 + 20.345 = 4103.6848 N||FWiderstand = 4104 N||i. O.|| [[Datei:FLD_Bild5.png|500px|thumb|rechts]]
|}
|}
</div>
</div>


=== Bremsen ===
=== Bremsen ===
[[Datei:FLD_Test_Bremsen.png|500px|thumb|rechts|Testumgebung der Bremsen]]
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Parameter'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_P_ist_f64||36,7749||kW
|-
| FLD_P_soll_f64||35||kW
|-
| FLD_v_ist_f64||13,8889||m/s
|-
|}
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Simulationsdaten'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_P_ist_f64||36,7749||kW
|-
| FLD_P_soll_f64||35||kW
|-
| FLD_v_ist_f64||13,8889||m/s
|-
|}
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
{| class="wikitable"
{| class="wikitable"
Zeile 681: Zeile 832:
| 040||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten||i. O.||
| 040||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten||i. O.||
|-
|-
| 050||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine die in der KS nicht vorhanden sind||PAR_F_B_Max_f64 in Parameterdatei anders benannt||n. i. O.||PAR_F_B_Max_f64 heißt in Simulink PAR_FLD_F_B_Max_f64
| 050||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind||PAR_F_B_Max_f64 in Parameterdatei anders benannt||n. i. O.||PAR_F_B_Max_f64 heißt in Simulink PAR_FLD_F_B_Max_f64
|}
|}


Zeile 687: Zeile 838:


=== Geschwindigkeitsermittlung ===
=== Geschwindigkeitsermittlung ===
[[Datei:FLD_Test_Geschwindigkeitsermittlung.png|500px|thumb|rechts|Testumgebung der Geschwindigkeitsermittlung]]


{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Parameter'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| PAR_FLD_J_Rad_f64||0||kg m²
|-
| PAR_FLD_r_Rad_f64||0,55||m
|-
| FLD_F_Ges_f64||||
|-
| PAR_FLD_m_Fzg_f64||2000||kg
|-
|}
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Simulationsdaten'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| FLD_F_Ges_f64||konstant 1, Rechtecksignal in Testfall 007||kg m/s²
|-
|}
<br = clear all>
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
{| class="wikitable"
{| class="wikitable"
| align="center" style="background:#80a0ff;"|'''Testfall-ID'''
| align="center" style="background:#80a0ff;"|'''Testfall-ID'''
Zeile 702: Zeile 881:
| 001||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten||i. O.||
| 001||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten||i. O.||
|-
|-
| 002||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine die in der KS nicht vorhanden sind||Alles stimmt mit der KS überein||i. O.||
| 002||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind||Alles stimmt mit der KS überein||i. O.||
|-
|-
| 003||Berechnung der Ersatzmasse m_Ersatz||040||J = 1 r = PAR_FLD_r_Rad_f64 = 0.55||Vergleich m_Erstatz im Modell mit manueller Berechnung||m_Ersatz = J/r^2 = 3.306||m_Ersatz = 3.306||i. O.||Wert 0 für PAR_FLD_J_Rad_f64 in Parameterdatei nicht sinnvoll -> Ersatzwert 1 kg m^2 Ein "t" zu viel im Signalnamen ("m_Erstatz")
| 003||Berechnung der Ersatzmasse m_Ersatz||040||J = 1 r = PAR_FLD_r_Rad_f64 = 0.55||Vergleich m_Erstatz im Modell mit manueller Berechnung||m_Ersatz = J/= 3.306||m_Ersatz = 3.306||i. O.||Wert 0 für PAR_FLD_J_Rad_f64 in Parameterdatei nicht sinnvoll Ersatzwert 1 kg Ein "t" zu viel im Signalnamen ("m_Erstatz")
|-
|-
| 004||Berechnung der Beschleunigung a_Fzg||050||m_Erstatz = 3.306 FLD_F_Ges_f64 = konstant 1||Vergleich Inputsignal des Integrators im Modell mit manueller Berechnung||a_Fzg = 4.96*10^-4 gemäß Formel in A. 050||a_Fzg = 4.96*10^-4||i. O.||
| 004||Berechnung der Beschleunigung a_Fzg||050||m_Erstatz = 3.306 FLD_F_Ges_f64 = konstant 1||Vergleich Inputsignal des Integrators im Modell mit manueller Berechnung||a_Fzg = 4.96*10^-4 gemäß Formel in A. 050||a_Fzg = 4.96*10^-4||i. O.||
Zeile 712: Zeile 891:
| 006||Berechnung der Geschwindigkeit FLD_v_ist_f64 (negative Kraft)||060||m_Ersatz = 0||Simulation (10 Schritte)||FLD_v_ist_f64 = -10/2000||FLD_v_ist_f64 = -0.005||i. O.||
| 006||Berechnung der Geschwindigkeit FLD_v_ist_f64 (negative Kraft)||060||m_Ersatz = 0||Simulation (10 Schritte)||FLD_v_ist_f64 = -10/2000||FLD_v_ist_f64 = -0.005||i. O.||
|-
|-
| 007||Berechnung der Geschwindigkeit FLD_v_ist_f64 (variable Kraft)||060||m_Ersatz = 0 FLD_F_Ges_f64 ist Rechtecksignal mit Amplitude 1, ändert Vorzeichen alle 2 Simulationsschritte||Simulation (10 Schritte)||FLD_v_ist_f64 = 0||FLD_v_ist_f64 = 0||i. O.||
| 007||Berechnung der Geschwindigkeit FLD_v_ist_f64 (variable Kraft)||060||m_Ersatz = 0 FLD_F_Ges_f64 ist Rechtecksignal mit Amplitude 1, ändert Vorzeichen alle 2 Simulationsschritte||Simulation (10 Schritte)||FLD_v_ist_f64 = 0||FLD_v_ist_f64 = 0||i. O.|| [[Datei:FLD_Bild14.png|300px|thumb|rechts]]
|}
|}
</div>
</div>


=== Hangabtriebskraft ===
=== Hangabtriebskraft ===
[[Datei:FLD_Test_Hangabtriebskraft.png|500px|thumb|rechts|Testumgebung der Hangabtriebskraft]]
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Parameter'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| PAR_FLD_g_f64||9,81||m/s²
|-
| PAR_FLD_m_Fzg_f64||2000||kg
|-
|}
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Simulationsdaten'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_Steigung_f64||8||%
|-
| EHF_Steigung_f64||0||%
|-
|}
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
{| class="wikitable"
{| class="wikitable"
| align="center" style="background:#80a0ff;"|'''Testfall-ID'''
| align="center" style="background:#80a0ff;"|'''Testfall-ID'''
Zeile 730: Zeile 932:
| align="center" style="background:#80a0ff;"|'''Kommentar'''
| align="center" style="background:#80a0ff;"|'''Kommentar'''
|-
|-
| 010||Test auf richtige Formel (Hang)||040||Parameter geladen. EHF_Steigung_f64 = 8% PAR_FLD_m_Fzg_f64 = 2000 kg||Simulation bei einer Steigung  von 8%||Fhang = (m*g*s)/sqrt(1+EHF_Steigung_f64^2) = 1564,6012 N||Fhang = 1575 N||n. i. O.||Operator muss zu Divide geändert werden (siehe Bild)
| 010||Test auf richtige Formel (Hang)||040||Parameter geladen. EHF_Steigung_f64 = 8 % PAR_FLD_m_Fzg_f64 = 2000 kg||Simulation bei einer Steigung  von 8 %||Fhang = (m*g*s) / sqrt(1+EHF_Steigung_f64²) = 1564,6012 N||Fhang = 1575 N||n. i. O.||Operator muss zu Divide geändert werden [[Datei:FLD_Bild13.png|300px|thumb|rechts]]
|-
|-
| 020||Test auf richtige Formel (Normal)||050||Parameter geladen. EHF_Steigung_f64 = 0% PAR_FLD_m_Fzg_f64 = 2000 kg||Simulation bei einer Steigung  von 0% (Normalfall)||Fnormal = (m*g)/sqrt(1+EHF_Steigung_f64^2) = 19620 N||Fnormal = 19620N||i. O.||
| 020||Test auf richtige Formel (Normal)||050||Parameter geladen. EHF_Steigung_f64 = 0 % PAR_FLD_m_Fzg_f64 = 2000 kg||Simulation bei einer Steigung  von 0% (Normalfall)||Fnormal = (m*g) / sqrt(1+EHF_Steigung_f64²) = 19620 N||Fnormal = 19620 N||i. O.||  
|-
|-
| 030||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten||i. O.||
| 030||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten||i. O.||
|-
|-
| 040||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine die in der KS nicht vorhanden sind||Alles stimmt mit der KS überein||i. O.||
| 040||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind||Alles stimmt mit der KS überein||i. O.||
|}
|}


Zeile 742: Zeile 944:


=== Regler ===
=== Regler ===
[[Datei:FLD_Test_Regler.png|500px|thumb|rechts|Testumgebung des Reglers]]
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Parameter'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| PAR_FLD_KP_f64 (KP)||7594,5||
|-
| PAR_FLD_KI_f64 (KI)||45566,7||
|-
| PAR_FLD_KD_f64 (KD)||11391,7||
|-
|}
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Simulationsdaten'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_v_soll_f64||Step bei T = 1 von 0 auf 10||m/s
|-
| EHF_v_ist_f64||0||m/s
|-
| EHF_P_ist_f64||0||W
|-
|}
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
{| class="wikitable"
{| class="wikitable"
| align="center" style="background:#f0f0f0;"|'''Testfall-Name'''
| align="center" style="background:#80a0ff;"|'''Testfall-ID'''
| align="center" style="background:#f0f0f0;"|'''Anforderungs-ID'''
| align="center" style="background:#80a0ff;"|'''Testfall-Name'''
| align="center" style="background:#f0f0f0;"|'''Vorbedingungen und Eingänge'''
| align="center" style="background:#80a0ff;"|'''Anforderungs-ID'''
| align="center" style="background:#f0f0f0;"|'''Aktionen'''
| align="center" style="background:#80a0ff;"|'''Vorbedingungen und Eingänge'''
| align="center" style="background:#f0f0f0;"|'''Erwartetes Ergebnis'''
| align="center" style="background:#80a0ff;"|'''Aktionen'''
| align="center" style="background:#f0f0f0;"|'''Ergebnis'''
| align="center" style="background:#80a0ff;"|'''Erwartetes Ergebnis'''
| align="center" style="background:#f0f0f0;"|'''Bewertung'''
| align="center" style="background:#80a0ff;"|'''Ergebnis'''
| align="center" style="background:#f0f0f0;"|'''Kommentar'''
| align="center" style="background:#80a0ff;"|'''Bewertung'''
| align="center" style="background:#80a0ff;"|'''Kommentar'''
|-
|-
| Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten||i. O.||
| 001||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten||i. O.||
|-
|-
| Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine die in der KS nicht vorhanden sind||Alles stimmt mit der KS überein||i. O.||
| 002||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind||Alles stimmt mit der KS überein||i. O.||
|-
|-
| PID-Regler||040||-||Visuelle Überprüfung der Komponente||PID-Regler vorhanden||PID-Regler vorhanden||i. O.||
| 003||PID-Regler||040||-||Visuelle Überprüfung der Komponente||PID-Regler vorhanden||PID-Regler vorhanden||i. O.||
|-
|-
| P-Anteil||040||KP = 2, KI = 0, KD = 0||Simulation (10 Zeitschritte)||P_Soll(10) = (v_soll - v_ist) * KP = 20||P_Soll ist proportional zur Geschwindigkeitsdiff. = 20||i. O.||
| 004||P-Anteil||040||KP = 2, KI = 0, KD = 0||Simulation (10 Zeitschritte)||P_Soll(10) = (v_soll - v_ist) * KP = 20||P_Soll ist proportional zur Geschwindigkeitsdiff. = 20||i. O.|| [[Datei:FLD_Bild9.png|300px|thumb|center]]
|-
|-
| I-Anteil||040||KP = 0, KI = 0.1, KD = 0||Simulation (10 Zeitschritte)||P_Soll(10) = (v_soll - v_ist) * 9 * KI = 9||P_Soll ist proportional zum Integral der Diff. = 9||i. O.||
| 005||I-Anteil||040||KP = 0, KI = 0.1, KD = 0||Simulation (10 Zeitschritte)||P_Soll(10) = (v_soll - v_ist) * 9 * KI = 9||P_Soll ist proportional zum Integral der Diff. = 9||i. O.|| [[Datei:FLD_Bild10.png|300px|thumb|center]]
|-
|-
| D-Anteil||040||KP = 0, KI = 0, KD = 1||Simulation (10 Zeitschritte)||P_Soll = 0||P_Soll ist proportional zur Änderungsrate der Geschwindigkeitsdiff. = 0||i. O.||Sprungeingang führt zu kurz unendlich hohem P_Soll (Steigung d. Geschwindigkeitsdifferenz unendlich)
| 006||D-Anteil||040||KP = 0, KI = 0, KD = 1||Simulation (10 Zeitschritte)||P_Soll = 0||P_Soll ist proportional zur Änderungsrate der Geschwindigkeitsdiff. = 0||i. O.||Sprungeingang führt zu kurz unendlich hohem P_Soll (Steigung d. Geschwindigkeitsdifferenz unendlich)
|-
|-
| Ermittlung der Reglerkonstanten||050||KD = 0||Simulation (10 Zeitschritte)||Die Sollleistung mit den ermittelten Parametern aus der Parameterdatei liegt im für ein Fahrzeug üblichen Rahmen||P_Soll erreicht nach 9 Sek. ca. 100 kW.||i. O.||
| 007||Ermittlung der Reglerkonstanten||050||KD = 0||Simulation (10 Zeitschritte)||Die Sollleistung mit den ermittelten Parametern aus der Parameterdatei liegt im für ein Fahrzeug üblichen Rahmen||P_Soll erreicht nach 9 Sek. ca. 100 kW.||i. O.|| [[Datei:FLD_Bild11.png|300px|thumb|center]]
|-
|-
| Anti-Windup||060||||Anmerkung||||||||Mangels komplettem Regelkreislaufs kann die Parameterwahl und die Anti-Windup-Maßnahme im Rahmen dieses Komponententests noch nicht validiert werden.
| 008||Anti-Windup||060||||Anmerkung||||||||Mangels komplettem Regelkreislauf kann die Parameterwahl und die Anti-Windup-Maßnahme im Rahmen dieses Komponententests noch nicht validiert werden.
|-
|
|}
|}
</div>
</div>
<br clear=all>


=== Umrechnung P zu F ===
=== Umrechnung P zu F ===
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Parameter'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| PAR_F_Antireb_Max_f64||10000||N
|-
|}
{| class="wikitable"
| align="center" style="background:#f0f0f0; width:350px;"|'''Simulationsdaten'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert'''
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit'''
|-
| EHF_P_ist_f64||59655,9897||W
|-
| EHF_V_ist_f64 ||41,6667||m/s
|-
| EHF_P_ist_f64||149139,974||W
|-
| EHF_V_ist_f64 ||2,77777778||m/s
|-
|}
<div class="mw-collapsible mw-collapsed ">
<div class="mw-collapsible mw-collapsed ">
{| class="wikitable"
{| class="wikitable"
| align="center" style="background:#80a0ff;"|'''Testfall-ID'''
| align="center" style="background:#80a0ff;"|'''Testfall-ID'''
Zeile 789: Zeile 1.043:
| 010||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink Block, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten ||i. O.||
| 010||Rahmenbedingungen eingehalten||010, 020, 030||-||Visuelle Überprüfung der Komponente||Simulink Block, keine Subsysteme, alle Einheiten SI||keine Subsysteme, Parameter in SI-Einheiten ||i. O.||
|-
|-
| 020||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge und Parameter stimmen mit der KS überein, es gibt keine die in der KS nicht vorhanden sind||Parameter für die Maximalkraft ist nicht gekennzeichnet ||n. i. O.||
| 020||Eingänge, Ausgänge und Parameter||-||-||Vergleich Modell mit der Komponentenspezifikation (KS)||Alle Eingänge, Ausgänge und Parameter stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind||Parameter für die Maximalkraft ist nicht gekennzeichnet ||n. i. O.|| [[Datei:FLD_Bild6.png|130px|thumb|rechts]]
|-
|-
| 030||Test auf richtige Formel||040||EHF_P_ist_f64=59655.9897 EHF_V_ist_f64=41.6667||Simulation bei einer Leistung von 59655,9897 W (=80 PS)  und einer Fahrgeschwindigkeit von 41,6667 m/s (=150 km/h) ||Fa=Pa/v ist=59655,9867/41,6667=1431,74261 N||Fa=1432 N||i. O.||
| 030||Test auf richtige Formel||040||EHF_P_ist_f64 = 59655.9897 EHF_V_ist_f64 = 41.6667||Simulation bei einer Leistung von 59655,9897 W (= 80 PS)  und einer Fahrgeschwindigkeit von 41,6667 m/s (= 150 km/h) ||Fa=Pa/v ist = 59655,9867/41,6667 = 1431,74261 N||Fa=1432 N||i. O.|| [[Datei:FLD_Bild7.png|500px|thumb|rechts]]
|-
|-
| 040||Test auf die Begranzung auf einen Maximalwert ||050||Die Kraft wird auf 10000 begrenzt EHF_P_ist_f64=149139.974 EHF_V_ist_f64=2.77777778||Simulation bei einer Leistung von 149139,974 W (=200 PS)  und einer Fahrgeschwindigkeit von 2,77777778 m/s (=10 km/h) ||FLD_F_Antrieb_f64=10000 N||FLD_F_Antrieb_f64=1e+04 N||i. O.||
| 040||Test auf die Begranzung auf einen Maximalwert ||050||Die Kraft wird auf 10000 begrenzt EHF_P_ist_f64 = 149139.974 EHF_V_ist_f64 = 2.77777778||Simulation bei einer Leistung von 149139,974 W (= 200 PS)  und einer Fahrgeschwindigkeit von 2,77777778 m/s (= 10 km/h) ||FLD_F_Antrieb_f64=10000 N||FLD_F_Antrieb_f64=1e+04 N||i. O.|| [[Datei:FLD_Bild8.png|500px|thumb|rechts]]
|}
|}
</div>
</div>


== Integrationstest ==
== Integrationstest ==
Der Integrationstest war im Sommersemester 2022 kein Bestandteil des Kurses Systems-Design-Engineering im Studiengang BSE.
== Systemtest ==
Der Systemtest war im Sommersemester 2022 kein Bestandteil des Kurses Systems-Design-Engineering im Studiengang BSE.
== Abnahme ==
Die Abnahme war im Sommersemester 2022 kein Bestandteil des Kurses Systems-Design-Engineering im Studiengang BSE.


== Systemtest ==  
== Fazit ==
Während des Sommersemesters 2022 war die Seminaraufgabe, den Energiehaushalt eines Fahrzeuges mithilfe des V-Modells zu entwickeln. Angefangen von der Anforderungsdefinition bis zum Komponententest. Die Bereiche Integrationstest, Systemtest und Abnahme waren dieses Semester kein Bestandteil des Kurses. Im ersten Schritt wurden die einzelnen Anforderungen definiert. Im zweiten Schritt wurde der Technische Systementwurf durchgeführt. Dieser beinhaltet eine anfängliche Skizze, welche später in Matlab umgesetzt wurde. Ebenfalls wurden die Ein- und Ausgänge der einzelnen Submodule definiert. In der Komponentenspezifikation wurde in einer Tabelle beschrieben, wie die Umsetzung im Programmierteil aussehen soll. Des Weiteren wurden hier die verwendeten Parameter aufgeführt. Bei der späteren Umsetzung in Matlab/Simulink wurden diese entsprechend der Spezifikationen umgesetzt. Zum Schluss wurde der Komponententest der Gruppe FKI durchgeführt, wodurch noch kleine Fehler entdeckt werden konnten. Diese wurden im Anschluss behoben.


== Abnahmen ==
Somit wurde mit der Seminaraufgabe die Durchführung des V-Modells praktiziert. Hierbei wurden sowohl die Verifikation als auch die Validierung durchgeführt. Das Hauptaugenmerk lag in diesem Semester auf dem linken Pfad des V-Modells, wodurch der Entwicklungszweig vollständig durchlaufen wurde. Ebenfalls konnte mit den Komponententests der erste Schritt des rechten Pfades im V-Modell, dem Testen, durchgeführt werden.


== Literatur ==
== Literatur ==

Aktuelle Version vom 11. Juli 2022, 10:22 Uhr

Symbolbild der Seminaraufgabe [1]
Fahrzeug-Leangsdynamik-FLD

Autoren: Mario Wollschläger und Lukas Honerlage

Dozent: Prof. Dr. Mirek Göbel

→ zum Hauptartikel: Systems Design Engineering - Seminaraufgabe SoSe 2022: Energiehaushalt eines E-Fahrzeugs



Einleitung

Im Rahmen des Masterstudiengangs BSE der Hochschule Hamm-Lippstadt wird im 1. Fachsemester der Kurs Systems-Design-Engineering angeboten. In diesem Kurs entwickeln Studierende in Zusammenarbeit mit anderen Teams ein technisches System nach dem V-Modell. In dem Sommersemester 2022 wurde der Energiehaushalt eines Fahrzeuges simuliert.

Gesamtmodell

Bei dem Gesamtmodell handelt es sich um eine Simulation in Simulink, welche den Energiehaushalt eines Fahrzeuges mit Längsdynamik, Wärmehaushalt und Energieinhalt der Fahrzeugbatterie umfasst. Diese drei Komponenten werden von unterschiedlichen Gruppen erstellt. Hierbei werden über Schnittstellen relevante Daten ausgetauscht, sodass sie in Zusammenarbeit die Simulationsaufgabe des Gesamtmodells darstellen.

Aufgabe der Komponente Fahrzeuglängsdynamik (FLD)

Die Komponente Fahrzeuglängsdynamik modelliert die Bewegung in der Längsrichtung des Fahrzeuges. Die Komponente regelt dabei die Fahrzeugleistung anhand einer vom Umgebungsmodell vorgegebenen Soll-Geschwindigkeit und gibt diese an weitere Komponenten weiter. Von diesen Komponenten werden weitere Daten aufgenommen, aus denen die Fahrzeugbeschleunigung und Fahrzeuggeschwindigkeit berechnet werden.

Anforderungsdefinition

In der Anforderungsdefinition werden die Anforderungen an das System festgehalten. Dabei sind lediglich die zu erfüllenden Aufgaben zu definieren und nicht die Art der Umsetzung. Alle Punkte sollten somit möglichst lösungsneutral beschrieben werden. Für die Komponente Fahrzeuglängsdynamik wurden folgende Anforderungen definiert und mit dem Auftraggeber abgestimmt:


ID Typ (I = Info, A = Anforderung) Kapitel Inhalt Ersteller Datum Kommentar Auftragnehmer Status Auftraggeber Kommentar Auftraggeber   
001 I 1 Ausgänge
002 A Berechnete Daten werden über einen Bus ausgegeben. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
003 A Die Simulation muss die Geschwindigkeit des Fahrzeuges berechnen. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
004 A Die Simulation muss die benötigte Antriebsleistung in Watt ausgeben. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
005 A Die Simulation muss bei Rekuperation eine negative Antriebsleistung ausgeben (in Watt) L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
006 I 2 Eingänge
007 Für die Berechnung benötigte Daten werden über einen Bus eingelesen. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
008 A Die Simulation muss die Soll-Geschwindigkeit als Eingangssignal bekommen. L. Honerlage M. Wollschläger 27.04.2022 Korrigiert Akzeptiert mit Einschr. alle zeitveränderlichen Werte sind SIGNALE (siehe Systemtheorie 5. Semester MTR)
009 A Die Simulation muss die Steigung in Prozent als Eingangsparameter bekommen. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert mit Einschr.
010 A Die Simulation muss die Windgeschwindigkeit als Eingangsparameter bekommen. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert mit Einschr.
011 A Die Simulation muss Antriebsleistung in Watt bekommen L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
012 I 2.1 Eingänge - Konstanten
013 A Die Simulation verarbeitet den Parameter Cw-Wert. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
014 A Die Simulation verarbeitet den Parameter Luftdruck. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
015 A Die Simulation verarbeitet den Parameter Rollwiderstandsbeiwert. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
016 A Die Simulation verarbeitet den Parameter Fahrzeugmasse. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
017 I 3 Berechnung
018 A Die Berechungen müssen numerisch druchgeführt werden. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
019 A Die Schrittweite der Berechnung muss für die Aufgabe hinreichend schnell sein. Sie muss in der Simulation untersucht werden und darf maximal 1/10 von der kleinsten Systemzeitkostanten betragen! L. Honerlage M. Wollschläger 27.04.2022 Korrigiert Akzeptiert mit Einschr. … muss in der Simulation untersucht werden und darf maximal 1/10 von der kleinsten Systemzeitkostanten betragen!
020 A Das Programm muss eine Minimierung des Regefehlers von Soll- und Ist-Geschwindigkeit anstreben. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
021 I 4 Umsetzung/Software
022 A Das Modell wird in einem Simulink-Block umgesetzt L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
023 A Der Simulink-Block wird in einer Bibiliothek bereitgestellt. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
024 A Das Modell entspricht den Namenskonventionen für Matlab/Simulink von Prof. Mirek Göbel. (Version 1.1) L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
025 A Variablen im Signanalflussplan werden beschriftet, entsprechend den Namenskoventionen. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
026 A Blöcke im Signanalflussplan werden eingefärbt, entsprechend den Namenskoventionen. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
027 I 5 Rahemnbedingungen
028 A Das Projekt wird nachhaltig im SVN dokumentiert. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
029 A Die Produktentwicklung erfolgt nach dem V-Model. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
030 A Alle Ein- und Ausgangssignale werden in SI-Einheiten angegeben, falls nicht anders defniernt. L. Honerlage M. Wollschläger 27.04.2022 Akzeptiert
031 A Prof. Mirek Göbel bewertet das Projekt mit 1.0. L. Honerlage M. Wollschläger 27.04.2022 Wir arbeiten dran. Akzeptiert mit Einschr. wenn die Leistung stimmt, gerne ;-)))

Funktionaler Systementwurf

Im funktionalen Systementwurf wurde das System in mehrere Subkomponenten unterteilt, für welche eine Teilaufgabe definiert wurde. In Verbindung erfüllen diese Komponenten die Gesamtaufgabe der Komponente Fahrzeuglängsdynamik.

  • Fahrwiderstände: Die Komponente berechnet die Fahrwiderstände, welche auf das Fahrzeug wirken. Im Modell werden dabei der Wind- und Rollwiderstand betrachtet.
  • Bremsen: Die Komponente berechnet die Bremskraft, welche aufgrund einer zu geringen Rekuperationsleistung benötigt wird.
  • Geschwindigkeitsermittlung: Die Komponente berechnet die Geschwindigkeit des Fahrzeugs durch die Integration der Beschleunigung.
  • Hangabtriebskraft: Die Komponente berechnet die durch eine Steigung entstehende Hangabtriebskraft, welche auf das Fahrzeug wirkt.
  • Regler: Die Komponente berechnet die Soll-Leistung des Fahrzeugs. Im Modell wird ein PID-Regler verwendet.
  • Umrechnung P zu F: Die Komponente rechnet die Leistung des Antriebs in die Antriebskraft um.

Weitere Informationen zur Interaktion der einzelnen Komponenten untereinander finden sich im Abschnitt Technischer Systementwurf.

Technischer Systementwurf

Im technischen Systementwurf werden die einzelnen Komponenten sowie deren Zusammenspiel genauer beschrieben. Für diese Entwicklung wurde das Gesamtmodell zunächst auf Papier grob skizziert, bevor ein Simulink-Modell erstellt wird. Hierbei wurden die jeweiligen Unterkomponenten als eigenes Subsystem erstellt. Diese werden mit ihren Ein- und Ausgängen untereinander verbunden und bilden so den Rahmen der Gesamtkomponente Fahrzeuglängsdynamik (FLD). Die interne Implementierung der Subsysteme wird in diesem Schritt noch nicht durchgeführt. Dies folgt in den nächsten Schritten des V-Modells.

Die ermittelten Schnittstellen der einzelnen Komponenten sind in den folgenden Tabellen dargestellt.

Fahrwiderstände

Die Komponente besitzt folgende Eingänge:

Eingänge Beschreibung Einheit
FLD_v_ist_f64 Geschwindigkeit relativ zur Fahrbahn m/s
EHF_v_Wind_f64 Windgeschwindigkeit relativ zur Fahrbahn m/s
FLD_F_Normal_f64 Normalkraft auf die Fahrbahn N

Die Komponente besitzt folgende Ausgänge:

Ausgänge Beschreibung Einheit
FLD_F_Widerstand_f64 Gesamtkraft der Fahrwiderstände N

Bremsen

Die Komponente besitzt folgende Eingänge:

Eingänge Beschreibung Einheit
FLD_P_soll_f64 Soll-Leistung des Antriebs W
FLD_P_ist_f64 Ist-Leistung des Antriebs W
FLD_v_ist_f64 Ist-Geschwindigkeit des Fahrzeuges m/s

Die Komponente besitzt folgende Ausgänge:

Ausgänge Beschreibung Einheit
FLD_F_Bremse_f64 Bremskraft des Fahrzeuges N

Geschwindigkeitsermittlung

Die Komponente besitzt folgende Eingänge:

Eingänge Beschreibung Einheit
PAR_F_B_Max_f64 Maximalwert für die Bremskraft N

Die Komponente besitzt folgende Ausgänge:

Ausgänge Beschreibung Einheit
FLD_v_ist_f64 Ist-Geschwindigkeit des Fahrzeuges m/s

Hangabtriebskraft

Die Komponente besitzt folgende Eingänge:

Eingänge Beschreibung Einheit
EHF_Steigung_Prozent_f64 Steigung, in welcher sich das Fahrzeug befindet. Negative Werte geben ein Gefälle an. Prozent

Die Komponente besitzt folgende Ausgänge:

Ausgänge Beschreibung Einheit
FLD_F_Hang_f64 Resultierende Kraft aus der Steigung in Newton N
FLD_f_Normal_f64 Normalkraft auf die Reifen (wird für Rollwiderstand verwendet) N

Regler

Die Komponente besitzt folgende Eingänge:

Eingänge Beschreibung Einheit
EHF_v_soll_f64 Soll-Geschwindigkeit des Fahrzeuges m/s
EHF_v_ist_f64 Ist-Geschwindigkeit des Fahrzeuges m/s
EHF_P_ist_f64 Ist-Leistung des Fahrzeuges W

Die Komponente besitzt folgende Ausgänge:

Ausgänge Beschreibung Einheit
FLD_P_Soll_f64 Soll-Leistung, welche von der Komponente Antrieb angefordert wird W

Umrechnung P zu F

Die Komponente besitzt folgende Eingänge:

Eingänge Beschreibung Einheit
EHF_P_ist_f64 Ist-Leistung, welche durch die Komponente Antrieb ermittelt wird W
EHF_V_ist_f64 Ist-Geschwindigkeit des Fahrzeuges m/s

Die Komponente besitzt folgende Ausgänge:

Ausgänge Beschreibung Einheit
FLD_F_Antrieb_f64 Die Kraft, welche durch den Antrieb auf das Fahrzeug ausgeübt wird N

Komponentenspezifikation

Nach dem technischen Systementwurf werden die einzelnen Komponenten im Detail spezifiziert. Mithilfe dieser Spezifikationen wird festgelegt, wie die Komponenten umzusetzen sind. Anhand der ermittelten Punkte kann im Anschluss der jeweilige Baustein erstellt und implementiert werden.

Durch [Ausklappen] der einzelnen Teilbereiche werden die detaillierten Tabellen zur Komponentenspezifikation dargestellt.

Fahrwiderstände

Die Komponente berechnet die Fahrwiderstände. Im Modell werden dabei Wind- und Rollwiderstand betrachtet. Die Berechnungen beruhen auf Parametern zur Geometrie des Fahrzeuges, zur Beschaffenheit des Reifen-Fahrbahnsystems und zur Umgebung des Fahrzeuges.


Die folgenden Parameter werden von der Komponente verwendet:

Parameter Beschreibung Wert Einheit
PAR_FLD_cw_Fzg_f64 Cw-Wert des Fahrzeuges 0,3 -
PAR_FLD_A_Front_f64 Stirnfläche des Fahrzeuges 3,2
PAR_FLD_Rollwiderstandsbeiwert_f64 Koeffizient für die Berechnung des Rollwiderstandes 0,013 -
PAR_FLD_roh_Luft_f64 Dichte der Luft 1,225 kg/m³
PAR_FLD_m_Fzg_f64 Masse des Fahrzeuges 2000 kg

In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:

ID Kapitel Inhalt Ersteller Datum 1 Durchsicht von Datum 2
1 Rahmenbedingungen Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
010 Die Berechnung erfolgt in einem Simulink Block Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
020 Es gibt keine weiteren Subsysteme Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
030 Alle Werte in SI-Einheiten, falls nicht anders angegeben Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
2 Luftwiderstand Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
040 Die Gesamtgeschwindigkeit wird relativ zur Luft mittels Addition von Fahrgeschwindigkeit und Luftgeschwindigkeit ermittelt Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
Folgende Formel wird für den Luftwiderstand verwendet Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
050 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
v = Gesamtgeschwindigkeit relativ zur Luft Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
c_w = PAR_FLD_cw_Fzg_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
A = PAR_FLD_A_Front_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
ρ = PAR_FLD_roh_Luft_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
3 Rollwiderstand Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
Folgende Formel wird für den Rollwiderstand verwendet (Multiplikation von Normalkraft und Rollwiderstandsbeiwert) Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
070 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
F_Normal = FLD_F_Normal_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
c_R = PAR_FLD_Rollwiderstandsbeiwert_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
4 Gesamtkraft Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
080 Die Gesamtkraft ergibt sich aus der Addition von F_Wind und F_Roll Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022

Bremsen

Die Komponente Bremse berechnet die durch die Fahrzeugbremsen ausgeübte Kraft. Die benötigte Bremsleistung wird durch den Vergleich von Soll- und Ist-Rekuperationsleistung bestimmt. Im Anschluss wird aus dieser Leistung eine Kraft ausgerechnet, welche schließlich auf die maximal erreichbare Kraft der Bremsen begrenzt wird.

Die folgenden Parameter werden von der Komponente verwendet:

Parameter Beschreibung Wert Einheit
PAR_F_B_Max_f64 Maximalwert für die Bremskraft 20000 N

In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:

ID Kapitel Inhalt Ersteller Datum 1 Durchsicht von Datum 2
1 Rahmenbedingungen Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
010 Die Berechnung erfolgt in einem Simulink Block Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
020 Es gibt keine weiteren Subsysteme Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
030 Alle Werte in SI-Einheiten, falls nicht anders angegeben Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
2 Leistung Differenz Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
040 Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
P_ist = FLD_P_ist_f64 Mario Wollschläger 18.05.2022 Lukas Honerlage 18.05.2022
P_soll = FLD_P_soll_f64 Mario Wollschläger 18.05.2022 Lukas Honerlage 18.05.2022
3 Berechung der Bremskraft Mario Wollschläger 18.05.2022 Lukas Honerlage 18.05.2022
050 Wenn die Sollleistung negativ ist, dann wird die Bremskraft wie folgt berechnet: Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
060 Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
v_ist = FLD_v_ist_f64 Mario Wollschläger 18.05.2022 Lukas Honerlage 18.05.2022
Die Bremskraft wird auf den Schwellwert PAR_F_B_Max_f64 begrenzt Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022

Geschwindigkeitsermittlung

Die Komponente berechnet die Geschwindigkeit des Fahrzeuges. Die Berechnung beruht auf der Gesamtkraft des Fahrzeuges, welche durch die Summe der Fahrzeugmasse geteilt wird.


Die folgenden Parameter werden von der Komponente verwendet:

Parameter Beschreibung Wert Einheit
PAR_FLD_m_Fzg_f64 Masse des Fahrzeuges 2000 kg
PAR_FLD_J_Rad_f64 Massenträgheitsmoment eines Rades 70 kg m²
PAR_FLD_r_Rad_f64 Radius eines Rades 0,55 m

Das Trägheitsmoment rotierender Komponenten wie die Reifen eines Autos kann ebenfalls durch eine Ersatzmasse simuliert werden. Die entsprechende Formel ist den Spezifikationen zu entnehmen. In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:

ID Kapitel Inhalt Ersteller Datum 1 Durchsicht von Datum 2
1 Rahmenbedingungen Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
010 Die Berechnung erfolgt in einem Simulink Block Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
020 Es gibt keine weiteren Subsysteme Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
030 Alle Werte in SI-Einheiten, falls nicht anders angegeben Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
2 Erstatzmasse des Massenträgheitsmoments eines Rades Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
040 Mario Wollschläger 18.05.2022 Lukas Honerlage 18.05.2022
J = PAR_FLD_J_Rad_f64 Mario Wollschläger 18.05.2022 Lukas Honerlage 18.05.2022
r = PAR_FLD_r_Rad_f64 Mario Wollschläger 18.05.2022 Lukas Honerlage 18.05.2022
3 Berechnung der Beschleunigung Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
050 Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
060 Die Geschwindigkeit wird durch die Integration der Beschleunigung berechnet Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
a_Fzg = FLD_v_ist_f64 Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
F_Ges = FLD_F_Ges_f64 Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
m_Fzg = FLD_v_ist_f64 Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022

Hangabtriebskraft

Die Komponente berechnet die durch eine Steigung entstehende Hangabtriebskraft. Die Berechnung beruht auf Parametern der Steigung, Fahrzeugmasse und Erdbeschleunigung.

Die folgenden Parameter werden von der Komponente verwendet:

Parameter Beschreibung Wert Einheit
PAR_FLD_g_f64 Erdbeschleunigung 9,81 m/s²
PAR_FLD_m_Fzg_f64 Masse des Fahrzeuges 2000 kg

In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:

ID Kapitel Inhalt Ersteller Datum 1 Durchsicht von Datum 2
1 Rahmenbedingungen Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
010 Die Berechnung erfolgt in einem Simulink Block Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
020 Es gibt keine weiteren Subsysteme Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
030 Alle Werte in SI-Einheiten, falls nicht anders angegeben Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
2 Berechnung Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
Folgende Formeln werden für die Berechung verwendet Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
040 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
050 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
Die Variablen sind folgendermaßen zuzuordnen: Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
m = PAR_FLD_m_Fzg_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
g = PAR_FLD_g_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
s = EHF_Steigung_Prozent_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
F_Hang = FLD_F_Hang_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
F_Normal = FLD_F_Normal_f64 Mario Wollschläger 12.05.2022 Lukas Honerlage 18.05.2022
Fahrzeugleangsdynamik-FLD

Da die Steigung in Prozent angegeben wird, beschreibt diese ebenfalls das Verhältnis der Hangabtriebskraft zur Normalkraft des Fahrzeuges auf die Fahrbahn.

Die beiden Kräftevektoren zusammen ergeben die Gewichtskraft, welche auf das Fahrzeug wirkt. Hierbei gilt, dass Normal- und Gewichtskraft im rechten Winkel zueinander stehen. Dadurch kann der Satz des Pythagoras angewandt werden. Durch Umformung kann ein Zusammenhang zwischen der Normalkraft und der Steigung in Prozent hergeleitet werden.


Durch Multiplikation der Normalkraft mit der Steigung kann die Hangabtriebskraft errechnet werden. Diese ergibt sich dann zu:

Regler

Der Regler berechnet aus der Soll-Geschwindigkeit und der Ist-Geschwindigkeit des Fahrzeuges die benötigte Soll-Leistung des Antriebes zur Minimierung der Regelabweichung. Um ein möglichst schnelles Ansprechverhalten ohne ständige Regelabweichung zu realisieren, wird ein PID-Regler verwendet. Durch den Vergleich von Soll- und Ist-Leistung des Antriebes wird eine Anti-Windup-Strategie umgesetzt, welche dieses ungewünschte Verhalten des I-Anteils des PID-Reglers verhindert.

Die Parameter des PID-Reglers werden mit der Sprungantwortmethode ermittelt. Das Vorgehen ist im folgenden Kapitel Programmierung / Modellierung dargestellt. Die folgenden Parameter werden von der Komponente verwendet:

Parameter Beschreibung Wert Einheit
PAR_FLD_KP_f64 P-Faktor des PID-Reglers 7594,5 -
PAR_FLD_KI_f64 I-Faktor für den Integrationsanteil des PID-Reglers 45566,7 -
PAR_FLD_KD_f64 D-Faktor für den Differentialanteil des PID-Reglers 11391,7 -

In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:

ID Kapitel Inhalt Ersteller Datum 1 Durchsicht von Datum 2
1 Rahmenbedingungen Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
010 Die Berechnung erfolgt in einem Simulink Block Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
020 Es gibt keine weiteren Subsysteme Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
030 Alle Werte in SI-Einheiten, falls nicht anders angegeben Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
2 Umsetzung Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
040 Die Soll-Leistung wird mit einem PID-Regler bestimmt Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
050 P,I,D Parameter werden mittels Sprungantwortmethode ermittelt Lukas Honerlage 16.05.2022 Mario Wollschläger 18.05.2022
3 Anti-Windup Lukas Honerlage 18.05.2022 Mario Wollschläger 19.05.2022
060 Das Anti-Windup Problem wird durch einen Vergleich von Soll- und Ist-Leistung umgesetzt. Mario Wollschläger 04.07.2022 Lukas Honerlage 04.07.2022
070 Die Regeldifferenz in der Leistung wird bestimmt (Soll - Ist) Mario Wollschläger 04.07.2022 Lukas Honerlage 04.07.2022
080 Die Regeldifferenz wird mit einem konstanten Wert multipliziert. (Der Wert wird bei der Inbetreibnahme bestimmt) Mario Wollschläger 04.07.2022 Lukas Honerlage 04.07.2022
090 Die Regeldifferenz wird vor dem Integrator des I-Anteils abgezogen Mario Wollschläger 04.07.2022 Lukas Honerlage 04.07.2022

Umrechnung P zu F

Mit dieser Komponente wird die vom Antrieb zur Verfügung gestellte Radleistung in eine Kraft umgewandelt. Diese Berechnung erfolgt auf Basis der Momentangeschwindigkeit des Fahrzeuges. Zur Beachtung von Radschlupf wird die Antriebskraft auf einen Maximalwert begrenzt.

Die folgenden Parameter werden von der Komponente verwendet:

Parameter Beschreibung Wert Einheit
PAR_F_Antireb_Max_f64 Maximalkraft, welche durch den Antrieb ausgeübt werden kann 10000 N

In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente:

ID Kapitel Inhalt Ersteller Datum 1 Durchsicht von Datum 2
1 Rahmenbedingungen Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
010 Die Berechnung erfolgt in einem Simulink Block Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
020 Es gibt keine weiteren Subsysteme Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
030 Alle Werte in SI-Einheiten, falls nicht anders angegeben Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
2 Umrechnung Leistung zu Newton Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
040 Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
F_A = FLD_F_Antrieb_f64 Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
P_A = EHF_V_ist_f64 Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
v_ist = FLD_F_Antrieb_f64 Lukas Honerlage 12.05.2022 Mario Wollschläger 18.05.2022
050 Die Kraft wird auf einen Maximalwert begrenzt Mario Wollschläger 18.05.2022 Lukas Honerlage 18.05.2022

Programmierung / Modellierung

In der Programmierung werden die einzelnen Komponenten entsprechend zuvor definierter Spezifikationen umgesetzt. Die Implementierung erfolgt in dem bereits für den technischen Systementwurf erstellten Simulink-Modell. Ebenfalls werden die Parameter angelegt. Alle Parameter, welche von der Komponente Fahrzeuglängsdynamik verwendet werden, sind in einer Matlab-Datei zusammengefasst. Diese Datei wird beim Start des Modells aufgerufen, sodass die entsprechenden Konstanten im Workspace angelegt werden.

% Parameterdatei fuer FLD (Fahrzeuglängsdynamik)
% ***********************************************************\
%
% Projekt: EHF - Energiehaushalt eines Fahrzeugs
%
% Teilprojekt: FLD - Fahrzeuglängsdynamik
%
% Implementierung : MATLAB R2020a
%
% Toolbox : Simulink
%
% Autor : Mario Wollschläger, Lukas Honerlage
%
%************************************************************/

PAR_FLD_cw_Fzg_f64 = 0.3;                   %Cw-Wert des Fahrzeuges (Einheitenlos)
PAR_FLD_A_Front_f64 = 3.2;                  %Stirnfläche des Fahrzeuges (m^2)
PAR_FLD_Rollwiderstandsbeiwert_f64 = 0.013; %Koeffizient für die Berechnung des Rollwiderstandes (Einheitenlos)
PAR_FLD_roh_Luft_f64 = 1.225;               %Dichte der Luft (kg/m^3)
PAR_FLD_m_Fzg_f64 = 2000;                   %Masse des Fahrzeuges (kg)
PAR_FLD_g_f64 = 9.81;                       %Erdbeschleunigung (m/s^2)
PAR_FLD_J_Rad_f64 = 70;                     %Massenträgheitsmoment eines Rades (kg m^2)
PAR_FLD_r_Rad_f64 = 0.55;                   %Radius eines Rades (m)
PAR_FLD_F_B_Max_f64 = 20000;                %Maximalwert für die Bremskraft (N) (Abgeschätzt: 1 g Verzögerung bei 2 Tonnen Fahrzeugmasse)
PAR_FLD_KP_f64 = 7594.5;                    %P-Faktor des PID-Reglers (Einheitenlosen)
PAR_FLD_KI_f64 = 45566.7;                   %I-Faktor für den Integrationsanteil des PID-Reglers (Einheitenlos)
PAR_FLD_KD_f64 = 11391.7;                   %D-Faktor für den Differentialanteil des PID-Reglers (Einheitenlos)
PAR_FLD_F_Antrieb_Max_f64 = 10000;          %Maximalkraft, welche durch den Antrieb ausgeübt werden kann (N)

Im Folgenden ist die Implementierung der einzelnen Submodule in Simulink zu sehen.

Fahrwiderstände

Fahrzeugleangsdynamik-FLD


Bremsen

Fahrzeug-Bremsen-FLD


Geschwindigkeitsermittlung

Fahrzeug-Geschwindigkeitsermittlung-FLD


Hangabtriebskraft

Fahrzeug-Hangabtriebskraft -FLD


Regler

Fahrzeug-Regler-FLD


Die Regler-Parameter Kp, Ki und Kd werden mittels der Sprungantwortmethode nach Ziegler und Nichols bestimmt.[2] Hierfür wurde ein Einheitsprung in die Regelstrecke eingeleitet und die Sprungantwort aufgenommen. Diese Sprungantwort wurde im Anschluss mittels eines PT1-Gliedes mit Totzeit approximiert. Aus den Kostanten der Approximation können die Regler-Parameter berechnet werden.


Umrechnung P zu F

In der Programmierung wird das Problem abgefangen, dass nicht durch Null geteilt werden darf. Wenn die Ist-Geschwindigkeit gleich Null ist, wird diese auf den Wert 0.0001 gesetzt. Durch den sehr kleinen Wert wird das Gesamtergebnis nur so verändert, dass es vernachlässigt werden kann.

Fahrzeug-Umrechnung P zu F FLD


Komponententest

Der Komponententest für die Komponenten der Fahrzeuglängsdynamik wurde durch die Gruppe FKI durchgeführt. Im Folgenden ist die Dokumentation der Tests zu sehen.

Fahrwiderstände

Parameter Wert Einheit
PAR_FLD_cw_Fzg_f64 0,3 -
PAR_FLD_A_Front_f64 3,2
PAR_FLD_Rollwiderstandsbeiwert_f64 0,013 -
PAR_FLD_roh_Luft_f64 1,225 kg/m³
PAR_FLD_m_Fzg_f64 2000 kg
Simulationsdaten Wert Einheit
EHF_v_Wind_f64 6 m/s
EHF_v_Wind_f64 41,6667 m/s
FLD_v_ist_f64 13,8889 m/s
FLD_v_ist_f64 41,6667 m/s
FLD_F_Normal_f64 19620 N
FLD_F_Normal_f64 1565 N
Testfall-ID Testfall-Name Anforderungs-ID Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
010 Rahmenbedingungen eingehalten 010, 020, 030 - Visuelle Überprüfung der Komponente Simulink Block, keine Subsysteme, alle Einheiten SI keine Subsysteme, Parameter in SI-Einheiten i. O.
020 Eingänge, Ausgänge und Parameter - - Vergleich Modell mit der Komponentenspezifikation (KS) Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine die in der KS nicht vorhanden sind Alles stimmt mit der KS überein i. O.
030 Test auf richtige Formel (FWind) 050 FLD_v_ist_f64 = 6 EHF_v_Wind_f64 = 13.8889 Simulation bei einer normalen Luftgeschwindigkeit von 6 m/s und einer Fahrgeschwindigkeit von 13,8889 m/s (=50 km/h) Fwind = 0.5*cw*A*roh*v² = 0.5*0.3*3.2*1.225*(6+13.8889)² = 232.5941 N Fwind = 232.6 N i. O.
040 Test auf richtige Formel (FWind) 050 FLD_v_ist_f64 = 41.6667 EHF_v_Wind_f64 = 41.6667 Simulation bei einer Luftgeschwindigkeit von 41,6667 (=150km/h) und einer Fahrgeschwindigkeit von 41,6667 m/s (=150 km/h) Fwind = 0.5*cw*A*roh*v² = 0.5*0.3*3.2*1.225*(41.6667*2)² = 4083.3398 N Fwind = 4083 N i. O.
050 Test auf richtige Formel (FRoll) 070 FLD_F_Normal_f64 = 19620 Simulation bei einer Normalkraft von 19620 N ( bei 0 % Steigung) FRoll = cr*FNormal = 0.013*19620=255,06 N FRoll = 255.1 N i. O.
060 Test auf richtige Formel (FRoll) 070 FLD_F_Normal_f64 = 1565 Simulation bei einer Normalkraft von 1565 N ( bei 8 % Steigung) FRoll = cr*FNormal = 0.013*1565 = 20.345 N FRoll = 20.34 N i. O.
070 Test auf richtige Formel (FWinderstand) 080 FLD_v_ist_f64 = 41.6667 EHF_v_Wind_f64 = 41.6667 FLD_F_Normal_f64 = 1565 Simulation bei Luftgeschwindigkeit von 41,6667, einer Fahrgeschwindigkeit von 41,6667 m/s und einer Normalkraft von 1565 N FWinderstand = FWind+FRoll = 4083.3398 + 20.345 = 4103.6848 N FWiderstand = 4104 N i. O.

Bremsen

Testumgebung der Bremsen
Parameter Wert Einheit
EHF_P_ist_f64 36,7749 kW
FLD_P_soll_f64 35 kW
FLD_v_ist_f64 13,8889 m/s
Simulationsdaten Wert Einheit
EHF_P_ist_f64 36,7749 kW
FLD_P_soll_f64 35 kW
FLD_v_ist_f64 13,8889 m/s
Testfall-ID Testfall-Name Anforderungs-ID Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
010 Test auf richtige Formel 040 EHF_P_ist_f64 FLD_P_soll_f64 FLD_v_ist_f64 = 13.8889 m/s Berechnung bei negativer Soll-Leistung FB = (Pist-Psoll)/Vist = 5.1677 N FB = 5.1677 N i. O.
020 Test auf richtige Formel 060 EHF_P_ist_f64 FLD_P_soll_f64 FLD_v_ist_f64 = 13.8889 m/s Berechnung bei positiver Soll-Leistung FB = (Pist-Psoll)/Vist = 0.1277 N FB = 0.1277 N i. O.
030 Test auf richtige Formel 060 EHF_P_ist_f64 FLD_P_soll_f64 FLD_v_ist_f64 = 13.8889 m/s Berechnung bei negativer Ist-Leistung FB = (Pist-Psoll)/Vist = -0.1277 N FB = -0.1277 N i. O.
040 Rahmenbedingungen eingehalten 010, 020, 030 - Visuelle Überprüfung der Komponente Simulink, keine Subsysteme, alle Einheiten SI keine Subsysteme, Parameter in SI-Einheiten i. O.
050 Eingänge, Ausgänge und Parameter - - Vergleich Modell mit der Komponentenspezifikation (KS) Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind PAR_F_B_Max_f64 in Parameterdatei anders benannt n. i. O. PAR_F_B_Max_f64 heißt in Simulink PAR_FLD_F_B_Max_f64

Geschwindigkeitsermittlung

Testumgebung der Geschwindigkeitsermittlung
Parameter Wert Einheit
PAR_FLD_J_Rad_f64 0 kg m²
PAR_FLD_r_Rad_f64 0,55 m
FLD_F_Ges_f64
PAR_FLD_m_Fzg_f64 2000 kg
Simulationsdaten Wert Einheit
FLD_F_Ges_f64 konstant 1, Rechtecksignal in Testfall 007 kg m/s²



Testfall-ID Testfall-Name Anforderungs-ID Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
001 Rahmenbedingungen eingehalten 010, 020, 030 - Visuelle Überprüfung der Komponente Simulink, keine Subsysteme, alle Einheiten SI keine Subsysteme, Parameter in SI-Einheiten i. O.
002 Eingänge, Ausgänge und Parameter - - Vergleich Modell mit der Komponentenspezifikation (KS) Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind Alles stimmt mit der KS überein i. O.
003 Berechnung der Ersatzmasse m_Ersatz 040 J = 1 r = PAR_FLD_r_Rad_f64 = 0.55 Vergleich m_Erstatz im Modell mit manueller Berechnung m_Ersatz = J/r² = 3.306 m_Ersatz = 3.306 i. O. Wert 0 für PAR_FLD_J_Rad_f64 in Parameterdatei nicht sinnvoll ➔ Ersatzwert 1 kg m² Ein "t" zu viel im Signalnamen ("m_Erstatz")
004 Berechnung der Beschleunigung a_Fzg 050 m_Erstatz = 3.306 FLD_F_Ges_f64 = konstant 1 Vergleich Inputsignal des Integrators im Modell mit manueller Berechnung a_Fzg = 4.96*10^-4 gemäß Formel in A. 050 a_Fzg = 4.96*10^-4 i. O.
005 Berechnung der Geschwindigkeit FLD_v_ist_f64 (positive Kraft) 060 m_Ersatz = 0 Simulation (10 Schritte) FLD_v_ist_f64 = 10/2000 FLD_v_ist_f64 = 0.005 i. O.
006 Berechnung der Geschwindigkeit FLD_v_ist_f64 (negative Kraft) 060 m_Ersatz = 0 Simulation (10 Schritte) FLD_v_ist_f64 = -10/2000 FLD_v_ist_f64 = -0.005 i. O.
007 Berechnung der Geschwindigkeit FLD_v_ist_f64 (variable Kraft) 060 m_Ersatz = 0 FLD_F_Ges_f64 ist Rechtecksignal mit Amplitude 1, ändert Vorzeichen alle 2 Simulationsschritte Simulation (10 Schritte) FLD_v_ist_f64 = 0 FLD_v_ist_f64 = 0 i. O.

Hangabtriebskraft

Testumgebung der Hangabtriebskraft
Parameter Wert Einheit
PAR_FLD_g_f64 9,81 m/s²
PAR_FLD_m_Fzg_f64 2000 kg
Simulationsdaten Wert Einheit
EHF_Steigung_f64 8 %
EHF_Steigung_f64 0 %
Testfall-ID Testfall-Name Anforderungs-ID Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
010 Test auf richtige Formel (Hang) 040 Parameter geladen. EHF_Steigung_f64 = 8 % PAR_FLD_m_Fzg_f64 = 2000 kg Simulation bei einer Steigung von 8 % Fhang = (m*g*s) / sqrt(1+EHF_Steigung_f64²) = 1564,6012 N Fhang = 1575 N n. i. O. Operator muss zu Divide geändert werden
020 Test auf richtige Formel (Normal) 050 Parameter geladen. EHF_Steigung_f64 = 0 % PAR_FLD_m_Fzg_f64 = 2000 kg Simulation bei einer Steigung von 0% (Normalfall) Fnormal = (m*g) / sqrt(1+EHF_Steigung_f64²) = 19620 N Fnormal = 19620 N i. O.
030 Rahmenbedingungen eingehalten 010, 020, 030 - Visuelle Überprüfung der Komponente Simulink, keine Subsysteme, alle Einheiten SI keine Subsysteme, Parameter in SI-Einheiten i. O.
040 Eingänge, Ausgänge und Parameter - - Vergleich Modell mit der Komponentenspezifikation (KS) Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind Alles stimmt mit der KS überein i. O.

Regler

Testumgebung des Reglers
Parameter Wert Einheit
PAR_FLD_KP_f64 (KP) 7594,5
PAR_FLD_KI_f64 (KI) 45566,7
PAR_FLD_KD_f64 (KD) 11391,7
Simulationsdaten Wert Einheit
EHF_v_soll_f64 Step bei T = 1 von 0 auf 10 m/s
EHF_v_ist_f64 0 m/s
EHF_P_ist_f64 0 W
Testfall-ID Testfall-Name Anforderungs-ID Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
001 Rahmenbedingungen eingehalten 010, 020, 030 - Visuelle Überprüfung der Komponente Simulink, keine Subsysteme, alle Einheiten SI keine Subsysteme, Parameter in SI-Einheiten i. O.
002 Eingänge, Ausgänge und Parameter - - Vergleich Modell mit der Komponentenspezifikation (KS) Alle Eingänge, Ausgänge, und Parameternamen stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind Alles stimmt mit der KS überein i. O.
003 PID-Regler 040 - Visuelle Überprüfung der Komponente PID-Regler vorhanden PID-Regler vorhanden i. O.
004 P-Anteil 040 KP = 2, KI = 0, KD = 0 Simulation (10 Zeitschritte) P_Soll(10) = (v_soll - v_ist) * KP = 20 P_Soll ist proportional zur Geschwindigkeitsdiff. = 20 i. O.
005 I-Anteil 040 KP = 0, KI = 0.1, KD = 0 Simulation (10 Zeitschritte) P_Soll(10) = (v_soll - v_ist) * 9 * KI = 9 P_Soll ist proportional zum Integral der Diff. = 9 i. O.
006 D-Anteil 040 KP = 0, KI = 0, KD = 1 Simulation (10 Zeitschritte) P_Soll = 0 P_Soll ist proportional zur Änderungsrate der Geschwindigkeitsdiff. = 0 i. O. Sprungeingang führt zu kurz unendlich hohem P_Soll (Steigung d. Geschwindigkeitsdifferenz unendlich)
007 Ermittlung der Reglerkonstanten 050 KD = 0 Simulation (10 Zeitschritte) Die Sollleistung mit den ermittelten Parametern aus der Parameterdatei liegt im für ein Fahrzeug üblichen Rahmen P_Soll erreicht nach 9 Sek. ca. 100 kW. i. O.
008 Anti-Windup 060 Anmerkung Mangels komplettem Regelkreislauf kann die Parameterwahl und die Anti-Windup-Maßnahme im Rahmen dieses Komponententests noch nicht validiert werden.


Umrechnung P zu F

Parameter Wert Einheit
PAR_F_Antireb_Max_f64 10000 N
Simulationsdaten Wert Einheit
EHF_P_ist_f64 59655,9897 W
EHF_V_ist_f64 41,6667 m/s
EHF_P_ist_f64 149139,974 W
EHF_V_ist_f64 2,77777778 m/s
Testfall-ID Testfall-Name Anforderungs-ID Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
010 Rahmenbedingungen eingehalten 010, 020, 030 - Visuelle Überprüfung der Komponente Simulink Block, keine Subsysteme, alle Einheiten SI keine Subsysteme, Parameter in SI-Einheiten i. O.
020 Eingänge, Ausgänge und Parameter - - Vergleich Modell mit der Komponentenspezifikation (KS) Alle Eingänge, Ausgänge und Parameter stimmen mit der KS überein, es gibt keine, die in der KS nicht vorhanden sind Parameter für die Maximalkraft ist nicht gekennzeichnet n. i. O.
030 Test auf richtige Formel 040 EHF_P_ist_f64 = 59655.9897 EHF_V_ist_f64 = 41.6667 Simulation bei einer Leistung von 59655,9897 W (= 80 PS) und einer Fahrgeschwindigkeit von 41,6667 m/s (= 150 km/h) Fa=Pa/v ist = 59655,9867/41,6667 = 1431,74261 N Fa=1432 N i. O.
040 Test auf die Begranzung auf einen Maximalwert 050 Die Kraft wird auf 10000 begrenzt EHF_P_ist_f64 = 149139.974 EHF_V_ist_f64 = 2.77777778 Simulation bei einer Leistung von 149139,974 W (= 200 PS) und einer Fahrgeschwindigkeit von 2,77777778 m/s (= 10 km/h) FLD_F_Antrieb_f64=10000 N FLD_F_Antrieb_f64=1e+04 N i. O.

Integrationstest

Der Integrationstest war im Sommersemester 2022 kein Bestandteil des Kurses Systems-Design-Engineering im Studiengang BSE.

Systemtest

Der Systemtest war im Sommersemester 2022 kein Bestandteil des Kurses Systems-Design-Engineering im Studiengang BSE.

Abnahme

Die Abnahme war im Sommersemester 2022 kein Bestandteil des Kurses Systems-Design-Engineering im Studiengang BSE.

Fazit

Während des Sommersemesters 2022 war die Seminaraufgabe, den Energiehaushalt eines Fahrzeuges mithilfe des V-Modells zu entwickeln. Angefangen von der Anforderungsdefinition bis zum Komponententest. Die Bereiche Integrationstest, Systemtest und Abnahme waren dieses Semester kein Bestandteil des Kurses. Im ersten Schritt wurden die einzelnen Anforderungen definiert. Im zweiten Schritt wurde der Technische Systementwurf durchgeführt. Dieser beinhaltet eine anfängliche Skizze, welche später in Matlab umgesetzt wurde. Ebenfalls wurden die Ein- und Ausgänge der einzelnen Submodule definiert. In der Komponentenspezifikation wurde in einer Tabelle beschrieben, wie die Umsetzung im Programmierteil aussehen soll. Des Weiteren wurden hier die verwendeten Parameter aufgeführt. Bei der späteren Umsetzung in Matlab/Simulink wurden diese entsprechend der Spezifikationen umgesetzt. Zum Schluss wurde der Komponententest der Gruppe FKI durchgeführt, wodurch noch kleine Fehler entdeckt werden konnten. Diese wurden im Anschluss behoben.

Somit wurde mit der Seminaraufgabe die Durchführung des V-Modells praktiziert. Hierbei wurden sowohl die Verifikation als auch die Validierung durchgeführt. Das Hauptaugenmerk lag in diesem Semester auf dem linken Pfad des V-Modells, wodurch der Entwicklungszweig vollständig durchlaufen wurde. Ebenfalls konnte mit den Komponententests der erste Schritt des rechten Pfades im V-Modell, dem Testen, durchgeführt werden.

Literatur

  1. https://www.nzz.ch/mobilitaet/auto-mobil/ungewoehnlicher-elektroautohersteller-deutsche-post-will-e-auto-anbieter-werden-ld.121237
  2. Ziegler, J. G.; Nichols, N. B.: Optimum settings for automatic controllers, Trans. ASME, 64 (1942), pp. 759–768

→ zum Hauptartikel: Systems Design Engineering - Seminaraufgabe SoSe 2022: Energiehaushalt eines E-Fahrzeugs