Remove time delay from measurements

This commit is contained in:
Thomas Dehaeze 2020-08-17 08:41:08 +02:00
parent 4797a1d1ca
commit 6a2457fb32
4 changed files with 134 additions and 61 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

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>
<!-- 2020-08-13 jeu. 17:11 -->
<!-- 2020-08-17 lun. 08:41 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Measurement of Piezoelectric Amplifiers</title>
<meta name="generator" content="Org mode" />
@ -31,27 +31,27 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org1bbe59a">1. Effect of a change of capacitance</a>
<li><a href="#org89d3be5">1. Effect of a change of capacitance</a>
<ul>
<li><a href="#orgdb6f8ad">1.1. Cedrat Technology</a></li>
<li><a href="#orgee41528">1.2. PI</a></li>
<li><a href="#org1211753">1.1. Cedrat Technology</a></li>
<li><a href="#orgef44c57">1.2. PI</a></li>
</ul>
</li>
<li><a href="#orgd75b37d">2. Effect of a change in Voltage level</a>
<li><a href="#org75c5c14">2. Effect of a change in Voltage level</a>
<ul>
<li><a href="#orga6e0258">2.1. Cedrat Technology</a></li>
<li><a href="#orgd744290">2.2. PI</a></li>
<li><a href="#org1454a61">2.1. Cedrat Technology</a></li>
<li><a href="#orgdffe7af">2.2. PI</a></li>
</ul>
</li>
<li><a href="#org4b79280">3. Comparison PI / Cedrat</a>
<li><a href="#orgc4fcf01">3. Comparison PI / Cedrat</a>
<ul>
<li><a href="#org590829e">3.1. Results</a></li>
<li><a href="#org942d663">3.1. Results</a></li>
</ul>
</li>
<li><a href="#org2f30df2">4. Impedance Measurement</a>
<li><a href="#org983e8a7">4. Impedance Measurement</a>
<ul>
<li><a href="#org7ad403e">4.1. Cedrat Technology</a></li>
<li><a href="#org746e78c">4.2. PI</a></li>
<li><a href="#org0c06989">4.1. Cedrat Technology</a></li>
<li><a href="#orgf8cf0b3">4.2. PI</a></li>
</ul>
</li>
</ul>
@ -71,12 +71,12 @@ 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>
<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>
<div id="outline-container-org89d3be5" class="outline-2">
<h2 id="org89d3be5"><span class="section-number-2">1</span> Effect of a change of capacitance</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgdb6f8ad" class="outline-3">
<h3 id="orgdb6f8ad"><span class="section-number-3">1.1</span> Cedrat Technology</h3>
<div id="outline-container-org1211753" class="outline-3">
<h3 id="org1211753"><span class="section-number-3">1.1</span> Cedrat Technology</h3>
<div class="outline-text-3" id="text-1-1">
<p>
Load Data
@ -109,7 +109,7 @@ win = hann(ceil(0.1/Ts));
</div>
<div id="orga28400f" class="figure">
<div id="org46b30a6" class="figure">
<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>
@ -117,8 +117,8 @@ win = hann(ceil(0.1/Ts));
</div>
</div>
<div id="outline-container-orgee41528" class="outline-3">
<h3 id="orgee41528"><span class="section-number-3">1.2</span> PI</h3>
<div id="outline-container-orgef44c57" class="outline-3">
<h3 id="orgef44c57"><span class="section-number-3">1.2</span> PI</h3>
<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');
@ -145,7 +145,7 @@ win = hann(ceil(0.1/Ts));
</div>
<div id="org9cafd87" class="figure">
<div id="orgfea7926" class="figure">
<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>
@ -154,12 +154,12 @@ win = hann(ceil(0.1/Ts));
</div>
</div>
<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>
<div id="outline-container-org75c5c14" class="outline-2">
<h2 id="org75c5c14"><span class="section-number-2">2</span> Effect of a change in Voltage level</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-orga6e0258" class="outline-3">
<h3 id="orga6e0258"><span class="section-number-3">2.1</span> Cedrat Technology</h3>
<div id="outline-container-org1454a61" class="outline-3">
<h3 id="org1454a61"><span class="section-number-3">2.1</span> Cedrat Technology</h3>
<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');
@ -184,7 +184,7 @@ win = hann(ceil(0.1/Ts));
</div>
<div id="org0ea5714" class="figure">
<div id="org4b115b8" class="figure">
<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>
@ -192,8 +192,8 @@ win = hann(ceil(0.1/Ts));
</div>
</div>
<div id="outline-container-orgd744290" class="outline-3">
<h3 id="orgd744290"><span class="section-number-3">2.2</span> PI</h3>
<div id="outline-container-orgdffe7af" class="outline-3">
<h3 id="orgdffe7af"><span class="section-number-3">2.2</span> PI</h3>
<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');
@ -214,7 +214,7 @@ win = hann(ceil(0.1/Ts));
</div>
<div id="orgb43e11f" class="figure">
<div id="org741394d" class="figure">
<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>
@ -223,12 +223,12 @@ win = hann(ceil(0.1/Ts));
</div>
</div>
<div id="outline-container-org4b79280" class="outline-2">
<h2 id="org4b79280"><span class="section-number-2">3</span> Comparison PI / Cedrat</h2>
<div id="outline-container-orgc4fcf01" class="outline-2">
<h2 id="orgc4fcf01"><span class="section-number-2">3</span> Comparison PI / Cedrat</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org590829e" class="outline-3">
<h3 id="org590829e"><span class="section-number-3">3.1</span> Results</h3>
<div id="outline-container-org942d663" class="outline-3">
<h3 id="org942d663"><span class="section-number-3">3.1</span> Results</h3>
<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');
@ -240,13 +240,21 @@ pi_results = load('mat/pi_505_high.mat', 't', 'V_in', 'V_out');
<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);
[tf_ce, f] = tfestimate(ce_results.V_in, ce_results.V_out, win, [], [], 1/Ts);
[tf_pi, ~] = tfestimate(pi_results.V_in, pi_results.V_out, win, [], [], 1/Ts);
</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/pi*angle(squeeze(freqresp(exp(-s*Ts), f, 'Hz')));
</pre>
</div>
<div id="orgbdf4de1" class="figure">
<div id="orga707bec" class="figure">
<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>
@ -255,8 +263,8 @@ win = hann(ceil(0.1/Ts));
</div>
</div>
<div id="outline-container-org2f30df2" class="outline-2">
<h2 id="org2f30df2"><span class="section-number-2">4</span> Impedance Measurement</h2>
<div id="outline-container-org983e8a7" class="outline-2">
<h2 id="org983e8a7"><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.
@ -278,13 +286,13 @@ From the two values of voltage, the internal resistor value can be computed:
</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 id="outline-container-org0c06989" class="outline-3">
<h3 id="org0c06989"><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]
V = 0.998; % Output Voltage without any load [V]
Vp = 0.912; % Output Voltage with resistice load [V]
</pre>
</div>
@ -294,7 +302,24 @@ Vp = 3.46; % Output Voltage with resistice load [V]
</div>
<pre class="example">
19.162
0.94298
</pre>
<div class="org-src-container">
<pre class="src src-matlab">R = 47; % Resistive Load used [Ohm]
V = 4.960; % Output Voltage without any load [V]
Vp = 4.874; % 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">
0.8293
</pre>
@ -308,13 +333,13 @@ G_ce = 1/(1+Ri*C*s);
</div>
</div>
<div id="outline-container-org746e78c" class="outline-3">
<h3 id="org746e78c"><span class="section-number-3">4.2</span> PI</h3>
<div id="outline-container-orgf8cf0b3" class="outline-3">
<h3 id="orgf8cf0b3"><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]
V = 1.059; % Output Voltage without any load [V]
Vp = 0.828; % Output Voltage with resistice load [V]
</pre>
</div>
@ -324,7 +349,24 @@ Vp = 4.14; % Output Voltage with resistice load [V]
</div>
<pre class="example">
15
2.7899
</pre>
<div class="org-src-container">
<pre class="src src-matlab">R = 10; % Resistive Load used [Ohm]
V = 2.092; % Output Voltage without any load [V]
Vp = 1.637; % 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">
2.7795
</pre>
</div>
</div>
@ -332,7 +374,7 @@ Vp = 4.14; % Output Voltage with resistice load [V]
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-08-13 jeu. 17:11</p>
<p class="date">Created: 2020-08-17 lun. 08:41</p>
</div>
</body>
</html>

View File

@ -315,16 +315,21 @@ Compute Coherence and Transfer functions
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);
[tf_ce, f] = tfestimate(ce_results.V_in, ce_results.V_out, win, [], [], 1/Ts);
[tf_pi, ~] = tfestimate(pi_results.V_in, pi_results.V_out, win, [], [], 1/Ts);
#+end_src
We remove the phase delay due to the time delay of the ADC/DAC:
#+begin_src matlab
angle_delay = 180/pi*angle(squeeze(freqresp(exp(-s*Ts), f, 'Hz')));
#+end_src
#+begin_src matlab :exports none
figure;
ax1 = subplot(2, 1, 1);
hold on;
plot(f_pi, abs(tf_pi), 'DisplayName', 'PI')
plot(f_ce, abs(tf_ce), 'DisplayName', 'Cedrat')
plot(f, abs(tf_pi), 'DisplayName', 'PI')
plot(f, abs(tf_ce), 'DisplayName', 'Cedrat')
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
ylabel('Amplitude'); xlabel('Frequency [Hz]');
hold off;
@ -333,12 +338,12 @@ Compute Coherence and Transfer functions
ax2 = subplot(2, 1, 2);
hold on;
plot(f_pi, 180/pi*unwrap(angle(tf_pi)))
plot(f_ce, 180/pi*unwrap(angle(tf_ce)))
plot(f, 180/pi*unwrap(angle(tf_pi))-angle_delay)
plot(f, 180/pi*unwrap(angle(tf_ce))-angle_delay)
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'lin');
ylabel('Phase'); xlabel('Frequency [Hz]');
hold off;
ylim([-360, 0]);
ylim([-270, 90]);
yticks(-360:90:90)
linkaxes([ax1,ax2], 'x');
@ -379,8 +384,8 @@ From the two values of voltage, the internal resistor value can be computed:
** Cedrat Technology
#+begin_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]
V = 0.998; % Output Voltage without any load [V]
Vp = 0.912; % Output Voltage with resistice load [V]
#+end_src
#+begin_src matlab :results replace value
@ -388,7 +393,20 @@ From the two values of voltage, the internal resistor value can be computed:
#+end_src
#+RESULTS:
: 19.162
: 0.94298
#+begin_src matlab
R = 47; % Resistive Load used [Ohm]
V = 4.960; % Output Voltage without any load [V]
Vp = 4.874; % Output Voltage with resistice load [V]
#+end_src
#+begin_src matlab :results replace value
R * (V - Vp)/Vp;
#+end_src
#+RESULTS:
: 0.8293
#+begin_src matlab
C = 5e-6; % Capacitance in [F]
@ -424,8 +442,8 @@ From the two values of voltage, the internal resistor value can be computed:
** PI
#+begin_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]
V = 1.059; % Output Voltage without any load [V]
Vp = 0.828; % Output Voltage with resistice load [V]
#+end_src
#+begin_src matlab :results replace value
@ -433,5 +451,18 @@ From the two values of voltage, the internal resistor value can be computed:
#+end_src
#+RESULTS:
: 15
: 2.7899
#+begin_src matlab
R = 10; % Resistive Load used [Ohm]
V = 2.092; % Output Voltage without any load [V]
Vp = 1.637; % Output Voltage with resistice load [V]
#+end_src
#+begin_src matlab :results replace value
R * (V - Vp)/Vp
#+end_src
#+RESULTS:
: 2.7795