872 lines
36 KiB
TeX
872 lines
36 KiB
TeX
% Created 2025-02-27 Thu 14:29
|
||
% Intended LaTeX compiler: pdflatex
|
||
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
||
|
||
\input{preamble.tex}
|
||
\input{preamble_extra.tex}
|
||
\bibliography{nass-instrumentation.bib}
|
||
\author{Dehaeze Thomas}
|
||
\date{\today}
|
||
\title{Nano Active Stabilization System - Instrumentation}
|
||
\hypersetup{
|
||
pdfauthor={Dehaeze Thomas},
|
||
pdftitle={Nano Active Stabilization System - Instrumentation},
|
||
pdfkeywords={},
|
||
pdfsubject={},
|
||
pdfcreator={Emacs 29.4 (Org mode 9.6)},
|
||
pdflang={English}}
|
||
\usepackage{biblatex}
|
||
|
||
\begin{document}
|
||
|
||
\maketitle
|
||
\tableofcontents
|
||
|
||
\clearpage
|
||
|
||
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:detail_instrumentation_choice}.
|
||
|
||
The received instrumentation are characterized in Section \ref{sec:detail_instrumentation_characterization}.
|
||
|
||
\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}
|
||
\end{figure}
|
||
|
||
\chapter{Dynamic Error Budgeting}
|
||
\label{sec:detail_instrumentation_dynamic_error_budgeting}
|
||
\textbf{Goal}: get maximum noise of instrumentation
|
||
|
||
\textbf{Procedure}:
|
||
\begin{itemize}
|
||
\item Get closed-loop transfer functions from noises to positioning error (only vertical?)
|
||
Need the multi-body model with controllers
|
||
Or maybe simplified 1DoF ?
|
||
\item Suppose a maximum error ASD.
|
||
Suppose flat ASD, bandwidth of \textasciitilde{}200Hz (\textbf{should we really consider 200Hz? and not 10kHz? makes use differences}), maximum RMS of \textasciitilde{}10nmRMS => x nm/sqrt(Hz)
|
||
\item Deduce the maximum ASD of the noise sources
|
||
\end{itemize}
|
||
|
||
Have a look at his report: \href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/noise\_budgeting.org}{file:\textasciitilde{}/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/noise\_budgeting.org}
|
||
\section{Closed-Loop transfer functions}
|
||
|
||
\begin{itemize}
|
||
\item Most stringent requirement: vertical vibrations below 15nm RMS
|
||
\item Because of system symmetry, only one strut is considered
|
||
It is suppose that the vibrations induced by each strut is uncorrelated
|
||
combination of 6 actuators with uncorrelated noise => x2.5
|
||
\item Therefore, each actuator should induce less than 15/2.5=6nm RMS of vibration in the vertical direction
|
||
\end{itemize}
|
||
|
||
The following noise sources are considered:
|
||
\begin{itemize}
|
||
\item from noise of the actuator voltage to error
|
||
\item from force sensor noise to error
|
||
\item from measurement noise to error
|
||
\end{itemize}
|
||
|
||
\section{Estimation of maximum instrumentation noise}
|
||
|
||
\begin{itemize}
|
||
\item Output the maximum instrumentation noise ASD in \texttt{.mat} files (that will be used to compare with the obtained instrumentation)
|
||
\end{itemize}
|
||
|
||
\chapter{Choice of Instrumentation}
|
||
\label{sec:detail_instrumentation_choice}
|
||
In previous section: noise characteristics.
|
||
In this section, other characteristics (range, bandwidth, etc\ldots{})
|
||
|
||
ADC, DAC, Voltage amplifier, Encoder
|
||
|
||
\textbf{Model of each instrument} (transfer function + noise source).
|
||
|
||
In this section, also tell which instrumentation has been bought, and different options.
|
||
\section{Piezoelectric Voltage Amplifier}
|
||
|
||
Low pass Filter
|
||
\begin{itemize}
|
||
\item Capacitance of the piezoelectric actuator
|
||
\item Output impedance of the voltage amplifier
|
||
\end{itemize}
|
||
|
||
Noise: \cite{spengen20_high_voltag_amplif}
|
||
|
||
Bandwidth: \cite{spengen16_high_voltag_amplif}
|
||
|
||
A picture of the PD200 amplifier is shown in Figure \ref{fig:amplifier_PD200}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1,width=0.7\linewidth]{figs/amplifier_PD200.png}
|
||
\caption{\label{fig:amplifier_PD200}Picture of the PD200 Voltage Amplifier}
|
||
\end{figure}
|
||
|
||
The specifications as well as the amplifier characteristics as shown in the datasheet are summarized in Table \ref{tab:pd200_characteristics}.
|
||
|
||
\begin{table}[htbp]
|
||
\caption{\label{tab:pd200_characteristics}Characteristics of the PD200 compared with the specifications}
|
||
\centering
|
||
\begin{tabularx}{0.7\linewidth}{lcc}
|
||
\toprule
|
||
\textbf{Characteristics} & \textbf{Manual} & \textbf{Specification}\\
|
||
\midrule
|
||
Input Voltage Range & +/- 10 [V] & +/- 10 [V]\\
|
||
Output Voltage Range & -50/150 [V] & -20/150 [V]\\
|
||
Gain & 20 [V/V] & \\
|
||
Maximum RMS current & 0.9 [A] & > 50 [mA]\\
|
||
Maximum Pulse current & 10 [A] & \\
|
||
Slew Rate & 150 [V/us] & \\
|
||
Noise (10uF load) & 0.7 [mV RMS] & < 2 [mV rms]\\
|
||
Small Signal Bandwidth (10uF load) & 7.4 [kHz] & > 5 [kHz]\\
|
||
Large Signal Bandwidth (150V, 10uF) & 300 [Hz] & > 1 [Hz]\\
|
||
\bottomrule
|
||
\end{tabularx}
|
||
\end{table}
|
||
|
||
The most important characteristics are the large (small signal) bandwidth > 5 [kHz] and the small noise (< 2 [mV RMS]).
|
||
|
||
For a load capacitance of \(10\,\mu F\), the expected \(-3\,dB\) bandwidth is \(6.4\,kHz\) (Figure \ref{fig:pd200_expected_small_signal_bandwidth}) and the low frequency noise is \(650\,\mu V\,\text{rms}\) (Figure \ref{fig:pd200_expected_noise}).
|
||
|
||
These two characteristics are respectively measured in Section \ref{sec:tf_meas} and Section \ref{sec:noise_meas}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1,width=0.7\linewidth]{./figs/pd200_expected_small_signal_bandwidth.png}
|
||
\caption{\label{fig:pd200_expected_small_signal_bandwidth}Expected small signal bandwidth}
|
||
\end{figure}
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1,width=0.7\linewidth]{figs/pd200_expected_noise.png}
|
||
\caption{\label{fig:pd200_expected_noise}Expected Low frequency noise from 0.03Hz to 20Hz}
|
||
\end{figure}
|
||
|
||
\section{ADC}
|
||
|
||
Talk about input impedance, \ldots{}
|
||
Add resistor, reading of the force sensor: ADC + \href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/test-bench-force-sensor/test-bench-force-sensor.org}{test-bench-force-sensor}
|
||
|
||
\section{DAC}
|
||
|
||
ADC and DAC need to be sample synchronously with the control system, with low jitter.
|
||
\cite{abramovitch22_pract_method_real_world_contr_system}
|
||
\cite{abramovitch23_tutor_real_time_comput_issues_contr_system}
|
||
|
||
\section{Relative Displacement Sensors}
|
||
|
||
\begin{itemize}
|
||
\item Encoders
|
||
\item Capacitive Sensors
|
||
\item Eddy current sensors
|
||
|
||
\item[{$\square$}] Speak about slip-ring issue
|
||
\end{itemize}
|
||
|
||
Specifications:
|
||
\begin{itemize}
|
||
\item used for relative positioning
|
||
\item vertical errors of 15nmRMS => 6nmRMS for each strut
|
||
\item Stroke > 100um
|
||
\end{itemize}
|
||
|
||
The Vionic encoder is shown in Figure \ref{fig:encoder_vionic}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1,width=0.6\linewidth]{figs/encoder_vionic.png}
|
||
\caption{\label{fig:encoder_vionic}Picture of the Vionic Encoder}
|
||
\end{figure}
|
||
|
||
From the Renishaw \href{https://www.renishaw.com/en/how-optical-encoders-work--36979}{website}:
|
||
\begin{quote}
|
||
The VIONiC encoder features the third generation of Renishaw's unique filtering optics that average the contributions from many scale periods and effectively filter out non-periodic features such as dirt.
|
||
The nominally square-wave scale pattern is also filtered to leave a pure sinusoidal fringe field at the detector.
|
||
Here, a multiple finger structure is employed, fine enough to produce photocurrents in the form of four symmetrically phased signals.
|
||
These are combined to remove DC components and produce sine and cosine signal outputs with high spectral purity and low offset while maintaining \textbf{bandwidth to beyond 500 kHz}.
|
||
|
||
Fully integrated advanced dynamic signal conditioning, Auto Gain , Auto Balance and Auto Offset Controls combine to ensure \textbf{ultra-low Sub-Divisional Error (SDE) of typically} \(<\pm 15\, nm\).
|
||
|
||
This evolution of filtering optics, combined with carefully-selected electronics, provide incremental signals with wide bandwidth achieving a maximum speed of 12 m/s with the lowest positional jitter (noise) of any encoder in its class.
|
||
Interpolation is within the readhead, with fine resolution versions being further augmented by additional noise-reducing electronics to achieve \textbf{jitter of just 1.6 nm RMS}.
|
||
\end{quote}
|
||
|
||
The expected interpolation errors (non-linearity) is shown in Figure \ref{fig:vionic_expected_noise}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1,width=\linewidth]{./figs/vionic_expected_noise.png}
|
||
\caption{\label{fig:vionic_expected_noise}Expected interpolation errors for the Vionic Encoder}
|
||
\end{figure}
|
||
|
||
The characteristics as advertise in the manual as well as our specifications are shown in Table \ref{tab:vionic_characteristics}.
|
||
|
||
\begin{table}[htbp]
|
||
\caption{\label{tab:vionic_characteristics}Characteristics of the Vionic compared with the specifications}
|
||
\centering
|
||
\begin{tabularx}{0.6\linewidth}{lcc}
|
||
\toprule
|
||
\textbf{Characteristics} & \textbf{Specification} & \textbf{Manual}\\
|
||
\midrule
|
||
Time Delay & < 0.5 ms & < 10 ns\\
|
||
Bandwidth & > 5 kHz & > 500 kHz\\
|
||
Noise & < 50 nm rms & < 1.6 nm rms\\
|
||
Linearity & & < +/- 15 nm\\
|
||
Range & > 200 um & Ruler length\\
|
||
\bottomrule
|
||
\end{tabularx}
|
||
\end{table}
|
||
|
||
\chapter{Characterization of Instrumentation}
|
||
\label{sec:detail_instrumentation_characterization}
|
||
For each element, make a table with the specifications, and the measured performances for comparison.
|
||
\section{Analog to Digital Converters}
|
||
|
||
\href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/test-bench-PD200/test-bench-pd200.org}{Quantization Noise of the ADC}
|
||
|
||
\paragraph{Quantization Noise}
|
||
|
||
Let's note:
|
||
\begin{itemize}
|
||
\item \(q = \frac{\Delta V}{2^n}\) the quantization in [V], which is the corresponding value in [V] of the least significant bit
|
||
\item \(\Delta V\) is the full range of the ADC in [V]
|
||
\item \(n\) is the number of ADC's bits
|
||
\item \(f_s\) is the sample frequency in [Hz]
|
||
\end{itemize}
|
||
|
||
Let's suppose that the ADC is ideal and the only noise comes from the quantization error.
|
||
Interestingly, the noise amplitude is uniformly distributed.
|
||
|
||
The quantization noise can take a value between \(\pm q/2\), and the probability density function is constant in this range (i.e., it’s a uniform distribution).
|
||
Since the integral of the probability density function is equal to one, its value will be \(1/q\) for \(-q/2 < e < q/2\) (Fig. \ref{fig:probability_density_function_adc}).
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/probability_density_function_adc.png}
|
||
\caption{\label{fig:probability_density_function_adc}Probability density function \(p(e)\) of the ADC error \(e\)}
|
||
\end{figure}
|
||
|
||
Now, we can calculate the time average power of the quantization noise as
|
||
\begin{equation}
|
||
P_q = \int_{-q/2}^{q/2} e^2 p(e) de = \frac{q^2}{12}
|
||
\end{equation}
|
||
|
||
The other important parameter of a noise source is the power spectral density (PSD), which indicates how the noise power spreads in different frequency bands.
|
||
To find the power spectral density, we need to calculate the Fourier transform of the autocorrelation function of the noise.
|
||
|
||
Assuming that the noise samples are not correlated with one another, we can approximate the autocorrelation function with a delta function in the time domain.
|
||
Since the Fourier transform of a delta function is equal to one, the \textbf{power spectral density will be frequency independent}.
|
||
Therefore, the quantization noise is white noise with total power equal to \(P_q = \frac{q^2}{12}\).
|
||
|
||
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}
|
||
\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:
|
||
\begin{equation}
|
||
\begin{aligned}
|
||
\Gamma &= \frac{q^2}{12 f_s} \\
|
||
&= \frac{\left(\frac{\Delta V}{2^n}\right)^2}{12 f_s} \text{ in } \left[ \frac{V^2}{Hz} \right]
|
||
\end{aligned}
|
||
\end{equation}
|
||
|
||
Let's take a 16bits ADC with a range of +/-10V and a sample frequency of 10kHz.
|
||
|
||
The quantization is:
|
||
\[ q = \frac{20}{2^{16}} \approx 0.3\,mV \]
|
||
|
||
\[ \Gamma_Q = \frac{q^2}{12 f_N} = 7.5 \cdot 10^{-13} \quad [V^2/Hz] \]
|
||
|
||
ASD:
|
||
\[ 0.88\,\mu V/\sqrt{Hz} \]
|
||
|
||
|
||
\paragraph{Speedgoat - IO131 board}
|
||
|
||
Internally uses the AD7609 ADC from Analog Devices.
|
||
200kSPS
|
||
16 bits
|
||
+/-10V
|
||
|
||
\textbf{oversampling}: \href{../../../../brain/analog_to_digital_converters.org}{Analog to Digital Converters}
|
||
|
||
\cite{lab13_improv_adc}
|
||
|
||
To have additional \(w\) bits of resolution, the oversampling frequency \(f_{os}\) should be:
|
||
\begin{equation}
|
||
f_{os} = 4^w \cdot f_s
|
||
\end{equation}
|
||
|
||
\cite{hauser91_princ_overs_conver}
|
||
|
||
\begin{quote}
|
||
Key points to consider are:
|
||
\begin{itemize}
|
||
\item The noise must approximate \textbf{white noise} with uniform power spectral density over the frequency band of interest.
|
||
\item The \textbf{noise amplitude must be sufficient} to cause the input signal to change randomly from sample to sample by amounts comparable to at least the distance between two adjacent codes (i.e., 1 LSB).
|
||
\item The input signal can be represented as a random variable that has equal probability of existing at any value between two adjacent ADC codes.
|
||
\end{itemize}
|
||
\end{quote}
|
||
|
||
\begin{itemize}
|
||
\item[{$\boxtimes$}] Check noise and compare with quantization noise
|
||
\item[{$\square$}] See is oversampling increase performances, and how much compared to the prediction
|
||
Seems to increase the perf too much
|
||
\end{itemize}
|
||
|
||
\paragraph{Measured Noise}
|
||
\section{Instrumentation Amplifier}
|
||
|
||
Because the ADC noise may be too large to measure noise of other instruments, a low noise instrumentation amplifier may be used.
|
||
|
||
Different instrumentation amplifiers were used:
|
||
\begin{itemize}
|
||
\item EG\&G 5113, 4nV/sqrt(Hz), gain up to 100000 (100dB)
|
||
\item Femto DLPVA-101-B-S 2nV/sqrt(Hz), gain from 20 to 80dB
|
||
\item Koheron AMP200, 2.4nV/sqrt(Hz), gain up to 100
|
||
\end{itemize}
|
||
|
||
Here, the Femto amplifier is used.
|
||
To measure its noise, the gain is set to xxdB, \ldots{}
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/noise_measure_setup_preamp.png}
|
||
\caption{\label{fig:noise_measure_setup_preamp}Sources of noise in the experimental setup}
|
||
\end{figure}
|
||
|
||
\section{Digital to Analog Converters}
|
||
\paragraph{Noise Measurement}
|
||
\href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/test-bench-PD200/test-bench-pd200.org}{16bits DAC noise measurement}
|
||
|
||
In order not to have any quantization noise and only measure the output voltage noise of the DAC, we ``ask'' the DAC to output a zero voltage.
|
||
|
||
The measurement setup is schematically represented in Figure \ref{fig:noise_measure_setup_dac}.
|
||
The gain of the pre-amplifier is adjusted such that the measured amplified noise is much larger than the quantization noise of the ADC.
|
||
|
||
The Amplitude Spectral Density \(\Gamma_n(\omega)\) of the measured signal is computed.
|
||
The Amplitude Spectral Density of the DAC output voltage noise \(n_{da}\) can be computed taking into account the gain of the pre-amplifier:
|
||
\begin{equation}
|
||
\Gamma_{n_{da}}(\omega) = \frac{\Gamma_m(\omega)}{|G_a(\omega)|}
|
||
\end{equation}
|
||
|
||
And it is verified that the Amplitude Spectral Density of \(n_{da}\) is much larger than the one of \(n_a\):
|
||
\begin{equation}
|
||
\Gamma_{n_{da}} \gg \Gamma_{n_a}
|
||
\end{equation}
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/noise_measure_setup_dac.png}
|
||
\caption{\label{fig:noise_measure_setup_dac}Sources of noise in the experimental setup}
|
||
\end{figure}
|
||
|
||
The obtained Amplitude Spectral Density of the DAC's output voltage is shown in Figure \ref{fig:asd_noise_dac}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/asd_noise_dac.png}
|
||
\caption{\label{fig:asd_noise_dac}Amplitude Spectral Density of the measured output voltage noise of the 16bits DAC}
|
||
\end{figure}
|
||
|
||
\paragraph{Bandwidth}
|
||
|
||
DAC is directly wired to the ADC.
|
||
The transfer function from DAC to ADC is computed.
|
||
|
||
It corresponds to 1 sample delay.
|
||
|
||
\section{Piezoelectric Voltage Amplifier}
|
||
|
||
\href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/test-bench-PD200/test-bench-pd200.org}{test-bench-PD200}
|
||
|
||
\subsection{Noise}
|
||
\paragraph{PD200 - Low frequency noise measurement}
|
||
|
||
The measurement setup is shown in Figure \ref{fig:noise_measure_setup_pd200}.
|
||
The input of the PD200 amplifier is shunted with a 50 Ohm resistor such that there in no voltage input expected the PD200 input voltage noise.
|
||
The gain of the pre-amplifier is increased in order to measure a signal much larger than the quantization noise of the ADC.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/noise_measure_setup_pd200.png}
|
||
\caption{\label{fig:noise_measure_setup_pd200}Sources of noise in the experimental setup}
|
||
\end{figure}
|
||
|
||
The measured low frequency (<20Hz) \textbf{output} noise of one of the PD200 amplifiers is shown in Figure \ref{fig:pd200_noise_time_lpf}.
|
||
It is very similar to the one specified in the datasheet in Figure \ref{fig:pd200_expected_noise}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200_noise_time_lpf.png}
|
||
\caption{\label{fig:pd200_noise_time_lpf}Measured low frequency noise of the PD200 from 0.01Hz to 20Hz}
|
||
\end{figure}
|
||
|
||
The obtained RMS and peak to peak values of the measured \textbf{output} noise are shown in Table \ref{tab:rms_pkp_noise} and found to be very similar to the specified ones.
|
||
\begin{table}[htbp]
|
||
\caption{\label{tab:rms_pkp_noise}RMS and Peak to Peak measured low frequency output noise (0.01Hz to 20Hz)}
|
||
\centering
|
||
\begin{tabularx}{0.5\linewidth}{lcc}
|
||
\toprule
|
||
& \textbf{RMS [\(\mu V\)]} & \textbf{Peak to Peak [\(mV\)]}\\
|
||
\midrule
|
||
Specification [\(10\,\mu F\)] & 714.0 & 4.3\\
|
||
PD200 1 & 565.1 & 3.7\\
|
||
PD200 2 & 767.6 & 3.5\\
|
||
PD200 3 & 479.9 & 3.0\\
|
||
PD200 4 & 615.7 & 3.5\\
|
||
PD200 5 & 651.0 & 2.4\\
|
||
PD200 6 & 473.2 & 2.7\\
|
||
PD200 7 & 423.1 & 2.3\\
|
||
\bottomrule
|
||
\end{tabularx}
|
||
\end{table}
|
||
|
||
\paragraph{PD200 - High frequency noise measurement}
|
||
|
||
The measurement setup is the same as in Figure \ref{fig:noise_measure_setup_pd200}.
|
||
|
||
The Amplitude Spectral Density \(\Gamma_n(\omega)\) of the measured signal by the ADC is computed.
|
||
The Amplitude Spectral Density of the input voltage noise of the PD200 amplifier \(n_p\) is then computed taking into account the gain of the pre-amplifier and the gain of the PD200 amplifier:
|
||
\begin{equation}
|
||
\Gamma_{n_p}(\omega) = \frac{\Gamma_n(\omega)}{|G_p(j\omega) G_a(j\omega)|}
|
||
\end{equation}
|
||
|
||
And we verify that we are indeed measuring the noise of the PD200 and not the noise of the pre-amplifier by checking that:
|
||
\begin{equation}
|
||
\Gamma_{n_p}(\omega) |G_p(j\omega)| \ll \Gamma_{n_a}
|
||
\end{equation}
|
||
|
||
The Amplitude Spectral Density of the measured \textbf{input} noise is computed and shown in Figure \ref{fig:asd_noise_pd200_10uF}.
|
||
|
||
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.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/asd_noise_pd200_10uF.png}
|
||
\caption{\label{fig:asd_noise_pd200_10uF}Amplitude Spectral Density of the measured input voltage noise of the PD200 amplifiers}
|
||
\end{figure}
|
||
|
||
\begin{note}
|
||
The Amplitude Spectral Density of the input noise of the PD200 amplifiers present sharp peaks.
|
||
It is not clear yet what causes such peaks and if these peaks have high influence on the total RMS noise of the amplifiers.
|
||
\end{note}
|
||
|
||
\subsection{Bandwidth}
|
||
\paragraph{Maximum Frequency/Voltage to not overload the amplifier}
|
||
\label{sec:tf_meas_w_max}
|
||
|
||
Then the maximum output current of the amplifier is reached, the amplifier automatically shuts down itself.
|
||
We should then make sure that the output current does not reach this maximum specified current.
|
||
|
||
The maximum current is 1A [rms] which corresponds to 0.7A in amplitude of the sin wave.
|
||
|
||
The impedance of the capacitance is:
|
||
\[ Z_C(\omega) = \frac{1}{jC\omega} \]
|
||
|
||
Therefore the relation between the output current amplitude and the output voltage amplitude for sinusoidal waves of frequency \(\omega\):
|
||
\[ V_{out} = \frac{1}{C\omega} I_{out} \]
|
||
|
||
Moreover, there is a gain of 20 between the input voltage and the output voltage:
|
||
\[ 20 V_{in} = \frac{1}{C\omega} I_{out} \]
|
||
|
||
For a specified voltage input amplitude \(V_{in}\), the maximum frequency at which the output current reaches its maximum value is:
|
||
\begin{equation}
|
||
\boxed{\omega_{\text{max}} = \frac{1}{20 C V_{in}} I_{out,\text{max}}}
|
||
\end{equation}
|
||
with:
|
||
\begin{itemize}
|
||
\item \(\omega_{\text{max}}\) the maximum input sinusoidal frequency in Radians per seconds
|
||
\item \(C\) the load capacitance in Farads
|
||
\item \(V_{in}\) the input voltage sinusoidal amplitude in Volts
|
||
\item \(I_{out,\text{max}}\) the specified maximum output current in Amperes
|
||
\end{itemize}
|
||
|
||
\(\omega_{\text{max}}/2\pi\) as a function of \(V_{in}\) is shown in Figure \ref{fig:max_frequency_voltage}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/max_frequency_voltage.png}
|
||
\caption{\label{fig:max_frequency_voltage}Maximum frequency as a function of the excitation voltage amplitude}
|
||
\end{figure}
|
||
|
||
When doing sweep sine excitation, we make sure not to reach this maximum excitation frequency.
|
||
|
||
\paragraph{Small Signal Bandwidth}
|
||
\label{sec:meas_small_signal_bandwidth}
|
||
|
||
Here the small signal dynamics of all the 7 PD200 amplifiers are identified.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
The obtained transfer functions from \(V_{in}\) to \(V_{out}\) are shown in Figure \ref{fig:pd200_small_signal_tf}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200_small_signal_tf.png}
|
||
\caption{\label{fig:pd200_small_signal_tf}Identified dynamics from input voltage to output voltage}
|
||
\end{figure}
|
||
|
||
We can see the very well matching between all the 7 amplifiers.
|
||
The amplitude is constant over a wide frequency band and the phase drop is limited to less than 1 degree up to 500Hz.
|
||
|
||
\paragraph{Model of the amplifier small signal dynamics}
|
||
\label{sec:model_small_signal_bandwidth}
|
||
|
||
The identified dynamics in Figure \ref{fig:pd200_small_signal_tf} can very well be modeled this dynamics with a first order low pass filter (even a constant could work fine).
|
||
|
||
Below is the defined transfer function \(G_p(s)\).
|
||
Comparison of the model with the identified dynamics is shown in Figure \ref{fig:pd200_small_signal_tf_model}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200_small_signal_tf_model.png}
|
||
\caption{\label{fig:pd200_small_signal_tf_model}Bode plot of \(G_d(s)\) as well as the identified transfer functions of all 7 amplifiers}
|
||
\end{figure}
|
||
|
||
And finally this model is saved.
|
||
\paragraph{Large Signal Bandwidth}
|
||
\label{sec:bandwidth_amplitude}
|
||
|
||
The PD200 amplifiers will most likely not be used for large signals, but it is still nice to see how the amplifier dynamics is changing with the input voltage amplitude.
|
||
|
||
Several identifications using sweep sin were performed with input voltage amplitude ranging from 0.1V to 4V.
|
||
The maximum excitation frequency for each amplitude was limited from the estimation in Section \ref{sec:tf_meas_w_max}.
|
||
|
||
The obtained transfer functions for the different excitation amplitudes are shown in Figure \ref{fig:pd200_large_signal_tf}.
|
||
It is shown that the input voltage amplitude does not affect that much the amplifier dynamics.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200_large_signal_tf.png}
|
||
\caption{\label{fig:pd200_large_signal_tf}Amplifier dynamics for several input voltage amplitudes}
|
||
\end{figure}
|
||
|
||
|
||
|
||
\paragraph{Output Impedance}
|
||
|
||
The goal of this experimental setup is to estimate the output impedance \(R_\text{out}\) of the PD200 voltage amplifiers.
|
||
A DAC with a constant output voltage (here 0.1V) is connected to the input of the PD200 amplifier.
|
||
|
||
Then, the output voltage of the PD200 amplifier is measured in two conditions:
|
||
\begin{itemize}
|
||
\item \(V\) when the output is not connected to any load
|
||
\item \(V_p\) when a load \(R = 10\,\Omega\) is connected at the output of the amplifier
|
||
\end{itemize}
|
||
|
||
The load and the output impedance form a voltage divider, and thus:
|
||
\[ V^\prime = \frac{R}{R + R_\text{out}} V \]
|
||
|
||
From the two values of voltage, the output impedance of the amplifier can be estimated:
|
||
\[ R_\text{out} = R \frac{V - V^\prime}{V^\prime} \]
|
||
|
||
A schematic of the setup is shown in Figure \ref{fig:setup_output_impedance}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/setup_output_impedance.png}
|
||
\caption{\label{fig:setup_output_impedance}Schematic of the setup use to estimate the output impedance of the PD200 amplifier}
|
||
\end{figure}
|
||
|
||
|
||
Below are defined the measured output voltages with and without the 10Ohm load:
|
||
The output impedance of the amplifier can then be estimated using:
|
||
\begin{equation}
|
||
R_{\text{out}} = R_{\text{load}} \frac{V - V_p}{V}
|
||
\end{equation}
|
||
|
||
The obtained output impedances are shown in Table \ref{tab:pd200_output_impedance}.
|
||
|
||
\begin{table}[htbp]
|
||
\caption{\label{tab:pd200_output_impedance}Obtained Output Impedance for the PD200 Amplifiers}
|
||
\centering
|
||
\begin{tabularx}{0.4\linewidth}{Xccc}
|
||
\toprule
|
||
PD200 & \(V\ [V]\) & \(V_p\ [V]\) & \(R_\text{out}\ [\Omega]\)\\
|
||
\midrule
|
||
1 & 1.988 & 1.794 & 1.081\\
|
||
2 & 1.99 & 1.789 & 1.124\\
|
||
3 & 1.982 & 1.795 & 1.042\\
|
||
4 & 1.984 & 1.789 & 1.09\\
|
||
5 & 1.998 & 1.81 & 1.039\\
|
||
6 & 1.984 & 1.799 & 1.028\\
|
||
7 & 2.004 & 1.812 & 1.06\\
|
||
\bottomrule
|
||
\end{tabularx}
|
||
\end{table}
|
||
|
||
The output impedance of the PD200 Amplifier is estimated to be \(\approx 1\,\Omega\).
|
||
|
||
\subsection{Model}
|
||
\paragraph{PD200 Amplifier noise model}
|
||
\label{sec:pd200_noise_model}
|
||
|
||
Let's design a transfer function \(G_n(s)\) whose norm represent the Amplitude Spectral Density of the input voltage noise of the PD200 amplifier as shown in Figure \ref{fig:pd200-model-schematic-normalized-bis}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200-model-schematic-normalized.png}
|
||
\caption{\label{fig:pd200-model-schematic-normalized-bis}Model of the voltage amplifier with normalized noise input}
|
||
\end{figure}
|
||
|
||
A simple transfer function that allows to obtain a good fit is defined below.
|
||
The comparison between the measured ASD of the modeled ASD is done in Figure \ref{fig:pd200_asd_noise_model}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200_asd_noise_model.png}
|
||
\caption{\label{fig:pd200_asd_noise_model}ASD of the measured input voltage noise and modeled noise using \(G_n(s)\)}
|
||
\end{figure}
|
||
|
||
Let's now compute the Cumulative Amplitude Spectrum corresponding to the measurement and the model and compare them.
|
||
|
||
The integration from low to high frequency and from high to low frequency are both shown in Figure \ref{fig:pd200_cas_noise_model}.
|
||
|
||
The fit between the model and the measurements is rather good considering the complex shape of the measured ASD and the simple model used.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200_cas_noise_model.png}
|
||
\caption{\label{fig:pd200_cas_noise_model}Cumulative Amplitude Spectrum of the measured input voltage noise and modeled noise using \(G_n(s)\)}
|
||
\end{figure}
|
||
|
||
The obtained RMS noise of the model is \texttt{286.74} uV RMS which is not that far from the specifications.
|
||
|
||
Finally the model of the amplifier noise is saved.
|
||
\paragraph{Voltage Amplifier Model}
|
||
\label{sec:amplifier_model}
|
||
|
||
The Amplifier is characterized by its dynamics \(G_p(s)\) from voltage inputs \(V_{in}\) to voltage output \(V_{out}\).
|
||
Ideally, the gain from \(V_{in}\) to \(V_{out}\) is constant over a wide frequency band with very small phase drop.
|
||
|
||
It is also characterized by its \textbf{input} noise \(n\).
|
||
|
||
The objective is therefore to determine the transfer function \(G_p(s)\) from the input voltage to the output voltage as well as the Power Spectral Density \(S_n(\omega)\) of the amplifier input noise.
|
||
|
||
As \(G_p\) depends on the load capacitance, it should be measured when loading the amplifier with a \(10\,\mu F\) capacitor.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200-model-schematic.png}
|
||
\caption{\label{fig:pd200-model-schematic}Model of the voltage amplifier}
|
||
\end{figure}
|
||
|
||
|
||
The input noise of the amplifier \(n\) can be further modeled by shaping a white noise with unitary PSD \(\tilde{n}\) with a transfer function \(G_n(s)\) as shown in Figure \ldots{}
|
||
|
||
The Amplitude Spectral Density \(\Gamma_n\) is then:
|
||
\begin{equation}
|
||
\Gamma_n(\omega) = |G_n(j\omega)| \Gamma_{\tilde{n}}(\omega)
|
||
\end{equation}
|
||
with \(\Gamma_{\tilde{n}}(\omega) = 1\).
|
||
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/pd200-model-schematic-normalized.png}
|
||
\caption{\label{fig:pd200-model-schematic-normalized}Model of the voltage amplifier with normalized noise input}
|
||
\end{figure}
|
||
|
||
|
||
\subsection{Conclusion}
|
||
|
||
\begin{table}[htbp]
|
||
\caption{\label{tab:table_name}Measured characteristics, Manual characterstics and specified ones}
|
||
\centering
|
||
\begin{tabularx}{\linewidth}{lXXX}
|
||
\toprule
|
||
\textbf{Characteristics} & \textbf{Measurement} & \textbf{Manual} & \textbf{Specification}\\
|
||
\midrule
|
||
Input Voltage Range & - & +/- 10 [V] & +/- 10 [V]\\
|
||
Output Voltage Range & - & -50/150 [V] & -20/150 [V]\\
|
||
Gain & & 20 [V/V] & -\\
|
||
Maximum RMS current & & 0.9 [A] & > 50 [mA]\\
|
||
Maximum Pulse current & & 10 [A] & -\\
|
||
Slew Rate & & 150 [V/us] & -\\
|
||
Noise (10uF load) & & 0.7 [mV RMS] & < 2 [mV rms]\\
|
||
Small Signal Bandwidth (10uF load) & & 7.4 [kHz] & > 5 [kHz]\\
|
||
Large Signal Bandwidth (150V, 10uF) & & 300 [Hz] & -\\
|
||
\bottomrule
|
||
\end{tabularx}
|
||
\end{table}
|
||
|
||
\section{Noise of the full setup with 16bits DAC}
|
||
Let's now measure the noise of the full setup in Figure \ref{fig:noise_meas_procedure_bis} and analyze the results.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/noise_meas_procedure.png}
|
||
\caption{\label{fig:noise_meas_procedure_bis}Sources of noise in the experimental setup}
|
||
\end{figure}
|
||
|
||
The Amplitude Spectral Density of the measured noise is computed and the shown in Figure \ref{fig:asd_noise_tot}.
|
||
|
||
We can very well see that to total measured noise is the sum of the DAC noise and the PD200 noise.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/asd_noise_tot.png}
|
||
\caption{\label{fig:asd_noise_tot}Amplitude Spectral Density of the measured noise and of the individual sources of noise}
|
||
\end{figure}
|
||
|
||
\begin{important}
|
||
The input noise of the PD200 amplifier is limited by the output voltage noise of the DAC.
|
||
Having a DAC with lower output voltage noise could lower the overall noise of the setup.
|
||
SSI2V 20bits DACs are used in the next section to verify that.
|
||
\end{important}
|
||
|
||
|
||
\section{Linear Encoders}
|
||
|
||
\href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/test-bench-vionic/test-bench-vionic.org}{test-bench-vionic}
|
||
|
||
\begin{itemize}
|
||
\item Section \ref{sec:noise_bench}: the measurement bench is described
|
||
\item Section \ref{sec:thermal_drifts}: long measurement is performed to estimate the low frequency drifts in the measurement
|
||
\item Section \ref{sec:vionic_noise_time}: high frequency measurements are performed to estimate the high frequency noise
|
||
\item Section \ref{sec:noise_asd}: the Spectral density of the measurement noise is estimated
|
||
\item Section \ref{sec:vionic_noise_model}: finally, the measured noise is modeled
|
||
\end{itemize}
|
||
|
||
\subsection{Test Bench}
|
||
\label{sec:noise_bench}
|
||
|
||
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\).
|
||
|
||
The measurement bench is shown in Figures \ref{fig:meas_bench_top_view} and \ref{fig:meas_bench_side_view}.
|
||
Note that the bench is then covered with a ``plastic bubble sheet'' in order to keep disturbances as small as possible.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1,width=0.8\linewidth]{figs/IMG_20210211_170554.jpg}
|
||
\caption{\label{fig:meas_bench_top_view}Top view picture of the measurement bench}
|
||
\end{figure}
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1,width=0.8\linewidth]{figs/IMG_20210211_170607.jpg}
|
||
\caption{\label{fig:meas_bench_side_view}Side view picture of the measurement bench}
|
||
\end{figure}
|
||
|
||
\subsection{Thermal drifts}
|
||
\label{sec:thermal_drifts}
|
||
Measured displacement were recording during approximately 40 hours with a sample frequency of 100Hz.
|
||
A first order low pass filter with a corner frequency of 1Hz
|
||
|
||
The measured time domain data are shown in Figure \ref{fig:vionic_drifts_time}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_drifts_time.png}
|
||
\caption{\label{fig:vionic_drifts_time}Measured thermal drifts}
|
||
\end{figure}
|
||
|
||
The measured data seems to experience a constant drift after approximately 20 hour.
|
||
Let's estimate this drift.
|
||
|
||
\begin{verbatim}
|
||
The mean drift is approximately 60.9 [nm/hour] or 1.0 [nm/min]
|
||
\end{verbatim}
|
||
|
||
|
||
Comparison between the data and the linear fit is shown in Figure \ref{fig:vionic_drifts_linear_fit}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_drifts_linear_fit.png}
|
||
\caption{\label{fig:vionic_drifts_linear_fit}Measured drift and linear fit}
|
||
\end{figure}
|
||
|
||
Let's now estimate the Power Spectral Density of the measured displacement.
|
||
The obtained low frequency ASD is shown in Figure \ref{fig:vionic_noise_asd_low_freq}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_noise_asd_low_freq.png}
|
||
\caption{\label{fig:vionic_noise_asd_low_freq}Amplitude Spectral density of the measured displacement}
|
||
\end{figure}
|
||
|
||
\subsection{Time Domain signals}
|
||
\label{sec:vionic_noise_time}
|
||
|
||
Then, and for all the 7 encoders, we record the measured motion during 100s with a sampling frequency of 20kHz.
|
||
|
||
The raw measured data as well as the low pass filtered data (using a first order low pass filter with a cut-off at 10Hz) are shown in Figure \ref{fig:vionic_noise_raw_lpf}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_noise_raw_lpf.png}
|
||
\caption{\label{fig:vionic_noise_raw_lpf}Time domain measurement (raw data and low pass filtered data with first order 10Hz LPF)}
|
||
\end{figure}
|
||
|
||
The time domain data for all the encoders are compared in Figure \ref{fig:vionic_noise_time}.
|
||
|
||
We can see some drifts that are in the order of few nm to 20nm per minute.
|
||
As shown in Section \ref{sec:thermal_drifts}, these drifts should diminish over time down to 1nm/min.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_noise_time.png}
|
||
\caption{\label{fig:vionic_noise_time}Comparison of the time domain measurement}
|
||
\end{figure}
|
||
|
||
\subsection{Noise Spectral Density}
|
||
\label{sec:noise_asd}
|
||
|
||
The amplitude spectral densities for all the encoder are computed and shown in Figure \ref{fig:vionic_noise_asd}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_noise_asd.png}
|
||
\caption{\label{fig:vionic_noise_asd}Amplitude Spectral Density of the measured signal}
|
||
\end{figure}
|
||
|
||
We can combine these measurements with the low frequency noise computed in Section \ref{sec:thermal_drifts}.
|
||
The obtained ASD is shown in Figure \ref{fig:vionic_noise_asd_combined}.
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_noise_asd_combined.png}
|
||
\caption{\label{fig:vionic_noise_asd_combined}Combined low frequency and high frequency noise measurements}
|
||
\end{figure}
|
||
|
||
\subsection{Noise Model}
|
||
\label{sec:vionic_noise_model}
|
||
|
||
Let's create a transfer function that approximate the measured noise of the encoder.
|
||
The amplitude of the transfer function and the measured ASD are shown in Figure \ref{fig:vionic_noise_asd_model}.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_noise_asd_model.png}
|
||
\caption{\label{fig:vionic_noise_asd_model}Measured ASD of the noise and modeled one}
|
||
\end{figure}
|
||
|
||
The cumulative amplitude spectrum is now computed and shown in Figure \ref{fig:vionic_noise_cas_model}.
|
||
|
||
We can see that the Root Mean Square value of the measurement noise is \(\approx 1.6 \, nm\) as advertise in the datasheet.
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=1]{figs/vionic_noise_cas_model.png}
|
||
\caption{\label{fig:vionic_noise_cas_model}Meassured CAS of the noise and modeled one}
|
||
\end{figure}
|
||
|
||
\subsection{Automatic Gain Control}
|
||
\section{External Metrology}
|
||
|
||
\href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/test-bench-attocube/test-bench-attocube.org}{test-bench-attocube}
|
||
|
||
Different options:
|
||
\begin{itemize}
|
||
\item Attocube: issue of non-linearity estimated from the encoders
|
||
\item Smaract
|
||
\item QuDIS
|
||
\end{itemize}
|
||
|
||
For the final tests, QuDIS were used.
|
||
|
||
\chapter*{Conclusion}
|
||
\label{sec:detail_instrumentation_conclusion}
|
||
|
||
\printbibliography[heading=bibintoc,title={Bibliography}]
|
||
\end{document}
|