diff --git a/.gitignore b/.gitignore index 6b7e1a4..d7a02f8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -mat/ -figures/ ltximg/ slprj/ matlab/slprj/ diff --git a/nass-instrumentation.org b/nass-instrumentation.org index 3fc12f6..6595ad2 100644 --- a/nass-instrumentation.org +++ b/nass-instrumentation.org @@ -96,20 +96,69 @@ #+END_SRC * Notes :noexport: +** Notes + +Prefix is =instrumentation= Compilation of the following reports: - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-PD200/test-bench-pd200.org][test-bench-PD200]] and [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-piezo-amplifiers/index.org][test-bench-piezo-amplifiers]] (but less useful) - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-vionic/test-bench-vionic.org][test-bench-vionic]] - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-attocube/test-bench-attocube.org][test-bench-attocube]] +- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/noise_budgeting.org][file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/noise_budgeting.org]] for the maximum allowed noise of the relative motion sensors - [ ] DAC, ADC, Control system - [ ] Reading of the force sensor: ADC + [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-force-sensor/test-bench-force-sensor.org][test-bench-force-sensor]] Electrical characteristics of the APA force sensor +** TODO [#C] Noise budgeting to have specifications + +Simplified model (uniaxial?) +From maximum induced vibration, and estimated bandwidth (S and T), estimate the maximum: +- Actuator noise (i.e DAC + voltage amplifier) +- force sensor noise (i.e. ADC) + encoder noise? +- external metrology noise? (not very relevant, maybe this should be assumed, similar to Attocube noise [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-attocube/test-bench-attocube.org][test-bench-attocube]]) + +=> *Specifications* + +And specifications in terms of bandwidth, voltage ranges, etc... + +** TODO [#C] Find instrumentation that meet such specification + +How to read force sensor, etc... + +** TODO [#C] Characterization of received instruments and compare with specifications + +Test benches to characterize instruments + +- [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-PD200/test-bench-pd200.org][test-bench-PD200]] +- [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-force-sensor/test-bench-force-sensor.org][test-bench-force-sensor]] + +** TODO [#C] Perform rigorous noise budgeting + +Sources: +- ADC: measured +- PD200: measured +- Encoder: measured +- ADC (force sensors): measured +- Ground motion: estimated + +By taking into account all those sources, we should be able to do a noise budgeting and compare with the obtain measurements. + +We need the following transfer functions: +- from ground motion (x,y,z) to strut motion (1 to 6) => Simscape +- from DAC voltage to strut motion => identified FRF +- from PD200 voltage to strut motion => identified FRF +- from ADC noise to strut motion => identified FRF + Controller (closed-loop) + * Introduction :ignore: - The goal is to show that each element in the system has been properly chosen based on certain requirements. +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 required instrumentation are then selected based on obtained noise specifications and other requirements summarized in Section ref:sec:instrumentation_choice. + +The received instrumentation are characterized in Section ref:sec:instrumentation_characterization. + #+name: tab:instrumentation_section_matlab_code #+caption: Report sections and corresponding Matlab files #+attr_latex: :environment tabularx :width 0.6\linewidth :align lX @@ -119,33 +168,84 @@ The goal is to show that each element in the system has been properly chosen bas | Section ref:sec:instrumentation_ | =instrumentation_1_.m= | -* Digital to Analog converters +* Dynamic Error Budgeting :PROPERTIES: -:HEADER-ARGS:matlab+: :tangle matlab/instrumentation_1_.m +:HEADER-ARGS:matlab+: :tangle matlab/instrumentation_1_dynamic_error_budgeting.m :END: -<> +<> ** Introduction :ignore: -** Matlab Init :noexport:ignore: -#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) -<> -#+end_src +*Goal*: get maximum noise of instrumentation -#+begin_src matlab :exports none :results silent :noweb yes -<> -#+end_src +*Procedure*: +- Get closed-loop transfer functions from noises to positioning error + Need the multi-body model with controllers +- Suppose a maximum error ASD. + Suppose flat ASD, bandwidth of ~200Hz, maximum RMS of ~10nmRMS => x nm/sqrt(Hz) +- Deduce the maximum ASD of the noise sources -#+begin_src matlab :tangle no :noweb yes -<> -#+end_src +Have a look at his report: [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/noise_budgeting.org][file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/noise_budgeting.org]] -#+begin_src matlab :eval no :noweb yes -<> -#+end_src +** Estimation of the online metrology noise -#+begin_src matlab :noweb yes -<> -#+end_src +[[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-attocube/test-bench-attocube.org][test-bench-attocube]] + +** Closed-Loop transfer functions + + +** Estimation of maximum instrumentation noise + +- Output the maximum instrumentation noise ASD in =.mat= files (that will be used to compare with the obtained instrumentations) + +* Choice of Instrumentation +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/instrumentation_2_choice.m +:END: +<> +** Introduction :ignore: + +In previous section: noise characteristics. +In this section, other characteristics (range, bandwidth, etc...) + +ADC, DAC, Voltage amplifier, Encoder + +*Model of each instrument* (transfer function + noise source). + +In this section, also tell which instrumentation has been bought. + +** Piezoelectric Voltage Amplifier + +Capacitance of the piezoelectric actuator + +** ADC + +Talk about input impedance, ... +Add resistor, reading of the force sensor: ADC + [[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-force-sensor/test-bench-force-sensor.org][test-bench-force-sensor]] + +* Characterization of Instrumentation +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/instrumentation_3_characterization.m +:END: +<> +** Introduction :ignore: + +For each element, make a table with the specifications, and the measured performances for comparison. + +** Analog to Digital Converters + +[[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-PD200/test-bench-pd200.org::*Quantization Noise of the ADC][Quantization Noise of the ADC]] + +** Digital to Analog Converters + +[[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-PD200/test-bench-pd200.org::*16bits DAC noise measurement][16bits DAC noise measurement]] + +** Piezoelectric Voltage Amplifier + +[[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-PD200/test-bench-pd200.org][test-bench-PD200]] + +** Linear Encoders + +[[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-vionic/test-bench-vionic.org][test-bench-vionic]] * Conclusion <>