Software: FEM - Tutorial - Magnetfeld - Kennfeld-Nutzung zur System-Simulation: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
 
(21 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Software:_FEM_-_Tutorial_-_Magnetfeld|&uarr;]] <div align="center"> [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Kennfeld-Identifikation|&larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld|&rarr;]] </div>
[[Software:_FEM_-_Tutorial_-_Magnetfeld|&uarr;]] <div align="center"> [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Differentierbarkeit|&larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_Modelica-Code|&rarr;]] </div>
<div align="center">''' Kennfeld-Nutzung zur System-Simulation '''</div>
<div align="center">''' Kennfeld-Nutzung zur System-Simulation '''</div>
<div align="center">''''' (Kein Bestandteil der Lehrveranstaltung [http://www.ifte.de/lehre/fem/index.html FEM] ) '''''</div>


== Elektromagneto-mechanischer Wandler (C-Code) ==


== Verwendete Software ==
Beide Kennfelder dienen zusammen zur Nachbildung des mittels FE-Modell simulierten konkreten Elektro-Magneten in einem dynamischen Systemmodell des kompletten elektromagnetischen Antriebs. Zur Demonstration wird dafür im Folgenden das Beispiel des Blindenschrift-Prägers aus dem [[Software:_System-Simulation_-_SimulationX|'''Tutorial zur System-Simulation''']] verwendet.


