Der Vergleich von Simulationsergebnissen mit Meßwerten zeigte Abweichungen bei den maximal erreichbaren Auslenkungen, den Aktoreigenfrequenzen und den Einschwingzeiten. Die Abweichungen variierten in Abhängigkeit von der Position der Aktoren im Array. Untersuchungen im Teilprojekt B2 ergaben Abweichungen der Feder- und Plattendicke von der Sollgeometrie nach der Präparation. Zur Simulation der Auswirkungen abweichender Aktoreigenschaften während der Ansteuerung wurden die Arraymodelle parametrisiert, um das Modellverhalten der Einzelaktoren variieren zu können. Die Parametrisierung von HDL-A-Modellen ist mittels generics über die Modellschnittstelle (entity der HDL-A-Modelle) möglich, ohne Änderungen innerhalb der Modellarchitektur vornehmen zu müssen. Damit ist die Adaption des realen Verhaltens präparierter Arrays gegeben.
Die Verifikation zeigte ferner Abweichungen bei der Simulation der
Auslenkungsbewegung benachbarter Spiegelelemente. Die Ursache lag in
der vereinfachten Modellierung mechanischer Wechselwirkungen durch
abstrakte Koppelelemente und deren Dimensionierung. Erst nach der
Präparation und fortschreitendem Erkenntnisstand wurden im Teilprojekt
B2 ein Experimentalmodell zur Identifikation der Parameter für das
mechanische Übersprechen im Array entworfen und die entsprechenden
Meßdaten von B2 für die Systemmodellierung zur Verfügung gestellt.
Effektiver gegenüber der Modellierung mit Koppelelementen ist die
Arraybeschreibung einschließlich der mechanischen Wechselwirkungen
zwischen den 25 Arrayelementen in Form des Gleichungssystems
(7):
Die Implementierung dieses Differentialgleichungssystems erfolgte wiederum mit Hilfe impliziter Gleichungssysteme im equation-Teil der architecture innerhalb eines HDL-A-Modells. Zur Arraygesamtsimulation wird das Antriebsmoment auslenkungsunabhängig berechnet und die Matrix der Massenträgheitsmomente auf einen Vektor zurückgeführt. Abb. 6 enthält Ausschnitte der Implementierung in HDL-A.
ENTITY array_25 IS GENERIC (n : integer; J : real_vector(1 to 25); k_m : real_matrix(1 to 25, 1 to 25); c_m : real_matrix(1 to 25, 1 to 25)); PIN (e1,e2 : electrical_vector(1 to 25); m : electrical ); END ENTITY array_25; ARCHITECTURE behav OF array_25 IS ... PROCEDURAL FOR ac,transient => ... - Matrizenmultiplikation s2: FOR i IN 1 TO n LOOP phi_bog(i) := integ(rot_v(i)); M_mech(i) := J(i)*ddt(rot_v(i)); s3: FOR k IN 1 TO n LOOP M_mech(i) := M_mech(i) + k_m(i,k)*rot_v(k) + c_m(i,k)*phi_bog(k); END LOOP s3; END LOOP s2; ... ... - Loesung der Bewegungsgleichungen EQUATION (rot_v(1),rot_v(2), ... ,rot_v(25)) FOR dc,transient => M_el(1) == M_mech(1); M_el(2) == M_mech(2); ... M_el(25) == M_mech(25); END RELATION; END ARCHITECTURE behav ; |