Software: SimX - Nadelantrieb - Wirkprinzip - Guetefunktion
Komplette Guetefunktion im Suchraum mit globalem Optimum
Das Hooke-Jeeves-Verfahren konvergiert durch ständige Abwärtsbewegung auf der Gütefunktion zum nächstgelegenen Minimum:
- Beim erreichten "Bestwert" handelt es sich zumindest um ein lokales Minimum auf der Gütefunktion.
- Man kann sich dabei jedoch nie sicher sein, ob nicht doch noch Kombinationen für die Entwurfsparameter existieren, welche zu einer besseren Lösung führen (möglichst zum globalen Minimum der Gütefunktion).
- Es wäre günstig, wenn man die Topografie der Gütefunktion in Analogie zu einer Landkarte kennen würde. Für unser Optimierungsproblem wollen wir dies in vereinfachter Form realisieren.
Die Gütefunktion wird in unserem Beispiel nur durch das Gütekriterium tZyklus gebildet. Während der Optimierung wird als Nennwert-Verlauf praktisch ein Höhenprofil des auf der Oberfläche der Gütefunktion zurückgelegten Pfades abgebildet. Der Wert der Zykluszeit ist bisher eine Funktion von den vier Entwurfsparametern:
- d_Anker
- Feder_k
- Magnet_R
- Nadel_x0
Geometrisch handelt es sich bei der kompletten Gütefunktion um eine 5D-Hyperfläche, welche für uns 3D-Lebewesen schwer vorstellbar ist. Das Optimierungsproblem soll deshalb auf zwei Entwurfsparameter zurückgeführt werden. Wir erhalten dann bei hinreichend feiner Abtastung dieser Gütefunktion eine anschauliche 3D-Fläche.
Reduktion des Optimierungsproblems auf zwei Entwurfsparameter
Für die Reduktion des Optimierungsproblems müssen wir Änderungen am Simulationsmodell vornehmen. Dabei werden wir Bezug auf die bisherige Optimallösung nehmen:
- Die optimalen Entwurfsparameter übertragen wir mittels Analyse > Bestwert > Simulation durchführen in das SimulationX-Modell.
- Im SimulationX speichern wir danach die Modell-Datei, um diesen Zustand zu sichern.
- Wir beenden das OptiY. Dabei wird das SimulationX-Modell nicht geschlossen.
- Nun können wir im SimulationX-Modell die erforderlichen Änderungen vornehmen.
Bei der Reduktion der Zahl der Entwurfsparameter sollen uns folgende Vorüberlegungen helfen:
- Nadel_x0=0.2 mm
- Die bisherigen Experimente zeigten, dass es am günstigsten ist, die Nadelspitze in der Ruhelage direkt auf der Papieroberfläche zu platzieren. Der Wert dieses Entwurfsparameters kann also konstant auf diesen Wert gesetzt werden! Wir setzen im SimulationX-Modell Nadel.x0=0.2 mm, was durch die optimalen Entwurfsparameter im Rahmen der nummerischen Genauigkeit näherungsweise bereits erfolgt sein sollte.
- Magnet_R - Abschaltung, wenn geprägt
- Die Einschaltdauer der Magnetkraft muss vom Optimierungsverfahren kontinuierlich an die aktuelle Konfiguration von Ankerdurchmesser, Nadel-Ruhelage und Rückholfeder angepasst werden. Nur so kann für die aktuelle mechanische Konfiguration ein möglichst schnelles und sicheres Prägen des Papiers erreicht werden.
- Diese Anpassung der Einschaltzeit kann man durch eine Änderung des Simulationsmodells automatisieren, indem man die Magnetkraft in Abhängigkeit vom Prägezustand steuert.
- tZyklus=f(d_Anker, Feder_k)
- Die übrig bleibende 3D-Gütefunktion wird wahrscheinlich das globale Optimum enthalten. Die Reduzierung der Dimensionen wird durch Berücksichtigung bekannter Abhängigkeiten im Simulationsmodell bzw. in der Experiment-Konfiguration erreicht.
Automatische Abschaltung der Magnetkraft
Das für die Abschaltung benötigte Status-Signal steht uns mit Messung.Praegemasz im Modell bereits zur Verfügung. Problematischer ist die hinreichend genaue Berücksichtigung von Fmax, hier sind einige Tricks erforderlich:
- Fmax wurde bisher als Amplitude eines Sägezahn-Dreiecks vorgegebener Länge berechnet.
- Die Kraft soll nun automatisch abgeschaltet werden, wenn das Papier komplett geprägt ist (Messung.Praegemasz≥1).
- Da bei dieser automatischen Abschaltung der Abschaltzeitpunkt vorher unbekannt ist, kann dafür der Dreiecksimpuls nicht mehr genutzt werden (Endwert von Fmax kann damit nicht realisiert werden!).
- Deshalb wollen wir den Verlauf F=f(x) für die optimal angepasste Einschaltdauer näherungsweise nachbilden. Den erforderlichen Verlauf sehen wir in der Darstellung Luftspalt.Fi=f(Nadel.x) → beide Signale in ein Ergebnisfenster ziehen und y(x)-Darstellung wählen:
- Der optimale Zeitpunkt für die Kraftabschaltung ist unmittelbar nach der Rissposition x=-0.39 mm.Die Nadel fliegt dann auf Grund ihrer Masseträgheit noch bis zum Anschlag und prägt das Papier komplett. Allerdings besteht die Gefahr, dass die kinetische Energie nicht ganz ausreicht und deshalb das Papier nicht richtig geprägt wird. Deshalb werden wir die automatische Abschaltung der Magnetkraft erst vornehmen, wenn Messung.Praegemasz=1 erreicht wird.
- Die Form der Funktion Fmagn=f(x) entspricht weitestgehend einer quadratischen Funktion mit dem Wert Fmax zum Abschaltzeitpunkt. Das kann man bei Vernachlässigung der nichtlinearen Papierkräfte für dieses einfache Feder-Masse-System auch analytisch nachvollziehen.
- Man muss dabei beachten, dass sich die Nadel erst bewegen kann, wenn die Vorspannkraft der Feder überwunden wird. Die Vorspannkraft von ca. 2 N ist im Vergleich zu ca. Fmax=50 N relativ gering (bei einer Masse von 10 g und einer Beschleunigung von 20 g).
- Die Größe Messung.Praegemasz ändert sich beim Vorschub der Nadel von 0 auf 1. Dies soll genutzt werden, um den erforderlichen quadratischen Verlauf von Luftspalt.F näherungsweise nachzubilden. Die Anfangskraft für die Überwindung der Vorspannung wurde im Beispiel auf ca. 15% von Fmax gesetzt, damit zum Zeitpunkt t=0 die Federvorspann-Kraft mit Sicherheit überwunden werden kann:Blass hinterlegt erscheint im obigen Bild der weg-abhängige Kraftverlauf des Dreieck-Impulses als eingefrorene Kurve . Die blaue Kurve entspricht der folgenden Formel, welche im Parameterfeld des Luftspalt-Elements eingetragen wurde. Der Ausdruck sign(1-floor(Messung.Praegemasz)) springt von Eins auf Null, wenn Praegemaszg≥1 wird. Der Faktor 0.87 wurde gewählt, damit der Endwert von Fmax beim Abschalten erreicht wird. floor(x) gibt den größten ganzzahligen Wert zurück, der nicht größer als x ist.
0.87*CAD.Fmax*(0.15+sqrt(Messung.Praegemasz))*sign(1-floor(Messung.Praegemasz))
- Das Verhalten des Magnet-Antriebs unterscheidet sich mit diesem Kraftansatz etwas vom optimal eingestellten bisherigen Dreiecksverlauf Fmagn=f(t). Qualitativ verhält sich der Antrieb jedoch ähnlich:
- Das Modell soll nun so modifiziert werden, dass in Abhängigkeit von einem dimensionslosen Parameter Abschaltung (0=Dreieck / 1=Auto) vom Typ=Real eine angepasste Berechnung von Luftspalt.F erfolgt:
- Wir ergänzen in CAD_Data den Parameter Abschaltung mit entsprechendem Kommentar.
- Die Standard-Belegung sollte dem Dreiecks-Impuls entsprechen
- Den Impulsgenerator Magnet verändern wir nicht. Er wird also weiterhin nur Dreiecksimpulse mit der vorgegebenen Amplitude Fmax erzeugen.
- Die Umschaltung zwischen Dreiecksimpuls und Rechteckverlauf soll im Element Luftspalt für den Parameter F erfolgen. Der erste Summand entspricht dem eingespeisten Dreiecksimpuls, der zweite Summand der Ersatzfunktion. In Abhängigkeit des Wertes von CAD.Abschaltung (0 oder 1) wirkt nur einer der beiden Summanden:
self.in1*(1-CAD.Abschaltung) + 0.87*CAD.Fmax*(0.15+sqrt(Messung.Praegemasz))*sign(1-floor(Messung.Praegemasz))*CAD.Abschaltung
- Die sichere Funktion beider Betriebsmodi sollte man unbedingt überprüfen!
- Achtung:
- Wir erhöhen die Simulationszeit auf tStop=10 ms, um auch langsame Prägezyklen vollständig zu berechnen
- Um Probleme mit unserem bereits konfigurierten OptiY-Experiment zu vermeiden, setzen wir Abschaltung=0, bevor wir das Modell speichern. Damit ist im OptiY standardmäßig der bisherige Betriebsmodus mit Impulsgenerator wirksam.
Inbetriebnahme eines neuen OptiY-Experiments zur Rastersuche
OptiY bietet die Möglichkeit, für ein Projekt mehrere Experimente zu verwalten. So können wir die bisherigen Einstellungen und Ergebnisse beibehalten und als Ausgangspunkt für ein neues Experiment nutzen:
- Nach dem Duplizieren des Experiments erscheint im OptiY-Explorer die Kopie als Experiment2.
- Dieses weitere Experiment besitzt am Anfang die gleiche Konfiguration wie das Original. Nur die Anzeigefenster muss man neu definieren.
- Verwaltet man mehrere Experimente in einem Projekt, so sollte man mittels Umbenennen dafür sinnvolle Namen vergeben:
- Das bisherige Experiment könnte man z.B. nach dem verwendeten Optimierungsverfahren Hooke-Jeeves nennen.
- Für das neue Experiment bietet sich die Bezeichnung Rastersuche 2D an:
Für jedes Experiment wird von OptiY ein separater Workflow verwaltet, so dass darin unabhängig voneinander Änderungen vorgenommen werden können:
- Zuerst selektieren wir die Rastersuche 2D über das Kontextmenü als Startup-Experiment, damit wir es bearbeiten können.
- Wir löschen im zugehörigen Workflow die nicht mehr benötigten Entwurfsparameter:
- Während der Rastersuche muss die Magnetkraft-Erzeugung mit Abschaltung=1 versehen werden:
- Diesen Wert könnte man im SimulationX-Modell setzen. Das hat jedoch den Nachteil, dass der Wert für alle Experimente wirkt. Übersieht man diesen Effekt, gelangt man in anderen Experimenten ganz schnell zu fehlerhaften Resultaten!
- Wir ergänzen deshalb einen Entwurfsparameter Abschaltung, den wir dann mit dem Startwert=1 versehen, aber konstant halten.
- Abschaltung ordnen wir im Workflow dem Modellparameter CAD.Abschaltung zu.
- Hinweis: Falls die Modellparameter für die Zuordnung des Eingangs nicht angezeigt werden, muss die Datei des Modells für Etappe1 erneut geöffnet werden!
- Die Grenzen der beiden "echten" Entwurfsparameter muss man so groß wählen, dass das globale Optimum im aufgespannten Bereich enthalten ist:
- Ein zu großer Bereich verhindert ein hinreichend dichtes Abtasten der Oberfläche wegen ausufernder Rechenzeit.
- Orientieren sollte man sich an technisch-physikalisch sinnvollen Größen für die Parameter.
- Meist kann man sich günstigen Grenzwerten für die Rastersuche nur iterativ nähern!
- Im Sinne einer effektiven Nutzung der knappen Übungszeit werden hier günstige Grenzwerte vorgegeben:
- d_Anker = 6...16 mm
- Feder_k = 2...160 N/mm
- Als Optimierungsverfahren wählen wir die Rastersuche mit 900 Abtastschritten:
- Der Bereich jedes Entwurfsparameters wird dabei in gleichmäßigen Abständen an 30 Punkten abgetastet.
- 30x30=900 Simulationsläufe sind auf modernen PC ein günstiger Kompromiss zwischen Rechenzeit und Feinheit der Abtastung.
- Der Rechenzeitbedarf steigt quadratisch mit der Feinheit der Rasterung, deshalb sollte man sich auf älterer Hardware mit 20x20=400 Simulationsläufen zufrieden geben!
Hinweis:
In der Simulationssteuerung von SimulationX muss tStop größer gewählt werden, als der längste Prägezyklus im Suchraum! Im Beispiel sollte tStop=10 ms ausreichen.
- Das 3D-Diagramm für das Gütekriterium tZyklus=f(d_Anker, Feder_k) kann man bereits vor dem Start der Optimierung öffnen (Analyse > Darstellung > 3D-Darstellung). Der Verlauf der "Farbe" soll durch den Wertebereich von tZyklus bestimmt werden:
- Nach Start der Optimierung baut sich Stück für Stück die 3D-Darstellung im Diagramm auf.
- Ein Mausklick auf das 3D-Diagramm ermöglicht im Eigenschaftsfeld die Konfiguration der Darstellung.
- Während der Berechnung ist es günstig, nur die Punkte innerhalb des Rahmen darzustellen (Linien und Flächen ausblenden):
- Anderenfalls entsteht infolge der unvollständigen Grafik ein Wirrwarr von Linien- und Flächenelementen.
- Nach Ende der Berechnung hat sich im Beispiel die Flächendarstellung mit eingeblendeten Linien als anschaulich erwiesen.
- Die Standardfarben für Max- und Min-Farbe wurden im Beispiel durch Gelb und Violett ersetzt, um einen kontrastreicheren Farbverlauf zu erhalten.
- Mit dem Maus-Cursor lässt sich die Darstellung drehen (Einstellen einer günstigen Ansichten):
Interpretation und Skalierung der Guetefunktion
- Die Magnetkraft schaltet erst nach erfolgreichem Prägen des Papiers ab:
- Reicht die Kraft dafür nicht aus, so kehrt die Nadel nicht mehr in die Ruhelage zurück, weil die Kraft nicht abschaltet.
- In diesem Fall wird auf Grund des Messprinzips tZyklus=0 s ermittelt, obwohl praktisch tZyklus=unendlich ist!
- Die Z-Achse (tZyklus) des 3D-Diagramms wird automatisch zwischen Minimalwert (0 s) und Maximalwert (langsamster Prägezyklus) skaliert:
- tZyklus=0 repräsentiert den verbotenen Bereich, in dem keine Prägung stattfindet (=Restriktionsverletzung)
- Die "Zacken" an der Grenze des zulässigen Lösungsbereichs resultieren aus dem Abtast-Raster.
- Um die abgebildete Gütefunktion besser an die "natürlichen" Gegebenheiten anzupassen und gleichzeitig eine bessere Skalierung in Z-Richtung zu erhalten, genügt eine einfache Modell-Änderung:
- Wichtig: Vor der Modelländerung OptiY schließen (mit Speichern) und SimulationX schließen (OHNE Speichern!)
- Wir setzen im SimulationX-Modell in der Strukturansicht des Signalprozessor-Compound für den Anfangswert tZyklus.y0=0.0036. Das geänderte Modell muss wieder gespeichert werden.
- Nach erneut durchgeführter Rastersuche im OptiY erscheint dieser Wert von 3,6 ms beim Nichtprägen.
- Man erkennt dann im Bild, dass für diesen Zustand die Zykluszeit steil ansteigt (praktisch gegen Unendlich geht).
- Dieses Plateau markiert gleichzeitig die Forderung für die maximal zulässige Zykluszeit.
- Für die Farb-Legende hat sich folgende Zuweisungen als "selbsterklärend" erwiesen: rot = schlechte Werte / grün = gute Werte.
- Wir erhalten damit eine günstigere Darstellung der Gütefunktion tZyklus=f(d_Anker, Feder_k):
Das globale Optimum ("Bestwert") liegt in einer flachen Mulde unweit der Grenze zum "Nichtprägen":
Daraus kann man folgende Schlussfolgerungen ziehen:
- Insbesondere die Federkonstante kann infolge der flachen Mulde in einem weiten Bereich verändert werden, ohne dass sich die Zykluszeit in relevanten Größenordnungen ändert. Man kann sich bei der Wahl eines konkreten Wertes an der technischen Realisierbarkeit orientieren.
- Zur gewählten Federsteife kann man einen geeigneten Ankerdurchmesser wählen, der einen hinreichend schnellen Prägezyklus ermöglicht.
- Die Kombination der gewählten Entwurfsparameter sollte für eine optimale Lösung möglichst weit entfernt von der Restriktionsgrenze liegen, um trotz aller Toleranzen einen sicheren Betrieb des Antriebs zu gewährleisten.
Hinweis: Der Anfangswert 0,0036 von tZyklus.y0 wird nur wirksam, wenn man den Kraftmodus "Abschaltung=1" benutzt! Ansonsten beginnt die Magnetkraft bei Null und die Nadel wird durch die Feder-Vorspannung in den Anschlag der Ruhelage gedrückt. Dies wird als erstes Ereignis registriert und dafür eine Zeit nahe Null für tZyklus.y übernommen.