Es soll am Beispiel des Programms '''SimulationX''' gezeigt werden, wie der exportierte C-Code mit geringem Aufwand zur System-Simulation eines Magnet-Antriebs genutzt werden kann. Dank gebührt Herrn [http://www.tn-home.de/Tobias/home.html Tobias Nähring] (Mitarbeiter der Firma [http://www.iti.de ITI GmbH]) für seine wertvollen Tipps zum Einbinden externer Funktionen in SimulationX-Modelle.
'''''Hinweis:'''''<br>Wer nicht über dieses '''SimulationX-Modell''' verfügt, kann es (mit bereits gelöschten Magnetkreis-Elementen) als [http://www.optiyummy.de/images/Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfelder_-_magnet_xx.zip '''ZIP-Archiv'''] laden. Den RSM_Wandler als neuen lokalen Element-Typ definiert man dann wie im Folgenden beschrieben.


Wir verwenden den freien ''Gnu-C-Compiler'' '''gcc''', der Bestandteil der [http://de.wikipedia.org/wiki/GNU_Compiler_Collection GNU-Compiler Collection] ist. Eine Portierung dieser Compiler Collection für Windows läuft unter [http://de.wikipedia.org/wiki/Cygwin Cygwin]. Von '''http://www.cygwin.com/''' kann man eine aktuelle '''setup.exe''' für die Cygwin-Installation kostenlos herunterladen.
* Wir öffnen das verifizierte SimulationX-Modells der Etappe3(''mit Wirbelstrom und Magnet-Hysterese'') und speichern es unter dem neuen Bezeichner '''''Magnet_xx.ism''''':
 
Ausführliche Hinweise zur Installation enthält die [http://www.hs-owl.de/fb5/person/hoffmann/Installation_Cygwin.pdf '''Installation_Cygwin.pdf'''] von Herrn [http://www.hs-owl.de/fb5/person/hoffmann/ Sönke Hoffmann] (Hochschule Ostwestfalen-Lippe). Von den darin angegebenen Komponenten der Development-Umgebung genügt für unsere Zwecke:
* ''gcc-core'', der C-Compiler,
* ''make'', ein Hilfsprogramm (dass man sicher benötigt)
'''''Hinweis:''''' Im Beispiel konnte bei der Benutzung der Download-Seite der TU-Dresden die Installation nicht vollendet werden, weil etwas fehlte. Ein Wechsel auf die Ruhr-Uni-Bochum führte zum Erfolg!
 
Die Windows-Systemvariable PATH wird, wie in der Anleitung beschrieben, durch den Verweis auf den ''cygwin\bin''-Ordner erweitert. Damit ist gewährleistet, dass man den C-Compiler im Konsolen-Fenster von Windows direkt aufrufen kann.
 
'''''Hinweis:''''' Man muss in diesem Verzeichnis nachschauen, welche Version des Compilers installiert ist. In der Beispiel-Installation war es '''gcc-3.exe''', deshalb ist dann der Compiler in der Konsole mit '''gcc-3''' aufzurufen!
 
== Erzeugen einer Windows-DLL ==
 
SimulationX bietet die Möglichkeit, externe Funktionen einzubinden, welche sich in einer [http://de.wikipedia.org/wiki/Dynamic_Link_Library Windwos-DLL] befinden. Deshalb erzeugen wir aus dem vorliegenden C-Quelltext durch Compilieren mit dem ''gcc'' eine solche DLL-Datei:
* Das den Kennfeld-Variablen vorangestellte Zeichen '''#''' muss entfernt werden (im Beispiel '''#i''' und '''#s''' durch '''i''' und '''s''' ersetzen). Ansonsten kommt es zu einem Syntax-Fehler im gcc-Compiler!
* Des Weiteren muss die lokale Definition der loop-Variablen i in den Covar-Funktionen durch eine vorangestellte Defintion ersetzt werden:
for(int i = 0; i<2; i++) {
: ersetzen durch
int i;
for (i = 0; i<2; i++) {
* Man startet die Windows-Konsole ('''''Start - Ausführen - cmd''''') und wählt als aktuelles Verzeichnis das, worin sich die C-Quelltext-Datei (hier ''Magnet_xx.c'') befindet.
* Mittels der Kommandozeile (im Beispiel für die Compiler-Version ''gcc-3''):
gcc-3 -mno-cygwin -shared -o Magnet_xx.dll Magnet_xx.c
: sollte ohne Fehlermeldung die Datei '''Magnet_xx.dll''' im gleichen Verzeichnis erzeugt werden.
Das Verzeichnis, in dem Magnet_xx.dll abgelegt wird, muss in die Liste der Verzeichnisse fuer die externen Funktionen von SimulationX eingetragen werden:
* Diese Liste findet man in SimulationX unter '''''Extras > Optionen > Verzeichnisse > Externe Funktionen'''''.
* Entweder man kopiert die .dll-Datei in eines der Standard-Verzeichnisse oder man ergänzt die Liste dieser Verzeichnisse um den aktuell genutzten Ordner.
* Im Prinzip könnte man in der obigen Kommadozeile die .dll-Datei in eines der Standard-Verzeichnisse von SimulationX lenken.
 
== Kennfeld-Testmodell ==
Bevor man die Kennfelder in ein kompliziertes Antriebsmodell einbindet, sollte man unbedingt ein Testmodell aufbauen, um das richtige Funktionieren zu überprüfen:
* Wir beginnen im SimulationX mit einer neuen Datei, welche wir als '''Kennfeld_xx.ism''' speichern (Teilnehmer-Nr. '''xx=00...99''').
* Es werden zwei lokale Element-Typen im Modell definiert, welche jeweils eine der Kennfeld-Funktionen bereitstellen. Der Test erfolgt dann durch eine Rastersuche in einem OptiY-Experiment.
* Wir beginnen im SimX-Modell mit dem Elementtyp '''F_RSM''' für das Kraft-Kennfeld. Im '''''Modellexplorer > Karte Typen > Wurzeleintrag > Kontextmenü''''' wählen wir '''''Neu > Model''''':<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_neuer_elementtyp.gif| ]] </div>[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_f-symbol_61x61.gif|right]]
* Als Symbol wird ein 61x61-Pixel-Bild verwendet (nebenstehende Bild-Datei laden), welches eine modifizierte Kopie des 2D-Kennfeld-Symbols aus der SimX-Bibliothek darstellt ('''''Symbol > Bitmap öffnen'''''):<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_f-type_allgemein.gif| ]] </div>
* Zum Testen speisen wir die Funktionsvariablen Strom '''i''' und Luftspalt '''s''' als Parameter in das Element ein und führen den Funktionswert der Kraft '''F''' als Variable nach außen:
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_anschluesse_f-test.gif| ]] </div>
* '''''Achtung:''''' Für diese Komponenten sollte man die gleiche Einheit für die physikalischen Größen wählen, wie sie im FE-Modell verwendet wurden. Das bedeutet, die Luftspalt-Werte sind in '''mm''' einzuspeisen! Das ist zur Zeit noch erforderlich, wenn man mittels Rastersuche im OptiY die Kennfelder in den gleichen Grenzwerten darstellen möchte, wie die aus der FEM-Simulation gewonnene Antwortfläche. In OptiY erfolgen noch keine Umrechnungen zwischen unterschiedlichen Einheitsdimensionen.
* Das F-Kennfeld wird im Element-Typ unter ''Lokale Typen'' als externe Funktion definiert:
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_external_f-fct.gif| ]] </div>
Durch '''Bearbeiten''' der Funktionseigenschaften definiert man die Schnittstelle zwischen dem SimX-Modell und der externen Function innerhalb der .dll-Datei:
* Für die allgemeinen Einträge genügen die Standard-Vorgaben.
* Als Argumente der Funktion definieren wir zwei Eingabe- und einen Ausgabeparameter:
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_ext_f-fct-argumente.gif| ]] </div> 
* Dabei berücksichtigen wir ebenfalls die Maßeinheiten der Funktionsargumente (z.B. Luftspalt in mm).
* Die '''Atrribute''' der Argumente belassen wir auf den Standard-Einträgen.
* Unter den Aufrufkonventionen ist die Liste der Argumente bereits eingetragen. Wir definieren noch den Namen der benutzten .dll-Datei und den Typ der Schnittstelle:
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_ext_f-fct-aufruf.gif| ]] </div>
* Beim '''Fertigstellen''' der Funktionsdefinition erfolgt eine Warnung, dass keine grafische Darstellung definiert wurde. Diese Warnung können wir ignorieren.
* Für das Verhalten des Element-Typs definieren wir abschließend den Funktionsaufruf unter Berücksichtigung der physikalischen Einheiten (Luftspalt in mm):
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_verhalten_f-test.gif| ]] </div>
* '''''Achtung:''''' Die Umrechnung 'm->mm' ist unbedingt erforderlich, da die Kennfeld-Funktion auf der Einheit '''mm''' basiert. Innerhalb der SimulationX-Modelle wird aber grundsätzlich mit SI-Einheiten gerechnet, auch wenn man für einzelne Komponenten wegen der Anschaulichkeit abweichende Dimensionen definiert.
* Der lokale Element-Typ '''F_RSM''' wird als Element '''F_Kennfeld''' innerhalb des SimX-Modells verwendet.
* Für einen ersten Test wurde der Stromeingang i mit der Simulationszeit t belegt, die von 0 bis 10&nbsp;s läuft.
* Sowohl für den Luftspalt s=0&nbsp;mm, als auch für s=4&nbsp;mm ergeben sich korrekte Funktionsverläufe:
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_verlaeufe.gif| ]] </div>
* Die Rastersuche nach Einbindung des Modells in ein OptiY-Experiment zeigt die komplette Funktionsfläche. Dabei wurden die gleichen Bereichsgrenzen verwendet, wie zuvor bei der Ermittlung der Antwortfläche anhand des FE-Modells:
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_rastersuche.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_rasterfunktion.gif| ]]</div>
 
 
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_psi-symbol_61x61.gif|right]]
Die Einbindung der C-Funktion für das Psi-Kennfeld verläuft analog, wie bei dem F-Kennfeld. Es handelt sich praktisch um den gleichen Element-Typ, nur dass die Kraft '''F''' durch den Koppelfluss '''Psi''' ersetzt wird:
* Man exportiert (kopiert) den lokalen Typ ''F_RSM'' in den Bibliotheksordner ''ExternalTypes''.
* Dort benennt man ''F_RSM'' in '''''Psi_RSM''''' um. Dazu muss man zusätzlich den external Type im Type-Designer öffnen und unter "Allgemein" auch den Namen ändern.
* Danach kopiert man den external Type ''Psi_RSM'' zu den lokalen Typen des Modells und ersetzt systematisch die Kraft durch den Koppelfluss.
* Es kann das nebenstehende Symbol für ''Psi_RSM'' verwendet werden.
* Auch hier sollte man die Implementierung gründlich verifizieren, bevor man beide Kennfelder in das richtige Antriebsmodell einfügt:<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_psi-feld.gif| ]] </div>
'''''Achtung:'''''
* Die Arbeitskopie von ''Psi_RSM'' in der ExternalTypes-Bibliothek sollte man löschen, um eine spätere fehlerhafte Anwendung zu vermeiden!
* Sind beide lokalen Element-Typen verifiziert, exportiert man Kopien in den Bibliotheksordner ''ExternalTypes''. Damit stehen die externen Funktionen auch für die Implementierung in das eigentliche Antriebsmodell zur Verfügung.
 
