nass-micro-station-measurem.../disturbance-sr-rz/index.org

313 lines
11 KiB
Org Mode
Raw Normal View History

#+TITLE: Vibrations induced by the Slip-Ring and the Spindle
:DRAWER:
#+STARTUP: overview
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html
#+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>
#+HTML_MATHJAX: align: center tagside: right font: TeX
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :results none
#+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :eval no-export
#+PROPERTY: header-args:matlab+ :output-dir figs
#+PROPERTY: header-args:shell :eval no-export
:END:
* Experimental Setup
2019-05-14 14:11:31 +02:00
*Setup*:
All the stages are OFF.
Two geophone are use:
- One on the marble (corresponding to the first column in the data)
- One at the sample location (corresponding to the second column in the data)
Two voltage amplifiers are used, their setup is:
- gain of 60dB
- AC/DC switch on AC
- Low pass filter at 1kHz
A first order low pass filter is also added at the input of the voltage amplifiers.
2019-05-14 14:11:31 +02:00
*Goal*:
- Identify the vibrations induced by the rotation of the Slip-Ring and Spindle
2019-05-14 14:11:31 +02:00
*Measurements*:
Three measurements are done:
2019-05-13 22:36:14 +02:00
| Measurement File | Description |
|--------------------+----------------------------------------------------------------------|
| =mat/data_024.mat= | All the stages are OFF |
| =mat/data_025.mat= | The slip-ring is ON and rotates at 6rpm. The spindle is OFF |
| =mat/data_026.mat= | The slip-ring and spindle are both ON. They are both turning at 6rpm |
Each of the measurement =mat= file contains one =data= array with 3 columns:
| Column number | Description |
|---------------+-------------------|
| 1 | Geophone - Marble |
| 2 | Geophone - Sample |
| 3 | Time |
A movie showing the experiment is shown on figure [[fig:exp_sl_sp_gif]].
#+name: fig:exp_sl_sp_gif
#+attr_html: :width 300px
#+caption: Movie of the experiment, rotation speed is 6rpm
[[file:./img/VID_20190510_155655.gif]]
* Data Analysis
:PROPERTIES:
:header-args:matlab+: :tangle matlab/spindle_slip_ring_vibrations.m
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:spindle_slip_ring_vibrations>>
** ZIP file containing the data and matlab files :ignore:
#+begin_src bash :exports none :results none
if [ matlab/spindle_slip_ring_vibrations.m -nt data/spindle_slip_ring_vibrations.zip ]; then
cp matlab/spindle_slip_ring_vibrations.m spindle_slip_ring_vibrations.m;
zip data/spindle_slip_ring_vibrations \
mat/data_024.mat \
mat/data_025.mat \
mat/data_026.mat \
spindle_slip_ring_vibrations.m
rm spindle_slip_ring_vibrations.m;
fi
#+end_src
#+begin_note
All the files (data and Matlab scripts) are accessible [[file:data/spindle_slip_ring_vibrations.zip][here]].
#+end_note
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>>
addpath('../src');
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
** Load data
#+begin_src matlab
of = load('mat/data_024.mat', 'data'); of = of.data;
sr = load('mat/data_025.mat', 'data'); sr = sr.data;
sp = load('mat/data_026.mat', 'data'); sp = sp.data;
#+end_src
** Voltage to Velocity
2019-10-08 10:49:14 +02:00
We convert the measured voltage to velocity using the function =voltageToVelocityL22= (accessible [[file:~/Cloud/These/meas/src/index.org][here]]).
#+begin_src matlab
2019-05-15 16:46:54 +02:00
gain = 60; % [dB]
2019-05-15 16:46:54 +02:00
of(:, 1) = voltageToVelocityL22(of(:, 1), of(:, 3), gain);
sr(:, 1) = voltageToVelocityL22(sr(:, 1), sr(:, 3), gain);
sp(:, 1) = voltageToVelocityL22(sp(:, 1), sp(:, 3), gain);
of(:, 2) = voltageToVelocityL22(of(:, 2), of(:, 3), gain);
sr(:, 2) = voltageToVelocityL22(sr(:, 2), sr(:, 3), gain);
sp(:, 2) = voltageToVelocityL22(sp(:, 2), sp(:, 3), gain);
#+end_src
** Time domain plots
#+begin_src matlab
figure;
hold on;
plot(sp(:, 3), sp(:, 1), 'DisplayName', 'Spindle - 6rpm');
plot(sr(:, 3), sr(:, 1), 'DisplayName', 'Slip-Ring - 6rpm');
plot(of(:, 3), of(:, 1), 'DisplayName', 'OFF');
hold off;
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 100]);
legend('Location', 'northeast');
#+end_src
#+NAME: fig:slip_ring_spindle_marble_time
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/slip_ring_spindle_marble_time.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:slip_ring_spindle_marble_time
#+CAPTION: Velocity as measured by the geophone located on the marble - Time domain
#+RESULTS: fig:slip_ring_spindle_marble_time
[[file:figs/slip_ring_spindle_marble_time.png]]
#+begin_src matlab
figure;
hold on;
plot(sp(:, 3), sp(:, 2), 'DisplayName', 'Spindle and Slip-Ring');
plot(sr(:, 3), sr(:, 2), 'DisplayName', 'Only Slip-Ring');
plot(of(:, 3), of(:, 2), 'DisplayName', 'OFF');
hold off;
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 100]);
legend('Location', 'northeast');
#+end_src
#+NAME: fig:slip_ring_spindle_sample_time
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/slip_ring_spindle_sample_time.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:slip_ring_spindle_sample_time
#+CAPTION: Velocity as measured by the geophone at the sample location - Time domain
#+RESULTS: fig:slip_ring_spindle_sample_time
[[file:figs/slip_ring_spindle_sample_time.png]]
2019-05-15 16:46:54 +02:00
#+begin_src matlab :exports none :tangle no
xlim([0, 1]);
#+end_src
#+NAME: fig:slip_ring_spindle_sample_zoom
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/slip_ring_spindle_sample_zoom.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:slip_ring_spindle_sample_zoom
#+CAPTION: Velocity as measured by the geophone at the sample location - Time domain
#+RESULTS: fig:slip_ring_spindle_sample_zoom
[[file:figs/slip_ring_spindle_sample_zoom.png]]
** Frequency Domain
We first compute some parameters that will be used for the PSD computation.
#+begin_src matlab :results none
dt = of(2, 3)-of(1, 3);
Fs = 1/dt; % [Hz]
win = hanning(ceil(10*Fs));
#+end_src
Then we compute the Power Spectral Density using =pwelch= function.
First for the geophone located on the marble
#+begin_src matlab
[pxof_m, f] = pwelch(of(:, 1), win, [], [], Fs);
[pxsr_m, ~] = pwelch(sr(:, 1), win, [], [], Fs);
[pxsp_m, ~] = pwelch(sp(:, 1), win, [], [], Fs);
#+end_src
And for the geophone located at the sample position.
#+begin_src matlab
2019-05-15 16:46:54 +02:00
[pxof_s, ~] = pwelch(of(:, 2), win, [], [], Fs);
[pxsr_s, ~] = pwelch(sr(:, 2), win, [], [], Fs);
[pxsp_s, ~] = pwelch(sp(:, 2), win, [], [], Fs);
#+end_src
2019-05-15 16:46:54 +02:00
And finally for the relative velocity between the sample and the marble.
#+begin_src matlab
[pxof_r, ~] = pwelch(of(:, 2)-of(:, 1), win, [], [], Fs);
[pxsr_r, ~] = pwelch(sr(:, 2)-sr(:, 1), win, [], [], Fs);
[pxsp_r, ~] = pwelch(sp(:, 2)-sp(:, 1), win, [], [], Fs);
#+end_src
And we plot the ASD of the measured velocities:
- figure [[fig:sr_sp_psd_marble_compare]] for the geophone located on the marble
- figure [[fig:sr_sp_psd_sample_compare]] for the geophone at the sample position
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxsp_m), 'DisplayName', 'Spindle - 6rpm');
plot(f, sqrt(pxsr_m), 'DisplayName', 'Slip-Ring - 6rpm');
plot(f, sqrt(pxof_m), 'DisplayName', 'OFF');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
legend('Location', 'southwest');
xlim([2, 500]);
#+end_src
#+NAME: fig:sr_sp_psd_marble_compare
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/sr_sp_psd_marble_compare.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_sp_psd_marble_compare
#+CAPTION: Comparison of the ASD of the measured velocities from the Geophone on the marble
#+RESULTS: fig:sr_sp_psd_marble_compare
[[file:figs/sr_sp_psd_marble_compare.png]]
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxsp_s), 'DisplayName', 'Spindle - 6rpm');
plot(f, sqrt(pxsr_s), 'DisplayName', 'Slip-Ring - 6rpm');
plot(f, sqrt(pxof_s), 'DisplayName', 'OFF');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
legend('Location', 'southwest');
xlim([2, 500]);
#+end_src
#+NAME: fig:sr_sp_psd_sample_compare
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/sr_sp_psd_sample_compare.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_sp_psd_sample_compare
#+CAPTION: Comparison of the ASD of the measured velocities from the Geophone at the sample location
#+RESULTS: fig:sr_sp_psd_sample_compare
[[file:figs/sr_sp_psd_sample_compare.png]]
2019-05-15 16:46:54 +02:00
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxsp_r), 'DisplayName', 'Spindle - 6rpm');
plot(f, sqrt(pxsr_r), 'DisplayName', 'Slip-Ring - 6rpm');
plot(f, sqrt(pxof_r), 'DisplayName', 'OFF');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the relative velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
legend('Location', 'southwest');
xlim([2, 500]);
#+end_src
#+NAME: fig:sr_sp_psd_relative_compare
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/sr_sp_psd_relative_compare.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_sp_psd_relative_compare
#+CAPTION: Comparison of the ASD of the relative velocity
#+RESULTS: fig:sr_sp_psd_relative_compare
[[file:figs/sr_sp_psd_relative_compare.png]]
** Conclusion
#+begin_important
- The slip-ring rotation induces almost no vibrations on the marble, and only a little vibrations on the sample above 100Hz.
- The spindle rotation induces a lot of vibrations of the sample as well as on the granite.
2019-05-15 16:46:54 +02:00
- There is a huge peak at 24Hz on the sample vibration but not on the granite vibration
- The peak is really sharp, could this be due to magnetic effect?
- Should redo the measurement with piezo accelerometers.
#+end_important