ST X - logotipsUM2225
Lietotāja rokasgrāmata

Darba sākšana ar MotionEC reāllaika E-Compass bibliotēku X-CUBE-MEMS1 paplašinājumā STM32Cube

Ievads

MotionEC ir X-CUBE-MEMS1 programmatūras starpprogrammatūras bibliotēkas komponents un darbojas STM3z2. Tas nodrošina reāllaika informāciju par ierīces orientāciju un kustības statusu, pamatojoties uz datiem no ierīces.
Tas nodrošina šādus izvadus: ierīces orientāciju (ceturtdaļas, Eilera leņķi), ierīces rotāciju (virtuālā žiroskopa funkcionalitāti), gravitācijas vektoru un lineāro paātrinājumu.
Šī bibliotēka ir paredzēta darbam tikai ar ST MEMS.
Algoritms tiek nodrošināts statiskās bibliotēkas formātā un ir paredzēts lietošanai STM32 mikrokontrolleros, kuru pamatā ir ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 un ARM® Cortex®-M7 arhitektūras.
Tas ir veidots, izmantojot STM32Cube programmatūras tehnoloģiju, lai atvieglotu pārnesamību starp dažādiem STM32 mikrokontrolleriem.
Programmatūra tiek piegādāta kopā ar sampieviešanu, kas darbojas uz X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 vai X-NUCLEO-IKS02A1 paplašināšanas plates uz NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE vai NUCLEO-L073REZ izstrādes plates.

Akronīmi un saīsinājumi

1. tabula. Akronīmu saraksts

Akronīms Apraksts
API Lietojumprogrammu programmēšanas saskarne
BSP Valdes atbalsta pakete
GUI Grafiskais lietotāja interfeiss
HAL Aparatūras abstrakcijas slānis
IDE Integrēta attīstības vide

MotionEC starpprogrammatūras bibliotēka X-CUBE-MEMS1 programmatūras paplašināšanā STM32Cube

2.1 MotionEC beigusiesview
MotionEC bibliotēka paplašina X-CUBE-MEMS1 programmatūras funkcionalitāti.
Bibliotēka iegūst datus no akselerometra un magnetometra un sniedz informāciju par ierīces orientāciju un kustības statusu, pamatojoties uz datiem no ierīces.
Bibliotēka ir paredzēta tikai ST MEMS. Funkcionalitāte un veiktspēja, izmantojot citus MEMS sensorus, netiek analizēta un var būtiski atšķirties no dokumentā aprakstītā.
A sample ieviešana ir pieejama X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 un X-NUCLEO-IKS02A1 paplašināšanas platei, kas uzstādīta uz NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE vai NUCLEO-LE073 izstrādes plates.
2.2 MotionEC bibliotēka
Tehniskā informācija, kas pilnībā apraksta MotionEC API funkcijas un parametrus, ir atrodama MotionEC_Package.chm apkopotajā HTML. file atrodas mapē Dokumentācija.

2.2.1 MotionEC bibliotēkas apraksts
MotionEC E-Compass bibliotēka pārvalda datus, kas iegūti no akselerometra un magnetometra; tajā ir:

  • ierīces orientācija (kvarterioni, Eilera leņķi), ierīces rotācija (virtuālā žiroskopa funkcionalitāte), gravitācijas vektors un lineārā paātrinājuma izejas
  • funkcionalitāte, pamatojoties tikai uz akselerometra un magnetometra datiem
  • nepieciešamie akselerometra un magnetometra dati samplinga frekvence līdz 100 Hz
  • resursu prasības:
    – Cortex-M0+: 3.7 kB koda un 0.1 kB datu atmiņa
    – Cortex-M3: 3.8 kB koda un 0.1 kB datu atmiņa
    – Cortex-M33: 2.8 kB koda un 0.1 kB datu atmiņa
    – Cortex-M4: 2.9 kB koda un 0.1 kB datu atmiņa
    – Cortex-M7: 2.8 kB koda un 0.1 kB datu atmiņa
  • pieejams ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 un Cortex M7 arhitektūrām

