UM2225
User manual
Kutanga neMotionEC chaiyo-nguva E-Compass raibhurari muX-CUBE-MEMS1 kuwedzera kweSTM32Cube
Nhanganyaya
Iyo MotionEC chikamu cheraibhurari yepakati cheiyo X-CUBE-MEMS1 software uye inomhanya paSTM3z2. Inopa chaiyo-nguva ruzivo nezve chigadziriso chemudziyo uye chimiro chekufamba zvichibva pane data kubva kune mudziyo.
Inopa zvinotevera zvinobuda: mudziyo wekutarisa (quaternions, Euler angles), mudziyo kutenderera (virtual gyroscope functionality), giravhiti vector uye mutsara kukwirisa.
Raibhurari iyi inoitirwa kushanda neST MEMS chete.
Iyo algorithm inopiwa mune static raibhurari fomati uye yakagadzirirwa kushandiswa paSTM32 microcontrollers zvichibva paARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 uye ARM®. Cortex®-M7 zvivakwa.
Iyo yakavakirwa pamusoro peSTM32Cube software tekinoroji yekurerutsa kutakurika kune akasiyana STM32 microcontrollers.
Iyo software inouya ne sample kusevenzeswa kuri kushanda paX-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 kana X-NUCLEO-IKS02A1 bhodhi rekuwedzera pane NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE kana NUCLEO-L bhodhi yekuvandudza.
Acronyms uye zvipfupiso
Tafura 1. Rondedzero yeacronyms
Acronym | Tsanangudzo |
API | Application programming interface |
BSP | Board support package |
GUI | Graphical mushandisi interface |
HAL | Hardware abstraction layer |
IDE | Integrated development environment |
MotionEC middleware raibhurari muX-CUBE-MEMS1 software yekuwedzera yeSTM32Cube
2.1 MotionEC pamusoroview
Raibhurari yeMotionEC inowedzera kushanda kweiyo X-CUBE-MEMS1 software.
Iyo raibhurari inotora data kubva kune accelerometer uye magnetometer uye inopa ruzivo nezve mudziyo kutaridzika uye chimiro chekufamba zvichibva pane data kubva kune mudziyo.
Raibhurari iyi yakagadzirirwa ST MEMS chete. Kushanda uye kuita kana uchishandisa mamwe maMEMS sensors haana kuongororwa uye anogona kunge akasiyana zvakanyanya kubva pane zvakatsanangurwa mugwaro.
A sample kushandiswa kunowanikwa pa X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 uye X-NUCLEO-IKS02A1 bhodhi rekuwedzera, rakaiswa paNUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152OL bhodhi kana kuvandudza .
2.2 MotionEC raibhurari
Ruzivo rwetekinoroji runotsanangura zvizere mabasa uye paramita eMotionEC APIs inogona kuwanikwa muMotionEC_Package.chm yakaumbwa HTML. file iri muDocumentation folda.
2.2.1 Tsanangudzo yeraibhurari yeMotionEC
Iyo MotionEC E-Compass raibhurari inodzora data rakatorwa kubva kune accelerometer uye magnetometer; inosanganisira:
- kutariswa kwemudziyo (quaternions, Euler angles), kutenderera kwechishandiso (virtual gyroscope functionality), giravhiti yevheta uye mutsara wekumhanyisa kubuda.
- kushanda kunobva pane accelerometer uye magnetometer data chete
- inodiwa accelerometer uye magnetometer data sampLing frequency kusvika ku100 Hz
- zviwanikwa zvinodiwa:
- Cortex-M0+: 3.7 kB yekodhi uye 0.1 kB yedata memory
- Cortex-M3: 3.8 kB yekodhi uye 0.1 kB yedata memory
- Cortex-M33: 2.8 kB yekodhi uye 0.1 kB yedata memory
- Cortex-M4: 2.9 kB yekodhi uye 0.1 kB yedata memory
- Cortex-M7: 2.8 kB yekodhi uye 0.1 kB yedata memory - iripo yeARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 uye Cortex M7 zvivakwa
2.2.2 MotionEC APIs
MaMotionEC APIs ndeaya:
- uint8_t MotionEC_GetLibVersion(char *vhezheni)
- inotora vhezheni yeraibhurari
- * vhezheni inongedzo kune akatevedzana emakumi matatu neshanu mavara
- inodzosera nhamba yemavara mumutsara weshanduro
• void MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
- inoita MotionEC raibhurari kutanga uye kuseta yemukati meshini.
- mcu_type ndiyo mhando yeMCU:
◦ MFX_CM0P_MCU_STM32 chiyero cheSTM32 MCU
◦ MFX_CM0P_MCU_BLUE_NRG1 ndeyeBlueNRG-1
◦ MFX_CM0P_MCU_BLUE_NRG2 ndeyeBlueNRG-2
◦ MFX_CM0P_MCU_BLUE_NRG_LP ndeye BlueNRG -LP
- Freq ndiyo sensor sampLing frequency [Hz]
Cherechedza: Iri basa rinofanirwa kudaidzwa usati washandisa raibhurari yeE-Compass uye iyo CRC module muSTM32 microcontroller (muRCC peripheral clock inoregisita) inofanirwa kugoneswa usati washandisa raibhurari.
- void MotionEC_SetFrequency(float freq)
- anoisa sampling frequency (kugadzirisa iyo yekusefa paramita)
- Freq ndiyo sensor sampling frequency [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
- inomhanyisa E-Compass algorithm (accelerometer uye magnetometer data fusion)
- * data_in inongedzo kune chimiro chine data rekuisa
- maparamita emhando yechimiro MEC_input_t ndeaya:
◦ acc[3] rondedzero yeaccelerometer data mumusangano weENU, wakayerwa mu g.
◦ mag[3] rondedzero yemagnetometer yakarongedzerwa data mumusangano weENU, wakayerwa muμT/50
◦ deltatime s inguva yekudonhedza (kureva, kunonoka kwenguva pakati pekare netsva data set) yakayerwa mus.
- * data_out inongedzo kune chimiro chine data inobuda
- maparamita emhando yechimiro MEC_output_t ndeaya:
◦ quaternion[4] iri array ine quaternion mumusangano weENU, inomiririra 3Dangular kutaridzika kwemudziyo munzvimbo; kurongeka kwezvinhu ndeiyi: X, Y, Z, W, ine nguva dzose yakanaka chinhu W
◦ euler[3] mutsara weEuler angles mumusangano weENU, unomiririra 3D-angular orientation yemudziyo uri muchadenga; kurongeka kwezvinhu ndezvi: yaw, pitch, roll, measure in deg
◦ i_gyro[3] ruzhinji rweangular rates mumusangano weENU, inomiririra chaiyo gyroscope sensor, yakayerwa mudps.
◦ simba rinokwevera zvinhu pasi [3] nhevedzano yekumhanyisa mugungano reENU, rinomiririra simba rinokwevera zvinhu pasi, rinoyerwa mu g.
◦ mutsara[3] hurongwa hwekukwidziridzwa mumusangano weENU, unomiririra mutsara wemutsara wekumhanyisa, wakayerwa mu g.
- void MotionEC_GetOrientationEnable(MEC_state_t *state)
- inowana iyo yekugonesa / kudzima mamiriro eiyo Euler angle kuverenga
- *State ndiyo chinongedzo kune yazvino gonesa / kudzima mamiriro - void MotionEC_SetOrientationEnable(MEC_state_t state)
- inoisa iyo yekugonesa / kudzima mamiriro eiyo Euler angle kuverenga
- nyika ndiyo nyowani yekugonesa / kudzima mamiriro ekuiswa - void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
- inowana inogonesa / kudzima mamiriro eiyo chaiyo gyroscope kuverenga
- *State ndiyo chinongedzo kune yazvino gonesa / kudzima mamiriro - void MotionEC_SetVirtualGyroEnable(MEC_state_t state)
- inoseta iyo inogonesa / kudzima mamiriro eiyo chaiyo gyroscope kuverenga
- nyika ndiyo nyowani yekugonesa / kudzima mamiriro ekuiswa - void MotionEC_GetGravityEnable(MEC_state_t *state)
-inowana kugonesa / kudzima mamiriro eiyo gravity vector kuverenga
- *State ndiyo chinongedzo kune yazvino gonesa / kudzima mamiriro - void MotionEC_SetGravityEnable(MEC_state_t state)
- inoseta iyo inogonesa / kudzima mamiriro eiyo gravity vector kuverenga
- nyika ndiyo nyowani yekugonesa / kudzima mamiriro ekuiswa - void MotionEC_GetLinearAccEnable(MEC_state_t *state)
-inowana iyo yekugonesa / kudzima mamiriro eiyo mutsara yekukurumidza kuverenga
- *State ndiyo chinongedzo kune yazvino gonesa / kudzima mamiriro - void MotionEC_SetLinearAccEnable(MEC_state_t state)
- inoseta iyo inogonesa / kudzima mamiriro eiyo mutsara yekukurumidza kuverenga
- nyika ndiyo nyowani yekugonesa / kudzima mamiriro ekuiswa
2.2.3 API inoyerera chati
2.2.4 Demo kodhi
Iyo inotevera ratidziro kodhi inoverenga data kubva kune accelerometer uye magnetometer sensors uye inowana data reECompass (kureva, quaternion, Euler angles, nezvimwewo).
2.2.5 Algorithm kuita
Iyo E-Compass algorithm inoshandisa data kubva kune accelerometer uye magnetometer chete. Inomhanya pane yakaderera frequency (kusvika ku100 Hz) kuderedza kushandiswa kwesimba.
Sample application
Iyo MotionEC yepakati inogona kushandiswa nyore nyore kuvaka mashandisirwo emushandisi; asample application inopihwa muFolda Yekushandisa.
Yakagadzirirwa kushanda paNUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE kana NUCLEO-L073RZ bhodhi yekuvandudza yakabatana ne X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1or X-IKpansion-02A board.
Chishandiso chinoziva kutaridzika kwechishandiso uye kutenderera mune chaiyo-nguva. Iyo data inogona kuratidzwa kuburikidza neGUI.
Iyo algorithm inopa zvinotevera zvinobuda: mudziyo kutaridzika (quaternions, Euler angles), mudziyo kutenderera (virtual gyroscope mashandiro), giravhiti vector uye mutsara kukurumidza.
3.1 MEMS-Studio application
Iyo sample application inoshandisa iyo MEMS-Studio application, inogona kutorwa kubva www.st.com.
Danho 1. Ita shuwa kuti madhiraivha anodiwa akaiswa uye iyo STM32 Nucleo board ine yakakodzera bhodhi yekuwedzera yakabatana nePC.
Danho 2. Tangisa iyo MEMS-Studio application yekuvhura iyo huru hwindo rekushandisa.
Kana STM32 Nucleo board ine firmware inotsigirwa yakabatana nePC, iyo yakakodzera COM port inozoonekwa otomatiki. Dzvanya bhatani re [Batanidza] kuti utange kubatana kubhodhi rekuongorora.
Danho 3. Kana yakabatana neSTM32 Nucleo board ine firmware inotsigirwa [Library Evaluation] tab inovhurwa.
Kutanga uye kumisa kutenderera kwedata, shandura yakakodzera [Kutanga] kana [Mira]
bhatani rekunze vertical tool bar.
Iyo data inouya kubva kune yakabatana sensor inogona kuva viewed kusarudza iyo [Data Tafura] tab pane yemukati vertical tool bar.
Danho 4. Dzvanya pakanzi [E-Compass] kuti uvhure peji yakatsaurwa yeraibhurari ino.
Mufananidzo uri pamusoro unoratidza STM32 Nucleo graphical modhi. Iyo modhi yekutenderera uye kutenderera kunobva paE-Compass data (quaternions) yakaverengerwa negorgorithm.
Kuti uenzanise iyo chaiyo yedhizaini kufamba neiyo graphical modhi, nongedzera mudziyo wakananga kusikirini uye sunda iyo [Reset modhi].
Iko kukosha kwemusoro kunomiririra chaiyo mudziyo musoro.
Kunongedza mudziyo wakananga kumusoro kana pasi (pamwe neUp axis yeENU referensi furemu, ine ± 5 dhigirii kushivirira) inopa N/A kukosha kwemusoro: hazvigone kusiyanisa kune iyo cardinal point iyo mudziyo uri kunongedzera kwairi.
Iko kunaka kwekunaka kunopa 0 kusvika ku3 kukosha uye inoenderana neiyo magnetometer calibration: iyo yakakwirira kukosha, zviri nani mhedzisiro yeE-Compass data algorithm.
Danho 5. Dzvanya pakanzi [Sevha ku File] kuvhura iyo dataloging yekumisikidza hwindo. Sarudza iyo sensor uye E-Compass data kuti uchengetedzwe mu file. Unogona kutanga kana kumisa kuchengetedza nekudzvanya bhatani rinoenderana.
Danho rechitatu. Data Injection mode inogona kushandiswa kutumira iyo yakambowanikwa data kuraibhurari uye kugamuchira mhedzisiro. Sarudza iyo [Data Jekiseni] tebhu pane yakatwasuka chishandiso bhaa kuvhura yakatsaurwa view nokuda kwekushanda uku.
Danho rechitatu. Dzvanya pa [Bhurawuza] bhatani kuti usarudze iyo file nedata rakambotorwa mu CSV fomati.
Iyo data ichaiswa mutafura mune ikozvino view.
Mamwe mabhatani anozoshanda. Unogona kudzvanya pa:
- [Offline Mode] bhatani rekuchinja firmware offline modhi pa/kudzima (modhi uchishandisa iyo yakambotorwa data).
- [Tanga]/[Misa]/[Nhanho]/[Dzokorora] mabhatani ekudzora kudyisa data kubva kuMEMS-Studio kuenda kuraibhurari.
References
Zvese zvinotevera zviwanikwa zvinowanikwa pachena pa www.st.com.
- UM1859: Kutanga neX-CUBE-MEMS1 inofamba MEMS uye yezvakatipoteredza sensor software yekuwedzera ye STM32Cube.
- UM1724: STM32 Nucleo-64 mabhodhi (MB1136)
- UM3233: Kutanga neMEMS-Studio
Nhoroondo yekudzokorora
Tafura 4. Document revision history
Date | Version | Kuchinja |
18-Chivabvu-17 | 1 | Kusunungurwa kwekutanga. |
25-Jan-18 | 2 | Yakawedzera zvidzoreso kuNUCLEO-L152RE bhodhi rekuvandudza uye Tafura 2. Yakapfuura nguva (μs) algorithm. |
21-Mar-18 | 3 | Yakagadziridzwa Sumo uye Chikamu 2.1 MotionEC pamusoroview. |
26-Nov-18 | 4 | Yakawedzerwa Tafura 3. Cortex -M0+: yakapfuura nguva (µs) algorithm. Akawedzera mareferensi kuARM® Cortex® - M0+ uye NUCLEO-L073RZ bhodhi yekuvandudza. |
19-Feb-19 | 5 | Yakagadziridzwa Mufananidzo 1. ENU reference frame, Tafura 2. Cortex -M4 uye Cortex-M3: yakapfuura nguva (µs) algorithm, Tafura 3. Cortex -M0 +: yakapera nguva (µs) algorithm, Mufananidzo 3. Sensor yekuwedzera bhodhi adapta yakabatana ne STM32 Nucleo, Mufananidzo 4. Unicleo hwindo guru, Mufananidzo 5. Mushandisi Meseji tab, Mufananidzo 6. E-Compass window uye Mufananidzo 7. Datalog window. Yakawedzera X-NUCLEO-IKS01A3 yekuwedzera bhodhi inoenderana ruzivo. |
25-Mar-20 | 6 | Updated Sumo, Chikamu 2.2.1: MotionEC raibhurari tsananguro uye Chikamu 2.2.5: Algorithm kuita. Yakawedzera ARM Cortex-M7 architecture inoenderana ruzivo. |
17-Sep-24 | 7 | Yakavandudzwa Chikamu Chekutanga, Chikamu 2.1: MotionEC pamusoroview, Chikamu 2.2.1: MotionEC raibhurari tsananguro, Chikamu 2.2.2: MotionEC APIs, Chikamu 2.2.5: Algorithm kuita, Chikamu 3: Sample application, Chikamu 3.1: MEMS-Studio application |
CHIZIVISO CHINOKOSHA – VERENGA ZVAKANAKA
STMicroelectronics NV nevatsigiri vayo (“ST”) vanochengeta kodzero yekuita shanduko, kugadzirisa, kuvandudza, gadziridzo, uye kuvandudza kune ST zvigadzirwa uye/kana kugwaro iri chero nguva pasina chiziviso. Vatengi vanofanirwa kuwana ruzivo rwazvino rwakakodzera pane zvigadzirwa zveST vasati vaisa maodha. Zvigadzirwa zveST zvinotengeswa zvichiteerana ne ST zvirevo uye mamiriro ekutengesa aripo panguva yekuodha kubvuma.
Vatengi ndivo vane basa rekusarudza, kusarudza, uye kushandiswa kweST zvigadzirwa uye ST haitore mhosva yerubatsiro rwekushandisa kana dhizaini yezvigadzirwa zvevatengi.
Hapana rezinesi, kutaura kana kurehwa, kune chero kodzero yepfuma inopihwa neST muno.
Kutengeswazve kwezvigadzirwa zveST zvine zvipimo zvakasiyana neruzivo rwataurwa pano kuchabvisa chero waranti yakapihwa neST yechigadzirwa chakadaro.
ST uye ST logo zviratidzo zve ST. Kuti uwane rumwe ruzivo nezve ST trademark, tarisa kune www.st.com/trademarks. Zvese zvimwe zvigadzirwa kana sevhisi mazita midziyo yevaridzi vazvo.
Ruzivo rwuri mugwaro rino rinotsiva uye kutsiva ruzivo rwakambopihwa mune chero shanduro dzekare dzegwaro iri.
© 2024 STMicroelectronics – Kodzero dzese dzakachengetwa
Zvinyorwa / Zvishandiso
![]() |
ST X-CUBE-MEMS1 MotionEC iMiddleware Library [pdf] Bhuku reMuridzi X-CUBE-MEMS1 MotionEC iMiddleware Library, X-CUBE-MEMS1, MotionEC iMiddleware Library, Middleware Library, Library |