Add images

This commit is contained in:
Thomas Dehaeze 2019-05-02 08:45:08 +02:00
parent 7f5e32dff2
commit c43d05324d
16 changed files with 168 additions and 52 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@ -40,17 +40,13 @@ data = SimulinkRealTime.utils.getFileScopeData('data/data_001.dat').data;
%%
n = 012;
if isfile(['mat/data_', num2str(n, '%03d'), '.mat'])
while isfile(['mat/data_', num2str(n, '%03d'), '.mat'])
disp('File exists.');
else
save(['mat/data_', num2str(n, '%03d'), '.mat'], 'data');
if input(['Are you sure you want to override the file ', 'mat/data_', ...
num2str(n, '%03d'), '.mat', ' ? [Y/n]']) == 'Y'
break;
end
n = input('What should be the measurement number?');
end
%%
% figure;
% hold on;
% plot(t, x1);
% plot(t, x2);
% hold off
% xlabel('Time [s]');
% ylabel('Voltage [V]');
save(['mat/data_', num2str(n, '%03d'), '.mat'], 'data');

View File

@ -1,8 +1,7 @@
Contains usefull scripts and simulink files for the SpeedGoat.
Signal of top hexapod goes through Slip-Ring
#+TITLE: List of measurements
* Effect of control of each stage
| Ty on | data_001 |
| Ty off | data_002 |
@ -10,35 +9,44 @@ One geophone is on the marble, the other at the sample location.
The signal from the top geophone goes through the slip-ring
* Measurement when signal from top geophone does not go trought the slip-ring
| Ty | Ry | Slip Ring | Spindle | Hexapod | Meas. |
| X | X | X | X | X | 003 |
| | X | X | X | X | 004 |
| | | X | X | X | 005 |
| | | | X | X | 006 |
| | | | | X | 007 |
| | | | | | 008 |
| 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= |
Meas009: everything off with signal goes through the slip-ring
* Measurement from one stage to the other
** Meas010
Meas010: everything off, one geophone on the marble, one geophone on the Ty (measure on Z direction)
** 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
| 1 | |
| 2 | |
| 3 | Time |
** Meas011
Meas011: 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 | |
| 2 | |
| 3 | Time |
| 1 | Ground |
| 2 | Ty |
| 3 | Time |
** Meas012
Meas012: everything off, one geophone on the Ty, one geophone on the Ry (measure on Z direction)
** 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 |
| 2 | Ry |
| 3 | Time |
** 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 |
| 2 | Ry |

View File

@ -1,14 +0,0 @@
data1 = load('mat/data_001.mat', 't', 'x1', 'x2');
data2 = load('mat/data_002.mat', 't', 'x1', 'x2');
figure;
hold on;
plot(data1.t, data1.x1);
plot(data2.t, data2.x1);
hold off;
figure;
hold on;
plot(data1.t, data1.x2);
plot(data2.t, data2.x2);
hold off;

View File

@ -0,0 +1,122 @@
#+TITLE:Measurement of the sample vibrations when rotating the Spindle
: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:
* Signal Processing
** Matlab Init :noexport:ignore:
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
** Load Data
Measurement =data_001.mat= corresponds to a measurement where the spindle is not turning and =data_002.mat= where the spindle is turning at 1rpm.
=x1= is the signal coming from the geophone located on the marble and =x2= is the signal from the geophone located on the sample station.
#+begin_src matlab :results none
data1 = load('mat/data_001.mat', 't', 'x1', 'x2');
data2 = load('mat/data_002.mat', 't', 'x1', 'x2');
#+end_src
** Pre-processing
#+begin_src matlab :results none
imax = min([length(data1.t), length(data2.t)]);
data1.t = data1.t(1:imax);
data1.x1 = data1.x1(1:imax);
data1.x2 = data1.x2(1:imax);
data2.t = data2.t(1:imax);
data2.x1 = data2.x1(1:imax);
data2.x2 = data2.x2(1:imax);
#+end_src
** Time domain Data
#+begin_src matlab :results none
figure;
hold on;
plot(data1.t, data1.x1);
plot(data2.t, data2.x1);
hold off;
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(data1.t, data1.x2);
plot(data2.t, data2.x2)
hold off;
#+end_src
** ASD and Frequency domain data
#+begin_src matlab :results none
dt = data1.t(2) - data1.t(1);
Fs = 1/dt;
windows_psd = hanning(ceil(10/dt));
#+end_src
#+begin_src matlab :results none
[pxx1m, f] = pwelch(data1.x1, windows_psd, [], [], Fs);
[pxx1h, ~] = pwelch(data1.x2, windows_psd, [], [], Fs);
[pxx2m, ~] = pwelch(data2.x1, windows_psd, [], [], Fs);
[pxx2h, ~] = pwelch(data2.x2, windows_psd, [], [], Fs);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxx1m));
plot(f, sqrt(pxx2m));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxx1h));
plot(f, sqrt(pxx2h));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxx2m));
plot(f, sqrt(pxx2h));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, cumtrapz(f, pxx1m))
plot(f, cumtrapz(f, pxx2m))
set(gca, 'XScale', 'log');
xlabel('Frequency [Hz]'); ylabel('CAS [m]')
#+end_src

View File

@ -1,8 +1,12 @@
#+TITLE:Measurement of the sample vibrations when rotating the Spindle
Measurement:
- one geophone on the marble
- one geophone at the sample position
Every stage is powered on.
|data_001.mat|nothing is turning|
|data_002.mat|spindle is turning at 1rpm|
| Data file | Description |
|--------------+----------------------------|
| data_001.mat | nothing is turning |
| data_002.mat | spindle is turning at 1rpm |

View File

@ -1,4 +1,4 @@
#+TITLE:SpeedGoat
#+TITLE:Huddle Test of the L22 Geophones
:DRAWER:
#+STARTUP: overview
@ -303,7 +303,7 @@ Each sensor has noise $N$ and $M$.
[[file:figs/huddle-test.png]]
We here assume that each sensor has the same magnitude of instrumental noise ($N = M$).
We also assume that $H_1 = H_2 = 1$.
We also assume that $S_1 = S_2 = 1$.
We then obtain:
#+NAME: eq:coh_bis