2.2.2. MotionEC API
MotionEC API ir:

  • uint8_t MotionEC_GetLibVersion(char *version)
    – izgūst bibliotēkas versiju
    – *versija ir rādītājs uz 35 rakstzīmju masīvu
    – atgriež rakstzīmju skaitu versijas virknē
    • Void MotionEC_Initialize (MEC_mcu_type_t mcu_type, float freq)
    – veic MotionEC bibliotēkas inicializāciju un iekšējā mehānisma iestatīšanu.
    - mcu_type ir MCU veids:
    ◦ MFX_CM0P_MCU_STM32 ir standarta STM32 MCU
    ◦ MFX_CM0P_MCU_BLUE_NRG1 ir BlueNRG-1
    ◦ MFX_CM0P_MCU_BLUE_NRG2 ir BlueNRG-2
    ◦ MFX_CM0P_MCU_BLUE_NRG_LP ir BlueNRG -LP
    – frekvence ir sensora sampmelodijas frekvence [Hz]

Piezīme: Šī funkcija ir jāizsauc pirms E-Compass bibliotēkas izmantošanas, un pirms bibliotēkas izmantošanas ir jāiespējo CRC modulis STM32 mikrokontrollerī (RCC perifērijas pulksteņa iespējošanas reģistrā).

  • Void MotionEC_SetFrequency (peldošā frekvence)
    – nosaka samplingēšanas frekvence (filtrēšanas parametru modificēšana)
    – frekvence ir sensora sampling frekvence [Hz] • Void MotionEC_Run (MEC_input_t *data_in, MEC_output_t *data_out)
    - palaiž E-Compass algoritmu (akselerometra un magnetometra datu saplūšana)
    – *data_in ir rādītājs uz struktūru ar ievades datiem
    – parametri struktūras tipam MEC_input_t ir:
    ◦ acc[3] ir akselerometra datu masīvs ENU konvencijā, ko mēra g
    ◦ mag[3] ir magnetometra kalibrētu datu masīvs ENU konvencijā, mērot μT/50
    ◦ deltalaiks s ir delta laiks (ti, laika aizkave starp veco un jauno datu kopu), ko mēra sekundēs
    – *data_out ir rādītājs uz struktūru ar izvaddatiem
    – parametri struktūras tipam MEC_output_t ir:
    ◦ ceturtdaļa[4] ir masīvs, kas satur kvaterniju ENU konvencijā, kas attēlo ierīces 3leņķisko orientāciju telpā; Elementu secība ir: X, Y, Z, W, ar vienmēr pozitīvu elementu W
    ◦ euler[3] ir Eilera leņķu masīvs ENU konvencijā, kas attēlo ierīces 3D leņķisko orientāciju telpā; elementu secība ir: slīpums, slīpums, gājiens, mērot grādos
    ◦ i_gyro[3] ir leņķisko ātrumu masīvs ENU konvencijā, kas attēlo virtuālo žiroskopa sensoru, mērot dps
    ◦ gravitācija[3] ir paātrinājumu masīvs saskaņā ar ENU konvenciju, kas attēlo gravitācijas vektoru, ko mēra g
    ◦ lineārs[3] ir paātrinājumu masīvs saskaņā ar ENU konvenciju, kas atspoguļo ierīces lineāro paātrinājumu, ko mēra g
    ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēka-
  • Void MotionEC_GetOrientationEnable(MEC_state_t *state)
    – iegūst Eilera leņķa aprēķina iespējošanas/atspējošanas stāvokli
    – *stāvoklis ir rādītājs uz pašreizējo iespējošanas/atspējošanas stāvokli
  • Void MotionEC_SetOrientationEnable(MEC_state_t status)
    – iestata Eilera leņķa aprēķina iespējošanas/atspējošanas stāvokli
    – stāvoklis ir jaunais iespējošanas/atspējošanas stāvoklis, kas jāiestata
  •  Void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
    – iegūst virtuālā žiroskopa aprēķina iespējošanas/atspējošanas stāvokli
    – *stāvoklis ir rādītājs uz pašreizējo iespējošanas/atspējošanas stāvokli
  • Void MotionEC_SetVirtualGyroEnable(MEC_state_t status)
    – iestata virtuālā žiroskopa aprēķina iespējošanas/atspējošanas stāvokli
    – stāvoklis ir jaunais iespējošanas/atspējošanas stāvoklis, kas jāiestata
  • void MotionEC_GetGravityEnable(MEC_state_t *state)
    – iegūst gravitācijas vektora aprēķina iespējo/atspējošanas stāvokli
    – *stāvoklis ir rādītājs uz pašreizējo iespējošanas/atspējošanas stāvokli
  • Void MotionEC_SetGravityEnable(MEC_state_t status)
    – iestata gravitācijas vektora aprēķina iespējo/atspējošanas stāvokli
    – stāvoklis ir jaunais iespējošanas/atspējošanas stāvoklis, kas jāiestata
  • Void MotionEC_GetLinearAccEnable(MEC_state_t *state)
    – iegūst lineārā paātrinājuma aprēķina iespējošanas/atspējošanas stāvokli
    – *stāvoklis ir rādītājs uz pašreizējo iespējošanas/atspējošanas stāvokli
  • Void MotionEC_SetLinearAccEnable(MEC_state_t status)
    – iestata lineārā paātrinājuma aprēķina iespējošanas/atspējošanas stāvokli
    – stāvoklis ir jaunais iespējošanas/atspējošanas stāvoklis, kas jāiestata

