-
Major overhaul
01/27/2019 at 23:01 • 0 commentsI decided to try to put the WMM automatic magnetic declination algorithm in the unit, and the STM32F0 was too wimpy to handle it. That being the case, I've moved it over to the STM32F746ZG to ensure that I've got enough oomph. Once I've got it done I'll see about optimizing it for something a little smaller and cheaper. I also swapped out the IMU for the BNO055 so I don't need to worry about integrating the accelerometer and the magnetometer anymore. I'm working solely with the STM32 HAL at this point, and the repository has been moved to Framagit from GitHub.
Currently the SSD1306 display and the BNO055 are working to full functionality. GPS code is next on the list, but my school break is coming to an end and I'm not too sure when I'll be able to get to that and the SD card stuff. -
Testing went poorly
06/27/2018 at 19:58 • 0 commentsI took the prototype out to a forest preserve by my apartment on Sunday to do a little field testing. Since I live in the Chicago area and would have to go about 150 miles to find the nearest natural rock outcropping, I had to settle for man made structures. The reason that is important is I'm not sure if those structures are just concrete or if they are steel reinforced. This made Sunday's excursion a rather poor choice for actual testing of the unit.
Regardless, the results were a bit on the abysmal side. I tested it versus PocketTransit for Android and used an analog transit compass as a reference. The dip measurement is spot on and matched what the compass was reading, while the phone app was typically 3° off. Good news there! Unfortunately, the phone app was on average 9° off on the strike versus 16° for the prototype. One of the readings was a full 25° off from the compass!
So one of four things is happening. The structures may have had steel in them, the magnetometer may be too close to a highly active line which is causing magnetic interference, the fusion code is buggy as hell, or the magnetometer may be rubbish. The next test will be to take out a wooden table with some books and cardboard to test and ensure that it really is a problem with the device instead of with the structures I was using. After that, some tests with a magnet may be in order to more fully test the fusion code. Lastly, if the fusion code checks out, I'll have to try using a different magnetometer which will necessitate a different board so that I can try moving it out further from the rest of the noise.