ST X - logoUM2225
Fa'aoga tusi lesona

Amata ile faletusi E-Compass ole MotionEC ile X-CUBE-MEMS1 faʻalauteleina mo STM32Cube

Folasaga

O le MotionEC o se vaega faletusi middleware o le polokalama X-CUBE-MEMS1 ma fa'aoga ile STM3z2. E tuʻuina atu faʻamatalaga moni e uiga i le faʻaogaina o le masini ma le tulaga o gaioiga e faʻavae i luga o faʻamaumauga mai se masini.
O lo'o tu'uina atu ai galuega fa'atino nei: fa'atonuga o masini (quaternions, Euler angles), suiga o masini (virtual gyroscope functionality), kalaveveveta ma laina fa'avavevave.
O lenei faletusi ua faamoemoe e galulue faatasi ma ST MEMS.
O loʻo tuʻuina atu le algorithm i le faʻasologa o faletusi ma ua mamanuina e faʻaoga i luga ole STM32 microcontrollers faʻavae ile ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 ma ARM® Cortex®-M7 fausaga.
O lo'o fausia i luga ole STM32Cube software technology e fa'afaigofie ai le feavea'i ile tele ole STM32 microcontrollers.
O le polokalama e sau ma le sample faʻatinoga o loʻo faʻaogaina i luga ole X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 poʻo X-NUCLEO-IKS02A1 faʻalauteleina laupapa i luga ole NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE poʻo le NUCLEO-L073RZ laupapa atinaʻe.

Acronyms ma faapuupuuga

Laulau 1. Lisi o acronyms

Acronym Fa'amatalaga
API Fa'aoga polokalame fa'aoga
BSP Fonotaga lagolago a le Komiti
GUI Ata fa'aoga fa'aoga
HAL Fa'apipi'i mea faigaluega
IDE Siosiomaga atina'e tu'ufa'atasi

MotionEC middleware faletusi i le X-CUBE-MEMS1 faʻalauteleina polokalame mo STM32Cube

2.1 Ua mae'a le lafoview
O le faletusi o le MotionEC e faʻalauteleina le faʻaogaina o le polokalama X-CUBE-MEMS1.
E maua e le faletusi faʻamatalaga mai le accelerometer ma le magnetometer ma tuʻuina atu faʻamatalaga e uiga i le faʻaogaina o le masini ma le tulaga o gaioiga e faʻavae i luga o faʻamaumauga mai se masini.
Ua mamanuina le faletusi mo ST MEMS. O le fa'atinoga ma le fa'atinoga pe a fa'aogaina isi masini MEMS e le'o su'esu'eina ma e mafai ona matua'i ese mai mea o lo'o fa'amatalaina i totonu o le pepa.
A sample faʻatinoga o loʻo avanoa ile X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 ma le X-NUCLEO-IKS02A1 faʻalauteleina laupapa, faʻapipiʻi i luga ole NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE poʻo le NUCLEO-L073 laupapa atinaʻe.
2.2 Faletusi o le MotionEC
O fa'amatalaga fa'atekinisi e fa'amatala atoatoa ai galuega ma ta'iala o MotionEC API e mafai ona maua i le MotionEC_Package.chm fa'aputuina HTML file o lo'o i totonu o le Fa'ailoga Fa'amaumauga.

2.2.1 Fa'amatalaga faletusi o le MotionEC
O le faletusi o le MotionEC E-Compass e fa'atautaia fa'amaumauga na maua mai le fa'avavevave ma le maneta; e iai:

  • fa'atonuga o masini (quaternions, Euler angles), fesuia'i masini (virtual gyroscope functionality), kalaveveve ma laina fa'avavevave galuega.
  • fa'atinoga fa'avae i luga ole fa'amatalaga accelerometer ma magnetometer na'o
  • mana'omia accelerometer ma magnetometer data sampfa'aoso fa'alogo e o'o atu ile 100Hz
  • punaoa mana'omia:
    - Cortex-M0+: 3.7 kB o le code ma le 0.1 kB o faʻamaumauga faʻamaumauga
    - Cortex-M3: 3.8 kB o le code ma le 0.1 kB o faʻamaumauga faʻamaumauga
    - Cortex-M33: 2.8 kB o le code ma le 0.1 kB o faʻamaumauga faʻamaumauga
    - Cortex-M4: 2.9 kB o le code ma le 0.1 kB o faʻamaumauga faʻamaumauga
    - Cortex-M7: 2.8 kB o le code ma le 0.1 kB o faʻamaumauga faʻamaumauga
  • avanoa mo ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 ma Cortex M7 fausaga

