diff --git a/Library/img/IMG_20190430_112613.jpg b/Library/img/IMG_20190430_112613.jpg new file mode 100644 index 0000000..d03a9ae Binary files /dev/null and b/Library/img/IMG_20190430_112613.jpg differ diff --git a/Library/img/IMG_20190430_112615.jpg b/Library/img/IMG_20190430_112615.jpg new file mode 100644 index 0000000..d27b4e9 Binary files /dev/null and b/Library/img/IMG_20190430_112615.jpg differ diff --git a/Library/img/IMG_20190430_112620.jpg b/Library/img/IMG_20190430_112620.jpg new file mode 100644 index 0000000..0e89ff8 Binary files /dev/null and b/Library/img/IMG_20190430_112620.jpg differ diff --git a/Library/img/IMG_20190430_155330.jpg b/Library/img/IMG_20190430_155330.jpg new file mode 100644 index 0000000..dba9b4f Binary files /dev/null and b/Library/img/IMG_20190430_155330.jpg differ diff --git a/Library/img/IMG_20190430_155335.jpg b/Library/img/IMG_20190430_155335.jpg new file mode 100644 index 0000000..63d80b0 Binary files /dev/null and b/Library/img/IMG_20190430_155335.jpg differ diff --git a/Library/img/IMG_20190430_155342.jpg b/Library/img/IMG_20190430_155342.jpg new file mode 100644 index 0000000..d0f084b Binary files /dev/null and b/Library/img/IMG_20190430_155342.jpg differ diff --git a/Library/img/IMG_20190430_163919.jpg b/Library/img/IMG_20190430_163919.jpg new file mode 100644 index 0000000..4dff608 Binary files /dev/null and b/Library/img/IMG_20190430_163919.jpg differ diff --git a/Library/img/IMG_20190430_170405.jpg b/Library/img/IMG_20190430_170405.jpg new file mode 100644 index 0000000..87dbca5 Binary files /dev/null and b/Library/img/IMG_20190430_170405.jpg differ diff --git a/Library/img/IMG_20190430_170418.jpg b/Library/img/IMG_20190430_170418.jpg new file mode 100644 index 0000000..5deb9c5 Binary files /dev/null and b/Library/img/IMG_20190430_170418.jpg differ diff --git a/Library/img/IMG_20190430_170425.jpg b/Library/img/IMG_20190430_170425.jpg new file mode 100644 index 0000000..1ea557a Binary files /dev/null and b/Library/img/IMG_20190430_170425.jpg differ diff --git a/Library/measure_effect_Ty.m b/Library/measure_effect_Ty.m index 2a5b490..be54d05 100644 --- a/Library/measure_effect_Ty.m +++ b/Library/measure_effect_Ty.m @@ -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]'); \ No newline at end of file +save(['mat/data_', num2str(n, '%03d'), '.mat'], 'data'); diff --git a/Library/readme.org b/Library/readme.org index 7cdab23..36fe99f 100644 --- a/Library/readme.org +++ b/Library/readme.org @@ -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 | diff --git a/disturbance-measurement/analysis.m b/disturbance-measurement/analysis.m deleted file mode 100644 index 65a41a7..0000000 --- a/disturbance-measurement/analysis.m +++ /dev/null @@ -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; \ No newline at end of file diff --git a/disturbance-measurement/index.org b/disturbance-measurement/index.org new file mode 100644 index 0000000..5458f62 --- /dev/null +++ b/disturbance-measurement/index.org @@ -0,0 +1,122 @@ +#+TITLE:Measurement of the sample vibrations when rotating the Spindle +:DRAWER: +#+STARTUP: overview + +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: + +#+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 + <> +#+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 diff --git a/disturbance-measurement/readme.org b/disturbance-measurement/readme.org index 4256f63..4043dc8 100644 --- a/disturbance-measurement/readme.org +++ b/disturbance-measurement/readme.org @@ -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| \ No newline at end of file +| Data file | Description | +|--------------+----------------------------| +| data_001.mat | nothing is turning | +| data_002.mat | spindle is turning at 1rpm | diff --git a/huddle-test-geophones/index.org b/huddle-test-geophones/index.org index 5079306..8e29e45 100644 --- a/huddle-test-geophones/index.org +++ b/huddle-test-geophones/index.org @@ -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