Add data analysis
BIN
Library/figs/coherence_two_geophones.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
Library/figs/compare_tf_geophones.png
Normal file
After Width: | Height: | Size: 159 KiB |
BIN
Library/figs/psd_marble_comp.png
Normal file
After Width: | Height: | Size: 180 KiB |
BIN
Library/figs/psd_marble_comp_high_freq.png
Normal file
After Width: | Height: | Size: 230 KiB |
BIN
Library/figs/psd_sample_comp.png
Normal file
After Width: | Height: | Size: 183 KiB |
BIN
Library/figs/psd_sample_comp_high_freq.png
Normal file
After Width: | Height: | Size: 217 KiB |
BIN
Library/figs/time_domain_m_ry.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
Library/figs/time_domain_m_ty.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
Library/figs/time_domain_marble.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
Library/figs/time_domain_sample.png
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
Library/figs/time_domain_ty_ry.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
Library/figs/trans_comp.png
Normal file
After Width: | Height: | Size: 181 KiB |
1331
Library/index.html
Normal file
@ -18,34 +18,671 @@
|
||||
#+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
|
||||
For all the measurements shown here:
|
||||
- geophones used are L22 with a resonance frequency of 1Hz
|
||||
- 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 Slip-Ring on the signal
|
||||
** Experimental Setup
|
||||
One geophone is on the marble, the other at the sample location (see figures below).
|
||||
Two measurements are made with the control systems of all the stages turned OFF.
|
||||
|
||||
The signal from the top geophone goes through the slip-ring.
|
||||
One geophone is located on the marble while the other is located at the sample location (figure [[fig:setup_slipring]]).
|
||||
|
||||
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
|
||||
#+name: fig:setup_slipring
|
||||
#+caption: Experimental Setup
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_112615.jpg]]
|
||||
|
||||
#+name: fig:setup_ty_3
|
||||
#+caption: Figure caption
|
||||
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 (as shown on the figure above) |
|
||||
|
||||
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
|
||||
d8 = load('mat/data_008.mat', 'data'); d8 = d8.data;
|
||||
d9 = load('mat/data_009.mat', 'data'); d9 = d9.data;
|
||||
#+end_src
|
||||
|
||||
** Analysis - Time Domain
|
||||
First, we compare the time domain signals for the two experiments (figure [[fig:slipring_time]]).
|
||||
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(d9(:, 3), d9(:, 2), 'DisplayName', 'Slip-Ring');
|
||||
plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Wire');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||
xlim([0, 50]);
|
||||
legend('location', 'northeast');
|
||||
#+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
|
||||
We then compute the Power Spectral Density of the two signals and we compare them (figure [[fig:slipring_asd]]).
|
||||
#+begin_src matlab :results none
|
||||
dt = d8(2, 3) - d8(1, 3);
|
||||
Fs = 1/dt;
|
||||
|
||||
win = hanning(ceil(1*Fs));
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :results none
|
||||
[pxx8, f] = pwelch(d8(:, 2), win, [], [], Fs);
|
||||
[pxx9, ~] = pwelch(d9(:, 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
|
||||
#+begin_important
|
||||
- Connecting the geophone through the Slip-Ring seems to induce a lot of noise.
|
||||
#+end_important
|
||||
|
||||
#+begin_note
|
||||
*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)
|
||||
#+end_note
|
||||
|
||||
* Effect of all the control systems on the Sample vibrations
|
||||
** Experimental Setup
|
||||
We here measure the signals of two geophones:
|
||||
- One is located on top of the Sample platform
|
||||
- One is located on the marble
|
||||
|
||||
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.
|
||||
Each measurement are done during 50s.
|
||||
|
||||
#+name: tab:control_system_on_off
|
||||
#+caption: Summary of the measurements and the states of the control systems
|
||||
| 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= |
|
||||
|
||||
Each of the =mat= file contains one array =data= 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
|
||||
d3 = load('mat/data_003.mat', 'data'); d3 = d3.data;
|
||||
d4 = load('mat/data_004.mat', 'data'); d4 = d4.data;
|
||||
d5 = load('mat/data_005.mat', 'data'); d5 = d5.data;
|
||||
d6 = load('mat/data_006.mat', 'data'); d6 = d6.data;
|
||||
d7 = load('mat/data_007.mat', 'data'); d7 = d7.data;
|
||||
d8 = load('mat/data_008.mat', 'data'); d8 = d8.data;
|
||||
#+end_src
|
||||
|
||||
** Analysis - Time Domain
|
||||
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 on the granite (figure [[fig:time_domain_marble]])
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(d3(:, 3), d3(:, 2), 'DisplayName', 'All ON');
|
||||
plot(d4(:, 3), d4(:, 2), 'DisplayName', 'Ty OFF');
|
||||
plot(d5(:, 3), d5(:, 2), 'DisplayName', 'Ry OFF');
|
||||
plot(d6(:, 3), d6(:, 2), 'DisplayName', 'S-R OFF');
|
||||
plot(d7(:, 3), d7(:, 2), 'DisplayName', 'Rz OFF');
|
||||
plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Hexa OFF');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||
xlim([0, 50]);
|
||||
legend('Location', 'bestoutside');
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_sample
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/time_domain_sample.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_sample
|
||||
#+CAPTION: Comparison of the time domain data when turning off the control system of the stages - Geophone at the sample location
|
||||
#+RESULTS: fig:time_domain_sample
|
||||
[[file:figs/time_domain_sample.png]]
|
||||
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(d3(:, 3), d3(:, 1), 'DisplayName', 'All ON');
|
||||
plot(d4(:, 3), d4(:, 1), 'DisplayName', 'Ty OFF');
|
||||
plot(d5(:, 3), d5(:, 1), 'DisplayName', 'Ry OFF');
|
||||
plot(d6(:, 3), d6(:, 1), 'DisplayName', 'S-R OFF');
|
||||
plot(d7(:, 3), d7(:, 1), 'DisplayName', 'Rz OFF');
|
||||
plot(d8(:, 3), d8(:, 1), 'DisplayName', 'Hexa OFF');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||
xlim([0, 50]);
|
||||
legend('Location', 'bestoutside');
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_marble
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/time_domain_marble.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_marble
|
||||
#+CAPTION: Comparison of the time domain data when turning off the control system of the stages - Geophone on the marble
|
||||
#+RESULTS: fig:time_domain_marble
|
||||
[[file:figs/time_domain_marble.png]]
|
||||
|
||||
** Analysis - Frequency Domain
|
||||
#+begin_src matlab :results none
|
||||
dt = d3(2, 3) - d3(1, 3);
|
||||
|
||||
Fs = 1/dt;
|
||||
win = hanning(ceil(10*Fs));
|
||||
#+end_src
|
||||
|
||||
*** Vibrations at the sample location
|
||||
First, we compute the Power Spectral Density of the signals coming from the Geophone located at the sample location.
|
||||
#+begin_src matlab :results none
|
||||
[px3, f] = pwelch(d3(:, 2), win, [], [], Fs);
|
||||
[px4, ~] = pwelch(d4(:, 2), win, [], [], Fs);
|
||||
[px5, ~] = pwelch(d5(:, 2), win, [], [], Fs);
|
||||
[px6, ~] = pwelch(d6(:, 2), win, [], [], Fs);
|
||||
[px7, ~] = pwelch(d7(:, 2), win, [], [], Fs);
|
||||
[px8, ~] = pwelch(d8(:, 2), win, [], [], Fs);
|
||||
#+end_src
|
||||
|
||||
And we compare all the signals (figures [[fig:psd_sample_comp]] and [[fig:psd_sample_comp_high_freq]]).
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, sqrt(px3), 'DisplayName', 'All ON');
|
||||
plot(f, sqrt(px4), 'DisplayName', 'Ty OFF');
|
||||
plot(f, sqrt(px5), 'DisplayName', 'Ry OFF');
|
||||
plot(f, sqrt(px6), 'DisplayName', 'S-R OFF');
|
||||
plot(f, sqrt(px7), 'DisplayName', 'Rz OFF');
|
||||
plot(f, sqrt(px8), 'DisplayName', 'Hexa OFF');
|
||||
hold off;
|
||||
set(gca, 'xscale', 'log');
|
||||
set(gca, 'yscale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
|
||||
xlim([0.1, 500]);
|
||||
legend('Location', 'southwest');
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:psd_sample_comp
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/psd_sample_comp.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:psd_sample_comp
|
||||
#+CAPTION: PSD of the signal coming from the top geophone
|
||||
#+RESULTS: fig:psd_sample_comp
|
||||
[[file:figs/psd_sample_comp.png]]
|
||||
|
||||
|
||||
#+begin_src matlab :results none :tangle no :exports none
|
||||
xlim([80, 500]);
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:psd_sample_comp_high_freq
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/psd_sample_comp_high_freq.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:psd_sample_comp_high_freq
|
||||
#+CAPTION: PSD of the signal coming from the top geophone (zoom at high frequencies)
|
||||
#+RESULTS: fig:psd_sample_comp_high_freq
|
||||
[[file:figs/psd_sample_comp_high_freq.png]]
|
||||
|
||||
*** Vibrations on the marble
|
||||
Now we plot the same curves for the geophone located on the marble.
|
||||
#+begin_src matlab :results none
|
||||
[px3, f] = pwelch(d3(:, 1), win, [], [], Fs);
|
||||
[px4, ~] = pwelch(d4(:, 1), win, [], [], Fs);
|
||||
[px5, ~] = pwelch(d5(:, 1), win, [], [], Fs);
|
||||
[px6, ~] = pwelch(d6(:, 1), win, [], [], Fs);
|
||||
[px7, ~] = pwelch(d7(:, 1), win, [], [], Fs);
|
||||
[px8, ~] = pwelch(d8(:, 1), win, [], [], Fs);
|
||||
#+end_src
|
||||
|
||||
And we compare the ASD (figures [[fig:psd_marble_comp]] and [[fig:psd_marble_comp_high_freq]])
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, sqrt(px3), 'DisplayName', 'All ON');
|
||||
plot(f, sqrt(px4), 'DisplayName', 'Ty OFF');
|
||||
plot(f, sqrt(px5), 'DisplayName', 'Ry OFF');
|
||||
plot(f, sqrt(px6), 'DisplayName', 'S-R OFF');
|
||||
plot(f, sqrt(px7), 'DisplayName', 'Rz OFF');
|
||||
plot(f, sqrt(px8), 'DisplayName', 'Hexa OFF');
|
||||
hold off;
|
||||
set(gca, 'xscale', 'log');
|
||||
set(gca, 'yscale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
|
||||
xlim([0.1, 500]);
|
||||
legend('Location', 'northeast');
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:psd_marble_comp
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/psd_marble_comp.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:psd_marble_comp
|
||||
#+CAPTION: PSD of the signal coming from the top geophone
|
||||
#+RESULTS: fig:psd_marble_comp
|
||||
[[file:figs/psd_marble_comp.png]]
|
||||
|
||||
|
||||
#+begin_src matlab :results none :tangle no :exports none
|
||||
legend('Location', 'southwest');
|
||||
xlim([80, 500]);
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:psd_marble_comp_high_freq
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/psd_marble_comp_high_freq.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:psd_marble_comp_high_freq
|
||||
#+CAPTION: PSD of the signal coming from the top geophone (zoom at high frequencies)
|
||||
#+RESULTS: fig:psd_marble_comp_high_freq
|
||||
[[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
|
||||
#+begin_important
|
||||
- The control system of the Ty stage induces a lot of vibrations of the marble
|
||||
#+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
|
||||
|
||||
* Transfer function from one stage to the other
|
||||
** Experimental Setup
|
||||
For all the measurements in this section:
|
||||
- all the control stages are OFF.
|
||||
- the measurements are on the $z$ direction
|
||||
|
||||
*** From Marble to Ty - =mat/meas_010.mat=
|
||||
One geophone is on the marble, one is on the Ty stage (see figures [[fig:setup_m_ty]], [[fig:setup_m_ty_zoom]] and [[fig:setup_m_ty_top]]).
|
||||
|
||||
The =data= array contains the following columns:
|
||||
| Column | Description |
|
||||
|--------+-------------|
|
||||
| 1 | Ground |
|
||||
| 2 | Ty |
|
||||
| 3 | Time |
|
||||
|
||||
#+name: fig:setup_m_ty
|
||||
#+caption: Setup with one geophone on the marble and one on top of the translation stage
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_112620.jpg]]
|
||||
[[file:./img/IMG_20190430_155330.jpg]]
|
||||
|
||||
#+name: fig:setup_m_ty_zoom
|
||||
#+caption: Setup with one geophone on the marble and one on top of the translation stage - Close up view
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_155335.jpg]]
|
||||
|
||||
#+name: fig:setup_m_ty_top
|
||||
#+caption: Setup with one geophone on the marble and one on top of the translation stage - Top view
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_155342.jpg]]
|
||||
|
||||
*** From Marble to Ry - =mat/meas_011.mat=
|
||||
One geophone is on the marble, one is on the Ry stage (see figure [[fig:setup_m_ry]])
|
||||
|
||||
The =data= array contains the following columns:
|
||||
| Column | Description |
|
||||
|--------+-------------|
|
||||
| 1 | Ground |
|
||||
| 2 | Ry |
|
||||
| 3 | Time |
|
||||
|
||||
#+name: fig:setup_m_ry
|
||||
#+caption: Setup with one geophone on the marble and one on top of the Tilt Stage
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_163919.jpg]]
|
||||
|
||||
*** From Ty to Ry - =mat/meas_012.mat=
|
||||
One geophone is on the Ty stage, one is on the Ry stage (see figures [[fig:setup_ty_ry]], [[fig:setup_ty_ry_top]] and [[fig:setup_ty_ry_zoom]])
|
||||
One geophone on the Ty stage, one geophone on the Ry stage.
|
||||
|
||||
The =data= array contains the following columns:
|
||||
| Column | Description |
|
||||
|--------+-------------|
|
||||
| 1 | Ty |
|
||||
| 2 | Ry |
|
||||
| 3 | Time |
|
||||
|
||||
#+name: fig:setup_ty_ry
|
||||
#+caption: Setup with one geophone on the translation stage and one on top of the Tilt Stage
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_170405.jpg]]
|
||||
|
||||
#+name: fig:setup_ty_ry_top
|
||||
#+caption: Setup with one geophone on the translation stage and one on top of the Tilt Stage - Top view
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_170418.jpg]]
|
||||
|
||||
#+name: fig:setup_ty_ry_zoom
|
||||
#+caption: Setup with one geophone on the translation stage and one on top of the Tilt Stage - Close up view
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_170425.jpg]]
|
||||
|
||||
** 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
|
||||
m_ty = load('mat/data_010.mat', 'data'); m_ty = m_ty.data;
|
||||
m_ry = load('mat/data_011.mat', 'data'); m_ry = m_ry.data;
|
||||
ty_ry = load('mat/data_012.mat', 'data'); ty_ry = ty_ry.data;
|
||||
#+end_src
|
||||
|
||||
** Analysis - Time Domain
|
||||
First, we can look at the time domain data.
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(m_ty(:, 3), m_ty(:, 1), 'DisplayName', 'Marble');
|
||||
plot(m_ty(:, 3), m_ty(:, 2), 'DisplayName', 'Ty');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||
legend('Location', 'northeast');
|
||||
xlim([0, 500]);
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_m_ty
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/time_domain_m_ty.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_m_ty
|
||||
#+CAPTION: Time domain - Marble and translation stage
|
||||
#+RESULTS: fig:time_domain_m_ty
|
||||
[[file:figs/time_domain_m_ty.png]]
|
||||
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(m_ry(:, 3), m_ry(:, 1), 'DisplayName', 'Marble');
|
||||
plot(m_ry(:, 3), m_ry(:, 2), 'DisplayName', 'Ty');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||
legend('Location', 'northeast');
|
||||
xlim([0, 500]);
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_m_ry
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/time_domain_m_ry.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_m_ry
|
||||
#+CAPTION: Time domain - Marble and tilt stage
|
||||
#+RESULTS: fig:time_domain_m_ry
|
||||
[[file:figs/time_domain_m_ry.png]]
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(ty_ry(:, 3), ty_ry(:, 1), 'DisplayName', 'Ty');
|
||||
plot(ty_ry(:, 3), ty_ry(:, 2), 'DisplayName', 'Ry');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||
legend('Location', 'northeast');
|
||||
xlim([0, 500]);
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_ty_ry
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/time_domain_ty_ry.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:time_domain_ty_ry
|
||||
#+CAPTION: Time domain - Translation stage and tilt stage
|
||||
#+RESULTS: fig:time_domain_ty_ry
|
||||
[[file:figs/time_domain_ty_ry.png]]
|
||||
|
||||
** Analysis - Frequency Domain
|
||||
#+begin_src matlab :results none
|
||||
dt = m_ty(2, 3) - m_ty(1, 3);
|
||||
|
||||
Fs = 1/dt;
|
||||
win = hanning(ceil(1*Fs));
|
||||
#+end_src
|
||||
|
||||
First, we compute the transfer function estimate between the two geophones for the 3 experiments (figure [[fig:compare_tf_geophones]]). We also plot their coherence (figure [[fig:coherence_two_geophones]]).
|
||||
#+begin_src matlab :results none
|
||||
[T_m_ty, f] = tfestimate(m_ty(:, 1), m_ty(:, 2), win, [], [], Fs);
|
||||
[T_m_ry, ~] = tfestimate(m_ry(:, 1), m_ry(:, 2), win, [], [], Fs);
|
||||
[T_ty_ry, ~] = tfestimate(ty_ry(:, 1), ty_ry(:, 2), win, [], [], Fs);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
ax1 = subplot(2, 1, 1);
|
||||
hold on;
|
||||
plot(f, abs(T_m_ty), 'DisplayName', 'Marble - Ty');
|
||||
plot(f, abs(T_m_ry), 'DisplayName', 'Marble - Ry');
|
||||
plot(f, abs(T_ty_ry), 'DisplayName', 'Ty - Ry');
|
||||
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(T_m_ty), 360)-180);
|
||||
plot(f, mod(180+180/pi*phase(T_m_ry), 360)-180);
|
||||
plot(f, mod(180+180/pi*phase(T_ty_ry), 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([10, 500]);
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:compare_tf_geophones
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/compare_tf_geophones.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:compare_tf_geophones
|
||||
#+CAPTION: Transfer function from the first geophone to the second geophone for the three experiments
|
||||
#+RESULTS: fig:compare_tf_geophones
|
||||
[[file:figs/compare_tf_geophones.png]]
|
||||
|
||||
|
||||
#+begin_src matlab :results none
|
||||
[coh_m_ty, f] = mscohere(m_ty(:, 1), m_ty(:, 2), win, [], [], Fs);
|
||||
[coh_m_ry, ~] = mscohere(m_ry(:, 1), m_ry(:, 2), win, [], [], Fs);
|
||||
[coh_ty_ry, ~] = mscohere(ty_ry(:, 1), ty_ry(:, 2), win, [], [], Fs);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :results none :exports none
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, coh_m_ty, 'DisplayName', 'Marble - Ty');
|
||||
plot(f, coh_m_ry, 'DisplayName', 'Marble - Ry');
|
||||
plot(f, coh_ty_ry, 'DisplayName', 'Ty - Ry');
|
||||
hold off;
|
||||
set(gca, 'xscale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('Coherence');
|
||||
ylim([0, 1]); xlim([1, 500]);
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:coherence_two_geophones
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/coherence_two_geophones.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:coherence_two_geophones
|
||||
#+CAPTION: Coherence between the two geophones for the three experiments
|
||||
#+RESULTS: fig:coherence_two_geophones
|
||||
[[file:figs/coherence_two_geophones.png]]
|
||||
|
||||
** Conclusion
|
||||
|
||||
* Effect of the Ty Control System on the vibration of the Sample :noexport:ignore:
|
||||
** Experimental Setup
|
||||
One geophone is on the marble, the other at the sample location (see figures [[fig:setup_ty]]).
|
||||
|
||||
The signal from the top geophone goes through the slip-ring.
|
||||
|
||||
#+name: fig:setup_ty
|
||||
#+caption: Experimental Setup
|
||||
#+attr_html: :width 500px
|
||||
[[file:./img/IMG_20190430_112615.jpg]]
|
||||
|
||||
Two measurements are done:
|
||||
| Setup | Data File |
|
||||
@ -53,7 +690,7 @@ Two measurements are done:
|
||||
| Control of Ty is on | =mat/data_001.mat= |
|
||||
| Control of Ty is off | =mat/data_002.mat= |
|
||||
|
||||
For each of the measurements
|
||||
For each of the measurements, the data are:
|
||||
| Variable | Description |
|
||||
|----------+--------------------------------------------------------------------|
|
||||
| =t= | Time Vector |
|
||||
@ -74,7 +711,7 @@ We load the data of the z axis of two geophones.
|
||||
tyOff = load('mat/data_002.mat', 't', 'x1', 'x2');
|
||||
#+end_src
|
||||
|
||||
** Analysis
|
||||
** Analysis - Time Domain
|
||||
#+begin_src matlab :results none
|
||||
dt = tyOn.t(2)-tyOn.t(1);
|
||||
Fs = 1/dt;
|
||||
@ -87,6 +724,7 @@ We load the data of the z axis of two geophones.
|
||||
plot(tyOn.t, tyOn.x2);
|
||||
hold off;
|
||||
legend({'x1 - ON', 'x2 - ON'});
|
||||
xlim([0, 50]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :results none
|
||||
@ -98,6 +736,7 @@ We load the data of the z axis of two geophones.
|
||||
legend({'x1 - OFF', 'x2 - OFF'});
|
||||
#+end_src
|
||||
|
||||
** Analysis - Frequency Domain
|
||||
#+begin_src matlab :results none
|
||||
Fs = 1/dt;
|
||||
win = hanning(ceil(10*Fs));
|
||||
@ -190,110 +829,3 @@ We load the data of the z axis of two geophones.
|
||||
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= |
|
||||
|
@ -25,7 +25,6 @@ Meas009: everything off with signal goes through the slip-ring
|
||||
** From Marble to Ty
|
||||
=meas_010.mat=
|
||||
Everything off, one geophone on the marble, one geophone on the Ty (measure on Z direction)
|
||||
=> Can be used to determine the vertical stiffness between the Granite and the Ty stage
|
||||
|
||||
Channels:
|
||||
| 1 | Ground |
|
||||
@ -35,7 +34,6 @@ Channels:
|
||||
** From Marble to Ry
|
||||
=meas_011.mat=
|
||||
Everything off, one geophone on the marble, one geophone on the Ry (measure on Z direction)
|
||||
=> Can be used to determine the vertical stiffness of the Ry Stage (by taking into account the Ty stiffness)
|
||||
|
||||
Channels:
|
||||
| 1 | Ground |
|
||||
@ -45,7 +43,6 @@ Channels:
|
||||
** From Ty to Ry
|
||||
=meas_012.mat=
|
||||
Everything off, one geophone on the Ty, one geophone on the Ry (measure on Z direction)
|
||||
=> Can be used to determine the vertical stiffness of the Ry stage
|
||||
|
||||
Channels:
|
||||
| 1 | Ty |
|
||||
|
BIN
slip-ring-test/figs/random_signal.pdf
Normal file
BIN
slip-ring-test/figs/random_signal.png
Normal file
After Width: | Height: | Size: 29 KiB |
88
slip-ring-test/figs/random_signal.svg
Normal file
After Width: | Height: | Size: 324 KiB |
7095
slip-ring-test/figs/random_signal.tex
Normal file
BIN
slip-ring-test/figs/slipring_comp_signals.pdf
Normal file
BIN
slip-ring-test/figs/slipring_comp_signals.png
Normal file
After Width: | Height: | Size: 33 KiB |
120
slip-ring-test/figs/slipring_comp_signals.svg
Normal file
After Width: | Height: | Size: 572 KiB |
16859
slip-ring-test/figs/slipring_comp_signals.tex
Normal file
437
slip-ring-test/index.html
Normal file
@ -0,0 +1,437 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2019-05-02 jeu. 10:11 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Effect of the rotation of the Slip-Ring</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Thomas Dehaeze" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
|
||||
<script type="text/javascript" src="../js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
|
||||
<script type="text/javascript" src="../js/readtheorg.js"></script>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1 class="title">Effect of the rotation of the Slip-Ring</h1>
|
||||
<div id="table-of-contents">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org080be51">1. Measurement Description</a></li>
|
||||
<li><a href="#orgd6d4c44">2. Load data</a></li>
|
||||
<li><a href="#org13f8e49">3. Analysis</a></li>
|
||||
<li><a href="#org650786b">4. Conclusion</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org080be51" class="outline-2">
|
||||
<h2 id="org080be51"><span class="section-number-2">1</span> Measurement Description</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Random Signal is generated by one DAC of the SpeedGoat.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The signal going out of the DAC is split into two:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>one BNC cable is directly connected to one ADC of the SpeedGoat</li>
|
||||
<li>one BNC cable goes two times in the Slip-Ring (from bottom to top and then from top to bottom) and then is connected to one ADC of the SpeedGoat</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Two measurements are done.
|
||||
</p>
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Data File</th>
|
||||
<th scope="col" class="org-left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>mat/data_001.mat</code></td>
|
||||
<td class="org-left">Slip-ring not turning</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>mat/data_002.mat</code></td>
|
||||
<td class="org-left">Slip-ring turning</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
For each measurement, the measured signals are:
|
||||
</p>
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Data File</th>
|
||||
<th scope="col" class="org-left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>t</code></td>
|
||||
<td class="org-left">Time vector</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>x1</code></td>
|
||||
<td class="org-left">Direct signal</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>x2</code></td>
|
||||
<td class="org-left">Signal going through the Slip-Ring</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
The goal is to determine is the signal is altered when the spindle is rotating.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here, the rotation speed of the Slip-Ring is set to 1rpm.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd6d4c44" class="outline-2">
|
||||
<h2 id="orgd6d4c44"><span class="section-number-2">2</span> Load data</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
We load the data of the z axis of two geophones.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">sr_off = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_001.mat', 't', 'x1', 'x2'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
sr_on = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_002.mat', 't', 'x1', 'x2'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13f8e49" class="outline-2">
|
||||
<h2 id="org13f8e49"><span class="section-number-2">3</span> Analysis</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Let's first look at the signal produced by the DAC (figure <a href="#org1fa25e6">1</a>).
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||
hold on;
|
||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>sr_on.t, sr_on.x1<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
hold off;
|
||||
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Voltage </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">V</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span> <span class="org-highlight-numbers-number">10</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org1fa25e6" class="figure">
|
||||
<p><img src="figs/random_signal.png" alt="random_signal.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>Random signal produced by the DAC</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
We now look at the difference between the signal directly measured by the ADC and the signal that goes through the slip-ring (figure <a href="#org5daa921">2</a>).
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||
hold on;
|
||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>sr_on.t, sr_on.x1 <span class="org-type">-</span> sr_on.x2, <span class="org-string">'DisplayName', '</span>Slip<span class="org-type">-</span>Ring <span class="org-type">-</span> $<span class="org-type">\</span>omega = <span class="org-highlight-numbers-number">1rpm$</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>sr_off.t, sr_off.x1 <span class="org-type">-</span> sr_off.x2,<span class="org-string">'DisplayName', 'Slip-Ring off'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
hold off;
|
||||
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Voltage </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">V</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span> <span class="org-highlight-numbers-number">10</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org5daa921" class="figure">
|
||||
<p><img src="figs/slipring_comp_signals.png" alt="slipring_comp_signals.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 2: </span>Alteration of the signal when the slip-ring is turning</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org650786b" class="outline-2">
|
||||
<h2 id="org650786b"><span class="section-number-2">4</span> Conclusion</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<b>Remaining questions</b>:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Should the measurement be redone using voltage amplifiers?</li>
|
||||
<li>Use higher rotation speed and measure for longer periods (to have multiple revolutions) ?</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Thomas Dehaeze</p>
|
||||
<p class="date">Created: 2019-05-02 jeu. 10:11</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
108
slip-ring-test/index.org
Normal file
@ -0,0 +1,108 @@
|
||||
#+TITLE:Effect of the rotation of the Slip-Ring
|
||||
: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:
|
||||
|
||||
* Measurement Description
|
||||
Random Signal is generated by one DAC of the SpeedGoat.
|
||||
|
||||
The signal going out of the DAC is split into two:
|
||||
- one BNC cable is directly connected to one ADC of the SpeedGoat
|
||||
- one BNC cable goes two times in the Slip-Ring (from bottom to top and then from top to bottom) and then is connected to one ADC of the SpeedGoat
|
||||
|
||||
Two measurements are done.
|
||||
| Data File | Description |
|
||||
|--------------------+-----------------------|
|
||||
| =mat/data_001.mat= | Slip-ring not turning |
|
||||
| =mat/data_002.mat= | Slip-ring turning |
|
||||
|
||||
For each measurement, the measured signals are:
|
||||
| Data File | Description |
|
||||
|-----------+------------------------------------|
|
||||
| =t= | Time vector |
|
||||
| =x1= | Direct signal |
|
||||
| =x2= | Signal going through the Slip-Ring |
|
||||
|
||||
The goal is to determine is the signal is altered when the spindle is rotating.
|
||||
|
||||
Here, the rotation speed of the Slip-Ring is set to 1rpm.
|
||||
|
||||
* 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
|
||||
sr_off = load('mat/data_001.mat', 't', 'x1', 'x2');
|
||||
sr_on = load('mat/data_002.mat', 't', 'x1', 'x2');
|
||||
#+end_src
|
||||
|
||||
* Analysis
|
||||
Let's first look at the signal produced by the DAC (figure [[fig:random_signal]]).
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(sr_on.t, sr_on.x1);
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||
xlim([0 10]);
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:random_signal
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/random_signal.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:random_signal
|
||||
#+CAPTION: Random signal produced by the DAC
|
||||
#+RESULTS: fig:random_signal
|
||||
[[file:figs/random_signal.png]]
|
||||
|
||||
We now look at the difference between the signal directly measured by the ADC and the signal that goes through the slip-ring (figure [[fig:slipring_comp_signals]]).
|
||||
|
||||
#+begin_src matlab :results none
|
||||
figure;
|
||||
hold on;
|
||||
plot(sr_on.t, sr_on.x1 - sr_on.x2, 'DisplayName', 'Slip-Ring - $\omega = 1rpm$');
|
||||
plot(sr_off.t, sr_off.x1 - sr_off.x2,'DisplayName', 'Slip-Ring off');
|
||||
hold off;
|
||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||
xlim([0 10]);
|
||||
legend('Location', 'northeast');
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:slipring_comp_signals
|
||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/slipring_comp_signals.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:slipring_comp_signals
|
||||
#+CAPTION: Alteration of the signal when the slip-ring is turning
|
||||
#+RESULTS: fig:slipring_comp_signals
|
||||
[[file:figs/slipring_comp_signals.png]]
|
||||
|
||||
* Conclusion
|
||||
|
||||
*Remaining questions*:
|
||||
- Should the measurement be redone using voltage amplifiers?
|
||||
- Use higher rotation speed and measure for longer periods (to have multiple revolutions) ?
|
@ -1,2 +0,0 @@
|
||||
|data_001|slip-ring not turning|
|
||||
|data_002|slip-ring turning|
|