Export to pdf

This commit is contained in:
2021-02-02 18:46:58 +01:00
parent 99e3c94d59
commit 9e38f0bd14
8 changed files with 710 additions and 118 deletions

View File

@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-02-02 mar. 18:24 -->
<!-- 2021-02-02 mar. 18:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Encoder Renishaw Vionic - Test Bench</title>
<meta name="generator" content="Org mode" />
@@ -39,19 +39,33 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgd4a4664">1. Encoder Model</a></li>
<li><a href="#org8e70edd">2. Test-Bench Description</a></li>
<li><a href="#orge118b0f">3. Measurement procedure</a></li>
<li><a href="#org8e44240">4. Measurement Results</a>
<li><a href="#orgad23dda">1. Encoder Model</a></li>
<li><a href="#org6337f06">2. Noise Measurement</a>
<ul>
<li><a href="#org7e465e7">4.1. Noise Measurement</a></li>
<li><a href="#orgc20e5d1">2.1. Test Bench</a></li>
<li><a href="#org818aa3a">2.2. Results</a></li>
</ul>
</li>
<li><a href="#orgfb293f3">3. Linearity Measurement</a>
<ul>
<li><a href="#orgee55e64">3.1. Test Bench</a></li>
<li><a href="#org53d1667">3.2. Results</a></li>
</ul>
</li>
<li><a href="#org1f03c19">4. Dynamical Measurement</a>
<ul>
<li><a href="#org2650123">4.1. Test Bench</a></li>
<li><a href="#org26f79d3">4.2. Results</a></li>
</ul>
</li>
</ul>
</div>
</div>
<hr>
<p>This report is also available as a <a href="./index.pdf">pdf</a>.</p>
<hr>
<div class="note" id="org4c0c9be">
<div class="note" id="org7fbf5f9">
<p>
You can find below the document of:
</p>
@@ -76,14 +90,14 @@ In particular, we would like to measure:
</ul>
<div id="org13fff85" class="figure">
<div id="org136f1cc" class="figure">
<p><img src="figs/encoder_vionic.png" alt="encoder_vionic.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Picture of the Vionic Encoder</p>
</div>
<div id="outline-container-orgd4a4664" class="outline-2">
<h2 id="orgd4a4664"><span class="section-number-2">1</span> Encoder Model</h2>
<div id="outline-container-orgad23dda" class="outline-2">
<h2 id="orgad23dda"><span class="section-number-2">1</span> Encoder Model</h2>
<div class="outline-text-2" id="text-1">
<p>
The Encoder is characterized by its dynamics \(G_m(s)\) from the &ldquo;true&rdquo; displacement \(y\) to measured displacement \(y_m\).
@@ -95,18 +109,27 @@ It is also characterized by its measurement noise \(n\) that can be described by
</p>
<p>
The model of the encoder is shown in Figure <a href="#org08a4e7a">2</a>.
The model of the encoder is shown in Figure <a href="#orgb95c9f6">2</a>.
</p>
<div id="org08a4e7a" class="figure">
<div id="orgb95c9f6" class="figure">
<p><img src="figs/encoder-model-schematic.png" alt="encoder-model-schematic.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Model of the Encoder</p>
</div>
<p>
We can also use a transfer function \(G_n(s)\) to shape a noise \(\tilde{n}\) with unity ASD as shown in Figure <a href="#org9d20614">4</a>.
</p>
<table id="org20ed9a5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<div id="org985a473" class="figure">
<p><img src="figs/encoder-model-schematic-with-asd.png" alt="encoder-model-schematic-with-asd.png" />
</p>
</div>
<table id="orgcd45716" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 1:</span> Characteristics of the Vionic Encoder</caption>
<colgroup>
@@ -151,104 +174,57 @@ The model of the encoder is shown in Figure <a href="#org08a4e7a">2</a>.
</table>
<div id="org2068d11" class="figure">
<div id="org9d20614" class="figure">
<p><img src="./figs/vionic_expected_noise.png" alt="vionic_expected_noise.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Expected interpolation errors for the Vionic Encoder</p>
<p><span class="figure-number">Figure 4: </span>Expected interpolation errors for the Vionic Encoder</p>
</div>
</div>
</div>
<div id="outline-container-org8e70edd" class="outline-2">
<h2 id="org8e70edd"><span class="section-number-2">2</span> Test-Bench Description</h2>
<div id="outline-container-org6337f06" class="outline-2">
<h2 id="org6337f06"><span class="section-number-2">2</span> Noise Measurement</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="org93db977"></a>
</p>
</div>
<div id="outline-container-orgc20e5d1" class="outline-3">
<h3 id="orgc20e5d1"><span class="section-number-3">2.1</span> Test Bench</h3>
<div class="outline-text-3" id="text-2-1">
<p>
To measure the noise \(n\) of the encoder, one can rigidly fix the head and the ruler together such that no motion should be measured.
Then, the measured signal \(y_m\) corresponds to the noise \(n\).
</p>
</div>
</div>
<div id="outline-container-org818aa3a" class="outline-3">
<h3 id="org818aa3a"><span class="section-number-3">2.2</span> Results</h3>
<div class="outline-text-3" id="text-2-2">
<p>
In order to measure the linearity, we have to compare the measured displacement with a reference sensor with a known linearity.
An interferometer or capacitive sensor should work fine.
An actuator should also be there so impose a displacement.
First we load the data.
</p>
<p>
One idea is to use the test-bench shown in Figure <a href="#orgfefda93">4</a>.
</p>
<p>
The APA300ML is used to excite the mass in a broad bandwidth.
The motion is measured at the same time by the Vionic Encoder and by an interferometer (most likely an Attocube).
</p>
<p>
As the interferometer has a very large bandwidth, we should be able to estimate the bandwidth of the encoder is it is less than the Nyquist frequency (~ 5kHz).
</p>
<div id="orgfefda93" class="figure">
<p><img src="figs/test_bench_encoder_calibration.png" alt="test_bench_encoder_calibration.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Schematic of the test bench</p>
</div>
<p>
To measure the noise of the sensor, we can also simply measure the output signal when the relative motion between the encoder and the ruler is null.
This can be done by clamping the two as done in the mounting strut tool (Figure <a href="#org742c647">5</a>).
</p>
<div id="org742c647" class="figure">
<p><img src="figs/test_bench_measure_noise.png" alt="test_bench_measure_noise.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Mounting Strut test bench as a clamping method to measure the encoder noise.</p>
</div>
</div>
</div>
<div id="outline-container-orge118b0f" class="outline-2">
<h2 id="orge118b0f"><span class="section-number-2">3</span> Measurement procedure</h2>
</div>
<div id="outline-container-org8e44240" class="outline-2">
<h2 id="org8e44240"><span class="section-number-2">4</span> Measurement Results</h2>
<div class="outline-text-2" id="text-4">
</div>
<div id="outline-container-org7e465e7" class="outline-3">
<h3 id="org7e465e7"><span class="section-number-3">4.1</span> Noise Measurement</h3>
<div class="outline-text-3" id="text-4-1">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'noise_meas_100s_20kHz.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'x'</span>);
x = x <span class="org-type">-</span> mean(x);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
plot(t, 1e9<span class="org-type">*</span>x, <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'Raw'</span>);
plot(t, 1e9<span class="org-type">*</span>lsim(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>500), x, t), <span class="org-string">'DisplayName'</span>, <span class="org-string">'LPF - 500Hz'</span>)
hold off;
xlabel(<span class="org-string">'Time [s]'</span>);
ylabel(<span class="org-string">'Displacement [nm]'</span>);
legend(<span class="org-string">'location'</span>, <span class="org-string">'northeast'</span>);
</pre>
</div>
<div id="org3070d03" class="figure">
<p><img src="figs/vionic_noise_time.png" alt="vionic_noise_time.png" />
<p>
The time domain data are shown in Figure <a href="#orgb5a687f">4</a>.
</p>
<p>
<img src="figs/vionic_noise_time.png" alt="vionic_noise_time.png" />
The amplitude spectral density is computed and shown in Figure <a href="#org5702aa0">5</a>.
</p>
<p><span class="figure-number">Figure 6: </span>Time domain measurement (raw data and low pass filtered data)</p>
</div>
<div id="orgd593081" class="figure">
<div id="org5702aa0" class="figure">
<p><img src="figs/vionic_noise_asd.png" alt="vionic_noise_asd.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Amplitude Spectral Density of the measured signal</p>
<p><span class="figure-number">Figure 5: </span>Amplitude Spectral Density of the measured signal</p>
</div>
<p>
@@ -259,19 +235,81 @@ Let&rsquo;s create a transfer function that approximate the measured noise of th
</pre>
</div>
<p>
The amplitude of the transfer function and the measured ASD are shown in Figure <a href="#orgbbcd196">6</a>.
</p>
<div id="orgd1f9fd9" class="figure">
<div id="orgbbcd196" class="figure">
<p><img src="figs/vionic_noise_asd_model.png" alt="vionic_noise_asd_model.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Measured ASD of the noise and modelled one</p>
<p><span class="figure-number">Figure 6: </span>Measured ASD of the noise and modelled one</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgfb293f3" class="outline-2">
<h2 id="orgfb293f3"><span class="section-number-2">3</span> Linearity Measurement</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org0812023"></a>
</p>
</div>
<div id="outline-container-orgee55e64" class="outline-3">
<h3 id="orgee55e64"><span class="section-number-3">3.1</span> Test Bench</h3>
<div class="outline-text-3" id="text-3-1">
<p>
In order to measure the linearity, we have to compare the measured displacement with a reference sensor with a known linearity.
An interferometer or capacitive sensor should work fine.
An actuator should also be there so impose a displacement.
</p>
<p>
One idea is to use the test-bench shown in Figure <a href="#org00b4ff5">7</a>.
</p>
<p>
The APA300ML is used to excite the mass in a broad bandwidth.
The motion is measured at the same time by the Vionic Encoder and by an interferometer (most likely an Attocube).
</p>
<p>
As the interferometer has a very large bandwidth, we should be able to estimate the bandwidth of the encoder if it is less than the Nyquist frequency that can be around 10kHz.
</p>
<div id="org00b4ff5" class="figure">
<p><img src="figs/test_bench_encoder_calibration.png" alt="test_bench_encoder_calibration.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Schematic of the test bench</p>
</div>
</div>
</div>
<div id="outline-container-org53d1667" class="outline-3">
<h3 id="org53d1667"><span class="section-number-3">3.2</span> Results</h3>
</div>
</div>
<div id="outline-container-org1f03c19" class="outline-2">
<h2 id="org1f03c19"><span class="section-number-2">4</span> Dynamical Measurement</h2>
<div class="outline-text-2" id="text-4">
<p>
<a id="org02907d6"></a>
</p>
</div>
<div id="outline-container-org2650123" class="outline-3">
<h3 id="org2650123"><span class="section-number-3">4.1</span> Test Bench</h3>
</div>
<div id="outline-container-org26f79d3" class="outline-3">
<h3 id="org26f79d3"><span class="section-number-3">4.2</span> Results</h3>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-02-02 mar. 18:24</p>
<p class="date">Created: 2021-02-02 mar. 18:44</p>
</div>
</body>
</html>