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-12 10:11:31 +01:00
<!-- 2020 - 11 - 12 jeu. 10:11 -->
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" / >
2020-11-12 10:11:31 +01:00
< link rel = "stylesheet" type = "text/css" href = "https://research.tdehaeze.xyz/css/style.css" / >
< script type = "text/javascript" src = "https://research.tdehaeze.xyz/js/script.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 >
2020-11-12 10:11:31 +01:00
< div id = "org-div-home-and-up" >
< a accesskey = "h" href = "../index.html" > UP < / a >
|
< a accesskey = "H" href = "../index.html" > HOME < / a >
< / div > < div id = "content" >
2020-08-13 09:54:00 +02:00
< 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-12 10:11:31 +01:00
< li > < a href = "#org2765a72" > 1. Effect of a change of capacitance< / a >
2020-08-13 09:54:00 +02:00
< ul >
2020-11-12 10:11:31 +01:00
< li > < a href = "#org0c5b019" > 1.1. Cedrat Technology< / a > < / li >
< li > < a href = "#org452991d" > 1.2. PI< / a > < / li >
2020-08-13 09:54:00 +02:00
< / ul >
< / li >
2020-11-12 10:11:31 +01:00
< li > < a href = "#org872b871" > 2. Effect of a change in Voltage level< / a >
2020-08-13 09:54:00 +02:00
< ul >
2020-11-12 10:11:31 +01:00
< li > < a href = "#org99ab8fd" > 2.1. Cedrat Technology< / a > < / li >
< li > < a href = "#org134abf4" > 2.2. PI< / a > < / li >
2020-08-13 09:54:00 +02:00
< / ul >
< / li >
2020-11-12 10:11:31 +01:00
< li > < a href = "#orgd766270" > 3. Comparison PI / Cedrat< / a >
2020-08-13 09:54:00 +02:00
< ul >
2020-11-12 10:11:31 +01:00
< li > < a href = "#orgbec8ff4" > 3.1. Results< / a > < / li >
2020-08-13 17:11:21 +02:00
< / ul >
< / li >
2020-11-12 10:11:31 +01:00
< li > < a href = "#org2f91855" > 4. Impedance Measurement< / a >
2020-08-13 17:11:21 +02:00
< ul >
2020-11-12 10:11:31 +01:00
< li > < a href = "#orgebadc67" > 4.1. Cedrat Technology< / a >
2020-08-20 12:48:28 +02:00
< ul >
2020-11-12 10:11:31 +01:00
< li > < a href = "#org947e6a7" > 4.1.1. Compute Impedance< / a > < / li >
< li > < a href = "#org876a45b" > 4.1.2. Effect of Impedance on the phase drop< / a > < / li >
2020-08-20 12:48:28 +02:00
< / ul >
< / li >
2020-11-12 10:11:31 +01:00
< li > < a href = "#org6c099fc" > 4.2. PI< / a > < / li >
2020-09-03 14:09:03 +02:00
< / ul >
< / li >
2020-11-12 10:11:31 +01:00
< li > < a href = "#org67f8be8" > 5. Effect of filters configuration on the PI-E505 dynamics< / a >
2020-09-03 14:09:03 +02:00
< ul >
2020-11-12 10:11:31 +01:00
< li > < a href = "#orgf08c313" > 5.1. PI< / a > < / li >
< li > < a href = "#orge828488" > 5.2. Transfer function of the Voltage Amplifier< / a > < / li >
< li > < a href = "#orgd44e75c" > 5.3. With Load< / a > < / li >
2020-08-13 09:54:00 +02:00
< / ul >
< / li >
< / ul >
< / div >
< / div >
2020-11-12 10:11:31 +01:00
< div class = "note" id = "org49fbae4" >
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" >
2020-11-12 10:11:31 +01:00
< li > Section < a href = "#org23aafd9" > 1< / a > : The effect of a change in load capacitance on the amplifier dynamics is studied< / li >
< li > Section < a href = "#org2888e25" > 2< / a > : The effect on the voltage level on the amplifier dynamics is studied< / li >
< li > Section < a href = "#org9834afb" > 3< / a > : The dynamics of the E-505 and LA75B are compared< / li >
< li > Section < a href = "#org36e302c" > 4< / a > : The output impedance of both amplifiers are measured< / li >
< li > Section < a href = "#org846f3ab" > 5< / a > : The effect of the internal filters of the E-505 on its dynamics is studied< / li >
2020-11-10 12:44:25 +01:00
< / ul >
2020-11-12 10:11:31 +01:00
< div id = "outline-container-org2765a72" class = "outline-2" >
< h2 id = "org2765a72" > < 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 >
2020-11-12 10:11:31 +01:00
< a id = "org23aafd9" > < / a >
2020-11-10 12:44:25 +01:00
< / p >
2020-08-13 09:54:00 +02:00
< / div >
2020-11-12 10:11:31 +01:00
< div id = "outline-container-org0c5b019" class = "outline-3" >
< h3 id = "org0c5b019" > < 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-12 10:11:31 +01:00
< div id = "org89f2a0e" 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-12 10:11:31 +01:00
< div id = "outline-container-org452991d" class = "outline-3" >
< h3 id = "org452991d" > < 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-12 10:11:31 +01:00
< div id = "org5607845" 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-12 10:11:31 +01:00
< div id = "outline-container-org872b871" class = "outline-2" >
< h2 id = "org872b871" > < 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 >
2020-11-12 10:11:31 +01:00
< a id = "org2888e25" > < / a >
2020-11-10 12:44:25 +01:00
< / p >
2020-08-13 09:54:00 +02:00
< / div >
2020-11-12 10:11:31 +01:00
< div id = "outline-container-org99ab8fd" class = "outline-3" >
< h3 id = "org99ab8fd" > < 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-12 10:11:31 +01:00
< div id = "org6cca8d0" 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-12 10:11:31 +01:00
< div id = "outline-container-org134abf4" class = "outline-3" >
< h3 id = "org134abf4" > < 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-12 10:11:31 +01:00
< div id = "orgdd3117a" 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-12 10:11:31 +01:00
< div id = "outline-container-orgd766270" class = "outline-2" >
< h2 id = "orgd766270" > < 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 >
2020-11-12 10:11:31 +01:00
< a id = "org9834afb" > < / a >
2020-11-10 12:44:25 +01:00
< / p >
2020-08-13 09:54:00 +02:00
< / div >
2020-11-12 10:11:31 +01:00
< div id = "outline-container-orgbec8ff4" class = "outline-3" >
< h3 id = "orgbec8ff4" > < 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-12 10:11:31 +01:00
< div id = "orgc1176e8" 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-12 10:11:31 +01:00
< div id = "outline-container-org2f91855" class = "outline-2" >
< h2 id = "org2f91855" > < 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-12 10:11:31 +01:00
< a id = "org36e302c" > < / a >
2020-11-10 12:44:25 +01:00
< / 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-12 10:11:31 +01:00
< div id = "outline-container-orgebadc67" class = "outline-3" >
< h3 id = "orgebadc67" > < 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-12 10:11:31 +01:00
< div id = "outline-container-org947e6a7" class = "outline-4" >
< h4 id = "org947e6a7" > < 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-12 10:11:31 +01:00
< div id = "outline-container-org876a45b" class = "outline-4" >
< h4 id = "org876a45b" > < 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-12 10:11:31 +01:00
< div id = "org9b2ba7f" 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-12 10:11:31 +01:00
< div id = "outline-container-org6c099fc" class = "outline-3" >
< h3 id = "org6c099fc" > < 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-12 10:11:31 +01:00
< div id = "outline-container-org67f8be8" class = "outline-2" >
< h2 id = "org67f8be8" > < 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 >
2020-11-12 10:11:31 +01:00
< a id = "org846f3ab" > < / a >
2020-11-10 12:44:25 +01:00
< / p >
2020-09-03 14:09:03 +02:00
< / div >
2020-11-12 10:11:31 +01:00
< div id = "outline-container-orgf08c313" class = "outline-3" >
< h3 id = "orgf08c313" > < 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-12 10:11:31 +01:00
< div id = "org5d55cf1" 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-12 10:11:31 +01:00
< div id = "outline-container-orge828488" class = "outline-3" >
< h3 id = "orge828488" > < 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-12 10:11:31 +01:00
< div id = "outline-container-orgd44e75c" class = "outline-3" >
< h3 id = "orgd44e75c" > < 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-12 10:11:31 +01:00
< p class = "date" > Created: 2020-11-12 jeu. 10:11< / p >
2020-08-13 09:54:00 +02:00
< / div >
< / body >
< / html >