diff --git a/dcm-simscape.html b/dcm-simscape.html index a999d8f..0fab696 100644 --- a/dcm-simscape.html +++ b/dcm-simscape.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +%% Tested bragg angles -bragg = linspace(5, 80, 1000); % Bragg angle [deg] -d_off = 10.5e-3; % Wanted offset between x-rays [m] --
+There is a simple relation eq:bragg_angle_formula between: +
+%% Vertical Jack motion as a function of Bragg angle -dz = d_off./(2*cos(bragg*pi/180)); --
+This relation is shown in Figure 1. +
-
Figure 1: Jack motion as a function of Bragg angle
+The required jack stroke is approximately 25mm. +
+%% Required Jack stroke ans = 1e3*(dz(end) - dz(1)) @@ -144,34 +160,34 @@ dz = d_off./(2*
The reference frame is taken at the center of the 111 second crystal.
Three interferometers are pointed to the bottom surface of the 111 crystal.
-The position of the measurement points are shown in Figure 2 as well as the origin where the motion of the crystal is computed. +The position of the measurement points are shown in Figure 2 as well as the origin where the motion of the crystal is computed.
-
Figure 2: Bottom view of the second crystal 111. Position of the measurement points.
-The inverse kinematics consisting of deriving the interferometer measurements from the motion of the crystal (see Figure 3): +The inverse kinematics consisting of deriving the interferometer measurements from the motion of the crystal (see Figure 3):
\begin{equation} \begin{bmatrix} @@ -185,7 +201,7 @@ d_z \\ r_y \\ r_x \end{equation} -
Figure 3: Inverse Kinematics - Interferometers
@@ -193,7 +209,7 @@ d_z \\ r_y \\ r_x-From the Figure 2, the inverse kinematics can be solved as follow (for small motion): +From the Figure 2, the inverse kinematics can be solved as follow (for small motion):
\begin{equation} \bm{J}_{s,111} @@ -213,7 +229,7 @@ J_s_111 = [1, 0.07, -0.015-The forward kinematics is solved by inverting the Jacobian matrix (see Figure 4). +The forward kinematics is solved by inverting the Jacobian matrix (see Figure 4).
\begin{equation} \begin{bmatrix} @@ -259,13 +275,13 @@ x_1 \\ x_2 \\ x_3 \end{equation} -
Figure 4: Forward Kinematics - Interferometers
-The bode plot of \(\bm{G}_{\text{fj}}(s)\) is shown in Figure 10. +The bode plot of \(\bm{G}_{\text{fj}}(s)\) is shown in Figure 10.
-
Figure 10: Bode plot of the diagonal and off-diagonal elements of the plant in the frame of the fast jacks
Computing the system in the frame of the fastjack gives good decoupling at low frequency (until the first resonance of the system).
@@ -601,11 +617,11 @@ Computing the system in the frame of the fastjack gives good decoupling at low f
Figure 11: Use of Jacobian matrices to obtain the system in the frame of the crystal
@@ -660,19 +676,102 @@ The main reason is that, as we map forces to the center of the 111 crystal and n+
+Figure 12: Schematic representation of the control loop in the frame of one fast jack
++Interferometer noise: +
+Wn = 6e-11*(1 + s/2/pi/200)/(1 + s/2/pi/60); % m/sqrt(Hz) ++
+Measurement noise: 0.79 [nm,rms] ++ + +
+DAC noise (amplified by the PI voltage amplifier, and converted to newtons): +
+Wdac = tf(3e-8); % V/sqrt(Hz) +Wu = Wdac*22.5*10; % N/sqrt(Hz) ++
+DAC noise: 0.95 [uV,rms] ++ + +
+Disturbances: +
+Wd = 5e-7/(1 + s/2/pi); % m/sqrt(Hz) ++
+Disturbance motion: 0.61 [um,rms] ++ + +
%% Save ASD of noise and disturbances +save('mat/asd_noises_disturbances.mat', 'Wn', 'Wu', 'Wd'); ++
+The comparison of the amplitude spectral density of the measurement noise and of the jack parasitic motion is performed in Figure 13. +It confirms that the sensor noise is low enough to measure the motion errors of the crystal. +
+ + ++
+Figure 13: Open Loop noise budgeting
+In this section, we wish to see whether if strain gauges fixed to the piezoelectric actuator can be used for active damping.
%% Input/Output definition
clear io; io_i = 1;
@@ -730,15 +829,15 @@ G_sg = linearize(mdl, io);
-
Figure 12: Bode Plot of the transfer functions from piezoelectric forces to strain gauges measuremed displacements
+Figure 14: Bode Plot of the transfer functions from piezoelectric forces to strain gauges measuremed displacements
-As the distance between the poles and zeros in Figure 15 is very small, little damping can be actively added using the strain gauges. +As the distance between the poles and zeros in Figure 17 is very small, little damping can be actively added using the strain gauges. This will be confirmed using a Root Locus plot.
@@ -746,23 +845,23 @@ This will be confirmed using a Root Locus plot.Krad_g1 = eye(3)*s/(s^2/(2*pi*500)^2 + 2*s/(2*pi*500) + 1);
-As can be seen in Figure 13, very little damping can be added using relative damping strategy using strain gauges. +As can be seen in Figure 15, very little damping can be added using relative damping strategy using strain gauges.
--
Figure 13: Root Locus for the relative damping control
+Figure 15: Root Locus for the relative damping control
The controller is implemented on Simscape, and the damped plant is identified.
@@ -818,20 +917,20 @@ G_dp.OutputName = {'d_ur', +-
Figure 14: Bode plot of both the open-loop plant and the damped plant using relative active damping
+Figure 16: Bode plot of both the open-loop plant and the damped plant using relative active damping
Force sensors are added above the piezoelectric actuators. @@ -839,9 +938,9 @@ They can consists of a simple piezoelectric ceramic stack. See for instance fleming10_integ_strain_force_feedb_high.
%% Input/Output definition
clear io; io_i = 1;
@@ -863,22 +962,22 @@ G_fs = linearize(mdl, io);
-The Bode plot of the identified dynamics is shown in Figure 15. +The Bode plot of the identified dynamics is shown in Figure 17. At high frequency, the diagonal terms are constants while the off-diagonal terms have some roll-off.
--
Figure 15: Bode plot of IFF Plant
+Figure 17: Bode plot of IFF Plant
We want to have integral action around the resonances of the system, but we do not want to integrate at low frequency. Therefore, we can use a low pass filter. @@ -891,10 +990,10 @@ Kiff_g1 = eye(3)*1/
-
Figure 16: Root Locus plot for the IFF Control strategy
+Figure 18: Root Locus plot for the IFF Control strategy
-Both the Open Loop dynamics (see Figure 9) and the dynamics with IFF (see Figure 17) are identified. +Both the Open Loop dynamics (see Figure 9) and the dynamics with IFF (see Figure 19) are identified.
We are here interested in the dynamics from \(\bm{u}^\prime = [u_{u_r}^\prime,\ u_{u_h}^\prime,\ u_d^\prime]\) (input of the damped plant) to \(\bm{d}_{\text{fj}} = [d_{u_r},\ d_{u_h},\ d_d]\) (motion of the crystal expressed in the frame of the fast-jacks). -This is schematically represented in Figure 17. +This is schematically represented in Figure 19.
--
Figure 17: Use of Jacobian matrices to obtain the system in the frame of the fastjacks
+Figure 19: Use of Jacobian matrices to obtain the system in the frame of the fastjacks
-The dynamics from \(\bm{u}\) to \(\bm{d}_{\text{fj}}\) (open-loop dynamics) and from \(\bm{u}^\prime\) to \(\bm{d}_{\text{fs}}\) are compared in Figure 18. +The dynamics from \(\bm{u}\) to \(\bm{d}_{\text{fj}}\) (open-loop dynamics) and from \(\bm{u}^\prime\) to \(\bm{d}_{\text{fs}}\) are compared in Figure 20. It is clear that the Integral Force Feedback control strategy is very effective in damping the resonances of the plant.
--
Figure 18: Bode plot of both the open-loop plant and the damped plant using IFF
+Figure 20: Bode plot of both the open-loop plant and the damped plant using IFF
The Integral Force Feedback control strategy is very effective in damping the modes present in the plant.
@@ -952,42 +1051,42 @@ The Integral Force Feedback control strategy is very effective in damping the mo-The HAC-LAC architecture is shown in Figure 19. +The HAC-LAC architecture is shown in Figure 21.
--
Figure 19: HAC-LAC architecture
+Figure 21: HAC-LAC architecture
Let’s identify the damped plant.
--
Figure 20: Bode Plot of the plant for the High Authority Controller (transfer function from \(\bm{u}^\prime\) to \(\bm{\epsilon}_d\))
+Figure 22: Bode Plot of the plant for the High Authority Controller (transfer function from \(\bm{u}^\prime\) to \(\bm{\epsilon}_d\))
Let’s design a controller with a bandwidth of 100Hz. As the plant is well decoupled and well approximated by a constant at low frequency, the high authority controller can easily be designed with SISO loop shaping. @@ -1018,28 +1117,28 @@ L_hac_lac = G_dp * Khac;
-
Figure 21: Bode Plot of the Loop gain for the High Authority Controller
+Figure 23: Bode Plot of the Loop gain for the High Authority Controller
-As shown in the Root Locus plot in Figure 22, the closed loop system should be stable. +As shown in the Root Locus plot in Figure 24, the closed loop system should be stable.
--
Figure 22: Root Locus for the High Authority Controller
+Figure 24: Root Locus for the High Authority Controller
In order to estimate the performances of the HAC-IFF control strategy, the transfer function from motion errors of the stepper motors to the motion error of the crystal is identified both in open loop and with the HAC-IFF strategy.
@@ -1059,22 +1158,72 @@ It is first verified that the closed-loop system is stable:-And both transmissibilities are compared in Figure 23. +And both transmissibilities are compared in Figure 25.
--
Figure 23: Comparison of the transmissibility of errors from vibrations of the stepper motor between the open-loop case and the hac-iff case.
+Figure 25: Comparison of the transmissibility of errors from vibrations of the stepper motor between the open-loop case and the hac-iff case.
The HAC-IFF control strategy can effectively reduce the transmissibility of the motion errors of the stepper motors. This reduction is effective inside the bandwidth of the controller.
++Let’s compute the amplitude spectral density of the jack motion errors due to the sensor noise, the actuator noise and disturbances. +
+ +%% Computation of ASD of contribution of inputs to the closed-loop motion +% Error due to disturbances +asd_d = abs(squeeze(freqresp(Wd*(1/(1 + G_dp(1,1)*Khac(1,1))), f, 'Hz'))); +% Error due to actuator noise +asd_u = abs(squeeze(freqresp(Wu*(G_dp(1,1)/(1 + G_dp(1,1)*Khac(1,1))), f, 'Hz'))); +% Error due to sensor noise +asd_n = abs(squeeze(freqresp(Wn*(G_dp(1,1)*Khac(1,1)/(1 + G_dp(1,1)*Khac(1,1))), f, 'Hz'))); ++
+The closed-loop ASD is then: +
+%% ASD of the closed-loop motion +asd_cl = sqrt(asd_d.^2 + asd_u.^2 + asd_n.^2); ++
+The obtained ASD are shown in Figure 26. +
+ + ++
+Figure 26: Closed Loop noise budget
++Let’s compare the open-loop and close-loop cases (Figure 27). +
+ ++
+Figure 27: Cumulative Power Spectrum of the open-loop and closed-loop motion error along one fast-jack
Created: 2021-11-30 mar. 15:17
+Created: 2021-11-30 mar. 17:54