nass-micro-station-measurem.../disturbance-control-system/index.html

1117 lines
34 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<?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>
<!-- 2020-04-23 jeu. 15:28 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Effect on the control system of each stages on the vibration of the station</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<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>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Effect on the control system of each stages on the vibration of the station</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org31edd78">1. Effect of all the control systems on the Sample vibrations</a>
<ul>
<li><a href="#org1d47683">1.1. Experimental Setup</a></li>
<li><a href="#orgfcb7154">1.2. Load data</a></li>
<li><a href="#orgbe65805">1.3. Analysis - Time Domain</a></li>
<li><a href="#orgdace4d9">1.4. Analysis - Frequency Domain</a>
<ul>
<li><a href="#orga76176e">1.4.1. Vibrations at the sample location</a></li>
<li><a href="#org8d92602">1.4.2. Vibrations on the marble</a></li>
</ul>
</li>
<li><a href="#org6f49679">1.5. Conclusion</a></li>
</ul>
</li>
<li><a href="#org27d5063">2. Effect of all the control systems on the Sample vibrations - One stage at a time</a>
<ul>
<li><a href="#org5e1d6ca">2.1. Experimental Setup</a></li>
<li><a href="#orgdbc788c">2.2. Load data</a></li>
<li><a href="#orgcaa00c9">2.3. Voltage to Velocity</a></li>
<li><a href="#org6392409">2.4. Analysis - Time Domain</a></li>
<li><a href="#org4e22262">2.5. Analysis - Frequency Domain</a>
<ul>
<li><a href="#org88ffac6">2.5.1. Vibrations at the sample location</a></li>
<li><a href="#org5eddb65">2.5.2. Vibrations on the marble</a></li>
</ul>
</li>
<li><a href="#org60b1ca9">2.6. Conclusion</a></li>
</ul>
</li>
<li><a href="#orgd7c39d5">3. Effect of the Symetrie Driver</a>
<ul>
<li><a href="#org757e668">3.1. Experimental Setup</a></li>
<li><a href="#org92c9e9b">3.2. Load data</a></li>
<li><a href="#orgb405d4d">3.3. Analysis - Time Domain</a></li>
<li><a href="#org486b9fb">3.4. Analysis - Frequency Domain</a>
<ul>
<li><a href="#orgd488281">3.4.1. Vibrations at the sample location</a></li>
</ul>
</li>
<li><a href="#org680fcdb">3.5. Conclusion</a></li>
</ul>
</li>
</ul>
</div>
</div>
<p>
This file is organized as follow:
</p>
<ul class="org-ul">
<li>Section <a href="#orgc00965d">1</a>:
<ul class="org-ul">
<li>One geophone on the marble and one at the sample location</li>
<li>Each stage is turned on one by one</li>
</ul></li>
<li>Section <a href="#org06034f4">2</a>:
<ul class="org-ul">
<li>One geophone on the marble and one at the sample location</li>
<li>Each stage is turned on one at a time</li>
</ul></li>
<li>Section <a href="#org9b94d23">3</a>:
<ul class="org-ul">
<li>We check if the Symetrie driver induces some vibrations when placed on the marble</li>
</ul></li>
</ul>
<div id="outline-container-org31edd78" class="outline-2">
<h2 id="org31edd78"><span class="section-number-2">1</span> Effect of all the control systems on the Sample vibrations</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="orgc00965d"></a>
</p>
<div class="note">
<p>
All the files (data and Matlab scripts) are accessible <a href="data/effect_control_all.zip">here</a>.
</p>
</div>
</div>
<div id="outline-container-org1d47683" class="outline-3">
<h3 id="org1d47683"><span class="section-number-3">1.1</span> Experimental Setup</h3>
<div class="outline-text-3" id="text-1-1">
<p>
We here measure the signals of two L22 geophones:
</p>
<ul class="org-ul">
<li>One is located on top of the Sample platform</li>
<li>One is located on the marble</li>
</ul>
<p>
The signals are amplified with voltage amplifiers with the following settings:
</p>
<ul class="org-ul">
<li>gain of 60dB</li>
<li>AC/DC option set on AC</li>
<li>Low pass filter set at 1kHz</li>
</ul>
<p>
The signal from the top geophone does not go trought the slip-ring.
</p>
<p>
First, all the control systems are turned ON, then, they are turned one by one.
Each measurement are done during 50s.
</p>
<table id="org109e9c5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 1:</span> Summary of the measurements and the states of the control systems</caption>
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Ty</th>
<th scope="col" class="org-left">Ry</th>
<th scope="col" class="org-left">Slip Ring</th>
<th scope="col" class="org-left">Spindle</th>
<th scope="col" class="org-left">Hexapod</th>
<th scope="col" class="org-left">Meas. file</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><code>meas_003.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><code>meas_004.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><code>meas_005.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><code>meas_006.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><code>meas_007.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><code>meas_008.mat</code></td>
</tr>
</tbody>
</table>
<p>
Each of the <code>mat</code> file contains one array <code>data</code> with 3 columns:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-right" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right">Column number</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">1</td>
<td class="org-left">Geophone - Marble</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">Geophone - Sample</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">Time</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orgfcb7154" class="outline-3">
<h3 id="orgfcb7154"><span class="section-number-3">1.2</span> Load data</h3>
<div class="outline-text-3" id="text-1-2">
<p>
We load the data of the z axis of two geophones.
</p>
<div class="org-src-container">
<pre class="src src-matlab">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;
</pre>
</div>
</div>
</div>
<div id="outline-container-orgbe65805" class="outline-3">
<h3 id="orgbe65805"><span class="section-number-3">1.3</span> Analysis - Time Domain</h3>
<div class="outline-text-3" id="text-1-3">
<p>
First, we can look at the time domain data and compare all the measurements:
</p>
<ul class="org-ul">
<li>comparison for the geophone at the sample location (figure <a href="#org1e12b9d">1</a>)</li>
<li>comparison for the geophone on the granite (figure <a href="#orga090daf">2</a>)</li>
</ul>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(d3(:, 3), d3(:, 2), 'DisplayName', 'Hexa, Rz, SR, Ry, Ty');
plot(d4(:, 3), d4(:, 2), 'DisplayName', 'Hexa, Rz, SR, Ry');
plot(d5(:, 3), d5(:, 2), 'DisplayName', 'Hexa, Rz, SR');
plot(d6(:, 3), d6(:, 2), 'DisplayName', 'Hexa, Rz');
plot(d7(:, 3), d7(:, 2), 'DisplayName', 'Hexa');
plot(d8(:, 3), d8(:, 2), 'DisplayName', 'All OFF');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
legend('Location', 'bestoutside');
</pre>
</div>
<div id="org1e12b9d" class="figure">
<p><img src="figs/time_domain_sample.png" alt="time_domain_sample.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Comparison of the time domain data when turning off the control system of the stages - Geophone at the sample location</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(d3(:, 3), d3(:, 1), 'DisplayName', 'Hexa, Rz, SR, Ry, Ty');
plot(d4(:, 3), d4(:, 1), 'DisplayName', 'Hexa, Rz, SR, Ry');
plot(d5(:, 3), d5(:, 1), 'DisplayName', 'Hexa, Rz, SR');
plot(d6(:, 3), d6(:, 1), 'DisplayName', 'Hexa, Rz');
plot(d7(:, 3), d7(:, 1), 'DisplayName', 'Hexa');
plot(d8(:, 3), d8(:, 1), 'DisplayName', 'All OFF');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
legend('Location', 'bestoutside');
</pre>
</div>
<div id="orga090daf" class="figure">
<p><img src="figs/time_domain_marble.png" alt="time_domain_marble.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Comparison of the time domain data when turning off the control system of the stages - Geophone on the marble</p>
</div>
</div>
</div>
<div id="outline-container-orgdace4d9" class="outline-3">
<h3 id="orgdace4d9"><span class="section-number-3">1.4</span> Analysis - Frequency Domain</h3>
<div class="outline-text-3" id="text-1-4">
<div class="org-src-container">
<pre class="src src-matlab">dt = d3(2, 3) - d3(1, 3);
Fs = 1/dt;
win = hanning(ceil(10*Fs));
</pre>
</div>
</div>
<div id="outline-container-orga76176e" class="outline-4">
<h4 id="orga76176e"><span class="section-number-4">1.4.1</span> Vibrations at the sample location</h4>
<div class="outline-text-4" id="text-1-4-1">
<p>
First, we compute the Power Spectral Density of the signals coming from the Geophone located at the sample location.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[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);
</pre>
</div>
<p>
And we compare all the signals (figures <a href="#orgc7cf107">3</a> and <a href="#org2cc793f">4</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(f, sqrt(px3), 'DisplayName', 'Hexa, Rz, SR, Ry, Ty');
plot(f, sqrt(px4), 'DisplayName', 'Hexa, Rz, SR, Ry');
plot(f, sqrt(px5), 'DisplayName', 'Hexa, Rz, SR');
plot(f, sqrt(px6), 'DisplayName', 'Hexa, Rz');
plot(f, sqrt(px7), 'DisplayName', 'Hexa');
plot(f, sqrt(px8), 'DisplayName', 'All OFF');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'southwest');
</pre>
</div>
<div id="orgc7cf107" class="figure">
<p><img src="figs/psd_sample_comp.png" alt="psd_sample_comp.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Amplitude Spectral Density of the signal coming from the top geophone</p>
</div>
<div id="org2cc793f" class="figure">
<p><img src="figs/psd_sample_comp_high_freq.png" alt="psd_sample_comp_high_freq.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies)</p>
</div>
</div>
</div>
<div id="outline-container-org8d92602" class="outline-4">
<h4 id="org8d92602"><span class="section-number-4">1.4.2</span> Vibrations on the marble</h4>
<div class="outline-text-4" id="text-1-4-2">
<p>
Now we plot the same curves for the geophone located on the marble.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[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);
</pre>
</div>
<p>
And we compare the Amplitude Spectral Densities (figures <a href="#org60f624e">5</a> and <a href="#org9480bcc">6</a>)
</p>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(f, sqrt(px3), 'DisplayName', 'Hexa, Rz, SR, Ry, Ty');
plot(f, sqrt(px4), 'DisplayName', 'Hexa, Rz, SR, Ry');
plot(f, sqrt(px5), 'DisplayName', 'Hexa, Rz, SR');
plot(f, sqrt(px6), 'DisplayName', 'Hexa, Rz');
plot(f, sqrt(px7), 'DisplayName', 'Hexa');
plot(f, sqrt(px8), 'DisplayName', 'All OFF');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'northeast');
</pre>
</div>
<div id="org60f624e" class="figure">
<p><img src="figs/psd_marble_comp.png" alt="psd_marble_comp.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Amplitude Spectral Density of the signal coming from the top geophone</p>
</div>
<div id="org9480bcc" class="figure">
<p><img src="figs/psd_marble_comp_high_freq.png" alt="psd_marble_comp_high_freq.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies)</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org6f49679" class="outline-3">
<h3 id="org6f49679"><span class="section-number-3">1.5</span> Conclusion</h3>
<div class="outline-text-3" id="text-1-5">
<div class="important">
<ul class="org-ul">
<li>The control system of the Ty stage induces a lot of vibrations of the marble above 100Hz</li>
<li>The hexapod control system add vibrations of the sample only above 200Hz</li>
<li>When the Slip-Ring is ON, white noise appears at high frequencies. This is studied <a href="../slip-ring-electrical-noise/index.html">here</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="outline-container-org27d5063" class="outline-2">
<h2 id="org27d5063"><span class="section-number-2">2</span> Effect of all the control systems on the Sample vibrations - One stage at a time</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="org06034f4"></a>
</p>
<div class="note">
<p>
All the files (data and Matlab scripts) are accessible <a href="data/effect_control_one.zip">here</a>.
</p>
</div>
</div>
<div id="outline-container-org5e1d6ca" class="outline-3">
<h3 id="org5e1d6ca"><span class="section-number-3">2.1</span> Experimental Setup</h3>
<div class="outline-text-3" id="text-2-1">
<p>
We here measure the signals of two geophones:
</p>
<ul class="org-ul">
<li>One is located on top of the Sample platform</li>
<li>One is located on the marble</li>
</ul>
<p>
The signal from the top geophone does go trought the slip-ring.
</p>
<p>
All the control systems are turned OFF, then, they are turned on one at a time.
</p>
<p>
Each measurement are done during 100s.
</p>
<p>
The settings of the voltage amplifier are shown on figure <a href="#org8b2d864">7</a>:
</p>
<ul class="org-ul">
<li>gain of 60dB</li>
<li>AC/DC option set on DC</li>
<li>Low pass filter set at 1kHz</li>
</ul>
<p>
A first order low pass filter with a cut-off frequency of 1kHz is added before the voltage amplifier.
</p>
<table id="org71b8a99" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 2:</span> Summary of the measurements and the states of the control systems</caption>
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Ty</th>
<th scope="col" class="org-left">Ry</th>
<th scope="col" class="org-left">Slip Ring</th>
<th scope="col" class="org-left">Spindle</th>
<th scope="col" class="org-left">Hexapod</th>
<th scope="col" class="org-left">Meas. file</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><code>meas_013.mat</code></td>
</tr>
<tr>
<td class="org-left"><b>ON</b></td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><code>meas_014.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><code>meas_015.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><code>meas_016.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left">OFF</td>
<td class="org-left"><code>meas_017.mat</code></td>
</tr>
<tr>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><code>meas_018.mat</code></td>
</tr>
</tbody>
</table>
<p>
Each of the <code>mat</code> file contains one array <code>data</code> with 3 columns:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-right" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right">Column number</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">1</td>
<td class="org-left">Geophone - Marble</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">Geophone - Sample</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">Time</td>
</tr>
</tbody>
</table>
<div id="org8b2d864" class="figure">
<p><img src="./img/IMG_20190507_101459.jpg" alt="IMG_20190507_101459.jpg" width="500px" />
</p>
<p><span class="figure-number">Figure 7: </span>Voltage amplifier settings for the measurement</p>
</div>
</div>
</div>
<div id="outline-container-orgdbc788c" class="outline-3">
<h3 id="orgdbc788c"><span class="section-number-3">2.2</span> Load data</h3>
<div class="outline-text-3" id="text-2-2">
<p>
We load the data of the z axis of two geophones.
</p>
<div class="org-src-container">
<pre class="src src-matlab">d_of = load('mat/data_013.mat', 'data'); d_of = d_of.data;
d_ty = load('mat/data_014.mat', 'data'); d_ty = d_ty.data;
d_ry = load('mat/data_015.mat', 'data'); d_ry = d_ry.data;
d_sr = load('mat/data_016.mat', 'data'); d_sr = d_sr.data;
d_rz = load('mat/data_017.mat', 'data'); d_rz = d_rz.data;
d_he = load('mat/data_018.mat', 'data'); d_he = d_he.data;
</pre>
</div>
</div>
</div>
<div id="outline-container-orgcaa00c9" class="outline-3">
<h3 id="orgcaa00c9"><span class="section-number-3">2.3</span> Voltage to Velocity</h3>
<div class="outline-text-3" id="text-2-3">
<p>
We convert the measured voltage to velocity using the function <code>voltageToVelocityL22</code> (accessible <a href="file:///home/thomas/Cloud/thesis/meas/srcindex.html">here</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">gain = 60; % [dB]
d_of(:, 1) = voltageToVelocityL22(d_of(:, 1), d_of(:, 3), gain);
d_ty(:, 1) = voltageToVelocityL22(d_ty(:, 1), d_ty(:, 3), gain);
d_ry(:, 1) = voltageToVelocityL22(d_ry(:, 1), d_ry(:, 3), gain);
d_sr(:, 1) = voltageToVelocityL22(d_sr(:, 1), d_sr(:, 3), gain);
d_rz(:, 1) = voltageToVelocityL22(d_rz(:, 1), d_rz(:, 3), gain);
d_he(:, 1) = voltageToVelocityL22(d_he(:, 1), d_he(:, 3), gain);
d_of(:, 2) = voltageToVelocityL22(d_of(:, 2), d_of(:, 3), gain);
d_ty(:, 2) = voltageToVelocityL22(d_ty(:, 2), d_ty(:, 3), gain);
d_ry(:, 2) = voltageToVelocityL22(d_ry(:, 2), d_ry(:, 3), gain);
d_sr(:, 2) = voltageToVelocityL22(d_sr(:, 2), d_sr(:, 3), gain);
d_rz(:, 2) = voltageToVelocityL22(d_rz(:, 2), d_rz(:, 3), gain);
d_he(:, 2) = voltageToVelocityL22(d_he(:, 2), d_he(:, 3), gain);
</pre>
</div>
</div>
</div>
<div id="outline-container-org6392409" class="outline-3">
<h3 id="org6392409"><span class="section-number-3">2.4</span> Analysis - Time Domain</h3>
<div class="outline-text-3" id="text-2-4">
<p>
First, we can look at the time domain data and compare all the measurements:
</p>
<ul class="org-ul">
<li>comparison for the geophone at the sample location (figure <a href="#org6b5b92c">8</a>)</li>
<li>comparison for the geophone on the granite (figure <a href="#org90b0f48">9</a>)</li>
<li>relative displacement of the sample with respect to the marble (figure <a href="#org90b0f48">9</a>)</li>
</ul>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(d_of(:, 3), d_of(:, 2), 'DisplayName', 'All OFF');
plot(d_ty(:, 3), d_ty(:, 2), 'DisplayName', 'Ty ON');
plot(d_ry(:, 3), d_ry(:, 2), 'DisplayName', 'Ry ON');
plot(d_sr(:, 3), d_sr(:, 2), 'DisplayName', 'S-R ON');
plot(d_rz(:, 3), d_rz(:, 2), 'DisplayName', 'Rz ON');
plot(d_he(:, 3), d_he(:, 2), 'DisplayName', 'Hexa ON');
hold off;
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 50]);
legend('Location', 'bestoutside');
</pre>
</div>
<div id="org6b5b92c" class="figure">
<p><img src="figs/time_domain_sample_lpf.png" alt="time_domain_sample_lpf.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Comparison of the time domain data when turning off the control system of the stages - Geophone at the sample location</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(d_of(:, 3), d_of(:, 1), 'DisplayName', 'All OFF');
plot(d_ty(:, 3), d_ty(:, 1), 'DisplayName', 'Ty ON');
plot(d_ry(:, 3), d_ry(:, 1), 'DisplayName', 'Ry ON');
plot(d_sr(:, 3), d_sr(:, 1), 'DisplayName', 'S-R ON');
plot(d_rz(:, 3), d_rz(:, 1), 'DisplayName', 'Rz ON');
plot(d_he(:, 3), d_he(:, 1), 'DisplayName', 'Hexa ON');
hold off;
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 50]);
legend('Location', 'bestoutside');
</pre>
</div>
<div id="org90b0f48" class="figure">
<p><img src="figs/time_domain_marble_lpf.png" alt="time_domain_marble_lpf.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Comparison of the time domain data when turning off the control system of the stages - Geophone on the marble</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(d_of(:, 3), 1e6*lsim(1/(1+s/(2*pi*0.5)), d_of(:, 2)-d_of(:, 1), d_of(:, 3)), 'DisplayName', 'All OFF');
plot(d_ty(:, 3), 1e6*lsim(1/(1+s/(2*pi*0.5)), d_ty(:, 2)-d_ty(:, 1), d_ty(:, 3)), 'DisplayName', 'Ty ON');
plot(d_ry(:, 3), 1e6*lsim(1/(1+s/(2*pi*0.5)), d_ry(:, 2)-d_ry(:, 1), d_ry(:, 3)), 'DisplayName', 'Ry ON');
plot(d_sr(:, 3), 1e6*lsim(1/(1+s/(2*pi*0.5)), d_sr(:, 2)-d_sr(:, 1), d_sr(:, 3)), 'DisplayName', 'S-R ON');
plot(d_rz(:, 3), 1e6*lsim(1/(1+s/(2*pi*0.5)), d_rz(:, 2)-d_rz(:, 1), d_rz(:, 3)), 'DisplayName', 'Rz ON');
plot(d_he(:, 3), 1e6*lsim(1/(1+s/(2*pi*0.5)), d_he(:, 2)-d_he(:, 1), d_he(:, 3)), 'DisplayName', 'Hexa ON');
hold off;
xlabel('Time [s]'); ylabel('Relative Displacement [$\mu m$]');
xlim([0, 50]);
legend('Location', 'bestoutside');
</pre>
</div>
<div id="org5d1a458" class="figure">
<p><img src="figs/time_domain_relative_disp.png" alt="time_domain_relative_disp.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Relative displacement of the sample with respect to the marble</p>
</div>
</div>
</div>
<div id="outline-container-org4e22262" class="outline-3">
<h3 id="org4e22262"><span class="section-number-3">2.5</span> Analysis - Frequency Domain</h3>
<div class="outline-text-3" id="text-2-5">
<div class="org-src-container">
<pre class="src src-matlab">dt = d_of(2, 3) - d_of(1, 3);
Fs = 1/dt;
win = hanning(ceil(10*Fs));
</pre>
</div>
</div>
<div id="outline-container-org88ffac6" class="outline-4">
<h4 id="org88ffac6"><span class="section-number-4">2.5.1</span> Vibrations at the sample location</h4>
<div class="outline-text-4" id="text-2-5-1">
<p>
First, we compute the Power Spectral Density of the signals coming from the Geophone located at the sample location.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[px_of, f] = pwelch(d_of(:, 2), win, [], [], Fs);
[px_ty, ~] = pwelch(d_ty(:, 2), win, [], [], Fs);
[px_ry, ~] = pwelch(d_ry(:, 2), win, [], [], Fs);
[px_sr, ~] = pwelch(d_sr(:, 2), win, [], [], Fs);
[px_rz, ~] = pwelch(d_rz(:, 2), win, [], [], Fs);
[px_he, ~] = pwelch(d_he(:, 2), win, [], [], Fs);
</pre>
</div>
<p>
And we compare all the signals (figures <a href="#org184f693">11</a> and <a href="#orgc76db7e">12</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(f, sqrt(px_of), 'DisplayName', 'All OFF');
plot(f, sqrt(px_ty), 'DisplayName', 'Ty ON');
plot(f, sqrt(px_ry), 'DisplayName', 'Ry ON');
plot(f, sqrt(px_sr), 'DisplayName', 'S-R ON');
plot(f, sqrt(px_rz), 'DisplayName', 'Rz ON');
plot(f, sqrt(px_he), 'DisplayName', 'Hexa ON');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'southwest');
</pre>
</div>
<div id="org184f693" class="figure">
<p><img src="figs/psd_sample_comp_lpf.png" alt="psd_sample_comp_lpf.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Amplitude Spectral Density of the sample velocity</p>
</div>
<div id="orgc76db7e" class="figure">
<p><img src="figs/psd_sample_comp_high_freq_lpf.png" alt="psd_sample_comp_high_freq_lpf.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Amplitude Spectral Density of the sample velocity (zoom at high frequencies)</p>
</div>
</div>
</div>
<div id="outline-container-org5eddb65" class="outline-4">
<h4 id="org5eddb65"><span class="section-number-4">2.5.2</span> Vibrations on the marble</h4>
<div class="outline-text-4" id="text-2-5-2">
<p>
Now we plot the same curves for the geophone located on the marble.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[px_of, f] = pwelch(d_of(:, 1), win, [], [], Fs);
[px_ty, ~] = pwelch(d_ty(:, 1), win, [], [], Fs);
[px_ry, ~] = pwelch(d_ry(:, 1), win, [], [], Fs);
[px_sr, ~] = pwelch(d_sr(:, 1), win, [], [], Fs);
[px_rz, ~] = pwelch(d_rz(:, 1), win, [], [], Fs);
[px_he, ~] = pwelch(d_he(:, 1), win, [], [], Fs);
</pre>
</div>
<p>
And we compare the Amplitude Spectral Densities (figures <a href="#org8c00376">13</a> and <a href="#org1008de7">14</a>)
</p>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(f, sqrt(px_of), 'DisplayName', 'All OFF');
plot(f, sqrt(px_ty), 'DisplayName', 'Ty ON');
plot(f, sqrt(px_ry), 'DisplayName', 'Ry ON');
plot(f, sqrt(px_sr), 'DisplayName', 'S-R ON');
plot(f, sqrt(px_rz), 'DisplayName', 'Rz ON');
plot(f, sqrt(px_he), 'DisplayName', 'Hexa ON');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'northeast');
</pre>
</div>
<div id="org8c00376" class="figure">
<p><img src="figs/psd_marble_comp_lpf.png" alt="psd_marble_comp_lpf.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Amplitude Spectral Density of the marble velocity</p>
</div>
<div id="org1008de7" class="figure">
<p><img src="figs/psd_marble_lpf_high_freq.png" alt="psd_marble_lpf_high_freq.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Amplitude Spectral Density of the marble velocity (zoom at high frequencies)</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org60b1ca9" class="outline-3">
<h3 id="org60b1ca9"><span class="section-number-3">2.6</span> Conclusion</h3>
<div class="outline-text-3" id="text-2-6">
<div class="important">
<ul class="org-ul">
<li>The Ty stage induces vibrations of the marble and at the sample location above 100Hz</li>
<li>The hexapod stage induces vibrations at the sample position above 220Hz</li>
</ul>
</div>
</div>
</div>
</div>
<div id="outline-container-orgd7c39d5" class="outline-2">
<h2 id="orgd7c39d5"><span class="section-number-2">3</span> Effect of the Symetrie Driver</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org9b94d23"></a>
</p>
<div class="note">
<p>
All the files (data and Matlab scripts) are accessible <a href="data/effect_symetrie_driver.zip">here</a>.
</p>
</div>
</div>
<div id="outline-container-org757e668" class="outline-3">
<h3 id="org757e668"><span class="section-number-3">3.1</span> Experimental Setup</h3>
<div class="outline-text-3" id="text-3-1">
<p>
We here measure the signals of two geophones:
</p>
<ul class="org-ul">
<li>One is located on top of the Sample platform</li>
<li>One is located on the marble</li>
</ul>
<p>
The signal from the top geophone does go trought the slip-ring.
</p>
<p>
All the control systems are turned OFF except the Hexapod one.
</p>
<p>
Each measurement are done during 100s.
</p>
<p>
The settings of the voltage amplifier are:
</p>
<ul class="org-ul">
<li>gain of 60dB</li>
<li>AC/DC option set on DC</li>
<li>Low pass filter set at 1kHz</li>
</ul>
<p>
A first order low pass filter with a cut-off frequency of 1kHz is added before the voltage amplifier.
</p>
<p>
The measurements are:
</p>
<ul class="org-ul">
<li><code>meas_018.mat</code>: Hexapod&rsquo;s driver on the granite</li>
<li><code>meas_019.mat</code>: Hexapod&rsquo;s driver on the ground</li>
</ul>
<p>
Each of the <code>mat</code> file contains one array <code>data</code> with 3 columns:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-right" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right">Column number</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">1</td>
<td class="org-left">Geophone - Marble</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">Geophone - Sample</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">Time</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org92c9e9b" class="outline-3">
<h3 id="org92c9e9b"><span class="section-number-3">3.2</span> Load data</h3>
<div class="outline-text-3" id="text-3-2">
<p>
We load the data of the z axis of two geophones.
</p>
<div class="org-src-container">
<pre class="src src-matlab">d_18 = load('mat/data_018.mat', 'data'); d_18 = d_18.data;
d_19 = load('mat/data_019.mat', 'data'); d_19 = d_19.data;
</pre>
</div>
</div>
</div>
<div id="outline-container-orgb405d4d" class="outline-3">
<h3 id="orgb405d4d"><span class="section-number-3">3.3</span> Analysis - Time Domain</h3>
<div class="outline-text-3" id="text-3-3">
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(d_19(:, 3), d_19(:, 1), 'DisplayName', 'Driver - Ground');
plot(d_18(:, 3), d_18(:, 1), 'DisplayName', 'Driver - Granite');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
legend('Location', 'bestoutside');
</pre>
</div>
<div id="org33aab52" class="figure">
<p><img src="figs/time_domain_hexa_driver.png" alt="time_domain_hexa_driver.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Comparison of the time domain data when turning off the control system of the stages - Geophone at the sample location</p>
</div>
</div>
</div>
<div id="outline-container-org486b9fb" class="outline-3">
<h3 id="org486b9fb"><span class="section-number-3">3.4</span> Analysis - Frequency Domain</h3>
<div class="outline-text-3" id="text-3-4">
<div class="org-src-container">
<pre class="src src-matlab">dt = d_18(2, 3) - d_18(1, 3);
Fs = 1/dt;
win = hanning(ceil(10*Fs));
</pre>
</div>
</div>
<div id="outline-container-orgd488281" class="outline-4">
<h4 id="orgd488281"><span class="section-number-4">3.4.1</span> Vibrations at the sample location</h4>
<div class="outline-text-4" id="text-3-4-1">
<p>
First, we compute the Power Spectral Density of the signals coming from the Geophone located at the sample location.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[px_18, f] = pwelch(d_18(:, 1), win, [], [], Fs);
[px_19, ~] = pwelch(d_19(:, 1), win, [], [], Fs);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">figure;
hold on;
plot(f, sqrt(px_19), 'DisplayName', 'Driver - Ground');
plot(f, sqrt(px_18), 'DisplayName', 'Driver - Granite');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'southwest');
</pre>
</div>
<div id="org23ad3aa" class="figure">
<p><img src="figs/psd_hexa_driver.png" alt="psd_hexa_driver.png" />
</p>
<p><span class="figure-number">Figure 16: </span>Amplitude Spectral Density of the signal coming from the top geophone</p>
</div>
<div id="org0b027ce" class="figure">
<p><img src="figs/psd_hexa_driver_high_freq.png" alt="psd_hexa_driver_high_freq.png" />
</p>
<p><span class="figure-number">Figure 17: </span>Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies)</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org680fcdb" class="outline-3">
<h3 id="org680fcdb"><span class="section-number-3">3.5</span> Conclusion</h3>
<div class="outline-text-3" id="text-3-5">
<div class="important">
<p>
Even tough the Hexapod&rsquo;s driver vibrates quite a lot, it does not generate significant vibrations of the granite when either placed on the granite or on the ground.
</p>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-04-23 jeu. 15:28</p>
</div>
</body>
</html>