Add slip-ring analysis

This commit is contained in:
Thomas Dehaeze 2019-05-02 09:50:01 +02:00
parent c43d05324d
commit 8aae9e9e98
4 changed files with 302 additions and 0 deletions

3
Library/figs/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*.svg
*.pdf
*.tex

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

299
Library/index.org Normal file
View File

@ -0,0 +1,299 @@
#+TITLE:Measurements
:DRAWER:
#+STARTUP: overview
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="../js/bootstrap.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :results output
#+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :eval no-export
#+PROPERTY: header-args:matlab+ :output-dir figs
:END:
For all the measurements here, the geophones are L22.
The signals are amplified with voltage amplifiers with a gain of 60dB.
The voltage amplifiers include a low pass filter with a cut-off frequency at 1kHz.
* Effect of the control system of each stage
** Experimental Setup
One geophone is on the marble, the other at the sample location (see figures below).
The signal from the top geophone goes through the slip-ring.
The signals from the geophones are amplified by a voltage amplifier with a gain of 60dB.
The voltage amplifier also include a low pass filter with a corner frequency of 1kHz.
#+name: fig:setup_ty_1
#+caption: Figure caption
#+attr_html: :width 500px
[[file:./img/IMG_20190430_112613.jpg]]
#+name: fig:setup_ty_2
#+caption: Figure caption
#+attr_html: :width 500px
[[file:./img/IMG_20190430_112615.jpg]]
#+name: fig:setup_ty_3
#+caption: Figure caption
#+attr_html: :width 500px
[[file:./img/IMG_20190430_112620.jpg]]
Two measurements are done:
| Setup | Data File |
|----------------------+--------------------|
| Control of Ty is on | =mat/data_001.mat= |
| Control of Ty is off | =mat/data_002.mat= |
For each of the measurements
| Variable | Description |
|----------+--------------------------------------------------------------------|
| =t= | Time Vector |
| =x1= | Voltage measured across the geophone placed on the marble |
| =x2= | Voltage measured across the geophone placed at the sample location |
Measurements are 50s long.
** Matlab Init :noexport:ignore:
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
** Load data
We load the data of the z axis of two geophones.
#+begin_src matlab :results none
tyOn = load('mat/data_001.mat', 't', 'x1', 'x2');
tyOff = load('mat/data_002.mat', 't', 'x1', 'x2');
#+end_src
** Analysis
#+begin_src matlab :results none
dt = tyOn.t(2)-tyOn.t(1);
Fs = 1/dt;
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(tyOn.t, tyOn.x1);
plot(tyOn.t, tyOn.x2);
hold off;
legend({'x1 - ON', 'x2 - ON'});
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(tyOff.t, tyOff.x1);
plot(tyOff.t, tyOff.x2);
hold off;
legend({'x1 - OFF', 'x2 - OFF'});
#+end_src
#+begin_src matlab :results none
Fs = 1/dt;
win = hanning(ceil(10*Fs));
#+end_src
#+begin_src matlab :results none
[pxOn1, f] = pwelch(tyOn.x1, win, [], [], Fs);
[pxOn2, ~] = pwelch(tyOn.x2, win, [], [], Fs);
[pxOff1, ~] = pwelch(tyOff.x1, win, [], [], Fs);
[pxOff2, ~] = pwelch(tyOff.x2, win, [], [], Fs);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxOn1));
plot(f, sqrt(pxOn2));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
% xlim([2, 500]);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxOn1));
plot(f, sqrt(pxOff1));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
% xlim([2, 500]);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxOn2));
plot(f, sqrt(pxOff2));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
% xlim([2, 500]);
#+end_src
#+begin_src matlab :results none
[T_off, ~] = tfestimate(tyOff.x1, tyOff.x2, win, [], [], Fs);
[coh_off, ~] = mscohere(tyOff.x1, tyOff.x2, win, [], [], Fs);
[T_on, ~] = tfestimate(tyOn.x1, tyOn.x2, win, [], [], Fs);
[coh_on, ~] = mscohere(tyOn.x1, tyOn.x2, win, [], [], Fs);
#+end_src
#+begin_src matlab :results none :exports none
figure;
hold on;
plot(f, coh_on);
plot(f, coh_off);
hold off;
set(gca, 'xscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Coherence');
ylim([0,1]); xlim([1, 500]);
#+end_src
#+begin_src matlab :results none :exports none
figure;
ax1 = subplot(2, 1, 1);
hold on;
plot(f, abs(T_on));
plot(f, abs(T_off));
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
ax2 = subplot(2, 1, 2);
hold on;
plot(f, mod(180+180/pi*phase(T_on), 360)-180);
plot(f, mod(180+180/pi*phase(T_off), 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
* Effect of the Slip-Ring on the signal
** Experimental Setup
Two measurements are made where the control of all the stages are OFF.
One geophone is located on the marble while the other is located at the sample location.
The two measurements are:
| Measurement File | Description |
|------------------+------------------------------------------------------------------|
| =meas_008.mat= | Signal from the top geophone does not goes through the Slip-ring |
| =meas_009.mat= | Signal goes through the Slip-ring |
Each of the measurement =mat= file contains one =data= array with 3 columns:
| Column number | Description |
|---------------+-------------------|
| 1 | Geophone - Marble |
| 2 | Geophone - Sample |
| 3 | Time |
** Matlab Init :noexport:ignore:
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
** Load data
We load the data of the z axis of two geophones.
#+begin_src matlab :results none
data8 = load('mat/data_008.mat', 'data');
data9 = load('mat/data_009.mat', 'data');
#+end_src
** Analysis - Time Domain
#+begin_src matlab :results none
figure;
hold on;
plot(data9.data(:, 3), data9.data(:, 2), 'DisplayName', 'Slip-Ring');
plot(data8.data(:, 3), data8.data(:, 2), 'DisplayName', 'Wire');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
legend();
#+end_src
#+NAME: fig:slipring_time
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/slipring_time.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:slipring_time
#+CAPTION: Effect of the Slip-Ring on the measured signal - Time domain
#+RESULTS: fig:slipring_time
[[file:figs/slipring_time.png]]
** Analysis - Frequency Domain
#+begin_src matlab :results none
dt = data8.data(2, 3) - data8.data(1, 3);
Fs = 1/dt;
win = hanning(ceil(1*Fs));
#+end_src
#+begin_src matlab :results none
[pxx8, f] = pwelch(data8.data(:, 2), win, [], [], Fs);
[pxx9, ~] = pwelch(data9.data(:, 2), win, [], [], Fs);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxx9), 'DisplayName', 'Slip-Ring');
plot(f, sqrt(pxx8), 'DisplayName', 'Wire');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
xlim([1, 500]);
legend('Location', 'southwest');
#+end_src
#+NAME: fig:slipring_asd
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/slipring_asd.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:slipring_asd
#+CAPTION: Effect of the Slip-Ring on the measured signal - Frequency domain
#+RESULTS: fig:slipring_asd
[[file:figs/slipring_asd.png]]
** Conclusion
*Remaining questions to answer*:
- Why is there a sharp peak at 300Hz?
- Why the use of the Slip-Ring does induce a noise?
- Can the capacitive/inductive properties of the wires in the Slip-ring does not play well with the geophone? (resonant RLC circuit)
* Measurement when signal from top geophone does not go trought the slip-ring
| Ty | Ry | Slip Ring | Spindle | Hexapod | Meas. file |
|------+------+-----------+---------+---------+----------------|
| *ON* | *ON* | *ON* | *ON* | *ON* | =meas_003.mat= |
| OFF | *ON* | *ON* | *ON* | *ON* | =meas_004.mat= |
| OFF | OFF | *ON* | *ON* | *ON* | =meas_005.mat= |
| OFF | OFF | OFF | *ON* | *ON* | =meas_006.mat= |
| OFF | OFF | OFF | OFF | *ON* | =meas_007.mat= |
| OFF | OFF | OFF | OFF | OFF | =meas_008.mat= |