SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

Arduino poradnik

Wstęp

Teoria

Biblioteki

Komponenty

Czujniki i sensory

Rozwiązania i algorytmy

Narzędzia

Mikrokontrolery i Arduino IDE

Arduino i klony

Poradniki wideo

Reklama na Blogu

Najnowsze poradniki

Ostatnie komentarze

Ostatnie fotografie

polskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorywieliczka-szyb-danilowicza

Kompensacja przechyleń kompasów cyfrowych

Jednym z podstawowych problemów spotykanych w magnetometrach wykorzystywanych do realizacji prostych kompasów cyfrowych, jest problem błędnych wyników przy drobnych kątach odchylenia czujnika względem płaszczyzny X i płaszczyzny Y.

Nawet drobne odchylenia tego kąta, mogą znacznie zakłamać otrzymane przez nas wyniki. Problem ten da się na szczęście rozwiązać, znając kąty pochylenia i przechylenia czujnika za wykorzystaniem akcelerometru MPU6050 lub ADXL345. Metoda jest  skuteczna jedynie dla zakresów zmiany kątów położenia w zakresie od -45º do +45º. W większości przypadków, jest to w zupełności wystarczająca granica przy wyznaczaniu kierunku kompasu.

Zapraszam do materiału filmowego o kalibracji i kompensacji przechyleń kompasu z wykorzystaniem magnetometru HMC5883L oraz akcelerometru MPU6050.

Reklama

Komentarze Komentarze
Avatar 1
Sailor Windows XP / Opera 9.80
27 July 2015 - 20:14 Gostynin

Witam! Czy mógłbym prosić o pomoc przy kalibracji i kompensacji w module IMU GY 85? Z góry dziękuję ;)

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
28 July 2015 - 06:18 Bytom

A w czym jest problem?

Avatar 1
Sailor Windows XP / Opera 9.80
28 July 2015 - 11:16 Gostynin

W moim module jest żyroskop ITG3205 (przynajmniej takie informacje udało mi się znaleźć) i wymaga chyba po prostu odpowiedniej biblioteki ale nie wiem jak go odpalić i zmienić szkic, żeby wykorzystać go do kompensacji jak MPU6050 w przykładzie. Możliwe, że rozwiązanie jest proste ale jestem BARDZO POCZĄTKUJĄCYM użytkownikiem arduino ;)

Avatar 1
Костик Windows 7 / Safari 537.36
02 August 2015 - 20:05 Brak informacji

Gdzie można zobaczyć przykład?

Avatar 2
laser Windows 7 / Safari 537.36
28 September 2015 - 21:21 Warszawa

Witam:) i o pomoc pytam :)
Staram się zaadoptować gotowy projekt sterownika rotora anteny opisany tu http://blog.radioartisan.com/yaesu-rotator-computer-serial-interface/.
Ze względu na to że posiadałem konkretny model wykonawczy znany z niestabilności utrzymania położenia zdecydowałem się na użycie HMC5883L jako wskaźnika rzeczywistego położenia anteny.
Biorąc pod uwagę moją znikomą znajomość tematu Arduino udało mi się jakoś to uruchomić lecz pojawił się opisany problem z przekłamaniami odczytu .Efekt był taki że przy ustawieniu na 0 stopni kompas pokazywał 0 ale przy 180 było to już 240 stopni !!. Rozwiązaniem ma być zastosowanie LSM303(GY-51) zamiast HMC5883L. W programi jest nawet odcinek kodu odpowiedzialny za korektę :
/*
*
* Azimuth and Elevation calibraton tables - use with FEATURE_AZIMUTH_CORRECTION and/or FEATURE_ELEVATION_CORRECTION
*
* You must have the same number of entries in the _FROM_ and _TO_ arrays!
*
*/

#define AZIMUTH_CALIBRATION_FROM_ARRAY {180,630} /* these are in "raw" degrees, i.e. when going east past 360 degrees, add 360 degrees*/
#define AZIMUTH_CALIBRATION_TO_ARRAY {180,630}

// example: reverse rotation sensing
// #define AZIMUTH_CALIBRATION_FROM_ARRAY {0,359}
// #define AZIMUTH_CALIBRATION_TO_ARRAY {359,0}

#define ELEVATION_CALIBRATION_FROM_ARRAY {-180,0,180}
#define ELEVATION_CALIBRATION_TO_ARRAY {-180,0,180}

Lecz ja nie wiem co mam z tym zrobić :(
Bariera językowa oraz brak znajomości programowania nie pozwalają pokonać mi tego problemu.
A tak wygląda antena którą ma "kręcić" sterownik
https://goo.gl/photos/7j9VS3TnKrYuqajw7 .
Jeśli jest ktoś kto byłby w stanie mi pomóc byłbym bardzo wdzięczny. Największy problem jest w tym że czas goni bo jeśli tego nie uruchomię puki jest ładna pogoda to dopiero wiosną będę mógł zrobić cokolwiek dalej.

Avatar 1
Aleksk Windows 7 / Safari 537.36
27 November 2016 - 15:01 Brak informacji

Great job!
But ... there is a nuance.
For full tilt compensation must enter the offset axis Z.
I enclose a screenshot.
https://yadi.sk/i/0vzThONlzbMKY

Avatar 1
John Sved Linux Ubuntu / Mozilla Firefox 60.0
20 June 2018 - 12:22 Brak informacji

Thanks for you work. See the demonstration in an observatory dome

Avatar 1
grenis Windows XP / Safari 537.36
10 July 2018 - 20:31 Jaworzno

Witam,
Panie Korneliuszu a czy program do kompensacji będzie działała z bibliotekami MechaQMC5883.h ?