2020-10-23 23:05:34 +02:00
|
|
|
<?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-11-10 11:16:16 +01:00
|
|
|
<!-- 2020-11-10 mar. 10:42 -->
|
2020-10-23 23:05:34 +02:00
|
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
|
|
|
<title>Encoder - Test Bench</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"/>
|
2020-11-10 11:16:16 +01:00
|
|
|
<link rel="stylesheet" type="text/css" href="./css/custom.css"/>
|
2020-10-23 23:05:34 +02:00
|
|
|
<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/readtheorg.js"></script>
|
|
|
|
</head>
|
|
|
|
<body>
|
2020-10-29 10:08:22 +01:00
|
|
|
<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">
|
2020-10-23 23:05:34 +02:00
|
|
|
<h1 class="title">Encoder - Test Bench</h1>
|
|
|
|
<div id="table-of-contents">
|
|
|
|
<h2>Table of Contents</h2>
|
|
|
|
<div id="text-table-of-contents">
|
|
|
|
<ul>
|
2020-11-10 11:16:16 +01:00
|
|
|
<li><a href="#org8cea100">1. Experimental Setup</a></li>
|
|
|
|
<li><a href="#orgd6a888d">2. Noise Spectral Density of the Encoder</a>
|
2020-10-23 23:05:34 +02:00
|
|
|
<ul>
|
2020-11-10 11:16:16 +01:00
|
|
|
<li><a href="#org9e03e60">2.1. Load Data</a></li>
|
|
|
|
<li><a href="#orgb74e6ae">2.2. Time Domain Results</a></li>
|
|
|
|
<li><a href="#org9257580">2.3. Frequency Domain Noise</a></li>
|
2020-10-23 23:05:34 +02:00
|
|
|
</ul>
|
|
|
|
</li>
|
2020-11-10 11:16:16 +01:00
|
|
|
<li><a href="#org09de461">3. Dynamics from Actuator to Encoder</a>
|
2020-10-23 23:05:34 +02:00
|
|
|
<ul>
|
2020-11-10 11:16:16 +01:00
|
|
|
<li><a href="#orgff48429">3.1. Load Data</a></li>
|
|
|
|
<li><a href="#org43af2dd">3.2. Identification</a></li>
|
2020-10-23 23:05:34 +02:00
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<p>
|
|
|
|
In this document, we wish to study the use of an encoder in parallel with an Amplified Piezoelectric Actuator.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
The document is divided into the following Sections:
|
|
|
|
</p>
|
|
|
|
<ul class="org-ul">
|
|
|
|
<li>Section <a href="#org6bad4bb">1</a>: the test-bench used is described</li>
|
|
|
|
<li>Section <a href="#org4c3ff10">2</a>: the noise spectral density of the encoder is estimated</li>
|
|
|
|
<li>Section <a href="#org5214466">3</a>: the dynamics from the amplified piezoelectric actuator to the encoder measured displacement is identified</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<div id="outline-container-org8cea100" class="outline-2">
|
|
|
|
<h2 id="org8cea100"><span class="section-number-2">1</span> Experimental Setup</h2>
|
2020-10-23 23:05:34 +02:00
|
|
|
<div class="outline-text-2" id="text-1">
|
|
|
|
<p>
|
2020-11-10 11:16:16 +01:00
|
|
|
<a id="org6bad4bb"></a>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
The experimental Setup is schematically represented in Figure <a href="#org34db538">1</a>.
|
2020-10-25 09:06:14 +01:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
The mass can be vertically moved using the amplified piezoelectric actuator.
|
2020-11-10 11:16:16 +01:00
|
|
|
The displacement of the mass (relative to the mechanical frame) is measured both by the interferometer and by an encoder.
|
2020-10-23 23:05:34 +02:00
|
|
|
</p>
|
|
|
|
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="org34db538" class="figure">
|
2020-10-23 23:05:34 +02:00
|
|
|
<p><img src="figs/exp_setup_schematic.png" alt="exp_setup_schematic.png" />
|
|
|
|
</p>
|
|
|
|
<p><span class="figure-number">Figure 1: </span>Schematic of the Experiment</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="org4486dea" class="figure">
|
2020-10-23 23:05:34 +02:00
|
|
|
<p><img src="figs/IMG_20201023_153905.jpg" alt="IMG_20201023_153905.jpg" />
|
|
|
|
</p>
|
|
|
|
<p><span class="figure-number">Figure 2: </span>Side View of the encoder</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="org8d81753" class="figure">
|
2020-10-23 23:05:34 +02:00
|
|
|
<p><img src="figs/IMG_20201023_153914.jpg" alt="IMG_20201023_153914.jpg" />
|
|
|
|
</p>
|
|
|
|
<p><span class="figure-number">Figure 3: </span>Front View of the encoder</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="outline-container-orgd6a888d" class="outline-2">
|
|
|
|
<h2 id="orgd6a888d"><span class="section-number-2">2</span> Noise Spectral Density of the Encoder</h2>
|
2020-10-23 23:05:34 +02:00
|
|
|
<div class="outline-text-2" id="text-2">
|
|
|
|
<p>
|
2020-11-10 11:16:16 +01:00
|
|
|
<a id="org4c3ff10"></a>
|
|
|
|
</p>
|
|
|
|
<p>
|
2020-10-23 23:05:34 +02:00
|
|
|
The goal in this section is the estimate the noise of both the encoder and the intereferometer.
|
|
|
|
</p>
|
2020-10-25 09:06:14 +01:00
|
|
|
|
|
|
|
<p>
|
|
|
|
Nothing is then to the actuator such that the relative motion between the mass and the frame is as small as possible.
|
|
|
|
Ideally, a mechanical part would clamp the two together, we here suppose that the APA is still enough to clamp the two together.
|
|
|
|
</p>
|
2020-10-23 23:05:34 +02:00
|
|
|
</div>
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="outline-container-org9e03e60" class="outline-3">
|
|
|
|
<h3 id="org9e03e60"><span class="section-number-3">2.1</span> Load Data</h3>
|
2020-10-23 23:05:34 +02:00
|
|
|
<div class="outline-text-3" id="text-2-1">
|
|
|
|
<div class="org-src-container">
|
|
|
|
<pre class="src src-matlab">load(<span class="org-string">'mat/int_enc_huddle_test.mat'</span>, <span class="org-string">'interferometer'</span>, <span class="org-string">'encoder'</span>, <span class="org-string">'t'</span>);
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="org-src-container">
|
|
|
|
<pre class="src src-matlab">interferometer = detrend(interferometer, 0);
|
|
|
|
encoder = detrend(encoder, 0);
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="outline-container-orgb74e6ae" class="outline-3">
|
|
|
|
<h3 id="orgb74e6ae"><span class="section-number-3">2.2</span> Time Domain Results</h3>
|
2020-10-23 23:05:34 +02:00
|
|
|
<div class="outline-text-3" id="text-2-2">
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="org170b58a" class="figure">
|
2020-10-23 23:05:34 +02:00
|
|
|
<p><img src="figs/huddle_test_time_domain.png" alt="huddle_test_time_domain.png" />
|
|
|
|
</p>
|
|
|
|
<p><span class="figure-number">Figure 4: </span>Huddle test - Time domain signals</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="org-src-container">
|
|
|
|
<pre class="src src-matlab">G_lpf = 1<span class="org-type">/</span>(1 <span class="org-type">+</span> s<span class="org-type">/</span>2<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">/</span>10);
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="orgca372e2" class="figure">
|
2020-10-23 23:05:34 +02:00
|
|
|
<p><img src="figs/huddle_test_time_domain_filtered.png" alt="huddle_test_time_domain_filtered.png" />
|
|
|
|
</p>
|
|
|
|
<p><span class="figure-number">Figure 5: </span>Huddle test - Time domain signals filtered with a LPF at 10Hz</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="outline-container-org9257580" class="outline-3">
|
|
|
|
<h3 id="org9257580"><span class="section-number-3">2.3</span> Frequency Domain Noise</h3>
|
2020-10-23 23:05:34 +02:00
|
|
|
<div class="outline-text-3" id="text-2-3">
|
|
|
|
<div class="org-src-container">
|
|
|
|
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4;
|
|
|
|
win = hann(ceil(10<span class="org-type">/</span>Ts));
|
|
|
|
|
|
|
|
[p_i, f] = pwelch(interferometer, win, [], [], 1<span class="org-type">/</span>Ts);
|
|
|
|
[p_e, <span class="org-type">~</span>] = pwelch(encoder, win, [], [], 1<span class="org-type">/</span>Ts);
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="org58bfefc" class="figure">
|
2020-10-23 23:05:34 +02:00
|
|
|
<p><img src="figs/huddle_test_asd.png" alt="huddle_test_asd.png" />
|
|
|
|
</p>
|
|
|
|
<p><span class="figure-number">Figure 6: </span>Amplitude Spectral Density of the signals during the Huddle test</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="outline-container-org09de461" class="outline-2">
|
|
|
|
<h2 id="org09de461"><span class="section-number-2">3</span> Dynamics from Actuator to Encoder</h2>
|
2020-10-23 23:05:34 +02:00
|
|
|
<div class="outline-text-2" id="text-3">
|
|
|
|
<p>
|
2020-11-10 11:16:16 +01:00
|
|
|
<a id="org5214466"></a>
|
2020-10-23 23:05:34 +02:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="outline-container-orgff48429" class="outline-3">
|
|
|
|
<h3 id="orgff48429"><span class="section-number-3">3.1</span> Load Data</h3>
|
2020-10-23 23:05:34 +02:00
|
|
|
<div class="outline-text-3" id="text-3-1">
|
|
|
|
<div class="org-src-container">
|
|
|
|
<pre class="src src-matlab">load(<span class="org-string">'mat/int_enc_id_noise_bis.mat'</span>, <span class="org-string">'interferometer'</span>, <span class="org-string">'encoder'</span>, <span class="org-string">'u'</span>, <span class="org-string">'t'</span>);
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="org-src-container">
|
|
|
|
<pre class="src src-matlab">interferometer = detrend(interferometer, 0);
|
|
|
|
encoder = detrend(encoder, 0);
|
|
|
|
u = detrend(u, 0);
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="outline-container-org43af2dd" class="outline-3">
|
|
|
|
<h3 id="org43af2dd"><span class="section-number-3">3.2</span> Identification</h3>
|
|
|
|
<div class="outline-text-3" id="text-3-2">
|
2020-10-23 23:05:34 +02:00
|
|
|
<div class="org-src-container">
|
|
|
|
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% Sampling Time [s]</span>
|
|
|
|
win = hann(ceil(10<span class="org-type">/</span>Ts));
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="org-src-container">
|
|
|
|
<pre class="src src-matlab">[tf_i_est, f] = tfestimate(u, interferometer, win, [], [], 1<span class="org-type">/</span>Ts);
|
|
|
|
[co_i_est, <span class="org-type">~</span>] = mscohere(u, interferometer, win, [], [], 1<span class="org-type">/</span>Ts);
|
|
|
|
|
|
|
|
[tf_e_est, <span class="org-type">~</span>] = tfestimate(u, encoder, win, [], [], 1<span class="org-type">/</span>Ts);
|
|
|
|
[co_e_est, <span class="org-type">~</span>] = mscohere(u, encoder, win, [], [], 1<span class="org-type">/</span>Ts);
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="orgb8b5d9d" class="figure">
|
2020-10-23 23:05:34 +02:00
|
|
|
<p><img src="figs/identification_dynamics_coherence.png" alt="identification_dynamics_coherence.png" />
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-10 11:16:16 +01:00
|
|
|
<div id="orgb95b979" class="figure">
|
2020-10-23 23:05:34 +02:00
|
|
|
<p><img src="figs/identification_dynamics_bode.png" alt="identification_dynamics_bode.png" />
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="postamble" class="status">
|
|
|
|
<p class="author">Author: Dehaeze Thomas</p>
|
2020-11-10 11:16:16 +01:00
|
|
|
<p class="date">Created: 2020-11-10 mar. 10:42</p>
|
2020-10-23 23:05:34 +02:00
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|