Technische Artikel

Modellerstellung komplexer mechanischer Strukturen mit Simscape Multibody

Von Tom Egel, MathWorks


Die Modellerstellung physikalischer Komponenten oder Systeme in Simulink® beinhaltet für gewöhnlich einen Kompromiss zwischen Simulationsgeschwindigkeit und Modellgenauigkeit oder -komplexität: je besser das Modell dem echten System entspricht, umso größer ist der Aufwand, es zu erstellen. Diese Aufgabe wird bei der Modellerstellung dreidimensionaler mechanischer Strukturen auf Grund der Komplexität der Bewegungsgleichungen noch komplizierter. Zwar lassen sich CAD-Tools gelegentlich für den Export von Modellen nach Simulink oder Simscape Multibody™ verwenden, doch erfordert diese Herangehensweise normalerweise zusätzliche Modellerstellungsressourcen oder Fachkenntnisse im CAD-Tool.

Am Beispiel eines Rotorblatts für Windkraftanlagen wird in diesem Artikel eine halbautomatisierte Methode beschrieben, mithilfe von MATLAB® und der Form „General Extrusion“ in Simscape Multibody komplexe dreidimensionale mechanische Strukturen zu erstellen.

Ein Grundmodell erstellen

Mit den voreingestellten Formen in Simscape Multibody können wir ein gutes Ausgangsmodell des Rotorblatts erstellen. Die Simscape Multibody-Bibliothek enthält Körper zur Darstellung der Trägheit, Koordinatentransformationen zur Festlegung des Ortes im dreidimensionalen Raum und Gelenke zur Beschränkung der Bewegung der Objekte. Vorgegebene Definitionen für gebräuchliche Formen wie etwa Kugel, Zylinder und Quader berechnen automatisch den Trägheitstensor auf Grundlage der Dimensionen, die Sie festlegen (Abbildung 1).

Abbildung 1. Ein Simscape Multibody-Modell und seine Eigenschaften.

Abbildung 1. Ein Simscape Multibody-Modell und seine Eigenschaften.

Komplexe Formen festlegen

Mithilfe der Form „General Extrusion“ in Simscape Multibody können wir eine komplexere Form festlegen, für die Simscape Multibody weiterhin die Trägheit automatisch berechnen kann.

Dazu beginnen wir damit, den Umriss des Rotorflügels für die Windkraftanlage vorzugeben, indem wir neben der gewünschten Länge Koordinatenpunkte oder eine Gleichung verwenden, um die Form zu extrudieren. Wir benutzen die NACA_0015-Norm1, eine symmetrische Profilform, die durch folgende Gleichung beschrieben wird:

\[y_t=\frac{t}{0.2}c\left[0.2969\sqrt{\frac{x}{c}}-0.1260\left(\frac{x}{c}\right)-0.3516\left(\frac{x}{c}\right)^2+0.2843\left(\frac{x}{c}\right)^3-0.1015\left(\frac{x}{c}\right)^4\right]\]

wobei

\(c\) die Sehnenlänge,
\(x\) die Position entlang der Sehne von \(0\) bis \(c\),
\(y\) die halbe Dicke bei einem gegebenen Wert \(x\) (Mittellinie bis Oberfläche)
und \(t\) die maximale Dicke als Bruchteil der Sehne sind.

Abbildung 2 zeigt die daraus entstehende Form.

Abbildung 2. Querschnitt durch ein NACA_0015-Profil.

Abbildung 2. Querschnitt durch ein NACA_0015-Profil.

Um die Form „General Extrusion“ in Simscape Multibody verwenden zu können, müssen wir die Gleichung zunächst in eine MATLAB-Funktion umwandeln. Der Code sieht folgendermaßen aus:

Die Ausführung dieser Funktion aus der MATLAB-Befehlszeile ergibt ein Array, das die Punkte enthält, die die gewünschte Form erzeugen:

>> xy_data = Extr_NACA_0015(1,20,0.1)

Jetzt können wir die Form in MATLAB plotten (Abbildung 3).

>> plot(xy_data(:,1),xy_data(:,2),'b-o','LineWidth',1.5);

Abbildung 3. Darstellung der aus der Funktion Extr_NACA_0015 erzeugten Punkte.

Abbildung 3. Darstellung der aus der Funktion Extr_NACA_0015 erzeugten Punkte.

Ein Strukturmodell bauen

Wir rufen aus der Option „General Extrusion“ in Simscape Multibody die MATLAB-Funktion Extr_NACA_0015 auf (Abbildung 4). Das Rotorblatt wird in Simscape Multibody als ein Solid-Block wiedergegeben. Innerhalb des Simscape Multibody-Modells ruft der Solid-Block die MATLAB-Funktion Extr_NACA_0015 auf, die die Punkte zur Formung des Rotorblattumrisses erzeugt.

Abbildung 4. Links: Die Solid-Block-Eigenschaften von Simscape Multibody unter Verwendung von „General Extrusion“ mit der MATLAB-Funktion. Rechts: Das daraus entstehende 3D-Rendering in Simscape Multibody, mit c = 1, cseg = 100, t = 0,1.

