Elektronika modelarska

Zrobiłem kolejny moduł zewnętrzny zawierający GPS i magnetometr. Tym razem na płytkę wstawiłem aż 3 różne magnetometry, po to aby być niezależnym od dostępności sprzętu i móc wykorzystywać moduł  w różnych zewnętrznych projektach, tam gdzie ze względu na zakłócenia magnetyczne wymagany jest zewnętrzny montaż magnetometru. Oczywiście na płytce będzie montowany tylko jeden z trzech układów. Teraz zostały zamontowane wszystkie 3 wyłącznie w celu przeprowadzenia testu porównawczego.moduł magnetometr

Na module znalazły się: MMC3140 produkcji Memsic, MAG3110 produkcji Freescale oraz HMC5883 produkcji Honywell. Wszystkie układy mają wbudowany przetwornik analogowo-cyfrowy i interfejs I2C. Aby móc je porównać wszystkie pracują w trybie wyzwalania jednego pomiaru bez uśredniania pomiarów. Układy przed porównaniem zostały skalibrowane. Kalibracja polegała na znalezieniu minimów i maksimów wskazań we wszystkich osiach, dobranie wzmocnienia, tak aby wszystkie osie miały taką samą rozpiętość wskazań a następnie przesunięcie zakresów danych, tak aby były symetryczne względem zera. Wystąpienie minimów i maksimów jest sygnalizowane przez komputer pokładowy AutoPitLot w sposób akustyczny, dzięki temu wiadomo kiedy kalibracja jest już zakończona.

Wykres poniżej przedstawia dane pomiarowe zdjęte dla 2 obrotów modułu we wszystkich 3 osiach: czerwone wykresy to osie X, zielone to Y i niebieskie to Z. Najjaśniejsze kolory to układ MMC3140, średnie to MAG3110 a ciemne to HMC5883. Kliknij na obrazek aby powiększyć.

 

obroty zarejestrowane magnetometrami

Widać że poszczególne układy mają inną czułość i inny poziom szumów. Aby móc to zmierzyć, dane pomiarowe zostały zaimportowane do arkusza kalkulacyjnego i obrobione. Rozpiętość wskazań to jest różnica pomiędzy maksymalnym i minimalnym wskazaniem zarejestrowanym podczas tego pomiaru. Nie jest to maksymalna możliwa do uzyskania wartość. Wykonane były tylko 3 płaskie obroty a ponieważ wektor pola magnetycznego jest zorientowany pod pewnym kątem (inklinacja magnetyczna), więc nie trafiamy w maksimum czułości, jednak do celów porównawczych jest to wystarczające.

Szum został obliczony jako pierwiastek ze średniej kwadratów różnicy między pierwszymi 70 stabilnymi pomiarami a średnią z tych pomiarów.

Wyniki prezentuje poniższa tabela:

MagnetometrMMC3140MAG3110HMC5883
XYZśrednioXYZśrednioXYZśrednio
Rozpiętość pomiaru 534,9 537,3 517,0 529,7 1052,8 1077,0 1068,8 1066,2 1218,3 1248,5 1209,3 1225,3
Szum pomiaru 1,30 1,26 1,09 1,22 3,67 3,98 7,57 5,07 1,47 1,54 1,96 1,66
Szum względny [%] 0,24 0,23 0,23 0,21 0,35 0,37 0,71 0,48 0,12 0,12 0,16 0,14

 

Zarówno pod względem rozpiętości pomiaru jak i wielkości szumu faworytem jest HMC5883.

 

Ocena kalibracji

Aby sprawdzić poprawność kalibracji wykreśliłem wykresy X-Y dla wszystkich magnetometrów. Jakość kalibracji nie ma większego wpływu na porównanie magnetometrów, ale jest kluczowa dla używania magnetometru do celów pomiaru kursu. Wykresy są uzyskane tylko z części danych zawierających obrót w płaszczyźnie X-Y. Do pełnego wglądu warto było by jeszcze wykreślić wykres zawierający oś Z np. X-Z lub Y-Z