2.2.2 MotionEC APIs
O le MotionEC API o:

  • uint8_t MotionEC_GetLibVersion(char *version)
    – toe aumai le lomiga o le faletusi
    - *o le fa'aliliuga o se fa'asino ile fa'asologa o mataitusi e 35
    – toe faafoi le numera o mataitusi i le manoa faʻasologa
    • fa'aleaogaina le MotionEC_Initialize(MEC_mcu_type_t mcu_type, opeopea soo)
    – fa'atino le amataga o le faletusi a le MotionEC ma le fa'atulagaina o le masini i totonu.
    - mcu_type o le ituaiga MCU:
    ◦ MFX_CM0P_MCU_STM32 o se tulaga masani STM32 MCU
    ◦ MFX_CM0P_MCU_BLUE_NRG1 o le BlueNRG-1
    ◦ MFX_CM0P_MCU_BLUE_NRG2 o le BlueNRG-2
    ◦ MFX_CM0P_MCU_BLUE_NRG_LP o le BlueNRG -LP
    – freq o le sensor sampfa'alogoga [Hz]

Fa'aaliga: O lenei galuega e tatau ona valaʻau aʻo leʻi faʻaogaina le E-Compass library ma le CRC module i le STM32 microcontroller (i le RCC peripheral clock enable register) e tatau ona faʻaogaina aʻo leʻi faʻaogaina le faletusi

  • fa'aleaogaina MotionEC_SetFrequency(fa'opeope fa'alava)
    – seti le sampling frequency (suia le filiga tapula'a)
    – freq o le sensor sampfa'alogoga [Hz] • fa'aleaogaina MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    - fa'atautaia le E-Compass algorithm (accelerometer ma magnetometer data fusion)
    - *data_in o se faʻasino i se fausaga faʻatasi ai ma faʻamatalaga faʻamatalaga
    - o tapula'a mo le ituaiga fausaga MEC_input_t o:
    ◦ acc[3] o se fa'asologa o fa'amatalaga fa'avavevave i le tauaofiaga a le ENU, fuaina i le g
    ◦ mag[3] o se fa'asologa o fa'amatalaga fa'avasegaina o le magnetometer i le tauaofiaga a le ENU, fuaina i le μT/50
    ◦ deltatime s o le delta time (fa'ata'ita'iga, taimi tuai i le va o fa'amaumauga tuai ma fa'amaumauga fou) fuaina i le s
    - *data_out o se faasinoala i se fausaga ma faʻamaumauga o mea e gaosia
    - o tapula'a mo le ituaiga fausaga MEC_output_t o:
    ◦ quaternion[4] o loʻo i ai le quaternion i totonu o le ENU convention, e fai ma sui o le 3Dangular orientation o le masini i le avanoa; fa'asologa o elemene o le: X, Y, Z, W, fa'atasi ai ma elemene lelei W
    ◦ euler [3] o se faʻasologa o Euler angles i le ENU convention, e fai ma sui o le 3D-angular orientation o le masini i le avanoa; o le faasologa o elemene o le: yaw, pitch, roll, fuaina i le deg
    ◦ i_gyro[3] o se fa'asologa o fua fa'atatau i le tauaofiaga a le ENU, e fai ma sui o se masini gyroscope virtual, fua i le dps
    ◦ kalave[3] o se fa'asologa o fa'avavevave i le tauaofiaga a le ENU, e fai ma sui o le kalave, fuaina i le g.
    ◦ laina [3] o se faʻasologa o faʻavavevave i totonu o le ENU convention, e fai ma sui o le masini laina faʻavavevave, fuaina i le g
    ST X CUBE MEMS1 MotionEC ose Middleware Library-
  • fa'aleaogaina le MotionEC_GetOrientationEnable(MEC_state_t *setete)
    - maua le tulaga mafai / faʻagata o le faʻatusatusaga o le tulimanu Euler
    - *setete o se faasinoala i le tulaga o iai nei e mafai/fa'aletonu
  • fa'aleaogaina le MotionEC_SetOrientationEnable(MEC_state_t state)
    - faʻatulagaina le tulaga mafai / faʻamalo o le faʻatusatusaga o le tulimanu Euler
    - setete o le tulaga fou e mafai / faʻamalo e faʻatutu
  •  fa'aleaogaina le MotionEC_GetVirtualGyroEnable(MEC_state_t *setete)
    - maua le tulaga mafai / faʻaletonu o le faʻatusatusaga o le gyroscope virtual
    - *setete o se faasinoala i le tulaga o iai nei e mafai/fa'aletonu
  • fa'aleaogaina le MotionEC_SetVirtualGyroEnable(MEC_state_t state)
    - faʻatulagaina le tulaga mafai / faʻamalo o le faʻatusatusaga o le gyroscope virtual
    - setete o le tulaga fou e mafai / faʻamalo e faʻatutu
  • fa'aleaogaina le MotionEC_GetGravityEnable(MEC_state_t *setete)
    – maua le tulaga mafai/fa'aletonu o le fua fa'atatau o le kalave
    - *setete o se faasinoala i le tulaga o iai nei e mafai/fa'aletonu
  • fa'aleaogaina le MotionEC_SetGravityEnable(MEC_state_t state)
    – fa'atulaga le tulaga fa'aagaioia/fa'aletonu o le fa'atatauga o vete kalave
    - setete o le tulaga fou e mafai / faʻamalo e faʻatutu
  • fa'aleaogaina le MotionEC_GetLinearAccEnable(MEC_state_t *setete)
    - maua le tulaga mafai / faʻamalo o le faʻasologa o le saoasaoa o laina
    - *setete o se faasinoala i le tulaga o iai nei e mafai/fa'aletonu
  • fa'aleaogaina le MotionEC_SetLinearAccEnable(MEC_state_t state)
    – fa'atulaga le tulaga fa'aagaioia/fa'aletonu o le fa'asologa o le fa'avavevave laina
    - setete o le tulaga fou e mafai / faʻamalo e faʻatutu

2.2.3 API fa'asolo siata

ST X CUBE MEMS1 MotionEC ose Middleware Library-sequence

2.2.4 Fa'ailoga Fa'ailoga
Ole fa'ata'ita'iga o lo'o mulimuli mai e faitau fa'amatalaga mai le fa'avavevave ma le magnetometer ma maua ai fa'amaumauga a le ECompass (fa'atusa, quaternion, Euler angles, etc.).

ST X CUBE MEMS1 MotionEC o se Middleware Library- Fa'ailoga fa'ailogaST X CUBE MEMS1 MotionEC o se Faletusi Middleware- Fa'ailoga code1

2.2.5 Algorithm faatinoga
O le E-Compass algorithm e fa'aaogaina fa'amaumauga mai le fa'avavevave ma le maneta. E tamo'e i se taimi maualalo (e o'o i le 100 Hz) e fa'aitiitia ai le fa'aogaina o le eletise.

ST X CUBE MEMS1 MotionEC o se Middleware Library- Fa'amatalaga Injection1

Sample talosaga

O le MotionEC middleware e mafai ona faigofie ona faʻaogaina e fausia ai talosaga a tagata faʻaoga; peiample talosaga o loʻo tuʻuina atu i le Application folder.
Ua mamanuina e tamoʻe i luga ole NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE poʻo le NUCLEO-L073RZ atinaʻe laupapa e fesoʻotaʻi ma le X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1poʻo le X-NUCLEO02expansion1A.

ST X CUBE MEMS1 MotionEC o se Middleware Library- adapter

O le talosaga e iloa ai le faʻaogaina o le masini ma le suiga i le taimi moni. O faʻamatalaga e mafai ona faʻaalia e ala ile GUI.
O le algorithm o loʻo tuʻuina atu ai mea nei: faʻaogaina o masini (quaternions, Euler angles), suiga o masini (virtual gyroscope functionality), kalaveveveta ma laina faʻavavevave.
3.1 MEMS-Studio talosaga
O le sampLe talosaga e faʻaaogaina le MEMS-Studio application, lea e mafai ona sii mai www.st.com.
Laasaga 1. Ia mautinoa o loʻo faʻapipiʻiina avetaavale manaʻomia ma le STM32 Nucleo laupapa faʻatasi ai ma le laupapa faʻalautele talafeagai e fesoʻotaʻi i le PC.
Laasaga 2. Tatala le talosaga MEMS-Studio e tatala ai le faamalama autu o talosaga.
Afai o se STM32 Nucleo laupapa ma firmware lagolago e fesoʻotaʻi atu i le PC, o le COM port talafeagai e otometi lava ona iloa. Oomi le [Connect] faamau e fa'amauina ai le so'oga i le laupapa su'esu'e.

ST X CUBE MEMS1 MotionEC o se Faletusi Middleware- Fesoʻotaʻi

Laasaga 3. Pe a fa'afeso'ota'i i le STM32 Nucleo laupapa fa'atasi ai ma firmware lagolago [Su'esu'ega o Faletusi] e tatalaina.
Ina ia amata ma taofi le tafeina o faʻamatalaga, kili le [Amata] talafeagai ST X CUBE MEMS1 MotionEC o se Middleware Library- icon pe [Taofi] ST X CUBE MEMS1 MotionEC o se Middleware Library- icon1 fa'amau i luga o le pito i fafo o mea faigaluega pa.
O faʻamatalaga e sau mai le masini fesoʻotaʻi e mafai ona viewed i le filifilia o le [Fuafa'amatalaga Fa'amatalaga] fa'amau i luga o le pito i totonu o le mea faigaluega tu'usa'o.

ST X CUBE MEMS1 MotionEC o se Middleware Library- Data Table

Laasaga 4. Kiliki i le [E-Compass] e tatala ai le itulau tuuto mo lenei faletusi.

ST X CUBE MEMS1 MotionEC o se Middleware Library- Tapasa

O le ata o loʻo i luga o loʻo faʻaalia ai se STM32 Nucleo faʻataʻitaʻiga ata. O le faʻataʻitaʻiga faʻataʻitaʻiga ma le suiga e faʻavae i luga o faʻamaumauga E-Compass (quaternions) fuafuaina e le algorithm.
Ina ia faʻaogaina le gaioiga moni o le masini ma le ata faʻataʻitaʻi, faʻasino le masini i le lau ma tulei le [Reset model].
O le tau o le ulutala e fa'atusalia ai le ulutala masini moni.
O le fa'asino sa'o o le masini i luga po'o lalo (i luga o le pito i luga o le fa'asinomaga ENU, ma le ± 5 tikeri fa'apalepale) e maua ai le N/A tau mo le ulutala: e le mafai ona iloa po'o fea le mata'itusi o lo'o fa'asino i ai le masini.
O le tauleleia lelei e maua ai le 0 i le 3 tau ma e fesoʻotaʻi ma le faʻavasegaina o le magnetometer: o le maualuga o le tau, o le sili atu lea o taunuuga o le E-Compass data algorithm.
Laasaga 5. Kiliki i luga [Save to File] e tatala ai le faʻamalama faʻasologa o faʻamaumauga. Filifili le fa'amatalaga ma fa'amaumauga E-Tausausa e teu i le file. E mafai ona e amata pe taofi sefe i le kiliki i luga o le ki fetaui.

ST X CUBE MEMS1 MotionEC o se Faletusi Middleware- Sefe i File

Laasaga 6. E mafai ona fa'aogaina le fa'aogaina o fa'amaumauga e tu'uina atu ai fa'amatalaga na maua muamua i le faletusi ma maua ai le taunu'uga. Filifili le [Data Injection] tab i luga o le pa o meafaigaluega e tatala ai le tuuto view mo lenei galuega.

ST X CUBE MEMS1 MotionEC o se Faletusi Middleware- Faʻamatalaga Faʻamatalaga

Laasaga 7. Kiliki i le [Browse] button e filifili ai le file fa'atasi ai ma fa'amaumauga na pu'eina muamua ile CSV fa'atulagaina.
O faʻamatalaga o le a faʻapipiʻiina i le laulau i le taimi nei view.
O isi faamau o le a ola. E mafai ona e kiliki i luga:
- [Offline Mode] button e sui ai le firmware offline mode on/off (mode e faʻaaoga ai faʻamatalaga na puʻeina muamua).
– [Amata]/[Taofi]/[Laasaga]/[Toe] faamau e pulea ai le fafaga o faamatalaga mai le MEMS-Studio i le faletusi.

Fa'asinomaga

O punaoa uma nei e maua fua ile www.st.com.

  1. UM1859: Amataina i le X-CUBE-MEMS1 motion MEMS ma le faʻalauteleina o masini komepiuta mo le STM32Cube
  2.  UM1724: STM32 Nucleo-64 laupapa (MB1136)
  3. UM3233: Amata ile MEMS-Studio

Toe iloilo tala'aga

Laulau 4. Tala'aga o le toe iloiloga o pepa

Aso Fa'aliliuga Suiga
18-Me-17 1 Fa'asalalauga muamua.
25-Ian-18 2 Fa'aopoopo fa'amatalaga ile NUCLEO-L152RE komiti fa'atupuina ma le Laulau 2.
Taimi ua mavae (μs) algorithm.
21-Mat-18 3 Fa'afou Fa'atomuaga ma le Vaega 2.1 Ua mae'a le lafoview.
26-Nov-18 4 Fa'aopoopoina Laulau 3. Cortex -M0+: taimi ua mavae (µs) algorithm. Faʻaopoopo faʻamatalaga ile ARM®
Cortex® - M0 + ma le NUCLEO-L073RZ komiti atinaʻe.
19-Feb-19 5 Fa'afouina Ata 1. ENU fa'asinomaga, Laulau 2. Cortex -M4 ma Cortex-M3: taimi ua mavae (µs) algorithm, Laulau 3.
Cortex -M0+: taimi ua mavae (µs) algorithm, Ata 3. Fa'afeso'ota'i laupapa fa'alautele masini e feso'ota'i ma le STM32
Nucleo, Ata 4. Fa'amalama autu o Unicleo, Ata 5. Fa'amatalaga Fa'amatalaga a Tagata Fa'aoga, Ata 6. Fa'amalama E-Tausava ma Ata 7. Fa'amatalaga Fa'amatalaga. Faʻaopoopo le X-NUCLEO-IKS01A3 faʻamatalaga fesoʻotaʻiga laupapa faʻalautele.
25-Mat-20 6 Fa'afou Fa'atomuaga, Vaega 2.2.1: MotionEC fa'amatalaga faletusi ma le Vaega 2.2.5: Algorithm fa'atinoga.
Fa'aopoopoina le fa'amatalaga o feso'ota'iga a le ARM Cortex-M7.
17-Sep-24 7 Fa'afouina Vaega Folasaga,
Vaega 2.1: Fa'ai'u le lafoview,
Vaega 2.2.1: Faletusi o le MotionEC
fa'amatalaga, Vaega 2.2.2: LafoEC
APIs, Vaega 2.2.5: Algorithm
faatinoga, Vaega 3: Sample
talosaga, Vaega 3.1: MEMS-Studio talosaga

FA'AALIGA TAUA – FAITAU MA LE FA'AMANATU
STMicroelectronics NV ma ona lala ("ST") fa'aagaga le aia e fai ai suiga, fa'asa'oga, fa'aleleia, fa'aleleia, ma fa'aleleia atili i oloa ST ma/po'o lenei pepa i so'o se taimi e aunoa ma se fa'aaliga. E tatau i tagata fa'atau ona maua fa'amatalaga talafeagai lata mai i oloa ST a'o le'i tu'uina atu oka. O oloa ST o lo'o fa'atau atu e tusa ai ma tu'utu'uga ma aiaiga a le ST o lo'o fa'atau atu i le taimi e fa'ailoa ai le oka.
E na'o le au fa'atau le filifiliga, filifiliga, ma le fa'aogaina o oloa ST ma e leai se noataga a le ST mo fesoasoani talosaga po'o le mamanu o oloa a tagata fa'atau.
Leai se laisene, fa'aalia pe fa'aalia, i so'o se aia tatau tau le atamai ua fa'atagaina e ST i totonu.
Toe fa'atauina atu oloa ST ma aiaiga e ese mai fa'amatalaga o lo'o fa'ailoa mai i inei e tatau ona fa'aleaogaina ai so'o se fa'ataga na tu'uina atu e ST mo ia oloa.
ST ma le logo ST o fa'ailoga fa'ailoga a ST. Mo fa'amatalaga fa'aopoopo e uiga i fa'ailoga tau ST, va'ai ile www.st.com/trademarks. O isi igoa uma o oloa po'o auaunaga o le meatotino a latou lava tagata.
O fa'amatalaga i totonu o lenei pepa e suitulaga ma suia fa'amatalaga na tu'uina atu muamua i so'o se lomiga muamua o lenei pepa.

© 2024 STMicroelectronics – Ua taofia aia tatau uma

Pepa / Punaoa

ST X-CUBE-MEMS1 MotionEC o se Faletusi Middleware [pdf] Tusi Lesona a le Pule
X-CUBE-MEMS1 MotionEC o le Middleware Library, X-CUBE-MEMS1, MotionEC o le Middleware Library, Middleware Library, Faletusi

Fa'asinomaga

Tuu se faamatalaga

E le fa'asalalauina lau tuatusi imeli. Fa'ailogaina fanua mana'omia *