This commit is contained in:
2019-02-11 09:05:16 +01:00
parent af732b313e
commit 583d86d4d6

View File

@@ -117,12 +117,21 @@ resonances 60Hz,142Hz,414Hz,231Hz\\
}
}
The bode plot drops as expected at approx. 40dB/dec. (due to $F=m\ddot{x}$)
Here a example to roughly calculate at which frequency the motor moves 1um at 2A current:\\
1curr\_bits is approx. 1mA. At 0dB 1mA moves a sine of 1um.\\
10dB=factor 10, 20dB=factor 100, 30dB=factor 1000, 3dB $\approx$ factor 2\\
A factor 2000 is $1000 \cdot 2 =30dB+3dB=33dB$.
Out of the bode plot we can read approx.:\\
Motor 1: -33dB at 130Hz\\
Motor 2: -33dB at 84Hz
\subsection{Closed Loop}
\subsubsection{Deltatau schematics}
\includegraphics[scale=.7]{/home/zamofing_t/Documents/doc-ext/DeltaTau/UsrMan290.png}
\includegraphics[scale=.2]{/home/zamofing_t/Documents/doc-ext/DeltaTau/ServoBlockDiag.png}
\\
Closed loops have been measured with the following control loop settings.
@@ -132,7 +141,6 @@ motor_servo(mot=2,Kp=22,Kvfb=350,Ki=0.02,Kvff=240,Kaff=1500,MaxInt=1000)
\end{verbatim}
\subsubsection{chirp sine closed loop}
@@ -175,7 +183,6 @@ The parameters for that chirp is:\\
Moving 5um with frequencies from 10 to 220Hz\\
$\rightarrow$ at frequencies above 200 Hz, the current increses up to 2 amps, and the the following error kicks in\\
$\rightarrow$ The closed loop response becomes bad above 20Hz (motor 1 ca. -10\%, motor 2 +5\% )\\
$\rightarrow$ Moving 1um at 1kHz seems to consume a current of about 2 amps.\\
%→n times higher mass → n times lower frequency for same amplitude response
@@ -183,6 +190,47 @@ $\rightarrow$ Moving 1um at 1kHz seems to consume a current of about 2 amps.\\
%1um at 12Hz with 1 mA →with 2000mA → sqrt(2000)*12Hz=540Hz
%
%A very simplified transfer function of the system is G(s)=k/s²
\FloatBarrier
\subsubsection{using advanced Deltatau Servo Loop}
For now only following settings of the servo loop are used:Kp, Kvfb, Ki, Kvff, Kaff, MaxInt.\\
The standard PID servo loop has some additional features, that were not yet used, especially the polynomial filters.
\includegraphics[scale=.2]{/home/zamofing_t/Documents/doc-ext/DeltaTau/ServoBlockDiag.png}
\\
\cite[293]{PMACusr} shows details about the standard servo loop but unfortunately there are errors in documentation and the explanations are not really helpful. Hopefully the implementation is correct.\\
\textbf{Polynomial Filters:}
\begin{description}
\item[A:] $Ka_0+Ka_1z^{-1}+\ldots+Ka_1z^{-7}$
\item[B:] $Kb_0+Kb_1z^{-1}+\ldots+Kb_1z^{-7}$
\item[C/D:] $\frac{Kc_0+Kc_1z^{-1}+\ldots+Kc_1z^{-7}}
{Kd_0+Kd_1z^{-1}+\ldots+Kd_1z^{-7}}$
\item[E:] $\frac{1}{Ke_0+Ke_1z^{-1}+Ke_1z^{-2}}$
\item[F:] $\frac{1}{Kf_0+Kf_1z^{-1}+Kf_1z^{-2}}$
\end{description}
Filters A, B, C, and D are 7th-order polynomials.
if \texttt{Motor[x].Servo.SwPoly7} is set to its default value of 0, these only execute as 2nd-order polynomials, saving computation time.
If this element is set to 1, these execute as full 7th-order polynomials.
Filters E and F are always 2nd-order polynomials.\\
The flat amplitude in figure \ref{fig:mot_open} at low frequencies is mostly the result of the static and viscose friction and not of a linear mechanical spring and element as one could suggest out of the bode plot.\\
The Value of $K_{fff}$ is used to compensate the non linear static friction. It can be estimated out of the bode plot at low frequencies. It is a non linear element, because it only depends on the sign if the velocity.\\
$K_{vff}$ is used to compensate the linear viscose friction.\\
\textbf{TODO:}\\
Make simulations in MATLAB. Set C/D filter to compensate resonance and the current loop.\\
This sshould be mostly the inverse of the figures: \ref{fig:mot1_chirp} and \ref{fig:mot2_chirp}.\\
Use $K_{fff}$
\newpage
\section{Modeling the system}
\subsection{Electrical model}