ST X - logoUM2225
Manwal għall-utent

Nibdew bil-librerija MotionEC E-Compass f'ħin reali fl-espansjoni X-CUBE-MEMS1 għal STM32Cube

Introduzzjoni

Il-MotionEC huwa komponent tal-librerija tal-middleware tas-softwer X-CUBE-MEMS1 u jaħdem fuq STM3z2. Jipprovdi informazzjoni f'ħin reali dwar l-orjentazzjoni tal-apparat u l-istatus tal-moviment ibbażat fuq data minn apparat.
Jipprovdi l-outputs li ġejjin: orjentazzjoni tal-apparat (quaternions, angoli Euler), rotazzjoni tal-apparat (funzjonalità tal-ġiroskopju virtwali), vettur tal-gravità u aċċelerazzjoni lineari.
Din il-librerija hija maħsuba biex taħdem ma' ST MEMS biss.
L-algoritmu huwa pprovdut f'format ta' librerija statika u huwa ddisinjat biex jintuża fuq mikrokontrolluri STM32 ibbażati fuq ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 u ARM® Arkitetturi Cortex®-M7.
Huwa mibni fuq it-teknoloġija tas-softwer STM32Cube biex itaffi l-portabbiltà fuq mikrokontrolluri STM32 differenti.
Is-softwer jiġi ma 'sample implimentazzjoni taħdem fuq X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1or X-NUCLEO-IKS02A1 bord ta 'espansjoni fuq bord ta' żvilupp NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE jew NUCLEO-L073RZ.

Akronimi u abbrevjazzjonijiet

Tabella 1. Lista ta' akronimi

Akronimu Deskrizzjoni
API Interfaċċja tal-ipprogrammar tal-applikazzjoni
BSP Pakkett ta' appoġġ tal-Bord
GUI Interfaċċja grafika għall-utent
HAL Saff ta' astrazzjoni tal-ħardwer
IDE Ambjent ta 'żvilupp integrat

Librerija tal-middleware MotionEC fl-espansjoni tas-softwer X-CUBE-MEMS1 għal STM32Cube

2.1 MozzjoniEC spiċċatview
Il-librerija MotionEC tespandi l-funzjonalità tas-softwer X-CUBE-MEMS1.
Il-librerija takkwista data mill-aċċellerometru u l-manjetometru u tipprovdi informazzjoni dwar l-orjentazzjoni tal-apparat u l-istatus tal-moviment ibbażat fuq data minn apparat.
Il-librerija hija mfassla għal ST MEMS biss. Il-funzjonalità u l-prestazzjoni meta jintużaw sensuri MEMS oħra mhumiex analizzati u jistgħu jkunu differenti b'mod sinifikanti minn dak deskritt fid-dokument.
A sampl-implimentazzjoni tal-le hija disponibbli fuq X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 u X-NUCLEO-IKS02A1 bord ta 'espansjoni, immuntat fuq NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE jew NUCLEO-L073R developmentboard.
2.2 Librerija MotionEC
Informazzjoni teknika li tiddeskrivi bis-sħiħ il-funzjonijiet u l-parametri tal-APIs ta' MotionEC tista' tinstab fl-HTML miġbur ta' MotionEC_Package.chm. file jinsab fil-folder tad-Dokumentazzjoni.

2.2.1 Deskrizzjoni tal-librerija MotionEC
Il-librerija MotionEC E-Compass timmaniġġja d-dejta miksuba mill-aċċellerometru u l-manjetometru; fiha:

  • orjentazzjoni tal-apparat (quaternions, angoli Euler), rotazzjoni tal-apparat (funzjonalità tal-ġiroskopju virtwali), vettur tal-gravità u outputs ta' aċċelerazzjoni lineari
  • funzjonalità bbażata fuq id-dejta tal-aċċelerometru u tal-manjetometru biss
  • data meħtieġa aċċelerometru u manjetometru sampfrekwenza tal-ling sa 100 Hz
  • rekwiżiti tar-riżorsi:
    – Cortex-M0+: 3.7 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
    – Cortex-M3: 3.8 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
    – Cortex-M33: 2.8 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
    – Cortex-M4: 2.9 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
    – Cortex-M7: 2.8 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
  • disponibbli għall-arkitetturi ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 u Cortex M7

