Add analysis of new PI measurments

This commit is contained in:
Thomas Dehaeze 2020-09-03 14:09:03 +02:00
parent 4be38dd61f
commit 944182e4ce
7 changed files with 219 additions and 47 deletions

BIN
figs/pi_slew_rate_notch.pdf Normal file

Binary file not shown.

BIN
figs/pi_slew_rate_notch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 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-20 jeu. 12:48 -->
<!-- 2020-09-03 jeu. 14:08 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Measurement of Piezoelectric Amplifiers</title>
<meta name="generator" content="Org mode" />
@ -31,32 +31,38 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org4336ef2">1. Effect of a change of capacitance</a>
<li><a href="#org38c98dd">1. Effect of a change of capacitance</a>
<ul>
<li><a href="#org5f28beb">1.1. Cedrat Technology</a></li>
<li><a href="#org657a286">1.2. PI</a></li>
<li><a href="#orgd444b8f">1.1. Cedrat Technology</a></li>
<li><a href="#orgc284cd7">1.2. PI</a></li>
</ul>
</li>
<li><a href="#org281ab28">2. Effect of a change in Voltage level</a>
<li><a href="#org8e51ecb">2. Effect of a change in Voltage level</a>
<ul>
<li><a href="#orgcd8bd87">2.1. Cedrat Technology</a></li>
<li><a href="#orgf9d7754">2.2. PI</a></li>
<li><a href="#org78c90ac">2.1. Cedrat Technology</a></li>
<li><a href="#org34fdac0">2.2. PI</a></li>
</ul>
</li>
<li><a href="#orgcdf9f3d">3. Comparison PI / Cedrat</a>
<li><a href="#org51adef6">3. Comparison PI / Cedrat</a>
<ul>
<li><a href="#org338c451">3.1. Results</a></li>
<li><a href="#org8b66dbb">3.1. Results</a></li>
</ul>
</li>
<li><a href="#orga918cc8">4. Impedance Measurement</a>
<li><a href="#orgbaa04fd">4. Impedance Measurement</a>
<ul>
<li><a href="#org9e3aa02">4.1. Cedrat Technology</a>
<li><a href="#org9225a6f">4.1. Cedrat Technology</a>
<ul>
<li><a href="#org84e00e0">4.1.1. Compute Impedance</a></li>
<li><a href="#orge2e6f5d">4.1.2. Effect of Impedance on the phase drop</a></li>
<li><a href="#orgf9c6ba6">4.1.1. Compute Impedance</a></li>
<li><a href="#orgde9b8ca">4.1.2. Effect of Impedance on the phase drop</a></li>
</ul>
</li>
<li><a href="#orgf166435">4.2. PI</a></li>
<li><a href="#org7d1ffb3">4.2. PI</a></li>
</ul>
</li>
<li><a href="#org224f00f">5. New PI amplifier measurements</a>
<ul>
<li><a href="#orgeba0bc7">5.1. PI</a></li>
<li><a href="#org08c572e">5.2. Transfer function of the Voltage Amplifier</a></li>
</ul>
</li>
</ul>
@ -76,12 +82,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-org4336ef2" class="outline-2">
<h2 id="org4336ef2"><span class="section-number-2">1</span> Effect of a change of capacitance</h2>
<div id="outline-container-org38c98dd" class="outline-2">
<h2 id="org38c98dd"><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-org5f28beb" class="outline-3">
<h3 id="org5f28beb"><span class="section-number-3">1.1</span> Cedrat Technology</h3>
<div id="outline-container-orgd444b8f" class="outline-3">
<h3 id="orgd444b8f"><span class="section-number-3">1.1</span> Cedrat Technology</h3>
<div class="outline-text-3" id="text-1-1">
<p>
Load Data
@ -120,7 +126,7 @@ We remove the phase delay due to the time delay of the ADC/DAC:
</div>
<div id="orgec9af25" class="figure">
<div id="org0777d11" 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>
@ -128,8 +134,8 @@ We remove the phase delay due to the time delay of the ADC/DAC:
</div>
</div>
<div id="outline-container-org657a286" class="outline-3">
<h3 id="org657a286"><span class="section-number-3">1.2</span> PI</h3>
<div id="outline-container-orgc284cd7" class="outline-3">
<h3 id="orgc284cd7"><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');
@ -162,7 +168,7 @@ We remove the phase delay due to the time delay of the ADC/DAC:
</div>
<div id="org5423cb8" class="figure">
<div id="orgd6b252a" 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>
@ -171,12 +177,12 @@ We remove the phase delay due to the time delay of the ADC/DAC:
</div>
</div>
<div id="outline-container-org281ab28" class="outline-2">
<h2 id="org281ab28"><span class="section-number-2">2</span> Effect of a change in Voltage level</h2>
<div id="outline-container-org8e51ecb" class="outline-2">
<h2 id="org8e51ecb"><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-orgcd8bd87" class="outline-3">
<h3 id="orgcd8bd87"><span class="section-number-3">2.1</span> Cedrat Technology</h3>
<div id="outline-container-org78c90ac" class="outline-3">
<h3 id="org78c90ac"><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');
@ -209,7 +215,7 @@ We remove the phase delay due to the time delay of the ADC/DAC:
</div>
<div id="org0ee1f80" class="figure">
<div id="org3fcbc82" 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>
@ -217,8 +223,8 @@ We remove the phase delay due to the time delay of the ADC/DAC:
</div>
</div>
<div id="outline-container-orgf9d7754" class="outline-3">
<h3 id="orgf9d7754"><span class="section-number-3">2.2</span> PI</h3>
<div id="outline-container-org34fdac0" class="outline-3">
<h3 id="org34fdac0"><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');
@ -239,7 +245,7 @@ win = hann(ceil(0.1/Ts));
</div>
<div id="org83d2edd" class="figure">
<div id="orgf3a50ce" 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>
@ -248,12 +254,12 @@ win = hann(ceil(0.1/Ts));
</div>
</div>
<div id="outline-container-orgcdf9f3d" class="outline-2">
<h2 id="orgcdf9f3d"><span class="section-number-2">3</span> Comparison PI / Cedrat</h2>
<div id="outline-container-org51adef6" class="outline-2">
<h2 id="org51adef6"><span class="section-number-2">3</span> Comparison PI / Cedrat</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org338c451" class="outline-3">
<h3 id="org338c451"><span class="section-number-3">3.1</span> Results</h3>
<div id="outline-container-org8b66dbb" class="outline-3">
<h3 id="org8b66dbb"><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');
@ -279,7 +285,7 @@ We remove the phase delay due to the time delay of the ADC/DAC:
</div>
<div id="orgfe80000" class="figure">
<div id="org2e2f88d" 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>
@ -288,8 +294,8 @@ We remove the phase delay due to the time delay of the ADC/DAC:
</div>
</div>
<div id="outline-container-orga918cc8" class="outline-2">
<h2 id="orga918cc8"><span class="section-number-2">4</span> Impedance Measurement</h2>
<div id="outline-container-orgbaa04fd" class="outline-2">
<h2 id="orgbaa04fd"><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.
@ -311,12 +317,12 @@ From the two values of voltage, the internal resistor value can be computed:
</p>
</div>
<div id="outline-container-org9e3aa02" class="outline-3">
<h3 id="org9e3aa02"><span class="section-number-3">4.1</span> Cedrat Technology</h3>
<div id="outline-container-org9225a6f" class="outline-3">
<h3 id="org9225a6f"><span class="section-number-3">4.1</span> Cedrat Technology</h3>
<div class="outline-text-3" id="text-4-1">
</div>
<div id="outline-container-org84e00e0" class="outline-4">
<h4 id="org84e00e0"><span class="section-number-4">4.1.1</span> Compute Impedance</h4>
<div id="outline-container-orgf9c6ba6" class="outline-4">
<h4 id="orgf9c6ba6"><span class="section-number-4">4.1.1</span> Compute Impedance</h4>
<div class="outline-text-4" id="text-4-1-1">
<div class="org-src-container">
<pre class="src src-matlab">R = 10; % Resistive Load used [Ohm]
@ -353,8 +359,8 @@ Vp = 4.874; % Output Voltage with resistice load [V]
</div>
</div>
<div id="outline-container-orge2e6f5d" class="outline-4">
<h4 id="orge2e6f5d"><span class="section-number-4">4.1.2</span> Effect of Impedance on the phase drop</h4>
<div id="outline-container-orgde9b8ca" class="outline-4">
<h4 id="orgde9b8ca"><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">
<div class="org-src-container">
<pre class="src src-matlab">C_1 = 5e-6; % Capacitance in [F]
@ -371,7 +377,7 @@ G_3 = G0/(1+Ri*C_3*s);
</div>
<div id="orgeb39756" class="figure">
<div id="orge30d566" 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>
@ -380,8 +386,8 @@ G_3 = G0/(1+Ri*C_3*s);
</div>
</div>
<div id="outline-container-orgf166435" class="outline-3">
<h3 id="orgf166435"><span class="section-number-3">4.2</span> PI</h3>
<div id="outline-container-org7d1ffb3" class="outline-3">
<h3 id="org7d1ffb3"><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]
@ -418,10 +424,73 @@ Vp = 1.637; % Output Voltage with resistice load [V]
</div>
</div>
</div>
<div id="outline-container-org224f00f" class="outline-2">
<h2 id="org224f00f"><span class="section-number-2">5</span> New PI amplifier measurements</h2>
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-orgeba0bc7" class="outline-3">
<h3 id="orgeba0bc7"><span class="section-number-3">5.1</span> PI</h3>
<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('mat/pi_slew_rate_min.mat');
pi_sr_max = load('mat/pi_slew_rate_max.mat');
pi_sr_max_notch = load('mat/pi_slew_rate_max_notch_high.mat');
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e-4;
win = hann(ceil(0.1/Ts));
[tf_sr_min, f] = tfestimate(pi_sr_min.V_in, pi_sr_min.V_out, win, [], [], 1/Ts);
[tf_sr_max, ~] = tfestimate(pi_sr_max.V_in, pi_sr_max.V_out, win, [], [], 1/Ts);
[tf_sr_max_notch, ~] = tfestimate(pi_sr_max_notch.V_in, pi_sr_max_notch.V_out, win, [], [], 1/Ts);
</pre>
</div>
<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="orga46f3c0" class="figure">
<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-org08c572e" class="outline-3">
<h3 id="org08c572e"><span class="section-number-3">5.2</span> Transfer function of the Voltage Amplifier</h3>
<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*pi*5e3; % Notch Filter Frequency [rad/s]
G = 10.5*(s^2 + 2*w_nf*0.12*s + w_nf^2)/(s^2 + 2*w_nf*s + w_nf^2);
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-08-20 jeu. 12:48</p>
<p class="date">Created: 2020-09-03 jeu. 14:08</p>
</div>
</body>
</html>

