Add images
BIN
Library/img/IMG_20190430_112613.jpg
Normal file
After Width: | Height: | Size: 4.4 MiB |
BIN
Library/img/IMG_20190430_112615.jpg
Normal file
After Width: | Height: | Size: 3.5 MiB |
BIN
Library/img/IMG_20190430_112620.jpg
Normal file
After Width: | Height: | Size: 4.2 MiB |
BIN
Library/img/IMG_20190430_155330.jpg
Normal file
After Width: | Height: | Size: 3.8 MiB |
BIN
Library/img/IMG_20190430_155335.jpg
Normal file
After Width: | Height: | Size: 3.3 MiB |
BIN
Library/img/IMG_20190430_155342.jpg
Normal file
After Width: | Height: | Size: 4.2 MiB |
BIN
Library/img/IMG_20190430_163919.jpg
Normal file
After Width: | Height: | Size: 3.9 MiB |
BIN
Library/img/IMG_20190430_170405.jpg
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
Library/img/IMG_20190430_170418.jpg
Normal file
After Width: | Height: | Size: 3.4 MiB |
BIN
Library/img/IMG_20190430_170425.jpg
Normal file
After Width: | Height: | Size: 3.3 MiB |
@ -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');
|
||||
|
@ -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 |
|
||||
|
@ -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;
|
122
disturbance-measurement/index.org
Normal 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
|
@ -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 |
|
||||
|
@ -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
|
||||
|