encoder-test-bench/index.html

242 lines
8.5 KiB
HTML

<?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 mar. 10:42 -->
<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"/>
<link rel="stylesheet" type="text/css" href="./css/custom.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/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">Encoder - Test Bench</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org8cea100">1. Experimental Setup</a></li>
<li><a href="#orgd6a888d">2. Noise Spectral Density of the Encoder</a>
<ul>
<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>
</ul>
</li>
<li><a href="#org09de461">3. Dynamics from Actuator to Encoder</a>
<ul>
<li><a href="#orgff48429">3.1. Load Data</a></li>
<li><a href="#org43af2dd">3.2. Identification</a></li>
</ul>
</li>
</ul>
</div>
</div>
<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>
<div class="outline-text-2" id="text-1">
<p>
<a id="org6bad4bb"></a>
</p>
<p>
The experimental Setup is schematically represented in Figure <a href="#org34db538">1</a>.
</p>
<p>
The mass can be vertically moved using the amplified piezoelectric actuator.
The displacement of the mass (relative to the mechanical frame) is measured both by the interferometer and by an encoder.
</p>
<div id="org34db538" class="figure">
<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>
<div id="org4486dea" class="figure">
<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>
<div id="org8d81753" class="figure">
<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>
<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>
<div class="outline-text-2" id="text-2">
<p>
<a id="org4c3ff10"></a>
</p>
<p>
The goal in this section is the estimate the noise of both the encoder and the intereferometer.
</p>
<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>
</div>
<div id="outline-container-org9e03e60" class="outline-3">
<h3 id="org9e03e60"><span class="section-number-3">2.1</span> Load Data</h3>
<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>
<div id="outline-container-orgb74e6ae" class="outline-3">
<h3 id="orgb74e6ae"><span class="section-number-3">2.2</span> Time Domain Results</h3>
<div class="outline-text-3" id="text-2-2">
<div id="org170b58a" class="figure">
<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>
<div id="orgca372e2" class="figure">
<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>
<div id="outline-container-org9257580" class="outline-3">
<h3 id="org9257580"><span class="section-number-3">2.3</span> Frequency Domain Noise</h3>
<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>
<div id="org58bfefc" class="figure">
<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>
<div id="outline-container-org09de461" class="outline-2">
<h2 id="org09de461"><span class="section-number-2">3</span> Dynamics from Actuator to Encoder</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org5214466"></a>
</p>
</div>
<div id="outline-container-orgff48429" class="outline-3">
<h3 id="orgff48429"><span class="section-number-3">3.1</span> Load Data</h3>
<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>
<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">
<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>
<div id="orgb8b5d9d" class="figure">
<p><img src="figs/identification_dynamics_coherence.png" alt="identification_dynamics_coherence.png" />
</p>
</div>
<div id="orgb95b979" class="figure">
<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>
<p class="date">Created: 2020-11-10 mar. 10:42</p>
</div>
</body>
</html>