test-bench-vionic/index.html

316 lines
9.7 KiB
HTML
Raw Normal View History

2020-12-16 11:52:53 +01: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>
2021-02-02 18:46:58 +01:00
<!-- 2021-02-02 mar. 18:44 -->
2020-12-16 11:52:53 +01:00
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Encoder Renishaw Vionic - Test Bench</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
2021-02-02 18:25:28 +01:00
<script>
MathJax = {
svg: {
scale: 1,
fontCache: "global"
},
tex: {
tags: "ams",
multlineWidth: "%MULTLINEWIDTH",
tagSide: "right",
macros: {bm: ["\\boldsymbol{#1}",1],},
tagIndent: ".8em"
}
};
</script>
<script id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
2020-12-16 11:52:53 +01:00
</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 Renishaw Vionic - Test Bench</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
2021-02-02 18:46:58 +01:00
<li><a href="#orgad23dda">1. Encoder Model</a></li>
<li><a href="#org6337f06">2. Noise Measurement</a>
2021-02-02 18:25:28 +01:00
<ul>
2021-02-02 18:46:58 +01:00
<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>
2021-02-02 18:25:28 +01:00
</ul>
</li>
2020-12-16 11:52:53 +01:00
</ul>
</div>
</div>
2021-02-02 18:46:58 +01:00
<hr>
<p>This report is also available as a <a href="./index.pdf">pdf</a>.</p>
<hr>
2020-12-16 11:52:53 +01:00
2021-02-02 18:46:58 +01:00
<div class="note" id="org7fbf5f9">
2020-12-16 11:52:53 +01:00
<p>
You can find below the document of:
</p>
<ul class="org-ul">
<li><a href="doc/L-9517-9678-05-A_Data_sheet_VIONiC_series_en.pdf">Vionic Encoder</a></li>
<li><a href="doc/L-9517-9862-01-C_Data_sheet_RKLC_EN.pdf">Linear Scale</a></li>
</ul>
2020-12-16 14:07:07 +01:00
</div>
<p>
We would like to characterize the encoder measurement system.
</p>
<p>
In particular, we would like to measure:
</p>
<ul class="org-ul">
<li>Power Spectral Density of the measurement noise</li>
2020-12-17 14:54:16 +01:00
<li>Bandwidth of the sensor</li>
<li>Linearity of the sensor</li>
2020-12-16 14:07:07 +01:00
</ul>
2021-01-04 11:44:11 +01:00
2021-02-02 18:46:58 +01:00
<div id="org136f1cc" class="figure">
2021-01-04 11:44:11 +01:00
<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>
2021-02-02 18:46:58 +01:00
<div id="outline-container-orgad23dda" class="outline-2">
<h2 id="orgad23dda"><span class="section-number-2">1</span> Encoder Model</h2>
2020-12-16 11:52:53 +01:00
<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\).
Ideally, this dynamics is constant over a wide frequency band with very small phase drop.
</p>
<p>
It is also characterized by its measurement noise \(n\) that can be described by its Power Spectral Density (PSD).
</p>
2020-12-16 14:07:07 +01:00
<p>
2021-02-02 18:46:58 +01:00
The model of the encoder is shown in Figure <a href="#orgb95c9f6">2</a>.
2020-12-16 14:07:07 +01:00
</p>
2020-12-16 11:52:53 +01:00
2021-02-02 18:46:58 +01:00
<div id="orgb95c9f6" class="figure">
2020-12-16 11:52:53 +01:00
<p><img src="figs/encoder-model-schematic.png" alt="encoder-model-schematic.png" />
</p>
2021-01-04 11:44:11 +01:00
<p><span class="figure-number">Figure 2: </span>Model of the Encoder</p>
2020-12-16 11:52:53 +01:00
</div>
2020-12-17 14:54:16 +01:00
2021-02-02 18:46:58 +01:00
<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>
2020-12-17 14:54:16 +01:00
2021-02-02 18:46:58 +01:00
<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">
2020-12-17 14:54:16 +01:00
<caption class="t-above"><span class="table-number">Table 1:</span> Characteristics of the Vionic Encoder</caption>
<colgroup>
<col class="org-left" />
2021-02-02 18:25:28 +01:00
<col class="org-center" />
<col class="org-center" />
2020-12-17 14:54:16 +01:00
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left"><b>Characteristics</b></th>
2021-02-02 18:25:28 +01:00
<th scope="col" class="org-center"><b>Manual</b></th>
<th scope="col" class="org-center"><b>Specifications</b></th>
2020-12-17 14:54:16 +01:00
</tr>
</thead>
<tbody>
2021-02-02 18:25:28 +01:00
<tr>
<td class="org-left">Range</td>
<td class="org-center">Ruler length</td>
<td class="org-center">&gt; 200 [um]</td>
</tr>
2020-12-17 14:54:16 +01:00
<tr>
<td class="org-left">Resolution</td>
2021-02-02 18:25:28 +01:00
<td class="org-center">2.5 [nm]</td>
<td class="org-center">&lt; 50 [nm rms]</td>
2020-12-17 14:54:16 +01:00
</tr>
<tr>
<td class="org-left">Sub-Divisional Error</td>
2021-02-02 18:25:28 +01:00
<td class="org-center">\(< \pm 15\,nm\)</td>
<td class="org-center">&#xa0;</td>
2020-12-17 14:54:16 +01:00
</tr>
<tr>
<td class="org-left">Bandwidth</td>
2021-02-02 18:25:28 +01:00
<td class="org-center">To be checked</td>
<td class="org-center">&gt; 5 [kHz]</td>
2020-12-17 14:54:16 +01:00
</tr>
</tbody>
</table>
2021-02-02 18:46:58 +01:00
<div id="org9d20614" class="figure">
2020-12-17 14:54:16 +01:00
<p><img src="./figs/vionic_expected_noise.png" alt="vionic_expected_noise.png" />
</p>
2021-02-02 18:46:58 +01:00
<p><span class="figure-number">Figure 4: </span>Expected interpolation errors for the Vionic Encoder</p>
2020-12-16 11:52:53 +01:00
</div>
</div>
2020-12-17 14:54:16 +01:00
</div>
2020-12-16 11:52:53 +01:00
2021-02-02 18:46:58 +01:00
<div id="outline-container-org6337f06" class="outline-2">
<h2 id="org6337f06"><span class="section-number-2">2</span> Noise Measurement</h2>
2020-12-16 14:07:07 +01:00
<div class="outline-text-2" id="text-2">
<p>
2021-02-02 18:46:58 +01:00
<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>
2020-12-16 14:07:07 +01:00
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>
2021-02-02 18:46:58 +01:00
</div>
</div>
2020-12-16 11:52:53 +01:00
2021-02-02 18:46:58 +01:00
<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">
2020-12-16 14:07:07 +01:00
<p>
2021-02-02 18:46:58 +01:00
First we load the data.
2020-12-16 14:07:07 +01:00
</p>
2021-02-02 18:46:58 +01:00
<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>
2020-12-17 14:54:16 +01:00
<p>
2021-02-02 18:46:58 +01:00
The time domain data are shown in Figure <a href="#orgb5a687f">4</a>.
2020-12-17 14:54:16 +01:00
</p>
<p>
2021-02-02 18:46:58 +01:00
<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>.
2020-12-17 14:54:16 +01:00
</p>
2021-02-02 18:46:58 +01:00
<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 5: </span>Amplitude Spectral Density of the measured signal</p>
</div>
2020-12-17 14:54:16 +01:00
2021-02-02 18:46:58 +01:00
<p>
Let&rsquo;s create a transfer function that approximate the measured noise of the encoder.
2020-12-17 14:54:16 +01:00
</p>
2021-02-02 18:46:58 +01:00
<div class="org-src-container">
<pre class="src src-matlab">Gn_e = 1.8e<span class="org-type">-</span>11<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>5e3);
</pre>
2020-12-17 14:54:16 +01:00
</div>
<p>
2021-02-02 18:46:58 +01:00
The amplitude of the transfer function and the measured ASD are shown in Figure <a href="#orgbbcd196">6</a>.
2020-12-17 14:54:16 +01:00
</p>
2021-02-02 18:46:58 +01:00
<div id="orgbbcd196" class="figure">
<p><img src="figs/vionic_noise_asd_model.png" alt="vionic_noise_asd_model.png" />
2020-12-17 14:54:16 +01:00
</p>
2021-02-02 18:46:58 +01:00
<p><span class="figure-number">Figure 6: </span>Measured ASD of the noise and modelled one</p>
2020-12-16 14:07:07 +01:00
</div>
2020-12-16 11:52:53 +01:00
</div>
2021-02-02 18:25:28 +01:00
</div>
</div>
2021-02-02 18:46:58 +01:00
<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>
2021-02-02 18:25:28 +01:00
</div>
2021-02-02 18:46:58 +01:00
<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>
2021-02-02 18:25:28 +01:00
2021-02-02 18:46:58 +01:00
<p>
One idea is to use the test-bench shown in Figure <a href="#org00b4ff5">7</a>.
</p>
2021-02-02 18:25:28 +01:00
2021-02-02 18:46:58 +01:00
<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>
2021-02-02 18:25:28 +01:00
2021-02-02 18:46:58 +01:00
<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.
2021-02-02 18:25:28 +01:00
</p>
2021-02-02 18:46:58 +01:00
<div id="org00b4ff5" class="figure">
<p><img src="figs/test_bench_encoder_calibration.png" alt="test_bench_encoder_calibration.png" />
2021-02-02 18:25:28 +01:00
</p>
2021-02-02 18:46:58 +01:00
<p><span class="figure-number">Figure 7: </span>Schematic of the test bench</p>
</div>
2020-12-16 14:07:07 +01:00
</div>
2021-02-02 18:25:28 +01:00
</div>
2021-02-02 18:46:58 +01:00
<div id="outline-container-org53d1667" class="outline-3">
<h3 id="org53d1667"><span class="section-number-3">3.2</span> Results</h3>
</div>
</div>
2021-02-02 18:25:28 +01:00
2021-02-02 18:46:58 +01:00
<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>
2021-02-02 18:25:28 +01:00
</p>
</div>
2021-02-02 18:46:58 +01:00
<div id="outline-container-org2650123" class="outline-3">
<h3 id="org2650123"><span class="section-number-3">4.1</span> Test Bench</h3>
2021-02-02 18:25:28 +01:00
</div>
2021-02-02 18:46:58 +01:00
<div id="outline-container-org26f79d3" class="outline-3">
<h3 id="org26f79d3"><span class="section-number-3">4.2</span> Results</h3>
2021-02-02 18:25:28 +01:00
</div>
2020-12-16 11:52:53 +01:00
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
2021-02-02 18:46:58 +01:00
<p class="date">Created: 2021-02-02 mar. 18:44</p>
2020-12-16 11:52:53 +01:00
</div>
</body>
</html>