test-bench-piezo-amplifiers/index.html

512 lines
22 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 mar. 12:34 -->
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>
<li><a href="#orgbf340db">1. Effect of a change of capacitance</a>
2020-08-13 09:54:00 +02:00
<ul>
<li><a href="#org641e8fa">1.1. Cedrat Technology</a></li>
<li><a href="#org1418126">1.2. PI</a></li>
2020-08-13 09:54:00 +02:00
</ul>
</li>
<li><a href="#org759da67">2. Effect of a change in Voltage level</a>
2020-08-13 09:54:00 +02:00
<ul>
<li><a href="#org6a05198">2.1. Cedrat Technology</a></li>
<li><a href="#orga82864e">2.2. PI</a></li>
2020-08-13 09:54:00 +02:00
</ul>
</li>
<li><a href="#orgda5e46f">3. Comparison PI / Cedrat</a>
2020-08-13 09:54:00 +02:00
<ul>
<li><a href="#orgf81af9e">3.1. Results</a></li>
2020-08-13 17:11:21 +02:00
</ul>
</li>
<li><a href="#org2ac1966">4. Impedance Measurement</a>
2020-08-13 17:11:21 +02:00
<ul>
<li><a href="#orgabf5b9a">4.1. Cedrat Technology</a>
<ul>
<li><a href="#org373f123">4.1.1. Compute Impedance</a></li>
<li><a href="#orgc9002d7">4.1.2. Effect of Impedance on the phase drop</a></li>
</ul>
</li>
<li><a href="#org3134308">4.2. PI</a></li>
2020-09-03 14:09:03 +02:00
</ul>
</li>
<li><a href="#org84728eb">5. New PI amplifier measurements</a>
2020-09-03 14:09:03 +02:00
<ul>
<li><a href="#org5ca1305">5.1. PI</a></li>
<li><a href="#org091ce77">5.2. Transfer function of the Voltage Amplifier</a></li>
<li><a href="#org78406e1">5.3. With Load</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="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>
<div id="outline-container-orgbf340db" class="outline-2">
<h2 id="orgbf340db"><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>
<div id="outline-container-org641e8fa" class="outline-3">
<h3 id="org641e8fa"><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
<div id="org51f0c1d" 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>
<div id="outline-container-org1418126" class="outline-3">
<h3 id="org1418126"><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
<div id="org94c038d" 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>
<div id="outline-container-org759da67" class="outline-2">
<h2 id="org759da67"><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>
<div id="outline-container-org6a05198" class="outline-3">
<h3 id="org6a05198"><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
<div id="org413319b" 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>
<div id="outline-container-orga82864e" class="outline-3">
<h3 id="orga82864e"><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>
<div id="orgfdd759e" 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>
<div id="outline-container-orgda5e46f" class="outline-2">
<h2 id="orgda5e46f"><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>
<div id="outline-container-orgf81af9e" class="outline-3">
<h3 id="orgf81af9e"><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
<div id="orga60ef1b" 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-org2ac1966" class="outline-2">
<h2 id="org2ac1966"><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>
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-orgabf5b9a" class="outline-3">
<h3 id="orgabf5b9a"><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>
<div id="outline-container-org373f123" class="outline-4">
<h4 id="org373f123"><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
<div id="outline-container-orgc9002d7" class="outline-4">
<h4 id="orgc9002d7"><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>
<div id="orgcbac798" 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>
<div id="outline-container-org3134308" class="outline-3">
<h3 id="org3134308"><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
<div id="outline-container-org84728eb" class="outline-2">
<h2 id="org84728eb"><span class="section-number-2">5</span> New PI amplifier measurements</h2>
2020-09-03 14:09:03 +02:00
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-org5ca1305" class="outline-3">
<h3 id="org5ca1305"><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>
<div id="org431d6ed" 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>
<div id="outline-container-org091ce77" class="outline-3">
<h3 id="org091ce77"><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>
<div id="outline-container-org78406e1" class="outline-3">
<h3 id="org78406e1"><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>
<p class="date">Created: 2020-11-10 mar. 12:34</p>
2020-08-13 09:54:00 +02:00
</div>
</body>
</html>