== Elektromagneto-mechanischer Wandler ==
 
Beide Kennfelder dienen zusammen zur Nachbildung des mittels FE-Modell simulierten konkreten Elektro-Magneten in einem dynamischen Systemmodell des kompletten elektromagnetischen Antriebs.
 
Zur Demonstration wird dafür im Folgenden das Beispiel des Blindenschrift-Prägers aus dem [[Software:_System-Simulation_-_SimulationX|'''Tutorial zur System-Simulation''']] verwendet.
* Wir öffnen das verifizierte SimX-Modells (''ab Wintersemester 2010 mit Toleranzen, Wirbelstrom und Magnet-Hysterese'') und speichern es unter dem neuen Bezeichner '''''Magnet-RSM.ism''''':
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_basis-netzmodell.gif| ]] </div>  
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_basis-netzmodell.gif| ]] </div>  
* Der markierte farbige Bereich entspricht dem elektromagneto-mechanischem Wandler (E-Magnet ohne Ankermasse).
* Der markierte farbige Bereich entspricht dem elektromagneto-mechanischem Wandler (E-Magnet ohne Ankermasse).
Zeile 90: Zeile 16:
* Als Symbol für den RSM_Wandler kann man nebenstehendes Bild verwenden.
* Als Symbol für den RSM_Wandler kann man nebenstehendes Bild verwenden.
* Alle Netzwerk-Elemente innerhalb des farbig markierten Wandler-Bereiches können gelöscht werden.
* Alle Netzwerk-Elemente innerhalb des farbig markierten Wandler-Bereiches können gelöscht werden.
* An ihre Stelle platzieren wir den ''RSM_Wandler'' als ''Magnet_RSM'':
* An Stelle der Magnetkreis-Elemente platzieren wir in der Modellstruktur den ''RSM_Wandler'' als ''Magnet_RSM'':
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_magnet_rsm0.gif| ]] </div>
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_magnet_rsm0.gif| ]] </div>
Nun bleibt uns nur noch die Aufgabe diesen Element-Typ zum richtigen Verhalten zu führen. Die mechanische Seite des Wandlers realisert man durch die Definition zweier mechanischer translatorischer Anschlüsse (''ctr1'' und ''ctr2''):
Nun bleibt uns nur noch die Aufgabe diesen Element-Typ zum richtigen Verhalten zu führen. Die mechanische Seite des Wandlers realisiert man durch die Definition zweier mechanisch-translatorischer Anschlüsse (''ctr1'' und ''ctr2''):
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_wandler_mech.gif| ]] </div>
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_wandler_mech.gif| ]] </div>
* Da am mechanischen Anschluss die Potentialgrößen der Bewegung (x, v, a) als Werte eingespeist werden, können wir in einem Algorithmus den Luftspalt '''s''' als Differenz der Anschluss-Positionen berechnen.
* Da am mechanischen Anschluss die Potentialgrößen der Bewegung (x, v, a) als Werte eingespeist werden, können wir in einem Algorithmus den Luftspalt '''s''' als Differenz der Anschluss-Positionen berechnen.
* Die aus der externen Funktion berechnete Kraft '''F'''=f(s,i) muss als Wert an beide Anschlüsse übergeben werden.
* Die aus der externen Funktion berechnete Kraft '''F'''=f(s,i) muss als Wert an beide Anschlüsse übergeben werden.
* Der Wert des Stromes '''i''' entstammt der elektrischen Seite des Wandlers.
* Der Wert des Stromes '''i''' entstammt der elektrischen Seite des Wandlers.
Die elektrische Seite des Wandlers realisiert man durch die Definition zweier elektrischer Anschlüsse. Diese erhielten standardmäßig die Bezeichnung ''ctr3'' und ''ctr4'' und wurden wegen der Übersichtlichkeit in ''pin1'' und ''pin2'' umbenannt:
 
