+This document is divided in the following sections: +
-A schematic of the test-bench is shown in Figure 1. +A schematic of the test-bench is shown in Figure 1.
@@ -111,31 +112,31 @@ The APA95ML has three stacks that can be used as actuator or as sensors.
-Pictures of the test bench are shown in Figure 2 and 3. +Pictures of the test bench are shown in Figure 2 and 3.
-
Figure 1: Schematic of the Setup
Figure 2: Picture of the Setup
Figure 3: Zoom on the APA
Here are the equipment used in the test bench:
@@ -151,11 +152,14 @@ Here are the equipment used in the test bench:-In order to correctly model the piezoelectric actuator, we need to determine: + +
++In order to correctly model the piezoelectric actuator with Simscape, we need to determine:
-The stack parameters taken from the data-sheet are shown in Table 1. +The stack parameters taken from the data-sheet are shown in Table 1.
-Then, we extract the coordinates of the interface nodes.
@@ -1007,7 +1009,7 @@ Then, we extract the coordinates of the interface nodes.-The interface nodes are shown in Figure 9 and their coordinates are listed in Table 4. +The interface nodes are shown in Figure 9 and their coordinates are listed in Table 4.
Figure 9: Interface Nodes chosen for the APA95ML
@@ -1136,8 +1138,8 @@ UsingK
, M
and int_xyz
, we can use the
The flexible element is imported using the Reduced Order Flexible Solid
Simscape block.
@@ -1152,17 +1154,22 @@ A Relative Motion Sensor
block is added between the nodes 1 and 2 t
One mass is fixed at one end of the piezo-electric stack actuator, the other end is fixed to the world frame.
m = 5; +m = 5.5; ++
load('apa95ml_params.mat', 'ga', 'gs');
-The identified dynamics is shown in Figure 10. +The identified dynamics is shown in Figure 10.
Figure 10: Dynamics from \(F\) to \(d\) without a payload and with a 5kg payload
@@ -1187,11 +1194,11 @@ Ghm = -linearize(mdl, io);-The obtained dynamics is shown in Figure 11. +The obtained dynamics is shown in Figure 11.
Figure 11: Dynamics from \(F\) to \(F_m\) for \(m=0\) and \(m = 10kg\)
@@ -1216,34 +1223,36 @@ Gfm = linearize(mdl, io);save('matlab/mat/fem_simscape_models.mat', 'Ghm', 'Gfm')
save('mat/fem_simscape_models.mat', 'Ghm', 'Gfm') --
+This first measurement consist of measuring the displacement of the mass using the interferometer when no voltage is applied to the actuator. +
+ ++This can help determining the actuator voltage necessary to generate a motion way above the measured noise and disturbances, and thus obtain a good identification.
Figure 12: Measurement of the Mass displacement during Huddle Test
@@ -1251,8 +1260,8 @@ Gfm = linearize(mdl, io);Ts = t(end)/(length(t)-1); @@ -1268,7 +1277,7 @@ win = hanning(ceil(1*Fs));
Figure 13: Amplitude Spectral Density of the Displacement during Huddle Test
@@ -1277,24 +1286,30 @@ win = hanning(ceil(1*Fs));+The setup used for the identification of the dynamics from \(V_a\) to \(d\) is shown in Figure 14.
-[ ]
List of equipment[ ]
Schematic[ ]
Problem of matching between the models? (there is a factor 10)-E505 with gain of 10. +A Voltage amplifier with a gain of \(10\) is used. +Two stacks are used as actuators while one stack is used as a force sensor.
+ + ++
+Figure 14: Test Bench used for the identification of the dynaimcs from \(V_a\) to \(d\)
The data from the “noise test” and the identification test are loaded. @@ -1322,14 +1337,13 @@ Now we add a factor 10 to take into account the gain of the voltage amplifier.
um = 10*um; -ht.u = 10*ht.u;
Ts = t(end)/(length(t)-1); @@ -1346,16 +1360,16 @@ win = hanning(ceil(1*Fs));
-
Figure 14: Comparison of the ASD for the identification test and the huddle test
+Figure 15: Comparison of the ASD for the identification test and the huddle test
[tf_est, f] = tfestimate(um, -y, win, [], [], 1/Ts); @@ -1364,10 +1378,10 @@ win = hanning(ceil(1*Fs));
-
Figure 15: Coherence
+Figure 16: Coherence
@@ -1379,31 +1393,23 @@ Comparison with the FEM model
-
Figure 16: Comparison of the identified transfer function and the one estimated from the FE model
+Figure 17: Comparison of the identified transfer function and the one estimated from the FE model
-Two measurements are performed: -
--The obtained dynamics from force actuator to force sensor are compare with the FEM model. +The same setup shown in Figure 14 is used.
The data are loaded: @@ -1413,76 +1419,88 @@ The data are loaded:
u = detrend(u, 0); -v = detrend(v, 0); --
u = 20*u;
-
--Let’s use the amplifier gain to obtain the true voltage applied to the actuator stack(s) -
- --The parameters of the piezoelectric stacks are defined below: +Any offset is removed.
d33 = 3e-10; % Strain constant [m/V] -n = 80; % Number of layers per stack -eT = 1.6e-8; % Permittivity under constant stress [F/m] -sD = 2e-11; % Elastic compliance under constant electric displacement [m2/N] -ka = 235e6; % Stack stiffness [N/m] +u = detrend(u, 0); % Speedgoat DAC output Voltage [V] +v = detrend(v, 0); % Speedgoat ADC input Voltage (sensor stack) [V]
-From the FEM, we construct the transfer function from DAC voltage to ADC voltage. +Here, the amplifier gain is 20.
Gfem_aa_s = exp(-s/1e4)*20*(2*d33*n*ka)*(G(3,1)+G(3,2))*d33/(eT*sD*n); -Gfem_a_ss = exp(-s/1e4)*20*( d33*n*ka)*(G(3,1)+G(2,1))*d33/(eT*sD*n); --
Gfem_aa_s = exp(-s/1e4)*20*(2*d33*n*ka)*Gfm*d33/(eT*sD*n); -Gfem_a_ss = exp(-s/1e4)*20*( d33*n*ka)*Gfm*d33/(eT*sD*n); +u = 20*u; % Actuator Stack Voltage [V]
-The transfer function from input voltage to output voltage are computed and shown in Figure 17. +The transfer function from the actuator voltage \(V_a\) to the force sensor stack voltage \(V_s\) is computed.
Ts = t(end)/(length(t)-1); Fs = 1/Ts; -win = hann(ceil(10/Ts)); +win = hann(ceil(5/Ts)); [tf_est, f] = tfestimate(u, v, win, [], [], 1/Ts); [coh, ~] = mscohere( u, v, win, [], [], 1/Ts);
+The coherence is shown in Figure 18. +
+ + ++
+Figure 18: Coherence
++The Simscape model is loaded and compared with the identified dynamics in Figure 19. +The non-minimum phase zero is just a side effect of the not so great identification. +Taking longer measurements would results in a minimum phase zero. +
+load('mat/fem_simscape_models.mat', 'Gfm');
-
Figure 17: Comparison of the identified dynamics from voltage output to voltage input and the FEM
+Figure 19: Comparison of the identified dynamics from voltage output to voltage input and the FEM
+From the identified plant, a model of the transfer function from the actuator stack voltage to the force sensor generated voltage is developed. +
+w_z = 2*pi*111; % Zeros frequency [rad/s] w_p = 2*pi*255; % Pole frequency [rad/s] @@ -1490,50 +1508,63 @@ xi_z = 0.05; xi_p = 0.015; G_inf = 0.1; -Gi = G_inf*(s^2 - 2*xi_z*w_z*s + w_z^2)/(s^2 + 2*xi_p*w_p*s + w_p^2); +Gi = G_inf*(s^2 + 2*xi_z*w_z*s + w_z^2)/(s^2 + 2*xi_p*w_p*s + w_p^2);
+Its bode plot is shown in Figure 21. +
--
Figure 18: Identification of the IFF plant
-Figure 21: Bode plot of the IFF plant
+The controller used in the Integral Force Feedback Architecture is: +
+\begin{equation} + K_{\text{IFF}}(s) = \frac{g}{s + 2\cdot 2\pi} \cdot \frac{s}{s + 0.5 \cdot 2\pi} +\end{equation} ++where \(g\) is a gain that can be tuned. +
-+Above 2 Hz the controller is basically an integrator, whereas an high pass filter is added at 0.5Hz to further reduce the low frequency gain. +
-+In the frequency band of interest, this controller should mostly act as a pure integrator. +
+ ++The Root Locus corresponding to this controller is shown in Figure 22. +
+ + +-
Figure 19: Root Locus for IFF
-Figure 22: Root Locus for IFF
- +The controller is now implemented in practice, and few controller gains are tested: \(g = 0\), \(g = 10\) and \(g = 100\).
-+
+For each controller gain, the identification shown in Figure 20 is performed.
-Figure 20: Schematic of the test bench using IFF
-iff_g10 = load('apa95ml_iff_g10_res.mat', 'u', 't', 'y', 'v'); iff_g100 = load('apa95ml_iff_g100_res.mat', 'u', 't', 'y', 'v'); @@ -1556,26 +1587,37 @@ win = hann(ceil(10/Ts));
+The coherence between the excitation signal and the mass displacement as measured by the interferometer is shown in Figure 23. +
--
Figure 21: Coherence
+Figure 23: Coherence
+The obtained transfer functions are shown in Figure 24. +It is clear that the IFF architecture can actively damp the main resonance of the system. +
--
Figure 22: Bode plot for different values of IFF gain
+Figure 24: Bode plot for different values of IFF gain
+Then, the same identification test is performed for many more gains. +
load('apa95ml_iff_test.mat', 'results');@@ -1602,12 +1644,21 @@ g_iff = [0, 1, 5, 10, 50, 100];
+The obtained dynamics are shown in Figure 25. +
-+
Figure 25: Identified dynamics from excitation voltage to the mass displacement
+For each gain, the parameters of a second order resonant system that best fits the data are estimated and are compared with the data in Figure 26. +
+G_id = {zeros(1,length(results))};
@@ -1625,15 +1676,21 @@ f_end = 500; % [Hz]
+
Figure 26: Comparison of the measured dynamic and the identified 2nd order resonant systems that best fits the data
+Finally, we can represent the position of the poles of the 2nd order systems on the Root Locus plot (Figure 27). +
-+
Figure 27: Root Locus plot of the identified IFF plant as well as the identified poles of the damped system
Created: 2020-11-24 mar. 13:54
+Created: 2020-11-24 mar. 18:24