Samstag, 20. Mai 2017
Samstag, 20. Mai 2017
1. Teil - Der Verbrennungsmotor
Im ersten Teil möchten wir einen Verbrennungsmotor mitsamt seinem Kennfeld als Modell aufbauen. Funktioniert dieser Teil für sich gesehen dann kann dies in das Gesamt-Fahrzeugmodell integriert werden. Zu Aufbau von Erfahrungen und zum Herumprobieren möchten wir aber das Teilmodell in sich losgelöst aufbauen.
Der Verbrennungsmotor wird über das Simulationselement „Generic Engine“ nachgebildet. Dieses SE kann keine Schwingungen bzw. Drehzahlunförmigkeiten resultierend aus dem Kurbeltrieb simulieren, sondern lediglich ein konstantes Drehmoment. Dieses wird erzeugt aus motorspezifischen Kennwerten wie der Leistungscharakteristik des Motors.
Zuerst wird an das SE „Generic Engine“ ein Signal der Gaspedalstellung angeschlossen. Das ist ein Wert zwischen 0 (0%) und 1 (100%). Er kann über ein herkömmliches Konstantblock erzeugt werden, dessen Ausgang dann wiederum mittels des „Simulink-PS Converter“ in ein für SimDriveline passendes Physical Signal (PS) gewandelt wird. Alternativ kann auch direkt ein Konstantblock aus SimDriveline namens „PS Constant“ verwendet werden. Hier wird eine feste Gaspedalstellung (beispielsweise 0.2) eingetragen und mit dem T-Eingang des Motors verbunden.
Der Verbrennungsmotor erzeugt ein Drehmoment zwischen Abtrieb Kurbelwelle (Ausgang F) und Gehäuse (Verbindung zum Chassis mit dem Eingang B). Der Eingang B wird über ein „Mechanical Rotational Reference“ an das Raumkoordinatensystem angeschlossen. Zusätzlich wird noch eine Solver-Konfiguration an dieses Signal verbunden. Eine weitere Leitung kann über die Command-/Steuerungs-Taste an eine bestehende Leitung angeschlossen werden, ausgehend von einer beliebigen Stelle der existierenden Leitung.
Zusätzlich zu der Möglichkeit im Motorblock bereits eine Massenträgheit für die Kurbelwelle anzugeben kann auch ein weitere SE namens „Inertia“-Block an den Ausgang des Motors gesetzt werden.
Da das Motormoment bislang nur gegen die Massenträgheit beschleunigt, würde die Drehzahl gegen unendlich gehen und dabei den Motor zerstören. Es ist im SE „Generic Engine“ eine maximale Motordrehzahl eingetragen. Wird diese überschritten läuft die Simulation auf einen Fehler. Daher werden wir noch eine Last in Form eines konstanten Reibmoments mittels des Blocks „Rotational Friction“ einbringen. Bei diesem SE wird der C-Anschluss auf das feste Raumkoordinatensystem gelegt und der R-Anschluss mit dem Motorausgang verbunden. Wir tragen ein Coulomb-Reibmoment von 45 Nm und ein Losbrechmoment von 60 Nm ein.
Um das Ergebnis zu verfolgen möchten wir den Drehzahlverlauf des Motors über der Zeit visualisieren. Dazu fügen wir den Block „Ideal Rotational Motion Sensor“ ein, dessen C-Anschluss wieder mit dem festen Raumkoordinatensystem verbunden und der R-Anschluss mit dem Motorausgang verbunden wird. Es kann am W-Ausgang die Drehzahl im zeitlichen Verlauf abgegriffen werden, am A-Ausgang wäre der Verlauf des Drehwinkels abgreifbar. Der Drehzahlausgang ist wiederum vom Typ PS (Physical Signal) welches mittels des Blocks „PS-Simulink Converter“ in einen dimensionslosen Zahlenwert gewandelt werden kann. Das Signal ist jetzt noch als [rad/s] ausgegeben und wir möchten es über den „Gain“-Block in die Einheit [1/min oder RPM] wandeln. Dessen Ausgang hängen wir an ein „Scope“-Block.
Ein Drehmoment können wir im Moment noch nicht messen, da dazu immer 2 Wellen notwendig sind, bislang haben wir ja nur die Kurbelwelle. Daher bleibt der „Ideal Torque Sensor“-Block noch nicht angeschlossen.
Beim „Generic Engine“-Block ist es sinnvoll, den Leerlaufregler unter dem Reiter „Speed Control“ zu aktivieren. Sinkt die Motordrehzahl unter 1000 1/min (Idle speed reference) so springt der Regler an und erhöht automatisch das Standgas. Damit wird die Leerlaufdrehzahl eingehalten bzw. das Abwürgen des Motors verhindert.