wip
This commit is contained in:
@@ -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}
|
\subsection{Closed Loop}
|
||||||
\subsubsection{Deltatau schematics}
|
\subsubsection{Deltatau schematics}
|
||||||
|
|
||||||
\includegraphics[scale=.7]{/home/zamofing_t/Documents/doc-ext/DeltaTau/UsrMan290.png}
|
\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.
|
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}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{chirp sine closed loop}
|
\subsubsection{chirp sine closed loop}
|
||||||
|
|
||||||
|
|
||||||
@@ -175,7 +183,6 @@ The parameters for that chirp is:\\
|
|||||||
Moving 5um with frequencies from 10 to 220Hz\\
|
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$ 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$ 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
|
%→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
|
%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²
|
%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
|
\newpage
|
||||||
\section{Modeling the system}
|
\section{Modeling the system}
|
||||||
\subsection{Electrical model}
|
\subsection{Electrical model}
|
||||||
|
|||||||
Reference in New Issue
Block a user