Reworked the section about basic measurements
Before Width: | Height: | Size: 2.4 MiB |
Before Width: | Height: | Size: 677 KiB |
Before Width: | Height: | Size: 538 KiB |
Before Width: | Height: | Size: 291 KiB After Width: | Height: | Size: 291 KiB |
BIN
figs/flatness_meas_setup.jpg
Normal file
After Width: | Height: | Size: 243 KiB |
BIN
figs/picture_strut_top_view.jpg
Normal file
After Width: | Height: | Size: 244 KiB |
BIN
figs/received_apa.jpg
Normal file
After Width: | Height: | Size: 275 KiB |
BIN
figs/souleille18_model_piezo.pdf
Normal file
BIN
figs/souleille18_model_piezo.png
Normal file
After Width: | Height: | Size: 191 KiB |
BIN
figs/stroke_test_bench.jpg
Normal file
After Width: | Height: | Size: 621 KiB |
@ -55,27 +55,34 @@
|
|||||||
|
|
||||||
In this document, a test-bench is used to characterize the struts of the nano-hexapod.
|
In this document, a test-bench is used to characterize the struts of the nano-hexapod.
|
||||||
|
|
||||||
Each strut includes:
|
Each strut includes (Figure [[fig:picture_strut_top_view]]):
|
||||||
- 2 flexible joints at each ends. This flexible joints have been characterized in a [[file:../test-bench-nass-flexible-joints/test-bench-flexible-joints.org][separate test bench]].
|
- 2 flexible joints at each ends.
|
||||||
- one Amplified Piezoelectric Actuator (APA300ML) (described in Section [[sec:model_apa]])
|
These flexible joints have been characterized in a [[file:../test-bench-nass-flexible-joints/test-bench-flexible-joints.org][separate test bench]].
|
||||||
- one encoder (Renishaw Vionci) that has been characterized in a [[file:../test-bench-vionic/test-bench-vionic.org][separate test bench]].
|
- 1 Amplified Piezoelectric Actuator (APA300ML) (described in Section [[sec:model_apa]]).
|
||||||
|
Two stacks are used as an actuator and one stack as a (force) sensor.
|
||||||
|
- 1 encoder (Renishaw Vionic) that has been characterized in a [[file:../test-bench-vionic/test-bench-vionic.org][separate test bench]].
|
||||||
|
|
||||||
The goal here, is to first characterize the APA300ML in terms of:
|
#+name: fig:picture_strut_top_view
|
||||||
|
#+caption: One strut including two flexible joints, an amplified piezoelectric actuator and an encoder
|
||||||
|
#+attr_latex: :width 0.8\linewidth
|
||||||
|
[[file:figs/picture_strut_top_view.jpg]]
|
||||||
|
|
||||||
|
The first goal is to characterize the APA300ML in terms of:
|
||||||
- The, geometric features, electrical capacitance, stroke, hysteresis, spurious resonances.
|
- The, geometric features, electrical capacitance, stroke, hysteresis, spurious resonances.
|
||||||
This is performed in Section [[sec:first_measurements]].
|
This is performed in Section [[sec:first_measurements]].
|
||||||
- The dynamics from the voltage applied on the actuator stacks to the induced displacement, and to the measured voltage by the force sensor stack.
|
- The dynamics from the generated DAC voltage (going to the voltage amplifiers and then applied on the actuator stacks) to the induced displacement, and to the measured voltage by the force sensor stack.
|
||||||
Also the "actuator constant" and "sensor constant" are identified.
|
Also the "actuator constant" and "sensor constant" are identified.
|
||||||
This is done in Section [[sec:dynamical_meas_apa]].
|
This is done in Section [[sec:dynamical_meas_apa]].
|
||||||
- Compare the measurements with the Simscape models (2DoF, Super-Element) in order to tuned/validate the models.
|
- Compare the measurements with the Simscape models (2DoF, Super-Element) in order to tuned/validate the models.
|
||||||
This is explained in Section [[sec:simscape_bench_apa]].
|
This is explained in Section [[sec:simscape_bench_apa]].
|
||||||
|
|
||||||
Then the struts are mounted, and are fixed to the same measurement bench.
|
Then the struts are mounted (procedure described [[file:../test-bench-strut-mounting/test-bench-strut-mounting.org][here]]), and are fixed to the same measurement bench.
|
||||||
Similarly, the goals are to:
|
Similarly, the goals are to:
|
||||||
- Identify the dynamics from the generated DAC voltage (going to the PD200 voltage amplitifer and then to the actuator stacks) to (Section [[sec:dynamical_meas_struts]]):
|
- Section [[sec:dynamical_meas_struts]]: Identify the dynamics from the generated DAC voltage to:
|
||||||
- the sensors stack generated voltage
|
- the sensors stack generated voltage
|
||||||
- the measured displacement by the encoder
|
- the measured displacement by the encoder
|
||||||
- the measured displacement by the interferometer
|
- the measured displacement by the interferometer (representing encoders that would be fixed to the nano-hexapod's plates instead of the struts)
|
||||||
- Compare the measurements with the Simscape model of the struts and tune the models (Section [[sec:simscape_bench_struts]])
|
- Section [[sec:simscape_bench_struts]]: Compare the measurements with the Simscape model of the struts and tune the models
|
||||||
|
|
||||||
The final goal of the work presented in this document is to have an accurate Simscape model of the struts that can then be included in the Simscape model of the nano-hexapod.
|
The final goal of the work presented in this document is to have an accurate Simscape model of the struts that can then be included in the Simscape model of the nano-hexapod.
|
||||||
|
|
||||||
@ -89,7 +96,7 @@ The Amplified Piezoelectric Actuator (APA) used is the APA300ML from Cedrat tech
|
|||||||
#+attr_latex: :width 0.8\linewidth
|
#+attr_latex: :width 0.8\linewidth
|
||||||
[[file:figs/apa300ML.png]]
|
[[file:figs/apa300ML.png]]
|
||||||
|
|
||||||
Simscape models of the APA300ML are developed:
|
Two simscape models of the APA300ML are developed:
|
||||||
- Section [[sec:apa_2dof_model]]: a simple 2 degrees of freedom (DoF) model
|
- Section [[sec:apa_2dof_model]]: a simple 2 degrees of freedom (DoF) model
|
||||||
- Section [[sec:apa_flexible_model]]: a "flexible" model using a "super-element" extracted from a Finite Element Model of the APA
|
- Section [[sec:apa_flexible_model]]: a "flexible" model using a "super-element" extracted from a Finite Element Model of the APA
|
||||||
|
|
||||||
@ -100,6 +107,32 @@ They are described in Section [[sec:apa_constants]].
|
|||||||
** Two Degrees of Freedom Model
|
** Two Degrees of Freedom Model
|
||||||
<<sec:apa_2dof_model>>
|
<<sec:apa_2dof_model>>
|
||||||
|
|
||||||
|
The presented model is based on cite:souleille18_concep_activ_mount_space_applic and represented in Figure [[fig:souleille18_model_piezo]].
|
||||||
|
|
||||||
|
#+name: fig:souleille18_model_piezo
|
||||||
|
#+caption: Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator
|
||||||
|
#+attr_latex: :width 0.6\linewidth
|
||||||
|
[[file:./figs/souleille18_model_piezo.png]]
|
||||||
|
|
||||||
|
The parameters are described in Table [[tab:souleille18_model_params]].
|
||||||
|
|
||||||
|
#+name: tab:souleille18_model_params
|
||||||
|
#+caption: Parameters used for the model of the APA 100M
|
||||||
|
#+attr_latex: :environment tabularx :width 0.6\linewidth :align lX
|
||||||
|
#+attr_latex: :center t :booktabs t :float t
|
||||||
|
| | *Meaning* |
|
||||||
|
|-------+----------------------------------------------------------------|
|
||||||
|
| $k_e$ | Stiffness used to adjust the pole of the isolator |
|
||||||
|
| $k_1$ | Stiffness of the metallic suspension when the stack is removed |
|
||||||
|
| $k_a$ | Stiffness of the actuator |
|
||||||
|
| $c_1$ | Added viscous damping |
|
||||||
|
|
||||||
|
The model is shown again in Figure [[fig:2dof_apa_model]].
|
||||||
|
As will be shown in the next section, such model can be quite accurate in modelling the axial behavior of the APA.
|
||||||
|
However, it does not model the flexibility of the APA in the other directions.
|
||||||
|
|
||||||
|
Therefore this model can be useful for quick simulations as it contains a very limited number of states, but when more complex dynamics of the APA is to be modelled, a flexible model will be used.
|
||||||
|
|
||||||
#+name: fig:2dof_apa_model
|
#+name: fig:2dof_apa_model
|
||||||
#+attr_latex: :width 0.2\linewidth
|
#+attr_latex: :width 0.2\linewidth
|
||||||
#+caption: Schematic of the 2DoF model for the Amplified Piezoelectric Actuator
|
#+caption: Schematic of the 2DoF model for the Amplified Piezoelectric Actuator
|
||||||
@ -108,11 +141,19 @@ They are described in Section [[sec:apa_constants]].
|
|||||||
** Flexible Model
|
** Flexible Model
|
||||||
<<sec:apa_flexible_model>>
|
<<sec:apa_flexible_model>>
|
||||||
|
|
||||||
|
In order to model with high accuracy the behavior of the APA, a flexible model can be used.
|
||||||
|
|
||||||
|
The idea is to do a Finite element model of the structure, and to defined "remote points" as shown in Figure [[fig:apa300ml_ansys]].
|
||||||
|
Then, on the finite element software, a "super-element" can be extracted which consists of a mass matrix, a stiffness matrix, and the coordinates of the remote points.
|
||||||
|
|
||||||
#+name: fig:apa300ml_ansys
|
#+name: fig:apa300ml_ansys
|
||||||
#+caption: Remote points for the APA300ML (Ansys)
|
#+caption: Remote points for the APA300ML (Ansys)
|
||||||
#+attr_latex: :width 0.3\linewidth
|
#+attr_latex: :width 0.3\linewidth
|
||||||
[[file:figs/mesh_APA.png]]
|
[[file:figs/mesh_APA.png]]
|
||||||
|
|
||||||
|
This "super-element" can then be included in the Simscape model as shown in Figure [[fig:figure_name]].
|
||||||
|
The remotes points are defined as "frames" in Simscape, and the "super-element" can be connected with other Simscape elements (mechanical joints, masses, force actuators, etc..).
|
||||||
|
|
||||||
#+name: fig:figure_name
|
#+name: fig:figure_name
|
||||||
#+caption: From a finite Element Model (Ansys, bottom left) is extract the mass and stiffness matrices that are then used on Simscape (right)
|
#+caption: From a finite Element Model (Ansys, bottom left) is extract the mass and stiffness matrices that are then used on Simscape (right)
|
||||||
#+attr_latex: :width \linewidth
|
#+attr_latex: :width \linewidth
|
||||||
@ -121,6 +162,10 @@ They are described in Section [[sec:apa_constants]].
|
|||||||
** Actuator and Sensor constants
|
** Actuator and Sensor constants
|
||||||
<<sec:apa_constants>>
|
<<sec:apa_constants>>
|
||||||
|
|
||||||
|
On Simscape, we want to model both the actuator stacks and the sensors stack.
|
||||||
|
We therefore need to link the electrical domain (voltages, charges) with the mechanical domain (forces, strain).
|
||||||
|
To do so, we use the "actuator constant" and the "sensor constant".
|
||||||
|
|
||||||
Consider a schematic of the Amplified Piezoelectric Actuator in Figure [[fig:apa_model_schematic]].
|
Consider a schematic of the Amplified Piezoelectric Actuator in Figure [[fig:apa_model_schematic]].
|
||||||
|
|
||||||
#+name: fig:apa_model_schematic
|
#+name: fig:apa_model_schematic
|
||||||
@ -130,16 +175,14 @@ Consider a schematic of the Amplified Piezoelectric Actuator in Figure [[fig:apa
|
|||||||
|
|
||||||
A voltage $V_a$ applied to the actuator stacks will induce an actuator force $F_a$:
|
A voltage $V_a$ applied to the actuator stacks will induce an actuator force $F_a$:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
F_a = g_a \cdot V_a
|
\boxed{F_a = g_a \cdot V_a}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
A change of length $dl$ of the sensor stack will induce a voltage $V_s$:
|
A change of length $dl$ of the sensor stack will induce a voltage $V_s$:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
V_s = g_s \cdot dl
|
\boxed{V_s = g_s \cdot dl}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
We wish here to experimental measure $g_a$ and $g_s$.
|
|
||||||
|
|
||||||
The block-diagram model of the piezoelectric actuator is then as shown in Figure [[fig:apa-model-simscape-schematic]].
|
The block-diagram model of the piezoelectric actuator is then as shown in Figure [[fig:apa-model-simscape-schematic]].
|
||||||
|
|
||||||
#+begin_src latex :file apa-model-simscape-schematic.pdf
|
#+begin_src latex :file apa-model-simscape-schematic.pdf
|
||||||
@ -160,14 +203,17 @@ The block-diagram model of the piezoelectric actuator is then as shown in Figure
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa-model-simscape-schematic.png]]
|
[[file:figs/apa-model-simscape-schematic.png]]
|
||||||
|
|
||||||
|
The constants $g_a$ and $g_s$ will be experimentally estimated.
|
||||||
|
|
||||||
* First Basic Measurements
|
* First Basic Measurements
|
||||||
<<sec:first_measurements>>
|
<<sec:first_measurements>>
|
||||||
** Introduction :ignore:
|
** Introduction :ignore:
|
||||||
|
|
||||||
- Section [[sec:geometrical_measurements]]:
|
Before using the measurement bench to characterize the APA300ML, first simple measurements are performed:
|
||||||
- Section [[sec:electrical_measurements]]:
|
- Section [[sec:geometrical_measurements]]: the geometric tolerances of the interface planes are checked
|
||||||
- Section [[sec:stroke_measurements]]:
|
- Section [[sec:electrical_measurements]]: the capacitance of the stacks are measured
|
||||||
- Section [[sec:spurious_resonances]]:
|
- Section [[sec:stroke_measurements]]: the stroke of the APA are measured
|
||||||
|
- Section [[sec:spurious_resonances]]: the "spurious" resonances of the APA are investigated
|
||||||
|
|
||||||
** Geometrical Measurements
|
** Geometrical Measurements
|
||||||
<<sec:geometrical_measurements>>
|
<<sec:geometrical_measurements>>
|
||||||
@ -178,7 +224,7 @@ The received APA are shown in Figure [[fig:received_apa]].
|
|||||||
#+name: fig:received_apa
|
#+name: fig:received_apa
|
||||||
#+caption: Received APA
|
#+caption: Received APA
|
||||||
#+attr_latex: :width 0.6\linewidth
|
#+attr_latex: :width 0.6\linewidth
|
||||||
[[file:figs/IMG_20210224_143500.jpg]]
|
[[file:figs/received_apa.jpg]]
|
||||||
|
|
||||||
*** Matlab Init :noexport:ignore:
|
*** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
@ -209,12 +255,13 @@ The flatness corresponding to the two interface planes are measured as shown in
|
|||||||
#+name: fig:flatness_meas_setup
|
#+name: fig:flatness_meas_setup
|
||||||
#+caption: Measurement Setup
|
#+caption: Measurement Setup
|
||||||
#+attr_latex: :width 0.6\linewidth
|
#+attr_latex: :width 0.6\linewidth
|
||||||
[[file:figs/IMG_20210224_143809.jpg]]
|
[[file:figs/flatness_meas_setup.jpg]]
|
||||||
|
|
||||||
*** Measurement Results
|
*** Measurement Results
|
||||||
|
|
||||||
The height (Z) measurements at the 8 locations (4 points by plane) are defined below.
|
The height (Z) measurements at the 8 locations (4 points by plane) are defined below.
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
|
%% Measured height for all the APA at the 8 locations
|
||||||
apa1 = 1e-6*[0, -0.5 , 3.5 , 3.5 , 42 , 45.5, 52.5 , 46];
|
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];
|
apa2 = 1e-6*[0, -2.5 , -3 , 0 , -1.5 , 1 , -2 , -4];
|
||||||
apa3 = 1e-6*[0, -1.5 , 15 , 17.5 , 6.5 , 6.5 , 21 , 23];
|
apa3 = 1e-6*[0, -1.5 , 15 , 17.5 , 6.5 , 6.5 , 21 , 23];
|
||||||
@ -223,21 +270,31 @@ apa5 = 1e-6*[0, -12.5, 16.5 , 28.5 , -43 , -52 , -22.5, -13.5];
|
|||||||
apa6 = 1e-6*[0, -8 , -2 , 5 , -57.5, -62 , -55.5, -52.5];
|
apa6 = 1e-6*[0, -8 , -2 , 5 , -57.5, -62 , -55.5, -52.5];
|
||||||
apa7 = 1e-6*[0, 19.5 , -8 , -29.5, 75 , 97.5, 70 , 48];
|
apa7 = 1e-6*[0, 19.5 , -8 , -29.5, 75 , 97.5, 70 , 48];
|
||||||
apa7b = 1e-6*[0, 9 , -18.5, -30 , 31 , 46.5, 16.5 , 7.5];
|
apa7b = 1e-6*[0, 9 , -18.5, -30 , 31 , 46.5, 16.5 , 7.5];
|
||||||
|
|
||||||
apa = {apa1, apa2, apa3, apa4, apa5, apa6, apa7b};
|
apa = {apa1, apa2, apa3, apa4, apa5, apa6, apa7b};
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The X/Y Positions of the 8 measurement points are defined below.
|
The X/Y Positions of the 8 measurement points are defined below.
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
|
%% X-Y positions of the measurements points
|
||||||
W = 20e-3; % Width [m]
|
W = 20e-3; % Width [m]
|
||||||
L = 61e-3; % Length [m]
|
L = 61e-3; % Length [m]
|
||||||
d = 1e-3; % Distance from border [m]
|
d = 1e-3; % Distance from border [m]
|
||||||
l = 15.5e-3; % [m]
|
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]];
|
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
|
#+end_src
|
||||||
|
|
||||||
Finally, the flatness is estimated by fitting a plane through the 8 points using the =fminsearch= command.
|
Finally, the flatness is estimated by fitting a plane through the 8 points using the =fminsearch= command.
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
|
%% Using fminsearch to find the best fitting plane
|
||||||
apa_d = zeros(1, 7);
|
apa_d = zeros(1, 7);
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
fun = @(x)max(abs(([pos; apa{i}]-[0;0;x(1)])'*([x(2:3);1]/norm([x(2:3);1]))));
|
fun = @(x)max(abs(([pos; apa{i}]-[0;0;x(1)])'*([x(2:3);1]/norm([x(2:3);1]))));
|
||||||
@ -268,19 +325,33 @@ data2orgtable(1e6*apa_d', {'APA 1', 'APA 2', 'APA 3', 'APA 4', 'APA 5', 'APA 6',
|
|||||||
| APA 6 | 7.1 |
|
| APA 6 | 7.1 |
|
||||||
| APA 7 | 18.7 |
|
| APA 7 | 18.7 |
|
||||||
|
|
||||||
|
#+begin_important
|
||||||
|
The measured flatness of the APA300ML interface planes are within the specifications.
|
||||||
|
#+end_important
|
||||||
|
|
||||||
** Electrical Measurements
|
** Electrical Measurements
|
||||||
<<sec:electrical_measurements>>
|
<<sec:electrical_measurements>>
|
||||||
|
*** Measurement Setup
|
||||||
#+begin_note
|
#+begin_note
|
||||||
The capacitance of the stacks is measure with the [[https://www.gwinstek.com/en-global/products/detail/LCR-800][LCR-800 Meter]] ([[file:doc/DS_LCR-800_Series_V2_E.pdf][doc]])
|
The capacitance of the stacks is measure with the [[https://www.gwinstek.com/en-global/products/detail/LCR-800][LCR-800 Meter]] ([[file:doc/DS_LCR-800_Series_V2_E.pdf][doc]]) shown in Figure [[fig:LCR_meter]].
|
||||||
|
The excitation frequency is set to be 1kHz.
|
||||||
#+end_note
|
#+end_note
|
||||||
|
|
||||||
#+name: fig:LCR_meter
|
#+name: fig:LCR_meter
|
||||||
#+caption: LCR Meter used for the measurements
|
#+caption: LCR Meter used for the measurements
|
||||||
#+attr_latex: :width 0.9\linewidth
|
#+attr_latex: :width 0.9\linewidth
|
||||||
[[file:figs/IMG_20210312_120337.jpg]]
|
[[file:figs/LCR_meter.jpg]]
|
||||||
|
|
||||||
The excitation frequency is set to be 1kHz.
|
*** Measured Capacitance
|
||||||
|
From the documentation of the APA300ML, the total capacitance of the three stacks should be between $18\mu F$ and $26\mu F$ with a nominal capacitance of $20\mu F$.
|
||||||
|
However, from the documentation of the stack themselves, it can be seen that the capacitance of a single stack should be $4.4\mu F$.
|
||||||
|
Clearly, the total capacitance of the APA300ML if more than just three times the capacitance of one stack.
|
||||||
|
|
||||||
|
#+begin_question
|
||||||
|
Could it be possible that the capacitance of the stacks increase that much when they are pre-stressed?
|
||||||
|
#+end_question
|
||||||
|
|
||||||
|
The measured capacitance of the stacks are summarized in Table [[tab:apa300ml_capacitance]].
|
||||||
|
|
||||||
#+name: tab:apa300ml_capacitance
|
#+name: tab:apa300ml_capacitance
|
||||||
#+caption: Capacitance measured with the LCR meter. The excitation signal is a sinus at 1kHz
|
#+caption: Capacitance measured with the LCR meter. The excitation signal is a sinus at 1kHz
|
||||||
@ -296,16 +367,18 @@ The excitation frequency is set to be 1kHz.
|
|||||||
| APA 6 | 4.99 | 9.91 |
|
| APA 6 | 4.99 | 9.91 |
|
||||||
| APA 7 | 4.85 | 9.85 |
|
| APA 7 | 4.85 | 9.85 |
|
||||||
|
|
||||||
|
#+begin_important
|
||||||
|
From the measurements (Table [[tab:apa300ml_capacitance]]), the capacitance of one stack is found to be $\approx 5 \mu F$.
|
||||||
|
#+end_important
|
||||||
|
|
||||||
#+begin_warning
|
#+begin_warning
|
||||||
There is clearly a problem with APA300ML number 3
|
There is clearly a problem with APA300ML number 3
|
||||||
#+end_warning
|
|
||||||
|
|
||||||
The APA number 3 has ben sent back to Cedrat, and a new APA300ML has been shipped back.
|
The APA number 3 has ben sent back to Cedrat, and a new APA300ML has been shipped back.
|
||||||
|
#+end_warning
|
||||||
|
|
||||||
** Stroke measurement
|
** Stroke measurement
|
||||||
<<sec:stroke_measurements>>
|
<<sec:stroke_measurements>>
|
||||||
*** Introduction :ignore:
|
*** Introduction :ignore:
|
||||||
|
|
||||||
We here wish to estimate the stroke of the APA.
|
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]].
|
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]].
|
||||||
@ -322,7 +395,9 @@ Here are the documentation of the equipment used for this test bench:
|
|||||||
#+name: fig:stroke_test_bench
|
#+name: fig:stroke_test_bench
|
||||||
#+caption: Bench to measured the APA stroke
|
#+caption: Bench to measured the APA stroke
|
||||||
#+attr_latex: :width 0.9\linewidth
|
#+attr_latex: :width 0.9\linewidth
|
||||||
[[file:figs/CE0EF55E-07B7-461B-8CDB-98590F68D15B.jpeg]]
|
[[file:figs/stroke_test_bench.jpg]]
|
||||||
|
|
||||||
|
From the documentation, the nominal stroke of the APA300ML is $304\,\mu m$.
|
||||||
|
|
||||||
*** Matlab Init :noexport:ignore:
|
*** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
@ -351,6 +426,7 @@ addpath('./mat/');
|
|||||||
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.
|
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
|
#+begin_src matlab :exports none
|
||||||
|
%% Load the measurements
|
||||||
apa300ml_1s = {};
|
apa300ml_1s = {};
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
apa300ml_1s(i) = {load(['mat/stroke_apa_1stacks_' num2str(i) '.mat'], 't', 'V', 'd')};
|
apa300ml_1s(i) = {load(['mat/stroke_apa_1stacks_' num2str(i) '.mat'], 't', 'V', 'd')};
|
||||||
@ -358,6 +434,7 @@ end
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Only take the data between t=2 and t=10 and reset the measured displacement at t=2
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
t = apa300ml_1s{i}.t;
|
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 - mean(apa300ml_1s{i}.d(t > 1.9 & t < 2.0));
|
||||||
@ -370,6 +447,7 @@ end
|
|||||||
The applied voltage is shown in Figure [[fig:apa_stroke_voltage_time]].
|
The applied voltage is shown in Figure [[fig:apa_stroke_voltage_time]].
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Applied voltage as a function of time
|
||||||
figure;
|
figure;
|
||||||
plot(apa300ml_1s{1}.t, 20*apa300ml_1s{1}.V)
|
plot(apa300ml_1s{1}.t, 20*apa300ml_1s{1}.V)
|
||||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||||
@ -385,10 +463,11 @@ exportFig('figs/apa_stroke_voltage_time.pdf', 'width', 'wide', 'height', 'normal
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa_stroke_voltage_time.png]]
|
[[file:figs/apa_stroke_voltage_time.png]]
|
||||||
|
|
||||||
The obtained displacement is shown in Figure [[fig:apa_stroke_time_1s]].
|
The obtained displacements for all the APA are shown in Figure [[fig:apa_stroke_time_1s]].
|
||||||
The displacement is set to zero at initial time when the voltage applied is -20V.
|
The displacement is set to zero at initial time when the voltage applied is -20V.
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Measured motion for all the APA300ML
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
@ -404,7 +483,7 @@ exportFig('figs/apa_stroke_time_1s.pdf', 'width', 'wide', 'height', 'normal');
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+name: fig:apa_stroke_time_1s
|
#+name: fig:apa_stroke_time_1s
|
||||||
#+caption: Displacement as a function of time for all the APA300ML
|
#+caption: Displacement as a function of time for all the APA300ML (only one stack is used as an actuator)
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa_stroke_time_1s.png]]
|
[[file:figs/apa_stroke_time_1s.png]]
|
||||||
|
|
||||||
@ -413,6 +492,7 @@ We can clearly see that there is a problem with the APA 3.
|
|||||||
Also, there is a large hysteresis.
|
Also, there is a large hysteresis.
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Displacement as a function of the applied voltage
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
@ -429,12 +509,12 @@ exportFig('figs/apa_d_vs_V_1s.pdf', 'width', 'wide', 'height', 'tall');
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+name: fig:apa_d_vs_V_1s
|
#+name: fig:apa_d_vs_V_1s
|
||||||
#+caption: Displacement as a function of the applied voltage
|
#+caption: Displacement as a function of the applied voltage (on only one stack)
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa_d_vs_V_1s.png]]
|
[[file:figs/apa_d_vs_V_1s.png]]
|
||||||
|
|
||||||
#+begin_important
|
#+begin_important
|
||||||
We can clearly see from Figure [[fig:apa_d_vs_V_1s]] that there is a problem with the APA number 3.
|
We can clearly confirm from Figure [[fig:apa_d_vs_V_1s]] that there is a problem with the APA number 3.
|
||||||
#+end_important
|
#+end_important
|
||||||
|
|
||||||
*** Voltage applied on two stacks
|
*** Voltage applied on two stacks
|
||||||
@ -442,6 +522,7 @@ We can clearly see from Figure [[fig:apa_d_vs_V_1s]] that there is a problem wit
|
|||||||
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.
|
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
|
#+begin_src matlab :exports none
|
||||||
|
%% Load the measurements
|
||||||
apa300ml_2s = {};
|
apa300ml_2s = {};
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
apa300ml_2s(i) = {load(['mat/stroke_apa_2stacks_' num2str(i) '.mat'], 't', 'V', 'd')};
|
apa300ml_2s(i) = {load(['mat/stroke_apa_2stacks_' num2str(i) '.mat'], 't', 'V', 'd')};
|
||||||
@ -449,6 +530,7 @@ end
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Only take the data between t=2 and t=10 and reset the measured displacement at t=2
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
t = apa300ml_2s{i}.t;
|
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 - mean(apa300ml_2s{i}.d(t > 1.9 & t < 2.0));
|
||||||
@ -460,8 +542,8 @@ end
|
|||||||
|
|
||||||
The obtained displacement is shown in Figure [[fig:apa_stroke_time_2s]].
|
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.
|
The displacement is set to zero at initial time when the voltage applied is -20V.
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Measured motion for all the APA300ML
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
@ -478,15 +560,13 @@ exportFig('figs/apa_stroke_time_2s.pdf', 'width', 'wide', 'height', 'normal');
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+name: fig:apa_stroke_time_2s
|
#+name: fig:apa_stroke_time_2s
|
||||||
#+caption: Displacement as a function of time for all the APA300ML
|
#+caption: Displacement as a function of time for all the APA300ML (two stacks are used as actuators)
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa_stroke_time_2s.png]]
|
[[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]].
|
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
|
#+begin_src matlab :exports none
|
||||||
|
%% Displacement as a function of the applied voltage
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
@ -503,7 +583,7 @@ exportFig('figs/apa_d_vs_V_2s.pdf', 'width', 'wide', 'height', 'tall');
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+name: fig:apa_d_vs_V_2s
|
#+name: fig:apa_d_vs_V_2s
|
||||||
#+caption: Displacement as a function of the applied voltage
|
#+caption: Displacement as a function of the applied voltage on two stacks
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa_d_vs_V_2s.png]]
|
[[file:figs/apa_d_vs_V_2s.png]]
|
||||||
|
|
||||||
@ -512,6 +592,7 @@ exportFig('figs/apa_d_vs_V_2s.pdf', 'width', 'wide', 'height', 'tall');
|
|||||||
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]]).
|
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
|
#+begin_src matlab :exports none
|
||||||
|
%% Motion induced by applying a voltage to the three stack is the sum to the previous two measured displacements
|
||||||
apa300ml_3s = {};
|
apa300ml_3s = {};
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
apa300ml_3s(i) = apa300ml_1s(i);
|
apa300ml_3s(i) = apa300ml_1s(i);
|
||||||
@ -520,6 +601,7 @@ end
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Displacement as a function of the applied voltage
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
@ -536,13 +618,14 @@ exportFig('figs/apa_d_vs_V_3s.pdf', 'width', 'wide', 'height', 'tall');
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+name: fig:apa_d_vs_V_3s
|
#+name: fig:apa_d_vs_V_3s
|
||||||
#+caption: Displacement as a function of the applied voltage
|
#+caption: Displacement as a function of the applied voltage on all three stacks
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa_d_vs_V_3s.png]]
|
[[file:figs/apa_d_vs_V_3s.png]]
|
||||||
|
|
||||||
The obtained maximum stroke for all the APA are summarized in Table [[tab:apa_measured_stroke]].
|
The obtained maximum stroke for all the APA are summarized in Table [[tab:apa_measured_stroke]].
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Estimate the maximum stroke
|
||||||
apa300ml_stroke = zeros(1, 7);
|
apa300ml_stroke = zeros(1, 7);
|
||||||
for i = 1:7
|
for i = 1:7
|
||||||
apa300ml_stroke(i) = max(apa300ml_3s{i}.d) - min(apa300ml_3s{i}.d);
|
apa300ml_stroke(i) = max(apa300ml_3s{i}.d) - min(apa300ml_3s{i}.d);
|
||||||
@ -568,12 +651,19 @@ data2orgtable(1e6*apa300ml_stroke', {'APA 1', 'APA 2', 'APA 3', 'APA 4', 'APA 5'
|
|||||||
| APA 6 | 363.9 |
|
| APA 6 | 363.9 |
|
||||||
| APA 7 | 358.4 |
|
| APA 7 | 358.4 |
|
||||||
|
|
||||||
|
*** Conclusion
|
||||||
|
#+begin_important
|
||||||
|
The except from APA 3 that has a problem, all the APA are similar when it comes to stroke and hysteresis.
|
||||||
|
Also, the obtained stroke is more than specified in the documentation.
|
||||||
|
Therefore, only two stacks can be used as an actuator.
|
||||||
|
#+end_important
|
||||||
|
|
||||||
** Spurious resonances
|
** Spurious resonances
|
||||||
<<sec:spurious_resonances>>
|
<<sec:spurious_resonances>>
|
||||||
*** Introduction
|
*** Introduction
|
||||||
|
|
||||||
Three main resonances are foreseen to be problematic for the control of the APA300ML (Figure [[fig:apa_mode_shapes]]):
|
From a Finite Element Model of the struts, it have been found that three main resonances are foreseen to be problematic for the control of the APA300ML (Figure [[fig:apa_mode_shapes]]):
|
||||||
- Mode in X-bending at 189Hz
|
- Mode in X-bending at 200Hz
|
||||||
- Mode in Y-bending at 285Hz
|
- Mode in Y-bending at 285Hz
|
||||||
- Mode in Z-torsion at 400Hz
|
- Mode in Z-torsion at 400Hz
|
||||||
|
|
||||||
@ -608,13 +698,14 @@ addpath('matlab/mat/');
|
|||||||
addpath('mat/');
|
addpath('mat/');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Setup
|
*** Measurement Setup
|
||||||
|
|
||||||
The measurement setup is shown in Figure [[fig:measurement_setup_torsion]].
|
The measurement setup is shown in Figure [[fig:measurement_setup_torsion]].
|
||||||
A Laser vibrometer is measuring the difference of motion of two points.
|
A Laser vibrometer is measuring the difference of motion between two points.
|
||||||
The APA is excited with an instrumented hammer and the transfer function from the hammer to the measured rotation is computed.
|
The APA is excited with an instrumented hammer and the transfer function from the hammer to the measured rotation is computed.
|
||||||
|
|
||||||
#+begin_note
|
#+begin_note
|
||||||
|
The instrumentation used are:
|
||||||
- Laser Doppler Vibrometer Polytec OFV512
|
- Laser Doppler Vibrometer Polytec OFV512
|
||||||
- Instrumented hammer
|
- Instrumented hammer
|
||||||
#+end_note
|
#+end_note
|
||||||
@ -624,9 +715,9 @@ The APA is excited with an instrumented hammer and the transfer function from th
|
|||||||
#+attr_latex: :width 0.7\linewidth
|
#+attr_latex: :width 0.7\linewidth
|
||||||
[[file:figs/measurement_setup_torsion.jpg]]
|
[[file:figs/measurement_setup_torsion.jpg]]
|
||||||
|
|
||||||
*** Bending - X
|
*** X-Bending Mode
|
||||||
|
|
||||||
The setup to measure the X-bending motion is shown in Figure [[fig:measurement_setup_X_bending]].
|
The vibrometer is setup to measure the X-bending motion is shown in Figure [[fig:measurement_setup_X_bending]].
|
||||||
The APA is excited with an instrumented hammer having a solid metallic tip.
|
The APA is excited with an instrumented hammer having a solid metallic tip.
|
||||||
The impact point is on the back-side of the APA aligned with the top measurement point.
|
The impact point is on the back-side of the APA aligned with the top measurement point.
|
||||||
|
|
||||||
@ -637,17 +728,20 @@ The impact point is on the back-side of the APA aligned with the top measurement
|
|||||||
|
|
||||||
The data is loaded.
|
The data is loaded.
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
|
%% Load Data
|
||||||
bending_X = load('apa300ml_bending_X_top.mat');
|
bending_X = load('apa300ml_bending_X_top.mat');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The config for =tfestimate= is performed:
|
The configuration (Sampling time and windows) for =tfestimate= is done:
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
Ts = bending_X.Track1_X_Resolution; % Sampling frequency [Hz]
|
%% Spectral Analysis setup
|
||||||
|
Ts = bending_X.Track1_X_Resolution; % Sampling Time [s]
|
||||||
win = hann(ceil(1/Ts));
|
win = hann(ceil(1/Ts));
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The transfer function from the input force to the output "rotation" (difference between the two measured distances).
|
The transfer function from the input force to the output "rotation" (difference between the two measured distances).
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
|
%% Compute the transfer function from applied force to measured rotation
|
||||||
[G_bending_X, f] = tfestimate(bending_X.Track1, bending_X.Track2, win, [], [], 1/Ts);
|
[G_bending_X, f] = tfestimate(bending_X.Track1, bending_X.Track2, win, [], [], 1/Ts);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -655,6 +749,7 @@ The result is shown in Figure [[fig:apa300ml_meas_freq_bending_x]].
|
|||||||
|
|
||||||
The can clearly observe a nice peak at 280Hz, and then peaks at the odd "harmonics" (third "harmonic" at 840Hz, and fifth "harmonic" at 1400Hz).
|
The can clearly observe a nice peak at 280Hz, and then peaks at the odd "harmonics" (third "harmonic" at 840Hz, and fifth "harmonic" at 1400Hz).
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Plot the transfer function
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, abs(G_bending_X), 'k-');
|
plot(f, abs(G_bending_X), 'k-');
|
||||||
@ -676,7 +771,12 @@ exportFig('figs/apa300ml_meas_freq_bending_x.pdf', 'width', 'wide', 'height', 'n
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa300ml_meas_freq_bending_x.png]]
|
[[file:figs/apa300ml_meas_freq_bending_x.png]]
|
||||||
|
|
||||||
*** Bending - Y
|
Then the APA is in the "free-free" condition, this bending mode is foreseen to be at 200Hz (Figure [[fig:apa_mode_shapes]]).
|
||||||
|
We are here in the "fixed-free" condition.
|
||||||
|
If we consider that we therefore double the stiffness associated with this mode, we should obtain a resonance a factor $\sqrt{2}$ higher than 200Hz which is indeed 280Hz.
|
||||||
|
Not sure this reasoning is correct though.
|
||||||
|
|
||||||
|
*** Y-Bending Mode
|
||||||
|
|
||||||
The setup to measure the Y-bending is shown in Figure [[fig:measurement_setup_Y_bending]].
|
The setup to measure the Y-bending is shown in Figure [[fig:measurement_setup_Y_bending]].
|
||||||
|
|
||||||
@ -689,7 +789,10 @@ The impact point of the instrumented hammer is located on the back surface of th
|
|||||||
|
|
||||||
The data is loaded, and the transfer function from the force to the measured rotation is computed.
|
The data is loaded, and the transfer function from the force to the measured rotation is computed.
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
|
%% Load Data
|
||||||
bending_Y = load('apa300ml_bending_Y_top.mat');
|
bending_Y = load('apa300ml_bending_Y_top.mat');
|
||||||
|
|
||||||
|
%% Compute the transfer function
|
||||||
[G_bending_Y, ~] = tfestimate(bending_Y.Track1, bending_Y.Track2, win, [], [], 1/Ts);
|
[G_bending_Y, ~] = tfestimate(bending_Y.Track1, bending_Y.Track2, win, [], [], 1/Ts);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -697,6 +800,7 @@ The results are shown in Figure [[fig:apa300ml_meas_freq_bending_y]].
|
|||||||
The main resonance is at 412Hz, and we also see the third "harmonic" at 1220Hz.
|
The main resonance is at 412Hz, and we also see the third "harmonic" at 1220Hz.
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Plot the transfer function
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, abs(G_bending_Y), 'k-');
|
plot(f, abs(G_bending_Y), 'k-');
|
||||||
@ -717,7 +821,10 @@ exportFig('figs/apa300ml_meas_freq_bending_y.pdf', 'width', 'wide', 'height', 'n
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/apa300ml_meas_freq_bending_y.png]]
|
[[file:figs/apa300ml_meas_freq_bending_y.png]]
|
||||||
|
|
||||||
*** Torsion - Z
|
We can apply the same reasoning as in the previous section and estimate the mode to be a factor $\sqrt{2}$ higher than the mode estimated in the "free-free" condition.
|
||||||
|
We would obtain a mode at 403Hz which is very close to the one estimated here.
|
||||||
|
|
||||||
|
*** Z-Torsion Mode
|
||||||
|
|
||||||
Finally, we measure the Z-torsion resonance as shown in Figure [[fig:measurement_setup_torsion_bis]].
|
Finally, we measure the Z-torsion resonance as shown in Figure [[fig:measurement_setup_torsion_bis]].
|
||||||
|
|
||||||
@ -730,15 +837,20 @@ The excitation is shown on the other side of the APA, on the side to excite the
|
|||||||
|
|
||||||
The data is loaded, and the transfer function computed.
|
The data is loaded, and the transfer function computed.
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
|
%% Load Data
|
||||||
torsion = load('apa300ml_torsion_left.mat');
|
torsion = load('apa300ml_torsion_left.mat');
|
||||||
|
|
||||||
|
%% Compute transfer function
|
||||||
[G_torsion, ~] = tfestimate(torsion.Track1, torsion.Track2, win, [], [], 1/Ts);
|
[G_torsion, ~] = tfestimate(torsion.Track1, torsion.Track2, win, [], [], 1/Ts);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The results are shown in Figure [[fig:apa300ml_meas_freq_torsion_z]].
|
The results are shown in Figure [[fig:apa300ml_meas_freq_torsion_z]].
|
||||||
We observe a first peak at 267Hz, which corresponds to the X-bending mode that was measured at 280Hz.
|
We observe a first peak at 267Hz, which corresponds to the X-bending mode that was measured at 280Hz.
|
||||||
And then a second peak at 415Hz, which corresponds to the X-bending mode that was measured at 412Hz.
|
And then a second peak at 415Hz, which corresponds to the X-bending mode that was measured at 412Hz.
|
||||||
The mode in pure torsion is probably at higher frequency (peak around 1kHz?).
|
A third mode at 800Hz could correspond to this torsion mode.
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Plot the transfer function
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, abs(G_torsion), 'k-');
|
plot(f, abs(G_torsion), 'k-');
|
||||||
@ -762,7 +874,10 @@ exportFig('figs/apa300ml_meas_freq_torsion_z.pdf', 'width', 'wide', 'height', 'n
|
|||||||
|
|
||||||
In order to verify that, the APA is excited on the top part such that the torsion mode should not be excited.
|
In order to verify that, the APA is excited on the top part such that the torsion mode should not be excited.
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
|
%% Load data
|
||||||
torsion = load('apa300ml_torsion_top.mat');
|
torsion = load('apa300ml_torsion_top.mat');
|
||||||
|
|
||||||
|
%% Compute transfer function
|
||||||
[G_torsion_top, ~] = tfestimate(torsion.Track1, torsion.Track2, win, [], [], 1/Ts);
|
[G_torsion_top, ~] = tfestimate(torsion.Track1, torsion.Track2, win, [], [], 1/Ts);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -770,6 +885,7 @@ The two FRF are compared in Figure [[fig:apa300ml_meas_freq_torsion_z_comp]].
|
|||||||
It is clear that the first two modes does not correspond to the torsional mode.
|
It is clear that the first two modes does not correspond to the torsional mode.
|
||||||
Maybe the resonance at 800Hz, or even higher resonances. It is difficult to conclude here.
|
Maybe the resonance at 800Hz, or even higher resonances. It is difficult to conclude here.
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
|
%% Plot the two transfer functions
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, abs(G_torsion), 'k-', 'DisplayName', 'Left excitation');
|
plot(f, abs(G_torsion), 'k-', 'DisplayName', 'Left excitation');
|
||||||
@ -827,13 +943,13 @@ It is however quite interesting that there is a factor $\approx \sqrt{2}$ betwee
|
|||||||
|
|
||||||
#+name: tab:apa300ml_measured_modes_freq
|
#+name: tab:apa300ml_measured_modes_freq
|
||||||
#+caption: Measured frequency of the modes
|
#+caption: Measured frequency of the modes
|
||||||
#+attr_latex: :environment tabularx :width 0.6\linewidth :align ccc
|
#+attr_latex: :environment tabularx :width 0.7\linewidth :align ccc
|
||||||
#+attr_latex: :center t :booktabs t :float t
|
#+attr_latex: :center t :booktabs t :float t
|
||||||
| Mode | Strut Mode | Measured Frequency |
|
| *Mode* | *FEM - Strut mode* | *Measured Frequency* |
|
||||||
|-----------+------------+--------------------|
|
|-----------+--------------------+----------------------|
|
||||||
| X-Bending | 189Hz | 280Hz |
|
| X-Bending | 189Hz | 280Hz |
|
||||||
| Y-Bending | 285Hz | 410Hz |
|
| Y-Bending | 285Hz | 410Hz |
|
||||||
| Z-Torsion | 400Hz | ? |
|
| Z-Torsion | 400Hz | 800Hz? |
|
||||||
|
|
||||||
* Dynamical measurements - APA
|
* Dynamical measurements - APA
|
||||||
<<sec:dynamical_meas_apa>>
|
<<sec:dynamical_meas_apa>>
|
||||||
@ -4461,6 +4577,12 @@ From Figure [[fig:comp_enc_frf_align_perfect]], it is clear that:
|
|||||||
2. The measured FRF have different shapes
|
2. The measured FRF have different shapes
|
||||||
#+end_important
|
#+end_important
|
||||||
|
|
||||||
|
#+begin_question
|
||||||
|
Why is the flexible mode of the strut at 200Hz is not seen in the model in Figure [[fig:comp_enc_frf_align_perfect]]?
|
||||||
|
Probably because the presence of this mode is not due because of the "unbalanced" mass of the encoder, but rather because of the misalignment of the APA with respect to the two flexible joints.
|
||||||
|
This will be verified in the next sections.
|
||||||
|
#+end_question
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
freqs = 5*logspace(0, 3, 1000);
|
freqs = 5*logspace(0, 3, 1000);
|
||||||
|
|
||||||
@ -4924,7 +5046,7 @@ This method gives nice match between the measured FRF and the one extracted from
|
|||||||
Using this method, an axial stiffness of $70 N/\mu m$ is found to give good results (and is reasonable based on the finite element models).
|
Using this method, an axial stiffness of $70 N/\mu m$ is found to give good results (and is reasonable based on the finite element models).
|
||||||
#+end_important
|
#+end_important
|
||||||
|
|
||||||
*** Effect of bending damping
|
*** TODO Effect of bending damping
|
||||||
|
|
||||||
* TODO Compare with the FEM/Simscape Model :noexport:
|
* TODO Compare with the FEM/Simscape Model :noexport:
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|