Update analysis on control systems

This commit is contained in:
Thomas Dehaeze 2019-05-17 10:42:55 +02:00
parent 48e3b909d0
commit 34de51c0cf
8 changed files with 52 additions and 104 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 112 KiB

View File

@ -29,10 +29,16 @@
#+PROPERTY: header-args:shell :eval no-export #+PROPERTY: header-args:shell :eval no-export
:END: :END:
For all the measurements shown here:
- geophones used are L22 with a resonance frequency of 1Hz This file is organized as follow:
- the signals are amplified with voltage amplifiers with a gain of 60dB - Section [[sec:effect_control_all]]:
- the voltage amplifiers include a low pass filter with a cut-off frequency at 1kHz - One geophone on the marble and one at the sample location
- Each stage is turned on one by one
- Section [[sec:effect_control_one]]:
- One geophone on the marble and one at the sample location
- Each stage is turned on one at a time
- Section [[sec:effect_symetrie_driver]]:
- We check if the Symetrie driver induces some vibrations when placed on the marble
* Effect of all the control systems on the Sample vibrations * Effect of all the control systems on the Sample vibrations
:PROPERTIES: :PROPERTIES:
@ -62,10 +68,15 @@ For all the measurements shown here:
#+end_note #+end_note
** Experimental Setup ** Experimental Setup
We here measure the signals of two geophones: We here measure the signals of two L22 geophones:
- One is located on top of the Sample platform - One is located on top of the Sample platform
- One is located on the marble - One is located on the marble
The signals are amplified with voltage amplifiers with the following settings:
- gain of 60dB
- AC/DC option set on AC
- Low pass filter set at 1kHz
The signal from the top geophone does not go trought the slip-ring. The signal from the top geophone does not go trought the slip-ring.
First, all the control systems are turned ON, then, they are turned one by one. First, all the control systems are turned ON, then, they are turned one by one.
@ -92,6 +103,7 @@ Each of the =mat= file contains one array =data= with 3 columns:
** 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)
<<matlab-dir>> <<matlab-dir>>
addpath('../src');
#+end_src #+end_src
#+begin_src matlab :exports none :results silent :noweb yes #+begin_src matlab :exports none :results silent :noweb yes
@ -100,7 +112,7 @@ Each of the =mat= file contains one array =data= with 3 columns:
** Load data ** Load data
We load the data of the z axis of two geophones. We load the data of the z axis of two geophones.
#+begin_src matlab :results none #+begin_src matlab
d3 = load('mat/data_003.mat', 'data'); d3 = d3.data; d3 = load('mat/data_003.mat', 'data'); d3 = d3.data;
d4 = load('mat/data_004.mat', 'data'); d4 = d4.data; d4 = load('mat/data_004.mat', 'data'); d4 = d4.data;
d5 = load('mat/data_005.mat', 'data'); d5 = d5.data; d5 = load('mat/data_005.mat', 'data'); d5 = d5.data;
@ -114,15 +126,15 @@ First, we can look at the time domain data and compare all the measurements:
- comparison for the geophone at the sample location (figure [[fig:time_domain_sample]]) - comparison for the geophone at the sample location (figure [[fig:time_domain_sample]])
- comparison for the geophone on the granite (figure [[fig:time_domain_marble]]) - comparison for the geophone on the granite (figure [[fig:time_domain_marble]])
#+begin_src matlab :results none #+begin_src matlab
figure; figure;
hold on; hold on;
plot(d3(:, 3), d3(:, 2), 'DisplayName', 'All ON'); plot(d3(:, 3), d3(:, 2), 'DisplayName', 'Hexa, Rz, SR, Ry, Ty');
plot(d4(:, 3), d4(:, 2), 'DisplayName', 'Ty OFF'); plot(d4(:, 3), d4(:, 2), 'DisplayName', 'Hexa, Rz, SR, Ry');
plot(d5(:, 3), d5(:, 2), 'DisplayName', 'Ry OFF'); plot(d5(:, 3), d5(:, 2), 'DisplayName', 'Hexa, Rz, SR');
plot(d6(:, 3), d6(:, 2), 'DisplayName', 'S-R OFF'); plot(d6(:, 3), d6(:, 2), 'DisplayName', 'Hexa, Rz');
plot(d7(:, 3), d7(:, 2), 'DisplayName', 'Rz OFF'); plot(d7(:, 3), d7(:, 2), 'DisplayName', 'Hexa');
plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Hexa OFF'); plot(d8(:, 3), d8(:, 2), 'DisplayName', 'All OFF');
hold off; hold off;
xlabel('Time [s]'); ylabel('Voltage [V]'); xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]); xlim([0, 50]);
@ -140,16 +152,15 @@ First, we can look at the time domain data and compare all the measurements:
#+RESULTS: fig:time_domain_sample #+RESULTS: fig:time_domain_sample
[[file:figs/time_domain_sample.png]] [[file:figs/time_domain_sample.png]]
#+begin_src matlab :results none #+begin_src matlab :results none
figure; figure;
hold on; hold on;
plot(d3(:, 3), d3(:, 1), 'DisplayName', 'All ON'); plot(d3(:, 3), d3(:, 1), 'DisplayName', 'Hexa, Rz, SR, Ry, Ty');
plot(d4(:, 3), d4(:, 1), 'DisplayName', 'Ty OFF'); plot(d4(:, 3), d4(:, 1), 'DisplayName', 'Hexa, Rz, SR, Ry');
plot(d5(:, 3), d5(:, 1), 'DisplayName', 'Ry OFF'); plot(d5(:, 3), d5(:, 1), 'DisplayName', 'Hexa, Rz, SR');
plot(d6(:, 3), d6(:, 1), 'DisplayName', 'S-R OFF'); plot(d6(:, 3), d6(:, 1), 'DisplayName', 'Hexa, Rz');
plot(d7(:, 3), d7(:, 1), 'DisplayName', 'Rz OFF'); plot(d7(:, 3), d7(:, 1), 'DisplayName', 'Hexa');
plot(d8(:, 3), d8(:, 1), 'DisplayName', 'Hexa OFF'); plot(d8(:, 3), d8(:, 1), 'DisplayName', 'All OFF');
hold off; hold off;
xlabel('Time [s]'); ylabel('Voltage [V]'); xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]); xlim([0, 50]);
@ -168,7 +179,7 @@ First, we can look at the time domain data and compare all the measurements:
[[file:figs/time_domain_marble.png]] [[file:figs/time_domain_marble.png]]
** Analysis - Frequency Domain ** Analysis - Frequency Domain
#+begin_src matlab :results none #+begin_src matlab
dt = d3(2, 3) - d3(1, 3); dt = d3(2, 3) - d3(1, 3);
Fs = 1/dt; Fs = 1/dt;
@ -190,12 +201,13 @@ And we compare all the signals (figures [[fig:psd_sample_comp]] and [[fig:psd_sa
#+begin_src matlab :results none #+begin_src matlab :results none
figure; figure;
hold on; hold on;
plot(f, sqrt(px3), 'DisplayName', 'All ON'); plot(f, sqrt(px3), 'DisplayName', 'Hexa, Rz, SR, Ry, Ty');
plot(f, sqrt(px4), 'DisplayName', 'Ty OFF'); plot(f, sqrt(px4), 'DisplayName', 'Hexa, Rz, SR, Ry');
plot(f, sqrt(px5), 'DisplayName', 'Ry OFF'); plot(f, sqrt(px5), 'DisplayName', 'Hexa, Rz, SR');
plot(f, sqrt(px6), 'DisplayName', 'S-R OFF'); plot(f, sqrt(px6), 'DisplayName', 'Hexa, Rz');
plot(f, sqrt(px7), 'DisplayName', 'Rz OFF'); plot(f, sqrt(px7), 'DisplayName', 'Hexa');
plot(f, sqrt(px8), 'DisplayName', 'Hexa OFF'); plot(f, sqrt(px8), 'DisplayName', 'All OFF');
plot(fgm, sqrt(pxxgm), '-k', 'DisplayName', 'Ground Velocity');
hold off; hold off;
set(gca, 'xscale', 'log'); set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log'); set(gca, 'yscale', 'log');
@ -246,12 +258,13 @@ And we compare the Amplitude Spectral Densities (figures [[fig:psd_marble_comp]]
#+begin_src matlab :results none #+begin_src matlab :results none
figure; figure;
hold on; hold on;
plot(f, sqrt(px3), 'DisplayName', 'All ON'); plot(f, sqrt(px3), 'DisplayName', 'Hexa, Rz, SR, Ry, Ty');
plot(f, sqrt(px4), 'DisplayName', 'Ty OFF'); plot(f, sqrt(px4), 'DisplayName', 'Hexa, Rz, SR, Ry');
plot(f, sqrt(px5), 'DisplayName', 'Ry OFF'); plot(f, sqrt(px5), 'DisplayName', 'Hexa, Rz, SR');
plot(f, sqrt(px6), 'DisplayName', 'S-R OFF'); plot(f, sqrt(px6), 'DisplayName', 'Hexa, Rz');
plot(f, sqrt(px7), 'DisplayName', 'Rz OFF'); plot(f, sqrt(px7), 'DisplayName', 'Hexa');
plot(f, sqrt(px8), 'DisplayName', 'Hexa OFF'); plot(f, sqrt(px8), 'DisplayName', 'All OFF');
plot(fgm, sqrt(pxxgm), '-k', 'DisplayName', 'Ground Velocity');
hold off; hold off;
set(gca, 'xscale', 'log'); set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log'); set(gca, 'yscale', 'log');
@ -287,79 +300,14 @@ And we compare the Amplitude Spectral Densities (figures [[fig:psd_marble_comp]]
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies) #+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies)
#+RESULTS: fig:psd_marble_comp_high_freq #+RESULTS: fig:psd_marble_comp_high_freq
[[file:figs/psd_marble_comp_high_freq.png]] [[file:figs/psd_marble_comp_high_freq.png]]
** Effect of the control system on the transmissibility from ground to sample
As the feedback loops change the dynamics of the system, we should see differences on the transfer function from marble velocity to sample velocity when turning off the control systems (figure [[fig:trans_comp]]).
#+begin_src matlab :results none
dt = d3(2, 3) - d3(1, 3);
Fs = 1/dt;
win = hanning(ceil(1*Fs));
#+end_src
First, we compute the Power Spectral Density of the signals coming from the Geophone located at the sample location.
#+begin_src matlab :results none
[T3, f] = tfestimate(d3(:, 1), d3(:, 2), win, [], [], Fs);
[T4, ~] = tfestimate(d4(:, 1), d4(:, 2), win, [], [], Fs);
[T5, ~] = tfestimate(d5(:, 1), d5(:, 2), win, [], [], Fs);
[T6, ~] = tfestimate(d6(:, 1), d6(:, 2), win, [], [], Fs);
[T7, ~] = tfestimate(d7(:, 1), d7(:, 2), win, [], [], Fs);
[T8, ~] = tfestimate(d8(:, 1), d8(:, 2), win, [], [], Fs);
#+end_src
#+begin_src matlab :results none
figure;
ax1 = subplot(2, 1, 1);
hold on;
plot(f, abs(T3), 'DisplayName', 'All ON');
plot(f, abs(T4), 'DisplayName', 'Ty OFF');
plot(f, abs(T5), 'DisplayName', 'Ry OFF');
plot(f, abs(T6), 'DisplayName', 'S-R OFF');
plot(f, abs(T7), 'DisplayName', 'Rz OFF');
plot(f, abs(T8), 'DisplayName', 'Hexa OFF');
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
legend('Location', 'northwest');
ax2 = subplot(2, 1, 2);
hold on;
plot(f, mod(180+180/pi*phase(T3), 360)-180);
plot(f, mod(180+180/pi*phase(T4), 360)-180);
plot(f, mod(180+180/pi*phase(T5), 360)-180);
plot(f, mod(180+180/pi*phase(T6), 360)-180);
plot(f, mod(180+180/pi*phase(T7), 360)-180);
plot(f, mod(180+180/pi*phase(T8), 360)-180);
hold off;
set(gca, 'xscale', 'log');
ylim([-180, 180]);
yticks([-180, -90, 0, 90, 180]);
xlabel('Frequency [Hz]'); ylabel('Phase');
linkaxes([ax1,ax2],'x');
xlim([1, 500]);
#+end_src
#+NAME: fig:trans_comp
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/trans_comp.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:trans_comp
#+CAPTION: Comparison of the transfer function from the geophone on the marble to the geophone at the sample location
#+RESULTS: fig:trans_comp
[[file:figs/trans_comp.png]]
** Conclusion ** Conclusion
#+begin_important #+begin_important
- The control system of the Ty stage induces a lot of vibrations of the marble - The control system of the Ty stage induces a lot of vibrations of the marble above 100Hz
- The hexapod control system add vibrations of the sample only above 200Hz
- When the Slip-Ring is ON, white noise appears at high frequencies. This is studied [[file:../slip-ring-electrical-noise/index.org][here]]
#+end_important #+end_important
#+begin_note
- Why it seems that the measurement noise at high frequency is the limiting factor when the slip ring is ON but not when it is OFF?
#+end_note
* Effect of all the control systems on the Sample vibrations - One stage at a time * Effect of all the control systems on the Sample vibrations - One stage at a time
:PROPERTIES: :PROPERTIES:
:header-args:matlab+: :tangle matlab/effect_control_one.m :header-args:matlab+: :tangle matlab/effect_control_one.m
@ -716,9 +664,9 @@ All the control systems are turned OFF except the Hexapod one.
Each measurement are done during 100s. Each measurement are done during 100s.
The settings of the voltage amplifier are: The settings of the voltage amplifier are:
- DC - gain of 60dB
- 60dB - AC/DC option set on DC
- 1kHz - Low pass filter set at 1kHz
A first order low pass filter with a cut-off frequency of 1kHz is added before the voltage amplifier. A first order low pass filter with a cut-off frequency of 1kHz is added before the voltage amplifier.