diff --git a/figs/APA95ML_nodes_1.png b/figs/APA95ML_nodes_1.png new file mode 100644 index 0000000..f7578b6 Binary files /dev/null and b/figs/APA95ML_nodes_1.png differ diff --git a/figs/APA95ML_nodes_2.png b/figs/APA95ML_nodes_2.png new file mode 100644 index 0000000..acc938e Binary files /dev/null and b/figs/APA95ML_nodes_2.png differ diff --git a/figs/compare_Gd_id_simscape.pdf b/figs/compare_Gd_id_simscape.pdf new file mode 100644 index 0000000..ff9c441 Binary files /dev/null and b/figs/compare_Gd_id_simscape.pdf differ diff --git a/figs/compare_Gd_id_simscape.png b/figs/compare_Gd_id_simscape.png new file mode 100644 index 0000000..e65bc5d Binary files /dev/null and b/figs/compare_Gd_id_simscape.png differ diff --git a/figs/compare_Gf_id_simscape.pdf b/figs/compare_Gf_id_simscape.pdf new file mode 100644 index 0000000..acb67bc Binary files /dev/null and b/figs/compare_Gf_id_simscape.pdf differ diff --git a/figs/compare_Gf_id_simscape.png b/figs/compare_Gf_id_simscape.png new file mode 100644 index 0000000..5863767 Binary files /dev/null and b/figs/compare_Gf_id_simscape.png differ diff --git a/figs/dynamics_act_disp_comp_mass.pdf b/figs/dynamics_act_disp_comp_mass.pdf index f0222c3..cfad4c3 100644 Binary files a/figs/dynamics_act_disp_comp_mass.pdf and b/figs/dynamics_act_disp_comp_mass.pdf differ diff --git a/figs/dynamics_act_disp_comp_mass.png b/figs/dynamics_act_disp_comp_mass.png index 6639efa..94202da 100644 Binary files a/figs/dynamics_act_disp_comp_mass.png and b/figs/dynamics_act_disp_comp_mass.png differ diff --git a/figs/gain_Va_to_Vs.pdf b/figs/gain_Va_to_Vs.pdf new file mode 100644 index 0000000..22f2266 Binary files /dev/null and b/figs/gain_Va_to_Vs.pdf differ diff --git a/figs/gain_Va_to_Vs.png b/figs/gain_Va_to_Vs.png new file mode 100644 index 0000000..c6569f2 Binary files /dev/null and b/figs/gain_Va_to_Vs.png differ diff --git a/figs/gain_Va_to_d.pdf b/figs/gain_Va_to_d.pdf new file mode 100644 index 0000000..ca30b2f Binary files /dev/null and b/figs/gain_Va_to_d.pdf differ diff --git a/figs/gain_Va_to_d.png b/figs/gain_Va_to_d.png new file mode 100644 index 0000000..f4a6a58 Binary files /dev/null and b/figs/gain_Va_to_d.png differ diff --git a/index.html b/index.html index 62d027b..17de956 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +-A schematic of the test-bench is shown in Figure 1. +A schematic of the test-bench is shown in Figure 1.
@@ -105,31 +111,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:
@@ -145,11 +151,504 @@ Here are the equipment used in the test bench:- +In order to correctly model the piezoelectric actuator, we need to determine: +
++We estimate \(g_a\) and \(g_s\) using different approaches: +
+ ++The stack parameters taken from the data-sheet are shown in Table 1. +
+ +Parameter | +Unit | +Value | +
---|---|---|
Nominal Stroke | +\(\mu m\) | +20 | +
Blocked force | +\(N\) | +4700 | +
Stiffness | +\(N/\mu m\) | +235 | +
Voltage Range | +\(V\) | +-20..150 | +
Capacitance | +\(\mu F\) | +4.4 | +
Length | +\(mm\) | +20 | +
Stack Area | +\(mm^2\) | +10x10 | +
+Let’s compute the generated force +
+ ++The stroke is \(L_{\max} = 20\mu m\) for a voltage range of \(V_{\max} = 170 V\). +Furthermore, the stiffness is \(k_a = 235 \cdot 10^6 N/m\). +
+ ++The relation between the applied voltage and the generated force can be estimated as follows: +
+\begin{equation} + g_a = k_a \frac{L_{\max}}{V_{\max}} +\end{equation} + +ka = 235e6; % [N/m] +Lmax = 20e-6; % [m] +Vmax = 170; % [V] ++
ka*Lmax/Vmax % [N/V] ++
+27.647 ++ + +
+From the parameters of the stack, it seems not possible to estimate the relation between the strain and the generated voltage. +
++In order to make the conversion from applied voltage to generated force or from the strain to the generated voltage, we need to defined some parameters corresponding to the piezoelectric material: +
+d33 = 300e-12; % Strain constant [m/V] +n = 80; % Number of layers per stack +ka = 235e6; % Stack stiffness [N/m] ++
+The ratio of the developed force to applied voltage is: +
+\begin{equation} +\label{org8300de8} + F_a = g_a V_a, \quad g_a = d_{33} n k_a +\end{equation} ++where: +
++If we take the numerical values, we obtain: +
+ga = d33*n*ka; % [N/V] ++
+ga = 5.6 [N/V] ++ + + +
+From (Fleming and Leang 2014) (page 123), the relation between relative displacement of the sensor stack and generated voltage is: +
+\begin{equation} +\label{org312083f} + V_s = \frac{d_{33}}{\epsilon^T s^D n} \Delta h +\end{equation} ++where: +
++If we take the numerical values, we obtain: +
+d33 = 300e-12; % Strain constant [m/V] +n = 80; % Number of layers per stack +eT = 5.3e-9; % Permittivity under constant stress [F/m] +sD = 2e-11; % Compliance under constant electric displacement [m2/N] ++
gs = d33/(eT*sD*n); % [V/m] ++
+gs = 35.4 [V/um] ++
+The idea here is to obtain the parameters \(g_a\) and \(g_s\) from the comparison of an experimental identification and the identification using Simscape. +
+ ++Using the experimental identification, we can easily obtain the gain from the applied voltage to the generated displacement, but not to the generated force. +However, from the Simscape model, we can easily have the link from the generated force to the displacement, them we can computed \(g_a\). +
+ ++Similarly, it is fairly easy to experimentally obtain the gain from the stack displacement to the generated voltage across the stack. +To link that to the strain of the sensor stack, the simscape model is used. +
++The data from the identification test is loaded. +
+load('apa95ml_5kg_Amp_E505.mat', 't', 'um', 'y'); + +% Any offset value is removed: +um = detrend(um, 0); % Amplifier Input Voltage [V] +y = detrend(y , 0); % Mass displacement [m] ++
+Now we add a factor 10 to take into account the gain of the voltage amplifier and thus obtain the voltage across the piezoelectric stack. +
+um = 10*um; % Stack Actuator Input Voltage [V] ++
+Then, the transfer function from the stack voltage to the vertical displacement is computed. +
+Ts = t(end)/(length(t)-1); +Fs = 1/Ts; + +win = hanning(ceil(1*Fs)); + +[tf_est, f] = tfestimate(um, y, win, [], [], 1/Ts); ++
+The gain from input voltage of the stack to the vertical displacement is determined: +
+g_d_Va = 4e-7; % [m/V] ++
+
+Figure 4: Transfer function from actuator stack voltage \(V_a\) to vertical displacement of the mass \(d\)
++Then, the transfer function from forces applied by the stack actuator to the vertical displacement of the mass is identified from the Simscape model. +
+m = 5.5; + +%% Name of the Simulink File +mdl = 'piezo_amplified_3d'; + +%% Input/Output definition +clear io; io_i = 1; +io(io_i) = linio([mdl, '/Fa'], 1, 'openinput'); io_i = io_i + 1; % Actuator Force [N] +io(io_i) = linio([mdl, '/y'], 1, 'openoutput'); io_i = io_i + 1; % Vertical Displacement [m] + +Gd = linearize(mdl, io); ++
+The DC gain the the identified dynamics +
+g_d_Fa = abs(dcgain(Gd)); % [m/N]
+
++G_d_Fa = 1.2e-08 [m/N] ++ + + +
+And finally, the gain \(g_a\) from the the actuator voltage \(V_a\) to the generated force \(F_a\) can be computed: +
+\begin{equation} + g_a = \frac{F_a}{V_a} = \frac{F_a}{d} \frac{d}{V_a} +\end{equation} + +ga = g_d_Va/g_d_Fa;
+
++ga = 33.7 [N/V] ++ + +
+The obtained comparison between the Simscape model and the identified dynamics is shown in Figure 5. +
+ + ++
+Figure 5: Comparison of the identified transfer function between actuator voltage \(V_a\) and vertical mass displacement \(d\)
++Now, the gain from the stack strain \(\Delta h\) to the generated voltage \(V_s\) is estimated. +
+ ++We can determine the gain from actuator voltage \(V_a\) to sensor voltage \(V_s\) thanks to the identification. +Using the simscape model, we can have the transfer function from the actuator voltage \(V_a\) (using the previously estimated gain \(g_a\)) to the sensor stack strain \(\Delta h\). +
+ ++Finally, using these two values, we can compute the gain \(g_s\) from the stack strain \(\Delta h\) to the generated Voltage \(V_s\). +
+ ++Identification data is loaded. +
+load('apa95ml_5kg_2a_1s.mat', 't', 'u', 'v'); + +u = detrend(u, 0); % Input Voltage of the Amplifier [V] +v = detrend(v, 0); % Voltage accross the stack sensor [V] ++
+Here, an amplifier with a gain of 20 is used. +
+u = 20*u; % Input Voltage of the Amplifier [V] ++
+Then, the transfer function from \(V_a\) to \(V_s\) is identified and its DC gain is estimated (Figure 6). +
+Ts = t(end)/(length(t)-1); +Fs = 1/Ts; + +win = hann(ceil(10/Ts)); + +[tf_est, f] = tfestimate(u, v, win, [], [], 1/Ts); ++
g_Vs_Va = 0.022; % [V/V]
+
++
+Figure 6: Transfer function from actuator stack voltage \(V_a\) to sensor stack voltage \(V_s\)
++Now the transfer function from the actuator stack voltage to the sensor stack strain is estimated using the Simscape model. +
+m = 5.5; + +%% Name of the Simulink File +mdl = 'piezo_amplified_3d'; + +%% Input/Output definition +clear io; io_i = 1; +io(io_i) = linio([mdl, '/Va'], 1, 'openinput'); io_i = io_i + 1; % Actuator Voltage [V] +io(io_i) = linio([mdl, '/dL'], 1, 'openoutput'); io_i = io_i + 1; % Sensor Stack displacement [m] + +Gf = linearize(mdl, io); ++
+The gain from the actuator stack voltage to the sensor stack strain is estimated below. +
+G_dh_Va = abs(dcgain(Gf)); ++
+G_dh_Va = 6.2e-09 [m/V] ++ + +
+And finally, the gain \(g_s\) from the sensor stack strain to the generated voltage can be estimated: +
+\begin{equation} + g_s = \frac{V_s}{\Delta h} = \frac{V_s}{V_a} \frac{V_a}{\Delta h} +\end{equation} + +gs = g_Vs_Va/G_dh_Va; % [V/m] ++
+gs = 3.5 [V/um] ++ + + +
+
+Figure 7: Comparison of the identified transfer function between actuator voltage \(V_a\) and sensor stack voltage
++The obtained parameters \(g_a\) and \(g_s\) are not consistent between the different methods. +
+ ++The one using the experimental data are saved and further used. +
+save('./matlab/mat/apa95ml_params.mat', 'ga', 'gs'); ++
The idea here is to model the test-bench using Simscape. @@ -160,23 +659,31 @@ Whereas the suspended mass and metrology frame can be considered as rigid bodies
-To model the APA, a Finite Element Model (FEM) is used and imported into Simscape. +To model the APA, a Finite Element Model (FEM) is used (Figure 8) and imported into Simscape.
+ + ++
+Figure 8: Finite Element Model of the APA95ML
We first extract the stiffness and mass matrices.
K = extractMatrix('APA95ML_K.txt'); -M = extractMatrix('APA95ML_M.txt'); +K = readmatrix('APA95ML_K.CSV'); +M = readmatrix('APA95ML_M.CSV');
300000000.0 | +-1000.0 | -30000.0 | -8000.0 | --200.0 | --30.0 | --60000.0 | +-40.0 | +70000.0 | +300.0 | 20000000.0 | --4000.0 | -500.0 | -8 | +-30.0 | +-5000.0 | +5 | ||
-30000.0 | -100000000.0 | -400.0 | -30.0 | -200.0 | --1 | -4000.0 | --8000000.0 | -800.0 | -7 | -|||||||||
8000.0 | -400.0 | +-1000.0 | 50000000.0 | --800000.0 | --300.0 | --40.0 | +-7000.0 | +800000.0 | +-20.0 | 300.0 | -100.0 | -5000000.0 | -40000.0 | -|||||
-200.0 | -30.0 | --800000.0 | -20000.0 | -5 | -1 | --10.0 | --2 | --40000.0 | --300.0 | -|||||||||
-30.0 | -200.0 | --300.0 | -5 | -40000.0 | -0.3 | --4 | --10.0 | -40.0 | -0.4 | -|||||||||
-60000.0 | --1 | --40.0 | -1 | -0.3 | 3000.0 | -7000.0 | -0.8 | --1 | -0.0003 | +5000000.0 | +400.0 | +-40000.0 | +||||||
-30000.0 | +-7000.0 | +100000000.0 | +-200.0 | +-60.0 | +70.0 | +3000.0 | +3000.0 | +-8000000.0 | +-30.0 | +|||||||||
-40.0 | +800000.0 | +-200.0 | +20000.0 | +-0.4 | +4 | +30.0 | +40000.0 | +7 | +-300.0 | +|||||||||
70000.0 | +-20.0 | +-60.0 | +-0.4 | +3000.0 | +1 | +-6000.0 | +10.0 | +8 | +-0.1 | +|||||||||
300.0 | +300.0 | +70.0 | +4 | +1 | +40000.0 | +-10.0 | +-10.0 | +30.0 | +0.1 | |||||||||
20000000.0 | -4000.0 | -300.0 | +3000.0 | +3000.0 | +30.0 | +-6000.0 | -10.0 | --4 | -7000.0 | 300000000.0 | -20000.0 | -3000.0 | -80.0 | -|||||
-4000.0 | --8000000.0 | -100.0 | --2 | --10.0 | -0.8 | -20000.0 | -100000000.0 | --4000.0 | +2000.0 | +9000.0 | -100.0 | |||||||
500.0 | -800.0 | +-30.0 | 5000000.0 | --40000.0 | -40.0 | --1 | 3000.0 | --4000.0 | +40000.0 | +10.0 | +-10.0 | +2000.0 | 50000000.0 | -800000.0 | +-3000.0 | +-800000.0 | ||
8 | +-5000.0 | +400.0 | +-8000000.0 | 7 | -40000.0 | +8 | +30.0 | +9000.0 | +-3000.0 | +100000000.0 | +100.0 | +|||||||
5 | +-40000.0 | +-30.0 | -300.0 | -0.4 | -0.0003 | -80.0 | +-0.1 | +0.1 | -100.0 | -800000.0 | +-800000.0 | +100.0 | 20000.0 |
0.03 | +7e-08 | 2e-06 | --2e-07 | -1e-08 | -2e-08 | -0.0002 | +-3e-09 | +-0.0002 | +-6e-08 | -0.001 | -2e-07 | --8e-08 | --9e-10 | +8e-07 | +6e-07 | +-8e-09 | ||
2e-06 | +7e-08 | 0.02 | --5e-07 | -7e-09 | -3e-08 | -2e-08 | --3e-07 | -0.0003 | --1e-08 | -1e-10 | -||||||||
-2e-07 | --5e-07 | -0.02 | --9e-05 | -4e-09 | --1e-08 | -2e-07 | --2e-08 | +-1e-06 | +9e-05 | +-3e-09 | +-4e-09 | +-1e-06 | -0.0006 | --5e-06 | -||||
1e-08 | -7e-09 | --9e-05 | -1e-06 | -6e-11 | -4e-10 | --1e-09 | -3e-11 | +-4e-08 | 5e-06 | -3e-08 | ||||||||
2e-08 | -3e-08 | -4e-09 | -6e-11 | -1e-06 | -2e-10 | --2e-09 | -2e-10 | --7e-09 | --4e-11 | -|||||||||
0.0002 | -2e-08 | --1e-08 | -4e-10 | -2e-10 | 2e-06 | --2e-06 | --1e-09 | --7e-10 | --9e-12 | +-1e-06 | +0.02 | +-3e-08 | +-4e-08 | +1e-08 | +1e-07 | +-2e-07 | +0.0003 | +1e-09 | +
-3e-09 | +9e-05 | +-3e-08 | +1e-06 | +-3e-11 | +-3e-13 | +-7e-09 | +-5e-06 | +-3e-10 | +3e-08 | +|||||||||
-0.0002 | +-3e-09 | +-4e-08 | +-3e-11 | +2e-06 | +6e-10 | +2e-06 | +-7e-09 | +-2e-09 | +7e-11 | +|||||||||
-6e-08 | +-4e-09 | +1e-08 | +-3e-13 | +6e-10 | +1e-06 | +1e-08 | +3e-09 | +-2e-09 | +2e-13 | |||||||||
-0.001 | --3e-07 | -2e-07 | --1e-09 | --2e-09 | --2e-06 | +-1e-06 | +1e-07 | +-7e-09 | +2e-06 | +1e-08 | 0.03 | +4e-08 | -2e-06 | --1e-07 | --5e-09 | +8e-09 | ||
2e-07 | -0.0003 | --2e-08 | -3e-11 | -2e-10 | --1e-09 | --2e-06 | -0.02 | --8e-07 | --1e-08 | -|||||||||
-8e-08 | --1e-08 | +8e-07 | -0.0006 | -5e-06 | +-2e-07 | +-5e-06 | -7e-09 | --7e-10 | --1e-07 | --8e-07 | +3e-09 | +4e-08 | 0.02 | -9e-05 | +-9e-07 | +-9e-05 | ||
-9e-10 | -1e-10 | --5e-06 | +6e-07 | +-4e-08 | +0.0003 | +-3e-10 | +-2e-09 | +-2e-09 | +-2e-06 | +-9e-07 | +0.02 | +2e-08 | +||||||
-8e-09 | +5e-06 | +1e-09 | 3e-08 | --4e-11 | --9e-12 | --5e-09 | --1e-08 | -9e-05 | +7e-11 | +2e-13 | +8e-09 | +-9e-05 | +2e-08 | 1e-06 |
Total number of Nodes | -168959 | +7 |
Number of interface Nodes | -13 | +7 |
Number of Modes | -30 | +6 |
Size of M and K matrices | -108 | +48 |
1.0 | -168947.0 | +40467.0 | 0.0 | -0.03 | 0.0 | +0.029997 |
2.0 | -168949.0 | +40469.0 | 0.0 | --0.03 | 0.0 | +-0.029997 |
3.0 | -168950.0 | +40470.0 | -0.035 | 0.0 | 0.0 | @@ -580,175 +1091,54 @@ Then, we extract the coordinates of the interface nodes.|
4.0 | -168951.0 | --0.028 | +40475.0 | +-0.015 | 0.0 | 0.0 |
5.0 | -168952.0 | --0.021 | +40476.0 | +-0.005 | 0.0 | 0.0 |
6.0 | -168953.0 | --0.014 | +40477.0 | +0.015 | 0.0 | 0.0 |
7.0 | -168954.0 | --0.007 | -0.0 | -0.0 | -||
8.0 | -168955.0 | -0.0 | -0.0 | -0.0 | -||
9.0 | -168956.0 | -0.007 | -0.0 | -0.0 | -||
10.0 | -168957.0 | -0.014 | -0.0 | -0.0 | -||
11.0 | -168958.0 | -0.021 | -0.0 | -0.0 | -||
12.0 | -168959.0 | +40478.0 | 0.035 | 0.0 | 0.0 | |
13.0 | -168960.0 | -0.028 | -0.0 | -0.0 | -
+
+Figure 9: Interface Nodes chosen for the APA95ML
+
Using K
, M
and int_xyz
, we can use the Reduced Order Flexible Solid
simscape block.
-In order to make the conversion from applied voltage to generated force or from the strain to the generated voltage, we need to defined some parameters corresponding to the piezoelectric material: -
-d33 = 300e-12; % Strain constant [m/V] -n = 80; % Number of layers per stack -eT = 1.6e-8; % Permittivity under constant stress [F/m] -sD = 1e-11; % Compliance under constant electric displacement [m2/N] -ka = 235e6; % Stack stiffness [N/m] -C = 5e-6; % Stack capactiance [F] --
-The ratio of the developed force to applied voltage is: -
-\begin{equation} -\label{org1eea105} - F_a = g_a V_a, \quad g_a = d_{33} n k_a -\end{equation} --where: -
--If we take the numerical values, we obtain: -
-d33*n*ka % [N/V] --
-5.64 -- - -
-From (Fleming and Leang 2014) (page 123), the relation between relative displacement of the sensor stack and generated voltage is: -
-\begin{equation} -\label{org7e93246} - V_s = \frac{d_{33}}{\epsilon^T s^D n} \Delta h -\end{equation} --where: -
--If we take the numerical values, we obtain: -
-1e-6*d33/(eT*sD*n) % [V/um] --
-23.438 --
The flexible element is imported using the Reduced Order Flexible Solid
Simscape block.
Internal Force
block is added between the
A Relative Motion Sensor
block is added between the nodes 1 and 2 to measure the displacement and the amplified piezo.
-[ ]
Add schematic of the model with interface nodesOne mass is fixed at one end of the piezo-electric stack actuator, the other end is fixed to the world frame.
@@ -772,11 +1158,11 @@ One mass is fixed at one end of the piezo-electric stack actuator, the other end-The identified dynamics is shown in Figure 4. +The identified dynamics is shown in Figure 10.
-
Figure 4: Dynamics from \(F\) to \(d\) without a payload and with a 5kg payload
+Figure 10: Dynamics from \(F\) to \(d\) without a payload and with a 5kg payload
-The obtained dynamics is shown in Figure 5. +The obtained dynamics is shown in Figure 11.
-
Figure 5: Dynamics from \(F\) to \(F_m\) for \(m=0\) and \(m = 10kg\)
+Figure 11: Dynamics from \(F\) to \(F_m\) for \(m=0\) and \(m = 10kg\)
save('matlab/mat/fem_simscape_models.mat', 'Ghm', 'Gfm')@@ -846,250 +1232,27 @@ Gfm = linearize(mdl, io);
-The data from the “noise test” and the identification test are loaded. -
-load('apa95ml_5kg_Amp_E505.mat', 't', 'um', 'y'); --
-Any offset value is removed: -
-um = detrend(um, 0); % Amplifier Input Voltage [V] -y = detrend(y , 0); % Mass displacement [m] --
-Now we add a factor 10 to take into account the gain of the voltage amplifier. -
-um = 10*um; % Stack Actuator Input Voltage [V] --
Ts = t(end)/(length(t)-1); -Fs = 1/Ts; - -win = hanning(ceil(1*Fs)); --
[tf_est, f] = tfestimate(um, y, win, [], [], 1/Ts);
-
--The gain from input voltage of the stack to the vertical displacement is determined: -
-gD = 4e-7; % [m/V] --
K = extractMatrix('APA95ML_K.txt'); -M = extractMatrix('APA95ML_M.txt'); -[int_xyz, int_i, n_xyz, n_i, nodes] = extractNodes('APA95ML_out_nodes_3D.txt'); --
-Define parameters just for the simulation. Should not change any results -
-d33 = 1; % Strain constant [m/V] -n = 1; % Number of layers per stack -eT = 1; % Permittivity under constant stress [F/m] -sD = 1; % Compliance under constant electric displacement [m2/N] -ka = 1; % Stack stiffness [N/m] -C = 1; % Stack capactiance [F] --
m = 5; - -%% Name of the Simulink File -mdl = 'piezo_amplified_3d'; - -%% Input/Output definition -clear io; io_i = 1; -io(io_i) = linio([mdl, '/Fa'], 1, 'openinput'); io_i = io_i + 1; % Actuator Force [N] -io(io_i) = linio([mdl, '/y'], 1, 'openoutput'); io_i = io_i + 1; % Vertical Displacement [m] - -Gd = linearize(mdl, io); --
gF = abs(dcgain(Gd)); % [m/N] -ans = gF --
-6.1695e-09 -- - -
-\[ g_a = g_D/g_F \] -in [N/V] -
-ga = gD/gF -ans = ga --
-64.835 -- - -
na = 2; ns = 1; d33 = 300e-12; n = 80; ka = 235e6; gL = 1.7; -na/(na+ns)*gL*d33*n*ka --
-6.392 -- - -
[ ]
Why is there a factor 10 with the “theoretical estimation?”load('apa95ml_5kg_2a_1s.mat', 't', 'u', 'v'); --
u = detrend(u, 0); % Input Voltage of the Amplifier [V] -v = detrend(v, 0); % Voltage accross the stack sensor [V] --
u = 20*u; % Input Voltage of the Amplifier [V] --
Ts = t(end)/(length(t)-1); -Fs = 1/Ts; - -win = hann(ceil(10/Ts)); - -[tf_est, f] = tfestimate(u, v, win, [], [], 1/Ts); --
gV = 0.022; % [V/V]
-
-m = 5; - -%% Name of the Simulink File -mdl = 'piezo_amplified_3d'; - -%% Input/Output definition -clear io; io_i = 1; -io(io_i) = linio([mdl, '/Fa'], 1, 'openinput'); io_i = io_i + 1; % Actuator Force [N] -io(io_i) = linio([mdl, '/dL'], 1, 'openoutput'); io_i = io_i + 1; % Sensor Stack displacement [m] - -Gf = linearize(mdl, io); --
-\(g_F\) in [m/N] -
-gF = abs(dcgain(Gf));
-ans = gF
-
--2.1546e-10 -- - -
-Finally, we compute the gain from strain of the sensor stack to its generated voltage: -\[ g_S = \frac{g_V}{g_F g_a} \] -Gs in [V/m] -
-gS = gV/gF/ga; -ans = gS --
-15749000.0 -- - -
d33 = 300e-12; eT = 5.3e-9; sD = 2e-11; n = 80; -d33/(eT*sD*n) --
-35377000.0 --
-
Figure 6: Measurement of the Mass displacement during Huddle Test
+Figure 12: Measurement of the Mass displacement during Huddle Test
Ts = t(end)/(length(t)-1); @@ -1105,20 +1268,20 @@ win = hanning(ceil(1*Fs));
-
Figure 7: Amplitude Spectral Density of the Displacement during Huddle Test
+Figure 13: Amplitude Spectral Density of the Displacement during Huddle Test
The data from the “noise test” and the identification test are loaded. @@ -1165,8 +1328,8 @@ ht.u = 10*ht.u;
Ts = t(end)/(length(t)-1); @@ -1183,16 +1346,16 @@ win = hanning(ceil(1*Fs));
-
Figure 8: Comparison of the ASD for the identification test and the huddle test
+Figure 14: Comparison of the ASD for the identification test and the huddle test
[tf_est, f] = tfestimate(um, -y, win, [], [], 1/Ts); @@ -1201,10 +1364,10 @@ win = hanning(ceil(1*Fs));
-
Figure 9: Coherence
+Figure 15: Coherence
@@ -1216,20 +1379,20 @@ Comparison with the FEM model
-
Figure 10: Comparison of the identified transfer function and the one estimated from the FE model
+Figure 16: Comparison of the identified transfer function and the one estimated from the FE model
-The transfer function from input voltage to output voltage are computed and shown in Figure 11. +The transfer function from input voltage to output voltage are computed and shown in Figure 17.
-
Figure 11: Comparison of the identified dynamics from voltage output to voltage input and the FEM
+Figure 17: Comparison of the identified dynamics from voltage output to voltage input and the FEM
w_z = 2*pi*111; % Zeros frequency [rad/s] @@ -1332,44 +1495,44 @@ Gi = G_inf*(s^2- +-
Figure 12: Identification of the IFF plant
+Figure 18: Identification of the IFF plant
-
Figure 13: Root Locus for IFF
+Figure 19: Root Locus for IFF
-
Figure 14: Schematic of the test bench using IFF
+Figure 20: Schematic of the test bench using IFF
iff_g10 = load('apa95ml_iff_g10_res.mat', 'u', 't', 'y', 'v'); @@ -1394,24 +1557,24 @@ win = hann(ceil(10/Ts));
-
Figure 15: Coherence
+Figure 21: Coherence
-
Figure 16: Bode plot for different values of IFF gain
+Figure 22: Bode plot for different values of IFF gain
load('apa95ml_iff_test.mat', 'results'); @@ -1440,7 +1603,7 @@ g_iff = [0, 1, 5, 10, 50, 100];
Created: 2020-11-24 mar. 09:17
+Created: 2020-11-24 mar. 13:54