[PROJEKT] Elektroniczny kompas z sensorem HMC5883L

W artykule przedstawimy realizację niezwykłego kompasu cyfrowego, zrealizowanego na mikrokontrolerze Kinetis K40 i 3-osiowym czujniku pola magnetycznego Ziemi w – HMC5883L. Platformą sprzętową dla przykładu jest KwikStik K40.

 

 

 

W przykładzie posłużymy się 3-osiowym czujnikiem pola magnetycznego HMC5883L, który za pośrednictwem magistrali I2C komunikuje się z zestawem KwikStik K40. Zestaw zamontowano na – widocznej na zdjęciu – płytce KwikStikBase, która spełnia rolę bazy mechanicznej i elektrycznej dla zestawu KwikStik K40. Dodatkowo w projekcie zastosowano adapter złącz TWRPI, dzięki któremu (między innymi) użytkownik uzyskuje łatwy dostęp do interfejsu I2C1 mikrokontrolera K40.

 

 

Schemat elektryczny płytki z czujnikiem kompasowym oraz jej dokumentacja produkcyjna są dostępne do pobrania pod adresem. Płytkę czujnika należy dołączyć do adaptera TWRPI w sposób pokazany na filmie, linie:

SCL_HMC5883<->SCL_KwikStikK40,
SDA_HMC5883<->SDA_KwikStikK40,
GND_HMC5883<->GND_KwikStikK40 i
+3,3V_HMC5883<->+3,3V_KwikStikK40

Po konfiguracji mikrokontrolera, przygotowany przez nas program przygotowuje do pracy LCD oraz magnetometr. Wyświetlacz po inicjalizacji jest czyszczony, następnie jest konfigurowany magnetometr za pomocą funkcji:

Czułość ustawiona zostaje na 0,88 gaussa oraz włączony zostaje pomiar cykliczny.
W momencie gdy wszystko przebiegnie pomyślnie funkcja  InitHMC5883 zwraca wartość „1”, dlatego też program może kontynuować działanie:
W następnej kolejności na wyświetlaczu włączone zostaje logo Freescale, symbol buzzera, pierwsza i ostatnia kolumna pikseli po czym w środku ukazuje się napis „KAL” (widoczny na filmie):
Napis ten jest przysłaniany w czasie 15 sekund przez przesuwający się pasek postępu, informujący o czasie pozostałym do końca kalibracji, w którym to musimy obrócić HMC5883 minimalnie raz o 360 stopni. Należy pamiętać, że od samego początku kalibracji oś czujnika „Z” musi być ustawiona prostopadle do Ziemi.

Do pobrania

O autorze