This is a report of my first test using the digital compass on the telescope. First test, since the results where somewhat disappointing and there is more work to perform.
Since the post Finding rotation for magnetometer data to astronomical coordinates I wrote two additional programs.
- gather.py, to store 10 seconds worth of data into a list for later plotting
- calibrate.py, to record a number of observed magnetometer values when pointed at a known star
Test 1: star calibration
The results were disappointing. The magnetometer values observed with the telescope pointed at known Stars did not look like they are all positioned at a single (same) rotation from the real positions. This is shown in the plot below, that shows the observed star positions in blue, the expected positions in green, and the rotated observed positions in yellow. The rightmost blue star seems to be an error.
What could be the cause:
- cloudy night, got one or more stars wrong
- metal of OTA interfering
- magnetometer not calibrated
- wrong assumptions
- error in matrix code
Or a combination of these.
Test 2: full azimuth rotation with altitude 0
Since it was a half cloudy night, I could not repeat getting positions to stars. In order to get some more data I positioned the telescope in a horizontal position and rotated it along the azimuth axis. The plot of the observed values is below.
This plot hints at a problem: it appears from the data the rotation of the alt and azimuth axes of the telescope and the orientation of the magnetic north do not share the same origin. If they would have shared the same origin, the dots would have defined two equally sized hemispheres. In two opposite facing directions of the telescope, in the way I have mounted the magnetometer, the x and z axis should have turned 180 degrees, and thus the plot of the circle on the sphere should have ‘split’ the sphere in half. I suspect it might be a lack of magnetometer calibration in combination of metal from the OTA primary mirror mount.
Calibration might be a continuous problem for deployment of a magnetometer on a telescope, since it requires holding the meter in several positions for some time. A problem is that the positions the meter can be (moved) in is restricted on a telescope.
I like that the plot showed a circle. If this circle is projected onto a 2d plane, it is possible with translation and sheering to get a 2d circle, that could probable be used as a compass heading (azimuth). I am beginning to understand why one would use the magnetometer for heading only, and use an accelerometer for the altitude.
The white spots in the circle in the plot indicates that the wifi connection of the Pi in the garage is not strong enough.
Next steps.. I have to digest these results for a while. It seems like one of the stars in the calibration plot is clearly an error that should be removed from the calibration. The four remaining stars look like a trapezium that can be rotated. However, the data from test 2 indicate that it might be wise to restrict using the magnetometer for azimuth alone, and add an accelerometer for the altitude. That means I need to buy new hardware.