ST X - logóUM2225
Felhasználói kézikönyv

Kezdő lépések a MotionEC valós idejű E-Compass könyvtárával az X-CUBE-MEMS1 bővítésben az STM32Cube számára

Bevezetés

A MotionEC az X-CUBE-MEMS1 szoftver köztes szoftverkönyvtár-komponense, és STM3z2-n fut. Valós idejű információkat biztosít az eszköz tájolásáról és mozgási állapotáról az eszköz adatai alapján.
A következő kimeneteket biztosítja: eszköz orientáció (kvaterniók, Euler-szögek), eszköz elforgatása (virtuális giroszkóp funkció), gravitációs vektor és lineáris gyorsulás.
Ez a könyvtár csak az ST MEMS-ekkel való együttműködésre készült.
Az algoritmus statikus könyvtár formátumban áll rendelkezésre, és az ARM® Cortex®-M32+, ARM® Cortex®-M0, ARM® Cortex®-M3, ARM® Cortex®-M33 és ARM® alapú STM4 mikrokontrollereken való használatra készült. Cortex®-M7 architektúrák.
Az STM32Cube szoftvertechnológiára épül, hogy megkönnyítse a hordozhatóságot a különböző STM32 mikrokontrollerek között.
A szoftver sampX-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 vagy X-NUCLEO-IKS02A1 bővítőkártyán futó implementáció NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE vagy NUCLEO-L073REZ fejlesztőkártyán.

Mozaikszavak és rövidítések

1. táblázat A betűszavak listája

Betűszó Leírás
API Alkalmazás programozási felület
BSP Board támogatási csomag
GUI Grafikus felhasználói felület
HAL Hardveres absztrakciós réteg
IDE Integrált fejlesztői környezet

MotionEC köztes szoftverkönyvtár az X-CUBE-MEMS1 szoftverben az STM32Cube-hoz

2.1 MotionEC végeview
A MotionEC könyvtár kibővíti az X-CUBE-MEMS1 szoftver funkcionalitását.
A könyvtár adatokat gyűjt a gyorsulásmérőtől és a magnetométertől, és az eszköztől származó adatok alapján információt ad az eszköz tájolásáról és mozgási állapotáról.
A könyvtár csak ST MEMS-hez készült. A funkcionalitás és a teljesítmény más MEMS érzékelők használatakor nem kerül elemzésre, és jelentősen eltérhet a dokumentumban leírtaktól.
A sampA megvalósítás elérhető X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 és X-NUCLEO-IKS02A1 bővítőkártyán, NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE vagy NUCLEO-LE073 fejlesztőkártyára szerelve.
2.2 MotionEC könyvtár
A MotionEC API-k funkcióit és paramétereit teljes körűen leíró műszaki információk a MotionEC_Package.chm által összeállított HTML-ben találhatók. file a Dokumentáció mappában található.

2.2.1 A MotionEC könyvtár leírása
A MotionEC E-Compass könyvtár kezeli a gyorsulásmérőből és magnetométerből származó adatokat; jellemzői:

  • eszköztájolás (quaterniók, Euler-szögek), eszköz forgatása (virtuális giroszkóp funkció), gravitációs vektor és lineáris gyorsulás kimenetek
  • csak a gyorsulásmérő és magnetométer adatai alapján működik
  • szükséges gyorsulásmérő és magnetométer adatok sampling frekvencia akár 100 Hz
  • erőforrásigény:
    – Cortex-M0+: 3.7 kB kód és 0.1 kB adatmemória
    – Cortex-M3: 3.8 kB kód és 0.1 kB adatmemória
    – Cortex-M33: 2.8 kB kód és 0.1 kB adatmemória
    – Cortex-M4: 2.9 kB kód és 0.1 kB adatmemória
    – Cortex-M7: 2.8 kB kód és 0.1 kB adatmemória
  • elérhető az ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 és Cortex M7 architektúrákhoz