wykres XY dla MMC3140

W przypadku magnetometru MMC3140 kalibracja w osi Y jest dobra, natomiast w osi X jest spora odchyłka w stronę dodatnich wartości kwalifikująca do wykonania ponownej kalibracji.

 

wykres XY dla MAG3110

W przypadku magnetometru MAG3110 w oczy rzuca się spory szum pomiaru. Dopiero teraz widać jak wpływa on na pomiar kąta. Kalibracja w osi X jest lekko ale przesunięta w stronę wartości ujemnych. Kalibracja w osi Y jest przesunięta trochę więcej w stronę wartości ujemnych. Okrąg jest też rozciągnięty w stronę 2 i 4 ćwiartki układu. Do podstawowych zastosować taka kalibracja była by zadowalająca.

 

wykres XY dla HMC5883

W przypadku magnetometru HMC5883 widać bardzo mały szum i dużą powtarzalność pomiarów w kolejnych obrotach. Jest lekkie przesunięcie danych w osi X w stronę wartości dodatnich. Do podstawowych pomiarów kalibracja wydaje się być przeprowadzona zadowalająco dobrze.

 

Ocena dryftu temperaturowego

Kolejnym ważnym parametrem użytkowym jest dryft temperaturowy. Jest to zmiana wskazań czujnika wywołana zmianą temperatury otoczenia. Jest to niekorzystne zjawisko, ponieważ wprowadza istotne zakłócenie pomiaru. Jest to szczególnie widoczne gdy nagrzana na słońcu (latem) lub wyjęta z ciepłego samochodu (zimą) elektronika rozpoczynając lot gwałtownie się ochładza w przepływającym szybko, chłodnym powietrzu. Im czujnik jest mniej wrażliwy na zmiany temperatury tym lepiej.

Na poniższym obrazku przedstawiony jest wynik testowego nagrzewania magnetometrów z temperatury 10,6°C do 29,3°C. Zmiana temperatury pokazana jest na górnym, żółtym wykresie. Zmiany wartości wskazań dla wszystkich 9 osi testowanych czujników na dolnym. Znaczenie kolorów jest takie samo jak wcześniej. Kliknij na obrazku aby powiększyć.

Dryft temperaturowy magnetometrów

 

Wstępnie widać że największym dryftem charakteryzuje się układ MAG3110. Wyraźnie lepiej jest dla HMC5883 a faworytem jest MMC3140.

 

Aby lepiej porównać dane zostały one wczytane do arkusza kalkulacyjnego. Uśredniłem pierwsze i ostatnie 10 próbek aby odfiltrować szum i obliczyłem różnicę bezwzględną. Aby móc to odnieść do czujników o różnej rozpiętości skali, zrobiłem porównanie o ile procent zmieniło się wskazanie dla zmiany temperatury o 18,7°C

MagnetometrMMC3140MAG3110HMC5883
XYZśrednioXYZśrednioXYZśrednio
Zmiana bezwzględna 0,54 -5,20 8,15

4,63

54,49 -60,33 81,87 65,57 -7,36 49,44 -25,88 27,56
Zmiana względna [%] 0,10 -0,97 1,58 0,88 5,18 -5,60 7,66 6,15 -0,60 3,96 -2,14 2,23

 

Należy pamiętać że wyliczony dryft temperaturowy jest prawdziwy tylko dla badanych układów. Zwykle każdy egzemplarz ma inną wartość dryftu. Powyższy pomiar i obliczenia są zrobione wyłącznie w calach szacunkowego porównania układów. Chcąc wykonać kalibrację temperaturową w swoim urządzeniu, należy pomierzyć wszystkie osie każdego egzemplarza czujnika.

 

Moduły z magnetometrami i z odbiornikiem GPS są dostępne w Pit Lab Sklepie:

Lataj bezpiecznie swoim UAV