ST X - letšoaoUM2225
Bukana ea mosebelisi

Ho qala ka laeborari ea MotionEC ea nako ea nnete ea E-Compass ka katoloso ea X-CUBE-MEMS1 bakeng sa STM32Cube.

Selelekela

MotionEC ke karolo ea laeborari ea middleware ea software ea X-CUBE-MEMS1 mme e sebetsa ho STM3z2. E fana ka tlhahisoleseding ea nako ea sebele mabapi le mokhoa oa mochine le boemo ba motsamao o thehiloeng ho data e tsoang ho sesebelisoa.
E fana ka liphetho tse latelang: sebopeho sa sesebelisoa (li-quaternion, li-angles tsa Euler), ho potoloha ha sesebelisoa (ts'ebetso ea Virtual gyroscope), vector ea matla a khoheli le ho potlakisa mela.
Laeborari ena e reretsoe ho sebetsa le ST MEMS feela.
Algorithm e fanoe ka sebopeho sa laebrari e sa fetoheng 'me e etselitsoe ho sebelisoa ho li-microcontrollers tsa STM32 tse thehiloeng ho ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 le ARM®. Cortex®-M7 meralo ea meralo.
E hahiloe ka holim'a theknoloji ea software ea STM32Cube ho nolofatsa ts'ebetso ho li-microcontroller tse fapaneng tsa STM32.
Software e tla le sample ts'ebetsong e sebetsang ho X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1or X-NUCLEO-IKS02A1 boto ea katoloso holim'a boto ea NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE kapa 073Z-L ea ntlafatso ea NUCLEO-L.

Acronyms le khutsufatso

Lethathamo la 1. Lethathamo la li-acronyms

Kgutsufatso Tlhaloso
API Sebopeho sa lenaneo la kopo
BSP Sephutheloana sa tšehetso sa boto
GUI Sehokelo sa mosebelisi se hlakileng
HALALA Hardware abstraction layer
IDE Tikoloho ea ntlafatso e kopaneng

MotionEC middleware laeborari ho X-CUBE-MEMS1 katoloso ea software bakeng sa STM32Cube

2.1 MotionEC e felileview
Laeborari ea MotionEC e holisa tšebetso ea software ea X-CUBE-MEMS1.
Laeborari e fumana data ho tsoa ho accelerometer le magnetometer mme e fana ka leseli mabapi le sebopeho sa sesebelisoa le boemo ba motsamao ho ipapisitsoe le data e tsoang sesebelisoa.
Laeborari e etselitsoe ST MEMS feela. Ts'ebetso le ts'ebetso ha u sebelisa li-sensor tse ling tsa MEMS ha li hlahlojoe 'me li ka fapana haholo le tse hlalositsoeng tokomaneng.
A sample ts'ebetsong e fumaneha ho X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 le X-NUCLEO-IKS02A1 boto ea katoloso, e behiloeng holim'a NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152OL boto ea nts'etsopele kapa NUCLEO-L073OL-XNUMX.
2.2 laeborari ea MotionEC
Lintlha tsa tekheniki tse hlalosang ka botlalo mesebetsi le liparamente tsa MotionEC API li ka fumanoa ho MotionEC_Package.chm e hlophisitsoeng HTML. file e fumanehang ka har'a foldara ea Litokomane.

2.2.1 Tlhaloso ea laebrari ea MotionEC
Laeborari ea MotionEC E-Compass e laola lintlha tse fumanoeng ho accelerometer le magnetometer; e na le:

  • sebopeho sa sesebelisoa (li-quaternion, li-angles tsa Euler), ho potoloha ha sesebelisoa (ts'ebetso e hlakileng ea gyroscope), vector ea matla a khoheli le liphetho tsa lebelo la mola
  • ts'ebetso e ipapisitseng le data ea accelerometer le magnetometer feela
  • e hlokahalang accelerometer le magnetometer data sampmaqhubu a ho fihla ho 100 Hz
  • litlhoko tsa lisebelisoa:
    - Cortex-M0+: 3.7 kB ea khoutu le 0.1 kB ea memori ea data
    - Cortex-M3: 3.8 kB ea khoutu le 0.1 kB ea memori ea data
    - Cortex-M33: 2.8 kB ea khoutu le 0.1 kB ea memori ea data
    - Cortex-M4: 2.9 kB ea khoutu le 0.1 kB ea memori ea data
    - Cortex-M7: 2.8 kB ea khoutu le 0.1 kB ea memori ea data
  • e fumaneha bakeng sa meralo ea ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 le Cortex M7

2.2.2 MotionEC APIs
MotionEC APIs ke:

  • uint8_t MotionEC_GetLibVersion(char *version)
    - e fumana mofuta oa laeborari
    * Mofuta ke sesupo sa letoto la litlhaku tse 35
    – e khutlisa palo ea litlhaku tse khoeleng ea mofuta
    • void MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
    - e etsa ho qala laeborari ea MotionEC le ho seta mochini oa kahare.
    - mcu_type ke mofuta oa MCU:
    ◦ MFX_CM0P_MCU_STM32 ke STM32 MCU e tloaelehileng
    ◦ MFX_CM0P_MCU_BLUE_NRG1 ke BlueNRG-1
    ◦ MFX_CM0P_MCU_BLUE_NRG2 ke BlueNRG-2
    ◦ MFX_CM0P_MCU_BLUE_NRG_LP ke BlueNRG -LP
    - frequency ke sensor sampling frequency [Hz]

Hlokomela: Ts'ebetso ena e tlameha ho bitsoa pele u sebelisa laeborari ea E-Compass le mojule oa CRC ho STM32 microcontroller (ka har'a RCC peripheral clock enable register) e tlameha ho sebelisoa pele u sebelisa laeborari.

  • void MotionEC_SetFrequency(float freq)
    – e beha sampling frequency (ho fetola liparamente tsa ho sefa)
    - frequency ke sensor sampling frequency [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    - e tsamaisa algorithm ea E-Compass (accelerometer le fusion ea data ea magnetometer)
    - *data_in ke sesupo sa sebopeho se nang le data e kentsoeng
    - mekhahlelo ea mofuta oa sebopeho MEC_input_t ke:
    ◦ acc[3] ke lethathamo la data ea accelerometer ho kopano ea ENU, e lekantsoeng ka g
    ◦ mag[3] ke lethathamo la lintlha tse lekantsoeng tsa magnetometer kopanong ea ENU, e lekantsoeng ka μT/50
    ◦ deltatime s ke nako ea delta (ke hore, tieho ea nako lipakeng tsa data ea khale le e ncha) e lekantsoeng ka s.
    - *data_out ke sesupo sa sebopeho se nang le data e hlahisoang
    - mekhahlelo ea mofuta oa sebopeho MEC_output_t ke:
    ◦ quaternion[4] ke lethathamo le nang le quaternion kopanong ea ENU, e emelang mokhoa oa 3Dangular oa sesebelisoa sebakeng; tatellano ea likarolo ke: X, Y, Z, W, e nang le elemente e nepahetseng kamehla ea W
    ◦ euler[3] ke letoto la li-angles tsa Euler kopanong ea ENU, e emelang mokhoa oa 3D-angular oa sesebelisoa sebakeng; tatellano ea likarolo ke: yaw, pitch, roll, metha ka deg
    ◦ i_gyro[3] ke letoto la litekanyetso tsa angular kopanong ea ENU, e emelang sensor ea gyroscope, e lekantsoeng ka dps.
    ◦ matla a khoheli[3] ke letoto la mahlahahlaha kopanong ea ENU, e emelang vector ea khoheli, e lekantsoeng ka g.
    ◦ linear[3] ke letoto la ho potlakisa kopano ea ENU, e emelang lebelo la mohala oa sesebelisoa, le lekantsoeng ka g.
    ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware-
  • void MotionEC_GetOrientationEnable(MEC_state_t *state)
    - e fumana ho nolofalletsa / ho tima boemo ba lipalo tsa Euler angle
    - *State ke sesupo sa boemo ba hajoale ba ho nolofalletsa / tima
  • void MotionEC_SetOrientationEnable(MEC_state_t state)
    - e seta boemo ba ho nolofalletsa / tima boemo ba lipalo tsa Euler angle
    - boemo ke sebaka se secha sa ho nolofalletsa / thibela boemo bo lokelang ho hlongoa
  •  void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
    - e fumana ho nolofalletsa / ho tima boemo ba lipalo tsa gyroscope
    - *State ke sesupo sa boemo ba hajoale ba ho nolofalletsa / tima
  • void MotionEC_SetVirtualGyroEnable(MEC_state_t state)
    - e beha boemo ba ho nolofalletsa / tima boemo ba lipalo tsa gyroscope
    - boemo ke sebaka se secha sa ho nolofalletsa / thibela boemo bo lokelang ho hlongoa
  • void MotionEC_GetGravityEnable(MEC_state_t *state)
    - e fumana ho nolofalletsa / ho tima boemo ba lipalo tsa vector ea khoheli
    - *State ke sesupo sa boemo ba hajoale ba ho nolofalletsa / tima
  • void MotionEC_SetGravityEnable(MEC_state_t state)
    - e seta boemo ba ho nolofalletsa / tima boemo ba lipalo tsa vector ea khoheli
    - boemo ke sebaka se secha sa ho nolofalletsa / thibela boemo bo lokelang ho hlongoa
  • void MotionEC_GetLinearAccEnable(MEC_state_t *state)
    - e fumana ho nolofalletsa / ho tima boemo ba lipalo tse potlakisang
    - *State ke sesupo sa boemo ba hajoale ba ho nolofalletsa / tima
  • void MotionEC_SetLinearAccEnable(MEC_state_t state)
    - e seta boemo ba ho nolofaletsa / tima boemo ba lipalo tsa lebelo la lebelo
    - boemo ke sebaka se secha sa ho nolofalletsa / thibela boemo bo lokelang ho hlongoa

2.2.3 Chate ea phallo ea API

ST X CUBE MEMS1 MotionEC ke tatellano ea Laeborari ea Middleware

2.2.4 Khoutu ea pontsho
Khoutu e latelang ea ponahatso e bala data ho tsoa ho lisensara tsa accelerometer le magnetometer mme e fumana data ea ECompass (ke hore, quaternion, Euler angles, joalo-joalo).

ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- Demo codeST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- Demo code1

2.2.5 Ts'ebetso ea algorithm
Algorithm ea E-Compass e sebelisa data ho tsoa ho accelerometer le magnetometer feela. E sebetsa ka lebelo le tlase (ho fihla ho 100 Hz) ho fokotsa tšebeliso ea matla.

ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- Data Injection1

Sample kopo

MotionEC middleware e ka sebelisoa habonolo ho aha lits'ebetso tsa basebelisi; joalo kaample tshebediso e fanoe ka hara foldara ya Tshebediso.
E etselitsoe ho sebetsa ka boto ea ntlafatso ea NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE kapa NUCLEO-L073RZ e hokahantsoeng le boto ea X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1or X-IKpansion02A.

ST X CUBE MEMS1 MotionEC ke Middleware Library- adaptara

Sesebelisoa se lemoha sebopeho sa sesebelisoa le ho potoloha ka nako ea nnete. Lintlha li ka hlahisoa ka GUI.
Algorithm e fana ka liphetho tse latelang: mokhoa oa ho tsamaisa lisebelisoa (quaternions, Euler angles), ho potoloha ha sesebelisoa (tšebetso ea gyroscope e sebetsang), vector ea khoheli le ho potlakisa mela.
3.1 MEMS-Studio kopo
Likarolo tsa sampkopo e sebelisa sesebelisoa sa MEMS-Studio, se ka khoasolloang ho tsoa ho www.st.com.
Mohato oa 1. Netefatsa hore li-driver tse hlokahalang li kentsoe 'me boto ea STM32 Nucleo e nang le boto e loketseng ea katoloso e hokahane le PC.
Mohato oa 2. Qala sesebelisoa sa MEMS-Studio ho bula fensetere ea mantlha ea kopo.
Haeba boto ea STM32 Nucleo e nang le firmware e tšehetsoeng e hokahane le PC, boema-kepe bo nepahetseng ba COM bo fumanoa ka bo eona. Tobetsa konopo ea [Hokela] ho theha khokahano le boto ea tlhahlobo.

ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- Connect

Mohato oa 3. Ha e hokahantsoe le boto ea STM32 Nucleo e nang le firmware e tšehetsoeng tab ea [Library Evaluation] ea buloa.
Ho qala le ho emisa ho phalla ha data, fetola e nepahetseng [Qala] ST X CUBE MEMS1 MotionEC ke laeborari ea Middleware- letšoao kapa [Emisa] ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- icon1 konopo bareng ea lisebelisoa e otlolohileng.
Lintlha tse tsoang ho sensor e hokahaneng li ka ba viewed ho khetha [Letlapa la Lintlha] bareng ea lisebelisoa e otlolohileng.

ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- Data Table

Mohato oa 4. Tobetsa ho [E-Compass] ho bula leqephe le inehetseng bakeng sa laeborari ena.

ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- Compass

Setšoantšo se ka holimo se bontša setšoantšo sa setšoantšo sa STM32 Nucleo. Moetso le ho potoloha li thehiloe ho data ea E-Compass (quaternions) e baloang ke algorithm.
Ho ikamahanya le motsamao wa nnete wa sesebediswa le mmotlolo wa kerafo, supisa sesebediswa nqa skrineng mme o tobetse [Seta mohlala botjha].
Boleng ba sehlooho bo emela sehlooho sa 'nete sa sesebelisoa.
Ho supa sesebelisoa ka kotloloho hodimo kapa tlase (hammoho le Up axis of ENU reference frame, with ± 5 degree tolerance) ho fana ka boleng ba N/A bakeng sa sehlooho: ha ho khonehe ho khetholla hore na sesebelisoa se supa ntlha efe.
Boleng ba molemo bo fana ka litekanyetso tsa 0 ho isa ho tse 3 'me bo amana le tekanyo ea magnetometer: boleng bo phahameng, liphello tsa E-Compass data algorithm li molemo.
Mohato oa 5. Tobetsa ho [Boloka ho File] ho bula fensetere ea tlhophiso ea ho boloka boitsebiso. Khetha sensor le data ea E-Compass ho bolokoa ho file. O ka qala kapa oa emisa ho boloka ka ho tobetsa konopo e tsamaisanang le eona.

ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- Boloka ho File

Mohato oa 6. Mokhoa oa Injection oa data o ka sebelisoa ho romella data e fumanoeng pele laeboraring le ho amohela sephetho. Khetha tab ea [Data Injection] ho bareng ea sesebelisoa e emeng ho bula e inehetseng view bakeng sa tshebetso ena.

ST X CUBE MEMS1 MotionEC ke Laeborari ea Middleware- Data Ente

Mohato oa 7. Tobetsa konopo ea [Browse] ho khetha file ka data e hapiloeng pele ka sebopeho sa CSV.
Lintlha li tla kenngoa tafoleng ea hajoale view.
Likonopo tse ling li tla qala ho sebetsa. O ka tobetsa ho:
- Konopo ea [Offline Mode] ho bulela / tima firmware offline mode (mokhoa o sebelisa data e hapiloeng pele).
– [Qala]/[Emisa]/[Mohato]/[Pheta] likonopo ho laola phepelo ea data ho tloha MEMS-Studio ho ea laeboraring.

Litšupiso

Lisebelisoa tsohle tse latelang li fumaneha mahala ho www.st.com.

  1. UM1859: Ho qala ka X-CUBE-MEMS1 motion MEMS le katoloso ea software ea sensor ea tikoloho bakeng sa STM32Cube
  2.  UM1724: liboto tsa STM32 Nucleo-64 (MB1136)
  3. UM3233: Ho qala ka MEMS-Studio

Nalane ea ntlafatso

Lethathamo la 4. Nalane ea ntlafatso ea litokomane

Letsatsi Phetolelo Liphetoho
18-May-17 1 Tokollo ea pele.
25-Jan-18 2 E kenyellelitse litšireletso ho boto ea ntlafatso ea NUCLEO-L152RE le Lethathamo la 2.
Nako e fetileng (μs) algorithm.
21-Mar-18 3 Kenyelletso e ntlafalitsoeng le Karolo ea 2.1 ea MotionEC e felileview.
26-Nov-18 4 E Eketsehile Lethathamo la 3. Cortex -M0+: nako e fetileng (µs) algorithm. Litšupiso tse kentsoeng ho ARM®
Cortex® - M0 + le boto ea ntlafatso ea NUCLEO-L073RZ.
19-Feb-19 5 Setšoantšo se ntlafalitsoeng sa 1. Sebopeho sa litšupiso sa ENU, Letlapa la 2. Cortex -M4 le Cortex-M3: nako e fetileng (µs) algorithm, Letlapa la 3.
Cortex -M0+: nako e fetileng (µs) algorithm, Setšoantšo sa 3. Adapter ea boto ea katoloso ea sensor e hokahaneng le STM32
Nucleo, Setšoantšo sa 4. Fesetere e kholo ea Unicleo, Setšoantšo sa 5. Taba ea Melaetsa ea Basebelisi, Setšoantšo sa 6. Fensetere ea E-Compass le Figure 7. Fesetere ea datalog. E kenyellelitse lintlha tsa X-NUCLEO-IKS01A3 tsa boto ea katoloso.
25-Mar-20 6 Kenyelletso e ntlafalitsoeng, Karolo ea 2.2.1: Tlhaloso ea laebrari ea MotionEC le Karolo ea 2.2.5: Ts'ebetso ea algorithm.
E kenyellelitse tlhaiso-leseling ea meralo ea ARM Cortex-M7.
17-Sep-24 7 Selelekela sa Karolo e ntlafalitsoeng,
Karolo ea 2.1: MotionEC e felileview,
Karolo ea 2.2.1: laebrari ea MotionEC
tlhaloso, Karolo ea 2.2.2: MotionEC
Li-API, Karolo ea 2.2.5: Algorithm
tshebetso, Karolo 3: Sample
kopo, Karolo ea 3.1: kopo ea MEMS-Studio

TSEBISO EA BOHLOKOA – BALA KA HLOKO
STMicroelectronics NV le li-subsidiary tsa eona ("ST") li na le tokelo ea ho etsa liphetoho, litokiso, lintlafatso, lintlafatso, le lintlafatso ho lihlahisoa tsa ST le/kapa tokomaneng ena ka nako efe kapa efe ntle le tsebiso. Bareki ba lokela ho fumana lintlha tsa morao-rao tse amanang le lihlahisoa tsa ST pele ba fana ka litaelo. Lihlahisoa tsa ST li rekisoa ho latela lipehelo le maemo a thekiso ea ST ka nako ea tumello ea taelo.
Bareki ke bona feela ba ikarabellang bakeng sa khetho, khetho, le tšebeliso ea lihlahisoa tsa ST mme ST ha e nke e le molato bakeng sa thuso ea kopo kapa moralo oa lihlahisoa tsa bareki.
Ha ho laesense, e hlalositsoeng kapa e boletsoeng, ea tokelo efe kapa efe ea thepa ea mahlale e fanoeng ke ST mona.
Ho rekisoa ha lihlahisoa tsa ST ka litokisetso tse fapaneng le tlhahisoleseding e boletsoeng mona ho tla hlakola waranti leha e le efe e fanoeng ke ST bakeng sa sehlahisoa se joalo.
ST le logo ea ST ke matšoao a khoebo a ST. Bakeng sa lintlha tse ling mabapi le matšoao a khoebo a ST, sheba ho www.st.com/trademarks. Mabitso a mang kaofela a lihlahisoa kapa litšebeletso ke thepa ea beng ba tsona.
Lintlha tse tokomaneng ena li nkela sebaka le ho nkela tlhahisoleseding e neng e fanoe pele liphetolelong tsa pele tsa tokomane ena.

© 2024 STMicroelectronics – Litokelo tsohle li sirelelitsoe

Litokomane / Lisebelisoa

ST X-CUBE-MEMS1 MotionEC ke Laeborari ea Middleware [pdf] Buka ea Mong'a
X-CUBE-MEMS1 MotionEC ke Middleware Library, X-CUBE-MEMS1, MotionEC ke Middleware Library, Middleware Library, Library

Litšupiso

Tlohela maikutlo

Aterese ea hau ea lengolo-tsoibila e ke ke ea phatlalatsoa. Libaka tse hlokahalang li tšoailoe *