Die elektrische Seite des Wandlers realisiert man durch die Definition zweier elektrischer Anschlüsse. Diese erhielten standardmäßig die Bezeichnung ''ctr3'' und ''ctr4'':
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_wandler_elektr.gif| ]] </div>
<div align="center"> [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_wandler_elektr.gif| ]] </div>
* Der Spannungsabfall '''u''' zwischen den beiden Anschlüssen ergibt sich aus der Summe von Induktionsspannung '''u_ind''' und dem Spannungsabfall '''uR''' über dem ohmschen Widerstand '''R_Spule''' des Spulendrahtes. Das kann man nur durch eine Gleichung erzwingen.
* Der Spannungsabfall '''u''' zwischen den beiden Anschlüssen ergibt sich aus der Summe von Induktionsspannung '''u_ind''' und dem Spannungsabfall '''uR''' über dem ohmschen Widerstand '''R_Spule''' des Spulendrahtes. Das kann man nur durch eine Gleichung erzwingen.
* Der Strom '''i''' ist ebenfalls algorithmisch innerhalb des Element-Typs nicht berechenbar. Auch dafür benöigen wir eine Gleichung.
* Der Strom '''i''' ist ebenfalls innerhalb des Element-Typs algorithmisch nicht berechenbar. Auch dafür benötigen wir eine Gleichung.
* Deshalb wurde wegen der Übersichtlichkeit der komplette elektrische Teil des Wandlers in einem Gleichungsabschnitt definiert. Der Wert des Luftspalts '''s''' entstammt dem mechanischen Teil des Wandlers.
* Deshalb wurde wegen der Übersichtlichkeit der komplette elektrische Teil des Wandlers in einem Gleichungsabschnitt definiert. Der Wert des Luftspalts '''s''' entstammt dem mechanischen Teil des Wandlers.


