UM2225
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
- 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
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.).
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.
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.
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.
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 pe [Taofi]
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.
Laasaga 4. Kiliki i le [E-Compass] e tatala ai le itulau tuuto mo lenei faletusi.
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.
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.
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.
- UM1859: Amataina i le X-CUBE-MEMS1 motion MEMS ma le faʻalauteleina o masini komepiuta mo le STM32Cube
- UM1724: STM32 Nucleo-64 laupapa (MB1136)
- 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 |