test-bench-piezo-amplifiers/index.html

540 lines
23 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-11-10 12:44:25 +01:00
<!-- 2020-11-10 mar. 12:44 -->
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/custom.css"/>
2020-08-13 09:54:00 +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>
<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-11-10 12:44:25 +01:00
<li><a href="#org2595d4f">1. Effect of a change of capacitance</a>
2020-08-13 09:54:00 +02:00
<ul>
2020-11-10 12:44:25 +01:00
<li><a href="#orgd8111a6">1.1. Cedrat Technology</a></li>
<li><a href="#org278fde7">1.2. PI</a></li>
2020-08-13 09:54:00 +02:00
</ul>
</li>
2020-11-10 12:44:25 +01:00
<li><a href="#org2c356cd">2. Effect of a change in Voltage level</a>
2020-08-13 09:54:00 +02:00
<ul>
2020-11-10 12:44:25 +01:00
<li><a href="#org26c0aa6">2.1. Cedrat Technology</a></li>
<li><a href="#org99f4366">2.2. PI</a></li>
2020-08-13 09:54:00 +02:00
</ul>
</li>
2020-11-10 12:44:25 +01:00
<li><a href="#orgaef7c1d">3. Comparison PI / Cedrat</a>
2020-08-13 09:54:00 +02:00
<ul>
2020-11-10 12:44:25 +01:00
<li><a href="#orgb7b222e">3.1. Results</a></li>
2020-08-13 17:11:21 +02:00
</ul>
</li>
2020-11-10 12:44:25 +01:00
<li><a href="#org7cf90b4">4. Impedance Measurement</a>
2020-08-13 17:11:21 +02:00
<ul>
2020-11-10 12:44:25 +01:00
<li><a href="#org2defd83">4.1. Cedrat Technology</a>
<ul>
2020-11-10 12:44:25 +01:00
<li><a href="#orgf66e83a">4.1.1. Compute Impedance</a></li>
<li><a href="#orgc7a6f64">4.1.2. Effect of Impedance on the phase drop</a></li>
</ul>
</li>
2020-11-10 12:44:25 +01:00
<li><a href="#orgfd9e37f">4.2. PI</a></li>
2020-09-03 14:09:03 +02:00
</ul>
</li>
2020-11-10 12:44:25 +01:00
<li><a href="#org943c8af">5. Effect of filters configuration on the PI-E505 dynamics</a>
2020-09-03 14:09:03 +02:00
<ul>
2020-11-10 12:44:25 +01:00
<li><a href="#org86c1e48">5.1. PI</a></li>
<li><a href="#org35acfc7">5.2. Transfer function of the Voltage Amplifier</a></li>
<li><a href="#org1c608d2">5.3. With Load</a></li>
2020-08-13 09:54:00 +02:00
</ul>
</li>
</ul>
</div>
</div>
2020-11-10 12:44:25 +01:00
<div class="note" id="org6d2afbc">
<p>
2020-11-10 12:44:25 +01:00
The following two voltage amplifiers are tested:
</p>
<ul class="org-ul">
<li>PI E-505.00 (<a href="doc/E-505-Datasheet.pdf">doc</a>)</li>
<li>Cedrat Technology LA75B (<a href="doc/LA75B.pdf">doc</a>)</li>
</ul>
<p>
The piezoelectric actuator under test is an APA95ML from Cedrat technology (<a href="doc/APA95ML.pdf">doc</a>).
It contains three stacks with a capacitance of \(5 \mu F\) each that can be connected independently to the amplifier.
</p>
2020-11-10 12:44:25 +01:00
</div>
<p>
This document is divided into the following sections:
</p>
<ul class="org-ul">
<li>Section <a href="#org14b2007">1</a>: The effect of a change in load capacitance on the amplifier dynamics is studied</li>
<li>Section <a href="#org5952ed9">2</a>: The effect on the voltage level on the amplifier dynamics is studied</li>
<li>Section <a href="#org021167d">3</a>: The dynamics of the E-505 and LA75B are compared</li>
<li>Section <a href="#org3a61ea0">4</a>: The output impedance of both amplifiers are measured</li>
<li>Section <a href="#orgdc9f3a2">5</a>: The effect of the internal filters of the E-505 on its dynamics is studied</li>
</ul>
<div id="outline-container-org2595d4f" class="outline-2">
<h2 id="org2595d4f"><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">
2020-11-10 12:44:25 +01:00
<p>
<a id="org14b2007"></a>
</p>
2020-08-13 09:54:00 +02:00
</div>
2020-11-10 12:44:25 +01:00
<div id="outline-container-orgd8111a6" class="outline-3">
<h3 id="orgd8111a6"><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(<span class="org-string">'cedrat_la75b_med_1_stack.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
piezo2 = load(<span class="org-string">'cedrat_la75b_med_2_stack.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
piezo3 = load(<span class="org-string">'cedrat_la75b_med_3_stack.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
2020-08-13 09:54:00 +02:00
</pre>
</div>
<p>
Compute Coherence and Transfer functions
</p>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4;
win = hann(ceil(0.1<span class="org-type">/</span>Ts));
2020-08-13 09:54:00 +02:00
[tf_1, f] = tfestimate(piezo1.V_in, piezo1.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_1, <span class="org-type">~</span>] = mscohere(piezo1.V_in, piezo1.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
[tf_2, <span class="org-type">~</span>] = tfestimate(piezo2.V_in, piezo2.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_2, <span class="org-type">~</span>] = mscohere(piezo2.V_in, piezo2.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
[tf_3, <span class="org-type">~</span>] = tfestimate(piezo3.V_in, piezo3.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_3, <span class="org-type">~</span>] = mscohere(piezo3.V_in, piezo3.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
</pre>
</div>
<p>
We remove the phase delay due to the time delay of the ADC/DAC:
</p>
<div class="org-src-container">
<pre class="src src-matlab">angle_delay = 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(exp(<span class="org-type">-</span>s<span class="org-type">*</span>Ts), f, <span class="org-string">'Hz'</span>)));
</pre>
</div>
2020-08-13 09:54:00 +02:00
2020-11-10 12:44:25 +01:00
<div id="org0f3ffec" 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-11-10 12:44:25 +01:00
<div id="outline-container-org278fde7" class="outline-3">
<h3 id="org278fde7"><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(<span class="org-string">'pi_505_high.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
piezo2 = load(<span class="org-string">'pi_505_high_2_stacks.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
piezo3 = load(<span class="org-string">'pi_505_high_3_stacks.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
2020-08-13 09:54:00 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4;
win = hann(ceil(0.1<span class="org-type">/</span>Ts));
2020-08-13 09:54:00 +02:00
[tf_1, f] = tfestimate(piezo1.V_in, piezo1.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_1, <span class="org-type">~</span>] = mscohere(piezo1.V_in, piezo1.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
[tf_2, <span class="org-type">~</span>] = tfestimate(piezo2.V_in, piezo2.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_2, <span class="org-type">~</span>] = mscohere(piezo2.V_in, piezo2.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
[tf_3, <span class="org-type">~</span>] = tfestimate(piezo3.V_in, piezo3.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_3, <span class="org-type">~</span>] = mscohere(piezo3.V_in, piezo3.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
</pre>
</div>
<p>
We remove the phase delay due to the time delay of the ADC/DAC:
</p>
<div class="org-src-container">
<pre class="src src-matlab">angle_delay = 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(exp(<span class="org-type">-</span>s<span class="org-type">*</span>Ts), f, <span class="org-string">'Hz'</span>)));
</pre>
</div>
2020-08-13 09:54:00 +02:00
2020-11-10 12:44:25 +01:00
<div id="org1f93710" 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-11-10 12:44:25 +01:00
<div id="outline-container-org2c356cd" class="outline-2">
<h2 id="org2c356cd"><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">
2020-11-10 12:44:25 +01:00
<p>
<a id="org5952ed9"></a>
</p>
2020-08-13 09:54:00 +02:00
</div>
2020-11-10 12:44:25 +01:00
<div id="outline-container-org26c0aa6" class="outline-3">
<h3 id="org26c0aa6"><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(<span class="org-string">'cedrat_la75b_high_1_stack.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
me = load(<span class="org-string">'cedrat_la75b_med_1_stack.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
lo = load(<span class="org-string">'cedrat_la75b_low_1_stack.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
2020-08-13 09:54:00 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4;
win = hann(ceil(0.1<span class="org-type">/</span>Ts));
2020-08-13 09:54:00 +02:00
[tf_hi, f] = tfestimate(hi.V_in, hi.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_hi, <span class="org-type">~</span>] = mscohere(hi.V_in, hi.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
[tf_me, <span class="org-type">~</span>] = tfestimate(me.V_in, me.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_me, <span class="org-type">~</span>] = mscohere(me.V_in, me.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
[tf_lo, <span class="org-type">~</span>] = tfestimate(lo.V_in, lo.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_lo, <span class="org-type">~</span>] = mscohere(lo.V_in, lo.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
</pre>
</div>
<p>
We remove the phase delay due to the time delay of the ADC/DAC:
</p>
<div class="org-src-container">
<pre class="src src-matlab">angle_delay = 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(exp(<span class="org-type">-</span>s<span class="org-type">*</span>Ts), f, <span class="org-string">'Hz'</span>)));
</pre>
</div>
2020-08-13 09:54:00 +02:00
2020-11-10 12:44:25 +01:00
<div id="org6fa5b64" 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-11-10 12:44:25 +01:00
<div id="outline-container-org99f4366" class="outline-3">
<h3 id="org99f4366"><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(<span class="org-string">'pi_505_high.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
lo = load(<span class="org-string">'pi_505_low.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
2020-08-13 09:54:00 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4;
win = hann(ceil(0.1<span class="org-type">/</span>Ts));
2020-08-13 09:54:00 +02:00
[tf_hi, f] = tfestimate(hi.V_in, hi.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_hi, <span class="org-type">~</span>] = mscohere(hi.V_in, hi.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
[tf_lo, <span class="org-type">~</span>] = tfestimate(lo.V_in, lo.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[co_lo, <span class="org-type">~</span>] = mscohere(lo.V_in, lo.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
</pre>
</div>
2020-11-10 12:44:25 +01:00
<div id="org234ac05" 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-11-10 12:44:25 +01:00
<div id="outline-container-orgaef7c1d" class="outline-2">
<h2 id="orgaef7c1d"><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">
2020-11-10 12:44:25 +01:00
<p>
<a id="org021167d"></a>
</p>
2020-08-13 09:54:00 +02:00
</div>
2020-11-10 12:44:25 +01:00
<div id="outline-container-orgb7b222e" class="outline-3">
<h3 id="orgb7b222e"><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(<span class="org-string">'cedrat_la75b_high_1_stack.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
pi_results = load(<span class="org-string">'pi_505_high.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'V_in'</span>, <span class="org-string">'V_out'</span>);
2020-08-13 09:54:00 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4;
win = hann(ceil(0.1<span class="org-type">/</span>Ts));
2020-08-13 09:54:00 +02:00
[tf_ce, f] = tfestimate(ce_results.V_in, ce_results.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[tf_pi, <span class="org-type">~</span>] = tfestimate(pi_results.V_in, pi_results.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-08-13 09:54:00 +02:00
</pre>
</div>
2020-08-17 08:41:08 +02:00
<p>
We remove the phase delay due to the time delay of the ADC/DAC:
</p>
<div class="org-src-container">
<pre class="src src-matlab">angle_delay = 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(exp(<span class="org-type">-</span>s<span class="org-type">*</span>Ts), f, <span class="org-string">'Hz'</span>)));
2020-08-17 08:41:08 +02:00
</pre>
</div>
2020-08-13 09:54:00 +02:00
2020-08-17 08:41:08 +02:00
2020-11-10 12:44:25 +01:00
<div id="orgd9445f5" 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
2020-11-10 12:44:25 +01:00
<div id="outline-container-org7cf90b4" class="outline-2">
<h2 id="org7cf90b4"><span class="section-number-2">4</span> Impedance Measurement</h2>
2020-08-13 17:11:21 +02:00
<div class="outline-text-2" id="text-4">
<p>
2020-11-10 12:44:25 +01:00
<a id="org3a61ea0"></a>
</p>
<p>
2020-08-13 17:11:21 +02:00
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>
2020-11-10 12:44:25 +01:00
<div id="outline-container-org2defd83" class="outline-3">
<h3 id="org2defd83"><span class="section-number-3">4.1</span> Cedrat Technology</h3>
2020-08-13 17:11:21 +02:00
<div class="outline-text-3" id="text-4-1">
</div>
2020-11-10 12:44:25 +01:00
<div id="outline-container-orgf66e83a" class="outline-4">
<h4 id="orgf66e83a"><span class="section-number-4">4.1.1</span> Compute Impedance</h4>
<div class="outline-text-4" id="text-4-1-1">
2020-08-13 17:11:21 +02:00
<div class="org-src-container">
<pre class="src src-matlab">R = 10; <span class="org-comment">% Resistive Load used [Ohm]</span>
V = 0.998; <span class="org-comment">% Output Voltage without any load [V]</span>
Vp = 0.912; <span class="org-comment">% Output Voltage with resistice load [V]</span>
2020-08-13 17:11:21 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">R <span class="org-type">*</span> (V <span class="org-type">-</span> Vp)<span class="org-type">/</span>Vp;
2020-08-13 17:11:21 +02:00
</pre>
</div>
<pre class="example">
2020-08-17 08:41:08 +02:00
0.94298
</pre>
<div class="org-src-container">
<pre class="src src-matlab">R = 47; <span class="org-comment">% Resistive Load used [Ohm]</span>
V = 4.960; <span class="org-comment">% Output Voltage without any load [V]</span>
Vp = 4.874; <span class="org-comment">% Output Voltage with resistice load [V]</span>
2020-08-17 08:41:08 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">R <span class="org-type">*</span> (V <span class="org-type">-</span> Vp)<span class="org-type">/</span>Vp;
2020-08-17 08:41:08 +02:00
</pre>
</div>
<pre class="example">
0.8293
2020-08-13 17:11:21 +02:00
</pre>
</div>
</div>
2020-08-13 17:11:21 +02:00
2020-11-10 12:44:25 +01:00
<div id="outline-container-orgc7a6f64" class="outline-4">
<h4 id="orgc7a6f64"><span class="section-number-4">4.1.2</span> Effect of Impedance on the phase drop</h4>
<div class="outline-text-4" id="text-4-1-2">
2020-08-13 17:11:21 +02:00
<div class="org-src-container">
<pre class="src src-matlab">C_1 = 5e<span class="org-type">-</span>6; <span class="org-comment">% Capacitance in [F]</span>
C_2 = 10e<span class="org-type">-</span>6; <span class="org-comment">% Capacitance in [F]</span>
C_3 = 15e<span class="org-type">-</span>6; <span class="org-comment">% Capacitance in [F]</span>
Ri = R <span class="org-type">*</span> (V <span class="org-type">-</span> Vp)<span class="org-type">/</span>Vp; <span class="org-comment">% Internal resistance [Ohm]</span>
G0 = 20;
2020-08-13 17:11:21 +02:00
G_1 = G0<span class="org-type">/</span>(1<span class="org-type">+</span>Ri<span class="org-type">*</span>C_1<span class="org-type">*</span>s);
G_2 = G0<span class="org-type">/</span>(1<span class="org-type">+</span>Ri<span class="org-type">*</span>C_2<span class="org-type">*</span>s);
G_3 = G0<span class="org-type">/</span>(1<span class="org-type">+</span>Ri<span class="org-type">*</span>C_3<span class="org-type">*</span>s);
2020-08-13 17:11:21 +02:00
</pre>
</div>
2020-11-10 12:44:25 +01:00
<div id="org597c459" class="figure">
<p><img src="figs/change_capa_cedrat.png" alt="change_capa_cedrat.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Effect of a change of the piezo capacitance on the Amplifier transfer function</p>
</div>
</div>
2020-08-13 17:11:21 +02:00
</div>
</div>
2020-11-10 12:44:25 +01:00
<div id="outline-container-orgfd9e37f" class="outline-3">
<h3 id="orgfd9e37f"><span class="section-number-3">4.2</span> PI</h3>
2020-08-13 17:11:21 +02:00
<div class="outline-text-3" id="text-4-2">
<div class="org-src-container">
<pre class="src src-matlab">R = 10; <span class="org-comment">% Resistive Load used [Ohm]</span>
V = 1.059; <span class="org-comment">% Output Voltage without any load [V]</span>
Vp = 0.828; <span class="org-comment">% Output Voltage with resistice load [V]</span>
2020-08-17 08:41:08 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">R <span class="org-type">*</span> (V <span class="org-type">-</span> Vp)<span class="org-type">/</span>Vp
2020-08-17 08:41:08 +02:00
</pre>
</div>
<pre class="example">
2.7899
</pre>
<div class="org-src-container">
<pre class="src src-matlab">R = 10; <span class="org-comment">% Resistive Load used [Ohm]</span>
V = 2.092; <span class="org-comment">% Output Voltage without any load [V]</span>
Vp = 1.637; <span class="org-comment">% Output Voltage with resistice load [V]</span>
2020-08-13 17:11:21 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">R <span class="org-type">*</span> (V <span class="org-type">-</span> Vp)<span class="org-type">/</span>Vp
2020-08-13 17:11:21 +02:00
</pre>
</div>
<pre class="example">
2020-08-17 08:41:08 +02:00
2.7795
2020-08-13 17:11:21 +02:00
</pre>
</div>
</div>
</div>
2020-09-03 14:09:03 +02:00
2020-11-10 12:44:25 +01:00
<div id="outline-container-org943c8af" class="outline-2">
<h2 id="org943c8af"><span class="section-number-2">5</span> Effect of filters configuration on the PI-E505 dynamics</h2>
2020-09-03 14:09:03 +02:00
<div class="outline-text-2" id="text-5">
2020-11-10 12:44:25 +01:00
<p>
<a id="orgdc9f3a2"></a>
</p>
2020-09-03 14:09:03 +02:00
</div>
2020-11-10 12:44:25 +01:00
<div id="outline-container-org86c1e48" class="outline-3">
<h3 id="org86c1e48"><span class="section-number-3">5.1</span> PI</h3>
2020-09-03 14:09:03 +02:00
<div class="outline-text-3" id="text-5-1">
<p>
Three measurements are done:
</p>
<ul class="org-ul">
<li>Slew Rate limitation at maximum</li>
<li>Slew Rate limitation at minimum</li>
<li>Notch Filter at maximum frequency</li>
</ul>
<div class="org-src-container">
<pre class="src src-matlab">pi_sr_min = load(<span class="org-string">'pi_slew_rate_min.mat'</span>);
pi_sr_max = load(<span class="org-string">'pi_slew_rate_max.mat'</span>);
pi_sr_max_notch = load(<span class="org-string">'pi_slew_rate_max_notch_high.mat'</span>);
pi_sr_load = load(<span class="org-string">'pi_slew_rate_max_notch_high_2stacks.mat'</span>);
2020-09-03 14:09:03 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4;
win = hann(ceil(0.1<span class="org-type">/</span>Ts));
2020-09-03 14:09:03 +02:00
[tf_sr_min, f] = tfestimate(pi_sr_min.V_in, pi_sr_min.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[tf_sr_max, <span class="org-type">~</span>] = tfestimate(pi_sr_max.V_in, pi_sr_max.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[tf_sr_max_notch, <span class="org-type">~</span>] = tfestimate(pi_sr_max_notch.V_in, pi_sr_max_notch.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
[tf_sr_load, <span class="org-type">~</span>] = tfestimate(pi_sr_load.V_in, pi_sr_load.V_out, win, [], [], 1<span class="org-type">/</span>Ts);
2020-09-03 14:09:03 +02:00
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">angle_delay = 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(exp(<span class="org-type">-</span>s<span class="org-type">*</span>Ts), f, <span class="org-string">'Hz'</span>)));
2020-09-03 14:09:03 +02:00
</pre>
</div>
2020-11-10 12:44:25 +01:00
<div id="org85111b8" class="figure">
2020-09-03 14:09:03 +02:00
<p><img src="figs/pi_slew_rate_notch.png" alt="pi_slew_rate_notch.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Effect of a change in the slew rate limitation and notch filter</p>
</div>
</div>
</div>
2020-11-10 12:44:25 +01:00
<div id="outline-container-org35acfc7" class="outline-3">
<h3 id="org35acfc7"><span class="section-number-3">5.2</span> Transfer function of the Voltage Amplifier</h3>
2020-09-03 14:09:03 +02:00
<div class="outline-text-3" id="text-5-2">
<p>
The identified transfer function still seems to match the one of a notch filter at 5kHz.
</p>
<div class="org-src-container">
<pre class="src src-matlab">w_nf = 2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>5e3; <span class="org-comment">% Notch Filter Frequency [rad/s]</span>
G = 10.5<span class="org-type">*</span>(s<span class="org-type">^</span>2 <span class="org-type">+</span> 2<span class="org-type">*</span>w_nf<span class="org-type">*</span>0.12<span class="org-type">*</span>s <span class="org-type">+</span> w_nf<span class="org-type">^</span>2)<span class="org-type">/</span>(s<span class="org-type">^</span>2 <span class="org-type">+</span> 2<span class="org-type">*</span>w_nf<span class="org-type">*</span>s <span class="org-type">+</span> w_nf<span class="org-type">^</span>2);
</pre>
</div>
</div>
</div>
2020-11-10 12:44:25 +01:00
<div id="outline-container-org1c608d2" class="outline-3">
<h3 id="org1c608d2"><span class="section-number-3">5.3</span> With Load</h3>
<div class="outline-text-3" id="text-5-3">
<div class="org-src-container">
<pre class="src src-matlab">R = 2.78; <span class="org-comment">% Output Impedance [Ohm]</span>
C = 9e<span class="org-type">-</span>6; <span class="org-comment">% Load capacitance [F]</span>
G_amp = 10<span class="org-type">/</span>(1 <span class="org-type">+</span> s<span class="org-type">*</span>R<span class="org-type">*</span>C);
2020-09-03 14:09:03 +02:00
</pre>
</div>
</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-11-10 12:44:25 +01:00
<p class="date">Created: 2020-11-10 mar. 12:44</p>
2020-08-13 09:54:00 +02:00
</div>
</body>
</html>