2.2.3. API plūsmas diagramma

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēkas secība

2.2.4 Demonstrācijas kods
Tālāk norādītais demonstrācijas kods nolasa datus no akselerometra un magnetometra sensoriem un iegūst ECompass datus (ti, kvaterniju, Eilera leņķus utt.).

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēkas demonstrācijas kodsST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēka — demonstrācijas kods1

2.2.5. Algoritma veiktspēja
E-Compass algoritms izmanto tikai datus no akselerometra un magnetometra. Tas darbojas ar zemu frekvenci (līdz 100 Hz), lai samazinātu enerģijas patēriņu.

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēka — datu ievadīšana1

Sample pieteikumu

Ar MotionEC starpprogrammatūru var viegli manipulēt, lai izveidotu lietotāja lietojumprogrammas; kāampPieteikums ir pieejams mapē Lietojumprogramma.
Tas ir paredzēts darbam ar NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE vai NUCLEO-L073RZ izstrādes plati, kas savienota ar X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 vai X-NUCLEO-IKSions02A1expan paneli.

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēkas adapteris

Lietojumprogramma reāllaikā atpazīst ierīces orientāciju un rotāciju. Datus var parādīt, izmantojot GUI.
Algoritms nodrošina šādus izvadus: ierīces orientācija (kvarterioni, Eilera leņķi), ierīces rotācija (virtuālā žiroskopa funkcionalitāte), gravitācijas vektors un lineārais paātrinājums.
3.1 MEMS-Studio lietojumprogramma
Sample aplikācijā tiek izmantota lietojumprogramma MEMS-Studio, kuru var lejupielādēt no www.st.com.
1. darbība. Pārliecinieties, vai ir instalēti nepieciešamie draiveri un datoram ir pievienota STM32 Nucleo plate ar atbilstošu paplašināšanas plati.
2. darbība. Palaidiet lietojumprogrammu MEMS-Studio, lai atvērtu lietojumprogrammas galveno logu.
Ja datoram ir pievienota STM32 Nucleo plate ar atbalstītu programmaparatūru, atbilstošais COM ports tiek noteikts automātiski. Nospiediet pogu [Connect], lai izveidotu savienojumu ar novērtēšanas paneli.

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēka- Connect

