Added magnetometer documentation.

This commit is contained in:
2021-11-11 09:47:30 +01:00
parent 1ccd1e8c63
commit 1703e99684
3 changed files with 53 additions and 0 deletions
+34
View File
@@ -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.
+19
View File
@@ -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},
}