Rework all text

This commit is contained in:
Thomas Dehaeze 2025-03-17 21:28:49 +01:00
parent a2c64f07e7
commit 57e6009c22
9 changed files with 797 additions and 894 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -4,9 +4,9 @@
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
id="svg2159"
version="1.1"
viewBox="0 0 49.058055 13.413832"
height="13.413832mm"
width="49.058056mm"
viewBox="0 0 68.232375 18.647292"
height="18.647291mm"
width="68.232376mm"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
@ -17,6 +17,25 @@
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2153">
<marker
style="overflow:visible"
id="ConcaveTriangle"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path7" />
</marker>
<marker
inkscape:stockid="Arrow2Mstart"
orient="auto"
@ -347,6 +366,34 @@
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:isstock="true"
style="overflow:visible"
id="marker1587-2-5"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Send">
<path
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
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="path1585-9-35" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1587-9-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Send">
<path
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
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="path1585-94-2" />
</marker>
</defs>
<sodipodi:namedview
id="base"
@ -355,9 +402,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8284272"
inkscape:cx="157.50803"
inkscape:cy="46.669046"
inkscape:zoom="5.6568544"
inkscape:cx="158.30353"
inkscape:cy="39.774755"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
@ -384,148 +431,30 @@
</rdf:RDF>
</metadata>
<g
transform="translate(-34.939317,-36.582933)"
transform="translate(-15.90859,-36.582933)"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
sodipodi:nodetypes="cc"
id="path2834-8-0"
d="m 56.653677,40.253079 h 3.218685"
style="fill:none;fill-opacity:0.360784;stroke:#bebebe;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.360784;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 56.621916,39.214561 v 8.762474 h 3.174456 v -8.762474 z"
id="path2809-37"
sodipodi:nodetypes="ccccc" />
<g
id="g2799"
transform="translate(-7.2717274,-21.706509)"
inkscape:label="" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 56.621916,49.035365 v -1.05833 h 3.607455 l -0.0035,-6.016937 h 0.678541 0.301383 l 0.0035,7.075267 z"
id="path863-0"
sodipodi:nodetypes="cccccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.53, 0.53;stroke-dashoffset:0;stroke-opacity:1"
d="m 56.550353,42.661208 h 3.218685"
id="path2834-8"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path2834-2-7"
d="m 56.519736,44.530387 h 3.218685"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.53, 0.53;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccc"
id="path1180"
d="m 57.025391,40.384766 v 0.217403 h 2.328125 v -0.217403 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ecb01f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1" />
<rect
y="40.840401"
x="56.967255"
height="1.1196973"
width="4.2384987"
id="rect1992"
style="fill:#3f3f3f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 61.2093,41.431681 c 4.405242,0.06273 1.503002,5.941226 1.503002,5.941226"
id="path2073-2"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:3.52777px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
x="67.83313"
y="45.509441"
x="67.976723"
y="49.544811"
id="text1021"><tspan
sodipodi:role="line"
id="tspan1019"
x="67.83313"
y="45.509441"
x="67.976723"
y="49.544811"
style="stroke-width:0.264583">Capacitive</tspan><tspan
sodipodi:role="line"
x="67.83313"
y="49.919155"
x="67.976723"
y="53.954525"
style="stroke-width:0.264583"
id="tspan1023">Sensor</tspan></text>
<path
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccc"
d="m 44.599204,39.21456 v 0.367273 h -0.343998 l -6.788952,2.380441 c -0.195106,0.157378 -0.443046,0.593109 -0.475499,0.800179 v 0.833461 0.833461 c 0.03245,0.20707 0.280393,0.642568 0.475499,0.799946 l 6.788952,2.380442 h 0.343998 v 0.367271 h 1.058061 1.057829 v -0.367271 h 0.343997 l 6.788954,-2.380442 c 0.195105,-0.157378 0.443044,-0.592876 0.475495,-0.799946 v -0.833461 -0.833461 c -0.03247,-0.20707 -0.28039,-0.642801 -0.475495,-0.800179 L 47.059091,39.581833 H 46.715094 V 39.21456 h -1.057829 z m -0.131268,1.038045 h 1.189329 1.189329 l 6.395614,2.180513 v 0.22809 h -0.540902 v 0.934706 0.934473 h 0.540902 v 0.22809 l -6.395614,2.180746 h -1.189329 -1.189329 l -6.395845,-2.180746 v -0.22809 h 0.5409 v -0.934473 -0.934706 h -0.5409 v -0.22809 z"
style="display:inline;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path845-1" />
<rect
y="42.661327"
x="38.612984"
height="1.8691787"
width="4.6578512"
id="rect875-9"
style="display:inline;fill:#0072bd;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" />
<rect
style="display:inline;fill:#d95218;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
id="rect875-5-0"
width="4.6578512"
height="1.8691787"
x="43.270836"
y="42.661327" />
<rect
style="display:inline;fill:#d95218;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
id="rect875-6-9"
width="4.7726126"
height="1.8691806"
x="47.928688"
y="42.661327" />
<circle
cy="43.221451"
cx="39.163109"
id="circle1164-4-3"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
r="0.27808872" />
<circle
r="0.27808872"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="circle1164-4-3-6"
cx="43.844002"
cy="43.225304" />
<circle
r="0.27808872"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="circle1164-4-3-7"
cx="48.519539"
cy="43.210735" />
<path
sodipodi:nodetypes="cc"
id="path1008"
d="m 39.157538,43.25076 c -0.781096,0.666002 -4.152075,0.745778 -4.152075,0.745778"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 43.831219,43.26958 c -1.865802,1.067007 -8.825756,1.12737 -8.825756,1.12737"
id="path1008-3"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path1025"
d="m 43.831219,43.269579 c 0.789288,0.464272 4.294211,0.305739 4.674984,-0.04779"
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
sodipodi:nodetypes="ccccc"
id="path863-0-6"
d="m 44.599204,49.035364 -0.0031,-7.075266 2.116122,3e-6 0.0031,7.075266 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<rect
style="fill:#3f3f3f;fill-rule:evenodd;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="rect1992-6"
width="2.1192486"
height="1.1196991"
x="44.596081"
y="40.840401" />
<path
sodipodi:nodetypes="cc"
id="path2073-2-2"
d="m 45.643797,41.408644 c 0.412334,6.460716 3.061191,7.395147 3.061191,7.395147"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<text
xml:space="preserve"
style="font-size:3.52777px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
@ -537,16 +466,6 @@
x="67.903687"
y="38.971233"
style="stroke-width:0.264583">Target</tspan></text>
<path
sodipodi:nodetypes="ccc"
id="path1261-0"
d="m 67.653914,38.124835 h -5.008593 l -3.050244,2.109511"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1587-2)" />
<path
sodipodi:nodetypes="ccc"
id="path1261-5"
d="M 67.499105,46.06774 H 62.158324 L 60.461145,41.609556"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1587-9)" />
<g
id="g6465"
transform="matrix(0.13229166,0,0,0.13229166,83.058665,59.902484)">
@ -554,16 +473,144 @@
id="g36763"
transform="matrix(0.53333336,0,0,0.53333336,413.04842,261.01873)" />
</g>
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ecb01f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
d="m 44.492932,40.38402 v 0.217403 h 2.328125 V 40.38402 Z"
id="path1180-3"
sodipodi:nodetypes="ccccc" />
<g
transform="translate(16.889293,27.569879)"
id="g1235-6" />
<g
id="g1803"
transform="rotate(90,61.9093,119.41206)" />
<path
sodipodi:nodetypes="cc"
id="path2834-8-0"
d="m 50.154476,41.231834 h 5.08188"
style="fill:none;fill-opacity:0.360784;stroke:#bebebe;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.360784;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 50.104336,39.592164 v 13.8348 h 5.01204 v -13.8348 z"
id="path2809-37"
sodipodi:nodetypes="ccccc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 50.104336,55.097934 v -1.67097 h 5.69569 l -0.005,-9.49996 h 1.07132 0.47584 l 0.006,11.17093 z"
id="path863-0"
sodipodi:nodetypes="cccccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.53, 0.53;stroke-dashoffset:0;stroke-opacity:1"
d="m 49.991336,45.033964 h 5.08189"
id="path2834-8"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path2834-2-7"
d="m 49.943006,47.985154 h 5.08188"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.53, 0.53;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccc"
id="path1180"
d="m 50.741356,41.439754 v 0.34325 h 3.67582 v -0.34325 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ecb01f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000" />
<rect
y="42.159138"
x="50.649574"
height="1.7678572"
width="6.6920409"
id="rect1992"
style="fill:#3f3f3f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 57.347206,43.092704 c 6.95531,0.099 2.37305,9.38042 2.37305,9.38042"
id="path2073-2"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccc"
d="m 31.122016,39.592144 v 0.57989 h -0.54312 l -10.71889,3.75841 c -0.30804,0.24848 -0.6995,0.93644 -0.75075,1.26338 v 1.31592 1.31593 c 0.0513,0.32694 0.44271,1.01453 0.75075,1.263 l 10.71889,3.75842 h 0.54312 v 0.57987 h 1.67054 1.67017 v -0.57987 h 0.54313 l 10.71888,-3.75842 c 0.30805,-0.24847 0.69952,-0.93606 0.75075,-1.263 v -1.31593 -1.31592 c -0.0513,-0.32694 -0.4427,-1.0149 -0.75075,-1.26338 l -10.71888,-3.75841 h -0.54313 v -0.57989 h -1.67017 z m -0.20725,1.63895 h 1.87779 1.87779 l 10.09786,3.44274 v 0.36013 h -0.85401 v 1.47578 1.47541 h 0.85401 v 0.36013 l -10.09786,3.44312 h -1.87779 -1.87779 l -10.09822,-3.44312 v -0.36013 h 0.85402 v -1.47541 -1.47578 h -0.85402 v -0.36013 z"
style="display:inline;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path845-1" />
<rect
y="45.034145"
x="21.67057"
height="2.9511912"
width="7.3541446"
id="rect875-9"
style="display:inline;fill:#0072bd;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" />
<rect
style="display:inline;fill:#d95218;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
id="rect875-5-0"
width="7.3541446"
height="2.9511912"
x="29.02471"
y="45.034145" />
<rect
style="display:inline;fill:#d95218;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
id="rect875-6-9"
width="7.5353374"
height="2.9511943"
x="36.378853"
y="45.034145" />
<circle
cy="45.918537"
cx="22.539146"
id="circle1164-4-3"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
r="0.43906611" />
<circle
r="0.43906611"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="circle1164-4-3-6"
cx="29.929663"
cy="45.924595" />
<circle
r="0.43906611"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="circle1164-4-3-7"
cx="37.311729"
cy="45.901608" />
<path
sodipodi:nodetypes="cc"
id="path1008"
d="m 22.530336,45.964784 c -1.23326,1.05154 -6.5556,1.17749 -6.5556,1.17749"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 29.909476,45.994494 c -2.94586,1.68468 -13.93474,1.77998 -13.93474,1.77998"
id="path1008-3"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path1025"
d="m 29.909476,45.994494 c 1.24618,0.73304 6.78,0.48273 7.38118,-0.0755"
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
sodipodi:nodetypes="ccccc"
id="path863-0-6"
d="m 31.122016,55.097934 -0.005,-11.17093 h 3.34109 l 0.005,11.17093 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<rect
style="fill:#3f3f3f;fill-rule:evenodd;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="rect1992-6"
width="3.3460193"
height="1.7678601"
x="31.117102"
y="42.159138" />
<path
sodipodi:nodetypes="cc"
id="path2073-2-2"
d="m 32.771296,43.056334 c 0.65102,10.20062 4.83323,11.67598 4.83323,11.67598"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccc"
id="path1261-0"
d="m 67.522416,37.871624 h -7.90792 l -3.997417,2.757681"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ConcaveTriangle)" />
<path
sodipodi:nodetypes="ccc"
id="path1261-5"
d="m 67.277986,50.412434 h -8.4324 l -2.106651,-5.51097"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ConcaveTriangle)" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ecb01f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
d="m 30.954226,41.438574 v 0.34326 h 3.67582 v -0.34326 z"
id="path1180-3"
sodipodi:nodetypes="ccccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -2,9 +2,9 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="46.694118mm"
height="19.645821mm"
viewBox="0 0 46.694118 19.645821"
width="66.442734mm"
height="25.136839mm"
viewBox="0 0 66.442733 25.136839"
version="1.1"
id="svg1"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
@ -23,9 +23,9 @@
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.042298"
inkscape:cx="-198.11993"
inkscape:cy="278.23137"
inkscape:zoom="4.169192"
inkscape:cx="121.48637"
inkscape:cy="22.546335"
inkscape:window-width="2534"
inkscape:window-height="1367"
inkscape:window-x="11"
@ -34,6 +34,25 @@
inkscape:current-layer="layer1" />
<defs
id="defs1">
<marker
style="overflow:visible"
id="ConcaveTriangle"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path7" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
@ -62,97 +81,126 @@
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1585-7" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1587-2"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Send">
<path
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
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="path1585-9" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1587-9"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Send">
<path
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
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="path1585-94" />
</marker>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-157.42708,-74.877083)">
transform="translate(-137.67846,-74.877083)">
<path
sodipodi:nodetypes="ccccc"
id="path2809-2"
d="m 179.00829,89.605483 v -8.762514 h 3.17445 v 8.762514 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
d="M 171.71411,92.326653 V 78.491777 h 5.01205 v 13.834876 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
sodipodi:nodetypes="cc"
id="path2834-9"
d="m 179.04085,86.01057 h 3.21868"
d="m 171.76552,86.65075 h 5.08188"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.53, 0.53;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.53, 0.53;stroke-dashoffset:0;stroke-opacity:1"
d="m 179.01023,84.141392 h 3.21868"
d="m 171.71717,83.69956 h 5.08188"
id="path2834-2-1"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 179.53745,90.663812 v -1.05833 h 3.98462 v -8.814921 h 0.30138 0.30138 v 9.873251 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 172.54959,93.997617 v -1.670966 h 6.29119 V 78.409032 h 0.47584 0.47584 v 15.588585 z"
id="path863"
sodipodi:nodetypes="cccccccc" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#ecb01f;fill-opacity:0.651021;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 183.52207,80.790561 h 2.44904 V 88.7595 h -2.44904 z"
style="font-variation-settings:normal;vector-effect:none;fill:#ecb01f;fill-opacity:0.651021;stroke:#000000;stroke-width:0.264582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 178.84078,78.409032 h 3.86672 v 12.581923 h -3.86672 z"
id="path865"
sodipodi:nodetypes="ccccc" />
<g
id="g950"
transform="translate(137.99684,34.236896)">
transform="matrix(1.5788706,0,0,1.5788706,106.96234,4.9068188)"
style="stroke-width:0.633364">
<path
sodipodi:nodetypes="ccccccc"
id="path861"
d="m 41.540617,45.547734 v 1.05834 h 3.017542 v 7.365695 h 0.547355 v -8.424035 z"
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.2;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.2;stroke:#000000;stroke-width:0.167577;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 45.197309,53.474175 H 44.813427"
id="path867-2" />
<path
id="path867-3-9"
d="M 45.197309,52.945005 H 44.813427"
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path867-6-1"
d="M 45.197309,52.415831 H 44.813427"
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 45.197309,51.88666 H 44.813427"
id="path867-3-7-2" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 45.197309,51.357493 H 44.813427"
id="path867-7" />
<path
id="path867-3-0"
d="M 45.197309,50.828323 H 44.813427"
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path867-6-9"
d="M 45.197309,50.299153 H 44.813427"
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 45.197309,49.769982 H 44.813427"
id="path867-3-7-3" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 45.197309,49.240815 H 44.813427"
id="path867-60" />
<path
id="path867-3-6"
d="M 45.197309,48.711645 H 44.813427"
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path867-6-2"
d="M 45.197309,48.182475 H 44.813427"
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:0.167577px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 45.197309,47.653304 H 44.813427"
id="path867-3-7-61" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 184.74659,88.7595 c 0.0627,4.405242 1.99422,5.630903 1.99422,5.630903"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 180.77414,90.990955 c 0.099,6.955307 3.14862,8.890467 3.14862,8.890467"
id="path2073"
sodipodi:nodetypes="cc" />
<text
@ -178,153 +226,153 @@
y="77.325356"
style="stroke-width:0.264583">Ruler</tspan></text>
<rect
y="84.25766"
x="170.41942"
height="1.8691806"
width="4.7726126"
y="83.883133"
x="158.15338"
height="2.9511943"
width="7.5353374"
id="rect875-6-3"
style="display:inline;fill:#d95218;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" />
style="display:inline;fill:#d95218;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" />
<circle
r="0.27808872"
r="0.43906611"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="circle1164-4-3-7-90"
cx="171.00731"
cy="84.788376" />
cx="159.08159"
cy="84.721069" />
<rect
y="84.25766"
x="165.76157"
height="1.8691787"
width="4.6578512"
y="83.883133"
x="150.79924"
height="2.9511912"
width="7.3541446"
id="rect875-5-5"
style="display:inline;fill:#d95218;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" />
style="display:inline;fill:#d95218;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000" />
<circle
r="0.27808872"
r="0.43906611"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
id="circle1164-4-3-6-11"
cx="166.33177"
cy="84.80294" />
cx="151.69952"
cy="84.744064" />
<path
sodipodi:nodetypes="cc"
id="path1025-7"
d="m 166.31899,84.847218 c 0.78929,0.464271 4.29421,0.305739 4.67498,-0.04779"
d="m 151.67935,84.813968 c 1.24618,0.733024 6.78,0.482722 7.38119,-0.07545"
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
id="path845-3"
style="display:inline;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 167.08994,80.81089 v 0.367273 h -0.344 l -6.78895,2.380441 c -0.19511,0.157379 -0.44305,0.593109 -0.4755,0.80018 v 0.833461 0.833461 c 0.0324,0.207069 0.28039,0.642567 0.4755,0.799946 l 6.78895,2.380442 h 0.344 v 0.367271 h 1.05806 1.05783 v -0.367271 h 0.34399 l 6.78896,-2.380442 c 0.1951,-0.157379 0.44304,-0.592877 0.47549,-0.799946 v -0.833461 -0.833461 c -0.0325,-0.207071 -0.28039,-0.642802 -0.47549,-0.80018 l -6.78896,-2.380441 h -0.34399 V 80.81089 H 168.148 Z m -0.13127,1.038045 h 1.18933 1.18933 l 6.39561,2.180513 v 0.228091 h -0.5409 v 0.934706 0.934472 h 0.5409 v 0.228091 l -6.39561,2.180745 h -1.18933 -1.18933 l -6.39585,-2.180745 v -0.228091 h 0.5409 v -0.934472 -0.934707 h -0.5409 v -0.22809 z"
style="display:inline;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.89658,78.441128 v 0.579877 h -0.54313 l -10.71888,3.758408 c -0.30805,0.248481 -0.69952,0.936443 -0.75075,1.263381 v 1.315927 1.315927 c 0.0512,0.326935 0.4427,1.01453 0.75075,1.263011 l 10.71888,3.75841 h 0.54313 v 0.579874 h 1.67054 1.67017 v -0.579874 h 0.54312 l 10.71889,-3.75841 c 0.30804,-0.248481 0.6995,-0.936076 0.75074,-1.263011 v -1.315927 -1.315927 c -0.0513,-0.326938 -0.4427,-1.014901 -0.75074,-1.263381 l -10.71889,-3.758408 h -0.54312 v -0.579877 h -1.67017 z m -0.20726,1.638939 h 1.8778 1.8778 l 10.09784,3.442748 v 0.360126 h -0.85401 v 1.47578 1.47541 h 0.85401 v 0.360127 l -10.09784,3.443114 h -1.8778 -1.8778 L 142.5911,87.194258 v -0.360127 h 0.85401 v -1.47541 -1.475781 h -0.85401 v -0.360125 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccc" />
<rect
style="display:inline;fill:#0072bd;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
style="display:inline;fill:#0072bd;fill-opacity:0.651021;fill-rule:evenodd;stroke:#000000;stroke-width:0.264582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
id="rect875-67"
width="4.6578512"
height="1.8691787"
x="161.10371"
y="84.25766" />
width="7.3541446"
height="2.9511912"
x="143.4451"
y="83.883133" />
<path
sodipodi:nodetypes="ccccc"
id="path863-3"
d="m 166.92547,90.695851 v -2.116665 h 2.44905 v 2.116665 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
d="m 152.6369,94.048203 v -3.34194 h 3.86673 v 3.34194 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.36;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
sodipodi:nodetypes="ccccccccc"
id="path861-9"
d="m 167.08994,79.75255 v 1.05834 h 0.52903 v 7.365695 h 1.05794 V 80.81089 h 0.52892 v -1.05834 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.2;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
d="m 152.89658,76.770146 v 1.670982 h 0.83527 v 11.62948 h 1.67035 v -11.62948 h 0.83509 v -1.670982 z"
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:0.2;stroke:#000000;stroke-width:0.264582;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 168.74878,87.67899 h -1.08409"
d="m 155.51567,89.28497 h -1.71164"
id="path867-2-1"
sodipodi:nodetypes="cc" />
<path
id="path867-3-9-2"
d="m 168.74878,87.149821 h -1.08409"
d="m 155.51567,88.44948 h -1.71164"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path867-6-1-7"
d="m 168.74878,86.620647 h -1.08409"
d="m 155.51567,87.613983 h -1.71164"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 168.74878,86.091476 h -1.08409"
d="m 155.51567,86.77849 h -1.71164"
id="path867-3-7-2-0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 168.74878,85.562309 h -1.08409"
d="m 155.51567,85.943004 h -1.71164"
id="path867-7-9"
sodipodi:nodetypes="cc" />
<path
id="path867-3-0-3"
d="m 168.74878,85.033139 h -1.08409"
d="m 155.51567,85.107513 h -1.71164"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path867-6-9-6"
d="m 168.74878,84.503969 h -1.08409"
d="m 155.51567,84.272022 h -1.71164"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 168.74878,83.974798 h -1.08409"
d="m 155.51567,83.43653 h -1.71164"
id="path867-3-7-3-0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 168.74878,83.445631 h -1.08409"
d="m 155.51567,82.601043 h -1.71164"
id="path867-60-6"
sodipodi:nodetypes="cc" />
<path
id="path867-3-6-2"
d="m 168.74878,82.916461 h -1.08409"
d="m 155.51567,81.765553 h -1.71164"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path867-6-2-6"
d="m 168.74878,82.387291 h -1.08409"
d="m 155.51567,80.930062 h -1.71164"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 168.74878,81.85812 h -1.08409"
d="m 155.51567,80.094569 h -1.71164"
id="path867-3-7-61-1"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="ccccc"
id="path865-6"
d="m 166.92547,80.610247 h 2.44905 v 7.968939 h -2.44905 z"
style="font-variation-settings:normal;vector-effect:none;fill:#ecb01f;fill-opacity:0.651021;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
d="m 152.6369,78.124339 h 3.86673 v 12.581924 h -3.86673 z"
style="font-variation-settings:normal;vector-effect:none;fill:#ecb01f;fill-opacity:0.651021;stroke:#000000;stroke-width:0.264582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
sodipodi:nodetypes="cc"
id="path2073-1"
d="m 168.14999,88.579186 c 0.0627,4.405242 2.93383,5.770444 2.93383,5.770444"
d="m 154.57026,90.706263 c 0.099,6.955307 4.63214,9.110784 4.63214,9.110784"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<circle
cy="84.799088"
cx="161.65088"
cy="84.737976"
cx="144.30901"
id="circle1164-4-3-73"
style="display:inline;fill:#ffffff;fill-opacity:0.361354;fill-rule:evenodd;stroke:#000000;stroke-width:0.132556;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
r="0.27808872" />
r="0.43906611" />
<path
sodipodi:nodetypes="cc"
id="path1008-5"
d="m 161.64531,84.828399 c -0.7811,0.666002 -4.15208,0.745778 -4.15208,0.745778"
d="m 144.30021,84.784255 c -1.23325,1.051531 -6.5556,1.177487 -6.5556,1.177487"
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.132292;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 166.31899,84.847218 c -1.8658,1.067008 -8.82576,1.12737 -8.82576,1.12737"
d="m 151.67935,84.813968 c -2.94586,1.684668 -13.93474,1.779971 -13.93474,1.779971"
id="path1008-3-6"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1587)"
d="m 191.16966,76.536136 h -6.15309 l -1.99603,4.82358"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ConcaveTriangle)"
d="m 190.91534,76.983512 h -9.71493 l -1.99331,1.879911"
id="path1261"
sodipodi:nodetypes="ccc" />
<path
sodipodi:nodetypes="cc"
id="path1261-7"
d="m 191.16966,84.310435 h -5.8736"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1587-3)" />
d="m 190.91534,83.966457 h -7.09726"
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ConcaveTriangle)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -352,15 +352,19 @@ Khac = -5e4 * ... % Gain
* Introduction :ignore:
The goal is to show that each element in the system has been properly chosen based on certain requirements.
This chapter presents a systematic approach to selecting and validating appropriate instrumentation for the nano active stabilization system (NASS), ensuring each component meets specific performance requirements.
Figure ref:fig:detail_instrumentation_plant illustrates the control diagram with all relevant noise sources whose effects on sample position will be evaluated throughout this analysis.
In order to determine the maximum noise of each instrumentation, a dynamic error budgeting is performed in Section ref:sec:instrumentation_dynamic_error_budgeting.
The selection process follows a three-stage methodology.
First, dynamic error budgeting is performed in Section ref:sec:detail_instrumentation_dynamic_error_budgeting to establish maximum acceptable noise specifications for each instrumentation component (ADC, DAC, and voltage amplifier).
This analysis employs the multi-body model with a 2DoF APA model, focusing particularly on the vertical direction due to its more stringent requirements.
From the calculated transfer functions, maximum acceptable amplitude spectral densities for each noise source are derived.
The required instrumentation are then selected based on obtained noise specifications and other requirements summarized in Section ref:sec:detail_instrumentation_choice.
Section ref:sec:detail_instrumentation_choice then presents the selection of appropriate components based on these noise specifications and additional requirements.
The received instrumentation are characterized in Section ref:sec:detail_instrumentation_characterization.
- Say the the real time controller is a Speedgoat machine, as it is the standard real time controller used at the ESRF
Finally, Section ref:sec:detail_instrumentation_characterization validates the selected components through experimental testing.
Each instrument is characterized individually, measuring actual noise levels and performance characteristics.
The measured noise characteristics are then incorporated into the multi-body model to confirm that the combined effect of all instrumentation noise sources remains within acceptable limits.
#+begin_src latex :file detail_instrumentation_plant.pdf
\begin{tikzpicture}
@ -424,7 +428,7 @@ The received instrumentation are characterized in Section ref:sec:detail_instrum
#+end_src
#+name: fig:detail_instrumentation_plant
#+caption: Block diagram of the NASS with considered instrumentation
#+caption: Block diagram of the NASS with considered instrumentation. The RT controller is a Speedgoat machine.
#+RESULTS:
[[file:figs/detail_instrumentation_plant.png]]
@ -435,21 +439,14 @@ The received instrumentation are characterized in Section ref:sec:detail_instrum
<<sec:detail_instrumentation_dynamic_error_budgeting>>
** Introduction :ignore:
*Goal*:
- Obtain specifications regarding the maximum noise of instrumentation (ADC, DAC and voltage amplifier)
such that it induces acceptable vibrations levels
The primary goal of this analysis is to establish specifications for the maximum allowable noise levels in the instrumentation used for the NASS (ADC, DAC, and voltage amplifier) that would result in acceptable vibration levels in the system.
*Procedure*:
- Get closed-loop transfer functions from noise sources (noise of ADC, DAC and amplifier noise) to positioning error.
This is done using the multi-body model, with 2DoF APA model (having voltage input and outputs).
- Focus is made on the vertical direction, as it is the direction with the most stringent requirements.
If horizontal directions are considered, requirements are just less stringent than for the vertical direction.
- Deduce the maximum acceptable ASD of the noise sources.
The procedure involves determining the closed-loop transfer functions from various noise sources to positioning error (Section ref:ssec:detail_instrumentation_cl_sensitivity).
This analysis is conducted using the multi-body model with a 2-DoF Amplified Piezoelectric Actuator model that incorporates voltage inputs and outputs.
Only the vertical direction is considered in this analysis as it presents the most stringent requirements; the horizontal directions are subject to less demanding constraints.
As the voltage amplifier gain will impact how the DAC noise is amplified, some assumption are made:
- we want to apply -20 to 150V to the stacks
- Typical ADC are +/-10V
- Assumption of voltage amplifier with gain 20
From these transfer functions, the maximum acceptable Amplitude Spectral Density (ASD) of the noise sources is derived (Section ref:ssec:detail_instrumentation_max_noise_specs).
Since the voltage amplifier gain affects the amplification of DAC noise, an assumption of an amplifier gain of 20 was made.
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
@ -483,17 +480,14 @@ open(mdl); % Open Simscape Model
#+end_src
** Closed-Loop Sensitivity to Instrumentation Disturbances
<<ssec:detail_instrumentation_cl_sensitivity>>
The following noise sources are considered (Figure ref:fig:detail_instrumentation_plant):
- $n_{da}$: output voltage noise of the DAC
- $n_{amp}$: output voltage noise of the voltage amplifier
- $n_{ad}$: voltage noise of the ADC measuring the force sensor stacks
Several key noise sources are considered in the analysis (Figure ref:fig:detail_instrumentation_plant).
These include the output voltage noise of the DAC ($n_{da}$), the output voltage noise of the voltage amplifier ($n_{amp}$), and the voltage noise of the ADC measuring the force sensor stacks ($n_{ad}$).
Encoder noise, only used to estimate $R_z$ is found to have little impact on the vertical sample error and is therefore ommited from this analysis for clarity.
Encoder noise, which is only used to estimate $R_z$, has been found to have minimal impact on the vertical sample error and is therefore omitted from this analysis for clarity.
The transfer function from these three noise sources (for one strut) to the vertical error of the sample are estimated from the multi-body model, including the APA300ML and the designed flexible joints (Figure ref:fig:detail_instrumentation_noise_sensitivities).
The lateral error was also considered, but the specifications are less stringent than vertical error and the sensitivity to disturbances is smaller.
The transfer functions from these three noise sources (for one strut) to the vertical error of the sample are estimated from the multi-body model, which includes the APA300ML and the designed flexible joints (Figure ref:fig:detail_instrumentation_noise_sensitivities).
#+begin_src matlab
%% Identify the transfer functions from disturbance sources to vertical position error
@ -595,27 +589,31 @@ exportFig('figs/detail_instrumentation_noise_sensitivities.pdf', 'width', 'wide'
[[file:figs/detail_instrumentation_noise_sensitivities.png]]
** Estimation of maximum instrumentation noise
<<ssec:detail_instrumentation_max_noise_specs>>
From previous analysis, we know how the noise of the instrumentation will affect the vertical error of the sample as a function of frequency.
Now, we want to determine specifications for each instrumentation such that the effect on the vertical error of the sample is within specifications.
From the previous analysis, the relationship between the noise of the instrumentation and its effect on the vertical error of the sample as a function of frequency has been established.
The next step involves determining specifications for each instrumentation component to ensure that the effect on the vertical error of the sample remains within acceptable limits.
Most stringent requirement:
- Vertical vibrations less than the smallest expected beam size of 100nm
- This corresponds to a maximum allowed vibration of 15nm RMS
The most stringent requirement for the system is maintaining vertical vibrations below the smallest expected beam size of $100\,\text{nm}$, which corresponds to a maximum allowed vibration of $15\,\text{nm RMS}$.
Assumption on the noise:
- DAC, DAC and amplifier noise are uncorrelated, which is reasonable.
Noise corresponding each strut are each uncorrelated.
This means that the PSD of the different noise sources adds up.
Several assumptions regarding the noise characteristics have been made.
The DAC, ADC, and amplifier noise are considered uncorrelated, which is a reasonable assumption.
Similarly, the noise corresponding to each strut is assumed to be uncorrelated.
This means that the power spectral densities (PSD) of the different noise sources can be summed.
Use of system symmetry to simplify the analysis:
- the effect of all the struts on the vertical errors are identical (verify from the extracted sensitivity curves).
Therefore only one strut can be considered for this analysis, and the total effect of the six struts is just six times the effect of one strut (in terms of power, but in terms of RMS value it's only sqrt(6)=2.5)
The system symmetry has been utilized to simplify the analysis.
The effect of all struts on the vertical errors is identical, as verified from the extracted sensitivity curves.
Therefore, only one strut is considered for this analysis, and the total effect of the six struts is calculated as six times the effect of one strut in terms of power, which translates to a factor of $\sqrt{6} \approx 2.5$ for RMS values.
In order to have specifications in terms of noise spectral density of each instrumentation, a white noise is assumed, which is quite typical.
In order to derive specifications in terms of noise spectral density for each instrumentation component, a white noise profile is assumed, which is typical for these components.
The noise specification is computed such that if all the instrumentation have this maximum noise, the specification in terms of vertical error is still respected.
This is a pessimistic choice, but it gives a rough idea of the specifications.
The noise specification is computed such that if all instrumentation components operate at their maximum allowable noise levels, the specification for vertical error will still be met.
While this represents a pessimistic approach, it provides a reasonable estimate of the required specifications.
Based on this analysis, the obtained maximum noise levels are as follows: DAC maximum output noise ASD is established at $14\,\mu V/\sqrt{\text{Hz}}$, voltage amplifier maximum output voltage noise ASD at $280\,\mu V/\sqrt{\text{Hz}}$, and ADC maximum measurement noise ASD at $11\,\mu V/\sqrt{\text{Hz}}$.
In terms of RMS noise, these translate to less than $1\,\text{mV RMS}$ for the DAC, less than $20\,\text{mV RMS}$ for the voltage amplifier, and less than $0.8\,\text{mV RMS}$ for the ADC.
If the Amplitude Spectral Density of the noise of the ADC, DAC, and voltage amplifiers all remain below these specified maximum levels, then the induced vertical error will be maintained below 15nm RMS. These specifications will guide the selection of appropriate instrumentation in Section ref:sec:detail_instrumentation_choice.
#+begin_src matlab
% Maximum wanted effect of each noise source on the vertical error
@ -641,29 +639,6 @@ max_amp_rms = 1e3*max_amp_asd*sqrt(5e3) % [mV RMS]
max_adc_rms = 1e3*max_adc_asd*sqrt(5e3) % [mV RMS]
#+end_src
Obtained maximum noise are:
- DAC maximum output noise ASD $14\,\mu V/\sqrt{Hz}$.
- Voltage amplifier maximum output voltage noise ASD $280\,\mu V/\sqrt{Hz}$
- ADC maximum measurement noise ASD $11\,\mu V/\sqrt{Hz}$.
In terms of RMS noise,
- DAC: <1 mV RMS
- Voltage amplifier: < 20 mV RMS
- ADC: < 0.8 mV RMS
#+name: tab:detail_instrumentation_specification_noise
#+caption: Obtained specification in terms of noise
#+attr_latex: :environment tabularx :width 0.7\linewidth :align Xccc
#+attr_latex: :center t :booktabs t
| | ADC | DAC | Amplifier |
|-------------+-----------------------+-----------------------+------------------------|
| Maximum ASD | $11\,\mu V/\sqrt{Hz}$ | $14\,\mu V/\sqrt{Hz}$ | $280\,\mu V/\sqrt{Hz}$ |
| RMS Noise | $0.8\,mV\,\text{RMS}$ | $1\,mV\,\text{RMS}$ | $20\,mV\,\text{RMS}$ |
If the Amplitude Spectral Density of the noise of the ADC, DAC and voltage amplifiers are all below the specified maximum noises, then the induced vertical error will be below 15nmRMS.
Such specification will guide the choice of instrumentation in Section ref:sec:detail_instrumentation_choice.
#+begin_src matlab :exports none :tangle no
%% Save Requirements
save('./matlab/mat/instrumentation_requirements.mat', ...
@ -685,12 +660,9 @@ save('./mat/instrumentation_requirements.mat', ...
<<sec:detail_instrumentation_choice>>
** Introduction :ignore:
Based on:
- noise specifications extracted from Section ref:sec:detail_instrumentation_dynamic_error_budgeting
- other specifications (input/output range, bandwidth, etc...)
The selection of appropriate instrumentation components was based on the noise specifications derived in Section ref:sec:detail_instrumentation_dynamic_error_budgeting and other relevant specifications that will be further developed.
The most adequate ADC, DAC, Voltage amplifier, and relative positioning sensor are found.
Different options that were considered are presented, and the choice of instrumentation is explained.
This section presents the evaluation process for ADCs, DACs, voltage amplifiers, and relative positioning sensors, detailing the comparison between different options and justifying the final selections.
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
@ -721,21 +693,21 @@ load('instrumentation_requirements.mat')
** Piezoelectric Voltage Amplifier
**** Introduction :ignore:
There are several characteristics of the piezoelectric voltage amplifiers that should be considered.
To be able to use the full stroke of the piezoelectric actuator, the voltage output should be between -20 and 150V.
It should accept an analog input voltage, preferably between -10 and 10V, as it is quite typical for DAC.
Several characteristics of piezoelectric voltage amplifiers must be considered for this application.
To utilize the full stroke of the piezoelectric actuator, the voltage output should range between $-20$ and $150\,V$.
The amplifier should accept an analog input voltage, preferably in the range of $-10$ to $10\,V$, as this is standard for most DACs.
**** Small signal Bandwidth and Output Impedance
There are two bandwidth that should be considered for a piezoelectric voltage amplifier: large signal bandwidth and small signal bandwidth.
Large signal bandwidth are linked to the output current capacities of the amplifier and will be discussed next.
Two distinct bandwidth specifications are relevant for piezoelectric voltage amplifiers: large signal bandwidth and small signal bandwidth.
Large signal bandwidth relates to the output current capabilities of the amplifier and will be discussed in the next section.
Small signal bandwidth of the voltage amplifier is very important for feedback applications as it can limit the bandwidth of the complete feedback system.
Small signal bandwidth is particularly important for feedback applications as it can limit the overall bandwidth of the complete feedback system.
A simplified electrical model of a voltage amplifier connected to a piezoelectric stack is shown in Figure ref:fig:detail_instrumentation_amp_output_impedance.
This model is only valid for small signals, but it is useful to understand the small signal bandwidth limitation [[cite:&fleming14_desig_model_contr_nanop_system, chap. 14]].
$R_o$ corresponds to the output impedance of the amplifier.
With the piezoelectric load that corresponds to a capacitance $C_p$, it forms a first order low pass filter eqref:eq:detail_instrumentation_amp_output_impedance.
This model is valid for small signals and provides insight into the small signal bandwidth limitation [[cite:&fleming14_desig_model_contr_nanop_system, chap. 14]].
In this model, $R_o$ represents the output impedance of the amplifier.
When combined with the piezoelectric load (represented as a capacitance $C_p$), it forms a first order low pass filter described by equation ref:eq:detail_instrumentation_amp_output_impedance.
\begin{equation}\label{eq:detail_instrumentation_amp_output_impedance}
\frac{V_a}{V_i}(s) = \frac{1}{1 + \frac{s}{\omega_0}}, \quad \omega_0 = \frac{1}{R_o C_p}
@ -745,9 +717,9 @@ With the piezoelectric load that corresponds to a capacitance $C_p$, it forms a
#+caption: Electrical model of a voltage amplifier with output impedance $R_0$ connected to a piezoelectric stack with capacitance $C_p$
[[file:figs/detail_instrumentation_amp_output_impedance.png]]
Therefore, the small signal bandwidth is load dependent (it decreases as the load capacitance increases).
The capacitance load of the two piezoelectric stacks in the APA300ML correspond to a capacitance $C_p = 8.8\,\mu F$.
If a small signal bandwidth of $f_0 = \frac{\omega_0}{2\pi} = 5\,\text{kHz}$ is wanted, the voltage amplifier output impedance should be smaller than $R_0 = 3.6\,\Omega$.
Consequently, the small signal bandwidth depends on the load capacitance and decreases as the load capacitance increases.
For the APA300ML, the capacitive load of the two piezoelectric stacks corresponds to $C_p = 8.8\,\mu F$.
If a small signal bandwidth of $f_0 = \frac{\omega_0}{2\pi} = 5\,\text{kHz}$ is desired, the voltage amplifier output impedance should be less than $R_0 = 3.6\,\Omega$.
#+begin_src matlab
Cp = 8.8e-6; % Capacitive load of the two piezoelectric actuators
@ -757,20 +729,19 @@ Ro_max = 1/(2*pi*f0 * Cp); % Maximum wanted output impedance [Ohm]
**** Large signal Bandwidth
Large signal bandwidth are linked to the maximum output capabilities of the amplifiers in terms of amplitude as a function of frequency [[cite:&spengen16_high_voltag_amplif]].
Large signal bandwidth relates to the maximum output capabilities of the amplifier in terms of amplitude as a function of frequency.
As the primary objective of the NASS is to stabilize the position and not to perform scans, this specification is not as important as the small signal bandwidth.
Since the primary function of the NASS is position stabilization rather than scanning, this specification is less critical than the small signal bandwidth.
However, considering potential scanning capabilities, a worst-case scenario of a constant velocity scan (triangular reference signal) with a repetition rate of $f_r = 100\,\text{Hz}$ using the full voltage range of the piezoelectric actuator ($V_{pp} = 170\,V$) is considered.
However, let's take into account scanning capabilities, and consider the worst case scenario of a constant velocity scan (i.e. triangular reference signal) with a repetition rate of $f_r = 100\,\text{Hz}$ and using full voltage capabilities of the piezoelectric actuator $V_{pp} = 170\,V$.
There are two limiting factors for large signal bandwidth that should be evaluated:
1. Slew rate, which should exceed $2 \cdot V_{pp} \cdot f_r = 34\,V/ms$.
This requirement is typically easily met by commercial voltage amplifiers.
2. Current output capabilities: as the capacitive impedance decreases inversely with frequency, it can reach very low values at high frequencies.
To achieve high voltage at high frequency, the amplifier must provide substantial current.
The maximum required current can be calculated as $I_{\text{max}} = 2 \cdot V_{pp} \cdot f \cdot C_p = 0.3\,A$.
There are two things to consider:
- Slew rate that should be above $2 \cdot V_{pp} \cdot f_r = 34\,V/ms$
This specification is easily achieved by commercial voltage amplifiers.
- Current output capabilities: as the capacitance impedance decreases the the inverse of the frequency, it can reach very low values at high frequency
In order to reach high voltage at high frequency, the required current that the voltage amplifier needs to provide may reach very large values.
$I_{\text{max}} = 2 \cdot V_{pp} \cdot f \cdot C_p = 0.3\,A$
So ideally, a voltage amplifier capable of providing $0.3\,A$ of current is wanted.
Therefore, ideally, a voltage amplifier capable of providing $0.3\,A$ of current is needed.
#+begin_src matlab
%% Slew-rate specifications - Triangular scan
@ -785,31 +756,30 @@ max_current = 2*Vpp*f0*Cp % [A]
**** Output voltage noise
As discussed in Section ref:sec:detail_instrumentation_dynamic_error_budgeting, the output noise of the voltage amplifier should be smaller than $20\,mV\,\text{RMS}$.
As established in Section ref:sec:detail_instrumentation_dynamic_error_budgeting, the output noise of the voltage amplifier should be below $20\,\text{mV RMS}$.
As explained in [[cite:&spengen20_high_voltag_amplif]], the load capacitance of the piezoelectric stack filters the output noise of the amplifier (low pass filter of Figure ref:fig:detail_instrumentation_amp_output_impedance).
Therefore, when comparing noise indicated in the datasheet of different voltage amplifiers, it is important to check what is the considered capacitance of the load (i.e. the low signal bandwidth considered).
It should be noted that the load capacitance of the piezoelectric stack filters the output noise of the amplifier, as illustrated by the low pass filter in Figure ref:fig:detail_instrumentation_amp_output_impedance.
Therefore, when comparing noise specifications from different voltage amplifier datasheets, it is essential to verify the capacitance of the load used in the measurement (i.e., the low signal bandwidth considered) [[cite:&spengen20_high_voltag_amplif]].
Here, the output noise should be smaller than 20mVRMS for a load of 8.8uF and a bandwidth larger than 5kHz.
For this application, the output noise must remain below $20\,\text{mV RMS}$ with a load of $8.8\,\mu F$ and a bandwidth exceeding $5\,\text{kHz}$.
**** Choice of voltage amplifier
The specifications are summarized in Table ref:tab:detail_instrumentation_amp_choice.
The most important characteristics being the (small signal) bandwidth > 5 [kHz] and the output voltage noise (< 20 [mV RMS]).
The most critical characteristics are the small signal bandwidth ($>5\,\text{kHz}$) and the output voltage noise ($<20\,\text{mV RMS}$).
Several voltage amplifiers were considered, with datasheet information summarized in Table ref:tab:detail_instrumentation_amp_choice.
- Issue for the selection: manufacturers are not specifying the output noise as a function of frequency (i.e. the ASD of the noise), but only the RMS value (i.e. the integrated value over all frequency).
It does not take into account the frequency dependency of the noise, that is very important to perform error budgets
Also, the load used to estimate the bandwidth and noise is often not mentioned.
Most of the time, the bandwidth is indicated with very little load and the noise with high load.
It renders the comparison between different models more complex.
- The chosen model is the PD200 from PiezoDrive.
- It fulfill the specification
- It has clear documentation, especially about noise and bandwidth
Several voltage amplifiers were considered, with their datasheet information presented in Table ref:tab:detail_instrumentation_amp_choice.
One challenge encountered during the selection process was that manufacturers typically do not specify output noise as a function of frequency (i.e., the ASD of the noise), but instead provide only the RMS value, which represents the integrated value across all frequencies.
This approach does not account for the frequency dependency of the noise, which is crucial for accurate error budgeting.
Additionally, the load conditions used to estimate bandwidth and noise specifications are often not explicitly stated.
In many cases, bandwidth is reported with minimal load while noise is measured with substantial load, making direct comparisons between different models more complex.
The PD200 from PiezoDrive was ultimately selected because it meets all the requirements and is accompanied by clear documentation, particularly regarding noise characteristics and bandwidth specifications.
#+name: tab:detail_instrumentation_amp_choice
#+caption: Characteristics of the PD200 compared with the specifications
#+attr_latex: :environment tabularx :width \linewidth :align Xcccc
#+caption: Specifications for the Voltage amplifier and considered commercial products
#+attr_latex: :environment tabularx :width 0.9\linewidth :align Xcccc
#+attr_latex: :center t :booktabs t :float t
| *Specification* | *PD200* | WMA-200 | LA75B | E-505 |
| | PiezoDrive | Falco | Cedrat | PI |
@ -820,68 +790,51 @@ Several voltage amplifiers were considered, with datasheet information summarize
| Output Current $> 300\,mA$ | $900\,mA$ | $150\,mA$ | $360\,mA$ | $215\,mA$ |
| Slew Rate $> 34\,V/ms$ | $150\,V/\mu s$ | $80\,V/\mu s$ | n/a | n/a |
| Output noise $< 20\,mV\ \text{RMS}$ | $0.7\,mV\,\text{RMS}$ | $0.05\,mV$ | $3.4\,mV$ | $0.6\,mV$ |
| (10uF load) | ($10\,\mu F$ load) | ($10\,\mu F$ load) | | |
| (10uF load) | ($10\,\mu F$ load) | ($10\,\mu F$ load) | (n/a) | (n/a) |
| Small Signal Bandwidth $> 5\,kHz$ | $6.4\,kHz$ | $300\,Hz$ | $30\,kHz$ | n/a |
| ($10\,\mu F$ load) | ($10\,\mu F$ load) | [fn:detail_instrumentation_1] | (unloaded) | |
| ($10\,\mu F$ load) | ($10\,\mu F$ load) | [fn:detail_instrumentation_1] | (unloaded) | (n/a) |
| Output Impedance: $< 3.6\,\Omega$ | n/a | $50\,\Omega$[fn:detail_instrumentation_1] | n/a | n/a |
# #+name: fig:detail_instrumentation_pd200_specs
# #+caption: Caption with reference to sub figure (\subref{fig:detail_instrumentation_pd200_specs_bandwidth})
# #+attr_latex: :options [htbp]
# #+begin_figure
# #+attr_latex: :caption \subcaption{\label{fig:detail_instrumentation_pd200_specs_bandwidth}sub caption a}
# #+attr_latex: :options {0.48\textwidth}
# #+begin_subfigure
# #+attr_latex: :width 0.95\linewidth
# [[file:figs/detail_instrumentation_pd200_specs_bandwidth.png]]
# #+end_subfigure
# #+attr_latex: :caption \subcaption{\label{fig:detail_instrumentation_pd200_specs_noise}sub caption b}
# #+attr_latex: :options {0.48\textwidth}
# #+begin_subfigure
# #+attr_latex: :width 0.95\linewidth
# [[file:figs/detail_instrumentation_pd200_specs_noise.png]]
# #+end_subfigure
# #+end_figure
** ADC and DAC
**** Introduction :ignore:
Analog to digital converters and digital to analog converters are very important to convert signals from the RT controller that only uses digital numbers to the physical plant, which is of course affected by analog signals.
Analog-to-digital converters and digital-to-analog converters play key roles in the system, serving as the interface between the digital RT controller and the analog physical plant.
The proper selection of these components is critical for system performance.
**** Synchronicity and Jitter
For control systems, it is very important that the inputs and outputs are sampled synchronously with the controller and with low jitter [[cite:&abramovitch22_pract_method_real_world_contr_system;&abramovitch23_tutor_real_time_comput_issues_contr_system]].
For control systems, synchronous sampling of inputs and outputs of the real-time controller and minimal jitter are essential requirements.
These factors significantly impact control performance, as highlighted in [[cite:&abramovitch22_pract_method_real_world_contr_system;&abramovitch23_tutor_real_time_comput_issues_contr_system]].
Therefore, the ADC and DAC needs to be well interfaced with the Speedgoat, and triggered synchronously with the computation of the control signals.
For that reason, it was decided to first look for ADC and DAC sold by Speedgoat (the RT controller used).
Therefore, the ADC and DAC must be well interfaced with the Speedgoat real-time controller and triggered synchronously with the computation of the control signals.
Based on this requirement, priority was given to ADC and DAC components specifically marketed by Speedgoat to ensure optimal integration.
**** Sampling Frequency, Bandwidth and delays
Several requirements may appear the same but are very different in nature:
- Sampling frequency: defines the interval between two sampled points, also determines the Nyquist frequency
- Bandwidth: defines the maximum frequency of a measured signal (typically specified as the -3dB point), usually limited by implemented anti-aliasing filters
- Delay/latency: delay between the analog signal at the input of the ADC to the digital information transferred to the control system
Several requirements that may initially appear similar are actually distinct in nature.
Sigma-Delta ADC can have extremely good noise characteristics, high bandwidth and sampling frequency but very poor latency.
First, the /sampling frequency/ defines the interval between two sampled points and determines the Nyquist frequency.
Then, the /bandwidth/ specifies the maximum frequency of a measured signal (typically defined as the -3dB point) and is often limited by implemented anti-aliasing filters.
Finally, /delay/ (or /latency/) refers to the time interval between the analog signal at the input of the ADC and the digital information transferred to the control system.
Sigma-Delta ADCs can provide excellent noise characteristics, high bandwidth, and sampling frequency, but often at the cost of poor latency.
Typically, the latency can reach 20 times the sampling period [[cite:&schmidt20_desig_high_perfor_mechat_third_revis_edition, chapt. 8.4]].
Consequently, while Sigma-Delta ADCs are widely used for signal acquisition applications, they have limited utility in real-time control scenarios where latency is a critical factor.
Therefore, Sigma-Delta ADC are very much used for signal acquisition applications, but has limited use for real-time control where latency is critical.
Therefore, for real time control applications, SAR-ADC (Successive approximation ADCs) is still the mostly applied type because of its single sample latency.
For real-time control applications, SAR-ADCs (Successive Approximation ADCs) remain the predominant choice due to their single-sample latency characteristics.
**** ADC Noise
From the dynamical error budget in Section ref:sec:detail_instrumentation_dynamic_error_budgeting
Measurement noise ASD should be bellow 11uV/sqrt(Hz), 0.8mV RMS
Based on the dynamic error budget established in Section ref:sec:detail_instrumentation_dynamic_error_budgeting, the measurement noise ASD should not exceed $11\,\mu V/\sqrt{\text{Hz}}$, equivalent to $0.8\,\text{mV RMS}$.
ADC are affected by various noise sources
One of them is quantization noise, and is linked to the fact that input/output values can only take a finite number of values.
Let's first find the number of bits such that the quantization noise is fulfilling the requirements.
ADCs are subject to various noise sources.
Quantization noise, which results from the discrete nature of digital representation, is one of these sources.
To determine the minimum bit depth required to meet the noise specifications, the quantization noise must be analyzed.
Let's first suppose that the ADC is ideal and the only noise comes from the quantization error.
Let's note $q = \frac{\Delta V}{2^n}$ the quantization in [V], which is the corresponding value in [V] of the least significant bit.
$\Delta V$ is the full range of the ADC in [V], $n$ is the number of ADC's bits and $F_s$ is the sample frequency in [Hz].
Assuming an ideal ADC where quantization error is the only noise source, the quantization step size, denoted as $q = \Delta V/2^n$, represents the voltage equivalent of the least significant bit.
Here, $\Delta V$ is the full range of the ADC in volts, $n$ is the bit depth, and $F_s$ is the sampling frequency in Hertz.
The quantization noise can take a value between $\pm q/2$, and the probability density function is constant in this range (i.e., its a uniform distribution).
Since the integral of the probability density function $p(e)$ is equal to one, its value is $1/q$ for $-q/2 < e < q/2$ as illustrated in Figure ref:fig:detail_instrumentation_adc_quantization.
The quantization noise ranges between $\pm q/2$, and its probability density function is constant across this range (uniform distribution).
Since the integral of this probability density function $p(e)$ equals one, its value is $1/q$ for $-q/2 < e < q/2$, as illustrated in Figure ref:fig:detail_instrumentation_adc_quantization.
#+begin_src latex :file detail_instrumentation_adc_quantization.pdf
\begin{tikzpicture}
@ -902,35 +855,29 @@ Since the integral of the probability density function $p(e)$ is equal to one, i
#+RESULTS:
[[file:figs/detail_instrumentation_adc_quantization.png]]
The variance (or time average power) of the quantization noise is eqref:eq:detail_instrumentation_quant_power.
The variance (or time-average power) of the quantization noise is expressed by equation ref:eq:detail_instrumentation_quant_power:
\begin{equation}\label{eq:detail_instrumentation_quant_power}
P_q = \int_{-q/2}^{q/2} e^2 p(e) de = \frac{q^2}{12}
\end{equation}
Now, the goal is to compute the power spectral density of the quantization noise, which is by definition the Fourier transform of the autocorrelation function of the quantization noise.
Assuming that the noise samples are not correlated with one another, the autocorrelation function can be approximated with a delta function in the time domain.
Since the Fourier transform of a delta function is equal to one, the power spectral density will be frequency independent (i.e. white noise).
Therefore, thanks the the Perseval's theorem, the quantization noise is a white noise with total power equal to $P_q = \frac{q^2}{12}$.
To compute the power spectral density of the quantization noise, which is defined as the Fourier transform of the noise's autocorrelation function, it is assumed that noise samples are uncorrelated.
Under this assumption, the autocorrelation function approximates a delta function in the time domain.
Since the Fourier transform of a delta function equals one, the power spectral density becomes frequency-independent (white noise).
Thus, the two-sided PSD (from $\frac{-F_s}{2}$ to $\frac{F_s}{2}$), we should divide the noise power $P_q$ by $F_s$:
\begin{equation}
P_q = \int_{-F_s/2}^{F_s/2} \Gamma(f) d f = F_s \Gamma = \frac{q^2}{12}
\end{equation}
Finally, the Power Spectral Density of the quantization noise of an ADC is equal to eqref:eq:detail_instrumentation_psd_quant_noise.
By Parseval's theorem, the power spectral density of the quantization noise $\Phi_q$ can be linked to the ADC sampling frequency and quantization step size eqref:eq:detail_instrumentation_psd_quant_noise.
\begin{equation}\label{eq:detail_instrumentation_psd_quant_noise}
\Gamma_q = \frac{q^2}{12 F_s} = \frac{\left(\frac{\Delta V}{2^n}\right)^2}{12 F_s} \quad \text{in } \left[ \frac{V^2}{\text{Hz}} \right]
\int_{-F_s/2}^{F_s/2} \Phi_q(f) d f = \int_{-q/2}^{q/2} e^2 p(e) de \quad \Longrightarrow \quad \Phi_q = \frac{q^2}{12 F_s} = \frac{\left(\frac{\Delta V}{2^n}\right)^2}{12 F_s} \quad \text{in } \left[ \frac{V^2}{\text{Hz}} \right]
\end{equation}
From a defined noise amplitude spectral density $\Phi_{\text{max}}$, the minimum number of bits so that the quantization noise is below $\Phi_{\text{max}}$ can be computed from eqref:eq:detail_instrumentation_min_n.
From a specified noise amplitude spectral density $\Gamma_{\text{max}}$, the minimum number of bits required to keep quantization noise below $\Gamma_{\text{max}}$ is calculated using equation ref:eq:detail_instrumentation_min_n.
\begin{equation}\label{eq:detail_instrumentation_min_n}
n = \text{log}_2 \left( \frac{\Delta V}{\sqrt{12 Fs} \Phi_{\text{max}}} \right)
n = \text{log}_2 \left( \frac{\Delta V}{\sqrt{12 F_s} \cdot \Gamma_{\text{max}}} \right)
\end{equation}
With a sampling frequency $F_s = 10\,kHz$, a full range of $\Delta V = 20\,V$ and a maximum allowed ASD $\Phi_{\text{max}} = 11\,\mu V/\sqrt{Hz}$, the minimum number of bits is $n_{\text{min}} = 12.4$, which is easily satisfied by commercial ADCs.
With a sampling frequency $F_s = 10\,\text{kHz}$, an input range $\Delta V = 20\,V$ and a maximum allowed ASD $\Gamma_{\text{max}} = 11\,\mu V/\sqrt{Hz}$, the minimum number of bits is $n_{\text{min}} = 12.4$, which is readily achievable with commercial ADCs.
#+begin_src matlab
delta_V = 20; % +/-10 V
@ -953,43 +900,29 @@ q_asd = sqrt(q_psd) % Quantization noise Amplitude Spectral Density [V/sqrt(Hz)]
**** DAC Output voltage noise
Similarly to ADC, the DAC output voltage noise ASD should be below $14\,\mu V/\sqrt{Hz}$, 1mV RMS.
This corresponds to a 13bits +/-10V DAC, which is easily satisfied.
Similar to the ADC requirements, the DAC output voltage noise ASD should not exceed $14\,\mu V/\sqrt{Hz}$, equivalent to $1\,\text{mV RMS}$.
This specification corresponds to a 13-bit $\pm 10\,V$ DAC, which is easily attainable with current technology.
**** Choice of the ADC and DAC Board
Based on the above analysis, the choice of ADC and DAC is quite straightforward.
Based on the preceding analysis, the selection of suitable ADC and DAC components is straightforward.
Integrated in Speedgoat for best synchronicity.
Chosen model: IO131:
- 16 analog inputs, based on the AD7609
- 16 bits, +/- 10V
- Maximum sampling rate of 200kSPS
- Simultaneous sampling
- Differential inputs: can use shielded twisted pairs for high noise immunity
- 8 analog outputs, based on the AD5754R
- 16 bits, +/- 10V
- Conversion time 10us
- Simultaneous update
For optimal synchronicity, a Speedgoat-integrated solution was chosen.
The selected model is the IO131, which features 16 analog inputs based on the AD7609 with 16-bit resolution, $\pm 10\,V$ range, maximum sampling rate of 200kSPS, simultaneous sampling, and differential inputs allowing the use of shielded twisted pairs for enhanced noise immunity.
The board also includes 8 analog outputs based on the AD5754R with 16-bit resolution, $\pm 10\,V$ range, conversion time of $10\,\mu s$, and simultaneous update capability.
Noise is not specified, but as it has 16 bits resolution, it should be well below the requirements.
It will be experimentally measured in Section ref:sec:detail_instrumentation_characterization.
Although noise specifications are not explicitly provided in the datasheet, the 16-bit resolution should ensure performance well below the established requirements.
This will be experimentally verified in Section ref:sec:detail_instrumentation_characterization.
** Relative Displacement Sensors
Specifications:
- used for relative positioning
- Small enough to be integrated in each strut
- vertical errors of 15nmRMS => 6nmRMS for each strut => maximum 6nmRMS sensor noise
- Stroke > 100um
The specifications for the relative displacement sensors include sufficient compactness for integration within each strut, noise levels below $6\,\text{nm RMS}$ (derived from the $15\,\text{nm RMS}$ vertical error requirement for the system divided by the contributions of six struts), and a measurement range exceeding $100\,\mu m$.
There are many different sensors that can fulfil the requirements [[cite:&fleming13_review_nanom_resol_posit_sensor]]:
- Encoders
- Capacitive Sensors
- Eddy current sensors
Several sensor technologies are capable of meeting these requirements [[cite:&fleming13_review_nanom_resol_posit_sensor]].
These include optical encoders (Figure ref:fig:detail_instrumentation_sensor_encoder), capacitive sensors (Figure ref:fig:detail_instrumentation_sensor_capacitive), and eddy current sensors (Figure ref:fig:detail_instrumentation_sensor_eddy_current), each with their own advantages and implementation considerations.
#+name: fig:detail_instrumentation_sensor_examples
#+caption: Measurement of strut flexible modes
#+caption: Relative motion sensors considered for measuring the nano-hexapod strut motion
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_instrumentation_sensor_encoder}Optical Linear Encoder}
@ -1012,12 +945,11 @@ There are many different sensors that can fulfil the requirements [[cite:&flemin
#+end_subfigure
#+end_figure
The implementation:
- slight advantage to capacitive or eddy current sensors as they can measure in line with the APA (Figure ref:fig:detail_instrumentation_capacitive_implementation)
- for the encoder, the measurement has to be "offset" from the strut "action line", and therefore relative rotations between the two ends of the APA induces measurement errors (Figure ref:fig:detail_instrumentation_encoder_implementation).
From an implementation perspective, capacitive and eddy current sensors offer a slight advantage as they can be quite compact and can measure in line with the APA, as illustrated in Figure ref:fig:detail_instrumentation_capacitive_implementation.
In contrast, optical encoders are bigger and they must be offset from the strut's action line, which introduces potential measurement errors (Abbe errors) due to relative rotations between the two ends of the APA, as shown in Figure ref:fig:detail_instrumentation_encoder_implementation.
#+name: fig:detail_instrumentation_sensor_implementation
#+caption: Caption with reference to sub figure
#+caption: Implementation of relative displacement sensor to measure the motion of the APA
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_instrumentation_encoder_implementation}Optical Encoder}
@ -1034,16 +966,16 @@ The implementation:
#+end_subfigure
#+end_figure
One major issue is the fact that the sensor signals have to pass through an electrical slip-ring (because of the continuous spindle rotation).
Some measurements were performed on the slip-ring integrated in the micro-station, and the cross-talk between different slip-ring channels were found to be quite high.
It was preferred to use a sensor that transmit the measured displacement digitally, such that it is much less sensitive to noise and cross-talk.
For that reason, an optical encoder with digital output was preferred (i.e. the interpolation is performed directly in the head).
A significant consideration in the sensor selection process was the fact that sensor signals must pass through an electrical slip-ring due to the continuous spindle rotation.
Measurements conducted on the slip-ring integrated in the micro-station revealed substantial cross-talk between different slip-ring channels.
To mitigate this issue, preference was given to sensors that transmit displacement measurements digitally, as these are inherently less susceptible to noise and cross-talk.
Based on this criterion, an optical encoder with digital output was selected, where signal interpolation is performed directly in the sensor head.
The specifications are summarized in Table ref:tab:detail_instrumentation_sensor_specs.
The specifications of the considered relative motion sensor, the Renishaw Vionic, are summarized in Table ref:tab:detail_instrumentation_sensor_specs, alongside alternative options that were considered.
#+name: tab:detail_instrumentation_sensor_specs
#+caption: Characteristics of the Vionic compared with the specifications
#+attr_latex: :environment tabularx :width 0.9\linewidth :align Xccc
#+attr_latex: :environment tabularx :width 0.8\linewidth :align Xccc
#+attr_latex: :center t :booktabs t :float t
| *Specification* | *Renishaw Vionic* | LION CPL190 | Cedrat ECP500 |
|-----------------------------+---------------------+-------------+---------------|
@ -1061,7 +993,7 @@ The specifications are summarized in Table ref:tab:detail_instrumentation_sensor
<<sec:detail_instrumentation_characterization>>
** Introduction :ignore:
All the instrumentation was then procured and tested individually to verify whether it fulfils the specifications or not.
Following the procurement of all instrumentation components, individual testing was conducted to verify their compliance with the specified requirements.
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
@ -1095,23 +1027,17 @@ load('instrumentation_sensitivity.mat', 'Gd');
#+end_src
** Analog to Digital Converters
**** Introduction :ignore:
The ADC of the IO318 cards:
- have differential inputs
- internally uses the AD7609 ADC from Analog Devices.
- capable of 200kSPS, 16 bits, +/-10V
**** Measured Noise
The measurement of the ADC noise was done by short-circuiting its input with a 50 Ohm resistor and recording the digital value at 10kHz.
The amplitude spectral density of the recorded values are computed and shown in Figure ref:fig:detail_instrumentation_adc_noise_measured.
The ADC noise is a white noise with an amplitude spectral density of $5.6\,\mu V/\sqrt{Hz}$ (RMS value of 0.4mV), which fulfills the specifications.
All ADC channels are measuring the same, so the noise of only one channel is here shown.
The measurement of ADC noise was performed by short-circuiting its input with a $50\,\Omega$ resistor and recording the digital values at a sampling rate of $10\,\text{kHz}$.
The amplitude spectral density of the recorded values was computed and is presented in Figure ref:fig:detail_instrumentation_adc_noise_measured.
The ADC noise exhibits characteristics of white noise with an amplitude spectral density of $5.6\,\mu V/\sqrt{\text{Hz}}$ (equivalent to $0.4\,\text{mV RMS}$), which satisfies the established specifications.
All ADC channels demonstrated similar performance, so only one channel's noise profile is shown.
If required, it is possible to apply some oversampling to lower the obtained noise as explained in cite:lab13_improv_adc.
To have additional $w$ bits of resolution, the oversampling frequency $f_{os}$ should be $f_{os} = 4^w \cdot f_s$.
As the ADC can work at 200kSPS, and the real time controller only runs at 10kSPS, an oversampling factor of 16 can be used to have approximately two more bits of resolution (i.e. reducing the noise by a factor 4).
This works because the noise can be approximated by a white noise and the amplitude is larger than 1 LSB (0.3 mV) [[cite:hauser91_princ_overs_conver]].
If necessary, oversampling can be applied to further reduce the noise cite:lab13_improv_adc.
To gain $w$ additional bits of resolution, the oversampling frequency $f_{os}$ should be set to $f_{os} = 4^w \cdot F_s$.
Given that the ADC can operate at 200kSPS while the real-time controller runs at 10kSPS, an oversampling factor of 16 can be employed to gain approximately two additional bits of resolution (reducing noise by a factor of 4).
This approach is effective because the noise approximates white noise and its amplitude exceeds 1 LSB (0.3 mV) [[cite:hauser91_princ_overs_conver]].
#+begin_src matlab
%% ADC noise
@ -1172,14 +1098,27 @@ exportFig('figs/detail_instrumentation_adc_noise_measured.pdf', 'width', 'normal
**** Reading of piezoelectric force sensor
To further verify that the ADC can effectively measure the voltage generated by a piezoelectric stack without issue, a test with the APA95ML was performed.
The setup is shown in Figure ref:fig:detail_instrumentation_force_sensor_adc_setup where two stacks are used as actuator (in parallel) and one stack is used as a sensor.
The voltage amplifier used has a gain of 20.
To further validate the ADC's capability to effectively measure voltage generated by a piezoelectric stack, a test was conducted using the APA95ML.
The setup is illustrated in Figure ref:fig:detail_instrumentation_force_sensor_adc_setup, where two stacks are used as actuators (connected in parallel) and one stack serves as a sensor.
The voltage amplifier employed in this setup has a gain of 20.
#+name: fig:detail_instrumentation_force_sensor_adc_setup
#+caption: Schematic of the setup to validate the use of the ADC for reading the force sensor volage
[[file:figs/detail_instrumentation_force_sensor_adc_setup.png]]
Step signals with an amplitude of $1\,V$ were generated using the DAC, and the ADC signal was recorded.
The excitation signal (steps) and the measured voltage across the sensor stack are displayed in Figure ref:fig:detail_instrumentation_step_response_force_sensor.
Two notable observations were made: an offset voltage of $2.26\,V$ was present, and the measured voltage exhibited an exponential decay response to the step input.
These phenomena can be explained by examining the electrical schematic shown in Figure ref:fig:detail_instrumentation_force_sensor_adc, where the ADC has an input impedance $R_i$ and an input bias current $i_n$.
The input impedance $R_i$ of the ADC, in combination with the capacitance $C_p$ of the piezoelectric stack sensor, forms an RC circuit with a time constant $\tau = R_i C_p$.
The charge generated by the piezoelectric effect across the stack's capacitance gradually discharges into the input resistor of the ADC.
Consequently, the transfer function from the generated voltage $V_p$ to the measured voltage $V_{\text{ADC}}$ is a first-order high-pass filter with the time constant $\tau$.
An exponential curve was fitted to the experimental data, yielding a time constant $\tau = 6.5\,s$.
With the capacitance of the piezoelectric sensor stack being $C_p = 4.4\,\mu F$, the internal impedance of the Speedgoat ADC was calculated as $R_i = \tau/C_p = 1.5\,M\Omega$, which closely aligns with the specified value of $1\,M\Omega$ found in the datasheet.
#+begin_src matlab
%% Read force sensor voltage with the ADC
load('force_sensor_steps.mat', 't', 'encoder', 'u', 'v');
@ -1236,23 +1175,6 @@ Ra = Rin/(2*pi*fc*Cp*Rin - 1); % [Ohm]
V_offset = Ra*Rin/(Ra + Rin) * in; % [V]
#+end_src
Steps signals was generated using the DAC with an amplitude of 1V, and the ADC signal was recorded.
The excitation signal (steps) and measured voltage across the sensor stack are shown in Figure ref:fig:detail_instrumentation_step_response_force_sensor.
Two things can be observed:
- an offset voltage of $2.26\,V$
- the measured voltage shows an exponential decay response to the step input
This can be understood by the electrical schematic shown in Figure ref:fig:detail_instrumentation_force_sensor_adc were the ADC has some input impedance $R_i$ and input bias current $i_n$.
The input impedance $R_i$ of the ADC with the capacitance $C_p$ of the piezoelectric stack sensor forms an RC circuit with a time constant $\tau = R_i C_p$.
The charge generated by the piezoelectric effects across its capacitance is discharging into the input resistor of the ADC.
Therefore, the transfer function from the generated voltage $V_p$ to the measured voltage $V_{\text{ADC}}$ is a first order high filter, with time constant $\tau$.
The an exponential curve was fitted to the experimental data and a time constant $\tau = 6.5\,s$ was obtained.
With the capacitance of the piezoelectric sensor stack being $C_p = 4.4 \mu F$, the internal impedance of the Speedgoat ADC can be computed as follows $R_i = \frac{\tau}{C_p} = 1.5\,M\Omega$.
It is close to the specified value of $1\,M\Omega$ found in the datasheet
#+begin_src matlab :exports none :results none
%% Measured voltage accross the sensor stacks - Voltage steps are applied to the actuators
figure;
@ -1293,27 +1215,17 @@ exportFig('figs/detail_instrumentation_step_response_force_sensor.pdf', 'width',
#+end_subfigure
#+end_figure
The constant voltage offset can be explained by the input bias current $i_n$ of the ADC, represented in Figure ref:fig:detail_instrumentation_force_sensor_adc
At DC, the impedance of the piezoelectric stack is much larger that the input impedance of the ADC, and therefore the input bias current $i_n$ passing through the internal resistance $R_i$ produces a constant voltage offset $V_{\text{off}} = R_i i_n$.
The input bias current $i_n$ is estimated from $i_n = V_{\text{off}}/R_i = 1.5\,\mu A$.
The constant voltage offset can be explained by the input bias current $i_n$ of the ADC, represented in Figure ref:fig:detail_instrumentation_force_sensor_adc.
At DC, the impedance of the piezoelectric stack is much larger than the input impedance of the ADC, and therefore the input bias current $i_n$ passing through the internal resistance $R_i$ produces a constant voltage offset $V_{\text{off}} = R_i \cdot i_n$.
The input bias current $i_n$ is estimated from $i_n = V_{\text{off}}/R_i = 1.5\mu A$.
In order to reduce the input voltage offset and to increase the corner frequency of the high pass filter, a resistor $R_p$ is added in parallel to the force sensor, as illustrated in Figure ref:fig:detail_instrumentation_force_sensor_adc_R
In order to reduce the input voltage offset and to increase the corner frequency of the high pass filter, a resistor $R_p$ can be added in parallel to the force sensor, as illustrated in Figure ref:fig:detail_instrumentation_force_sensor_adc_R.
This modification produces two beneficial effects: a reduction of input voltage offset through the relationship $V_{\text{off}} = (R_p R_i)/(R_p + R_i) i_n$, and an increase in the high pass corner frequency $f_c$ according to the equations $\tau = 1/(2\pi f_c) = (R_i R_p)/(R_i + R_p) C_p$.
It has two effects:
- Reduction of input voltage offset:
\[ V_{\text{off}} = \frac{R_p R_{in}}{R_p + R_{in}} i_n \]
- Increase the high pass corner frequency $f_c$
\[ \frac{R_i R_p}{R_i + R_p} C_p = \tau_c = \frac{1}{2 \pi f_c} \]
\[ R_p = \frac{R_i}{2 \pi f_c C_p R_i - 1} \]
The resistor is chosen such that the high pass corner frequency is equal to $0.5\,\text{Hz}$.
This corresponds to a resistor of $R_p = 76\,k\Omega$.
With this parallel resistance value, the voltage offset would be $V_{\text{off}} = 0.11\,V$, which is much more acceptable.
To validate this, a resistor $R_p \approx 82\,k\Omega$ is then added in parallel with the force sensor as shown in Figure ref:fig:detail_instrumentation_force_sensor_adc_R.
After the resistor is added, the same steps response were performed (Figure ref:fig:detail_instrumentation_step_response_force_sensor_R).
And indeed, we obtain a much smaller offset voltage ($V_{\text{off}} = 0.15\,V$) and a much faster time constant ($\tau = 0.45\,s$).
This validates the model of the ADC and the effectiveness of the added resistor.
To validate this approach, a resistor $R_p \approx 82\,k\Omega$ was added in parallel with the force sensor as shown in Figure ref:fig:detail_instrumentation_force_sensor_adc_R.
After incorporating this resistor, the same step response tests were performed, with results displayed in Figure ref:fig:detail_instrumentation_step_response_force_sensor_R.
The measurements confirmed the expected improvements, with a substantially reduced offset voltage ($V_{\text{off}} = 0.15\,V$) and a much faster time constant ($\tau = 0.45\,s$).
These results validate both the model of the ADC and the effectiveness of the added parallel resistor as a solution.
#+begin_src matlab
%% Read force sensor voltage with the ADC with added 82.7kOhm resistor
@ -1399,18 +1311,18 @@ exportFig('figs/detail_instrumentation_step_response_force_sensor_R.pdf', 'width
** Instrumentation Amplifier
Because the ADC noise may be too large to measure noise of other instruments (anything below $5.6\,\mu V/\sqrt{Hz}$ cannot be distinguish from the noise of the ADC itself), a low noise instrumentation amplifier can be used.
Here, a Femto DLPVA-101-B-S amplifier, with gains from 20dB up to 80dB, was used.
Because the ADC noise may be too low to measure the noise of other instruments (anything below $5.6\,\mu V/\sqrt{\text{Hz}}$ cannot be distinguished from the noise of the ADC itself), a low noise instrumentation amplifier was employed.
A Femto DLPVA-101-B-S amplifier with adjustable gains from 20dB up to 80dB was selected for this purpose.
But first, the input[fn:detail_instrumentation_2] noise of the amplifier was characterized.
To do so, its input was short circuited with a $50\,\Omega$ resistor, and the output voltage was measured by the ADC (Figure ref:fig:detail_instrumentation_femto_meas_setup).
The maximum amplifier gain of 80dB (i.e. 10000) was used.
The first step was to characterize the input[fn:detail_instrumentation_2] noise of the amplifier.
This was accomplished by short-circuiting its input with a $50\,\Omega$ resistor and measuring the output voltage with the ADC (Figure ref:fig:detail_instrumentation_femto_meas_setup).
The maximum amplifier gain of 80dB (equivalent to 10000) was utilized for this measurement.
The measured voltage $n$ was then divided by 10000 to obtain the equivalent noise at the input of the voltage amplifier $n_a$.
In that case, the noise of the ADC $q_{ad}$ is negligible, thanks to the high gain used.
The obtained amplifier noise ASD $\Gamma_{n_a}$ and the (negligible) contribution of the ADC noise are shown in Figure ref:fig:detail_instrumentation_femto_input_noise.
The measured voltage $n$ was then divided by 10000 to determine the equivalent noise at the input of the voltage amplifier $n_a$.
In this configuration, the noise contribution from the ADC $q_{ad}$ is rendered negligible due to the high gain employed.
The resulting amplifier noise amplitude spectral density $\Gamma_{n_a}$ and the (negligible) contribution of the ADC noise are presented in Figure ref:fig:detail_instrumentation_femto_input_noise.
It was also verified that the bandwidth of the instrumentation amplifier is much larger than 5kHz such that not phase drop are added by the use of the amplifier in the frequency band of interest.
Additionally, verification was performed to ensure that the bandwidth of the instrumentation amplifier significantly exceeds 5kHz, thereby preventing any phase distortion within the frequency band of interest.
#+begin_src latex :file detail_instrumentation_femto_meas_setup.pdf
\begin{tikzpicture}
@ -1506,10 +1418,15 @@ exportFig('figs/detail_instrumentation_femto_input_noise.pdf', 'width', 'half',
** Digital to Analog Converters
**** Output Voltage Noise
In order to measure the output noise of the DAC, the measurement setup schematically represented in Figure ref:fig:detail_instrumentation_dac_setup was used.
The DAC was instructed to output constant voltage (here zero), and the gain of the pre-amplifier is adjusted such that the measured amplified noise is much larger than the quantization noise of the ADC.
To measure the output noise of the DAC, the setup schematically represented in Figure ref:fig:detail_instrumentation_dac_setup was utilized.
The DAC was configured to output a constant voltage (zero in this case), and the gain of the pre-amplifier was adjusted such that the measured amplified noise was significantly larger than the quantization noise of the ADC.
The Amplitude Spectral Density $\Gamma_{n_{da}}(\omega)$ of the measured signal was computed and it was verified the contribution of the ADC noise and amplifier noise are negligible.
The Amplitude Spectral Density $\Gamma_{n_{da}}(\omega)$ of the measured signal was computed, and verification was performed to confirm that the contributions of ADC noise and amplifier noise were negligible in the measurement.
The resulting Amplitude Spectral Density of the DAC's output voltage is displayed in Figure ref:fig:detail_instrumentation_dac_output_noise.
The noise profile is predominantly white with an ASD of $0.6\,\mu V/\sqrt{\text{Hz}}$.
Minor $50\,\text{Hz}$ noise is present, along with some low frequency $1/f$ noise, but these are not expected to pose issues as they are well within specifications.
It should be noted that all DAC channels demonstrated similar performance, so only one channel's results are presented.
#+begin_src latex :file detail_instrumentation_dac_setup.pdf
\begin{tikzpicture}
@ -1594,11 +1511,6 @@ sprintf('RMS of the DAC: %.2f mV RMS', 1e3*rms(dac.Vn))
sprintf('RMS specifications: %.2f mV RMS', max_dac_rms)
#+end_src
The obtained Amplitude Spectral Density of the DAC's output voltage is shown in Figure ref:fig:detail_instrumentation_dac_output_noise.
It is almost white noise with an ASD of 0.6uV/sqrt(Hz).
There is a little bit of 50Hz, and some low frequency noise (thermal noise?) which are not foreseen to be an issue as it will be inside the bandwidth.
Note that all channels are measuring the same, so only one channel is shown here.
#+begin_src matlab :exports none
figure;
tiledlayout(1, 1, 'TileSpacing', 'compact', 'Padding', 'None');
@ -1623,10 +1535,11 @@ exportFig('figs/detail_instrumentation_dac_output_noise.pdf', 'width', 'half', '
#+end_src
**** Delay from ADC to DAC
In order to measure the transfer function from DAC to ADC and verify that the bandwidth of both instrument is high enough, the DAC output was directly wired to the ADC input.
A white noise signal was generated by the DAC, and the ADC signal was recorded.
The obtained frequency response function from the digital DAC signal to the digital ADC signal is shown in (Figure ref:fig:detail_instrumentation_dac_adc_tf).
It corresponds to 1 sample delay, which is corresponding to the specifications.
To measure the transfer function from DAC to ADC and verify that the bandwidth and latency of both instruments is sufficient, a direct connection was established between the DAC output and the ADC input.
A white noise signal was generated by the DAC, and the ADC response was recorded.
The resulting frequency response function from the digital DAC signal to the digital ADC signal is presented in Figure ref:fig:detail_instrumentation_dac_adc_tf.
The observed frequency response function corresponds to exactly one sample delay, which aligns with the specifications provided by the manufacturer.
#+begin_src matlab
%% Measure transfer function from DAC to ADC
@ -1700,10 +1613,10 @@ exportFig('figs/detail_instrumentation_dac_adc_tf.pdf', 'width', 'half', 'height
** Piezoelectric Voltage Amplifier
**** Output Voltage Noise
The measurement setup is shown in Figure ref:fig:detail_instrumentation_pd200_setup.
The input of the PD200 amplifier is shunted with a $50\,\Omega$ resistor such that only the noise of the amplifier itself is measured.
The gain of the pre-amplifier was increased in order to measure a signal much larger than the noise of the ADC.
Two piezoelectric stacks of the APA95ML were connected to the PD200 output to provide an appropriate load.
The measurement setup for evaluating the PD200 amplifier noise is illustrated in Figure ref:fig:detail_instrumentation_pd200_setup.
The input of the PD200 amplifier was shunted with a $50\,\Ohm$ resistor to ensure that only the inherent noise of the amplifier itself was measured.
The pre-amplifier gain was increased to produce a signal substantially larger than the noise floor of the ADC.
Two piezoelectric stacks from the APA95ML were connected to the PD200 output to provide an appropriate load for the amplifier.
#+begin_src latex :file detail_instrumentation_pd200_setup.pdf
\begin{tikzpicture}
@ -1761,18 +1674,19 @@ Two piezoelectric stacks of the APA95ML were connected to the PD200 output to pr
#+RESULTS:
[[file:figs/detail_instrumentation_pd200_setup.png]]
The Amplitude Spectral Density $\Gamma_n(\omega)$ of the measured signal by the ADC is computed.
The Amplitude Spectral Density of the output voltage noise of the PD200 amplifier $n_p$ is then computed taking into account the gain of the pre-amplifier:
\begin{equation}
\Gamma_{n_p}(\omega) = \frac{\Gamma_n(\omega)}{|G_p(j\omega) G_a(j\omega)|}
The Amplitude Spectral Density $\Gamma_{n}(\omega)$ of the signal measured by the ADC was computed.
From this, the Amplitude Spectral Density of the output voltage noise of the PD200 amplifier $n_p$ was derived, accounting for the gain of the pre-amplifier according to eqref:eq:detail_instrumentation_amp_asd.
\begin{equation}\label{eq:detail_instrumentation_amp_asd}
\Gamma_{n_p}(\omega) = \frac{\Gamma_n(\omega)}{|G_p(j\omega) G_a(j\omega)|}
\end{equation}
The Amplitude Spectral Density of the measured output noise of the PD200 is computed and shown in Figure ref:fig:detail_instrumentation_pd200_noise.
It is verified that the contribution of the PD200 noise is much larger than the contribution of the pre-amplifier noise of the quantization noise (i.e. what is measured is indeed the PD200 noise).
Here, the measured noise of the six received amplifiers are all shown.
The computed Amplitude Spectral Density of the PD200 output noise is presented in Figure ref:fig:detail_instrumentation_pd200_noise.
Verification was performed to confirm that the measured noise was predominantly from the PD200, with negligible contributions from the pre-amplifier noise or quantization noise.
The measurements from all six amplifiers are displayed in this figure.
The Amplitude Spectral Density of the output voltage noise of the PD200 amplifiers present sharp peaks.
The reason for all these peaks is not clear, but as their amplitude are bellow the specifications, it should not pose any issue.
The noise spectrum of the PD200 amplifiers exhibits several sharp peaks.
While the exact cause of these peaks is not fully understood, their amplitudes remain below the specified limits and should not adversely affect system performance.
#+begin_src matlab :exports none
%% PD200 Output Voltage Noise
@ -1838,18 +1752,15 @@ exportFig('figs/detail_instrumentation_pd200_noise.pdf', 'width', 'wide', 'heigh
**** Small Signal Bandwidth
Here the small signal dynamics of all the PD200 amplifiers are identified.
The small signal dynamics of all six PD200 amplifiers were characterized through frequency response measurements.
A (logarithmic) sweep sine excitation voltage is generated by the Speedgoat DAC with an amplitude of 0.1V and a frequency going from 1Hz up to 5kHz.
A logarithmic sweep sine excitation voltage was generated using the Speedgoat DAC with an amplitude of $0.1\,V$, spanning frequencies from $1\,\text{Hz}$ to $5\,\text{kHz}$.
The output voltage of the PD200 amplifier was measured via the monitor voltage output of the amplifier, while the input voltage (generated by the DAC) was measured with a separate ADC channel of the Speedgoat system.
This measurement approach eliminates the influence of ADC-DAC-related time delays in the results.
The output voltage of the PD200 amplifier is measured thanks to the monitor voltage of the PD200 amplifier.
The input voltage of the PD200 amplifier (the generated voltage by the DAC) is measured with another ADC of the Speedgoat.
This way, the time delay related to the ADC will not be apparent in the results.
All six amplifiers demonstrated consistent transfer function characteristics. The amplitude response remains constant across a wide frequency range, and the phase shift is limited to less than 1 degree up to 500Hz, well within the specified requirements.
All six received amplifiers are measuring the same regarding their transfer functions.
The amplitude is constant over a wide frequency band and the phase drop is limited to less than 1 degree up to 500Hz, which is well within the specifications.
The identified dynamics in Figure ref:fig:detail_instrumentation_pd200_tf can very well be modeled with a first order low pass filter or even a simple constant.
The identified dynamics shown in Figure ref:fig:detail_instrumentation_pd200_tf can be accurately modeled as either a first-order low-pass filter or as a simple constant gain.
#+begin_src matlab :exports none
%% Load all the measurements
@ -1917,15 +1828,14 @@ exportFig('figs/detail_instrumentation_pd200_tf.pdf', 'width', 'wide', 'height',
** Linear Encoders
To measure the noise $n$ of the encoder, one can rigidly fix the head and the ruler together such that no motion should be measured.
Then, the measured signal $y_m$ corresponds to the noise $n$.
To measure the noise $n$ of the encoder, the head and ruler were rigidly fixed together to ensure that no actual motion would be detected.
Under these conditions, any measured signal $y_m$ would correspond solely to the encoder noise.
The measurement bench is shown in Figure ref:fig:detail_instrumentation_vionic_bench.
Note that the bench is then covered with a "plastic bubble sheet" in order to keep disturbances as small as possible.
Then, and for all the six encoders, the measured motion during 100s with a sampling frequency of 20kHz.
The measurement setup is shown in Figure ref:fig:detail_instrumentation_vionic_bench.
To minimize environmental disturbances, the entire bench was covered with a plastic bubble sheet during measurements.
The obtained amplitude spectral density of the measured displacement (i.e. measurement noise) is shown in Figure ref:fig:detail_instrumentation_vionic_asd.
It corresponds to a white noise, with an amplitude $\approx 1\,nm\,\text{RMS}$.
The amplitude spectral density of the measured displacement (which represents the measurement noise) is presented in Figure ref:fig:detail_instrumentation_vionic_asd.
The noise profile exhibits characteristics of white noise with an amplitude of approximately $1\,\text{nm RMS}$, which complies with the system requirements.
#+begin_src matlab :exports none
%% Load all the measurements
@ -1981,11 +1891,13 @@ exportFig('figs/detail_instrumentation_vionic_asd.pdf', 'width', 'half', 'height
** Noise budgeting from measured instrumentation noise
Once all the instrumentation noise were characterized, the effect of the instrumentation noise on the sample's vibration can be assessed using the multi-body model.
After characterizing all instrumentation components individually, their combined effect on the sample's vibration was assessed using the multi-body model developed earlier.
The obtained vertical motion induced by the ADC noise, DAC noise and voltage amplifier noise is displayed in Figure ref:fig:detail_instrumentation_cl_noise_budget (the effect of encoder noise is negligible).
The vertical motion induced by the noise sources, specifically the ADC noise, DAC noise, and voltage amplifier noise, is presented in Figure ref:fig:detail_instrumentation_cl_noise_budget.
The contribution from encoder noise was found to be negligible and is therefore not shown here.
The total motion induced by all the noise sources is around $1.5\,nm$ which is well within the specifications.
The total motion induced by all noise sources combined is approximately $1.5\,\text{nm RMS}$, which remains well within the specified limit of $15\,\text{nm RMS}$.
This confirms that the selected instrumentation, with its measured noise characteristics, is suitable for the intended application.
#+begin_src matlab
%% Estimate the resulting errors induced by noise of instruments
@ -2046,13 +1958,22 @@ exportFig('figs/detail_instrumentation_cl_noise_budget.pdf', 'width', 'wide', 'h
:END:
<<sec:detail_instrumentation_conclusion>>
- thanks to multi-body model in which it is easy to include instrumentation and noise sources
From specification on the sample's vertical motion (most stringent requirement), specification for each noise source was extracted.
- based on those specifications, adequate instrumentation were chosen.
for some instrumentation, it was difficult to choose only based on data-sheets are manufacturers often don't share relevant information for noise budgets, such as amplitude spectral densities
- then, the instrumentation was procured and tested individually.
All were found to comply with the requirements.
Finally, based on the measured noise of all instrumentation, the expected sample's vibration induced by all the noise sources was estimated and found to comply with the requirements.
This section has presented a comprehensive approach to the selection and characterization of instrumentation for the nano active stabilization system.
The multi-body model developed earlier proved invaluable for incorporating instrumentation components and their associated noise sources into the system analysis.
From the most stringent requirement (i.e. the specification on vertical sample motion limited to 15 nm RMS), detailed specifications for each noise source were methodically derived through dynamic error budgeting.
Based on these specifications, appropriate instrumentation components were selected for the system.
The selection process revealed certain challenges, particularly with voltage amplifiers, where manufacturer datasheets often lacked crucial information needed for accurate noise budgeting, such as amplitude spectral densities under specific load conditions.
Despite these challenges, suitable components were identified that theoretically met all requirements.
The selected instrumentation (including the IO131 ADC/DAC from Speedgoat, PD200 piezoelectric voltage amplifiers from PiezoDrive, and Vionic linear encoders from Renishaw) was procured and thoroughly characterized.
Initial measurements of the ADC system revealed an issue with force sensor readout related to input bias current, which was successfully addressed by adding a parallel resistor to optimize the measurement circuit.
All components were found to meet or exceed their respective specifications. The ADC demonstrated noise levels of $5.6\,\mu V/\sqrt{\text{Hz}}$ (versus the $11\,\mu V/\sqrt{\text{Hz}}$ specification), the DAC showed $0.6\,\mu V/\sqrt{\text{Hz}}$ (versus $14\,\mu V/\sqrt{\text{Hz}}$ required), the voltage amplifiers exhibited noise well below the $280\,\mu V/\sqrt{\text{Hz}}$ limit, and the encoders achieved $1\,\text{nm RMS}$ noise (versus the $6\,\text{nm RMS}$ specification).
Finally, the measured noise characteristics of all instrumentation components were incorporated into the multi-body model to predict the actual system performance.
The combined effect of all noise sources was estimated to induce vertical sample vibrations of only $1.5\,\text{nm RMS}$, which is substantially below the $15\,\text{nm RMS}$ requirement.
This rigorous methodology spanning requirement formulation, component selection, and experimental characterization validates the instrumentation's ability to fulfill the nano active stabilization system's demanding performance specifications.
* Bibliography :ignore:
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2025-03-17 Mon 17:41
% Created 2025-03-17 Mon 21:28
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
@ -24,61 +24,45 @@
\clearpage
The goal is to show that each element in the system has been properly chosen based on certain requirements.
This chapter presents a systematic approach to selecting and validating appropriate instrumentation for the nano active stabilization system (NASS), ensuring each component meets specific performance requirements.
Figure \ref{fig:detail_instrumentation_plant} illustrates the control diagram with all relevant noise sources whose effects on sample position will be evaluated throughout this analysis.
In order to determine the maximum noise of each instrumentation, a dynamic error budgeting is performed in Section \ref{sec:instrumentation_dynamic_error_budgeting}.
The selection process follows a three-stage methodology.
First, dynamic error budgeting is performed in Section \ref{sec:detail_instrumentation_dynamic_error_budgeting} to establish maximum acceptable noise specifications for each instrumentation component (ADC, DAC, and voltage amplifier).
This analysis employs the multi-body model with a 2DoF APA model, focusing particularly on the vertical direction due to its more stringent requirements.
From the calculated transfer functions, maximum acceptable amplitude spectral densities for each noise source are derived.
The required instrumentation are then selected based on obtained noise specifications and other requirements summarized in Section \ref{sec:detail_instrumentation_choice}.
Section \ref{sec:detail_instrumentation_choice} then presents the selection of appropriate components based on these noise specifications and additional requirements.
The received instrumentation are characterized in Section \ref{sec:detail_instrumentation_characterization}.
\begin{itemize}
\item Say the the real time controller is a Speedgoat machine, as it is the standard real time controller used at the ESRF
\end{itemize}
Finally, Section \ref{sec:detail_instrumentation_characterization} validates the selected components through experimental testing.
Each instrument is characterized individually, measuring actual noise levels and performance characteristics.
The measured noise characteristics are then incorporated into the multi-body model to confirm that the combined effect of all instrumentation noise sources remains within acceptable limits.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/detail_instrumentation_plant.png}
\caption{\label{fig:detail_instrumentation_plant}Block diagram of the NASS with considered instrumentation}
\caption{\label{fig:detail_instrumentation_plant}Block diagram of the NASS with considered instrumentation. The RT controller is a Speedgoat machine.}
\end{figure}
\chapter{Dynamic Error Budgeting}
\label{sec:detail_instrumentation_dynamic_error_budgeting}
\textbf{Goal}:
\begin{itemize}
\item Obtain specifications regarding the maximum noise of instrumentation (ADC, DAC and voltage amplifier)
such that it induces acceptable vibrations levels
\end{itemize}
The primary goal of this analysis is to establish specifications for the maximum allowable noise levels in the instrumentation used for the NASS (ADC, DAC, and voltage amplifier) that would result in acceptable vibration levels in the system.
\textbf{Procedure}:
\begin{itemize}
\item Get closed-loop transfer functions from noise sources (noise of ADC, DAC and amplifier noise) to positioning error.
This is done using the multi-body model, with 2DoF APA model (having voltage input and outputs).
\item Focus is made on the vertical direction, as it is the direction with the most stringent requirements.
If horizontal directions are considered, requirements are just less stringent than for the vertical direction.
\item Deduce the maximum acceptable ASD of the noise sources.
\end{itemize}
The procedure involves determining the closed-loop transfer functions from various noise sources to positioning error (Section \ref{ssec:detail_instrumentation_cl_sensitivity}).
This analysis is conducted using the multi-body model with a 2-DoF Amplified Piezoelectric Actuator model that incorporates voltage inputs and outputs.
Only the vertical direction is considered in this analysis as it presents the most stringent requirements; the horizontal directions are subject to less demanding constraints.
As the voltage amplifier gain will impact how the DAC noise is amplified, some assumption are made:
\begin{itemize}
\item we want to apply -20 to 150V to the stacks
\item Typical ADC are +/-10V
\item Assumption of voltage amplifier with gain 20
\end{itemize}
From these transfer functions, the maximum acceptable Amplitude Spectral Density (ASD) of the noise sources is derived (Section \ref{ssec:detail_instrumentation_max_noise_specs}).
Since the voltage amplifier gain affects the amplification of DAC noise, an assumption of an amplifier gain of 20 was made.
\section{Closed-Loop Sensitivity to Instrumentation Disturbances}
\label{ssec:detail_instrumentation_cl_sensitivity}
The following noise sources are considered (Figure \ref{fig:detail_instrumentation_plant}):
\begin{itemize}
\item \(n_{da}\): output voltage noise of the DAC
\item \(n_{amp}\): output voltage noise of the voltage amplifier
\item \(n_{ad}\): voltage noise of the ADC measuring the force sensor stacks
\end{itemize}
Several key noise sources are considered in the analysis (Figure \ref{fig:detail_instrumentation_plant}).
These include the output voltage noise of the DAC (\(n_{da}\)), the output voltage noise of the voltage amplifier (\(n_{amp}\)), and the voltage noise of the ADC measuring the force sensor stacks (\(n_{ad}\)).
Encoder noise, only used to estimate \(R_z\) is found to have little impact on the vertical sample error and is therefore ommited from this analysis for clarity.
Encoder noise, which is only used to estimate \(R_z\), has been found to have minimal impact on the vertical sample error and is therefore omitted from this analysis for clarity.
The transfer function from these three noise sources (for one strut) to the vertical error of the sample are estimated from the multi-body model, including the APA300ML and the designed flexible joints (Figure \ref{fig:detail_instrumentation_noise_sensitivities}).
The lateral error was also considered, but the specifications are less stringent than vertical error and the sensitivity to disturbances is smaller.
The transfer functions from these three noise sources (for one strut) to the vertical error of the sample are estimated from the multi-body model, which includes the APA300ML and the designed flexible joints (Figure \ref{fig:detail_instrumentation_noise_sensitivities}).
\begin{figure}[htbp]
\centering
@ -87,91 +71,53 @@ The lateral error was also considered, but the specifications are less stringent
\end{figure}
\section{Estimation of maximum instrumentation noise}
\label{ssec:detail_instrumentation_max_noise_specs}
From previous analysis, we know how the noise of the instrumentation will affect the vertical error of the sample as a function of frequency.
Now, we want to determine specifications for each instrumentation such that the effect on the vertical error of the sample is within specifications.
From the previous analysis, the relationship between the noise of the instrumentation and its effect on the vertical error of the sample as a function of frequency has been established.
The next step involves determining specifications for each instrumentation component to ensure that the effect on the vertical error of the sample remains within acceptable limits.
Most stringent requirement:
\begin{itemize}
\item Vertical vibrations less than the smallest expected beam size of 100nm
\item This corresponds to a maximum allowed vibration of 15nm RMS
\end{itemize}
The most stringent requirement for the system is maintaining vertical vibrations below the smallest expected beam size of \(100\,\text{nm}\), which corresponds to a maximum allowed vibration of \(15\,\text{nm RMS}\).
Assumption on the noise:
\begin{itemize}
\item DAC, DAC and amplifier noise are uncorrelated, which is reasonable.
Noise corresponding each strut are each uncorrelated.
This means that the PSD of the different noise sources adds up.
\end{itemize}
Several assumptions regarding the noise characteristics have been made.
The DAC, ADC, and amplifier noise are considered uncorrelated, which is a reasonable assumption.
Similarly, the noise corresponding to each strut is assumed to be uncorrelated.
This means that the power spectral densities (PSD) of the different noise sources can be summed.
Use of system symmetry to simplify the analysis:
\begin{itemize}
\item the effect of all the struts on the vertical errors are identical (verify from the extracted sensitivity curves).
Therefore only one strut can be considered for this analysis, and the total effect of the six struts is just six times the effect of one strut (in terms of power, but in terms of RMS value it's only sqrt(6)=2.5)
\end{itemize}
The system symmetry has been utilized to simplify the analysis.
The effect of all struts on the vertical errors is identical, as verified from the extracted sensitivity curves.
Therefore, only one strut is considered for this analysis, and the total effect of the six struts is calculated as six times the effect of one strut in terms of power, which translates to a factor of \(\sqrt{6} \approx 2.5\) for RMS values.
In order to have specifications in terms of noise spectral density of each instrumentation, a white noise is assumed, which is quite typical.
In order to derive specifications in terms of noise spectral density for each instrumentation component, a white noise profile is assumed, which is typical for these components.
The noise specification is computed such that if all the instrumentation have this maximum noise, the specification in terms of vertical error is still respected.
This is a pessimistic choice, but it gives a rough idea of the specifications.
The noise specification is computed such that if all instrumentation components operate at their maximum allowable noise levels, the specification for vertical error will still be met.
While this represents a pessimistic approach, it provides a reasonable estimate of the required specifications.
Obtained maximum noise are:
\begin{itemize}
\item DAC maximum output noise ASD \(14\,\mu V/\sqrt{Hz}\).
\item Voltage amplifier maximum output voltage noise ASD \(280\,\mu V/\sqrt{Hz}\)
\item ADC maximum measurement noise ASD \(11\,\mu V/\sqrt{Hz}\).
\end{itemize}
Based on this analysis, the obtained maximum noise levels are as follows: DAC maximum output noise ASD is established at \(14\,\mu V/\sqrt{\text{Hz}}\), voltage amplifier maximum output voltage noise ASD at \(280\,\mu V/\sqrt{\text{Hz}}\), and ADC maximum measurement noise ASD at \(11\,\mu V/\sqrt{\text{Hz}}\).
In terms of RMS noise, these translate to less than \(1\,\text{mV RMS}\) for the DAC, less than \(20\,\text{mV RMS}\) for the voltage amplifier, and less than \(0.8\,\text{mV RMS}\) for the ADC.
In terms of RMS noise,
\begin{itemize}
\item DAC: <1 mV RMS
\item Voltage amplifier: < 20 mV RMS
\item ADC: < 0.8 mV RMS
\end{itemize}
\begin{table}[htbp]
\caption{\label{tab:detail_instrumentation_specification_noise}Obtained specification in terms of noise}
\centering
\begin{tabularx}{0.7\linewidth}{Xccc}
\toprule
& ADC & DAC & Amplifier\\
\midrule
Maximum ASD & \(11\,\mu V/\sqrt{Hz}\) & \(14\,\mu V/\sqrt{Hz}\) & \(280\,\mu V/\sqrt{Hz}\)\\
RMS Noise & \(0.8\,mV\,\text{RMS}\) & \(1\,mV\,\text{RMS}\) & \(20\,mV\,\text{RMS}\)\\
\bottomrule
\end{tabularx}
\end{table}
If the Amplitude Spectral Density of the noise of the ADC, DAC and voltage amplifiers are all below the specified maximum noises, then the induced vertical error will be below 15nmRMS.
Such specification will guide the choice of instrumentation in Section \ref{sec:detail_instrumentation_choice}.
If the Amplitude Spectral Density of the noise of the ADC, DAC, and voltage amplifiers all remain below these specified maximum levels, then the induced vertical error will be maintained below 15nm RMS. These specifications will guide the selection of appropriate instrumentation in Section \ref{sec:detail_instrumentation_choice}.
\chapter{Choice of Instrumentation}
\label{sec:detail_instrumentation_choice}
Based on:
\begin{itemize}
\item noise specifications extracted from Section \ref{sec:detail_instrumentation_dynamic_error_budgeting}
\item other specifications (input/output range, bandwidth, etc\ldots{})
\end{itemize}
The selection of appropriate instrumentation components was based on the noise specifications derived in Section \ref{sec:detail_instrumentation_dynamic_error_budgeting} and other relevant specifications that will be further developed.
The most adequate ADC, DAC, Voltage amplifier, and relative positioning sensor are found.
Different options that were considered are presented, and the choice of instrumentation is explained.
This section presents the evaluation process for ADCs, DACs, voltage amplifiers, and relative positioning sensors, detailing the comparison between different options and justifying the final selections.
\section{Piezoelectric Voltage Amplifier}
There are several characteristics of the piezoelectric voltage amplifiers that should be considered.
To be able to use the full stroke of the piezoelectric actuator, the voltage output should be between -20 and 150V.
It should accept an analog input voltage, preferably between -10 and 10V, as it is quite typical for DAC.
Several characteristics of piezoelectric voltage amplifiers must be considered for this application.
To utilize the full stroke of the piezoelectric actuator, the voltage output should range between \(-20\) and \(150\,V\).
The amplifier should accept an analog input voltage, preferably in the range of \(-10\) to \(10\,V\), as this is standard for most DACs.
\paragraph{Small signal Bandwidth and Output Impedance}
There are two bandwidth that should be considered for a piezoelectric voltage amplifier: large signal bandwidth and small signal bandwidth.
Large signal bandwidth are linked to the output current capacities of the amplifier and will be discussed next.
Two distinct bandwidth specifications are relevant for piezoelectric voltage amplifiers: large signal bandwidth and small signal bandwidth.
Large signal bandwidth relates to the output current capabilities of the amplifier and will be discussed in the next section.
Small signal bandwidth of the voltage amplifier is very important for feedback applications as it can limit the bandwidth of the complete feedback system.
Small signal bandwidth is particularly important for feedback applications as it can limit the overall bandwidth of the complete feedback system.
A simplified electrical model of a voltage amplifier connected to a piezoelectric stack is shown in Figure \ref{fig:detail_instrumentation_amp_output_impedance}.
This model is only valid for small signals, but it is useful to understand the small signal bandwidth limitation \cite[, chap. 14]{fleming14_desig_model_contr_nanop_system}.
\(R_o\) corresponds to the output impedance of the amplifier.
With the piezoelectric load that corresponds to a capacitance \(C_p\), it forms a first order low pass filter \eqref{eq:detail_instrumentation_amp_output_impedance}.
This model is valid for small signals and provides insight into the small signal bandwidth limitation \cite[, chap. 14]{fleming14_desig_model_contr_nanop_system}.
In this model, \(R_o\) represents the output impedance of the amplifier.
When combined with the piezoelectric load (represented as a capacitance \(C_p\)), it forms a first order low pass filter described by equation \ref{eq:detail_instrumentation_amp_output_impedance}.
\begin{equation}\label{eq:detail_instrumentation_amp_output_impedance}
\frac{V_a}{V_i}(s) = \frac{1}{1 + \frac{s}{\omega_0}}, \quad \omega_0 = \frac{1}{R_o C_p}
@ -183,61 +129,55 @@ With the piezoelectric load that corresponds to a capacitance \(C_p\), it forms
\caption{\label{fig:detail_instrumentation_amp_output_impedance}Electrical model of a voltage amplifier with output impedance \(R_0\) connected to a piezoelectric stack with capacitance \(C_p\)}
\end{figure}
Therefore, the small signal bandwidth is load dependent (it decreases as the load capacitance increases).
The capacitance load of the two piezoelectric stacks in the APA300ML correspond to a capacitance \(C_p = 8.8\,\mu F\).
If a small signal bandwidth of \(f_0 = \frac{\omega_0}{2\pi} = 5\,\text{kHz}\) is wanted, the voltage amplifier output impedance should be smaller than \(R_0 = 3.6\,\Omega\).
Consequently, the small signal bandwidth depends on the load capacitance and decreases as the load capacitance increases.
For the APA300ML, the capacitive load of the two piezoelectric stacks corresponds to \(C_p = 8.8\,\mu F\).
If a small signal bandwidth of \(f_0 = \frac{\omega_0}{2\pi} = 5\,\text{kHz}\) is desired, the voltage amplifier output impedance should be less than \(R_0 = 3.6\,\Omega\).
\paragraph{Large signal Bandwidth}
Large signal bandwidth are linked to the maximum output capabilities of the amplifiers in terms of amplitude as a function of frequency \cite{spengen16_high_voltag_amplif}.
Large signal bandwidth relates to the maximum output capabilities of the amplifier in terms of amplitude as a function of frequency.
As the primary objective of the NASS is to stabilize the position and not to perform scans, this specification is not as important as the small signal bandwidth.
Since the primary function of the NASS is position stabilization rather than scanning, this specification is less critical than the small signal bandwidth.
However, considering potential scanning capabilities, a worst-case scenario of a constant velocity scan (triangular reference signal) with a repetition rate of \(f_r = 100\,\text{Hz}\) using the full voltage range of the piezoelectric actuator (\(V_{pp} = 170\,V\)) is considered.
However, let's take into account scanning capabilities, and consider the worst case scenario of a constant velocity scan (i.e. triangular reference signal) with a repetition rate of \(f_r = 100\,\text{Hz}\) and using full voltage capabilities of the piezoelectric actuator \(V_{pp} = 170\,V\).
There are two limiting factors for large signal bandwidth that should be evaluated:
\begin{enumerate}
\item Slew rate, which should exceed \(2 \cdot V_{pp} \cdot f_r = 34\,V/ms\).
This requirement is typically easily met by commercial voltage amplifiers.
\item Current output capabilities: as the capacitive impedance decreases inversely with frequency, it can reach very low values at high frequencies.
To achieve high voltage at high frequency, the amplifier must provide substantial current.
The maximum required current can be calculated as \(I_{\text{max}} = 2 \cdot V_{pp} \cdot f \cdot C_p = 0.3\,A\).
\end{enumerate}
There are two things to consider:
\begin{itemize}
\item Slew rate that should be above \(2 \cdot V_{pp} \cdot f_r = 34\,V/ms\)
This specification is easily achieved by commercial voltage amplifiers.
\item Current output capabilities: as the capacitance impedance decreases the the inverse of the frequency, it can reach very low values at high frequency
In order to reach high voltage at high frequency, the required current that the voltage amplifier needs to provide may reach very large values.
\(I_{\text{max}} = 2 \cdot V_{pp} \cdot f \cdot C_p = 0.3\,A\)
\end{itemize}
So ideally, a voltage amplifier capable of providing \(0.3\,A\) of current is wanted.
Therefore, ideally, a voltage amplifier capable of providing \(0.3\,A\) of current is needed.
\paragraph{Output voltage noise}
As discussed in Section \ref{sec:detail_instrumentation_dynamic_error_budgeting}, the output noise of the voltage amplifier should be smaller than \(20\,mV\,\text{RMS}\).
As established in Section \ref{sec:detail_instrumentation_dynamic_error_budgeting}, the output noise of the voltage amplifier should be below \(20\,\text{mV RMS}\).
As explained in \cite{spengen20_high_voltag_amplif}, the load capacitance of the piezoelectric stack filters the output noise of the amplifier (low pass filter of Figure \ref{fig:detail_instrumentation_amp_output_impedance}).
Therefore, when comparing noise indicated in the datasheet of different voltage amplifiers, it is important to check what is the considered capacitance of the load (i.e. the low signal bandwidth considered).
It should be noted that the load capacitance of the piezoelectric stack filters the output noise of the amplifier, as illustrated by the low pass filter in Figure \ref{fig:detail_instrumentation_amp_output_impedance}.
Therefore, when comparing noise specifications from different voltage amplifier datasheets, it is essential to verify the capacitance of the load used in the measurement (i.e., the low signal bandwidth considered) \cite{spengen20_high_voltag_amplif}.
Here, the output noise should be smaller than 20mVRMS for a load of 8.8uF and a bandwidth larger than 5kHz.
For this application, the output noise must remain below \(20\,\text{mV RMS}\) with a load of \(8.8\,\mu F\) and a bandwidth exceeding \(5\,\text{kHz}\).
\paragraph{Choice of voltage amplifier}
The specifications are summarized in Table \ref{tab:detail_instrumentation_amp_choice}.
The most important characteristics being the (small signal) bandwidth > 5 [kHz] and the output voltage noise (< 20 [mV RMS]).
The most critical characteristics are the small signal bandwidth (\(>5\,\text{kHz}\)) and the output voltage noise (\(<20\,\text{mV RMS}\)).
Several voltage amplifiers were considered, with datasheet information summarized in Table \ref{tab:detail_instrumentation_amp_choice}.
\begin{itemize}
\item Issue for the selection: manufacturers are not specifying the output noise as a function of frequency (i.e. the ASD of the noise), but only the RMS value (i.e. the integrated value over all frequency).
It does not take into account the frequency dependency of the noise, that is very important to perform error budgets
Also, the load used to estimate the bandwidth and noise is often not mentioned.
Most of the time, the bandwidth is indicated with very little load and the noise with high load.
It renders the comparison between different models more complex.
\item The chosen model is the PD200 from PiezoDrive.
\begin{itemize}
\item It fulfill the specification
\item It has clear documentation, especially about noise and bandwidth
\end{itemize}
\end{itemize}
Several voltage amplifiers were considered, with their datasheet information presented in Table \ref{tab:detail_instrumentation_amp_choice}.
One challenge encountered during the selection process was that manufacturers typically do not specify output noise as a function of frequency (i.e., the ASD of the noise), but instead provide only the RMS value, which represents the integrated value across all frequencies.
This approach does not account for the frequency dependency of the noise, which is crucial for accurate error budgeting.
Additionally, the load conditions used to estimate bandwidth and noise specifications are often not explicitly stated.
In many cases, bandwidth is reported with minimal load while noise is measured with substantial load, making direct comparisons between different models more complex.
The PD200 from PiezoDrive was ultimately selected because it meets all the requirements and is accompanied by clear documentation, particularly regarding noise characteristics and bandwidth specifications.
\begin{table}[htbp]
\caption{\label{tab:detail_instrumentation_amp_choice}Characteristics of the PD200 compared with the specifications}
\caption{\label{tab:detail_instrumentation_amp_choice}Specifications for the Voltage amplifier and considered commercial products}
\centering
\begin{tabularx}{\linewidth}{Xcccc}
\begin{tabularx}{0.9\linewidth}{Xcccc}
\toprule
\textbf{Specification} & \textbf{PD200} & WMA-200 & LA75B & E-505\\
& PiezoDrive & Falco & Cedrat & PI\\
@ -248,55 +188,53 @@ Gain \(>15\) & 20 & 20 & 20 & 10\\
Output Current \(> 300\,mA\) & \(900\,mA\) & \(150\,mA\) & \(360\,mA\) & \(215\,mA\)\\
Slew Rate \(> 34\,V/ms\) & \(150\,V/\mu s\) & \(80\,V/\mu s\) & n/a & n/a\\
Output noise \(< 20\,mV\ \text{RMS}\) & \(0.7\,mV\,\text{RMS}\) & \(0.05\,mV\) & \(3.4\,mV\) & \(0.6\,mV\)\\
(10uF load) & (\(10\,\mu F\) load) & (\(10\,\mu F\) load) & & \\
(10uF load) & (\(10\,\mu F\) load) & (\(10\,\mu F\) load) & (n/a) & (n/a)\\
Small Signal Bandwidth \(> 5\,kHz\) & \(6.4\,kHz\) & \(300\,Hz\) & \(30\,kHz\) & n/a\\
(\(10\,\mu F\) load) & (\(10\,\mu F\) load) & \footnotemark & (unloaded) & \\
Output Impedance: \(< 3.6\,\Omega\) & n/a & \(50\,\Omega\)\textsuperscript{\ref{orgcbb55af}} & n/a & n/a\\
(\(10\,\mu F\) load) & (\(10\,\mu F\) load) & \footnotemark & (unloaded) & (n/a)\\
Output Impedance: \(< 3.6\,\Omega\) & n/a & \(50\,\Omega\)\textsuperscript{\ref{orgd8b72a7}} & n/a & n/a\\
\bottomrule
\end{tabularx}
\end{table}\footnotetext[1]{\label{orgcbb55af}The manufacturer proposed to remove the \(50\,\Omega\) output resistor to improve to small signal bandwidth above \(10\,kHz\)}
\end{table}\footnotetext[1]{\label{orgd8b72a7}The manufacturer proposed to remove the \(50\,\Omega\) output resistor to improve to small signal bandwidth above \(10\,kHz\)}
\section{ADC and DAC}
Analog to digital converters and digital to analog converters are very important to convert signals from the RT controller that only uses digital numbers to the physical plant, which is of course affected by analog signals.
Analog-to-digital converters and digital-to-analog converters play key roles in the system, serving as the interface between the digital RT controller and the analog physical plant.
The proper selection of these components is critical for system performance.
\paragraph{Synchronicity and Jitter}
For control systems, it is very important that the inputs and outputs are sampled synchronously with the controller and with low jitter \cite{abramovitch22_pract_method_real_world_contr_system,abramovitch23_tutor_real_time_comput_issues_contr_system}.
For control systems, synchronous sampling of inputs and outputs of the real-time controller and minimal jitter are essential requirements.
These factors significantly impact control performance, as highlighted in \cite{abramovitch22_pract_method_real_world_contr_system,abramovitch23_tutor_real_time_comput_issues_contr_system}.
Therefore, the ADC and DAC needs to be well interfaced with the Speedgoat, and triggered synchronously with the computation of the control signals.
For that reason, it was decided to first look for ADC and DAC sold by Speedgoat (the RT controller used).
Therefore, the ADC and DAC must be well interfaced with the Speedgoat real-time controller and triggered synchronously with the computation of the control signals.
Based on this requirement, priority was given to ADC and DAC components specifically marketed by Speedgoat to ensure optimal integration.
\paragraph{Sampling Frequency, Bandwidth and delays}
Several requirements may appear the same but are very different in nature:
\begin{itemize}
\item Sampling frequency: defines the interval between two sampled points, also determines the Nyquist frequency
\item Bandwidth: defines the maximum frequency of a measured signal (typically specified as the -3dB point), usually limited by implemented anti-aliasing filters
\item Delay/latency: delay between the analog signal at the input of the ADC to the digital information transferred to the control system
\end{itemize}
Several requirements that may initially appear similar are actually distinct in nature.
Sigma-Delta ADC can have extremely good noise characteristics, high bandwidth and sampling frequency but very poor latency.
First, the \emph{sampling frequency} defines the interval between two sampled points and determines the Nyquist frequency.
Then, the \emph{bandwidth} specifies the maximum frequency of a measured signal (typically defined as the -3dB point) and is often limited by implemented anti-aliasing filters.
Finally, \emph{delay} (or \emph{latency}) refers to the time interval between the analog signal at the input of the ADC and the digital information transferred to the control system.
Sigma-Delta ADCs can provide excellent noise characteristics, high bandwidth, and sampling frequency, but often at the cost of poor latency.
Typically, the latency can reach 20 times the sampling period \cite[, chapt. 8.4]{schmidt20_desig_high_perfor_mechat_third_revis_edition}.
Consequently, while Sigma-Delta ADCs are widely used for signal acquisition applications, they have limited utility in real-time control scenarios where latency is a critical factor.
Therefore, Sigma-Delta ADC are very much used for signal acquisition applications, but has limited use for real-time control where latency is critical.
Therefore, for real time control applications, SAR-ADC (Successive approximation ADCs) is still the mostly applied type because of its single sample latency.
For real-time control applications, SAR-ADCs (Successive Approximation ADCs) remain the predominant choice due to their single-sample latency characteristics.
\paragraph{ADC Noise}
From the dynamical error budget in Section \ref{sec:detail_instrumentation_dynamic_error_budgeting}
Measurement noise ASD should be bellow 11uV/sqrt(Hz), 0.8mV RMS
Based on the dynamic error budget established in Section \ref{sec:detail_instrumentation_dynamic_error_budgeting}, the measurement noise ASD should not exceed \(11\,\mu V/\sqrt{\text{Hz}}\), equivalent to \(0.8\,\text{mV RMS}\).
ADC are affected by various noise sources
One of them is quantization noise, and is linked to the fact that input/output values can only take a finite number of values.
Let's first find the number of bits such that the quantization noise is fulfilling the requirements.
ADCs are subject to various noise sources.
Quantization noise, which results from the discrete nature of digital representation, is one of these sources.
To determine the minimum bit depth required to meet the noise specifications, the quantization noise must be analyzed.
Let's first suppose that the ADC is ideal and the only noise comes from the quantization error.
Let's note \(q = \frac{\Delta V}{2^n}\) the quantization in [V], which is the corresponding value in [V] of the least significant bit.
\(\Delta V\) is the full range of the ADC in [V], \(n\) is the number of ADC's bits and \(F_s\) is the sample frequency in [Hz].
Assuming an ideal ADC where quantization error is the only noise source, the quantization step size, denoted as \(q = \Delta V/2^n\), represents the voltage equivalent of the least significant bit.
Here, \(\Delta V\) is the full range of the ADC in volts, \(n\) is the bit depth, and \(F_s\) is the sampling frequency in Hertz.
The quantization noise can take a value between \(\pm q/2\), and the probability density function is constant in this range (i.e., its a uniform distribution).
Since the integral of the probability density function \(p(e)\) is equal to one, its value is \(1/q\) for \(-q/2 < e < q/2\) as illustrated in Figure \ref{fig:detail_instrumentation_adc_quantization}.
The quantization noise ranges between \(\pm q/2\), and its probability density function is constant across this range (uniform distribution).
Since the integral of this probability density function \(p(e)\) equals one, its value is \(1/q\) for \(-q/2 < e < q/2\), as illustrated in Figure \ref{fig:detail_instrumentation_adc_quantization}.
\begin{figure}[htbp]
\centering
@ -304,82 +242,52 @@ Since the integral of the probability density function \(p(e)\) is equal to one,
\caption{\label{fig:detail_instrumentation_adc_quantization}Probability density function \(p(e)\) of the ADC error \(e\)}
\end{figure}
The variance (or time average power) of the quantization noise is \eqref{eq:detail_instrumentation_quant_power}.
The variance (or time-average power) of the quantization noise is expressed by equation \ref{eq:detail_instrumentation_quant_power}:
\begin{equation}\label{eq:detail_instrumentation_quant_power}
P_q = \int_{-q/2}^{q/2} e^2 p(e) de = \frac{q^2}{12}
\end{equation}
Now, the goal is to compute the power spectral density of the quantization noise, which is by definition the Fourier transform of the autocorrelation function of the quantization noise.
Assuming that the noise samples are not correlated with one another, the autocorrelation function can be approximated with a delta function in the time domain.
Since the Fourier transform of a delta function is equal to one, the power spectral density will be frequency independent (i.e. white noise).
Therefore, thanks the the Perseval's theorem, the quantization noise is a white noise with total power equal to \(P_q = \frac{q^2}{12}\).
To compute the power spectral density of the quantization noise, which is defined as the Fourier transform of the noise's autocorrelation function, it is assumed that noise samples are uncorrelated.
Under this assumption, the autocorrelation function approximates a delta function in the time domain.
Since the Fourier transform of a delta function equals one, the power spectral density becomes frequency-independent (white noise).
Thus, the two-sided PSD (from \(\frac{-F_s}{2}\) to \(\frac{F_s}{2}\)), we should divide the noise power \(P_q\) by \(F_s\):
\begin{equation}
P_q = \int_{-F_s/2}^{F_s/2} \Gamma(f) d f = F_s \Gamma = \frac{q^2}{12}
\end{equation}
Finally, the Power Spectral Density of the quantization noise of an ADC is equal to \eqref{eq:detail_instrumentation_psd_quant_noise}.
By Parseval's theorem, the power spectral density of the quantization noise \(\Phi_q\) can be linked to the ADC sampling frequency and quantization step size \eqref{eq:detail_instrumentation_psd_quant_noise}.
\begin{equation}\label{eq:detail_instrumentation_psd_quant_noise}
\Gamma_q = \frac{q^2}{12 F_s} = \frac{\left(\frac{\Delta V}{2^n}\right)^2}{12 F_s} \quad \text{in } \left[ \frac{V^2}{\text{Hz}} \right]
\int_{-F_s/2}^{F_s/2} \Phi_q(f) d f = \int_{-q/2}^{q/2} e^2 p(e) de \quad \Longrightarrow \quad \Phi_q = \frac{q^2}{12 F_s} = \frac{\left(\frac{\Delta V}{2^n}\right)^2}{12 F_s} \quad \text{in } \left[ \frac{V^2}{\text{Hz}} \right]
\end{equation}
From a defined noise amplitude spectral density \(\Phi_{\text{max}}\), the minimum number of bits so that the quantization noise is below \(\Phi_{\text{max}}\) can be computed from \eqref{eq:detail_instrumentation_min_n}.
From a specified noise amplitude spectral density \(\Gamma_{\text{max}}\), the minimum number of bits required to keep quantization noise below \(\Gamma_{\text{max}}\) is calculated using equation \ref{eq:detail_instrumentation_min_n}.
\begin{equation}\label{eq:detail_instrumentation_min_n}
n = \text{log}_2 \left( \frac{\Delta V}{\sqrt{12 Fs} \Phi_{\text{max}}} \right)
n = \text{log}_2 \left( \frac{\Delta V}{\sqrt{12 F_s} \cdot \Gamma_{\text{max}}} \right)
\end{equation}
With a sampling frequency \(F_s = 10\,kHz\), a full range of \(\Delta V = 20\,V\) and a maximum allowed ASD \(\Phi_{\text{max}} = 11\,\mu V/\sqrt{Hz}\), the minimum number of bits is \(n_{\text{min}} = 12.4\), which is easily satisfied by commercial ADCs.
With a sampling frequency \(F_s = 10\,\text{kHz}\), an input range \(\Delta V = 20\,V\) and a maximum allowed ASD \(\Gamma_{\text{max}} = 11\,\mu V/\sqrt{Hz}\), the minimum number of bits is \(n_{\text{min}} = 12.4\), which is readily achievable with commercial ADCs.
\paragraph{DAC Output voltage noise}
Similarly to ADC, the DAC output voltage noise ASD should be below \(14\,\mu V/\sqrt{Hz}\), 1mV RMS.
This corresponds to a 13bits +/-10V DAC, which is easily satisfied.
Similar to the ADC requirements, the DAC output voltage noise ASD should not exceed \(14\,\mu V/\sqrt{Hz}\), equivalent to \(1\,\text{mV RMS}\).
This specification corresponds to a 13-bit \(\pm 10\,V\) DAC, which is easily attainable with current technology.
\paragraph{Choice of the ADC and DAC Board}
Based on the above analysis, the choice of ADC and DAC is quite straightforward.
Based on the preceding analysis, the selection of suitable ADC and DAC components is straightforward.
Integrated in Speedgoat for best synchronicity.
Chosen model: IO131:
\begin{itemize}
\item 16 analog inputs, based on the AD7609
\begin{itemize}
\item 16 bits, +/- 10V
\item Maximum sampling rate of 200kSPS
\item Simultaneous sampling
\item Differential inputs: can use shielded twisted pairs for high noise immunity
\end{itemize}
\item 8 analog outputs, based on the AD5754R
\begin{itemize}
\item 16 bits, +/- 10V
\item Conversion time 10us
\item Simultaneous update
\end{itemize}
\end{itemize}
For optimal synchronicity, a Speedgoat-integrated solution was chosen.
The selected model is the IO131, which features 16 analog inputs based on the AD7609 with 16-bit resolution, \(\pm 10\,V\) range, maximum sampling rate of 200kSPS, simultaneous sampling, and differential inputs allowing the use of shielded twisted pairs for enhanced noise immunity.
The board also includes 8 analog outputs based on the AD5754R with 16-bit resolution, \(\pm 10\,V\) range, conversion time of \(10\,\mu s\), and simultaneous update capability.
Noise is not specified, but as it has 16 bits resolution, it should be well below the requirements.
It will be experimentally measured in Section \ref{sec:detail_instrumentation_characterization}.
Although noise specifications are not explicitly provided in the datasheet, the 16-bit resolution should ensure performance well below the established requirements.
This will be experimentally verified in Section \ref{sec:detail_instrumentation_characterization}.
\section{Relative Displacement Sensors}
Specifications:
\begin{itemize}
\item used for relative positioning
\item Small enough to be integrated in each strut
\item vertical errors of 15nmRMS => 6nmRMS for each strut => maximum 6nmRMS sensor noise
\item Stroke > 100um
\end{itemize}
The specifications for the relative displacement sensors include sufficient compactness for integration within each strut, noise levels below \(6\,\text{nm RMS}\) (derived from the \(15\,\text{nm RMS}\) vertical error requirement for the system divided by the contributions of six struts), and a measurement range exceeding \(100\,\mu m\).
There are many different sensors that can fulfil the requirements \cite{fleming13_review_nanom_resol_posit_sensor}:
\begin{itemize}
\item Encoders
\item Capacitive Sensors
\item Eddy current sensors
\end{itemize}
Several sensor technologies are capable of meeting these requirements \cite{fleming13_review_nanom_resol_posit_sensor}.
These include optical encoders (Figure \ref{fig:detail_instrumentation_sensor_encoder}), capacitive sensors (Figure \ref{fig:detail_instrumentation_sensor_capacitive}), and eddy current sensors (Figure \ref{fig:detail_instrumentation_sensor_eddy_current}), each with their own advantages and implementation considerations.
\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
@ -400,14 +308,11 @@ There are many different sensors that can fulfil the requirements \cite{fleming1
\end{center}
\subcaption{\label{fig:detail_instrumentation_sensor_capacitive}Capacitive Sensor}
\end{subfigure}
\caption{\label{fig:detail_instrumentation_sensor_examples}Measurement of strut flexible modes}
\caption{\label{fig:detail_instrumentation_sensor_examples}Relative motion sensors considered for measuring the nano-hexapod strut motion}
\end{figure}
The implementation:
\begin{itemize}
\item slight advantage to capacitive or eddy current sensors as they can measure in line with the APA (Figure \ref{fig:detail_instrumentation_capacitive_implementation})
\item for the encoder, the measurement has to be ``offset'' from the strut ``action line'', and therefore relative rotations between the two ends of the APA induces measurement errors (Figure \ref{fig:detail_instrumentation_encoder_implementation}).
\end{itemize}
From an implementation perspective, capacitive and eddy current sensors offer a slight advantage as they can be quite compact and can measure in line with the APA, as illustrated in Figure \ref{fig:detail_instrumentation_capacitive_implementation}.
In contrast, optical encoders are bigger and they must be offset from the strut's action line, which introduces potential measurement errors (Abbe errors) due to relative rotations between the two ends of the APA, as shown in Figure \ref{fig:detail_instrumentation_encoder_implementation}.
\begin{figure}[htbp]
\begin{subfigure}{0.48\textwidth}
@ -422,20 +327,20 @@ The implementation:
\end{center}
\subcaption{\label{fig:detail_instrumentation_capacitive_implementation}Capacitive Sensor}
\end{subfigure}
\caption{\label{fig:detail_instrumentation_sensor_implementation}Caption with reference to sub figure}
\caption{\label{fig:detail_instrumentation_sensor_implementation}Implementation of relative displacement sensor to measure the motion of the APA}
\end{figure}
One major issue is the fact that the sensor signals have to pass through an electrical slip-ring (because of the continuous spindle rotation).
Some measurements were performed on the slip-ring integrated in the micro-station, and the cross-talk between different slip-ring channels were found to be quite high.
It was preferred to use a sensor that transmit the measured displacement digitally, such that it is much less sensitive to noise and cross-talk.
For that reason, an optical encoder with digital output was preferred (i.e. the interpolation is performed directly in the head).
A significant consideration in the sensor selection process was the fact that sensor signals must pass through an electrical slip-ring due to the continuous spindle rotation.
Measurements conducted on the slip-ring integrated in the micro-station revealed substantial cross-talk between different slip-ring channels.
To mitigate this issue, preference was given to sensors that transmit displacement measurements digitally, as these are inherently less susceptible to noise and cross-talk.
Based on this criterion, an optical encoder with digital output was selected, where signal interpolation is performed directly in the sensor head.
The specifications are summarized in Table \ref{tab:detail_instrumentation_sensor_specs}.
The specifications of the considered relative motion sensor, the Renishaw Vionic, are summarized in Table \ref{tab:detail_instrumentation_sensor_specs}, alongside alternative options that were considered.
\begin{table}[htbp]
\caption{\label{tab:detail_instrumentation_sensor_specs}Characteristics of the Vionic compared with the specifications}
\centering
\begin{tabularx}{0.9\linewidth}{Xccc}
\begin{tabularx}{0.8\linewidth}{Xccc}
\toprule
\textbf{Specification} & \textbf{Renishaw Vionic} & LION CPL190 & Cedrat ECP500\\
\midrule
@ -451,26 +356,19 @@ Digital Output & \(\times\) & & \\
\chapter{Characterization of Instrumentation}
\label{sec:detail_instrumentation_characterization}
All the instrumentation was then procured and tested individually to verify whether it fulfils the specifications or not.
Following the procurement of all instrumentation components, individual testing was conducted to verify their compliance with the specified requirements.
\section{Analog to Digital Converters}
The ADC of the IO318 cards:
\begin{itemize}
\item have differential inputs
\item internally uses the AD7609 ADC from Analog Devices.
\item capable of 200kSPS, 16 bits, +/-10V
\end{itemize}
\paragraph{Measured Noise}
The measurement of the ADC noise was done by short-circuiting its input with a 50 Ohm resistor and recording the digital value at 10kHz.
The amplitude spectral density of the recorded values are computed and shown in Figure \ref{fig:detail_instrumentation_adc_noise_measured}.
The ADC noise is a white noise with an amplitude spectral density of \(5.6\,\mu V/\sqrt{Hz}\) (RMS value of 0.4mV), which fulfills the specifications.
All ADC channels are measuring the same, so the noise of only one channel is here shown.
The measurement of ADC noise was performed by short-circuiting its input with a \(50\,\Omega\) resistor and recording the digital values at a sampling rate of \(10\,\text{kHz}\).
The amplitude spectral density of the recorded values was computed and is presented in Figure \ref{fig:detail_instrumentation_adc_noise_measured}.
The ADC noise exhibits characteristics of white noise with an amplitude spectral density of \(5.6\,\mu V/\sqrt{\text{Hz}}\) (equivalent to \(0.4\,\text{mV RMS}\)), which satisfies the established specifications.
All ADC channels demonstrated similar performance, so only one channel's noise profile is shown.
If required, it is possible to apply some oversampling to lower the obtained noise as explained in \cite{lab13_improv_adc}.
To have additional \(w\) bits of resolution, the oversampling frequency \(f_{os}\) should be \(f_{os} = 4^w \cdot f_s\).
As the ADC can work at 200kSPS, and the real time controller only runs at 10kSPS, an oversampling factor of 16 can be used to have approximately two more bits of resolution (i.e. reducing the noise by a factor 4).
This works because the noise can be approximated by a white noise and the amplitude is larger than 1 LSB (0.3 mV) \cite{hauser91_princ_overs_conver}.
If necessary, oversampling can be applied to further reduce the noise \cite{lab13_improv_adc}.
To gain \(w\) additional bits of resolution, the oversampling frequency \(f_{os}\) should be set to \(f_{os} = 4^w \cdot F_s\).
Given that the ADC can operate at 200kSPS while the real-time controller runs at 10kSPS, an oversampling factor of 16 can be employed to gain approximately two additional bits of resolution (reducing noise by a factor of 4).
This approach is effective because the noise approximates white noise and its amplitude exceeds 1 LSB (0.3 mV) \cite{hauser91_princ_overs_conver}.
\begin{figure}[htbp]
\centering
@ -480,9 +378,9 @@ This works because the noise can be approximated by a white noise and the amplit
\paragraph{Reading of piezoelectric force sensor}
To further verify that the ADC can effectively measure the voltage generated by a piezoelectric stack without issue, a test with the APA95ML was performed.
The setup is shown in Figure \ref{fig:detail_instrumentation_force_sensor_adc_setup} where two stacks are used as actuator (in parallel) and one stack is used as a sensor.
The voltage amplifier used has a gain of 20.
To further validate the ADC's capability to effectively measure voltage generated by a piezoelectric stack, a test was conducted using the APA95ML.
The setup is illustrated in Figure \ref{fig:detail_instrumentation_force_sensor_adc_setup}, where two stacks are used as actuators (connected in parallel) and one stack serves as a sensor.
The voltage amplifier employed in this setup has a gain of 20.
\begin{figure}[htbp]
\centering
@ -490,24 +388,18 @@ The voltage amplifier used has a gain of 20.
\caption{\label{fig:detail_instrumentation_force_sensor_adc_setup}Schematic of the setup to validate the use of the ADC for reading the force sensor volage}
\end{figure}
Steps signals was generated using the DAC with an amplitude of 1V, and the ADC signal was recorded.
The excitation signal (steps) and measured voltage across the sensor stack are shown in Figure \ref{fig:detail_instrumentation_step_response_force_sensor}.
Step signals with an amplitude of \(1\,V\) were generated using the DAC, and the ADC signal was recorded.
The excitation signal (steps) and the measured voltage across the sensor stack are displayed in Figure \ref{fig:detail_instrumentation_step_response_force_sensor}.
Two things can be observed:
\begin{itemize}
\item an offset voltage of \(2.26\,V\)
\item the measured voltage shows an exponential decay response to the step input
\end{itemize}
Two notable observations were made: an offset voltage of \(2.26\,V\) was present, and the measured voltage exhibited an exponential decay response to the step input.
These phenomena can be explained by examining the electrical schematic shown in Figure \ref{fig:detail_instrumentation_force_sensor_adc}, where the ADC has an input impedance \(R_i\) and an input bias current \(i_n\).
This can be understood by the electrical schematic shown in Figure \ref{fig:detail_instrumentation_force_sensor_adc} were the ADC has some input impedance \(R_i\) and input bias current \(i_n\).
The input impedance \(R_i\) of the ADC, in combination with the capacitance \(C_p\) of the piezoelectric stack sensor, forms an RC circuit with a time constant \(\tau = R_i C_p\).
The charge generated by the piezoelectric effect across the stack's capacitance gradually discharges into the input resistor of the ADC.
Consequently, the transfer function from the generated voltage \(V_p\) to the measured voltage \(V_{\text{ADC}}\) is a first-order high-pass filter with the time constant \(\tau\).
The input impedance \(R_i\) of the ADC with the capacitance \(C_p\) of the piezoelectric stack sensor forms an RC circuit with a time constant \(\tau = R_i C_p\).
The charge generated by the piezoelectric effects across its capacitance is discharging into the input resistor of the ADC.
Therefore, the transfer function from the generated voltage \(V_p\) to the measured voltage \(V_{\text{ADC}}\) is a first order high filter, with time constant \(\tau\).
The an exponential curve was fitted to the experimental data and a time constant \(\tau = 6.5\,s\) was obtained.
With the capacitance of the piezoelectric sensor stack being \(C_p = 4.4 \mu F\), the internal impedance of the Speedgoat ADC can be computed as follows \(R_i = \frac{\tau}{C_p} = 1.5\,M\Omega\).
It is close to the specified value of \(1\,M\Omega\) found in the datasheet
An exponential curve was fitted to the experimental data, yielding a time constant \(\tau = 6.5\,s\).
With the capacitance of the piezoelectric sensor stack being \(C_p = 4.4\,\mu F\), the internal impedance of the Speedgoat ADC was calculated as \(R_i = \tau/C_p = 1.5\,M\Omega\), which closely aligns with the specified value of \(1\,M\Omega\) found in the datasheet.
\begin{figure}[htbp]
\begin{subfigure}{0.61\textwidth}
@ -525,29 +417,17 @@ It is close to the specified value of \(1\,M\Omega\) found in the datasheet
\caption{\label{fig:detail_instrumentation_force_sensor}Electrical schematic of the ADC measuring the piezoelectric force sensor (\subref{fig:detail_instrumentation_force_sensor_adc}), adapted from \cite{reza06_piezoel_trans_vibrat_contr_dampin}. Measured voltage \(V_s\) while step voltages are generated for the actuator stacks (\subref{fig:detail_instrumentation_step_response_force_sensor}).}
\end{figure}
The constant voltage offset can be explained by the input bias current \(i_n\) of the ADC, represented in Figure \ref{fig:detail_instrumentation_force_sensor_adc}
At DC, the impedance of the piezoelectric stack is much larger that the input impedance of the ADC, and therefore the input bias current \(i_n\) passing through the internal resistance \(R_i\) produces a constant voltage offset \(V_{\text{off}} = R_i i_n\).
The input bias current \(i_n\) is estimated from \(i_n = V_{\text{off}}/R_i = 1.5\,\mu A\).
The constant voltage offset can be explained by the input bias current \(i_n\) of the ADC, represented in Figure \ref{fig:detail_instrumentation_force_sensor_adc}.
At DC, the impedance of the piezoelectric stack is much larger than the input impedance of the ADC, and therefore the input bias current \(i_n\) passing through the internal resistance \(R_i\) produces a constant voltage offset \(V_{\text{off}} = R_i \cdot i_n\).
The input bias current \(i_n\) is estimated from \(i_n = V_{\text{off}}/R_i = 1.5\mu A\).
In order to reduce the input voltage offset and to increase the corner frequency of the high pass filter, a resistor \(R_p\) is added in parallel to the force sensor, as illustrated in Figure \ref{fig:detail_instrumentation_force_sensor_adc_R}
In order to reduce the input voltage offset and to increase the corner frequency of the high pass filter, a resistor \(R_p\) can be added in parallel to the force sensor, as illustrated in Figure \ref{fig:detail_instrumentation_force_sensor_adc_R}.
This modification produces two beneficial effects: a reduction of input voltage offset through the relationship \(V_{\text{off}} = (R_p R_i)/(R_p + R_i) i_n\), and an increase in the high pass corner frequency \(f_c\) according to the equations \(\tau = 1/(2\pi f_c) = (R_i R_p)/(R_i + R_p) C_p\).
It has two effects:
\begin{itemize}
\item Reduction of input voltage offset:
\[ V_{\text{off}} = \frac{R_p R_{in}}{R_p + R_{in}} i_n \]
\item Increase the high pass corner frequency \(f_c\)
\[ \frac{R_i R_p}{R_i + R_p} C_p = \tau_c = \frac{1}{2 \pi f_c} \]
\[ R_p = \frac{R_i}{2 \pi f_c C_p R_i - 1} \]
\end{itemize}
The resistor is chosen such that the high pass corner frequency is equal to \(0.5\,\text{Hz}\).
This corresponds to a resistor of \(R_p = 76\,k\Omega\).
With this parallel resistance value, the voltage offset would be \(V_{\text{off}} = 0.11\,V\), which is much more acceptable.
To validate this, a resistor \(R_p \approx 82\,k\Omega\) is then added in parallel with the force sensor as shown in Figure \ref{fig:detail_instrumentation_force_sensor_adc_R}.
After the resistor is added, the same steps response were performed (Figure \ref{fig:detail_instrumentation_step_response_force_sensor_R}).
And indeed, we obtain a much smaller offset voltage (\(V_{\text{off}} = 0.15\,V\)) and a much faster time constant (\(\tau = 0.45\,s\)).
This validates the model of the ADC and the effectiveness of the added resistor.
To validate this approach, a resistor \(R_p \approx 82\,k\Omega\) was added in parallel with the force sensor as shown in Figure \ref{fig:detail_instrumentation_force_sensor_adc_R}.
After incorporating this resistor, the same step response tests were performed, with results displayed in Figure \ref{fig:detail_instrumentation_step_response_force_sensor_R}.
The measurements confirmed the expected improvements, with a substantially reduced offset voltage (\(V_{\text{off}} = 0.15\,V\)) and a much faster time constant (\(\tau = 0.45\,s\)).
These results validate both the model of the ADC and the effectiveness of the added parallel resistor as a solution.
\begin{figure}[htbp]
\begin{subfigure}{0.61\textwidth}
@ -567,18 +447,18 @@ This validates the model of the ADC and the effectiveness of the added resistor.
\section{Instrumentation Amplifier}
Because the ADC noise may be too large to measure noise of other instruments (anything below \(5.6\,\mu V/\sqrt{Hz}\) cannot be distinguish from the noise of the ADC itself), a low noise instrumentation amplifier can be used.
Here, a Femto DLPVA-101-B-S amplifier, with gains from 20dB up to 80dB, was used.
Because the ADC noise may be too low to measure the noise of other instruments (anything below \(5.6\,\mu V/\sqrt{\text{Hz}}\) cannot be distinguished from the noise of the ADC itself), a low noise instrumentation amplifier was employed.
A Femto DLPVA-101-B-S amplifier with adjustable gains from 20dB up to 80dB was selected for this purpose.
But first, the input\footnote{For variable gain amplifiers, it is usual to refer to the input noise rather than the output noise, as the input referred noise is almost independent on the chosen gain.} noise of the amplifier was characterized.
To do so, its input was short circuited with a \(50\,\Omega\) resistor, and the output voltage was measured by the ADC (Figure \ref{fig:detail_instrumentation_femto_meas_setup}).
The maximum amplifier gain of 80dB (i.e. 10000) was used.
The first step was to characterize the input\footnote{For variable gain amplifiers, it is usual to refer to the input noise rather than the output noise, as the input referred noise is almost independent on the chosen gain.} noise of the amplifier.
This was accomplished by short-circuiting its input with a \(50\,\Omega\) resistor and measuring the output voltage with the ADC (Figure \ref{fig:detail_instrumentation_femto_meas_setup}).
The maximum amplifier gain of 80dB (equivalent to 10000) was utilized for this measurement.
The measured voltage \(n\) was then divided by 10000 to obtain the equivalent noise at the input of the voltage amplifier \(n_a\).
In that case, the noise of the ADC \(q_{ad}\) is negligible, thanks to the high gain used.
The obtained amplifier noise ASD \(\Gamma_{n_a}\) and the (negligible) contribution of the ADC noise are shown in Figure \ref{fig:detail_instrumentation_femto_input_noise}.
The measured voltage \(n\) was then divided by 10000 to determine the equivalent noise at the input of the voltage amplifier \(n_a\).
In this configuration, the noise contribution from the ADC \(q_{ad}\) is rendered negligible due to the high gain employed.
The resulting amplifier noise amplitude spectral density \(\Gamma_{n_a}\) and the (negligible) contribution of the ADC noise are presented in Figure \ref{fig:detail_instrumentation_femto_input_noise}.
It was also verified that the bandwidth of the instrumentation amplifier is much larger than 5kHz such that not phase drop are added by the use of the amplifier in the frequency band of interest.
Additionally, verification was performed to ensure that the bandwidth of the instrumentation amplifier significantly exceeds 5kHz, thereby preventing any phase distortion within the frequency band of interest.
\begin{minipage}[b]{0.48\linewidth}
\begin{center}
@ -596,10 +476,15 @@ It was also verified that the bandwidth of the instrumentation amplifier is much
\section{Digital to Analog Converters}
\paragraph{Output Voltage Noise}
In order to measure the output noise of the DAC, the measurement setup schematically represented in Figure \ref{fig:detail_instrumentation_dac_setup} was used.
The DAC was instructed to output constant voltage (here zero), and the gain of the pre-amplifier is adjusted such that the measured amplified noise is much larger than the quantization noise of the ADC.
To measure the output noise of the DAC, the setup schematically represented in Figure \ref{fig:detail_instrumentation_dac_setup} was utilized.
The DAC was configured to output a constant voltage (zero in this case), and the gain of the pre-amplifier was adjusted such that the measured amplified noise was significantly larger than the quantization noise of the ADC.
The Amplitude Spectral Density \(\Gamma_{n_{da}}(\omega)\) of the measured signal was computed and it was verified the contribution of the ADC noise and amplifier noise are negligible.
The Amplitude Spectral Density \(\Gamma_{n_{da}}(\omega)\) of the measured signal was computed, and verification was performed to confirm that the contributions of ADC noise and amplifier noise were negligible in the measurement.
The resulting Amplitude Spectral Density of the DAC's output voltage is displayed in Figure \ref{fig:detail_instrumentation_dac_output_noise}.
The noise profile is predominantly white with an ASD of \(0.6\,\mu V/\sqrt{\text{Hz}}\).
Minor \(50\,\text{Hz}\) noise is present, along with some low frequency \(1/f\) noise, but these are not expected to pose issues as they are well within specifications.
It should be noted that all DAC channels demonstrated similar performance, so only one channel's results are presented.
\begin{figure}[htbp]
\centering
@ -607,16 +492,12 @@ The Amplitude Spectral Density \(\Gamma_{n_{da}}(\omega)\) of the measured signa
\caption{\label{fig:detail_instrumentation_dac_setup}Measurement of the DAC output voltage noise. A pre-amplifier with a gain of 1000 is used before measuring the signal with the ADC.}
\end{figure}
The obtained Amplitude Spectral Density of the DAC's output voltage is shown in Figure \ref{fig:detail_instrumentation_dac_output_noise}.
It is almost white noise with an ASD of 0.6uV/sqrt(Hz).
There is a little bit of 50Hz, and some low frequency noise (thermal noise?) which are not foreseen to be an issue as it will be inside the bandwidth.
Note that all channels are measuring the same, so only one channel is shown here.
\paragraph{Delay from ADC to DAC}
In order to measure the transfer function from DAC to ADC and verify that the bandwidth of both instrument is high enough, the DAC output was directly wired to the ADC input.
A white noise signal was generated by the DAC, and the ADC signal was recorded.
The obtained frequency response function from the digital DAC signal to the digital ADC signal is shown in (Figure \ref{fig:detail_instrumentation_dac_adc_tf}).
It corresponds to 1 sample delay, which is corresponding to the specifications.
To measure the transfer function from DAC to ADC and verify that the bandwidth and latency of both instruments is sufficient, a direct connection was established between the DAC output and the ADC input.
A white noise signal was generated by the DAC, and the ADC response was recorded.
The resulting frequency response function from the digital DAC signal to the digital ADC signal is presented in Figure \ref{fig:detail_instrumentation_dac_adc_tf}.
The observed frequency response function corresponds to exactly one sample delay, which aligns with the specifications provided by the manufacturer.
\begin{figure}[htbp]
\begin{subfigure}{0.48\textwidth}
@ -636,10 +517,10 @@ It corresponds to 1 sample delay, which is corresponding to the specifications.
\section{Piezoelectric Voltage Amplifier}
\paragraph{Output Voltage Noise}
The measurement setup is shown in Figure \ref{fig:detail_instrumentation_pd200_setup}.
The input of the PD200 amplifier is shunted with a \(50\,\Omega\) resistor such that only the noise of the amplifier itself is measured.
The gain of the pre-amplifier was increased in order to measure a signal much larger than the noise of the ADC.
Two piezoelectric stacks of the APA95ML were connected to the PD200 output to provide an appropriate load.
The measurement setup for evaluating the PD200 amplifier noise is illustrated in Figure \ref{fig:detail_instrumentation_pd200_setup}.
The input of the PD200 amplifier was shunted with a \(50\,\Ohm\) resistor to ensure that only the inherent noise of the amplifier itself was measured.
The pre-amplifier gain was increased to produce a signal substantially larger than the noise floor of the ADC.
Two piezoelectric stacks from the APA95ML were connected to the PD200 output to provide an appropriate load for the amplifier.
\begin{figure}[htbp]
\centering
@ -647,18 +528,19 @@ Two piezoelectric stacks of the APA95ML were connected to the PD200 output to pr
\caption{\label{fig:detail_instrumentation_pd200_setup}Setup used to measured the output voltage noise of the PD200 voltage amplifier. A gain \(G_a = 1000\) was used for the instrumentation amplifier.}
\end{figure}
The Amplitude Spectral Density \(\Gamma_n(\omega)\) of the measured signal by the ADC is computed.
The Amplitude Spectral Density of the output voltage noise of the PD200 amplifier \(n_p\) is then computed taking into account the gain of the pre-amplifier:
\begin{equation}
\Gamma_{n_p}(\omega) = \frac{\Gamma_n(\omega)}{|G_p(j\omega) G_a(j\omega)|}
The Amplitude Spectral Density \(\Gamma_{n}(\omega)\) of the signal measured by the ADC was computed.
From this, the Amplitude Spectral Density of the output voltage noise of the PD200 amplifier \(n_p\) was derived, accounting for the gain of the pre-amplifier according to \eqref{eq:detail_instrumentation_amp_asd}.
\begin{equation}\label{eq:detail_instrumentation_amp_asd}
\Gamma_{n_p}(\omega) = \frac{\Gamma_n(\omega)}{|G_p(j\omega) G_a(j\omega)|}
\end{equation}
The Amplitude Spectral Density of the measured output noise of the PD200 is computed and shown in Figure \ref{fig:detail_instrumentation_pd200_noise}.
It is verified that the contribution of the PD200 noise is much larger than the contribution of the pre-amplifier noise of the quantization noise (i.e. what is measured is indeed the PD200 noise).
Here, the measured noise of the six received amplifiers are all shown.
The computed Amplitude Spectral Density of the PD200 output noise is presented in Figure \ref{fig:detail_instrumentation_pd200_noise}.
Verification was performed to confirm that the measured noise was predominantly from the PD200, with negligible contributions from the pre-amplifier noise or quantization noise.
The measurements from all six amplifiers are displayed in this figure.
The Amplitude Spectral Density of the output voltage noise of the PD200 amplifiers present sharp peaks.
The reason for all these peaks is not clear, but as their amplitude are bellow the specifications, it should not pose any issue.
The noise spectrum of the PD200 amplifiers exhibits several sharp peaks.
While the exact cause of these peaks is not fully understood, their amplitudes remain below the specified limits and should not adversely affect system performance.
\begin{figure}[htbp]
\centering
@ -668,18 +550,15 @@ The reason for all these peaks is not clear, but as their amplitude are bellow t
\paragraph{Small Signal Bandwidth}
Here the small signal dynamics of all the PD200 amplifiers are identified.
The small signal dynamics of all six PD200 amplifiers were characterized through frequency response measurements.
A (logarithmic) sweep sine excitation voltage is generated by the Speedgoat DAC with an amplitude of 0.1V and a frequency going from 1Hz up to 5kHz.
A logarithmic sweep sine excitation voltage was generated using the Speedgoat DAC with an amplitude of \(0.1\,V\), spanning frequencies from \(1\,\text{Hz}\) to \(5\,\text{kHz}\).
The output voltage of the PD200 amplifier was measured via the monitor voltage output of the amplifier, while the input voltage (generated by the DAC) was measured with a separate ADC channel of the Speedgoat system.
This measurement approach eliminates the influence of ADC-DAC-related time delays in the results.
The output voltage of the PD200 amplifier is measured thanks to the monitor voltage of the PD200 amplifier.
The input voltage of the PD200 amplifier (the generated voltage by the DAC) is measured with another ADC of the Speedgoat.
This way, the time delay related to the ADC will not be apparent in the results.
All six amplifiers demonstrated consistent transfer function characteristics. The amplitude response remains constant across a wide frequency range, and the phase shift is limited to less than 1 degree up to 500Hz, well within the specified requirements.
All six received amplifiers are measuring the same regarding their transfer functions.
The amplitude is constant over a wide frequency band and the phase drop is limited to less than 1 degree up to 500Hz, which is well within the specifications.
The identified dynamics in Figure \ref{fig:detail_instrumentation_pd200_tf} can very well be modeled with a first order low pass filter or even a simple constant.
The identified dynamics shown in Figure \ref{fig:detail_instrumentation_pd200_tf} can be accurately modeled as either a first-order low-pass filter or as a simple constant gain.
\begin{figure}[htbp]
\centering
@ -689,15 +568,14 @@ The identified dynamics in Figure \ref{fig:detail_instrumentation_pd200_tf} can
\section{Linear Encoders}
To measure the noise \(n\) of the encoder, one can rigidly fix the head and the ruler together such that no motion should be measured.
Then, the measured signal \(y_m\) corresponds to the noise \(n\).
To measure the noise \(n\) of the encoder, the head and ruler were rigidly fixed together to ensure that no actual motion would be detected.
Under these conditions, any measured signal \(y_m\) would correspond solely to the encoder noise.
The measurement bench is shown in Figure \ref{fig:detail_instrumentation_vionic_bench}.
Note that the bench is then covered with a ``plastic bubble sheet'' in order to keep disturbances as small as possible.
Then, and for all the six encoders, the measured motion during 100s with a sampling frequency of 20kHz.
The measurement setup is shown in Figure \ref{fig:detail_instrumentation_vionic_bench}.
To minimize environmental disturbances, the entire bench was covered with a plastic bubble sheet during measurements.
The obtained amplitude spectral density of the measured displacement (i.e. measurement noise) is shown in Figure \ref{fig:detail_instrumentation_vionic_asd}.
It corresponds to a white noise, with an amplitude \(\approx 1\,nm\,\text{RMS}\).
The amplitude spectral density of the measured displacement (which represents the measurement noise) is presented in Figure \ref{fig:detail_instrumentation_vionic_asd}.
The noise profile exhibits characteristics of white noise with an amplitude of approximately \(1\,\text{nm RMS}\), which complies with the system requirements.
\begin{minipage}[b]{0.48\linewidth}
\begin{center}
@ -715,11 +593,13 @@ It corresponds to a white noise, with an amplitude \(\approx 1\,nm\,\text{RMS}\)
\section{Noise budgeting from measured instrumentation noise}
Once all the instrumentation noise were characterized, the effect of the instrumentation noise on the sample's vibration can be assessed using the multi-body model.
After characterizing all instrumentation components individually, their combined effect on the sample's vibration was assessed using the multi-body model developed earlier.
The obtained vertical motion induced by the ADC noise, DAC noise and voltage amplifier noise is displayed in Figure \ref{fig:detail_instrumentation_cl_noise_budget} (the effect of encoder noise is negligible).
The vertical motion induced by the noise sources, specifically the ADC noise, DAC noise, and voltage amplifier noise, is presented in Figure \ref{fig:detail_instrumentation_cl_noise_budget}.
The contribution from encoder noise was found to be negligible and is therefore not shown here.
The total motion induced by all the noise sources is around \(1.5\,nm\) which is well within the specifications.
The total motion induced by all noise sources combined is approximately \(1.5\,\text{nm RMS}\), which remains well within the specified limit of \(15\,\text{nm RMS}\).
This confirms that the selected instrumentation, with its measured noise characteristics, is suitable for the intended application.
\begin{figure}[htbp]
\centering
@ -730,15 +610,22 @@ The total motion induced by all the noise sources is around \(1.5\,nm\) which is
\chapter*{Conclusion}
\label{sec:detail_instrumentation_conclusion}
\begin{itemize}
\item thanks to multi-body model in which it is easy to include instrumentation and noise sources
From specification on the sample's vertical motion (most stringent requirement), specification for each noise source was extracted.
\item based on those specifications, adequate instrumentation were chosen.
for some instrumentation, it was difficult to choose only based on data-sheets are manufacturers often don't share relevant information for noise budgets, such as amplitude spectral densities
\item then, the instrumentation was procured and tested individually.
All were found to comply with the requirements.
Finally, based on the measured noise of all instrumentation, the expected sample's vibration induced by all the noise sources was estimated and found to comply with the requirements.
\end{itemize}
This section has presented a comprehensive approach to the selection and characterization of instrumentation for the nano active stabilization system.
The multi-body model developed earlier proved invaluable for incorporating instrumentation components and their associated noise sources into the system analysis.
From the most stringent requirement (i.e. the specification on vertical sample motion limited to 15 nm RMS), detailed specifications for each noise source were methodically derived through dynamic error budgeting.
Based on these specifications, appropriate instrumentation components were selected for the system.
The selection process revealed certain challenges, particularly with voltage amplifiers, where manufacturer datasheets often lacked crucial information needed for accurate noise budgeting, such as amplitude spectral densities under specific load conditions.
Despite these challenges, suitable components were identified that theoretically met all requirements.
The selected instrumentation (including the IO131 ADC/DAC from Speedgoat, PD200 piezoelectric voltage amplifiers from PiezoDrive, and Vionic linear encoders from Renishaw) was procured and thoroughly characterized.
Initial measurements of the ADC system revealed an issue with force sensor readout related to input bias current, which was successfully addressed by adding a parallel resistor to optimize the measurement circuit.
All components were found to meet or exceed their respective specifications. The ADC demonstrated noise levels of \(5.6\,\mu V/\sqrt{\text{Hz}}\) (versus the \(11\,\mu V/\sqrt{\text{Hz}}\) specification), the DAC showed \(0.6\,\mu V/\sqrt{\text{Hz}}\) (versus \(14\,\mu V/\sqrt{\text{Hz}}\) required), the voltage amplifiers exhibited noise well below the \(280\,\mu V/\sqrt{\text{Hz}}\) limit, and the encoders achieved \(1\,\text{nm RMS}\) noise (versus the \(6\,\text{nm RMS}\) specification).
Finally, the measured noise characteristics of all instrumentation components were incorporated into the multi-body model to predict the actual system performance.
The combined effect of all noise sources was estimated to induce vertical sample vibrations of only \(1.5\,\text{nm RMS}\), which is substantially below the \(15\,\text{nm RMS}\) requirement.
This rigorous methodology spanning requirement formulation, component selection, and experimental characterization validates the instrumentation's ability to fulfill the nano active stabilization system's demanding performance specifications.
\printbibliography[heading=bibintoc,title={Bibliography}]
\end{document}