3. darbība. Savienojot ar STM32 Nucleo plati ar atbalstītu programmaparatūru, tiek atvērta cilne [Library Evaluation].
Lai sāktu un apturētu datu straumēšanu, pārslēdziet atbilstošo [Sākt]. ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēkas ikona vai [Apturēt] ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēka- icon1 pogu ārējā vertikālajā rīkjoslā.
Dati, kas nāk no pievienotā sensora, var būt viewed atlasot cilni [Datu tabula] iekšējā vertikālajā rīkjoslā.

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēkas datu tabula

4. darbība. Noklikšķiniet uz [E-Compass], lai atvērtu šai bibliotēkai paredzēto lapu.

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēka-kompass

Augšējā attēlā parādīts STM32 Nucleo grafiskais modelis. Modeļa orientācija un rotācija ir balstīta uz E-Compass datiem (ceturkšņiem), kas aprēķināti pēc algoritma.
Lai saskaņotu reālo ierīces kustību ar grafisko modeli, pavērsiet ierīci pret ekrānu un nospiediet [Reset model].
Virsraksta vērtība atspoguļo reālo ierīces virsrakstu.
Ierīces virzīšana taisni uz augšu vai uz leju (gar ENU atskaites rāmja augšējo asi, ar ±5 grādu pielaidi), virsrakstam tiek iegūta N/A vērtība: nav iespējams atšķirt, uz kuru galveno punktu ierīce norāda.
Labuma vērtība dod 0 līdz 3 vērtības un ir saistīta ar magnetometra kalibrēšanu: jo lielāka vērtība, jo labāki E-Compass datu algoritma rezultāti.
5. darbība. Noklikšķiniet uz [Saglabāt uz File], lai atvērtu datu reģistrēšanas konfigurācijas logu. Izvēlieties sensoru un E-kompasa datus, kas jāsaglabā file. Saglabāšanu var sākt vai pārtraukt, noklikšķinot uz atbilstošās pogas.

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēka — saglabājiet to File

6. darbība. Datu ievadīšanas režīmā var nosūtīt iepriekš iegūtos datus uz bibliotēku un saņemt rezultātu. Vertikālajā rīkjoslā atlasiet cilni [Datu ievadīšana], lai atvērtu speciālo view šai funkcionalitātei.

ST X CUBE MEMS1 MotionEC ir starpprogrammatūras bibliotēkas datu ievadīšana

7. darbība. Noklikšķiniet uz pogas [Pārlūkot], lai atlasītu file ar iepriekš uzņemtajiem datiem CSV formātā.
Dati tiks ielādēti tabulā pašreizējā view.
Citas pogas kļūs aktīvas. Jūs varat noklikšķināt uz:
– Poga [Bezsaistes režīms], lai ieslēgtu/izslēgtu programmaparatūras bezsaistes režīmu (režīms, kurā tiek izmantoti iepriekš uzņemtie dati).
– pogas [Sākt]/[Apturēt]/[Solis]/[Atkārtot], lai kontrolētu datu padevi no MEMS-Studio uz bibliotēku.

Atsauces

Visi tālāk minētie resursi ir brīvi pieejami vietnē www.st.com.

  1. UM1859: darba sākšana ar X-CUBE-MEMS1 kustības MEMS un vides sensora programmatūras paplašināšanu STM32Cube
  2.  UM1724: STM32 Nucleo-64 plates (MB1136)
  3. UM3233: darba sākšana ar MEMS-Studio

Pārskatīšanas vēsture

4. tabula. Dokumentu pārskatīšanas vēsture

