Add slip-ring analysis
This commit is contained in:
parent
c43d05324d
commit
8aae9e9e98
3
Library/figs/.gitignore
vendored
Normal file
3
Library/figs/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.svg
|
||||
*.pdf
|
||||
*.tex
|
BIN
Library/figs/slipring_asd.png
Normal file
BIN
Library/figs/slipring_asd.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 110 KiB |
BIN
Library/figs/slipring_time.png
Normal file
BIN
Library/figs/slipring_time.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
299
Library/index.org
Normal file
299
Library/index.org
Normal 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= |
|
Loading…
Reference in New Issue
Block a user