Add test / doc / list of sections

This commit is contained in:
Thomas Dehaeze 2020-11-10 13:42:02 +01:00
parent 73726c1b16
commit 2deaf3b512
10 changed files with 805 additions and 870 deletions

BIN
doc/APA95ML.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
doc/LA75B.pdf Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -10,9 +10,9 @@
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg833"
width="445.25269"
height="309.88138"
viewBox="0 0 445.25269 309.88137"
width="406.60147"
height="227.37746"
viewBox="0 0 406.60148 227.37745"
sodipodi:docname="exp_setup_schematic.svg"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
inkscape:export-filename="/home/thomas/Cloud/thesis/matlab/encoder-test-bench/figs/exp_setup_schematic.png"
@ -188,21 +188,6 @@
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path31590" />
</marker>
<marker
inkscape:collect="always"
inkscape:isstock="true"
style="overflow:visible"
id="marker31582"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path31580" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
@ -651,21 +636,6 @@
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path9173" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="marker2864"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2862"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
@ -2303,7 +2273,7 @@
overflow="visible"
id="symbol2922">
<path
style="stroke:none;"
style="stroke:none"
d=""
id="path4764" />
</symbol>
@ -2311,56 +2281,56 @@
overflow="visible"
id="symbol4826">
<path
style="stroke:none;"
d="M 1.359375 -0.78125 C 1.359375 -0.421875 1.328125 -0.3125 0.5625 -0.3125 L 0.328125 -0.3125 L 0.328125 0 L 6.078125 0 L 6.5 -2.578125 L 6.25 -2.578125 C 6 -1.03125 5.765625 -0.3125 4.0625 -0.3125 L 2.734375 -0.3125 C 2.265625 -0.3125 2.25 -0.375 2.25 -0.703125 L 2.25 -3.375 L 3.140625 -3.375 C 4.109375 -3.375 4.21875 -3.046875 4.21875 -2.203125 L 4.46875 -2.203125 L 4.46875 -4.84375 L 4.21875 -4.84375 C 4.21875 -3.984375 4.109375 -3.671875 3.140625 -3.671875 L 2.25 -3.671875 L 2.25 -6.078125 C 2.25 -6.40625 2.265625 -6.46875 2.734375 -6.46875 L 4.015625 -6.46875 C 5.546875 -6.46875 5.8125 -5.921875 5.96875 -4.53125 L 6.21875 -4.53125 L 5.9375 -6.78125 L 0.328125 -6.78125 L 0.328125 -6.46875 L 0.5625 -6.46875 C 1.328125 -6.46875 1.359375 -6.359375 1.359375 -6 Z M 1.359375 -0.78125 "
style="stroke:none"
d="m 1.359375,-0.78125 c 0,0.359375 -0.03125,0.46875 -0.796875,0.46875 H 0.328125 V 0 h 5.75 L 6.5,-2.578125 H 6.25 C 6,-1.03125 5.765625,-0.3125 4.0625,-0.3125 H 2.734375 C 2.265625,-0.3125 2.25,-0.375 2.25,-0.703125 V -3.375 h 0.890625 c 0.96875,0 1.078125,0.328125 1.078125,1.171875 h 0.25 V -4.84375 h -0.25 c 0,0.859375 -0.109375,1.171875 -1.078125,1.171875 H 2.25 v -2.40625 c 0,-0.328125 0.015625,-0.390625 0.484375,-0.390625 h 1.28125 c 1.53125,0 1.796875,0.546875 1.953125,1.9375 h 0.25 l -0.28125,-2.25 H 0.328125 v 0.3125 H 0.5625 c 0.765625,0 0.796875,0.109375 0.796875,0.46875 z m 0,0"
id="path1073" />
</symbol>
<symbol
overflow="visible"
id="symbol2159">
<path
style="stroke:none;"
d="M 1.09375 -3.421875 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 C 0.671875 -0.015625 1.171875 -0.03125 1.453125 -0.03125 C 1.703125 -0.03125 2.21875 -0.015625 2.5625 0 L 2.5625 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.59375 C 1.78125 -3.625 2.5 -4.1875 3.125 -4.1875 C 3.765625 -4.1875 3.875 -3.65625 3.875 -3.078125 L 3.875 -0.75 C 3.875 -0.3125 3.765625 -0.3125 3.09375 -0.3125 L 3.09375 0 C 3.4375 -0.015625 3.953125 -0.03125 4.21875 -0.03125 C 4.46875 -0.03125 5 -0.015625 5.328125 0 L 5.328125 -0.3125 C 4.8125 -0.3125 4.5625 -0.3125 4.5625 -0.609375 L 4.5625 -2.515625 C 4.5625 -3.375 4.5625 -3.671875 4.25 -4.03125 C 4.109375 -4.203125 3.78125 -4.40625 3.203125 -4.40625 C 2.46875 -4.40625 2 -3.984375 1.71875 -3.359375 L 1.71875 -4.40625 L 0.3125 -4.296875 L 0.3125 -3.984375 C 1.015625 -3.984375 1.09375 -3.921875 1.09375 -3.421875 Z M 1.09375 -3.421875 "
style="stroke:none"
d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0"
id="path9289" />
</symbol>
<symbol
overflow="visible"
id="symbol5760">
<path
style="stroke:none;"
d="M 1.171875 -2.171875 C 1.171875 -3.796875 1.984375 -4.21875 2.515625 -4.21875 C 2.609375 -4.21875 3.234375 -4.203125 3.578125 -3.84375 C 3.171875 -3.8125 3.109375 -3.515625 3.109375 -3.390625 C 3.109375 -3.125 3.296875 -2.9375 3.5625 -2.9375 C 3.828125 -2.9375 4.03125 -3.09375 4.03125 -3.40625 C 4.03125 -4.078125 3.265625 -4.46875 2.5 -4.46875 C 1.25 -4.46875 0.34375 -3.390625 0.34375 -2.15625 C 0.34375 -0.875 1.328125 0.109375 2.484375 0.109375 C 3.8125 0.109375 4.140625 -1.09375 4.140625 -1.1875 C 4.140625 -1.28125 4.03125 -1.28125 4 -1.28125 C 3.921875 -1.28125 3.890625 -1.25 3.875 -1.1875 C 3.59375 -0.265625 2.9375 -0.140625 2.578125 -0.140625 C 2.046875 -0.140625 1.171875 -0.5625 1.171875 -2.171875 Z M 1.171875 -2.171875 "
style="stroke:none"
d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0"
id="path577" />
</symbol>
<symbol
overflow="visible"
id="symbol4145">
<path
style="stroke:none;"
d="M 4.6875 -2.140625 C 4.6875 -3.40625 3.703125 -4.46875 2.5 -4.46875 C 1.25 -4.46875 0.28125 -3.375 0.28125 -2.140625 C 0.28125 -0.84375 1.3125 0.109375 2.484375 0.109375 C 3.6875 0.109375 4.6875 -0.875 4.6875 -2.140625 Z M 2.5 -0.140625 C 2.0625 -0.140625 1.625 -0.34375 1.359375 -0.8125 C 1.109375 -1.25 1.109375 -1.859375 1.109375 -2.21875 C 1.109375 -2.609375 1.109375 -3.140625 1.34375 -3.578125 C 1.609375 -4.03125 2.078125 -4.25 2.484375 -4.25 C 2.921875 -4.25 3.34375 -4.03125 3.609375 -3.59375 C 3.875 -3.171875 3.875 -2.59375 3.875 -2.21875 C 3.875 -1.859375 3.875 -1.3125 3.65625 -0.875 C 3.421875 -0.421875 2.984375 -0.140625 2.5 -0.140625 Z M 2.5 -0.140625 "
style="stroke:none"
d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0"
id="path4287" />
</symbol>
<symbol
overflow="visible"
id="symbol3110">
<path
style="stroke:none;"
d="M 3.78125 -0.546875 L 3.78125 0.109375 L 5.25 0 L 5.25 -0.3125 C 4.5625 -0.3125 4.46875 -0.375 4.46875 -0.875 L 4.46875 -6.921875 L 3.046875 -6.8125 L 3.046875 -6.5 C 3.734375 -6.5 3.8125 -6.4375 3.8125 -5.9375 L 3.8125 -3.78125 C 3.53125 -4.140625 3.09375 -4.40625 2.5625 -4.40625 C 1.390625 -4.40625 0.34375 -3.421875 0.34375 -2.140625 C 0.34375 -0.875 1.3125 0.109375 2.453125 0.109375 C 3.09375 0.109375 3.53125 -0.234375 3.78125 -0.546875 Z M 3.78125 -3.21875 L 3.78125 -1.171875 C 3.78125 -1 3.78125 -0.984375 3.671875 -0.8125 C 3.375 -0.328125 2.9375 -0.109375 2.5 -0.109375 C 2.046875 -0.109375 1.6875 -0.375 1.453125 -0.75 C 1.203125 -1.15625 1.171875 -1.71875 1.171875 -2.140625 C 1.171875 -2.5 1.1875 -3.09375 1.46875 -3.546875 C 1.6875 -3.859375 2.0625 -4.1875 2.609375 -4.1875 C 2.953125 -4.1875 3.375 -4.03125 3.671875 -3.59375 C 3.78125 -3.421875 3.78125 -3.40625 3.78125 -3.21875 Z M 3.78125 -3.21875 "
style="stroke:none"
d="m 3.78125,-0.546875 v 0.65625 L 5.25,0 v -0.3125 c -0.6875,0 -0.78125,-0.0625 -0.78125,-0.5625 V -6.921875 L 3.046875,-6.8125 V -6.5 c 0.6875,0 0.765625,0.0625 0.765625,0.5625 v 2.15625 c -0.28125,-0.359375 -0.71875,-0.625 -1.25,-0.625 -1.171875,0 -2.21875,0.984375 -2.21875,2.265625 0,1.265625 0.96875,2.25 2.109375,2.25 0.640625,0 1.078125,-0.34375 1.328125,-0.65625 z m 0,-2.671875 v 2.046875 c 0,0.171875 0,0.1875 -0.109375,0.359375 C 3.375,-0.328125 2.9375,-0.109375 2.5,-0.109375 2.046875,-0.109375 1.6875,-0.375 1.453125,-0.75 1.203125,-1.15625 1.171875,-1.71875 1.171875,-2.140625 1.171875,-2.5 1.1875,-3.09375 1.46875,-3.546875 1.6875,-3.859375 2.0625,-4.1875 2.609375,-4.1875 c 0.34375,0 0.765625,0.15625 1.0625,0.59375 0.109375,0.171875 0.109375,0.1875 0.109375,0.375 z m 0,0"
id="path9647" />
</symbol>
<symbol
overflow="visible"
id="symbol6990">
<path
style="stroke:none;"
d="M 1.109375 -2.515625 C 1.171875 -4 2.015625 -4.25 2.359375 -4.25 C 3.375 -4.25 3.484375 -2.90625 3.484375 -2.515625 Z M 1.109375 -2.296875 L 3.890625 -2.296875 C 4.109375 -2.296875 4.140625 -2.296875 4.140625 -2.515625 C 4.140625 -3.5 3.59375 -4.46875 2.359375 -4.46875 C 1.203125 -4.46875 0.28125 -3.4375 0.28125 -2.1875 C 0.28125 -0.859375 1.328125 0.109375 2.46875 0.109375 C 3.6875 0.109375 4.140625 -1 4.140625 -1.1875 C 4.140625 -1.28125 4.0625 -1.3125 4 -1.3125 C 3.921875 -1.3125 3.890625 -1.25 3.875 -1.171875 C 3.53125 -0.140625 2.625 -0.140625 2.53125 -0.140625 C 2.03125 -0.140625 1.640625 -0.4375 1.40625 -0.8125 C 1.109375 -1.28125 1.109375 -1.9375 1.109375 -2.296875 Z M 1.109375 -2.296875 "
style="stroke:none"
d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0"
id="path7638" />
</symbol>
<symbol
overflow="visible"
id="symbol102">
<path
style="stroke:none;"
d="M 1.671875 -3.3125 L 1.671875 -4.40625 L 0.28125 -4.296875 L 0.28125 -3.984375 C 0.984375 -3.984375 1.0625 -3.921875 1.0625 -3.421875 L 1.0625 -0.75 C 1.0625 -0.3125 0.953125 -0.3125 0.28125 -0.3125 L 0.28125 0 C 0.671875 -0.015625 1.140625 -0.03125 1.421875 -0.03125 C 1.8125 -0.03125 2.28125 -0.03125 2.6875 0 L 2.6875 -0.3125 L 2.46875 -0.3125 C 1.734375 -0.3125 1.71875 -0.421875 1.71875 -0.78125 L 1.71875 -2.3125 C 1.71875 -3.296875 2.140625 -4.1875 2.890625 -4.1875 C 2.953125 -4.1875 2.984375 -4.1875 3 -4.171875 C 2.96875 -4.171875 2.765625 -4.046875 2.765625 -3.78125 C 2.765625 -3.515625 2.984375 -3.359375 3.203125 -3.359375 C 3.375 -3.359375 3.625 -3.484375 3.625 -3.796875 C 3.625 -4.109375 3.3125 -4.40625 2.890625 -4.40625 C 2.15625 -4.40625 1.796875 -3.734375 1.671875 -3.3125 Z M 1.671875 -3.3125 "
style="stroke:none"
d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0"
id="path9919" />
</symbol>
</g>
@ -2380,16 +2350,16 @@
</marker>
</defs>
<sodipodi:namedview
inkscape:current-layer="layer4"
inkscape:current-layer="layer3"
inkscape:window-maximized="1"
inkscape:window-y="39"
inkscape:window-y="57"
inkscape:window-x="12"
inkscape:cy="175.13135"
inkscape:cx="202.04518"
inkscape:cy="121.03458"
inkscape:cx="227.31961"
inkscape:zoom="2.8284272"
showgrid="false"
id="namedview835"
inkscape:window-height="1389"
inkscape:window-height="1371"
inkscape:window-width="2536"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
@ -2403,7 +2373,7 @@
inkscape:snap-smooth-nodes="true"
inkscape:snap-midpoints="true" />
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline;opacity:1"
id="g841"
inkscape:label="Mass"
@ -2414,28 +2384,39 @@
height="79.375725"
width="6.9419894"
id="rect4450-2"
style="display:inline;fill:#0072bc;fill-opacity:0.360784;fill-rule:evenodd;stroke:none;stroke-width:0.500001;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000" />
style="display:inline;fill:#0072bc;fill-opacity:0.360784;fill-rule:evenodd;stroke:none;stroke-width:0.500001;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<rect
style="fill:#0072bc;fill-opacity:0.360784;fill-rule:evenodd;stroke:none;stroke-width:0.500001;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="rect4450"
width="6.9419894"
height="79.375725"
x="160.63268"
y="120.83063" />
y="120.83063"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
id="rect1205"
style="fill:#000000;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.00157;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
d="M 5.53125,18.996094 V 321.31055 H 178.39453 V 18.996094 Z M 16.947266,32.023438 H 167.77539 V 309.35547 H 16.947266 Z" />
d="M 5.53125,94.996094 V 321.31055 H 178.39453 V 94.996094 Z M 16.947266,108.02344 H 167.77539 V 309.35547 H 16.947266 Z"
sodipodi:nodetypes="cccccccccc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<rect
y="120.83063"
x="24.021605"
height="79.269318"
width="136.61108"
id="rect939"
style="fill:#000000;fill-opacity:0.36;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000" />
style="fill:#000000;fill-opacity:0.36;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<g
id="g4814"
style="fill:#9e9e9e;fill-opacity:1">
style="fill:#9e9e9e;fill-opacity:1"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<circle
r="3.1455901"
cy="125.68189"
@ -2481,7 +2462,9 @@
</g>
<g
id="g4823"
style="fill:#9e9e9e;fill-opacity:1">
style="fill:#9e9e9e;fill-opacity:1"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<circle
style="fill:#9e9e9e;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="circle1077"
@ -2527,169 +2510,167 @@
</g>
</g>
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline"
inkscape:label="APA"
id="layer3"
inkscape:groupmode="layer">
<path
style="display:inline;fill:#0072bd;stroke:#000000;stroke-width:1.00157;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 19.501051,248.48118 C 7.4597409,248.29639 -10.03723,242.94823 -18.48451,243.12009"
id="path1188-6"
sodipodi:nodetypes="cc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
d="m 83.449219,200.08398 v 3.08204 H 80.5625 L 23.591797,240.9043 c -1.637268,1.32067 -3.717899,4.97718 -3.990235,6.71484 v 6.99414 6.99414 c 0.272336,1.73766 2.352967,5.39222 3.990235,6.71289 L 80.5625,306.05859 h 2.886719 v 3.08203 h 8.878906 8.876955 v -3.08203 h 2.88672 l 56.9707,-37.73828 c 1.63727,-1.32067 3.7179,-4.97523 3.99023,-6.71289 v -6.99414 -6.99414 c -0.27234,-1.73766 -2.35296,-5.39417 -3.99023,-6.71484 l -56.9707,-37.73828 h -2.88672 v -3.08204 h -8.876955 z m -1.101563,8.71094 h 9.980469 9.980465 l 53.66993,36.06055 v 1.91406 h -4.53907 v 7.84375 7.8418 h 4.53907 v 1.91406 l -53.66993,36.0625 h -9.980465 -9.980469 l -53.671875,-36.0625 v -1.91406 h 4.539063 v -7.8418 -7.84375 h -4.539063 v -1.91406 z"
style="fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path845" />
id="path845"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<rect
y="246.76953"
x="33.214844"
height="15.685547"
width="39.087189"
id="rect875"
style="fill:#0072bd;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000" />
style="fill:#0072bd;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<rect
style="fill:#d95218;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="rect875-5"
width="39.087189"
height="15.685547"
x="72.302032"
y="246.76952" />
y="246.76952"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<rect
style="fill:#d95218;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="rect875-6"
width="40.050232"
height="15.685562"
x="111.38922"
y="246.76952" />
y="246.76952"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<circle
r="2.102088"
cy="258.59708"
cx="76.53064"
id="circle1145"
style="fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000" />
style="fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<circle
style="fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="path1141"
cx="115.95758"
cy="258.59708"
r="2.102088" />
r="2.102088"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
id="path1188-1-2-7"
style="fill:none;stroke:#000000;stroke-width:1.00157;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 115.88256,258.68674 c -11.6739,2.21375 -27.548596,-0.31541 -39.411633,-0.11186 -11.863037,0.20355 -24.033957,27.31791 -33.198481,27.66884"
sodipodi:nodetypes="czc" />
sodipodi:nodetypes="czc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<circle
r="2.102088"
cy="258.35443"
cx="37.182087"
id="circle1143"
style="fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000" />
style="fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
style="fill:none;stroke:#000000;stroke-width:1.00157;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 37.063386,258.34636 c -12.041309,-0.18479 -23.986662,3.47376 -32.4339381,3.64562"
style="fill:#0072bd;stroke:#000000;stroke-width:1.00157;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 37.063386,258.34636 c -12.041309,-0.18479 -47.10062,-7.39813 -55.547896,-7.22627"
id="path1188"
sodipodi:nodetypes="cc" />
sodipodi:nodetypes="cc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<circle
r="2.102088"
cy="258.59708"
cx="115.95758"
id="circle1147"
style="fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000" />
style="fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -37.54009,250.717 v 5.34691 h 19.05576 v -4.94382"
id="path3218"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -18.48433,243.12009 v -5.24534 h -19.05576 v 4.6079"
id="path3220"
sodipodi:nodetypes="cccc" />
<circle
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke;stop-color:#000000"
id="circle3224"
cx="-37.522888"
cy="250.88495"
r="1.0994899" />
<circle
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.002;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke;stop-color:#000000"
id="path3222"
cx="-37.53627"
cy="242.7222"
r="1.0994899" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -37.54009,250.717 -4.59563,-7.95986"
id="path3226" />
<text
xml:space="preserve"
style="font-size:10.6667px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';letter-spacing:0px;word-spacing:0px"
x="-44.292812"
y="233.28917"
id="text3230"><tspan
sodipodi:role="line"
id="tspan3228"
x="-44.292812"
y="233.28917"
style="font-size:10.6667px">Switch</tspan></text>
</g>
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline"
inkscape:label="Interferometer"
id="layer5"
inkscape:groupmode="layer">
<path
style="display:inline;fill:none;stroke:#fe0000;stroke-width:0.7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 92.361507,34.705219 V 120.00244"
id="path32140" />
<rect
style="display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect3944"
width="8.7006111"
height="19.105049"
x="88.013573"
y="15.723319"
rx="0.28769675"
ry="0" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:1.00157;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 92.36388,15.723319 C 92.680262,5.6074586 71.508959,25.795815 58.607649,25.795815"
id="path1188-1-5"
sodipodi:nodetypes="cc" />
</g>
inkscape:groupmode="layer" />
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline"
inkscape:label="Inertial Sensors"
id="layer2"
inkscape:groupmode="layer" />
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline"
inkscape:label="Control"
id="layer1"
inkscape:groupmode="layer">
<rect
y="12.429955"
x="-195.98674"
height="295.94153"
width="136.91495"
y="205.3092"
x="-168.99736"
height="116.06357"
width="109.92557"
id="rect32658"
style="fill:#000000;fill-opacity:0.077859;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<g
transform="translate(69.293978,52.335204)"
id="g32470">
<g
id="g32222"
transform="matrix(3.7795276,0,0,3.7795276,-572.70368,-225.38707)">
<g
transform="matrix(0.26458333,0,0,0.26458333,132.32352,99.448509)"
id="g10537-9">
<path
id="path9430-8-0"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
inkscape:transform-center-x="3.4358697"
d="m -94.059313,50.70563 -10.199207,8.438058 10.199207,8.438057 h 28.734381 V 50.70563 Z"
sodipodi:nodetypes="cccccc" />
</g>
</g>
<g
inkscape:label=""
transform="translate(-256.30994,131.12294)"
id="g9974-88">
<g
id="g2114-5">
<g
id="g9743-09"
style="fill:#000000;fill-opacity:1">
<use
height="100%"
width="100%"
id="use3254-63"
y="81.962997"
x="91.925003"
xlink:href="#symbol9683" />
<use
height="100%"
width="100%"
id="use852-8"
y="81.962997"
x="99.39695"
xlink:href="#symbol3334" />
<use
height="100%"
width="100%"
id="use7824-56"
y="81.962997"
x="107.00738"
xlink:href="#symbol5395" />
</g>
</g>
</g>
</g>
style="fill:#000000;fill-opacity:0.077859;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<g
transform="matrix(3.7795276,0,0,3.7795276,-146.20534,80.712679)"
id="g32287">
id="g32287"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
transform="translate(-95.936032,-62.696092)"
id="g32222-6">
@ -2755,55 +2736,29 @@
</g>
</g>
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline"
inkscape:label="Wires + Electronics"
id="layer6"
inkscape:groupmode="layer">
<path
id="path30332"
d="M -43.364384,261.9506 H -67.095843"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker31582)"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Mstart)"
d="M -17.171959,261.99198 H 4.6294479"
id="path8013" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -20.611506,286.24371 63.883952,10e-6"
id="path8021"
sodipodi:nodetypes="cc" />
<g
transform="translate(3.0833787)"
id="g10552"
style="display:inline">
<rect
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect7958-6"
width="24.834122"
height="16.926834"
x="-46.419579"
y="253.48718"
rx="0.28769699" />
<path
id="path9045"
d="m -43.197473,267.84892 5.076147,-8.79214 h 13.135141"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
sodipodi:nodetypes="cc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker31592)"
d="m -68.523585,286.2341 25.499848,0.01"
id="path30344"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker31542-7)"
d="M 58.607649,25.795815 H -66.723211"
id="path30324-3" />
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<g
id="g32045">
id="g32045"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<path
inkscape:transform-center-x="-3.4358696"
d="m -20.611506,286.24371 -20.615217,11.9022 0,-23.8044 z"
@ -2849,7 +2804,9 @@
</g>
<g
id="g1235"
transform="matrix(3.7795276,0,0,3.7795276,-304.43154,-119.90901)">
transform="matrix(3.7795276,0,0,3.7795276,-304.43154,-119.90901)"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<path
sodipodi:nodetypes="ccccc"
id="path863-3"
@ -2934,11 +2891,13 @@
<path
sodipodi:nodetypes="ccc"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker31542-7-3)"
d="M 57.633613,314.21418 C -22.203919,314.0545 11.654059,235.74374 -25.235157,237.41077 H -66.723211"
id="path30324-3-7" />
d="m 57.633613,314.21418 c -79.837532,-0.15968 -45.979554,-5.95242 -82.86877,-4.28539 h -41.488054"
id="path30324-3-7"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
</g>
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline"
inkscape:label="IFF Identification"
id="layer8"
@ -2947,11 +2906,15 @@
sodipodi:nodetypes="cc"
id="path32905"
d="m -125.161,286.2341 h 16.41191"
style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33181-3);stop-color:#000000;stop-opacity:1" />
style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33181-3);stop-color:#000000;stop-opacity:1"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<g
transform="translate(-103.61534,22.792684)"
id="g32882"
style="display:inline">
style="display:inline"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<rect
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect7958-6-4"
@ -2968,7 +2931,7 @@
</g>
</g>
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:none"
inkscape:label="IFF Control"
id="layer9"
@ -3139,41 +3102,17 @@
transform="translate(64.146394,-303.03939)" />
</g>
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline"
inkscape:label="Signal Names"
id="layer7"
inkscape:groupmode="layer">
<g
id="g8241"
transform="translate(-357.18695,164.81256)">
<g
id="g2494"
style="fill:#000000;fill-opacity:1">
<use
height="100%"
width="100%"
id="use3740"
y="93.917999"
x="299.013"
xlink:href="#symbol9225" />
</g>
<g
id="g8232"
style="fill:#000000;fill-opacity:1">
<use
height="100%"
width="100%"
id="use9356"
y="95.412003"
x="305.41901"
xlink:href="#symbol2027" />
</g>
</g>
<g
inkscape:label=""
transform="translate(-358.69038,140.31252)"
id="g3387">
transform="translate(-358.69038,211.17806)"
id="g3387"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
id="g7063">
<g
@ -3200,41 +3139,13 @@
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(-358.93576,-70.161925)"
id="g4165">
<g
id="g8992">
<g
style="fill:#000000;fill-opacity:1"
id="g1909">
<use
xlink:href="#symbol761"
x="301.74899"
y="93.917999"
id="use8093"
width="100%"
height="100%" />
</g>
<g
style="fill:#000000;fill-opacity:1"
id="g6049">
<use
xlink:href="#symbol3062"
x="306.93399"
y="95.412003"
id="use1809"
width="100%"
height="100%" />
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(-359.32752,189.1475)"
id="g9922"
style="display:inline">
style="display:inline"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
id="g6494">
<g
@ -3252,7 +3163,7 @@
</g>
</g>
<g
transform="translate(196.48674,-11.929955)"
transform="translate(169.49736,-94.495309)"
style="display:inline"
inkscape:label="Legend"
id="layer4"
@ -3260,7 +3171,9 @@
<g
id="g3223"
transform="translate(95.422282,137.75814)"
inkscape:label="">
inkscape:label=""
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
id="g3511">
<g
@ -3322,124 +3235,12 @@
</g>
</g>
</g>
<g
id="g3503"
transform="translate(94.77136,-53.226216)"
inkscape:label="">
<g
id="g8686">
<g
style="fill:#000000;fill-opacity:1"
id="g3704">
<use
xlink:href="#symbol5257"
x="91.925003"
y="81.962997"
id="use7628"
width="100%"
height="100%" />
<use
xlink:href="#symbol466"
x="95.522491"
y="81.962997"
id="use9927"
width="100%"
height="100%" />
</g>
<g
style="fill:#000000;fill-opacity:1"
id="g30">
<use
xlink:href="#symbol3046"
x="100.77876"
y="81.962997"
id="use1703"
width="100%"
height="100%" />
<use
xlink:href="#symbol9052"
x="104.65322"
y="81.962997"
id="use366"
width="100%"
height="100%" />
<use
xlink:href="#symbol262"
x="109.0806"
y="81.962997"
id="use8353"
width="100%"
height="100%" />
<use
xlink:href="#symbol5016"
x="112.98295"
y="81.962997"
id="use9055"
width="100%"
height="100%" />
<use
xlink:href="#symbol9052"
x="116.02752"
y="81.962997"
id="use4817"
width="100%"
height="100%" />
<use
xlink:href="#symbol262"
x="120.4549"
y="81.962997"
id="use1563"
width="100%"
height="100%" />
<use
xlink:href="#symbol6140"
x="124.35725"
y="81.962997"
id="use8334"
width="100%"
height="100%" />
<use
xlink:href="#symbol7983"
x="129.33855"
y="81.962997"
id="use7434"
width="100%"
height="100%" />
<use
xlink:href="#symbol9052"
x="137.64038"
y="81.962997"
id="use9833"
width="100%"
height="100%" />
<use
xlink:href="#symbol3046"
x="142.06776"
y="81.962997"
id="use2738"
width="100%"
height="100%" />
<use
xlink:href="#symbol9052"
x="145.94221"
y="81.962997"
id="use896"
width="100%"
height="100%" />
<use
xlink:href="#symbol262"
x="150.3696"
y="81.962997"
id="use9184"
width="100%"
height="100%" />
</g>
</g>
</g>
<g
id="g4439"
transform="translate(95.764947,157.53135)"
inkscape:label="">
inkscape:label=""
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
id="g4808">
<g
@ -3557,7 +3358,9 @@
</g>
<g
transform="translate(92.81362,1.1275329)"
id="g2508">
id="g2508"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
inkscape:label=""
transform="translate(1.2240502,189.50795)"
@ -3630,7 +3433,9 @@
<g
id="g8984"
transform="translate(94.221171,81.049164)"
inkscape:label="">
inkscape:label=""
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
id="g1776">
<g
@ -3716,7 +3521,9 @@
<g
id="g1470"
transform="translate(-213.62833,68.984787)"
inkscape:label="">
inkscape:label=""
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
id="g7335">
<g
@ -3776,29 +3583,12 @@
</g>
</g>
</g>
<g
id="g1970"
transform="translate(-115.89994,220.81298)"
inkscape:label="">
<g
id="g7893">
<g
style="fill:#000000;fill-opacity:1"
id="g4285">
<use
xlink:href="#symbol3619"
x="302.29999"
y="93.917999"
id="use8503"
width="100%"
height="100%" />
</g>
</g>
</g>
<g
id="g2143"
transform="translate(-116.80868,100.10782)"
inkscape:label="">
inkscape:label=""
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
id="g3562">
<g
@ -3814,53 +3604,26 @@
</g>
</g>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;stroke-opacity:1"
d="m 178.39453,321.31055 h 9.98857"
id="path2338"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;stroke-opacity:1"
d="m 160.63269,200.09995 h 27.60476"
id="path2340"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#marker2864)"
d="m 184.3831,321.31055 v -9.63949"
id="path2860" />
sodipodi:nodetypes="cc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
id="path2860-3"
d="m 184.23745,200.09995 v -9.63949"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#marker2864-0)" />
<g
id="g2325"
transform="translate(-207.22243,-47.44047)"
inkscape:label="">
<g
id="g3219">
<g
style="fill:#000000;fill-opacity:1"
id="g6142">
<use
xlink:href="#symbol4227"
x="303.40701"
y="93.917999"
id="use7870"
width="100%"
height="100%" />
</g>
</g>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow2Sstart);marker-end:url(#Arrow2Send)"
d="M 94.373661,36.775207 V 116.03324"
id="path2342"
sodipodi:nodetypes="cc" />
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#marker2864-0)"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<g
inkscape:label=""
transform="translate(-243.15158,-58.479716)"
transform="translate(-229.75223,137.05397)"
id="g7435"
style="display:inline">
style="display:inline"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252">
<g
id="g8430">
<g
@ -3939,31 +3702,36 @@
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1991)"
d="m 183.11211,269.90508 h -44.9953 l -12.07243,-12.07243"
id="path1987" />
id="path1987"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
id="path1987-2"
d="M 183.11211,237.52323 H 72.974028 l -12.07243,14.72116"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1991-9)"
sodipodi:nodetypes="ccc" />
sodipodi:nodetypes="ccc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
id="path1987-7"
d="M 183.11211,215.59199 H 119.48649"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1991-2)"
sodipodi:nodetypes="cc" />
sodipodi:nodetypes="cc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
id="path1987-7-6-6"
d="M 183.11211,159.90145 H 165.71339"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1991-2-0-6)"
sodipodi:nodetypes="cc" />
<path
id="path1987-7-6-2"
d="M 183.11211,26.180335 H 95.682815"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1991-2-0-64)"
sodipodi:nodetypes="cc" />
sodipodi:nodetypes="cc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
<path
id="path1987-7-5"
d="m 183.11211,254.24434 -82.31359,0"
d="M 183.11211,254.24434 H 100.79852"
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1991-2-5)"
sodipodi:nodetypes="cc" />
sodipodi:nodetypes="cc"
inkscape:export-xdpi="252"
inkscape:export-ydpi="252" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 225 KiB