Datums Versija Izmaiņas
18. gada 17. maijs 1 Sākotnējā izlaišana.
25. janvāris — 18. janvāris 2 Pievienotas atsauces uz NUCLEO-L152RE izstrādes paneli un 2. tabulu.
Pagājušā laika (μs) algoritms.
21. gada 18. marts 3 Atjaunināts ievads un MotionEC sadaļa 2.1view.
26. gada 18. novembris 4 Pievienota 3. tabula. Cortex -M0+: pagājušā laika (µs) algoritms. Pievienotas atsauces uz ARM®
Cortex® – M0+ un NUCLEO-L073RZ izstrādes plate.
19. gada 19. februāris 5 Atjaunināts 1. attēls. ENU atsauces rāmis, 2. tabula. Cortex -M4 un Cortex-M3: pagājušā laika (µs) algoritms, 3. tabula.
Cortex -M0+: pagājušā laika (µs) algoritms, 3. attēls. Sensora paplašināšanas plates adapteris, kas savienots ar STM32
Nucleo, 4. attēls. Unicleo galvenais logs, 5. attēls. Lietotāja ziņojumu cilne, 6. attēls. E-Compass logs un 7. attēls. Datalog logs. Pievienota X-NUCLEO-IKS01A3 paplašināšanas plates saderības informācija.
25. gada 20. marts 6 Atjaunināts ievads, 2.2.1. sadaļa: MotionEC bibliotēkas apraksts un 2.2.5. sadaļa: Algoritma veiktspēja.
Pievienota ARM Cortex-M7 arhitektūras saderības informācija.
17-septembris-24 7 Atjaunināts sadaļas ievads,
2.1. sadaļa: MotionEC beigusiesview,
2.2.1. sadaļa: MotionEC bibliotēka
apraksts, 2.2.2. sadaļa: MotionEC
API, 2.2.5. sadaļa: Algoritms
sniegums, 3. sadaļa: Sample
lietojumprogramma, 3.1. sadaļa: MEMS-Studio lietojumprogramma

SVARĪGS PAZIŅOJUMS – UZMANĪGI IZLASIET
STMicroelectronics NV un tā meitasuzņēmumi (“ST”) patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas, labojumus, uzlabojumus, modifikācijas un uzlabojumus ST izstrādājumos un/vai šajā dokumentā. Pirms pasūtījuma veikšanas pircējiem jāiegūst jaunākā atbilstošā informācija par ST produktiem. ST produkti tiek pārdoti saskaņā ar ST pārdošanas noteikumiem un nosacījumiem, kas ir spēkā pasūtījuma apstiprināšanas brīdī.
Pircēji ir pilnībā atbildīgi par ST produktu izvēli, izvēli un lietošanu, un ST neuzņemas nekādu atbildību par palīdzību pielietošanā vai pircēja produktu dizainu.
ST šeit nepiešķir nekādas tiešas vai netiešas licences jebkādām intelektuālā īpašuma tiesībām.
ST produktu tālākpārdošana ar noteikumiem, kas atšķiras no šeit norādītās informācijas, anulē jebkādu ST piešķirto garantiju šādam produktam.
ST un ST logotips ir ST preču zīmes. Papildinformāciju par ST preču zīmēm skatiet www.st.com/trademarks. Visi pārējie produktu vai pakalpojumu nosaukumi ir to attiecīgo īpašnieku īpašums.
Informācija šajā dokumentā aizstāj un aizstāj informāciju, kas iepriekš sniegta jebkurās iepriekšējās šī dokumenta versijās.

© 2024 STMicroelectronics – visas tiesības paturētas

Dokumenti / Resursi

ST X-CUBE-MEMS1 MotionEC ir starpprogrammatūras bibliotēka [pdfLietotāja rokasgrāmata
X-CUBE-MEMS1 MotionEC ir starpprogrammatūras bibliotēka, X-CUBE-MEMS1, MotionEC ir starpprogrammatūras bibliotēka, starpprogrammatūras bibliotēka, bibliotēka

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *