428 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			428 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<?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-20 jeu. 12:48 -->
 | 
						|
<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>
 | 
						|
</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="#org4336ef2">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>
 | 
						|
</ul>
 | 
						|
</li>
 | 
						|
<li><a href="#org281ab28">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>
 | 
						|
</ul>
 | 
						|
</li>
 | 
						|
<li><a href="#orgcdf9f3d">3. Comparison PI / Cedrat</a>
 | 
						|
<ul>
 | 
						|
<li><a href="#org338c451">3.1. Results</a></li>
 | 
						|
</ul>
 | 
						|
</li>
 | 
						|
<li><a href="#orga918cc8">4. Impedance Measurement</a>
 | 
						|
<ul>
 | 
						|
<li><a href="#org9e3aa02">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>
 | 
						|
</ul>
 | 
						|
</li>
 | 
						|
<li><a href="#orgf166435">4.2. PI</a></li>
 | 
						|
</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>
 | 
						|
 | 
						|
<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 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 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] = tfestimate(piezo1.V_in, piezo1.V_out, win, [], [], 1/Ts);
 | 
						|
[co_1, ~] = mscohere(piezo1.V_in, piezo1.V_out, win, [], [], 1/Ts);
 | 
						|
 | 
						|
[tf_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, ~] = tfestimate(piezo3.V_in, piezo3.V_out, win, [], [], 1/Ts);
 | 
						|
[co_3, ~] = mscohere(piezo3.V_in, piezo3.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="orgec9af25" 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>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
 | 
						|
<div id="outline-container-org657a286" class="outline-3">
 | 
						|
<h3 id="org657a286"><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');
 | 
						|
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] = tfestimate(piezo1.V_in, piezo1.V_out, win, [], [], 1/Ts);
 | 
						|
[co_1, ~] = mscohere(piezo1.V_in, piezo1.V_out, win, [], [], 1/Ts);
 | 
						|
 | 
						|
[tf_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, ~] = tfestimate(piezo3.V_in, piezo3.V_out, win, [], [], 1/Ts);
 | 
						|
[co_3, ~] = mscohere(piezo3.V_in, piezo3.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="org5423cb8" 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>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
</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 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 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] = tfestimate(hi.V_in, hi.V_out, win, [], [], 1/Ts);
 | 
						|
[co_hi, ~] = mscohere(hi.V_in, hi.V_out, win, [], [], 1/Ts);
 | 
						|
 | 
						|
[tf_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, ~] = tfestimate(lo.V_in, lo.V_out, win, [], [], 1/Ts);
 | 
						|
[co_lo, ~] = mscohere(lo.V_in, lo.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="org0ee1f80" 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>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
 | 
						|
<div id="outline-container-orgf9d7754" class="outline-3">
 | 
						|
<h3 id="orgf9d7754"><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');
 | 
						|
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] = tfestimate(hi.V_in, hi.V_out, win, [], [], 1/Ts);
 | 
						|
[co_hi, ~] = mscohere(hi.V_in, hi.V_out, win, [], [], 1/Ts);
 | 
						|
 | 
						|
[tf_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>
 | 
						|
 | 
						|
 | 
						|
<div id="org83d2edd" 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>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
</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 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 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] = 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="orgfe80000" 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>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
 | 
						|
<div id="outline-container-orga918cc8" class="outline-2">
 | 
						|
<h2 id="orga918cc8"><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-org9e3aa02" class="outline-3">
 | 
						|
<h3 id="org9e3aa02"><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 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]
 | 
						|
V = 0.998; % Output Voltage without any load [V]
 | 
						|
Vp = 0.912; % 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.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>
 | 
						|
</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 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]
 | 
						|
C_2 = 10e-6; % Capacitance in [F]
 | 
						|
C_3 = 15e-6; % Capacitance in [F]
 | 
						|
 | 
						|
Ri = R * (V - Vp)/Vp; % Internal resistance [Ohm]
 | 
						|
G0 = 20;
 | 
						|
 | 
						|
G_1 = G0/(1+Ri*C_1*s);
 | 
						|
G_2 = G0/(1+Ri*C_2*s);
 | 
						|
G_3 = G0/(1+Ri*C_3*s);
 | 
						|
</pre>
 | 
						|
</div>
 | 
						|
 | 
						|
 | 
						|
<div id="orgeb39756" 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>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
 | 
						|
<div id="outline-container-orgf166435" class="outline-3">
 | 
						|
<h3 id="orgf166435"><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 = 1.059; % Output Voltage without any load [V]
 | 
						|
Vp = 0.828; % 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.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>
 | 
						|
</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>
 | 
						|
</div>
 | 
						|
</body>
 | 
						|
</html>
 |