diff --git a/Documentation/Chapters/04_Users Guide.tex b/Documentation/Chapters/04_Users Guide.tex index 655d69d..7df1c26 100644 --- a/Documentation/Chapters/04_Users Guide.tex +++ b/Documentation/Chapters/04_Users Guide.tex @@ -290,6 +290,7 @@ The application offers calibration tools to determine the exact ambient field wi These are both integrated into one application view, depicted in Figure \ref{fig:ambientcalibrationpure}. All the calibration tools require access to the complete Helmholtz cage hardware, as well as a magnetometer. These must be connected before starting the test. +It is important that the magnetometer is centered as well as possible to achieve accurate results. For these tests, where the magnetometer itself is not the \gls{dut}, it is recommended to use the IRS's FGM3D reference magnetometer. Further, an adapter script (\code{fgm3d\_adapter.py}) already exists for this sensor. For more details on writing adapter scripts and connecting magnetometers, please refer to Section \ref{sec:tcp_api}. @@ -332,6 +333,21 @@ To understand the calibration methods in all detail, it is recommended to look a \subsubsection*{Magnetometer Calibration} \label{sec:magnetometer_calibration} +The helmholtz control software supports calibrating magnetometers. +In preparation, a calibration of the ambient field using the reference magnetometer (FGM3D) should be conducted beforehand to achieve accurate results. +Afterwards, the magnetometer must be replaced with the \gls{dut}. +Since the software only supports one magnetometer at once, the reference magnetometer (meaning: its adapter script) should be disabled beforehand. +Tip: To mount CubeSat magnetometers a purpose built PC104 holder can be found in accompanyment of the Helmholtz cage. + +As the coordinate system of the Helmholtz Cage and the magnetometer may not match, there are two options that available. +First, the calibration can be conducted as-is, and the calibration results will reflect the unexpected coordinate system by often yielding negative sensitivities and untypical sensor axis angles. +These values are not invalid, but describe a sensor correction that would transform it into the Helmholtz coordinate system. +With some work, the desired calibration parameters could be extracted mathematically by changing signs and adding or subtracting \SI{90}{\degree} increments. +The second option would be to change the sensors orientation in software in the adapter script that is used. +This yields a more expected set of calibration parameters, but these now do not describe the initial axes anymore. +In this case, the parameters must be correlated back to their initial axes and angles must be negated if the axis was flipped. +This common issue should be solved robustly in the control/calibration software in the future. + \begin{figure}[h] \centering \includegraphics[width=\linewidth]{media/magnetometer_calibration_pure} @@ -339,6 +355,24 @@ To understand the calibration methods in all detail, it is recommended to look a \label{fig:magcalibrationpure} \end{figure} +The calibration method used (Zikmund \cite{ref:calibration_procedure_magnetometer_helmholtz_cage}) relies on a simplified error model and the Helmholtz test bench. +After either measuring the local geomagnetic field or cancelling it, the magnetometer-under-test runs through a sequence of magnetic fields generated by the Helmholtz coils, which supplies sufficient data to solve a system of equations containing the coefficients of interest. +The non-linear system is constructed with the equation below on a per-axis basis, with one row for every sample. + +\begin{equation*} + B_{meas} = S \left( B_E \sin{\alpha_E} + B_x \cos{\alpha} \cos{\beta} + B_y \cos{\alpha} \sin{\beta} + B_z \sin{\alpha} \right) +\end{equation*} + +The calibration procedure makes use of nearly equidistantly distributed vectors in all directions as test points. +The number of these points, as well as the settle time before taking a measurement, can be set in the \gls{ui}. +Generally, a high number of points, such as larger than 8, is recommended to achieve both an accurate result and also to get useful residual data. +The meaning of the individual calibration coefficients can be derived from Zikmund \cite{ref:calibration_procedure_magnetometer_helmholtz_cage} or also the thesis accompanying the Helmholtz test bench \cite{ref:leons_test_bench}. + +After completing, the results of the calibration procedure will be saved into the data fields on the right hand side of Figure \ref{fig:magcalibrationpure}. +This also enables the save buttons underneath. +The ``Copy to clipboard'' will put the results table as shown in the \gls{ui} into the system clipboard, from which it can be pasted into software such as Microsoft Excel and LibreOffice Calc. +If semi-raw experiment data is required to verify the program functioning or to apply custom algorithms, it can be exported with the ``Export raw CSV'' button. + \subsubsection*{Data Logging Configuration Page}\label{sec:logging_guide} The application has the ability to log test bench data to a \gls{csv} file. The data is temporarily stored internally and must be saved to an external file by user request. diff --git a/Documentation/Helmholtz Cage Software Documentation.pdf b/Documentation/Helmholtz Cage Software Documentation.pdf index 6d3e7ab..054af54 100644 Binary files a/Documentation/Helmholtz Cage Software Documentation.pdf and b/Documentation/Helmholtz Cage Software Documentation.pdf differ diff --git a/Documentation/References.bib b/Documentation/References.bib index e6fe847..bd5361f 100644 --- a/Documentation/References.bib +++ b/Documentation/References.bib @@ -172,4 +172,23 @@ author={Stier, Annika and Schweigert, Robin and Galla, Daniel and Lengowski, Michael and Klinkner, Sabine}, year={2020}, publisher={University of Leicester} +} + +@inproceedings{ref:calibration_procedure_magnetometer_helmholtz_cage, + author = {Zikmund, A. and Janosek, Michal}, + year = {2014}, + month = {05}, + pages = {473-476}, + title = {Calibration procedure for triaxial magnetometers without a compensating system or moving parts}, + isbn = {9781467363860}, + journal = {Conference Record - IEEE Instrumentation and Measurement Technology Conference}, + doi = {10.1109/I2MTC.2014.6860790} +} + +@thesis{ref:leons_test_bench, + author = {Leon Teichröb}, + title = {Mapping and Calibration of a Helmholtz Magnetic Field Cage and Test of the EIVE Attitude Control System}, + date = {2021}, + institution = {Institute for Space Systems (IRS), University of Stuttgart}, + location = {Stuttgart}, } \ No newline at end of file