#+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: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+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 *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. *Goal*: - Identify the vibrations induced by the rotation of the Slip-Ring and Spindle *Measurements*: Three measurements are done: | 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: <> ** 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) <> #+end_src #+begin_src matlab :exports none :results silent :noweb yes <> #+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 ** 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('Voltage [V]'); xlim([0, 100]); ylim([-10 10]); 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") <> #+end_src #+NAME: fig:slip_ring_spindle_marble_time #+CAPTION: Measurement of 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('Voltage [V]'); xlim([0, 100]); ylim([-10 10]); 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") <> #+end_src #+NAME: fig:slip_ring_spindle_sample_time #+CAPTION: Measurement of the geophone at the sample location - Time domain #+RESULTS: fig:slip_ring_spindle_sample_time [[file:figs/slip_ring_spindle_sample_time.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 [pxof_s, f] = pwelch(of(:, 2), win, [], [], Fs); [pxsr_s, ~] = pwelch(sr(:, 2), win, [], [], Fs); [pxsp_s, ~] = pwelch(sp(:, 2), win, [], [], Fs); #+end_src And we plot the ASD of the measured signals: - 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 Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$') legend('Location', 'southwest'); xlim([0.1, 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") <> #+end_src #+NAME: fig:sr_sp_psd_marble_compare #+CAPTION: Comparison of the ASD of the measured voltage 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 Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$') legend('Location', 'southwest'); xlim([0.1, 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") <> #+end_src #+NAME: fig:sr_sp_psd_sample_compare #+CAPTION: Comparison of the ASD of the measured voltage from the Geophone at the sample location #+RESULTS: fig:sr_sp_psd_sample_compare [[file:figs/sr_sp_psd_sample_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. There is a huge peak at 24Hz on the sample vibration but not on the granite vibration. #+end_important