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" / >
2020-11-10 12:36:41 +01:00
< 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 >
2020-08-13 10:00:54 +02:00
< script > M a t h J a x = {
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 >
2020-08-20 12:48:28 +02:00
< 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 >
2020-08-20 12:48:28 +02:00
< / 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" >
2020-08-13 10:00:54 +02:00
< p >
2020-11-10 12:44:25 +01:00
The following two voltage amplifiers are tested:
2020-08-13 10:00:54 +02:00
< / p >
< ul class = "org-ul" >
2020-11-10 12:36:41 +01:00
< 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 >
2020-08-13 10:00:54 +02:00
< / ul >
< p >
2020-11-10 12:36:41 +01:00
The piezoelectric actuator under test is an APA95ML from Cedrat technology (< a href = "doc/APA95ML.pdf" > doc< / a > ).
2020-08-13 10:00:54 +02:00
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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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
2020-11-10 12:36:41 +01: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
2020-11-10 12:36:41 +01: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
2020-11-10 12:36:41 +01: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 >
2020-08-20 12:48:28 +02:00
< p >
We remove the phase delay due to the time delay of the ADC/DAC:
< / p >
< div class = "org-src-container" >
2020-11-10 12:36:41 +01:00
< 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-20 12:48:28 +02:00
< / 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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
2020-11-10 12:36:41 +01: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
2020-11-10 12:36:41 +01: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
2020-11-10 12:36:41 +01: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 >
2020-08-20 12:48:28 +02:00
< p >
We remove the phase delay due to the time delay of the ADC/DAC:
< / p >
< div class = "org-src-container" >
2020-11-10 12:36:41 +01:00
< 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-20 12:48:28 +02:00
< / 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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
2020-11-10 12:36:41 +01: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
2020-11-10 12:36:41 +01: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
2020-11-10 12:36:41 +01: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-08-20 12:48:28 +02:00
< p >
We remove the phase delay due to the time delay of the ADC/DAC:
< / p >
< div class = "org-src-container" >
2020-11-10 12:36:41 +01:00
< 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-20 12:48:28 +02:00
< / pre >
< / div >
2020-08-13 09:54:00 +02:00
2020-08-20 12:48:28 +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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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
2020-11-10 12:36:41 +01: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
2020-11-10 12:36:41 +01: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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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
2020-11-10 12:36:41 +01: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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-08-20 12:48:28 +02:00
< / 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 >
2020-08-20 12:48:28 +02:00
< div class = "outline-text-4" id = "text-4-1-1" >
2020-08-13 17:11:21 +02:00
< div class = "org-src-container" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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 >
2020-08-20 12:48:28 +02:00
< / 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 >
2020-08-20 12:48:28 +02:00
< div class = "outline-text-4" id = "text-4-1-2" >
2020-08-13 17:11:21 +02:00
< div class = "org-src-container" >
2020-11-10 12:36:41 +01:00
< 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 >
2020-08-20 12:48:28 +02:00
2020-11-10 12:36:41 +01:00
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 >
2020-08-20 12:48:28 +02:00
G0 = 20;
2020-08-13 17:11:21 +02:00
2020-11-10 12:36:41 +01: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-08-20 12:48:28 +02:00
2020-11-10 12:44:25 +01:00
< div id = "org597c459" class = "figure" >
2020-08-20 12:48:28 +02:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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
2020-11-10 12:36:41 +01: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" >
2020-11-10 12:36:41 +01:00
< 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" >
2020-11-10 12:36:41 +01:00
< 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 >
2020-11-10 12:36:41 +01:00
< 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 >