'''''Achtung:'''''<br>
Hier soll auf eine Schwachstelle unseres Demo-Beispiels hingewiesen werden:
# Die identifizierten Kennfelder sind nur für eine konkrete Geometrie und Windungszahl ('''wSpule=400''') gültig.
# Der im Wandlermodell benötigte Wert des Spulenwiderstandes muss aus den konkreten Werten von Geometrie und Windungszahl berechnet werden. Deshalb muss man im SimulationX-Modell die gleichen Geometriebeziehungen und -werte verwenden wie im FE-Modell ('''Magnet_RSM.R_Spule=Geometrie.R_Spule''').
# Damit hat man innerhalb des SimulationX.Modells leider keine Freiheitsgrade zur Optimierung der Wicklungsdaten für einen konkreten Eisenkreis! Die Optimierungsschleife müsste sich immer über die Kennfeld-Identifikation erstrecken, was zurzeit nicht praktikabel ist!


'''''===>>> Hier geht es bald weiter!!!'''''


'''''Hinweis:'''''<br>
Wahrscheinlich hat der Solver numerische Probleme, den Abschaltvorgang zu berechnen. Dieses Problem lösen wir pragmatisch, indem wir die Diode in der Schutzbeschaltung entfernen und durch einen Leiter ersetzen.


<div align="center"> [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Kennfeld-Identifikation|&larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld|&rarr;]] </div>
<div align="center"> [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Differentierbarkeit|&larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_Modelica-Code|&rarr;]] </div>

Aktuelle Version vom 21. Januar 2015, 15:19 Uhr

Kennfeld-Nutzung zur System-Simulation
(Kein Bestandteil der Lehrveranstaltung FEM )

Elektromagneto-mechanischer Wandler (C-Code)

Beide Kennfelder dienen zusammen zur Nachbildung des mittels FE-Modell simulierten konkreten Elektro-Magneten in einem dynamischen Systemmodell des kompletten elektromagnetischen Antriebs. Zur Demonstration wird dafür im Folgenden das Beispiel des Blindenschrift-Prägers aus dem Tutorial zur System-Simulation verwendet.

Hinweis:
Wer nicht über dieses SimulationX-Modell verfügt, kann es (mit bereits gelöschten Magnetkreis-Elementen) als ZIP-Archiv laden. Den RSM_Wandler als neuen lokalen Element-Typ definiert man dann wie im Folgenden beschrieben.

  • Wir öffnen das verifizierte SimulationX-Modells der Etappe3(mit Wirbelstrom und Magnet-Hysterese) und speichern es unter dem neuen Bezeichner Magnet_xx.ism:
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - basis-netzmodell.gif
  • Der markierte farbige Bereich entspricht dem elektromagneto-mechanischem Wandler (E-Magnet ohne Ankermasse).
  • Nachdem wir für den elektromagneto-mechanischen Wandler einen neuen lokalen Element-Type RSM_Wandler definiert haben, können wir die beiden externen Funktionen mittels Drag&Drop in diesen lokalen Type hinein kopieren (mit gedrückter Strg-Taste):
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - copy ext-fkt.gif
Software SimX - Nadelantrieb - Wirkprinzip - rsm-magnet symbol.gif
  • Als Symbol für den RSM_Wandler kann man nebenstehendes Bild verwenden.
  • Alle Netzwerk-Elemente innerhalb des farbig markierten Wandler-Bereiches können gelöscht werden.
  • An Stelle der Magnetkreis-Elemente platzieren wir in der Modellstruktur den RSM_Wandler als Magnet_RSM:
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - magnet rsm0.gif

Nun bleibt uns nur noch die Aufgabe diesen Element-Typ zum richtigen Verhalten zu führen. Die mechanische Seite des Wandlers realisiert man durch die Definition zweier mechanisch-translatorischer Anschlüsse (ctr1 und ctr2):

Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - wandler mech.gif
  • Da am mechanischen Anschluss die Potentialgrößen der Bewegung (x, v, a) als Werte eingespeist werden, können wir in einem Algorithmus den Luftspalt s als Differenz der Anschluss-Positionen berechnen.
  • Die aus der externen Funktion berechnete Kraft F=f(s,i) muss als Wert an beide Anschlüsse übergeben werden.
  • Der Wert des Stromes i entstammt der elektrischen Seite des Wandlers.

Die elektrische Seite des Wandlers realisiert man durch die Definition zweier elektrischer Anschlüsse. Diese erhielten standardmäßig die Bezeichnung ctr3 und ctr4:

Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - wandler elektr.gif
  • Der Spannungsabfall u zwischen den beiden Anschlüssen ergibt sich aus der Summe von Induktionsspannung u_ind und dem Spannungsabfall uR über dem ohmschen Widerstand R_Spule des Spulendrahtes. Das kann man nur durch eine Gleichung erzwingen.
  • Der Strom i ist ebenfalls innerhalb des Element-Typs algorithmisch nicht berechenbar. Auch dafür benötigen wir eine Gleichung.
  • Deshalb wurde wegen der Übersichtlichkeit der komplette elektrische Teil des Wandlers in einem Gleichungsabschnitt definiert. Der Wert des Luftspalts s entstammt dem mechanischen Teil des Wandlers.

Achtung:
Hier soll auf eine Schwachstelle unseres Demo-Beispiels hingewiesen werden:

  1. Die identifizierten Kennfelder sind nur für eine konkrete Geometrie und Windungszahl (wSpule=400) gültig.
  2. Der im Wandlermodell benötigte Wert des Spulenwiderstandes muss aus den konkreten Werten von Geometrie und Windungszahl berechnet werden. Deshalb muss man im SimulationX-Modell die gleichen Geometriebeziehungen und -werte verwenden wie im FE-Modell (Magnet_RSM.R_Spule=Geometrie.R_Spule).
  3. Damit hat man innerhalb des SimulationX.Modells leider keine Freiheitsgrade zur Optimierung der Wicklungsdaten für einen konkreten Eisenkreis! Die Optimierungsschleife müsste sich immer über die Kennfeld-Identifikation erstrecken, was zurzeit nicht praktikabel ist!


Hinweis:
Wahrscheinlich hat der Solver numerische Probleme, den Abschaltvorgang zu berechnen. Dieses Problem lösen wir pragmatisch, indem wir die Diode in der Schutzbeschaltung entfernen und durch einen Leiter ersetzen.