Witam, chciałbym zaprojektować kompas magnetyczny, najlepiej jako dość uniwersalny moduł do własnych zastosowań, np w samochodzie. Interesują mnie następujące aspekty, może ktoś się już z tym spotkał, albo sam budował podobne systemy?
0. Wstępnie interesuje mnie kompas o dokładności o 5-10*, częstotliwość pomiaru 0.5s, całość oparta o jakiś 8bitowy procesor który będzie się zajmować wyłącznie pomiarem i obliczeniami, a całość będzie wyrzucał na zewnątrz jako strumień danych, np w standardzie NMEA.
1. Jak zrealizować kompensacje zewnętrznych źródeł pola magnetycznego (np karoserii samochodu)? Czy wystarczy tylko dodać ofset do wyniku końcowego, a może potrzeba dodać ofset do każdej składowej X i Y (albo i Z, patrz punkt niżej)? Czy konieczne są jakieś bardziej zaawansowane funkcje korekcyjne, np nieliniowe? Chyba końcowy ofset też będzie konieczny ze względu na różnicę między biegunami magnetycznymi a geograficznymi, więc może on wystarczy do zgrubnego pomiaru?
2. Jak zrealizować kompensację nachylenia (tilt)? Jeśli wziąć kompas 2D (X/Y) i policzyć arcus-tangens to w przypadku zmiany kąta nachylenia czujnika następuje zmiana wyniku pomiaru. Widziałem gotowce w sieci które wykorzystują akcelerometry do pomiaru kierunku nachylenia i kompensują to arytmetycznie. Mnie zastanawia czy konieczne jest dodanie akcelerometru, bo wydaje mi się że w przypadku pochylenia czujnika można wykorzystać pomiar pola w osi Z, jednak nie znalazłem gotowców z taką funkcjonalnością. Czy mylę się?
0. Wstępnie interesuje mnie kompas o dokładności o 5-10*, częstotliwość pomiaru 0.5s, całość oparta o jakiś 8bitowy procesor który będzie się zajmować wyłącznie pomiarem i obliczeniami, a całość będzie wyrzucał na zewnątrz jako strumień danych, np w standardzie NMEA.
1. Jak zrealizować kompensacje zewnętrznych źródeł pola magnetycznego (np karoserii samochodu)? Czy wystarczy tylko dodać ofset do wyniku końcowego, a może potrzeba dodać ofset do każdej składowej X i Y (albo i Z, patrz punkt niżej)? Czy konieczne są jakieś bardziej zaawansowane funkcje korekcyjne, np nieliniowe? Chyba końcowy ofset też będzie konieczny ze względu na różnicę między biegunami magnetycznymi a geograficznymi, więc może on wystarczy do zgrubnego pomiaru?
2. Jak zrealizować kompensację nachylenia (tilt)? Jeśli wziąć kompas 2D (X/Y) i policzyć arcus-tangens to w przypadku zmiany kąta nachylenia czujnika następuje zmiana wyniku pomiaru. Widziałem gotowce w sieci które wykorzystują akcelerometry do pomiaru kierunku nachylenia i kompensują to arytmetycznie. Mnie zastanawia czy konieczne jest dodanie akcelerometru, bo wydaje mi się że w przypadku pochylenia czujnika można wykorzystać pomiar pola w osi Z, jednak nie znalazłem gotowców z taką funkcjonalnością. Czy mylę się?