logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Kompas w oparciu o czujniku pola magnetycznego, kompensacja

Szymon Tarnowski 05 Gru 2011 14:29 3129 6
REKLAMA
  • #1 10220979
    Szymon Tarnowski
    Poziom 27  
    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ę?
  • REKLAMA
  • #2 10221028
    MirekCz
    Poziom 35  
    1. Musisz skalibrować czujnik w miejscu "docelowym". Kalibracja pokaże Tobie jak jest odginane pole magnetyczne przez metalowe elementy dookoła miejsca montażu.

    2. Jak znasz odchylenie czujnika to nie potrzebujesz akcelerometru, ale jeżeli ono się zmienia to akcelerometr jest potrzebny do określenia płaszczyzny w której pracuje czujnik magnetyczny.
  • REKLAMA
  • #3 10221088
    Szymon Tarnowski
    Poziom 27  
    MirekCz napisał:
    1. Musisz skalibrować czujnik w miejscu "docelowym". Kalibracja pokaże Tobie jak jest odginane pole magnetyczne przez metalowe elementy dookoła miejsca montażu.
    No właśnie moje pytanie było w stylu jak bardzo elastyczny musi być system umożliwiające kalibrację, czy wystarczy ofset, funkcja liniowa czy konieczne są jakieś skomplikowane funkcje.

    MirekCz napisał:
    2. Jak znasz odchylenie czujnika to nie potrzebujesz akcelerometru, ale jeżeli ono się zmienia to akcelerometr jest potrzebny do określenia płaszczyzny w której pracuje czujnik magnetyczny.
    Tyle to ja wiem, ale chodzi mi o zmienne pochylenie i jego korekcję. Sposób z użyciem akcelerometru jest ok. Chodzi mi o to żeby nie używać akcelerometru. Skoro podczas pochylania kierunek linii pola ziemskiego przestaje być równoległy w stosunku dajmy na to osi X (i wartość X maleje) to kierunek linii pola staje się coraz bardziej równoległy do osi Z (i wartość Z rośnie), zatem hipotetycznie można wykorzystać pomiar w osi Z do kompensacji pochylenia. Chyba że czegoś nie zauważam i gdzieś się mylę.
  • REKLAMA
  • #4 10223480
    And!
    Admin grupy Projektowanie
    Najprostsza kompensacja to interakcja z użytkownikiem,
    w postaci prośby o obrót urządzenia w około osi.

    Mając kompas x-y odkładając dane na osi x-y powinno się otrzymać okrąg,
    o środku w punkcie 0.0.

    Po próbnym obrocie można uzyskać kółko przesunięte o określony wektor,
    w stosunku do punktu 0.0. Taka kompensacja na podstawie osfetu,
    o której wspomniałeś jest prosta, jednak "kółko" może być również spłaszczone w jednej lub większej ilości osi...

    Myślę że te dwa dokumenty mogą być dla Ciebie pomocne.

    Implementing a Tilt-Compensated
    eCompass using Accelerometer and
    Magnetometer Sensors


    Layout Recommendations for PCBs
    Using a Magnetometer Sensor
  • #5 10223581
    Szymon Tarnowski
    Poziom 27  
    And! napisał:
    Po próbnym obrocie można uzyskać kółko przesunięte o określony wektor,
    w stosunku do punktu 0.0. Taka kompensacja na podstawie osfetu,
    o której wspomniałeś jest prosta, jednak "kółko" może być również spłaszczone w jednej lub większej ilości osi...
    Właśnie o to mi chodzi, oczekuję jakieś porady o ile to kółko może być "spłaszczone" i czy przy założonej dokładności 5-10* stanowi to realny problem.

    No i co z tą kompensacją tiltu? Ktoś może robił coś takiego?
  • REKLAMA
  • #6 10236740
    kevin52
    Poziom 17  
    Znane mi kompasy fluxgate w celu kompensacji tilta zawieszone są po prostu na kardanie. "Lepsze" kompasy pływają dodatkowo w oleju silikonowym. Oprócz kardana jest elipsoidalna wypornościowa bańka metalowa. Tego typu zawieszenie kompensuje gdzieś do ok 30st. Mam pewne doświadczenie z kompasami morskimi - rzeczywiście w celu kalibracji system każe pływać w kółko nawet do 10 razy. Jeśli błąd dewiacji wynikający z namagnesowania kadłuba przekraczał więcej niż kilkadzieścia stopni, należało szukać innego miejsca na sensor. O tym że jest to poważny problem niech świadczy fakt, że kadłuby okrętów rozmagnesowuje się. Takie stanowisko jest np. w Świnoujściu.
    Krzywa dewiacji nigdy nie jest regularnym kołem, kompensacja musi być przeprowadzona dla każdego kierunku, stałym offsetem załatwić tego się nie da. To samo dotyczy kompasów magnetycznych jak i elektronicznych.W kompasach lotniczych widziałem śruby regulacyjne, które kręciły małymi magnesami w różnych płaszczyznach.
  • #7 10237795
    Szymon Tarnowski
    Poziom 27  
    kevin52 napisał:
    Znane mi kompasy fluxgate w celu kompensacji tilta zawieszone są po prostu na kardanie. "Lepsze" kompasy pływają dodatkowo w oleju silikonowym. Oprócz kardana jest elipsoidalna wypornościowa bańka metalowa. Tego typu zawieszenie kompensuje gdzieś do ok 30st.
    Bardzo logiczne zastosowanie, myślałem nad takim, jednak ja nie projektuję systemu do nawigacji transkontynentalnej tylko taki jakby amatorski kompas.
    kevin52 napisał:
    Mam pewne doświadczenie z kompasami morskimi - rzeczywiście w celu kalibracji system każe pływać w kółko nawet do 10 razy. Jeśli błąd dewiacji wynikający z namagnesowania kadłuba przekraczał więcej niż kilkadzieścia stopni, należało szukać innego miejsca na sensor. O tym że jest to poważny problem niech świadczy fakt, że kadłuby okrętów rozmagnesowuje się. Takie stanowisko jest np. w Świnoujściu. Krzywa dewiacji nigdy nie jest regularnym kołem, kompensacja musi być przeprowadzona dla każdego kierunku, stałym offsetem załatwić tego się nie da. To samo dotyczy kompasów magnetycznych jak i elektronicznych.W kompasach lotniczych widziałem śruby regulacyjne, które kręciły małymi magnesami w różnych płaszczyznach.
    Rozumiem, to bardzo cenne wskazówki. Kilka razy pływałem na jachtach, w przypadku takich z kadłubem z laminatu busole magnetyczne mają tylko kompensację stałym polem magnetycznym. Czy potrafisz oszacować jaka może być zmiana dewiacja pod wpływem np ok 2 ton (samochód)? Bo jeśli zmieszczę się w 5-10* to do moich zastosowań wystarczy sam ofset.

    No i ponawiam pytanie, czy do kompensacji tiltu nie wystarczy siła pola magnetycznego w osi Z? Czy są jakieś wady tego rozwiązania?
REKLAMA