Seminaraufgabe SoSe 2022: EHF Gruppe FLD: Unterschied zwischen den Versionen
(→Regler) |
(→Fazit) |
||
(272 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 | 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 | 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 === | === Aufgabe der Komponente Fahrzeuglängsdynamik (FLD) === | ||
Die Komponente Fahrzeuglängsdynamik modelliert die Bewegung | 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 ''' | | align="center" style="background:#ffc960;"|'''Kommentar Auftraggeber ''' | ||
|- | |- | ||
| 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 | | 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 | | 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 | | 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 | | 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 | | 013||A||||Die Simulation verarbeitet den Parameter Cw-Wert. ||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert|| | ||
|- | |- | ||
| 014||A||||Die Simulation verarbeitet den | | 014||A||||Die Simulation verarbeitet den Parameter Luftdruck.||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert|| | ||
|- | |- | ||
| 015||A||||Die Simulation verarbeitet den | | 015||A||||Die Simulation verarbeitet den Parameter Rollwiderstandsbeiwert. ||L. Honerlage M. Wollschläger||27.04.2022||||Akzeptiert|| | ||
|- | |- | ||
| 016||A||||Die Simulation verarbeitet den | | 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|| | | 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 | | 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 | | 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 | 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 | * '''Hangabtriebskraft:''' Die Komponente berechnet die durch eine Steigung entstehende Hangabtriebskraft, welche auf das Fahrzeug wirkt. | ||
* '''Regler:''' Die Komponente berechnet die | * '''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 | 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 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 123: | Zeile 124: | ||
</gallery> | </gallery> | ||
Die ermittelten Schnittstellen der einzelnen Komponenten sind in den folgenden Tabellen dargestellt. | |||
=== Fahrwiderstände === | === Fahrwiderstände === | ||
Die Komponente besitzt folgende Eingänge: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:#e7d050; width:250px;"|'''Eingänge''' | | align="center" style="background:#e7d050; width:250px;"|'''Eingänge''' | ||
Zeile 133: | Zeile 133: | ||
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit''' | | align="center" style="background:#f0f0f0; width:100px;"|'''Einheit''' | ||
|- | |- | ||
| FLD_v_ist_f64|| | | 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 141: | Zeile 141: | ||
|} | |} | ||
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_Widerstand_f64||Gesamtkraft der Fahrwiderstände||N | |||
|- | |||
|} | |||
=== 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" | {| class="wikitable" | ||
| align="center" style="background:#00CA00; width:250px;"|'''Ausgänge''' | | align="center" style="background:#00CA00; width:250px;"|'''Ausgänge''' | ||
Zeile 147: | Zeile 172: | ||
| align="center" style="background:#f0f0f0; width:100px;"|'''Einheit''' | | 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: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:#5ebef3; width:250px;"|'''Parameter''' | | align="center" style="background:#5ebef3; width:250px;"|'''Parameter''' | ||
Zeile 170: | Zeile 292: | ||
|} | |} | ||
In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:#80a0ff;"|'''ID''' | | align="center" style="background:#80a0ff;"|'''ID''' | ||
Zeile 194: | Zeile 316: | ||
| ||||Folgende Formel wird für den Luftwiderstand verwendet||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||||<math> F_{Wind} = \frac{1}{2} | | 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 | ||
|- | |- | ||
| ||||v = Gesamtgeschwindigkeit relativ zur Luft||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 | ||
Zeile 208: | Zeile 330: | ||
| ||||Folgende Formel wird für den Rollwiderstand verwendet (Multiplikation von Normalkraft und Rollwiderstandsbeiwert)||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|||| <math> | | 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 | | ||||F_Normal = FLD_F_Normal_f64||Mario Wollschläger||12.05.2022||Lukas Honerlage||18.05.2022 | ||
Zeile 217: | Zeile 339: | ||
|- | |- | ||
| 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 | | 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> | ||
=== Bremsen === | === 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. | |||
<div class="mw-collapsible mw-collapsed "> | <div class="mw-collapsible mw-collapsed "> | ||
Die folgenden Parameter | 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 258: | Zeile 358: | ||
|} | |} | ||
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:#80a0ff;"|'''ID''' | | align="center" style="background:#80a0ff;"|'''ID''' | ||
Zeile 288: | 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 297: | Zeile 397: | ||
=== Geschwindigkeitsermittlung === | === Geschwindigkeitsermittlung === | ||
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 folgenden Parameter werden von der Komponente verwendet: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:# | | align="center" style="background:#5ebef3; width:250px;"|'''Parameter''' | ||
| align="center" style="background:#f0f0f0; width:688px;"|'''Beschreibung''' | | align="center" style="background:#f0f0f0; width:688px;"|'''Beschreibung''' | ||
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert''' | | align="center" style="background:#f0f0f0; width:100px;"|'''Wert''' | ||
Zeile 331: | 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: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:#80a0ff;"|'''ID''' | | align="center" style="background:#80a0ff;"|'''ID''' | ||
Zeile 346: | 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 | | 030||||Alle Werte in SI-Einheiten, falls nicht anders angegeben||Lukas Honerlage||16.05.2022||Mario Wollschläger||18.05.2022 | ||
|- | |- | ||
| ||2||Erstatzmasse des | | ||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 372: | Zeile 460: | ||
=== Hangabtriebskraft === | === Hangabtriebskraft === | ||
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 folgenden Parameter werden von der Komponente verwendet: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:# | | align="center" style="background:#5ebef3; width:250px;"|'''Parameter''' | ||
| align="center" style="background:#f0f0f0; width:688px;"|'''Beschreibung''' | | align="center" style="background:#f0f0f0; width:688px;"|'''Beschreibung''' | ||
| align="center" style="background:#f0f0f0; width:100px;"|'''Wert''' | | align="center" style="background:#f0f0f0; width:100px;"|'''Wert''' | ||
Zeile 402: | Zeile 474: | ||
|} | |} | ||
In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:#80a0ff;"|'''ID''' | | align="center" style="background:#80a0ff;"|'''ID''' | ||
Zeile 423: | 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|||| | | 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_{ | | 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 440: | 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 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 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 476: | Zeile 560: | ||
|} | |} | ||
In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:#80a0ff;"|'''ID''' | | align="center" style="background:#80a0ff;"|'''ID''' | ||
Zeile 495: | 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 | | 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 501: | 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 | | 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 | | 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 | | 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. 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 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 540: | Zeile 610: | ||
|} | |} | ||
In der folgenden Tabelle finden sich die Spezifikationen zur Umsetzung der Komponente: | |||
{| class="wikitable" | {| class="wikitable" | ||
| align="center" style="background:#80a0ff;"|'''ID''' | | align="center" style="background:#80a0ff;"|'''ID''' | ||
Zeile 572: | Zeile 643: | ||
== Programmierung / Modellierung == | == 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. | |||
<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 === | |||
[[Datei:FLD_Fahrwiderstaende.png|500px|thumb|links|Fahrzeugleangsdynamik-FLD]] | |||
<br clear=all> | |||
=== Bremsen === | |||
[[Datei:FLD_Bremsen.png|500px|thumb|links|Fahrzeug-Bremsen-FLD]] | |||
<br clear=all> | |||
=== Geschwindigkeitsermittlung === | |||
[[Datei:FLD_Geschwindigkeitsermittlung .png|500px|thumb|links|Fahrzeug-Geschwindigkeitsermittlung-FLD]] | |||
<br clear=all> | |||
=== Hangabtriebskraft === | |||
[[Datei:FLD_Hangabtriebskraft .png|500px|thumb|links|Fahrzeug-Hangabtriebskraft -FLD]] | |||
<br clear=all> | |||
=== Regler === | |||
[[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> | |||
=== 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. | |||
[[Datei:FLD_UmrechnungPzuF.png|500px|thumb|links|Fahrzeug-Umrechnung P zu F FLD]] | |||
<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 === | |||
{| 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 "> | |||
{| class="wikitable" | |||
| align="center" style="background:#80a0ff;"|'''Testfall-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Testfall-Name''' | |||
| align="center" style="background:#80a0ff;"|'''Anforderungs-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Vorbedingungen und Eingänge''' | |||
| align="center" style="background:#80a0ff;"|'''Aktionen''' | |||
| align="center" style="background:#80a0ff;"|'''Erwartetes Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Bewertung''' | |||
| align="center" style="background:#80a0ff;"|'''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.|| [[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² = 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.|| [[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.|| [[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.|| [[Datei:FLD_Bild5.png|500px|thumb|rechts]] | |||
|} | |||
</div> | |||
=== 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 "> | |||
{| class="wikitable" | |||
| align="center" style="background:#80a0ff;"|'''Testfall-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Testfall-Name''' | |||
| align="center" style="background:#80a0ff;"|'''Anforderungs-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Vorbedingungen und Eingänge''' | |||
| align="center" style="background:#80a0ff;"|'''Aktionen''' | |||
| align="center" style="background:#80a0ff;"|'''Erwartetes Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Bewertung''' | |||
| align="center" style="background:#80a0ff;"|'''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 | |||
|} | |||
</div> | |||
=== 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 "> | |||
{| class="wikitable" | |||
| align="center" style="background:#80a0ff;"|'''Testfall-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Testfall-Name''' | |||
| align="center" style="background:#80a0ff;"|'''Anforderungs-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Vorbedingungen und Eingänge''' | |||
| align="center" style="background:#80a0ff;"|'''Aktionen''' | |||
| align="center" style="background:#80a0ff;"|'''Erwartetes Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Bewertung''' | |||
| align="center" style="background:#80a0ff;"|'''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.|| [[Datei:FLD_Bild14.png|300px|thumb|rechts]] | |||
|} | |||
</div> | |||
=== 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 "> | |||
{| class="wikitable" | |||
| align="center" style="background:#80a0ff;"|'''Testfall-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Testfall-Name''' | |||
| align="center" style="background:#80a0ff;"|'''Anforderungs-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Vorbedingungen und Eingänge''' | |||
| align="center" style="background:#80a0ff;"|'''Aktionen''' | |||
| align="center" style="background:#80a0ff;"|'''Erwartetes Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Bewertung''' | |||
| 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²) = 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²) = 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.|| | |||
|} | |||
</div> | |||
=== 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 "> | |||
{| class="wikitable" | |||
| align="center" style="background:#80a0ff;"|'''Testfall-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Testfall-Name''' | |||
| align="center" style="background:#80a0ff;"|'''Anforderungs-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Vorbedingungen und Eingänge''' | |||
| align="center" style="background:#80a0ff;"|'''Aktionen''' | |||
| align="center" style="background:#80a0ff;"|'''Erwartetes Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Bewertung''' | |||
| align="center" style="background:#80a0ff;"|'''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.|| [[Datei:FLD_Bild9.png|300px|thumb|center]] | |||
|- | |||
| 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]] | |||
|- | |||
| 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.|| [[Datei:FLD_Bild11.png|300px|thumb|center]] | |||
|- | |||
| 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> | |||
<br clear=all> | |||
=== 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 "> | |||
{| class="wikitable" | |||
| align="center" style="background:#80a0ff;"|'''Testfall-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Testfall-Name''' | |||
| align="center" style="background:#80a0ff;"|'''Anforderungs-ID''' | |||
| align="center" style="background:#80a0ff;"|'''Vorbedingungen und Eingänge''' | |||
| align="center" style="background:#80a0ff;"|'''Aktionen''' | |||
| align="center" style="background:#80a0ff;"|'''Erwartetes Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Ergebnis''' | |||
| align="center" style="background:#80a0ff;"|'''Bewertung''' | |||
| align="center" style="background:#80a0ff;"|'''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.|| [[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.|| [[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.|| [[Datei:FLD_Bild8.png|500px|thumb|rechts]] | |||
|} | |||
</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. | |||
== | == 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 == | == Literatur == |
Aktuelle Version vom 11. Juli 2022, 10:22 Uhr
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.
-
Erster Entwurf auf Papier
-
Erster Entwurf in Simulink
-
Finaler Entwurf in Simulink
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 | m² |
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 |
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
Bremsen
Geschwindigkeitsermittlung
Hangabtriebskraft
Regler
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.
-
Simulinkmodell zur Auslegung des Reglers Datei:FLD Reglerauslegung.zip
-
Sprungantwort und Approximation als PT1 Glied
-
Berechnung der Werte des PID-Reglers Datei:FLD Reglerauslegung.xlsx
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.
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 | m² |
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
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
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
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
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
- ↑ https://www.nzz.ch/mobilitaet/auto-mobil/ungewoehnlicher-elektroautohersteller-deutsche-post-will-e-auto-anbieter-werden-ld.121237
- ↑ 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