Navigációs eszköz
Navigációs eszköz készítése GPS és IMU használatával
A 2025-ös Kristálytiszta Elektronika 2 tananyagát feldolgozó nyári táborhoz készítettünk egy GPS és IMU (Inertial Measurement Unit) egységet tartalmazó egyedi áramkört, hogy a táborba látogató, a programozáshoz haladóbb szinten értő diákoknak egyedi feladatot tudjunk adni. A panelen található GPS modul a helyzetmeghatározásra szolgáló műholdak adatainak feldolgozásával képes meghatározni az aktuális földrajzi pozíciót, míg az IMU, azaz inercia-szenzor belső MEMS modulok segítségével állapítja meg a szögsebességét, gyorsulását és képes érzékelni az őt körülvevő mágneses teret. AZ IMU-ban található magnetométer segítségével kiszámolható, hogy merre van az északi irány. A táborban résztvevő diákok feladata, hogy a KE2-ben tanultakat és az áramkör adottságait felhasználva önállóan, de szakmai támogatás mellett minél használhatóbb okos navigációs eszközt hozzanak létre. A főbb feladatok rövid leírása:
1. Feladat – északi iránytól való eltérés kiírása
Az ICM-20948 magnetométer adatainak kiolvasása, az észak-déli iránytól való eltérés kiíratása a kijelzőre, fokban, iránytű rajzolása a kijelzőre. Az adatokat I2C-n lehet kiolvasni a magnetométerből, kiolvasás előtt az IC-t megfelelően inicializálni kell. Ehhez segítséget nyújtanak a KE2 I2C-t ismertető fejezetei és a szenzor adatlapja.
2. Feladat – hely meghatározása a GPS-modullal
A CAM-M8 U-blox GPS-vevővel, UART-on történő kommunikáció megvalósítása, fogadott szélességi és hosszúsági koordináták kiíratása a kijelzőre. Ehhez segítséget nyújt a KE2 UART-os fejezete és a modul adatlapja, leírása.
3. Feladat – Távolság és irány meghatározása egy előre programozott ponttól
A mikrovezérlő szoftverében eltároljuk az úticélunk koordinátáit (hard-coded), és az előző feladatok során kiolvasott adatok alapján kiszámoljuk és kiíratjuk a kijelzőre, hogy aktuálisan hány méterre vagyunk a céltől, illetve, hogy az aktuális irányunk hány fokkal tér el a cél irányától.
A projekthez tartozó fájlok, tervezési dokumentumok, alkatrész lista, programozási segédlet, valamint egy példa megvalósítás forráskódja itt érhető el:
Az alábbi képen látható egy példa összeállítás, ami egy Nucleo-ból, 5 nyomógombból, 1 kijelzőből és a GPS-IMU panelből áll. A nyomógombok és a kijelző ugyanúgy vannak bekötve, mint a tananyag példáiban, azzal a különbséggel, hogy a breadboardra nem kell I2C felhúzó ellenállásokat helyezni, mert ezt már tartalmazza GPS-IMU panel. A GPS-IMU panel bekötése a következő:
- 5V: tápfeszültség, a Nucleo 5 voltos tápfeszültségét kell ide kötni
- SCL, SDA: a kijelzőnél is használt I2C vonalakat kell ide kötni
- TXD, RXD: A GPS modul UART TX és RX vonalai, ezeket a mikrovezérlő egy szabad UART perifériájának (mi az UART6-ot használtuk) RX és TX vonalaival kell összekötni (egyik eszköz RX-ét a másik TX-ével kell összekötni)
- GND: közös földpont