Abbildung 4. Links: Die Solid-Block-Eigenschaften von Simscape Multibody unter Verwendung von „General Extrusion“ mit der MATLAB-Funktion. Rechts: Das daraus entstehende 3D-Rendering in Simscape Multibody, mit c = 1, cseg = 100, t = 0,1.

Die Eigenschaft „Länge“ gibt an, wie lang die Form extrudiert werden soll. Da es sich beim Solid-Block um einen starren Körper handelt, würde die Extrusion der Profilform für die gesamte Länge des Rotorblatts ein starres Rotorblatt ergeben. Um ein flexibles Rotorblatt zu modellieren, brechen wir es in mehrere Segmente auf und fügen Gelenke mit Steifigkeits- und Dämpfungseigenschaften zwischen den einzelnen Segmenten ein (Abbildung 5).

Abbildung 5. Flexibles Rotorblattmodell aus zehn Segmenten.

Abbildung 5. Flexibles Rotorblattmodell aus zehn Segmenten.

Wir verwenden die in Abbildung 5 gezeigte Test-Bench, um zu prüfen, wie sich das Modell bezüglich gemessener Daten verhält. Während der Simulation wenden wir eine bekannte Kraft auf die Rotorblattspitze an und messen die Verformung entlang der x-, y- und z-Achsen. (Wir könnten automatisierte Tools für die Parameteroptimierung verwenden, um einen Parametersatz passend auf die gemessenen Testdaten abzugleichen; dies ist ein wichtiger Schritt im Modellerstellungsprozess, der jedoch den Umfang dieses Artikels sprengen würde.)

Sobald wir mit dem Modellieren und Prüfen einer einzelnen Rotorblatt-Baugruppe fertig sind, lassen sich ganz leicht zusätzliche Baugruppen mit einer Nabe verbinden, um eine komplette Windkraftanlage mit Rotorblättern zu modellieren (Abbildung 6). Wir benutzen die Rigid-Transformation-Blöcke zur Positionierung der drei Rotorblätter um die Nabe im Abstand von 120 Grad mit einem festen Neigungswinkel von 45 Grad.

Abbildung 6. Komplette Baugruppe aus Nabe und Rotorblättern.

Abbildung 6. Komplette Baugruppe aus Nabe und Rotorblättern.

Diesen Ansatz ausweiten

In diesem Artikel wurde der Prozess zur Erstellung einer mechanischen Struktur mithilfe der Form „General Extrusion“ in Simscape Multibody beschrieben. Diese Technik verwendet einen Satz Datenpunkte, um eine willkürliche Form zu definieren, die auf eine gewünschte Länge extrudiert werden kann. Die Datenpunkte können manuell eingegeben oder mithilfe einer Gleichung in Form einer MATLAB-Funktion erzeugt werden. Vor der Simulation wird die daraus entstehende Geometrie erzeugt, und aus der Form und den Materialeigenschaften wird automatisch das Trägheitsmoment berechnet.

Die hier dargestellte Methode können wir durch Partitionierung der Struktur in mehrere Segmente auf flexible Körper anwenden. Segmente sind durch Gelenke mit Feder- und Dämpfungseigenschaften verbunden, die die strukturelle Steifigkeit modellieren. Durch die Verwendung dieser modularen Herangehensweise an die Modellerstellung können wir die Baugruppe ganz einfach wiederverwenden und nach Wunsch positionieren, indem wir Koordinatentransformationen durchführen. Mit MATLAB ließe sich der Prozess der Modellerstellung noch beschleunigen, indem es die Rotorblatt-Baugruppe automatisch aus den Angaben konstruiert, die wir bereitstellen (etwa aus Blattlänge, Blätterzahl, Segmentanzahl und Materialeigenschaften). Letztendlich ließe sich diese Rotorblatt-Baugruppe in einer Systemsimulation mit elektrischen oder hydraulischen Stellantrieben zur Steuerung von Nabendrehzahl und Blattneigung verwenden.

1Die Gleichungen zur genauen Beschreibung gewöhnlicher Tragflächenprofile stammen vom National Advisory Committee for Aeronautics (NACA; https://en.wikipedia.org/wiki/NACA_airfoil).

Über die Autorin

Tom Egel ist leitender technischer Berater bei MathWorks. Toms Spezialgebiet ist die Modellierung physikalischer Multidomainsysteme unter Verwendung der Produkte Simscape und Simulink zur Modellierung physikalischer Systeme. Er blickt auf 25 Jahre Erfahrung mit der Modellierung und Simulation physikalischer Systeme zurück und hat als Autor am Buch The System Designer’s Guide to VHDL-AMS (Morgan Kaufmann, 2003) mitgewirkt. Er hat einen B.S. in Elektrotechnik an der Washington University und einen B.A. in Physik an der St. Louis University erworben.

Veröffentlicht 2013 - 92150v00