2.2.2 MotionEC API-k
A MotionEC API-k a következők:

  • uint8_t MotionEC_GetLibVersion(char *verzió)
    – lekéri a könyvtár verzióját
    – A *version egy mutató egy 35 karakterből álló tömbre
    – a verzió karakterláncában lévő karakterek számát adja vissza
    • void MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
    – elvégzi a MotionEC könyvtár inicializálását és a belső mechanizmus beállítását.
    – Az mcu_type az MCU típusa:
    ◦ Az MFX_CM0P_MCU_STM32 egy szabványos STM32 MCU
    ◦ Az MFX_CM0P_MCU_BLUE_NRG1 a BlueNRG-1
    ◦ Az MFX_CM0P_MCU_BLUE_NRG2 a BlueNRG-2
    ◦ Az MFX_CM0P_MCU_BLUE_NRG_LP a BlueNRG -LP
    – Freq az érzékelő sampling frekvencia [Hz]

Jegyzet: Ezt a funkciót meg kell hívni az E-Compass könyvtár használata előtt, és a CRC modult az STM32 mikrokontrollerben (az RCC periféria óra engedélyezési regiszterében) engedélyezni kell a könyvtár használata előtt

  • void MotionEC_SetFrequency(lebegő frekvencia)
    – állítja be a szampling frekvencia (a szűrési paraméterek módosítása)
    – Freq az érzékelő sampling frekvencia [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    - futtatja az E-Compass algoritmust (gyorsulásmérő és magnetométer adatfúzió)
    – A *data_in egy mutató a bemeneti adatokat tartalmazó struktúrára
    – a MEC_input_t szerkezettípus paraméterei:
    ◦ az acc[3] a gyorsulásmérő adatainak tömbje ENU-konvenció szerint, g-ban mérve
    ◦ mag[3] a magnetométerrel kalibrált adatok tömbje ENU konvenció szerint, μT/50-ben mérve
    ◦ az s deltaidő a delta idő (azaz a régi és az új adatkészlet közötti időkésés), másodpercben mérve
    – A *data_out egy mutató a kimeneti adatokat tartalmazó struktúrára
    – a MEC_output_t szerkezettípus paraméterei:
    ◦ a kvaternió[4] egy tömb, amely kvaterniót tartalmaz az ENU konvencióban, és az eszköz térbeli 3szögű tájolását jelenti; Az elemek sorrendje: X, Y, Z, W, mindig pozitív W elemmel
    ◦ Az euler[3] ENU-konvenció szerint Euler-szögek tömbje, amely az eszköz térbeli 3D-s szögorientációját reprezentálja; az elemek sorrendje: yaw, pitch, roll, fokban mérve
    ◦ Az i_gyro[3] szögsebesség-tömb az ENU konvenció szerint, és egy virtuális giroszkóp érzékelőt képvisel, dps-ben mérve.
    ◦ a gravitáció[3] az ENU konvenció szerinti gyorsulások tömbje, amely a gravitációs vektort jelenti, g-ban mérve
    ◦ lineáris[3] az ENU konvenció szerinti gyorsulások tömbje, amely az eszköz lineáris gyorsulását jelenti, g-ban mérve
    Az ST X CUBE MEMS1 MotionEC egy köztes szoftverkönyvtár.
  • void MotionEC_GetOrientationEnable(MEC_state_t *state)
    – megkapja az Euler-szögszámítás engedélyezési/letiltási állapotát
    – Az *állapot az aktuális engedélyezési/letiltási állapotra mutató mutató
  • void MotionEC_SetOrientationEnable(MEC_state_t state)
    – beállítja az Euler-szögszámítás engedélyezési/letiltási állapotát
    – az állapot a beállítandó új engedélyezési/letiltási állapot
  •  void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
    – megkapja a virtuális giroszkóp számítás engedélyezési/letiltási állapotát
    – Az *állapot az aktuális engedélyezési/letiltási állapotra mutató mutató
  • void MotionEC_SetVirtualGyroEnable(MEC_state_t state)
    – beállítja a virtuális giroszkóp számítás engedélyezési/letiltási állapotát
    – az állapot a beállítandó új engedélyezési/letiltási állapot
  • void MotionEC_GetGravityEnable(MEC_state_t *state)
    – megkapja a gravitációs vektor számítás engedélyezési/letiltási állapotát
    – Az *állapot az aktuális engedélyezési/letiltási állapotra mutató mutató
  • void MotionEC_SetGravityEnable(MEC_state_t állapot)
    – beállítja a gravitációs vektor számítás engedélyezési/letiltási állapotát
    – az állapot a beállítandó új engedélyezési/letiltási állapot
  • void MotionEC_GetLinearAccEnable(MEC_state_t *state)
    – megkapja a lineáris gyorsulás számítás engedélyezési/letiltási állapotát
    – Az *állapot az aktuális engedélyezési/letiltási állapotra mutató mutató
  • void MotionEC_SetLinearAccEnable(MEC_state_t állapot)
    – beállítja a lineáris gyorsulás számítás engedélyezési/letiltási állapotát
    – az állapot a beállítandó új engedélyezési/letiltási állapot

2.2.3 API folyamatábra

Az ST X CUBE MEMS1 MotionEC egy Middleware Library sorozat

2.2.4 Demo kód
A következő demonstrációs kód beolvassa a gyorsulásmérő és magnetométer érzékelőinek adatait, és lekéri az ECompass adatokat (pl. kvaternió, Euler-szögek stb.).

Az ST X CUBE MEMS1 MotionEC egy Middleware Library-demó kódAz ST X CUBE MEMS1 A MotionEC egy köztes szoftverkönyvtár – demókód1

2.2.5 Algoritmus teljesítménye
Az E-Compass algoritmus csak a gyorsulásmérő és a magnetométer adatait használja. Alacsony frekvencián (akár 100 Hz-en) működik az energiafogyasztás csökkentése érdekében.

Az ST X CUBE MEMS1 A MotionEC egy Middleware Library-Data Injection1

Sample alkalmazás

A MotionEC köztes szoftver könnyen manipulálható felhasználói alkalmazások létrehozásához; mintampAz alkalmazás az Alkalmazás mappában található.
Úgy tervezték, hogy NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE vagy NUCLEO-L073RZ fejlesztőkártyán fut, amely X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 vagy X-NUCLEO-IKSions02A1expan kártyához van csatlakoztatva.

Az ST X CUBE MEMS1 MotionEC egy Middleware Library adapter

Az alkalmazás valós időben felismeri az eszköz tájolását és forgását. Az adatok grafikus felhasználói felületen keresztül jeleníthetők meg.
Az algoritmus a következő kimeneteket biztosítja: eszköz orientáció (kvaterniók, Euler-szögek), eszköz elforgatása (virtuális giroszkóp funkció), gravitációs vektor és lineáris gyorsulás.
3.1 MEMS-Studio alkalmazás
Az SampA le alkalmazás a MEMS-Studio alkalmazást használja, amely innen tölthető le www.st.com.
1. lépés. Győződjön meg arról, hogy a szükséges illesztőprogramok telepítve vannak, és az STM32 Nucleo kártya megfelelő bővítőkártyával csatlakozik a számítógéphez.
2. lépés. Indítsa el a MEMS-Studio alkalmazást az alkalmazás főablakának megnyitásához.
Ha támogatott firmware-rel rendelkező STM32 Nucleo kártyát csatlakoztat a számítógéphez, a rendszer automatikusan felismeri a megfelelő COM-portot. Nyomja meg a [Csatlakozás] gombot a kapcsolat létrehozásához az értékelő táblával.

Az ST X CUBE MEMS1 MotionEC egy Middleware Library-Connect

3. lépés. Ha támogatott firmware-rel rendelkező STM32 Nucleo kártyához csatlakozik, a [Library Evaluation] fül megnyílik.
Az adatfolyam elindításához és leállításához kapcsolja be a megfelelő [Start] ST X CUBE MEMS1 A MotionEC egy Middleware Library ikon vagy [Stop] ST X CUBE MEMS1 A MotionEC egy köztes szoftverkönyvtár- icon1 gombot a külső függőleges eszköztáron.
A csatlakoztatott érzékelőtől érkező adatok lehetnek viewed válassza ki az [Adattábla] fület a belső függőleges eszköztáron.

Az ST X CUBE MEMS1 MotionEC egy köztes szoftverkönyvtár-adattábla

4. lépés. Kattintson az [E-iránytű] elemre a könyvtár dedikált oldalának megnyitásához.

Az ST X CUBE MEMS1 MotionEC egy köztes szoftverkönyvtár-iránytű

A fenti ábra egy STM32 Nucleo grafikus modellt mutat. A modell tájolása és elforgatása az algoritmus által kiszámított E-Compass adatokon (kvaterniókon) alapul.
Az eszköz valódi mozgásának a grafikus modellhez való igazításához irányítsa az eszközt a képernyő felé, és nyomja meg a [Modell visszaállítása] gombot.
A címsor értéke a valódi eszközfejlécet jelenti.
Ha az eszközt egyenesen felfelé vagy lefelé mutatjuk (az ENU referenciakeret felfelé tengelye mentén, ±5 fokos tűréssel) N/A értéket adunk a fejlécnek: nem lehet megkülönböztetni, hogy melyik kardinális pontra mutat az eszköz.
A jósági érték 0-3 értéket ad, és a magnetométer kalibrációjához kapcsolódik: minél magasabb az érték, annál jobb az E-Compass adatalgoritmus eredménye.
5. lépés. Kattintson a [Mentés ide File] az adatnaplózás konfigurációs ablakának megnyitásához. Válassza ki a menteni kívánt érzékelő és E-iránytű adatokat file. A megfelelő gombra kattintva elindíthatja vagy leállíthatja a mentést.

Az ST X CUBE MEMS1 MotionEC egy köztes szoftverkönyvtár – Mentés ide File

6. lépés A Data Injection móddal a korábban beszerzett adatokat elküldhetjük a könyvtárba és megkaphatjuk az eredményt. Válassza a [Data Injection] fület a függőleges eszköztáron a dedikált ablak megnyitásához view ehhez a funkcióhoz.

Az ST X CUBE MEMS1 MotionEC egy Middleware Library-Data Injection

7. lépés Kattintson a [Tallózás] gombra a kiválasztásához file a korábban rögzített adatokkal CSV formátumban.
Az adatok az aktuális táblába töltődnek be view.
A többi gomb aktív lesz. A következőkre kattinthat:
– [Offline mód] gomb a firmware offline mód be- és kikapcsolásához (a korábban rögzített adatokat használó mód).
– [Start]/[Stop]/[Step]/[Repeat] gombok a MEMS-Studio-ból a könyvtárba történő adattovábbítás vezérléséhez.

Hivatkozások

A következő források mindegyike ingyenesen elérhető a www.st.com oldalon.

  1. UM1859: Az X-CUBE-MEMS1 mozgási MEMS és a környezeti érzékelőszoftver bővítése az STM32Cube számára
  2.  UM1724: STM32 Nucleo-64 kártyák (MB1136)
  3. UM3233: A MEMS-Studio első lépései

Revíziótörténet

4. táblázat. Dokumentum felülvizsgálati előzmények

Dátum Változat Változások
május 18-17 1 Kezdeti kiadás.
25-jan-18 2 Hivatkozások hozzáadva a NUCLEO-L152RE fejlesztői táblához és a 2. táblázathoz.
Eltelt idő (μs) algoritmus.
21-március 18 3 A frissített bevezető és a 2.1 MotionEC szakasz végeview.
26-nov. 18 4 Hozzáadott 3. táblázat. Cortex -M0+: eltelt idő (µs) algoritmus. Hivatkozások hozzáadva az ARM®-hez
Cortex® – M0+ és NUCLEO-L073RZ fejlesztőkártya.
19-február 19 5 Frissítve 1. ábra ENU referenciakeret, 2. táblázat Cortex -M4 és Cortex-M3: eltelt idő (µs) algoritmus, 3. táblázat.
Cortex -M0+: eltelt idő (µs) algoritmus, 3. ábra: Érzékelő bővítőkártya adapter csatlakoztatva az STM32-höz
Nucleo, 4. ábra. Unicleo főablak, 5. ábra Felhasználói üzenetek lap, 6. ábra E-Compass ablak és 7. ábra Adatnapló ablak. Hozzáadott X-NUCLEO-IKS01A3 bővítőkártya kompatibilitási információ.
25-március 20 6 Frissített bevezető, 2.2.1. szakasz: MotionEC könyvtár leírása és 2.2.5. szakasz: Algoritmus teljesítménye.
Az ARM Cortex-M7 architektúra kompatibilitási információi hozzáadva.
17. szeptember 24 7 Frissített szakasz Bevezetés,
2.1. szakasz: A MotionEC végeview,
2.2.1. szakasz: MotionEC könyvtár
leírás, 2.2.2. szakasz: MotionEC
API-k, 2.2.5. szakasz: Algoritmus
teljesítmény, 3. szakasz: Sample
alkalmazás, 3.1. szakasz: MEMS-Studio alkalmazás

FONTOS MEGJEGYZÉS – OLVASSA EL FIGYELMESEN
Az STMicroelectronics NV és leányvállalatai („ST”) fenntartják a jogot, hogy bármikor, előzetes értesítés nélkül módosítsák, javítsák, bővítsék, módosítsák és tökéletesítsék az ST-termékeket és/vagy ezt a dokumentumot. A vásárlóknak meg kell szerezniük a legfrissebb releváns információkat az ST-termékekről a rendelés leadása előtt. Az ST termékek értékesítése a megrendelés visszaigazolásakor érvényes ST értékesítési feltételek szerint történik.
Kizárólag a vásárlók felelősek az ST-termékek kiválasztásáért, kiválasztásáért és használatáért, és az ST nem vállal felelősséget az alkalmazási segítségért vagy a vásárlók termékeinek tervezéséért.
Az ST jelen dokumentumban semmilyen szellemi tulajdonjogra nem ad kifejezett vagy hallgatólagos licencet.
Az ST-termékeknek az itt leírtaktól eltérő rendelkezésekkel történő viszonteladása érvénytelenít minden, az ST által az ilyen termékre adott garanciát.
Az ST és az ST logó az ST védjegyei. Az ST védjegyekkel kapcsolatos további információkért lásd: www.st.com/trademarks. Minden egyéb termék- vagy szolgáltatásnév a megfelelő tulajdonosok tulajdona.
A jelen dokumentumban szereplő információk felülírják és felváltják a jelen dokumentum bármely korábbi verziójában korábban megadott információkat.

© 2024 STMicroelectronics – Minden jog fenntartva

Dokumentumok / Források

Az ST X-CUBE-MEMS1 MotionEC egy köztes szoftverkönyvtár [pdf] Használati utasítás
Az X-CUBE-MEMS1 A MotionEC egy köztes szoftverkönyvtár, az X-CUBE-MEMS1, a MotionEC egy köztesszoftver-könyvtár, egy köztes szoftverkönyvtár, egy könyvtár

Hivatkozások

Hagyj megjegyzést

E-mail címét nem tesszük közzé. A kötelező mezők meg vannak jelölve *