103
index.org
View File

@ -527,3 +527,106 @@ From the two values of voltage, the internal resistor value can be computed:
#+RESULTS:
: 2.7795
* New PI amplifier measurements
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
** PI
Three measurements are done:
- Slew Rate limitation at maximum
- Slew Rate limitation at minimum
- Notch Filter at maximum frequency
#+begin_src matlab
pi_sr_min = load('mat/pi_slew_rate_min.mat');
pi_sr_max = load('mat/pi_slew_rate_max.mat');
pi_sr_max_notch = load('mat/pi_slew_rate_max_notch_high.mat');
#+end_src
#+begin_src matlab
Ts = 1e-4;
win = hann(ceil(0.1/Ts));
[tf_sr_min, f] = tfestimate(pi_sr_min.V_in, pi_sr_min.V_out, win, [], [], 1/Ts);
[tf_sr_max, ~] = tfestimate(pi_sr_max.V_in, pi_sr_max.V_out, win, [], [], 1/Ts);
[tf_sr_max_notch, ~] = tfestimate(pi_sr_max_notch.V_in, pi_sr_max_notch.V_out, win, [], [], 1/Ts);
#+end_src
#+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, abs(tf_sr_min), 'DisplayName', 'Slew Rate - Min')
plot(f, abs(tf_sr_max), 'DisplayName', 'Slew Rate - Max')
plot(f, abs(tf_sr_max_notch), 'DisplayName', 'Remove Notch')
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
ylabel('Amplitude'); xlabel('Frequency [Hz]');
hold off;
legend('location', 'southwest');
ax2 = subplot(2, 1, 2);
hold on;
plot(f, 180/pi*unwrap(angle(tf_sr_min))-angle_delay)
plot(f, 180/pi*unwrap(angle(tf_sr_max))-angle_delay)
plot(f, 180/pi*unwrap(angle(tf_sr_max_notch))-angle_delay)
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'lin');
ylabel('Phase'); xlabel('Frequency [Hz]');
hold off;
ylim([-180, 45]);
yticks(-360:45:90)
linkaxes([ax1,ax2], 'x');
xlim([10, 5e3]);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/pi_slew_rate_notch.pdf', 'width', 'full', 'height', 'full');
#+end_src
#+name: fig:pi_slew_rate_notch
#+caption: Effect of a change in the slew rate limitation and notch filter
#+RESULTS:
[[file:figs/pi_slew_rate_notch.png]]
** Transfer function of the Voltage Amplifier
The identified transfer function still seems to match the one of a notch filter at 5kHz.
#+begin_src matlab
w_nf = 2*pi*5e3; % Notch Filter Frequency [rad/s]
G = 10.5*(s^2 + 2*w_nf*0.12*s + w_nf^2)/(s^2 + 2*w_nf*s + w_nf^2);
#+end_src
#+begin_src matlab :exports none
figure;
ax1 = subplot(2, 1, 1);
hold on;
plot(f, abs(tf_sr_max_notch), 'DisplayName', 'Remove Notch')
plot(f, abs(squeeze(freqresp(G, f, 'Hz'))), 'DisplayName', 'Remove Notch')
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
ylabel('Amplitude'); xlabel('Frequency [Hz]');
hold off;
legend('location', 'southwest');
ax2 = subplot(2, 1, 2);
hold on;
plot(f, 180/pi*unwrap(angle(tf_sr_max_notch))-angle_delay)
plot(f, 180/pi*angle(squeeze(freqresp(G, f, 'Hz'))), 'DisplayName', 'Remove Notch')
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'lin');
ylabel('Phase'); xlabel('Frequency [Hz]');
hold off;
ylim([-180, 45]);
yticks(-360:45:90)
linkaxes([ax1,ax2], 'x');
xlim([10, 5e3]);
#+end_src

Binary file not shown.

Binary file not shown.

Binary file not shown.