+
+
7.8 Compare the results obtained for all 7 APA300ML
+
Compare all the obtained parameters for all the test APA.
@@ -627,8 +853,8 @@ Compare all the obtained parameters for all the test APA.
-
-
7 Measurement Results
+
+
8 Measurement Results
Bibliography
@@ -638,7 +864,7 @@ Compare all the obtained parameters for all the test APA.
Author: Dehaeze Thomas
-
Created: 2021-03-15 lun. 11:35
+
Created: 2021-03-16 mar. 14:30
diff --git a/test-bench-apa300ml.org b/test-bench-apa300ml.org
index 21a7589..4bb5f76 100644
--- a/test-bench-apa300ml.org
+++ b/test-bench-apa300ml.org
@@ -108,6 +108,8 @@ The block-diagram model of the piezoelectric actuator is then as shown in Figure
* Geometrical Measurements
** Introduction :ignore:
+The received APA are shown in Figure [[fig:received_apa]].
+
#+name: fig:received_apa
#+caption: Received APA
#+attr_latex: :width 0.6\linewidth
@@ -133,13 +135,16 @@ addpath('./mat/');
** Measurement Setup
+The flatness corresponding to the two interface planes are measured as shown in Figure [[fig:flatness_meas_setup]].
+
#+name: fig:flatness_meas_setup
#+caption: Measurement Setup
#+attr_latex: :width 0.6\linewidth
[[file:figs/IMG_20210224_143809.jpg]]
** Measurement Results
-Height (Z) measurements:
+
+The height (Z) measurements at the 8 locations (4 points by plane) are defined below.
#+begin_src matlab
apa1 = 1e-6*[0, -0.5 , 3.5 , 3.5 , 42 , 45.5, 52.5 , 46];
apa2 = 1e-6*[0, -2.5 , -3 , 0 , -1.5 , 1 , -2 , -4];
@@ -152,7 +157,7 @@ apa7b = 1e-6*[0, 9 , -18.5, -30 , 31 , 46.5, 16.5 , 7.5];
apa = {apa1, apa2, apa3, apa4, apa5, apa6, apa7b};
#+end_src
-X/Y Positions of the 8 measurement points:
+The X/Y Positions of the 8 measurement points are defined below.
#+begin_src matlab
W = 20e-3; % Width [m]
L = 61e-3; % Length [m]
@@ -162,6 +167,7 @@ l = 15.5e-3; % [m]
pos = [[-L/2 + d; W/2 - d], [-L/2 + l - d; W/2 - d], [-L/2 + l - d; -W/2 + d], [-L/2 + d; -W/2 + d], [L/2 - l + d; W/2 - d], [L/2 - d; W/2 - d], [L/2 - d; -W/2 + d], [L/2 - l + d; -W/2 + d]];
#+end_src
+Finally, the flatness is estimated by fitting a plane through the 8 points using the =fminsearch= command.
#+begin_src matlab
apa_d = zeros(1, 7);
for i = 1:7
@@ -172,24 +178,26 @@ for i = 1:7
end
#+end_src
+The obtained flatness are shown in Table [[tab:flatness_meas]].
+
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
-data2orgtable(1e6*apa_d', {}, {'Flatness [um]'}, ' %.1f ');
+data2orgtable(1e6*apa_d', {'APA 1', 'APA 2', 'APA 3', 'APA 4', 'APA 5', 'APA 6', 'APA 7'}, {'*Flatness* $[\mu m]$'}, ' %.1f ');
#+end_src
#+name: tab:flatness_meas
#+caption: Estimated flatness
-#+attr_latex: :environment tabularx :width \linewidth :align c
+#+attr_latex: :environment tabularx :width 0.25\linewidth :align lc
#+attr_latex: :center t :booktabs t :float t
#+RESULTS:
-| Flatness [um] |
-|---------------|
-| 8.9 |
-| 3.1 |
-| 9.1 |
-| 3.0 |
-| 1.9 |
-| 7.1 |
-| 18.7 |
+| | *Flatness* $[\mu m]$ |
+|-------+----------------------|
+| APA 1 | 8.9 |
+| APA 2 | 3.1 |
+| APA 3 | 9.1 |
+| APA 4 | 3.0 |
+| APA 5 | 1.9 |
+| APA 6 | 7.1 |
+| APA 7 | 18.7 |
* Electrical Measurements
@@ -206,23 +214,41 @@ The excitation frequency is set to be 1kHz.
#+name: tab:apa300ml_capacitance
#+caption: Capacitance measured with the LCR meter. The excitation signal is a sinus at 1kHz
-#+attr_latex: :environment tabularx :width 0.6\linewidth :align lcc
+#+attr_latex: :environment tabularx :width 0.5\linewidth :align lcc
#+attr_latex: :center t :booktabs t :float t
-| *APA Number* | *Sensor Stack* | *Actuator Stacks* |
-|--------------+----------------+-------------------|
-| 1 | 5.10 | 10.03 |
-| 2 | 4.99 | 9.85 |
-| 3 | 1.72 | 5.18 |
-| 4 | 4.94 | 9.82 |
-| 5 | 4.90 | 9.66 |
-| 6 | 4.99 | 9.91 |
-| 7 | 4.85 | 9.85 |
+| | *Sensor Stack* | *Actuator Stacks* |
+|-------+----------------+-------------------|
+| APA 1 | 5.10 | 10.03 |
+| APA 2 | 4.99 | 9.85 |
+| APA 3 | 1.72 | 5.18 |
+| APA 4 | 4.94 | 9.82 |
+| APA 5 | 4.90 | 9.66 |
+| APA 6 | 4.99 | 9.91 |
+| APA 7 | 4.85 | 9.85 |
#+begin_warning
There is clearly a problem with APA300ML number 3
#+end_warning
* Stiffness measurement
+** Matlab Init :noexport:ignore:
+#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
+<
>
+#+end_src
+
+#+begin_src matlab :exports none :results silent :noweb yes
+<>
+#+end_src
+
+#+begin_src matlab :tangle no
+addpath('./matlab/mat/');
+addpath('./matlab/');
+#+end_src
+
+#+begin_src matlab :eval no
+addpath('./mat/');
+#+end_src
+
** APA test
#+begin_src matlab
load('meas_stiff_apa_1_x.mat', 't', 'F', 'd');
@@ -277,6 +303,267 @@ plot(F,d,'k')
plot(F_l, d_l)
plot(F_l, F_l*fit_l(1) + fit_l(2), '--')
#+end_src
+* Stroke measurement
+** Introduction :ignore:
+
+We here wish to estimate the stroke of the APA.
+
+To do so, one side of the APA is fixed, and a displacement probe is located on the other side as shown in Figure [[fig:stroke_test_bench]].
+
+Then, a voltage is applied on either one or two stacks using a DAC and a voltage amplifier.
+
+#+begin_note
+Here are the documentation of the equipment used for this test bench:
+- *Voltage Amplifier*: [[file:doc/PD200-V7-R1.pdf][PD200]] with a gain of 20
+- *16bits DAC*: [[file:doc/IO131-OEM-Datasheet.pdf][IO313 Speedgoat card]]
+- *Displacement Probe*: [[file:doc/Millimar--3723046--BA--C1208-C1216-C1240--FR--2016-11-08.pdf][Millimar C1216 electronics]] and [[file:doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf][Millimar 1318 probe]]
+#+end_note
+
+#+name: fig:stroke_test_bench
+#+caption: Bench to measured the APA stroke
+#+attr_latex: :width 0.9\linewidth
+[[file:figs/CE0EF55E-07B7-461B-8CDB-98590F68D15B.jpeg]]
+
+** Matlab Init :noexport:ignore:
+#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
+<>
+#+end_src
+
+#+begin_src matlab :exports none :results silent :noweb yes
+<>
+#+end_src
+
+#+begin_src matlab :tangle no
+addpath('./matlab/mat/');
+addpath('./matlab/');
+#+end_src
+
+#+begin_src matlab :eval no
+addpath('./mat/');
+#+end_src
+
+** Voltage applied on one stack
+
+Let's first look at the relation between the voltage applied to *one* stack to the displacement of the APA as measured by the displacement probe.
+
+#+begin_src matlab :exports none
+apa300ml_1s = {};
+for i = 1:7
+ apa300ml_1s(i) = {load(['mat/stroke_apa_1stacks_' num2str(i) '.mat'], 't', 'V', 'd')};
+end
+#+end_src
+
+#+begin_src matlab :exports none
+for i = 1:7
+ t = apa300ml_1s{i}.t;
+ apa300ml_1s{i}.d = apa300ml_1s{i}.d - mean(apa300ml_1s{i}.d(t > 1.9 & t < 2.0));
+ apa300ml_1s{i}.d = apa300ml_1s{i}.d(t > 2.0 & t < 10.0);
+ apa300ml_1s{i}.V = apa300ml_1s{i}.V(t > 2.0 & t < 10.0);
+ apa300ml_1s{i}.t = apa300ml_1s{i}.t(t > 2.0 & t < 10.0);
+end
+#+end_src
+
+The applied voltage is shown in Figure [[fig:apa_stroke_voltage_time]].
+
+#+begin_src matlab :exports none
+figure;
+plot(apa300ml_1s{1}.t, 20*apa300ml_1s{1}.V)
+xlabel('Time [s]'); ylabel('Voltage [V]');
+ylim([-20,160]); yticks([-20 0 20 40 60 80 100 120 140 160]);
+#+end_src
+
+#+begin_src matlab :tangle no :exports results :results file replace
+exportFig('figs/apa_stroke_voltage_time.pdf', 'width', 'wide', 'height', 'normal');
+#+end_src
+
+#+name: fig:apa_stroke_voltage_time
+#+caption: Applied voltage as a function of time
+#+RESULTS:
+[[file:figs/apa_stroke_voltage_time.png]]
+
+The obtained displacement is shown in Figure [[fig:apa_stroke_time_1s]].
+The displacement is set to zero at initial time when the voltage applied is -20V.
+
+#+begin_src matlab :exports none
+figure;
+hold on;
+for i = 1:7
+ plot(apa300ml_1s{i}.t, 1e6*apa300ml_1s{i}.d, 'DisplayName', sprintf('APA %i', i))
+end
+hold off;
+xlabel('Time [s]'); ylabel('Displacement [$\mu m$]')
+legend('location', 'southeast', 'FontSize', 8)
+#+end_src
+
+#+begin_src matlab :tangle no :exports results :results file replace
+exportFig('figs/apa_stroke_time_1s.pdf', 'width', 'wide', 'height', 'normal');
+#+end_src
+
+#+name: fig:apa_stroke_time_1s
+#+caption: Displacement as a function of time for all the APA300ML
+#+RESULTS:
+[[file:figs/apa_stroke_time_1s.png]]
+
+Finally, the displacement is shown as a function of the applied voltage in Figure [[fig:apa_d_vs_V_1s]].
+We can clearly see that there is a problem with the APA 3.
+Also, there is a large hysteresis.
+
+#+begin_src matlab :exports none
+figure;
+hold on;
+for i = 1:7
+ plot(20*apa300ml_1s{i}.V, 1e6*apa300ml_1s{i}.d, 'DisplayName', sprintf('APA %i', i))
+end
+hold off;
+xlabel('Voltage [V]'); ylabel('Displacement [$\mu m$]')
+legend('location', 'southwest', 'FontSize', 8)
+xlim([-20, 160]); ylim([-140, 0]);
+#+end_src
+
+#+begin_src matlab :tangle no :exports results :results file replace
+exportFig('figs/apa_d_vs_V_1s.pdf', 'width', 'wide', 'height', 'tall');
+#+end_src
+
+#+name: fig:apa_d_vs_V_1s
+#+caption: Displacement as a function of the applied voltage
+#+RESULTS:
+[[file:figs/apa_d_vs_V_1s.png]]
+
+#+begin_important
+We can clearly see from Figure [[fig:apa_d_vs_V_1s]] that there is a problem with the APA number 3.
+#+end_important
+
+** Voltage applied on two stacks
+
+Now look at the relation between the voltage applied to the *two* other stacks to the displacement of the APA as measured by the displacement probe.
+
+#+begin_src matlab :exports none
+apa300ml_2s = {};
+for i = 1:7
+ apa300ml_2s(i) = {load(['mat/stroke_apa_2stacks_' num2str(i) '.mat'], 't', 'V', 'd')};
+end
+#+end_src
+
+#+begin_src matlab :exports none
+for i = 1:7
+ t = apa300ml_2s{i}.t;
+ apa300ml_2s{i}.d = apa300ml_2s{i}.d - mean(apa300ml_2s{i}.d(t > 1.9 & t < 2.0));
+ apa300ml_2s{i}.d = apa300ml_2s{i}.d(t > 2.0 & t < 10.0);
+ apa300ml_2s{i}.V = apa300ml_2s{i}.V(t > 2.0 & t < 10.0);
+ apa300ml_2s{i}.t = apa300ml_2s{i}.t(t > 2.0 & t < 10.0);
+end
+#+end_src
+
+The obtained displacement is shown in Figure [[fig:apa_stroke_time_2s]].
+The displacement is set to zero at initial time when the voltage applied is -20V.
+
+#+begin_src matlab :exports none
+figure;
+hold on;
+for i = 1:7
+ plot(apa300ml_2s{i}.t, 1e6*apa300ml_2s{i}.d, 'DisplayName', sprintf('APA %i', i))
+end
+hold off;
+xlabel('Time [s]'); ylabel('Displacement [$\mu m$]')
+legend('location', 'southeast', 'FontSize', 8)
+ylim([-250, 0]);
+#+end_src
+
+#+begin_src matlab :tangle no :exports results :results file replace
+exportFig('figs/apa_stroke_time_2s.pdf', 'width', 'wide', 'height', 'normal');
+#+end_src
+
+#+name: fig:apa_stroke_time_2s
+#+caption: Displacement as a function of time for all the APA300ML
+#+RESULTS:
+[[file:figs/apa_stroke_time_2s.png]]
+
+Finally, the displacement is shown as a function of the applied voltage in Figure [[fig:apa_d_vs_V_2s]].
+We can clearly see that there is a problem with the APA 3.
+Also, there is a large hysteresis.
+
+#+begin_src matlab :exports none
+figure;
+hold on;
+for i = 1:7
+ plot(20*apa300ml_2s{i}.V, 1e6*apa300ml_2s{i}.d, 'DisplayName', sprintf('APA %i', i))
+end
+hold off;
+xlabel('Voltage [V]'); ylabel('Displacement [$\mu m$]')
+legend('location', 'southwest', 'FontSize', 8)
+xlim([-20, 160]); ylim([-250, 0]);
+#+end_src
+
+#+begin_src matlab :tangle no :exports results :results file replace
+exportFig('figs/apa_d_vs_V_2s.pdf', 'width', 'wide', 'height', 'tall');
+#+end_src
+
+#+name: fig:apa_d_vs_V_2s
+#+caption: Displacement as a function of the applied voltage
+#+RESULTS:
+[[file:figs/apa_d_vs_V_2s.png]]
+
+** Voltage applied on all three stacks
+
+Finally, we can combine the two measurements to estimate the relation between the displacement and the voltage applied to the *three* stacks (Figure [[fig:apa_d_vs_V_3s]]).
+
+#+begin_src matlab :exports none
+apa300ml_3s = {};
+for i = 1:7
+ apa300ml_3s(i) = apa300ml_1s(i);
+ apa300ml_3s{i}.d = apa300ml_1s{i}.d + apa300ml_2s{i}.d;
+end
+#+end_src
+
+#+begin_src matlab :exports none
+figure;
+hold on;
+for i = 1:7
+ plot(20*apa300ml_3s{i}.V, 1e6*apa300ml_3s{i}.d, 'DisplayName', sprintf('APA %i', i))
+end
+hold off;
+xlabel('Voltage [V]'); ylabel('Displacement [$\mu m$]')
+legend('location', 'southwest', 'FontSize', 8)
+xlim([-20, 160]); ylim([-400, 0]);
+#+end_src
+
+#+begin_src matlab :tangle no :exports results :results file replace
+exportFig('figs/apa_d_vs_V_3s.pdf', 'width', 'wide', 'height', 'tall');
+#+end_src
+
+#+name: fig:apa_d_vs_V_3s
+#+caption: Displacement as a function of the applied voltage
+#+RESULTS:
+[[file:figs/apa_d_vs_V_3s.png]]
+
+The obtained maximum stroke for all the APA are summarized in Table [[tab:apa_measured_stroke]].
+
+#+begin_src matlab :exports none
+apa300ml_stroke = zeros(1, 7);
+for i = 1:7
+ apa300ml_stroke(i) = max(apa300ml_3s{i}.d) - min(apa300ml_3s{i}.d);
+end
+#+end_src
+
+#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
+data2orgtable(1e6*apa300ml_stroke', {'APA 1', 'APA 2', 'APA 3', 'APA 4', 'APA 5', 'APA 6', 'APA 7'}, {'*Stroke* $[\mu m]$'}, ' %.1f ');
+#+end_src
+
+#+name: tab:apa_measured_stroke
+#+caption: Measured maximum stroke
+#+attr_latex: :environment tabularx :width 0.25\linewidth :align lc
+#+attr_latex: :center t :booktabs t :float t
+#+RESULTS:
+| | *Stroke* $[\mu m]$ |
+|-------+--------------------|
+| APA 1 | 373.2 |
+| APA 2 | 365.5 |
+| APA 3 | 181.7 |
+| APA 4 | 359.7 |
+| APA 5 | 361.5 |
+| APA 6 | 363.9 |
+| APA 7 | 358.4 |
+
* Test-Bench Description
#+begin_note
diff --git a/test-bench-apa300ml.pdf b/test-bench-apa300ml.pdf
index d3ed2de..67c3ff3 100644
Binary files a/test-bench-apa300ml.pdf and b/test-bench-apa300ml.pdf differ