2.2.2 MotionEC APIs
Il-MotionEC APIs huma:

  • uint8_t MotionEC_GetLibVersion(char *verżjoni)
    – jirkupra l-verżjoni tal-librerija
    – * Il-verżjoni hija indikatur għal firxa ta' 35 karattru
    – jirritorna n-numru ta’ karattri fis-sekwenza tal-verżjoni
    • void MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
    – iwettaq l-inizjalizzazzjoni tal-librerija MotionEC u s-setup tal-mekkaniżmu intern.
    – mcu_type huwa t-tip ta' MCU:
    ◦ MFX_CM0P_MCU_STM32 huwa MCU standard STM32
    ◦ MFX_CM0P_MCU_BLUE_NRG1 huwa BlueNRG-1
    ◦ MFX_CM0P_MCU_BLUE_NRG2 huwa BlueNRG-2
    ◦ MFX_CM0P_MCU_BLUE_NRG_LP huwa BlueNRG -LP
    – frekwenza hija s-sensor sampfrekwenza tal-ling [Hz]

Nota: Din il-funzjoni trid tissejjaħ qabel ma tuża l-librerija E-Compass u l-modulu CRC fil-mikrokontrollur STM32 (fir-reġistru tal-abilitazzjoni tal-arloġġ periferali RCC) irid jiġi attivat qabel ma tuża l-librerija

  • void MotionEC_SetFrequency(frekwenzi float)
    – jistabbilixxi l-sampfrekwenza tal-ling (li timmodifika l-parametri tal-filtrazzjoni)
    – frekwenza hija s-sensor sampfrekwenza tal-ling [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    – iħaddem l-algoritmu E-Compass (fużjoni tad-dejta tal-aċċelerometru u tal-manjetometru)
    – *data_in huwa pointer għal struttura b'data input
    – il-parametri għall-istruttura tat-tip MEC_input_t huma:
    ◦ acc[3] hija firxa ta' dejta tal-aċċellerometru fil-konvenzjoni ENU, imkejla f'g
    ◦ mag[3] hija firxa ta' dejta kalibrata tal-manjetometri fil-konvenzjoni ENU, imkejla f'μT/50
    ◦ deltatime s huwa l-ħin delta (jiġifieri, dewmien ta’ ħin bejn sett ta’ data l-antik u ġdid) imkejjel f’s
    – *data_out huwa pointer għal struttura b'data tal-ħruġ
    – il-parametri għall-istruttura tat-tip MEC_output_t huma:
    ◦ quaternion[4] huwa firxa li fiha kwaternjoni fil-konvenzjoni ENU, li tirrappreżenta l-orjentazzjoni 3Dangular tal-apparat fl-ispazju; ordni tal-elementi hija: X, Y, Z, W, bl-element W dejjem pożittiv
    ◦ euler[3] hija firxa ta 'angoli ta' Euler fil-konvenzjoni ENU, li tirrappreżenta l-orjentazzjoni 3D-angolari tal-apparat fl-ispazju; l-ordni tal-elementi hija: yaw, pitch, roll, imkejla fi grad
    ◦ i_gyro[3] hija firxa ta' rati angolari fil-konvenzjoni ENU, li tirrappreżenta sensur tal-ġiroskopju virtwali, imkejjel f'dps
    ◦ gravità[3] hija firxa ta' aċċelerazzjonijiet fil-konvenzjoni ENU, li tirrappreżenta l-vettur tal-gravità, imkejjel f'g
    ◦ lineari[3] hija firxa ta' aċċelerazzjonijiet fil-konvenzjoni ENU, li tirrappreżenta l-aċċelerazzjoni lineari tal-apparat, imkejla f'g
    ST X CUBE MEMS1 MotionEC hija Librerija Middleware-
  • void MotionEC_GetOrientationEnable(MEC_state_t *state)
    – jikseb l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-angolu ta' Euler
    – *state huwa pointer għall-istat attwali ta 'attivazzjoni/diżattivazzjoni
  • void MotionEC_SetOrientationEnable(MEC_state_t stat)
    – tissettja l-istat ta' attivazzjoni/diżattivazzjoni tal-kalkolu tal-angolu ta' Euler
    – l-istat huwa l-istat ġdid ta' abilitazzjoni/diżattivazzjoni li għandu jiġi stabbilit
  •  void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
    – jikseb l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-ġiroskopju virtwali
    – *state huwa pointer għall-istat attwali ta 'attivazzjoni/diżattivazzjoni
  • void MotionEC_SetVirtualGyroEnable(MEC_state_t state)
    – tissettja l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-ġiroskopju virtwali
    – l-istat huwa l-istat ġdid ta' abilitazzjoni/diżattivazzjoni li għandu jiġi stabbilit
  • void MotionEC_GetGravityEnable(MEC_state_t *state)
    – jikseb l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-vettur tal-gravità
    – *state huwa pointer għall-istat attwali ta 'attivazzjoni/diżattivazzjoni
  • void MotionEC_SetGravityEnable(MEC_state_t stat)
    – jistabbilixxi l-istat ta' attivazzjoni/diżattivazzjoni tal-kalkolu tal-vettur tal-gravità
    – l-istat huwa l-istat ġdid ta' abilitazzjoni/diżattivazzjoni li għandu jiġi stabbilit
  • void MotionEC_GetLinearAccEnable(MEC_state_t *state)
    – jikseb l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-aċċelerazzjoni lineari
    – *state huwa pointer għall-istat attwali ta 'attivazzjoni/diżattivazzjoni
  • void MotionEC_SetLinearAccEnable(MEC_state_t stat)
    – tissettja l-istat ta' attivazzjoni/diżattivazzjoni tal-kalkolu tal-aċċelerazzjoni lineari
    – l-istat huwa l-istat ġdid ta' abilitazzjoni/diżattivazzjoni li għandu jiġi stabbilit

2.2.3 Tabella tal-fluss tal-API

ST X CUBE MEMS1 MotionEC hija sekwenza tal-Librerija tal-Middleware

2.2.4 Kodiċi Demo
Il-kodiċi tad-dimostrazzjoni li ġej jaqra dejta mis-sensuri tal-aċċellerometru u tal-manjetometri u jikseb id-dejta tal-ECopass (jiġifieri, kwaternjoni, angoli ta' Euler, eċċ.).

ST X CUBE MEMS1 MotionEC huwa Middleware Library- Kodiċi DemoST X CUBE MEMS1 MotionEC huwa Middleware Library- Demo code1

2.2.5 Prestazzjoni tal-algoritmu
L-algoritmu E-Compass juża data mill-aċċellerometru u l-manjetometru biss. Hija taħdem bi frekwenza baxxa (sa 100 Hz) biex tnaqqas il-konsum tal-enerġija.

ST X CUBE MEMS1 MotionEC hija Middleware Library- Data Injection1

Sample applikazzjoni

Il-middleware MotionEC jista 'jiġi manipulat faċilment biex jinbnew applikazzjonijiet tal-utent; kifampl-applikazzjoni hija pprovduta fil-folder tal-Applikazzjoni.
Hija ddisinjata biex taħdem fuq bord ta 'żvilupp NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE jew NUCLEO-L073RZ imqabbad ma' X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1or X-NUCLEO-IKS02A1board ta 'espansjoni.

ST X CUBE MEMS1 MotionEC huwa Middleware Library-adapter

L-applikazzjoni tirrikonoxxi l-orjentazzjoni u r-rotazzjoni tal-apparat f'ħin reali. Id-dejta tista’ tintwera permezz ta’ GUI.
L-algoritmu jipprovdi l-outputs li ġejjin: orjentazzjoni tal-apparat (quaternions, angoli Euler), rotazzjoni tal-apparat (funzjonalità tal-ġiroskopju virtwali), vettur tal-gravità u aċċelerazzjoni lineari.
3.1 Applikazzjoni MEMS-Studio
Is-sampl-applikazzjoni tuża l-applikazzjoni MEMS-Studio, li tista 'titniżżel minn www.st.com.
Pass 1. Kun żgur li s-sewwieqa meħtieġa huma installati u l-bord STM32 Nucleo b'bord ta 'espansjoni xieraq huwa konness mal-PC.
Pass 2. Niedi l-applikazzjoni MEMS-Studio biex tiftaħ it-tieqa ewlenija tal-applikazzjoni.
Jekk bord STM32 Nucleo b'firmware appoġġjat ikun imqabbad mal-PC, il-port COM xieraq jiġi skopert awtomatikament. Agħfas il-buttuna [Ikkonnettja] biex tistabbilixxi konnessjoni mal-bord tal-evalwazzjoni.

ST X CUBE MEMS1 MotionEC hija Middleware Library- Connect

Pass 3. Meta tkun imqabbda ma 'bord STM32 Nucleo b'firmware appoġġjat, tinfetaħ it-tab [Evalwazzjoni tal-Librerija].
Biex tibda u twaqqaf l-istrimjar tad-dejta, aqleb il-[Bidu] xierqa ST X CUBE MEMS1 MotionEC hija ikona tal-Librerija tal-Middleware jew [Waqqaf] ST X CUBE MEMS1 MotionEC hija Librerija tal-Middleware-ikona1 buttuna fuq il-bar tal-għodda vertikali ta 'barra.
Id-dejta li ġejja mis-sensor konness tista 'tkun viewed tagħżel it-tab [Tabella tad-Data] fuq il-bar tal-għodda vertikali ta 'ġewwa.

ST X CUBE MEMS1 MotionEC hija Tabella tad-Dejta-Librerija tal-Middleware

Pass 4. Ikklikkja fuq [E-Compass] biex tiftaħ il-paġna ddedikata għal din il-librerija.

ST X CUBE MEMS1 MotionEC hija Librerija Middleware-Boxla

Il-figura ta 'hawn fuq turi mudell STM32 Nucleo grafiku. L-orjentazzjoni u r-rotazzjoni tal-mudell huma bbażati fuq id-dejta tal-E-Compass (quaternions) ikkalkulata mill-algoritmu.
Biex tallinja l-moviment reali tal-apparat mal-mudell grafiku, ippunta l-apparat lejn l-iskrin u imbotta l-[Reset model].
Il-valur tal-intestatura jirrappreżenta l-intestatura tal-apparat reali.
Li tipponta l-apparat dritt 'il fuq jew 'l isfel (tul l-assi 'l fuq tal-qafas ta' referenza ENU, b'tolleranza ta '±5 gradi) jagħti valur N/A għall-intestatura: mhuwiex possibbli li ssir distinzjoni lejn liema punt kardinali qed jipponta l-apparat.
Il-valur ta 'tjubija jagħti 0 sa 3 valuri u huwa relatat mal-kalibrazzjoni tal-manjetometru: iktar ma jkun għoli l-valur, aħjar ir-riżultati tal-algoritmu tad-dejta E-Compass.
Pass 5. Ikklikkja fuq [Save to File] biex tiftaħ it-tieqa tal-konfigurazzjoni tad-datalogging. Agħżel is-sensor u d-data E-Compass li għandhom jiġu ssejvjati fil- file. Tista' tibda jew tieqaf tiffranka billi tikklikkja fuq il-buttuna korrispondenti.

ST X CUBE MEMS1 MotionEC hija Librerija tal-Middleware - Save to File

Pass 6. Il-modalità ta 'Injezzjoni tad-Data tista' tintuża biex tibgħat id-dejta akkwistata qabel lil-librerija u tirċievi r-riżultat. Agħżel it-tab [Injezzjoni tad-Data] fuq il-bar tal-għodda vertikali biex tiftaħ id-dedikata view għal din il-funzjonalità.

ST X CUBE MEMS1 MotionEC hija Middleware Library- Injezzjoni tad-Data

Pass 7. Ikklikkja fuq il-buttuna [Ibbrawżja] biex tagħżel il- file bid-dejta maqbuda qabel fil-format CSV.
Id-dejta se titgħabba fit-tabella fil-kurrent view.
Buttuni oħra se jsiru attivi. Tista' tikklikkja fuq:
– Buttuna [Modalità Offline] biex taqleb/itfi l-modalità tal-firmware offline (modalità li tuża d-dejta maqbuda qabel).
– Buttuni [Start]/[Stop]/[Pass]/[Irrepeti] biex jikkontrollaw l-għalf tad-dejta minn MEMS-Studio għal-librerija.

Referenzi

Ir-riżorsi kollha li ġejjin huma disponibbli b'xejn fuq www.st.com.

  1. UM1859: Nibdew bl-MEMS tal-moviment X-CUBE-MEMS1 u espansjoni tas-softwer tas-sensuri ambjentali għal STM32Cube
  2.  UM1724: Bordijiet STM32 Nucleo-64 (MB1136)
  3. UM3233: Nibdew b'MEMS-Studio

Storja tar-reviżjoni

Tabella 4. Storja tar-reviżjoni tad-dokument

Data Verżjoni Bidliet
18-Mejju-17 1 Rilaxx inizjali.
25-Jan-18 2 Miżjuda referenzi għall-bord ta 'żvilupp NUCLEO-L152RE u t-Tabella 2.
Algoritmu tal-ħin li għadda (μs).
21-Mar-18 3 Introduzzjoni Aġġornata u Taqsima 2.1 MozzjoniEC fuqview.
26-Nov-18 4 Tabella Miżjuda 3. Cortex -M0+: algoritmu tal-ħin li għadda (µs). Miżjuda referenzi għal ARM®
Cortex® - Bord ta 'żvilupp M0+ u NUCLEO-L073RZ.
19-Frar-19 5 Figura Aġġornata 1. Qafas ta' referenza ENU, Tabella 2. Cortex -M4 u Cortex-M3: algoritmu tal-ħin li għadda (µs), Tabella 3.
Cortex -M0+: algoritmu tal-ħin li għadda (µs), Figura 3. Adapter tal-bord tal-espansjoni tas-sensuri konness mal-STM32
Nucleo, Figura 4. Tieqa ewlenija ta’ Unicleo, Figura 5. Tab tal-Messaġġi tal-Utenti, Figura 6. Tieqa tal-E-Compass u Figura 7. Tieqa tad-Datalog. Miżjud informazzjoni ta 'kompatibilità tal-bord ta' espansjoni X-NUCLEO-IKS01A3.
25-Mar-20 6 Introduzzjoni Aġġornata, Taqsima 2.2.1: Deskrizzjoni tal-librerija MotionEC u Taqsima 2.2.5: Prestazzjoni tal-algoritmu.
Miżjud informazzjoni dwar il-kompatibilità tal-arkitettura ARM Cortex-M7.
17-Sep-24 7 Taqsima Aġġornata Introduzzjoni,
Taqsima 2.1: MozzjoniEC intemmview,
Taqsima 2.2.1: Librerija MotionEC
deskrizzjoni, Taqsima 2.2.2: MozzjoniEC
APIs, Taqsima 2.2.5: Algoritmu
prestazzjoni, Taqsima 3: Sample
applikazzjoni, Taqsima 3.1: Applikazzjoni MEMS-Studio

AVVIŻ IMPORTANTI - AQRA B'attenzjoni
STMicroelectronics NV u s-sussidjarji tagħha (“ST”) jirriżervaw id-dritt li jagħmlu bidliet, korrezzjonijiet, titjib, modifiki, u titjib għall-prodotti ST u/jew għal dan id-dokument fi kwalunkwe ħin mingħajr avviż. Ix-xerrejja għandhom jiksbu l-aħħar informazzjoni rilevanti dwar il-prodotti ST qabel ma jagħmlu ordnijiet. Il-prodotti ST jinbiegħu skont it-termini u l-kundizzjonijiet tal-bejgħ ta' ST fis-seħħ fil-ħin tar-rikonoxximent tal-ordni.
Ix-xerrejja huma unikament responsabbli għall-għażla, l-għażla u l-użu tal-prodotti ST u ST ma jassumi l-ebda responsabbiltà għall-assistenza tal-applikazzjoni jew id-disinn tal-prodotti tax-xerrejja.
L-ebda liċenzja, espressa jew impliċita, għal xi dritt ta' proprjetà intellettwali ma tingħata minn ST hawnhekk.
Il-bejgħ mill-ġdid ta' prodotti ST b'dispożizzjonijiet differenti mill-informazzjoni stipulata hawnhekk għandu jħassar kwalunkwe garanzija mogħtija minn ST għal tali prodott.
ST u l-logo ST huma trademarks ta' ST. Għal informazzjoni addizzjonali dwar it-trademarks ST, irreferi għal www.st.com/trademarks. L-ismijiet l-oħra kollha tal-prodott jew tas-servizz huma proprjetà tas-sidien rispettivi tagħhom.
L-informazzjoni f'dan id-dokument tieħu post u tissostitwixxi l-informazzjoni pprovduta qabel fi kwalunkwe verżjoni preċedenti ta' dan id-dokument.

© 2024 STMicroelectronics – Id-drittijiet kollha riżervati

Dokumenti / Riżorsi

ST X-CUBE-MEMS1 MotionEC hija Librerija Middleware [pdfManwal tas-Sid
X-CUBE-MEMS1 MotionEC hija Librerija Middleware, X-CUBE-MEMS1, MotionEC hija Librerija Middleware, Librerija Middleware, Librerija

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *