UM2225
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.
- 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
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).
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.
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.
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.
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] kapa [Emisa]
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.
Mohato oa 4. Tobetsa ho [E-Compass] ho bula leqephe le inehetseng bakeng sa laeborari ena.
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.
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.
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.
- UM1859: Ho qala ka X-CUBE-MEMS1 motion MEMS le katoloso ea software ea sensor ea tikoloho bakeng sa STM32Cube
- UM1724: liboto tsa STM32 Nucleo-64 (MB1136)
- 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 |