Kompas cyfrowy na STM32 i MAG3110

 

W przykładzie przedstawiamy realizację kompasu cyfrowego bazującego na magnetometrze MAG3110 firmy Freescale. Dodatkową funkcją aplikacji jest cyfrowe zobrazowanie temperatury odczytanej z wewnętrznego czujnika magnetometru. Projekt wykonano na zestawie ZL27ARM (KAMAMI.pl), wynik pomiaru zostanie przedstawiony w postaci graficznej na kolorowym wyświetlaczu LCD.

 

 

W przykładowej aplikacji posłużymy się 3-osiowym czujnikiem pola magnetycznego MAG3110, który za pośrednictwem magistrali I2C komunikuje się z mikrokontrolerem STM32F103 z zestawu ZL27ARM. Do zestawu jest również podłączony kolorowy wyświetlacz prezentujący dane z czujnika. Sposoby podłączenia elementów peryferyjnych do mikrokontrolera pokazano na rysunku poniżej.

 

Rys. 1. Schemat połączeń zestawu testowego

Rys. 1. Schemat połączeń zestawu testowego

 

 

Schemat elektryczny modułu z sensorem MAG3110 (i alternatywnym HMC5883 firmy Honeywell) pokazano na rysunku 2, dokumentacja produkcyjna płytki drukowanej oraz artykuł prezentujący możliwości tego układu jest dostępny pod adresem.

 

Rys. 2. Schemat elektryczny modułu z sensorem MAG3110 (dokumnetacja do pobrania po adresem)

Rys. 2. Schemat elektryczny modułu z sensorem MAG3110 (dokumnetacja do pobrania po adresem)

 

 

Po konfiguracji mikrokontrolera program przygotowuje do pracy kontroler wyświetlacza w module KAmodTFT oraz magnetometr MAG3110. Następnie w nieskończonej pętli zrealizowana jest obsługa menu głównego, program sprawdza stan przycisków celem zmiany wybranej opcji w menu:

Następnie, jeśli nie zatwierdzono wyboru przyciskiem JOY_ENTER oraz wybrana pozycja z menu się zmieniła, następuje jego przerysowanie:

Do pobrania

O autorze