test-bench-piezo-amplifiers/index.html

339 lines
11 KiB
HTML
Raw Normal View History

2020-08-13 09:54:00 +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-08-13 17:11:21 +02:00
<!-- 2020-08-13 jeu. 17:11 -->
2020-08-13 09:54:00 +02:00
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Measurement of Piezoelectric Amplifiers</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>
<script>MathJax = {
tex: {
tags: 'ams',
macros: {bm: ["\\boldsymbol{#1}",1],}
}
};
</script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
2020-08-13 09:54:00 +02:00
</head>
<body>
<div id="content">
<h1 class="title">Measurement of Piezoelectric Amplifiers</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
2020-08-13 17:11:21 +02:00
<li><a href="#org1bbe59a">1. Effect of a change of capacitance</a>
2020-08-13 09:54:00 +02:00
<ul>
2020-08-13 17:11:21 +02:00
<li><a href="#orgdb6f8ad">1.1. Cedrat Technology</a></li>
<li><a href="#orgee41528">1.2. PI</a></li>
2020-08-13 09:54:00 +02:00
</ul>
</li>
2020-08-13 17:11:21 +02:00
<li><a href="#orgd75b37d">2. Effect of a change in Voltage level</a>
2020-08-13 09:54:00 +02:00
<ul>
2020-08-13 17:11:21 +02:00
<li><a href="#orga6e0258">2.1. Cedrat Technology</a></li>
<li><a href="#orgd744290">2.2. PI</a></li>
2020-08-13 09:54:00 +02:00
</ul>
</li>
2020-08-13 17:11:21 +02:00
<li><a href="#org4b79280">3. Comparison PI / Cedrat</a>
2020-08-13 09:54:00 +02:00
<ul>
2020-08-13 17:11:21 +02:00
<li><a href="#org590829e">3.1. Results</a></li>
</ul>
</li>
<li><a href="#org2f30df2">4. Impedance Measurement</a>
<ul>
<li><a href="#org7ad403e">4.1. Cedrat Technology</a></li>
<li><a href="#org746e78c">4.2. PI</a></li>
2020-08-13 09:54:00 +02:00
</ul>
</li>
</ul>
</div>
</div>
<p>
Two voltage amplifiers are tested:
</p>
<ul class="org-ul">
<li>PI E-505.00 (<a href="https://www.pi-usa.us/en/products/controllers-drivers-motion-control-software/piezo-drivers-controllers-power-supplies-high-voltage-amplifiers/e-505-piezo-amplifier-module-602300/">link</a>)</li>
<li>Cedrat Technology LA75B (<a href="https://www.cedrat-technologies.com/en/products/piezo-controllers/electronic-amplifier-boards.html">link</a>)</li>
</ul>
<p>
The piezoelectric actuator under test is an APA95ML from Cedrat technology.
It contains three stacks with a capacitance of \(5 \mu F\) each that can be connected independently to the amplifier.
</p>
2020-08-13 17:11:21 +02:00
<div id="outline-container-org1bbe59a" class="outline-2">
<h2 id="org1bbe59a"><span class="section-number-2">1</span> Effect of a change of capacitance</h2>
2020-08-13 09:54:00 +02:00
<div class="outline-text-2" id="text-1">
</div>
2020-08-13 17:11:21 +02:00
<div id="outline-container-orgdb6f8ad" class="outline-3">
<h3 id="orgdb6f8ad"><span class="section-number-3">1.1</span> Cedrat Technology</h3>
2020-08-13 09:54:00 +02:00
<div class="outline-text-3" id="text-1-1">
<p>
Load Data
</p>
<div class="org-src-container">
<pre class="src src-matlab">piezo1 = load('mat/cedrat_la75b_med_1_stack.mat', 't', 'V_in', 'V_out');
piezo2 = load('mat/cedrat_la75b_med_2_stack.mat', 't', 'V_in', 'V_out');
piezo3 = load('mat/cedrat_la75b_med_3_stack.mat', 't', 'V_in', 'V_out');
</pre>
</div>
<p>
Compute Coherence and Transfer functions
</p>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e-4;
win = hann(ceil(0.1/Ts));
[tf_1, f_1] = tfestimate(piezo1.V_in, piezo1.V_out, win, [], [], 1/Ts);
[co_1, ~] = mscohere(piezo1.V_in, piezo1.V_out, win, [], [], 1/Ts);
[tf_2, f_2] = tfestimate(piezo2.V_in, piezo2.V_out, win, [], [], 1/Ts);
[co_2, ~] = mscohere(piezo2.V_in, piezo2.V_out, win, [], [], 1/Ts);
[tf_3, f_3] = tfestimate(piezo3.V_in, piezo3.V_out, win, [], [], 1/Ts);
[co_3, ~] = mscohere(piezo3.V_in, piezo3.V_out, win, [], [], 1/Ts);
</pre>
</div>
2020-08-13 17:11:21 +02:00
<div id="orga28400f" class="figure">
2020-08-13 09:54:00 +02:00
<p><img src="figs/change_capa_cedrat.png" alt="change_capa_cedrat.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Effect of a change of the piezo capacitance on the Amplifier transfer function</p>
</div>
</div>
</div>
2020-08-13 17:11:21 +02:00
<div id="outline-container-orgee41528" class="outline-3">
<h3 id="orgee41528"><span class="section-number-3">1.2</span> PI</h3>
2020-08-13 09:54:00 +02:00
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-matlab">piezo1 = load('mat/pi_505_high.mat', 't', 'V_in', 'V_out');
piezo2 = load('mat/pi_505_high_2_stacks.mat', 't', 'V_in', 'V_out');
piezo3 = load('mat/pi_505_high_3_stacks.mat', 't', 'V_in', 'V_out');
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e-4;
win = hann(ceil(0.1/Ts));
[tf_1, f_1] = tfestimate(piezo1.V_in, piezo1.V_out, win, [], [], 1/Ts);
[co_1, ~] = mscohere(piezo1.V_in, piezo1.V_out, win, [], [], 1/Ts);
[tf_2, f_2] = tfestimate(piezo2.V_in, piezo2.V_out, win, [], [], 1/Ts);
[co_2, ~] = mscohere(piezo2.V_in, piezo2.V_out, win, [], [], 1/Ts);
[tf_3, f_3] = tfestimate(piezo3.V_in, piezo3.V_out, win, [], [], 1/Ts);
[co_3, ~] = mscohere(piezo3.V_in, piezo3.V_out, win, [], [], 1/Ts);
</pre>
</div>
2020-08-13 17:11:21 +02:00
<div id="org9cafd87" class="figure">
2020-08-13 09:54:00 +02:00
<p><img src="figs/change_capa_pi.png" alt="change_capa_pi.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Effect of a change of the piezo capacitance on the Amplifier transfer function</p>
</div>
</div>
</div>
</div>
2020-08-13 17:11:21 +02:00
<div id="outline-container-orgd75b37d" class="outline-2">
<h2 id="orgd75b37d"><span class="section-number-2">2</span> Effect of a change in Voltage level</h2>
2020-08-13 09:54:00 +02:00
<div class="outline-text-2" id="text-2">
</div>
2020-08-13 17:11:21 +02:00
<div id="outline-container-orga6e0258" class="outline-3">
<h3 id="orga6e0258"><span class="section-number-3">2.1</span> Cedrat Technology</h3>
2020-08-13 09:54:00 +02:00
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-matlab">hi = load('mat/cedrat_la75b_high_1_stack.mat', 't', 'V_in', 'V_out');
me = load('mat/cedrat_la75b_med_1_stack.mat', 't', 'V_in', 'V_out');
lo = load('mat/cedrat_la75b_low_1_stack.mat', 't', 'V_in', 'V_out');
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e-4;
win = hann(ceil(0.1/Ts));
[tf_hi, f_hi] = tfestimate(hi.V_in, hi.V_out, win, [], [], 1/Ts);
[co_hi, ~] = mscohere(hi.V_in, hi.V_out, win, [], [], 1/Ts);
[tf_me, f_me] = tfestimate(me.V_in, me.V_out, win, [], [], 1/Ts);
[co_me, ~] = mscohere(me.V_in, me.V_out, win, [], [], 1/Ts);
[tf_lo, f_lo] = tfestimate(lo.V_in, lo.V_out, win, [], [], 1/Ts);
[co_lo, ~] = mscohere(lo.V_in, lo.V_out, win, [], [], 1/Ts);
</pre>
</div>
2020-08-13 17:11:21 +02:00
<div id="org0ea5714" class="figure">
2020-08-13 09:54:00 +02:00
<p><img src="figs/change_level_cedrat.png" alt="change_level_cedrat.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Effect of a change of voltage level on the Amplifier transfer function</p>
</div>
</div>
</div>
2020-08-13 17:11:21 +02:00
<div id="outline-container-orgd744290" class="outline-3">
<h3 id="orgd744290"><span class="section-number-3">2.2</span> PI</h3>
2020-08-13 09:54:00 +02:00
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-matlab">hi = load('mat/pi_505_high.mat', 't', 'V_in', 'V_out');
lo = load('mat/pi_505_low.mat', 't', 'V_in', 'V_out');
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e-4;
win = hann(ceil(0.1/Ts));
[tf_hi, f_hi] = tfestimate(hi.V_in, hi.V_out, win, [], [], 1/Ts);
[co_hi, ~] = mscohere(hi.V_in, hi.V_out, win, [], [], 1/Ts);
[tf_lo, f_lo] = tfestimate(lo.V_in, lo.V_out, win, [], [], 1/Ts);
[co_lo, ~] = mscohere(lo.V_in, lo.V_out, win, [], [], 1/Ts);
</pre>
</div>
2020-08-13 17:11:21 +02:00
<div id="orgb43e11f" class="figure">
2020-08-13 09:54:00 +02:00
<p><img src="figs/change_level_pi.png" alt="change_level_pi.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Effect of a change of voltage level on the Amplifier transfer function</p>
</div>
</div>
</div>
</div>
2020-08-13 17:11:21 +02:00
<div id="outline-container-org4b79280" class="outline-2">
<h2 id="org4b79280"><span class="section-number-2">3</span> Comparison PI / Cedrat</h2>
2020-08-13 09:54:00 +02:00
<div class="outline-text-2" id="text-3">
</div>
2020-08-13 17:11:21 +02:00
<div id="outline-container-org590829e" class="outline-3">
<h3 id="org590829e"><span class="section-number-3">3.1</span> Results</h3>
2020-08-13 09:54:00 +02:00
<div class="outline-text-3" id="text-3-1">
<div class="org-src-container">
<pre class="src src-matlab">ce_results = load('mat/cedrat_la75b_high_1_stack.mat', 't', 'V_in', 'V_out');
pi_results = load('mat/pi_505_high.mat', 't', 'V_in', 'V_out');
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e-4;
win = hann(ceil(0.1/Ts));
[tf_ce, f_ce] = tfestimate(ce_results.V_in, ce_results.V_out, win, [], [], 1/Ts);
[tf_pi, f_pi] = tfestimate(pi_results.V_in, pi_results.V_out, win, [], [], 1/Ts);
</pre>
</div>
2020-08-13 17:11:21 +02:00
<div id="orgbdf4de1" class="figure">
2020-08-13 09:54:00 +02:00
<p><img src="figs/tf_amplifiers_comp.png" alt="tf_amplifiers_comp.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Comparison of the two Amplifier transfer functions</p>
</div>
</div>
</div>
</div>
2020-08-13 17:11:21 +02:00
<div id="outline-container-org2f30df2" class="outline-2">
<h2 id="org2f30df2"><span class="section-number-2">4</span> Impedance Measurement</h2>
<div class="outline-text-2" id="text-4">
<p>
The goal is to experimentally measure the output impedance of the voltage amplifiers.
</p>
<p>
To do so, the output voltage is first measure without any load (\(V\)).
It is then measure when a 10Ohm load is used (\(V^\prime\)).
</p>
<p>
The load (\(R = 10\Omega\)) and the internal resistor (\(R_i\)) form a voltage divider, and thus:
\[ V^\prime = \frac{R}{R + R_i} V \]
</p>
<p>
From the two values of voltage, the internal resistor value can be computed:
\[ R_i = R \frac{V - V^\prime}{V^\prime} \]
</p>
</div>
<div id="outline-container-org7ad403e" class="outline-3">
<h3 id="org7ad403e"><span class="section-number-3">4.1</span> Cedrat Technology</h3>
<div class="outline-text-3" id="text-4-1">
<div class="org-src-container">
<pre class="src src-matlab">R = 10; % Resistive Load used [Ohm]
V = 10.09; % Output Voltage without any load [V]
Vp = 3.46; % Output Voltage with resistice load [V]
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">R * (V - Vp)/Vp;
</pre>
</div>
<pre class="example">
19.162
</pre>
<div class="org-src-container">
<pre class="src src-matlab">C = 5e-6; % Capacitance in [F]
Ri = R * (V - Vp)/Vp; % Internal resistance [Ohm]
G_ce = 1/(1+Ri*C*s);
</pre>
</div>
</div>
</div>
<div id="outline-container-org746e78c" class="outline-3">
<h3 id="org746e78c"><span class="section-number-3">4.2</span> PI</h3>
<div class="outline-text-3" id="text-4-2">
<div class="org-src-container">
<pre class="src src-matlab">R = 10; % Resistive Load used [Ohm]
V = 10.35; % Output Voltage without any load [V]
Vp = 4.14; % Output Voltage with resistice load [V]
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">R * (V - Vp)/Vp
</pre>
</div>
<pre class="example">
15
</pre>
</div>
</div>
</div>
2020-08-13 09:54:00 +02:00
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
2020-08-13 17:11:21 +02:00
<p class="date">Created: 2020-08-13 jeu. 17:11</p>
2020-08-13 09:54:00 +02:00
</div>
</body>
</html>