After

Width:  |  Height:  |  Size: 218 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-11-10 mar. 13:00 -->
<!-- 2020-11-10 mar. 13:41 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Piezoelectric Force Sensor - Test Bench</title>
<meta name="generator" content="Org mode" />
@ -34,17 +34,29 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgfa4ffe0">1. Change of Stiffness due to Sensors stack being open/closed circuit</a>
<li><a href="#orga887666">1. Change of Stiffness due to Sensors stack being open/closed circuit</a>
<ul>
<li><a href="#org664356d">1.1. Load Data</a></li>
<li><a href="#orgb329298">1.2. Transfer Functions</a></li>
<li><a href="#org632bb0b">1.1. Load Data</a></li>
<li><a href="#org06862e1">1.2. Transfer Functions</a></li>
</ul>
</li>
<li><a href="#orgcc12929">2. Generated Number of Charge / Voltage</a>
<li><a href="#orgd3fb351">2. Effect of a Resistor in Parallel with the Stack Sensor</a>
<ul>
<li><a href="#org7a46587">2.1. Steps</a></li>
<li><a href="#org9938615">2.2. Add Parallel Resistor</a></li>
<li><a href="#org3e71d2e">2.3. Sinus</a></li>
<li><a href="#orgf3e29cf">2.1. Excitation steps and measured generated voltage</a></li>
<li><a href="#org93b0595">2.2. Estimation of the voltage offset and discharge time constant</a></li>
<li><a href="#orgc749ef4">2.3. Estimation of the ADC input impedance</a></li>
<li><a href="#org66bf743">2.4. Explanation of the Voltage offset</a></li>
<li><a href="#org3c86684">2.5. Effect of an additional Parallel Resistor</a></li>
<li><a href="#org4ae0b53">2.6. Obtained voltage offset and time constant with the added resistor</a></li>
</ul>
</li>
<li><a href="#org81c5db6">3. Generated Number of Charge / Voltage</a>
<ul>
<li><a href="#org55eecf7">3.1. Data Loading</a></li>
<li><a href="#org46592d5">3.2. Excitation signal and corresponding displacement</a></li>
<li><a href="#org6e6b1f7">3.3. Generated Voltage</a></li>
<li><a href="#org4ed9610">3.4. Generated Charge</a></li>
<li><a href="#org69bd84e">3.5. Generated Voltage/Charge as a function of the displacement</a></li>
</ul>
</li>
</ul>
@ -55,21 +67,61 @@
In this document is studied how a piezoelectric stack can be used to measured the force.
</p>
<p>
It is divided in the following sections:
</p>
<ul class="org-ul">
<li>Section <a href="#org574ce5b">1</a>: the effect of the input impedance of the electronics connected to the force sensor stack on the stiffness of the stack is studied</li>
<li>Section <a href="#org3d96d6c">2</a>:</li>
<li>Section <a href="#orgcbe0c6f">1</a>: the effect of the input impedance of the electronics connected to the force sensor stack on the stiffness of the stack is studied</li>
<li>Section <a href="#org72d0a53">2</a>: the effect of a resistor in parallel with the sensor stack is studied</li>
<li>Section <a href="#org22b743e">3</a>: the voltage / number of charge generated by the sensor as a function of the displacement is measured</li>
</ul>
<div id="outline-container-orgfa4ffe0" class="outline-2">
<h2 id="orgfa4ffe0"><span class="section-number-2">1</span> Change of Stiffness due to Sensors stack being open/closed circuit</h2>
<div id="outline-container-orga887666" class="outline-2">
<h2 id="orga887666"><span class="section-number-2">1</span> Change of Stiffness due to Sensors stack being open/closed circuit</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="org574ce5b"></a>
<a id="orgcbe0c6f"></a>
</p>
<p>
The experimental Setup is schematically represented in Figure <a href="#org27d7f75">1</a>.
</p>
<p>
The dynamics from the voltage \(u\) used to drive the actuator stacks to the encoder displacement \(d_e\) is identified when the switch connected to the sensor stack is either open or closed.
</p>
<div id="org27d7f75" class="figure">
<p><img src="figs/exp_setup_schematic.png" alt="exp_setup_schematic.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Schematic of the Experiment</p>
</div>
<div id="outline-container-org664356d" class="outline-3">
<h3 id="org664356d"><span class="section-number-3">1.1</span> Load Data</h3>
<p>
When the switch is opened, this correspond of having a measurement electronics with an high input impedance such as a <b>voltage</b> amplifier.
When the switch is closed, this correspond of having a measurement electronics with an small input impedance such as a <b>charge</b> amplifier.
</p>
<p>
We wish here to see how the system dynamics is changing in the two extreme cases.
</p>
<div class="note" id="org4171ed0">
<p>
The equipment used in the test bench are:
</p>
<ul class="org-ul">
<li>Renishaw Resolution Encoder with 1nm resolution (<a href="doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf">doc</a>)</li>
<li>Cedrat Amplified Piezoelectric Actuator APA95ML (<a href="doc/APA95ML.pdf">doc</a>)</li>
<li>Voltage Amplifier LA75B (<a href="doc/LA75B.pdf">doc</a>)</li>
<li>Speedgoat IO131 with 16bits ADC and DAC (<a href="doc/IO130 IO131 OEM Datasheet.pdf">doc</a>)</li>
</ul>
</div>
</div>
<div id="outline-container-org632bb0b" class="outline-3">
<h3 id="org632bb0b"><span class="section-number-3">1.1</span> Load Data</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-matlab">oc = load(<span class="org-string">'identification_open_circuit.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'encoder'</span>, <span class="org-string">'u'</span>);
@ -79,8 +131,8 @@ sc = load(<span class="org-string">'identification_short_circuit.mat'</span>, <s
</div>
</div>
<div id="outline-container-orgb329298" class="outline-3">
<h3 id="orgb329298"><span class="section-number-3">1.2</span> Transfer Functions</h3>
<div id="outline-container-org06862e1" class="outline-3">
<h3 id="org06862e1"><span class="section-number-3">1.2</span> Transfer Functions</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-matlab">Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% Sampling Time [s]</span>
@ -98,26 +150,26 @@ win = hann(ceil(10<span class="org-type">/</span>Ts));
</div>
<div id="org07156da" class="figure">
<div id="orgaafdea3" class="figure">
<p><img src="figs/stiffness_force_sensor_coherence.png" alt="stiffness_force_sensor_coherence.png" />
</p>
</div>
<div id="org4e249d7" class="figure">
<div id="orgc2be608" class="figure">
<p><img src="figs/stiffness_force_sensor_bode.png" alt="stiffness_force_sensor_bode.png" />
</p>
</div>
<div id="org503058b" class="figure">
<div id="org59bf971" class="figure">
<p><img src="figs/stiffness_force_sensor_bode_zoom.png" alt="stiffness_force_sensor_bode_zoom.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Zoom on the change of resonance</p>
<p><span class="figure-number">Figure 4: </span>Zoom on the change of resonance</p>
</div>
<div class="important" id="org93bdd08">
<div class="important" id="org2d5ecc1">
<p>
The change of resonance frequency / stiffness is very small and is not important here.
</p>
@ -127,46 +179,76 @@ The change of resonance frequency / stiffness is very small and is not important
</div>
</div>
<div id="outline-container-orgcc12929" class="outline-2">
<h2 id="orgcc12929"><span class="section-number-2">2</span> Generated Number of Charge / Voltage</h2>
<div id="outline-container-orgd3fb351" class="outline-2">
<h2 id="orgd3fb351"><span class="section-number-2">2</span> Effect of a Resistor in Parallel with the Stack Sensor</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="org3d96d6c"></a>
<a id="org72d0a53"></a>
</p>
<p>
Two stacks are used as actuator (in parallel) and one stack is used as sensor.
The setup is shown in Figure <a href="#org21d0104">5</a> where two stacks are used as actuator (in parallel) and one stack is used as sensor.
The voltage amplifier used has a gain of 20 [V/V] (Cedrat LA75B).
</p>
<p>
The amplifier gain is 20V/V (Cedrat LA75B).
<div id="org21d0104" class="figure">
<p><img src="figs/force_sensor_setup.png" alt="force_sensor_setup.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Schematic of the setup</p>
</div>
<div id="outline-container-org7a46587" class="outline-3">
<h3 id="org7a46587"><span class="section-number-3">2.1</span> Steps</h3>
<div class="note" id="orgdd0ed7a">
<p>
The equipment used in the test bench are:
</p>
<ul class="org-ul">
<li>Renishaw Resolution Encoder with 1nm resolution (<a href="doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf">doc</a>)</li>
<li>Cedrat Amplified Piezoelectric Actuator APA95ML (<a href="doc/APA95ML.pdf">doc</a>)</li>
<li>Voltage Amplifier LA75B (<a href="doc/LA75B.pdf">doc</a>)</li>
<li>Speedgoat IO131 with 16bits ADC and DAC (<a href="doc/IO130 IO131 OEM Datasheet.pdf">doc</a>)</li>
</ul>
</div>
</div>
<div id="outline-container-orgf3e29cf" class="outline-3">
<h3 id="orgf3e29cf"><span class="section-number-3">2.1</span> Excitation steps and measured generated voltage</h3>
<div class="outline-text-3" id="text-2-1">
<p>
The measured data is loaded.
</p>
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'force_sensor_steps.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'encoder'</span>, <span class="org-string">'u'</span>, <span class="org-string">'v'</span>);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
tiledlayout(2, 1, <span class="org-string">'TileSpacing'</span>, <span class="org-string">'None'</span>, <span class="org-string">'Padding'</span>, <span class="org-string">'None'</span>);
nexttile;
plot(t, v);
xlabel(<span class="org-string">'Time [s]'</span>); ylabel(<span class="org-string">'Measured voltage [V]'</span>);
nexttile;
plot(t, u);
xlabel(<span class="org-string">'Time [s]'</span>); ylabel(<span class="org-string">'Actuator Voltage [V]'</span>);
</pre>
</div>
<p>
The excitation signal (steps) and measured voltage across the sensor stack are shown in Figure <a href="#org8a7c66b">6</a>.
</p>
<div id="orgda3ef57" class="figure">
<div id="org8a7c66b" class="figure">
<p><img src="figs/force_sen_steps_time_domain.png" alt="force_sen_steps_time_domain.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Time domain signal during the 3 actuator voltage steps</p>
<p><span class="figure-number">Figure 6: </span>Time domain signal during the 3 actuator voltage steps</p>
</div>
</div>
</div>
<div id="outline-container-org93b0595" class="outline-3">
<h3 id="org93b0595"><span class="section-number-3">2.2</span> Estimation of the voltage offset and discharge time constant</h3>
<div class="outline-text-3" id="text-2-2">
<p>
The measured voltage shows an exponential decay which indicates that the charge across the capacitor formed by the stack is discharging into a resistor.
This corresponds to an RC circuit with a time constant \(\tau = RC\).
</p>
<p>
In order to estimate the time domain, we fit the data with an exponential.
The fit function is:
</p>
<div class="org-src-container">
<pre class="src src-matlab">f = @(b,x) b(1)<span class="org-type">.*</span>exp(b(2)<span class="org-type">.*</span>x) <span class="org-type">+</span> b(3);
</pre>
</div>
<p>
@ -179,14 +261,6 @@ Three steps are performed at the following time intervals:
</pre>
</div>
<p>
Fit function:
</p>
<div class="org-src-container">
<pre class="src src-matlab">f = @(b,x) b(1)<span class="org-type">.*</span>exp(b(2)<span class="org-type">.*</span>x) <span class="org-type">+</span> b(3);
</pre>
</div>
<p>
We are interested by the <code>b(2)</code> term, which is the time constant of the exponential.
</p>
@ -212,6 +286,10 @@ V0 = zeros(size(t_s, 1),1);
</pre>
</div>
<p>
The obtained values are shown below.
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -243,7 +321,12 @@ V0 = zeros(size(t_s, 1),1);
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orgc749ef4" class="outline-3">
<h3 id="orgc749ef4"><span class="section-number-3">2.3</span> Estimation of the ADC input impedance</h3>
<div class="outline-text-3" id="text-2-3">
<p>
With the capacitance being \(C = 4.4 \mu F\), the internal impedance of the Speedgoat ADC can be computed as follows:
</p>
@ -261,23 +344,30 @@ Rin = abs(mean(tau))<span class="org-type">/</span>Cp;
<p>
The input impedance of the Speedgoat&rsquo;s ADC should then be close to \(1.5\,M\Omega\) (specified at \(1\,M\Omega\)).
</p>
<div class="important" id="org7c6e263">
<p>
How can we explain the voltage offset?
</p>
</div>
</div>
<div id="outline-container-org66bf743" class="outline-3">
<h3 id="org66bf743"><span class="section-number-3">2.4</span> Explanation of the Voltage offset</h3>
<div class="outline-text-3" id="text-2-4">
<p>
As shown in Figure <a href="#org1036a3b">5</a> (taken from (<a href="#citeproc_bib_item_1">Reza and Andrew 2006</a>)), an input voltage offset is due to the input bias current \(i_n\).
As shown in Figure <a href="#org8a7c66b">6</a>, the voltage across the Piezoelectric sensor stack shows a constant voltage offset.
</p>
<p>
We can explain this offset by looking at the electrical model shown in Figure <a href="#orgc43b1a9">7</a> (taken from (<a href="#citeproc_bib_item_1">Reza and Andrew 2006</a>)).
</p>
<p>
The differential amplifier in the Speedgoat has some input bias current \(i_n\) that produces a voltage offset across its own internal resistance.
Note that the impedance of the piezoelectric stack is much larger that that at DC.
</p>
<div id="org1036a3b" class="figure">
<div id="orgc43b1a9" class="figure">
<p><img src="figs/force_sensor_model_electronics_without_R.png" alt="force_sensor_model_electronics_without_R.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Model of a piezoelectric transducer (left) and instrumentation amplifier (right)</p>
<p><span class="figure-number">Figure 7: </span>Model of a piezoelectric transducer (left) and instrumentation amplifier (right)</p>
</div>
<p>
@ -291,10 +381,14 @@ The estimated input bias current is then:
<pre class="example">
1.5119e-06
</pre>
</div>
</div>
<div id="outline-container-org3c86684" class="outline-3">
<h3 id="org3c86684"><span class="section-number-3">2.5</span> Effect of an additional Parallel Resistor</h3>
<div class="outline-text-3" id="text-2-5">
<p>
An additional resistor in parallel with \(R_{in}\) would have two effects:
Be looking at Figure <a href="#orgc43b1a9">7</a>, we can see that an additional resistor in parallel with \(R_{in}\) would have two effects:
</p>
<ul class="org-ul">
<li>reduce the input voltage offset
@ -304,7 +398,6 @@ An additional resistor in parallel with \(R_{in}\) would have two effects:
\[ R_a = \frac{R_i}{f_c C_p R_i - 1} \]</li>
</ul>
<p>
If we allow the high pass corner frequency to be equals to 3Hz:
</p>
@ -335,45 +428,42 @@ With this parallel resistance value, the voltage offset would be:
<p>
Which is much more acceptable.
</p>
</div>
</div>
<div id="outline-container-org9938615" class="outline-3">
<h3 id="org9938615"><span class="section-number-3">2.2</span> Add Parallel Resistor</h3>
<div class="outline-text-3" id="text-2-2">
<p>
A resistor \(R_p \approx 100\,k\Omega\) is added in parallel with the force sensor as shown in Figure <a href="#orgbf8a90f">6</a>.
A resistor \(R_p \approx 100\,k\Omega\) is then added in parallel with the force sensor as shown in Figure <a href="#org98410d2">8</a>.
</p>
<div id="orgbf8a90f" class="figure">
<div id="org98410d2" class="figure">
<p><img src="figs/force_sensor_model_electronics.png" alt="force_sensor_model_electronics.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Model of a piezoelectric transducer (left) and instrumentation amplifier (right) with the additional resistor \(R_p\)</p>
<p><span class="figure-number">Figure 8: </span>Model of a piezoelectric transducer (left) and instrumentation amplifier (right) with the additional resistor \(R_p\)</p>
</div>
</div>
</div>
<div id="outline-container-org4ae0b53" class="outline-3">
<h3 id="org4ae0b53"><span class="section-number-3">2.6</span> Obtained voltage offset and time constant with the added resistor</h3>
<div class="outline-text-3" id="text-2-6">
<p>
After the resistor is added, the same steps response is performed.
</p>
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'force_sensor_steps_R_82k7.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'encoder'</span>, <span class="org-string">'u'</span>, <span class="org-string">'v'</span>);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
tiledlayout(2, 1, <span class="org-string">'TileSpacing'</span>, <span class="org-string">'None'</span>, <span class="org-string">'Padding'</span>, <span class="org-string">'None'</span>);
nexttile;
plot(t, v);
xlabel(<span class="org-string">'Time [s]'</span>); ylabel(<span class="org-string">'Measured voltage [V]'</span>);
nexttile;
plot(t, u);
xlabel(<span class="org-string">'Time [s]'</span>); ylabel(<span class="org-string">'Actuator Voltage [V]'</span>);
</pre>
</div>
<p>
The results are shown in Figure <a href="#org3c913c7">9</a>.
</p>
<div id="orgf9378d8" class="figure">
<div id="org3c913c7" class="figure">
<p><img src="figs/force_sen_steps_time_domain_par_R.png" alt="force_sen_steps_time_domain_par_R.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Time domain signal during the actuator voltage steps</p>
<p><span class="figure-number">Figure 9: </span>Time domain signal during the actuator voltage steps</p>
</div>
<p>
@ -391,40 +481,7 @@ Three steps are performed at the following time intervals:
</div>
<p>
Fit function:
</p>
<div class="org-src-container">
<pre class="src src-matlab">f = @(b,x) b(1)<span class="org-type">.*</span>exp(b(2)<span class="org-type">.*</span>x) <span class="org-type">+</span> b(3);
</pre>
</div>
<p>
We are interested by the <code>b(2)</code> term, which is the time constant of the exponential.
</p>
<div class="org-src-container">
<pre class="src src-matlab">tau = zeros(size(t_s, 1),1);
V0 = zeros(size(t_s, 1),1);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">for</span> <span class="org-variable-name">t_i</span> = <span class="org-constant">1:size(t_s, 1)</span>
t_cur = t(t_s(t_i, 1) <span class="org-type">&lt;</span> t <span class="org-type">&amp;</span> t <span class="org-type">&lt;</span> t_s(t_i, 2));
t_cur = t_cur <span class="org-type">-</span> t_cur(1);
y_cur = v(t_s(t_i, 1) <span class="org-type">&lt;</span> t <span class="org-type">&amp;</span> t <span class="org-type">&lt;</span> t_s(t_i, 2));
nrmrsd = @(b) norm(y_cur <span class="org-type">-</span> f(b,t_cur)); <span class="org-comment">% Residual Norm Cost Function</span>
B0 = [0.5, <span class="org-type">-</span>0.2, 0.2]; <span class="org-comment">% Choose Appropriate Initial Estimates</span>
[B,rnrm] = fminsearch(nrmrsd, B0); <span class="org-comment">% Estimate Parameters &#8216;B&#8217;</span>
tau(t_i) = 1<span class="org-type">/</span>B(2);
V0(t_i) = B(3);
<span class="org-keyword">end</span>
</pre>
</div>
<p>
The time constant and voltage offset are again estimated using a fit function.
And indeed, we obtain a much smaller offset voltage and a much faster time constant.
</p>
@ -513,10 +570,26 @@ This validates the model of the ADC and the effectiveness of the added resistor.
</p>
</div>
</div>
</div>
<div id="outline-container-org81c5db6" class="outline-2">
<h2 id="org81c5db6"><span class="section-number-2">3</span> Generated Number of Charge / Voltage</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org22b743e"></a>
</p>
<p>
In this section, we wish to estimate the relation between the displacement performed by the stack actuator and the generated voltage/charge on the sensor stack.
</p>
</div>
<div id="outline-container-org55eecf7" class="outline-3">
<h3 id="org55eecf7"><span class="section-number-3">3.1</span> Data Loading</h3>
<div class="outline-text-3" id="text-3-1">
<p>
The measured data is loaded and the first 25 seconds of data corresponding to transient data are removed.
</p>
<div id="outline-container-org3e71d2e" class="outline-3">
<h3 id="org3e71d2e"><span class="section-number-3">2.3</span> Sinus</h3>
<div class="outline-text-3" id="text-2-3">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'force_sensor_sin.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'encoder'</span>, <span class="org-string">'u'</span>, <span class="org-string">'v'</span>);
@ -526,20 +599,29 @@ encoder = encoder(t<span class="org-type">&gt;</span>25) <span class="org-type">
t = t(t<span class="org-type">&gt;</span>25);
</pre>
</div>
</div>
</div>
<div id="outline-container-org46592d5" class="outline-3">
<h3 id="org46592d5"><span class="section-number-3">3.2</span> Excitation signal and corresponding displacement</h3>
<div class="outline-text-3" id="text-3-2">
<p>
The driving voltage is a sinus at 0.5Hz centered on 3V and with an amplitude of 3V (Figure <a href="#org2ae5f53">8</a>).
The driving voltage is a sinus at 0.5Hz centered on 3V and with an amplitude of 3V (Figure <a href="#org4706469">10</a>).
</p>
<div id="org2ae5f53" class="figure">
<div id="org4706469" class="figure">
<p><img src="figs/force_sensor_sin_u.png" alt="force_sensor_sin_u.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Driving Voltage</p>
<p><span class="figure-number">Figure 10: </span>Driving Voltage</p>
</div>
<p>
The full stroke as measured by the encoder is:
The corresponding displacement as measured by the encoder is shown in Figure <a href="#org1d38208">11</a>.
</p>
<p>
The full stroke is:
</p>
<div class="org-src-container">
<pre class="src src-matlab">max(encoder)<span class="org-type">-</span>min(encoder)
@ -551,28 +633,34 @@ The full stroke as measured by the encoder is:
</pre>
<p>
Its signal is shown in Figure <a href="#org3458f57">9</a>.
</p>
<div id="org3458f57" class="figure">
<div id="org1d38208" class="figure">
<p><img src="figs/force_sensor_sin_encoder.png" alt="force_sensor_sin_encoder.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Encoder measurement</p>
<p><span class="figure-number">Figure 11: </span>Encoder measurement</p>
</div>
</div>
</div>
<div id="outline-container-org6e6b1f7" class="outline-3">
<h3 id="org6e6b1f7"><span class="section-number-3">3.3</span> Generated Voltage</h3>
<div class="outline-text-3" id="text-3-3">
<p>
The generated voltage by the stack is shown in Figure
The generated voltage by the stack is shown in Figure <a href="#org267434e">12</a>.
</p>
<div id="orga69980e" class="figure">
<div id="org267434e" class="figure">
<p><img src="figs/force_sensor_sin_stack.png" alt="force_sensor_sin_stack.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Voltage measured on the stack used as a sensor</p>
<p><span class="figure-number">Figure 12: </span>Voltage measured on the stack used as a sensor</p>
</div>
</div>
</div>
<div id="outline-container-org4ed9610" class="outline-3">
<h3 id="org4ed9610"><span class="section-number-3">3.4</span> Generated Charge</h3>
<div class="outline-text-3" id="text-3-4">
<p>
The capacitance of the stack is
</p>
@ -582,18 +670,34 @@ The capacitance of the stack is
</div>
<p>
The corresponding generated charge is then shown in Figure <a href="#orgeafdaf5">11</a>.
The voltage and charge across a capacitor are related through the following equation:
</p>
<div id="orgeafdaf5" class="figure">
<p><img src="figs/force_sensor_sin_charge.png" alt="force_sensor_sin_charge.png" />
\begin{equation}
U_C = \frac{Q}{C}
\end{equation}
<p>
where \(U_C\) is the voltage in Volts, \(Q\) the charge in Coulombs and \(C\) the capacitance in Farads.
</p>
<p><span class="figure-number">Figure 11: </span>Generated Charge</p>
</div>
<p>
The relation between the generated voltage and the measured displacement is almost linear as shown in Figure <a href="#org83e4a49">12</a>.
The corresponding generated charge is then shown in Figure <a href="#org0331333">13</a>.
</p>
<div id="org0331333" class="figure">
<p><img src="figs/force_sensor_sin_charge.png" alt="force_sensor_sin_charge.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Generated Charge</p>
</div>
</div>
</div>
<div id="outline-container-org69bd84e" class="outline-3">
<h3 id="org69bd84e"><span class="section-number-3">3.5</span> Generated Voltage/Charge as a function of the displacement</h3>
<div class="outline-text-3" id="text-3-5">
<p>
The relation between the generated voltage and the measured displacement is almost linear as shown in Figure <a href="#org6b7aee0">14</a>.
</p>
<div class="org-src-container">
@ -602,10 +706,10 @@ The relation between the generated voltage and the measured displacement is almo
</div>
<div id="org83e4a49" class="figure">
<div id="org6b7aee0" class="figure">
<p><img src="figs/force_sensor_linear_relation.png" alt="force_sensor_linear_relation.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Almost linear relation between the relative displacement and the generated voltage</p>
<p><span class="figure-number">Figure 14: </span>Almost linear relation between the relative displacement and the generated voltage</p>
</div>
<p>
@ -631,7 +735,7 @@ With a 16bits ADC, the resolution will then be equals to (in [nm]):
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-11-10 mar. 13:00</p>
<p class="date">Created: 2020-11-10 mar. 13:41</p>
</div>
</body>
</html>

156
index.org
View File

@ -38,8 +38,10 @@
* Introduction :ignore:
In this document is studied how a piezoelectric stack can be used to measured the force.
It is divided in the following sections:
- Section [[sec:open_closed_circuit]]: the effect of the input impedance of the electronics connected to the force sensor stack on the stiffness of the stack is studied
- Section [[sec:charge_voltage_estimation]]:
- Section [[sec:parallel_resistor]]: the effect of a resistor in parallel with the sensor stack is studied
- Section [[sec:charge_voltage_estimation]]: the voltage / number of charge generated by the sensor as a function of the displacement is measured
* Change of Stiffness due to Sensors stack being open/closed circuit
:PROPERTIES:
@ -48,6 +50,26 @@ In this document is studied how a piezoelectric stack can be used to measured th
<<sec:open_closed_circuit>>
** Introduction :ignore:
The experimental Setup is schematically represented in Figure [[fig:exp_setup_schematic]].
The dynamics from the voltage $u$ used to drive the actuator stacks to the encoder displacement $d_e$ is identified when the switch connected to the sensor stack is either open or closed.
#+name: fig:exp_setup_schematic
#+caption: Schematic of the Experiment
[[file:figs/exp_setup_schematic.png]]
When the switch is opened, this correspond of having a measurement electronics with an high input impedance such as a *voltage* amplifier.
When the switch is closed, this correspond of having a measurement electronics with an small input impedance such as a *charge* amplifier.
We wish here to see how the system dynamics is changing in the two extreme cases.
#+begin_note
The equipment used in the test bench are:
- Renishaw Resolution Encoder with 1nm resolution ([[file:doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf][doc]])
- Cedrat Amplified Piezoelectric Actuator APA95ML ([[file:doc/APA95ML.pdf][doc]])
- Voltage Amplifier LA75B ([[file:doc/LA75B.pdf][doc]])
- Speedgoat IO131 with 16bits ADC and DAC ([[file:doc/IO130 IO131 OEM Datasheet.pdf][doc]])
#+end_note
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
@ -158,16 +180,27 @@ In this document is studied how a piezoelectric stack can be used to measured th
The change of resonance frequency / stiffness is very small and is not important here.
#+end_important
* Generated Number of Charge / Voltage
* Effect of a Resistor in Parallel with the Stack Sensor
:PROPERTIES:
:header-args:matlab+: :tangle matlab/charge_voltage_estimation.m
:header-args:matlab+: :tangle matlab/parallel_resistor.m
:END:
<<sec:charge_voltage_estimation>>
<<sec:parallel_resistor>>
** Introduction :ignore:
Two stacks are used as actuator (in parallel) and one stack is used as sensor.
The setup is shown in Figure [[fig:force_sensor_setup]] where two stacks are used as actuator (in parallel) and one stack is used as sensor.
The voltage amplifier used has a gain of 20 [V/V] (Cedrat LA75B).
The amplifier gain is 20V/V (Cedrat LA75B).
#+name: fig:force_sensor_setup
#+caption: Schematic of the setup
[[file:figs/force_sensor_setup.png]]
#+begin_note
The equipment used in the test bench are:
- Renishaw Resolution Encoder with 1nm resolution ([[file:doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf][doc]])
- Cedrat Amplified Piezoelectric Actuator APA95ML ([[file:doc/APA95ML.pdf][doc]])
- Voltage Amplifier LA75B ([[file:doc/LA75B.pdf][doc]])
- Speedgoat IO131 with 16bits ADC and DAC ([[file:doc/IO130 IO131 OEM Datasheet.pdf][doc]])
#+end_note
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
@ -186,12 +219,14 @@ The amplifier gain is 20V/V (Cedrat LA75B).
addpath('./mat/');
#+end_src
** Steps
** Excitation steps and measured generated voltage
The measured data is loaded.
#+begin_src matlab
load('force_sensor_steps.mat', 't', 'encoder', 'u', 'v');
#+end_src
#+begin_src matlab
The excitation signal (steps) and measured voltage across the sensor stack are shown in Figure [[fig:force_sen_steps_time_domain]].
#+begin_src matlab :exports none
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
nexttile;
@ -211,6 +246,16 @@ The amplifier gain is 20V/V (Cedrat LA75B).
#+RESULTS:
[[file:figs/force_sen_steps_time_domain.png]]
** Estimation of the voltage offset and discharge time constant
The measured voltage shows an exponential decay which indicates that the charge across the capacitor formed by the stack is discharging into a resistor.
This corresponds to an RC circuit with a time constant $\tau = RC$.
In order to estimate the time domain, we fit the data with an exponential.
The fit function is:
#+begin_src matlab
f = @(b,x) b(1).*exp(b(2).*x) + b(3);
#+end_src
Three steps are performed at the following time intervals:
#+begin_src matlab
t_s = [ 2.5, 23;
@ -218,11 +263,6 @@ Three steps are performed at the following time intervals:
35.8, 50];
#+end_src
Fit function:
#+begin_src matlab
f = @(b,x) b(1).*exp(b(2).*x) + b(3);
#+end_src
We are interested by the =b(2)= term, which is the time constant of the exponential.
#+begin_src matlab
tau = zeros(size(t_s, 1),1);
@ -244,6 +284,8 @@ We are interested by the =b(2)= term, which is the time constant of the exponent
end
#+end_src
The obtained values are shown below.
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
data2orgtable([abs(tau), V0], {}, {'$tau$ [s]', '$V_0$ [V]'}, ' %.2f ');
#+end_src
@ -255,6 +297,8 @@ We are interested by the =b(2)= term, which is the time constant of the exponent
| 6.76 | 2.26 |
| 6.49 | 2.25 |
** Estimation of the ADC input impedance
With the capacitance being $C = 4.4 \mu F$, the internal impedance of the Speedgoat ADC can be computed as follows:
#+begin_src matlab
Cp = 4.4e-6; % [F]
@ -270,11 +314,13 @@ With the capacitance being $C = 4.4 \mu F$, the internal impedance of the Speedg
The input impedance of the Speedgoat's ADC should then be close to $1.5\,M\Omega$ (specified at $1\,M\Omega$).
#+begin_important
How can we explain the voltage offset?
#+end_important
** Explanation of the Voltage offset
As shown in Figure [[fig:force_sen_steps_time_domain]], the voltage across the Piezoelectric sensor stack shows a constant voltage offset.
As shown in Figure [[fig:force_sensor_model_electronics_without_R]] (taken from cite:reza06_piezoel_trans_vibrat_contr_dampin), an input voltage offset is due to the input bias current $i_n$.
We can explain this offset by looking at the electrical model shown in Figure [[fig:force_sensor_model_electronics_without_R]] (taken from cite:reza06_piezoel_trans_vibrat_contr_dampin).
The differential amplifier in the Speedgoat has some input bias current $i_n$ that produces a voltage offset across its own internal resistance.
Note that the impedance of the piezoelectric stack is much larger that that at DC.
#+name: fig:force_sensor_model_electronics_without_R
#+caption: Model of a piezoelectric transducer (left) and instrumentation amplifier (right)
@ -292,14 +338,14 @@ The estimated input bias current is then:
#+RESULTS:
: 1.5119e-06
An additional resistor in parallel with $R_{in}$ would have two effects:
** Effect of an additional Parallel Resistor
Be looking at Figure [[fig:force_sensor_model_electronics_without_R]], we can see that an additional resistor in parallel with $R_{in}$ would have two effects:
- reduce the input voltage offset
\[ V_{off} = \frac{R_a R_{in}}{R_a + R_{in}} i_n \]
- increase the high pass corner frequency $f_c$
\[ C_p \frac{R_{in}R_a}{R_{in} + R_a} = \tau_c = \frac{1}{f_c} \]
\[ R_a = \frac{R_i}{f_c C_p R_i - 1} \]
If we allow the high pass corner frequency to be equals to 3Hz:
#+begin_src matlab
fc = 3;
@ -327,18 +373,23 @@ With this parallel resistance value, the voltage offset would be:
Which is much more acceptable.
** Add Parallel Resistor
A resistor $R_p \approx 100\,k\Omega$ is added in parallel with the force sensor as shown in Figure [[fig:force_sensor_model_electronics]].
A resistor $R_p \approx 100\,k\Omega$ is then added in parallel with the force sensor as shown in Figure [[fig:force_sensor_model_electronics]].
#+name: fig:force_sensor_model_electronics
#+caption: Model of a piezoelectric transducer (left) and instrumentation amplifier (right) with the additional resistor $R_p$
[[file:figs/force_sensor_model_electronics.png]]
** Obtained voltage offset and time constant with the added resistor
After the resistor is added, the same steps response is performed.
#+begin_src matlab
load('force_sensor_steps_R_82k7.mat', 't', 'encoder', 'u', 'v');
#+end_src
#+begin_src matlab
The results are shown in Figure [[fig:force_sen_steps_time_domain_par_R]].
#+begin_src matlab :exports none
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
nexttile;
@ -369,19 +420,13 @@ Three steps are performed at the following time intervals:
46.2, 49.5]
#+end_src
Fit function:
#+begin_src matlab
The time constant and voltage offset are again estimated using a fit function.
#+begin_src matlab :exports none
f = @(b,x) b(1).*exp(b(2).*x) + b(3);
#+end_src
We are interested by the =b(2)= term, which is the time constant of the exponential.
#+begin_src matlab
tau = zeros(size(t_s, 1),1);
V0 = zeros(size(t_s, 1),1);
#+end_src
#+begin_src matlab
for t_i = 1:size(t_s, 1)
t_cur = t(t_s(t_i, 1) < t & t < t_s(t_i, 2));
t_cur = t_cur - t_cur(1);
@ -441,7 +486,35 @@ And we can verify that the bias current estimation stays the same:
This validates the model of the ADC and the effectiveness of the added resistor.
** Sinus
* Generated Number of Charge / Voltage
:PROPERTIES:
:header-args:matlab+: :tangle matlab/charge_voltage_estimation.m
:END:
<<sec:charge_voltage_estimation>>
** Introduction :ignore:
In this section, we wish to estimate the relation between the displacement performed by the stack actuator and the generated voltage/charge on the sensor stack.
** 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
#+begin_src matlab :tangle no
addpath('./matlab/mat/');
#+end_src
#+begin_src matlab :eval no
addpath('./mat/');
#+end_src
** Data Loading
The measured data is loaded and the first 25 seconds of data corresponding to transient data are removed.
#+begin_src matlab
load('force_sensor_sin.mat', 't', 'encoder', 'u', 'v');
@ -451,6 +524,7 @@ This validates the model of the ADC and the effectiveness of the added resistor.
t = t(t>25);
#+end_src
** Excitation signal and corresponding displacement
The driving voltage is a sinus at 0.5Hz centered on 3V and with an amplitude of 3V (Figure [[fig:force_sensor_sin_u]]).
#+begin_src matlab :exports none
@ -468,7 +542,9 @@ The driving voltage is a sinus at 0.5Hz centered on 3V and with an amplitude of
#+RESULTS:
[[file:figs/force_sensor_sin_u.png]]
The full stroke as measured by the encoder is:
The corresponding displacement as measured by the encoder is shown in Figure [[fig:force_sensor_sin_encoder]].
The full stroke is:
#+begin_src matlab :results value replace
max(encoder)-min(encoder)
#+end_src
@ -476,8 +552,6 @@ The full stroke as measured by the encoder is:
#+RESULTS:
: 5.005e-05
Its signal is shown in Figure [[fig:force_sensor_sin_encoder]].
#+begin_src matlab :exports none
figure;
plot(t, encoder)
@ -493,7 +567,8 @@ Its signal is shown in Figure [[fig:force_sensor_sin_encoder]].
#+RESULTS:
[[file:figs/force_sensor_sin_encoder.png]]
The generated voltage by the stack is shown in Figure
** Generated Voltage
The generated voltage by the stack is shown in Figure [[fig:force_sensor_sin_stack]].
#+begin_src matlab :exports none
figure;
@ -510,12 +585,21 @@ The generated voltage by the stack is shown in Figure
#+RESULTS:
[[file:figs/force_sensor_sin_stack.png]]
** Generated Charge
The capacitance of the stack is
#+begin_src matlab
Cp = 4.4e-6; % [F]
#+end_src
The voltage and charge across a capacitor are related through the following equation:
\begin{equation}
U_C = \frac{Q}{C}
\end{equation}
where $U_C$ is the voltage in Volts, $Q$ the charge in Coulombs and $C$ the capacitance in Farads.
The corresponding generated charge is then shown in Figure [[fig:force_sensor_sin_charge]].
#+begin_src matlab :exports none
figure;
plot(t, 1e6*Cp*(v-mean(v)))
@ -531,7 +615,7 @@ The corresponding generated charge is then shown in Figure [[fig:force_sensor_si
#+RESULTS:
[[file:figs/force_sensor_sin_charge.png]]
** Generated Voltage/Charge as a function of the displacement
The relation between the generated voltage and the measured displacement is almost linear as shown in Figure [[fig:force_sensor_linear_relation]].
#+begin_src matlab

View File

@ -6,224 +6,9 @@ s = zpk('s');
addpath('./mat/');
% Steps
% Data Loading
% The measured data is loaded and the first 25 seconds of data corresponding to transient data are removed.
load('force_sensor_steps.mat', 't', 'encoder', 'u', 'v');
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
nexttile;
plot(t, v);
xlabel('Time [s]'); ylabel('Measured voltage [V]');
nexttile;
plot(t, u);
xlabel('Time [s]'); ylabel('Actuator Voltage [V]');
% #+name: fig:force_sen_steps_time_domain
% #+caption: Time domain signal during the 3 actuator voltage steps
% #+RESULTS:
% [[file:figs/force_sen_steps_time_domain.png]]
% Three steps are performed at the following time intervals:
t_s = [ 2.5, 23;
23.8, 35;
35.8, 50];
% Fit function:
f = @(b,x) b(1).*exp(b(2).*x) + b(3);
% We are interested by the =b(2)= term, which is the time constant of the exponential.
tau = zeros(size(t_s, 1),1);
V0 = zeros(size(t_s, 1),1);
for t_i = 1:size(t_s, 1)
t_cur = t(t_s(t_i, 1) < t & t < t_s(t_i, 2));
t_cur = t_cur - t_cur(1);
y_cur = v(t_s(t_i, 1) < t & t < t_s(t_i, 2));
nrmrsd = @(b) norm(y_cur - f(b,t_cur)); % Residual Norm Cost Function
B0 = [0.5, -0.15, 2.2]; % Choose Appropriate Initial Estimates
[B,rnrm] = fminsearch(nrmrsd, B0); % Estimate Parameters B
tau(t_i) = 1/B(2);
V0(t_i) = B(3);
end
% #+RESULTS:
% | $tau$ [s] | $V_0$ [V] |
% |-----------+-----------|
% | 6.47 | 2.26 |
% | 6.76 | 2.26 |
% | 6.49 | 2.25 |
% With the capacitance being $C = 4.4 \mu F$, the internal impedance of the Speedgoat ADC can be computed as follows:
Cp = 4.4e-6; % [F]
Rin = abs(mean(tau))/Cp;
ans = Rin
% #+RESULTS:
% : 1494100.0
% The input impedance of the Speedgoat's ADC should then be close to $1.5\,M\Omega$ (specified at $1\,M\Omega$).
% #+begin_important
% How can we explain the voltage offset?
% #+end_important
% As shown in Figure [[fig:force_sensor_model_electronics]] (taken from cite:reza06_piezoel_trans_vibrat_contr_dampin), an input voltage offset is due to the input bias current $i_n$.
% #+name: fig:force_sensor_model_electronics
% #+caption: Model of a piezoelectric transducer (left) and instrumentation amplifier (right)
% [[file:figs/force_sensor_model_electronics.png]]
% The estimated input bias current is then:
in = mean(V0)/Rin;
ans = in
% #+RESULTS:
% : 1.5119e-06
% An additional resistor in parallel with $R_{in}$ would have two effects:
% - reduce the input voltage offset
% \[ V_{off} = \frac{R_a R_{in}}{R_a + R_{in}} i_n \]
% - increase the high pass corner frequency $f_c$
% \[ C_p \frac{R_{in}R_a}{R_{in} + R_a} = \tau_c = \frac{1}{f_c} \]
% \[ R_a = \frac{R_i}{f_c C_p R_i - 1} \]
% If we allow the high pass corner frequency to be equals to 3Hz:
fc = 3;
Ra = Rin/(fc*Cp*Rin - 1);
ans = Ra
% #+RESULTS:
% : 79804
% With this parallel resistance value, the voltage offset would be:
V_offset = Ra*Rin/(Ra + Rin) * in;
ans = V_offset
% Add Parallel Resistor
% A resistor $R_p \approx 100\,k\Omega$ is added in parallel with the force sensor as shown in Figure [[fig:force_sensor_model_electronics_without_R]].
% #+name: fig:force_sensor_model_electronics_without_R
% #+caption: Model of a piezoelectric transducer (left) and instrumentation amplifier (right) with added resistor $R_p$
% [[file:figs/force_sensor_model_electronics_without_R.png]]
load('force_sensor_steps_R_82k7.mat', 't', 'encoder', 'u', 'v');
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
nexttile;
plot(t, v);
xlabel('Time [s]'); ylabel('Measured voltage [V]');
nexttile;
plot(t, u);
xlabel('Time [s]'); ylabel('Actuator Voltage [V]');
% #+name: fig:force_sen_steps_time_domain_par_R
% #+caption: Time domain signal during the actuator voltage steps
% #+RESULTS:
% [[file:figs/force_sen_steps_time_domain_par_R.png]]
% Three steps are performed at the following time intervals:
t_s = [1.9, 6;
8.5, 13;
15.5, 21;
22.6, 26;
30.0, 36;
37.5, 41;
46.2, 49.5]
% Fit function:
f = @(b,x) b(1).*exp(b(2).*x) + b(3);
% We are interested by the =b(2)= term, which is the time constant of the exponential.
tau = zeros(size(t_s, 1),1);
V0 = zeros(size(t_s, 1),1);
for t_i = 1:size(t_s, 1)
t_cur = t(t_s(t_i, 1) < t & t < t_s(t_i, 2));
t_cur = t_cur - t_cur(1);
y_cur = v(t_s(t_i, 1) < t & t < t_s(t_i, 2));
nrmrsd = @(b) norm(y_cur - f(b,t_cur)); % Residual Norm Cost Function
B0 = [0.5, -0.2, 0.2]; % Choose Appropriate Initial Estimates
[B,rnrm] = fminsearch(nrmrsd, B0); % Estimate Parameters B
tau(t_i) = 1/B(2);
V0(t_i) = B(3);
end
% #+RESULTS:
% | $tau$ [s] | $V_0$ [V] |
% |-----------+-----------|
% | 0.43 | 0.15 |
% | 0.45 | 0.16 |
% | 0.43 | 0.15 |
% | 0.43 | 0.15 |
% | 0.45 | 0.15 |
% | 0.46 | 0.16 |
% | 0.48 | 0.16 |
% Knowing the capacitance value, we can estimate the value of the added resistor (neglecting the input impedance of $\approx 1\,M\Omega$):
Cp = 4.4e-6; % [F]
Rin = abs(mean(tau))/Cp;
ans = Rin
% #+RESULTS:
% : 101200.0
% And we can verify that the bias current estimation stays the same:
in = mean(V0)/Rin;
ans = in
% Sinus
load('force_sensor_sin.mat', 't', 'encoder', 'u', 'v');
@ -232,8 +17,7 @@ v = v(t>25);
encoder = encoder(t>25) - mean(encoder(t>25));
t = t(t>25);
% Excitation signal and corresponding displacement
% The driving voltage is a sinus at 0.5Hz centered on 3V and with an amplitude of 3V (Figure [[fig:force_sensor_sin_u]]).
@ -248,7 +32,9 @@ xlabel('Time [s]'); ylabel('Control Voltage [V]');
% #+RESULTS:
% [[file:figs/force_sensor_sin_u.png]]
% The full stroke as measured by the encoder is:
% The corresponding displacement as measured by the encoder is shown in Figure [[fig:force_sensor_sin_encoder]].
% The full stroke is:
max(encoder)-min(encoder)
@ -257,54 +43,41 @@ max(encoder)-min(encoder)
% #+RESULTS:
% : 5.005e-05
% Its signal is shown in Figure [[fig:force_sensor_sin_encoder]].
figure;
plot(t, encoder)
xlabel('Time [s]'); ylabel('Encoder [m]');
% #+name: fig:force_sensor_sin_encoder
% #+caption: Encoder measurement
% #+RESULTS:
% [[file:figs/force_sensor_sin_encoder.png]]
% The generated voltage by the stack is shown in Figure
% Generated Voltage
% The generated voltage by the stack is shown in Figure [[fig:force_sensor_sin_stack]].
figure;
plot(t, v)
xlabel('Time [s]'); ylabel('Force Sensor Output [V]');
% #+name: fig:force_sensor_sin_stack
% #+caption: Voltage measured on the stack used as a sensor
% #+RESULTS:
% [[file:figs/force_sensor_sin_stack.png]]
% Generated Charge
% The capacitance of the stack is
Cp = 4.4e-6; % [F]
% The voltage and charge across a capacitor are related through the following equation:
% \begin{equation}
% U_C = \frac{Q}{C}
% \end{equation}
% where $U_C$ is the voltage in Volts, $Q$ the charge in Coulombs and $C$ the capacitance in Farads.
% The corresponding generated charge is then shown in Figure [[fig:force_sensor_sin_charge]].
figure;
plot(t, 1e6*Cp*(v-mean(v)))
xlabel('Time [s]'); ylabel('Generated Charge [$\mu C$]');
% #+name: fig:force_sensor_sin_charge
% #+caption: Generated Charge
% #+RESULTS:
% [[file:figs/force_sensor_sin_charge.png]]
% Generated Voltage/Charge as a function of the displacement
% The relation between the generated voltage and the measured displacement is almost linear as shown in Figure [[fig:force_sensor_linear_relation]].

206
matlab/parallel_resistor.m Normal file
View File

@ -0,0 +1,206 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
addpath('./mat/');
% Excitation steps and measured generated voltage
% The measured data is loaded.
load('force_sensor_steps.mat', 't', 'encoder', 'u', 'v');
% The excitation signal (steps) and measured voltage across the sensor stack are shown in Figure [[fig:force_sen_steps_time_domain]].
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
nexttile;
plot(t, v);
xlabel('Time [s]'); ylabel('Measured voltage [V]');
nexttile;
plot(t, u);
xlabel('Time [s]'); ylabel('Actuator Voltage [V]');
% Estimation of the voltage offset and discharge time constant
% The measured voltage shows an exponential decay which indicates that the charge across the capacitor formed by the stack is discharging into a resistor.
% This corresponds to an RC circuit with a time constant $\tau = RC$.
% In order to estimate the time domain, we fit the data with an exponential.
% The fit function is:
f = @(b,x) b(1).*exp(b(2).*x) + b(3);
% Three steps are performed at the following time intervals:
t_s = [ 2.5, 23;
23.8, 35;
35.8, 50];
% We are interested by the =b(2)= term, which is the time constant of the exponential.
tau = zeros(size(t_s, 1),1);
V0 = zeros(size(t_s, 1),1);
for t_i = 1:size(t_s, 1)
t_cur = t(t_s(t_i, 1) < t & t < t_s(t_i, 2));
t_cur = t_cur - t_cur(1);
y_cur = v(t_s(t_i, 1) < t & t < t_s(t_i, 2));
nrmrsd = @(b) norm(y_cur - f(b,t_cur)); % Residual Norm Cost Function
B0 = [0.5, -0.15, 2.2]; % Choose Appropriate Initial Estimates
[B,rnrm] = fminsearch(nrmrsd, B0); % Estimate Parameters B
tau(t_i) = 1/B(2);
V0(t_i) = B(3);
end
% Estimation of the ADC input impedance
% With the capacitance being $C = 4.4 \mu F$, the internal impedance of the Speedgoat ADC can be computed as follows:
Cp = 4.4e-6; % [F]
Rin = abs(mean(tau))/Cp;
ans = Rin
% Explanation of the Voltage offset
% As shown in Figure [[fig:force_sen_steps_time_domain]], the voltage across the Piezoelectric sensor stack shows a constant voltage offset.
% We can explain this offset by looking at the electrical model shown in Figure [[fig:force_sensor_model_electronics_without_R]] (taken from cite:reza06_piezoel_trans_vibrat_contr_dampin).
% The differential amplifier in the Speedgoat has some input bias current $i_n$ that produces a voltage offset across its own internal resistance.
% Note that the impedance of the piezoelectric stack is much larger that that at DC.
% #+name: fig:force_sensor_model_electronics_without_R
% #+caption: Model of a piezoelectric transducer (left) and instrumentation amplifier (right)
% [[file:figs/force_sensor_model_electronics_without_R.png]]
% The estimated input bias current is then:
in = mean(V0)/Rin;
ans = in
% Effect of an additional Parallel Resistor
% Be looking at Figure [[fig:force_sensor_model_electronics_without_R]], we can see that an additional resistor in parallel with $R_{in}$ would have two effects:
% - reduce the input voltage offset
% \[ V_{off} = \frac{R_a R_{in}}{R_a + R_{in}} i_n \]
% - increase the high pass corner frequency $f_c$
% \[ C_p \frac{R_{in}R_a}{R_{in} + R_a} = \tau_c = \frac{1}{f_c} \]
% \[ R_a = \frac{R_i}{f_c C_p R_i - 1} \]
% If we allow the high pass corner frequency to be equals to 3Hz:
fc = 3;
Ra = Rin/(fc*Cp*Rin - 1);
ans = Ra
% #+RESULTS:
% : 79804
% With this parallel resistance value, the voltage offset would be:
V_offset = Ra*Rin/(Ra + Rin) * in;
ans = V_offset
% Obtained voltage offset and time constant with the added resistor
% After the resistor is added, the same steps response is performed.
load('force_sensor_steps_R_82k7.mat', 't', 'encoder', 'u', 'v');
% The results are shown in Figure [[fig:force_sen_steps_time_domain_par_R]].
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
nexttile;
plot(t, v);
xlabel('Time [s]'); ylabel('Measured voltage [V]');
nexttile;
plot(t, u);
xlabel('Time [s]'); ylabel('Actuator Voltage [V]');
% #+name: fig:force_sen_steps_time_domain_par_R
% #+caption: Time domain signal during the actuator voltage steps
% #+RESULTS:
% [[file:figs/force_sen_steps_time_domain_par_R.png]]
% Three steps are performed at the following time intervals:
t_s = [1.9, 6;
8.5, 13;
15.5, 21;
22.6, 26;
30.0, 36;
37.5, 41;
46.2, 49.5]
% The time constant and voltage offset are again estimated using a fit function.
f = @(b,x) b(1).*exp(b(2).*x) + b(3);
tau = zeros(size(t_s, 1),1);
V0 = zeros(size(t_s, 1),1);
for t_i = 1:size(t_s, 1)
t_cur = t(t_s(t_i, 1) < t & t < t_s(t_i, 2));
t_cur = t_cur - t_cur(1);
y_cur = v(t_s(t_i, 1) < t & t < t_s(t_i, 2));
nrmrsd = @(b) norm(y_cur - f(b,t_cur)); % Residual Norm Cost Function
B0 = [0.5, -0.2, 0.2]; % Choose Appropriate Initial Estimates
[B,rnrm] = fminsearch(nrmrsd, B0); % Estimate Parameters B
tau(t_i) = 1/B(2);
V0(t_i) = B(3);
end
% #+RESULTS:
% | $tau$ [s] | $V_0$ [V] |
% |-----------+-----------|
% | 0.43 | 0.15 |
% | 0.45 | 0.16 |
% | 0.43 | 0.15 |
% | 0.43 | 0.15 |
% | 0.45 | 0.15 |
% | 0.46 | 0.16 |
% | 0.48 | 0.16 |
% Knowing the capacitance value, we can estimate the value of the added resistor (neglecting the input impedance of $\approx 1\,M\Omega$):
Cp = 4.4e-6; % [F]
Rin = abs(mean(tau))/Cp;
ans = Rin
% #+RESULTS:
% : 101200.0
% And we can verify that the bias current estimation stays the same:
in = mean(V0)/Rin;
ans = in