ST X - akara ngosiUM2225
Akwụkwọ ntuziaka onye ọrụ

Na-amalite na MotionEC ezigbo oge E-Compass ọba akwụkwọ na X-CUBE-MEMS1 mgbasa maka STM32Cube

Okwu mmalite

MotionEC bụ akụkụ ọba akwụkwọ etiti nke ngwanrọ X-CUBE-MEMS1 ma na-agba na STM3z2. Ọ na-enye ozi ozugbo gbasara nghazi ngwaọrụ na ọnọdụ ngagharị dabere na data sitere na ngwaọrụ.
Ọ na-enye nsonaazụ ndị a: nhazi ngwaọrụ (quaternions, Euler angles), ntụgharị ngwaọrụ (ọrụ gyroscope mebere), vector ike ndọda na ngwa ngwa linear.
Ezubere ọbá akwụkwọ a ka ya na ST MEMS rụọ ọrụ.
Enyere algọridim ahụ n'ụdị ọba akwụkwọ kwụ ọtọ ma emebere ya ka ejiri ya na microcontrollers STM32 dabere na ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 na ARM®. Cortex®-M7 architectures.
Ewubere ya n'elu teknụzụ sọftụwia STM32Cube iji mee ka ọ dị mfe ibugharị n'ofe microcontrollers STM32 dị iche iche.
Akụrụngwa na-abịa na sample mmejuputa atumatu na-agba ọsọ na X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 ma ọ bụ X-NUCLEO-IKS02A1 Mgbasa osisi na a NUcleO-F401RE, NUCLO-U575ZI-Q, NUCLE-L152RE ma ọ bụ NUCLEZ-L073.

Acronyms na ndebiri

Tebụl 1. Ndepụta acronyms

Mkpọchi okwu Nkọwa
API Ngwa mmemme interface
BSP ngwugwu nkwado osisi
GUI Orụ ọrụ eserese
HAL oyi akwa abstraction ngwaike
IDE gburugburu mmepe agbakwunyere

MotionEC middleware ọba akwụkwọ na X-CUBE-MEMS1 software mgbasa maka STM32Cube

2.1 MotionEC gafereview
Ọbá akwụkwọ MotionEC na-agbasawanye ọrụ nke ngwa ngwa X-CUBE-MEMS1.
Ọbá akwụkwọ ahụ na-enweta data sitere na accelerometer na magnetometer ma na-enye ozi gbasara nghazi ngwaọrụ na ọnọdụ ngagharị dabere na data sitere na ngwaọrụ.
Emebere ọbá akwụkwọ a maka naanị ST MEMS. A naghị enyocha arụmọrụ na arụmọrụ mgbe ị na-eji ihe mmetụta MEMS ndị ọzọ ma nwee ike ịdị iche na nke akọwapụtara na akwụkwọ ahụ.
A sample mmejuputa iwu dị na X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 na X-NUCLEO-IKS02A1 Mgbasa osisi, n'ịnyịnya na NUCLO-F401RE, NUCLO-U575ZI-Q, NUCLEO-L152RE bọọdụ mmepe.
2.2 Ọbá akwụkwọ MotionEC
Enwere ike ịhụ ozi nka na-akọwapụta ọrụ na oke nke MotionEC API na MotionEC_Package.chm chịkọtara HTML. file dị na folda Documentation.

2.2.1 Nkọwa ọbá akwụkwọ MotionEC
Ọbá akwụkwọ MotionEC E-Compass na-ejikwa data enwetara site na ngwa ngwa na magnetometer; ọ gụnyere:

  • Nhazi ngwaọrụ (quaternions, Euler angles), ntụgharị ngwaọrụ (ọrụ gyroscope mebere), vector ike ndọda na ntinye ngwa ngwa linear
  • arụmọrụ dabere na accelerometer na magnetometer naanị data
  • accelerometer chọrọ na magnetometer data sampUgboro ugboro ruo 100 Hz
  • akụrụngwa chọrọ:
    - Cortex-M0+: 3.7 kB nke koodu na 0.1 kB nke ebe nchekwa data
    - Cortex-M3: 3.8 kB nke koodu na 0.1 kB nke ebe nchekwa data
    - Cortex-M33: 2.8 kB nke koodu na 0.1 kB nke ebe nchekwa data
    - Cortex-M4: 2.9 kB nke koodu na 0.1 kB nke ebe nchekwa data
    - Cortex-M7: 2.8 kB nke koodu na 0.1 kB nke ebe nchekwa data
  • dị maka ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 na Cortex M7 architectures

2.2.2 MotionEC APIs
MotionEC API bụ:

  • uint8_t MotionEC_GetLibVersion(char *mbipute)
    – eweghachite ụdị nke ọba akwụkwọ
    - * ụdị bụ ihe nrụtụ aka maka mkpụrụedemede 35
    – weghachite ọnụọgụ mkpụrụedemede dị na eriri ụdị
    • MotionEC_Initialize efu(MEC_mcu_type_t mcu_type, freq float)
    - na-arụ ọrụ mmalite na ọbá akwụkwọ MotionEC na nhazi nke usoro ime.
    - mcu_type bụ ụdị MCU:
    ◦ MFX_CM0P_MCU_STM32 bụ ọkọlọtọ STM32 MCU
    ◦ MFX_CM0P_MCU_BLUE_NRG1 bụ BlueNRG-1
    ◦ MFX_CM0P_MCU_BLUE_NRG2 bụ BlueNRG-2
    ◦ MFX_CM0P_MCU_BLUE_NRG_LP bụ BlueNRG -LP
    – freq bụ ihe mmetụta sampugboro ugboro [Hz]

Mara: A ghaghị ịkpọ ọrụ a tupu iji ụlọ akwụkwọ E-Compass yana modul CRC dị na STM32 microcontroller (na RCC peripheral clock nwee ike ịdebanye aha) tupu iji ụlọ akwụkwọ ahụ.

  • Ihe efu MotionEC_SetFrequency(obere oge)
    - na-edozi sampugboro ugboro (na-agbanwe paramita nzacha)
    – freq bụ ihe mmetụta sampugboro ugboro [Hz] • MotionEC_Run efu (MEC_input_t *data_in, MEC_output_t *data_out)
    - na-arụ ọrụ E-compass algọridim (accelerometer na njikọ data magnetometer)
    - * data_in bụ ihe nrụtụ aka na nhazi nwere data ntinye
    - parameters maka ụdị nhazi MEC_input_t bụ:
    ◦ acc[3] bụ ọtụtụ data accelerometer na mgbakọ ENU, tụrụ na g.
    ◦ mag[3] bụ n'usoro nke magnetometer calibrated data na ENU mgbakọ, tụrụ na μT/50.
    ◦ deltatime s bụ oge delta (ya bụ, oge igbu oge n'etiti ochie na nke ọhụrụ data set) tụrụ na s.
    - * data_out bụ ihe nrụtụ aka na nhazi nwere data mmepụta
    - parameters maka ụdị nhazi MEC_output_t bụ:
    ◦ quaternion[4] bụ n'usoro nwere quaternion na mgbakọ ENU, na-anọchite anya 3Dangular nghazi nke ngwaọrụ na oghere; Usoro nke ihe bụ: X, Y, Z, W, na-enwe ihe dị mma mgbe niile W
    ◦ euler [3] bụ ọtụtụ akụkụ nke Euler na mgbakọ ENU, na-anọchite anya nhazi 3D-angular nke ngwaọrụ na mbara igwe; usoro ihe ndị ahụ bụ: yaw, pitch, roll, tụrụ na deg
    ◦ i_gyro[3] bụ ọtụtụ ọnụọgụ akụkụ na mgbakọ ENU, na-anọchite anya ihe mmetụta gyroscope mebere, tụrụ na dps.
    ◦ ike ndọda [3] bụ ọtụtụ ngwa ngwa na mgbakọ ENU, na-anọchite anya vector ike ndọda, tụrụ na g.
    ◦ linear[3] bụ ọtụtụ ngwa ngwa na mgbakọ ENU, na-anọchite anya ngwa ngwa linear ngwa ngwa, tụrụ na g.
    ST X CUBE MEMS1 MotionEC bụ ọbá akwụkwọ Middleware-
  • Void MotionEC_GetOrientationEnable(MEC_state_t *steeti)
    - na-enweta ike/ gbanyụọ steeti mgbako nkuku Euler
    – *steeti bụ ihe nrụtụ aka na ọnọdụ ike/ gbanyụọ ugbu a
  • ihe efu MotionEC_SetOrientationEnable(MEC_state_t steeti)
    – na-esetịpụ ikike/ gbanyụọ steeti mgbako nkuku Euler
    – steeti bụ ikike/ gbanyụọ steeti ọhụrụ a ga-edozi
  •  Void MotionEC_GetVirtualGyroEnable(MEC_state_t *steeti)
    - na-enweta ike/gbanyụọ steeti mgbako gyroscope mebere
    – *steeti bụ ihe nrụtụ aka na ọnọdụ ike/ gbanyụọ ugbu a
  • MotionEC_SetVirtualGyroEnable(MEC_state_t steeti)
    – na-esetịpụ ikike/ gbanyụọ ọnọdụ mgbako gyroscope mebere
    – steeti bụ ikike/ gbanyụọ steeti ọhụrụ a ga-edozi
  • Void MotionEC_GetGravityEnable(MEC_state_t *steeti)
    – na-enweta ike/gbanyụọ steeti mgbako vector ike ndọda
    – *steeti bụ ihe nrụtụ aka na ọnọdụ ike/ gbanyụọ ugbu a
  • ihe efu MotionEC_SetGravityEnable(MEC_state_t steeti)
    – na-esetịpụ ikike/ gbanyụọ ọnọdụ mgbako vector ike ndọda
    – steeti bụ ikike/ gbanyụọ steeti ọhụrụ a ga-edozi
  • MotionEC_GetLinearAccEnable(MEC_state_t *steeti)
    – na-enweta ike/gbanyụọ steeti ngụkọ osooso linear
    – *steeti bụ ihe nrụtụ aka na ọnọdụ ike/ gbanyụọ ugbu a
  • MotionEC_SetLinearAccEnable (MEC_state_t steeti)
    – na-esetịpụ aka/gbanyụọ steeti ngụkọ osooso linear
    – steeti bụ ikike/ gbanyụọ steeti ọhụrụ a ga-edozi

2.2.3 API eruba eserese

ST X CUBE MEMS1 MotionEC bụ usoro ọbá akwụkwọ Middleware

2.2.4 Koodu ngosi
Koodu ngosi na-esote na-agụ data sitere na ihe mmetụta accelerometer na magnetometer wee nweta data ECompass (ya bụ, quaternion, Euler angles, wdg).

ST X CUBE MEMS1 MotionEC bụ ọbá akwụkwọ Middleware- koodu ngosiST X CUBE MEMS1 MotionEC bụ ọbá akwụkwọ Middleware- koodu ngosi1

2.2.5 Algorithm arụmọrụ
E-compass algọridim na-eji data sitere na accelerometer na magnetometer naanị. Ọ na-agba ọsọ na obere oge (ruo 100 Hz) iji belata oriri ike.

ST X CUBE MEMS1 MotionEC bụ Middleware Library- Data Injection1

Sample ngwa

Enwere ike ịmegharị MotionEC middleware ngwa ngwa iji wuo ngwa ndị ọrụ; dị kaampA na-enye ngwa le na folda ngwa.
Emebere ya ka ọ na-agba ọsọ na NUCLO-F401RE, NUCLO-U575ZI-Q, NUCLO-L152RE ma ọ bụ NUCLO-L073RZ mmepe osisi ejikọrọ na X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 ma ọ bụ X-NUCLEO-IKSansion.

ST X CUBE MEMS1 MotionEC bụ ihe nkwụnye ọbá akwụkwọ Middleware

Ngwa ahụ na-amata nghazi ngwaọrụ na ntụgharị ozugbo ozugbo. Enwere ike igosipụta data ahụ site na GUI.
Algọridim na-enye nsonaazụ ndị a: nhazi ngwaọrụ (quaternions, Euler angles), ntụgharị ngwaọrụ (ọrụ gyroscope mebere), vector ike ndọda na ngwa ngwa linear.
3.1 MEMS-Studio ngwa
Ndị sample ngwa na-eji ngwa MEMS-Studio, nke enwere ike ibudata na www.st.com.
Nzọụkwụ 1. Gbaa mbọ hụ na etinyere ndị ọkwọ ụgbọ ala dị mkpa yana bọọdụ STM32 Nucleo nwere bọọdụ mgbasawanye kwesịrị ekwesị jikọtara na PC.
Nzọụkwụ 2. Mepee ngwa MEMS-Studio ka imepe windo ngwa ngwa.
Ọ bụrụ na ejikọrọ bọọdụ Nucleo STM32 nwere firmware akwadoro na PC, a ga-achọpụta ọdụ ụgbọ mmiri COM dabara adaba na-akpaghị aka. Pịa bọtịnụ [Jikọọ] iji guzobe njikọ na bọọdụ nyocha.

ST X CUBE MEMS1 MotionEC bụ Middleware Library- Jikọọ

Nzọụkwụ 3. Mgbe ejikọtara ya na bọọdụ STM32 Nucleo nwere taabụ firmware [Library Evaluation] na-akwado.
Iji malite ma kwụsị ịkwasa data, gbanye nke dabara adaba [Malite] ST X CUBE MEMS1 MotionEC bụ akara ngosi Ọbá akwụkwọ Middleware ma ọ bụ [Kwụsị] ST X CUBE MEMS1 MotionEC bụ ọbá akwụkwọ Middleware- icon1 bọtịnụ na mpụta vetikal ngwá ọrụ mmanya.
Data sitere na ihe mmetụta ejikọrọ nwere ike ịbụ viewed na-ahọpụta taabụ [Data Tebụl] na ogwe ngwaọrụ vetikal dị n'ime.

ST X CUBE MEMS1 MotionEC bụ ọbá akwụkwọ Middleware- tebụl data

Nzọụkwụ 4. Pịa na [E-Compass] iji mepee ibe a raara nye maka ọbá akwụkwọ a.

ST X CUBE MEMS1 MotionEC bụ ọbá akwụkwọ Middleware- kompas

Ọnụ ọgụgụ dị n'elu na-egosi ụdị eserese STM32 Nucleo. Ntugharị ihe atụ na ntụgharị dabere na data E-Compass (quaternions) nke algọridim gbakọrọ.
Iji kwado mmegharị ngwaọrụ n'ezie na ụdị eserese, tụọ ngwaọrụ ahụ n'ihu ihuenyo wee pịa [Tọgharia ụdị].
Uru isiokwu na-anọchite anya isi ngwaọrụ n'ezie.
Ịtụ aka na ngwaọrụ kwụ ọtọ ma ọ bụ ala (n'akụkụ Up axis nke ENU refere frame, with ±5 degree tolerance) na-enye uru N/A maka isiokwu: ọ gaghị ekwe omume ịmata ọdịiche nke kadinal nke ngwaọrụ ahụ na-atụ aka.
Uru ịdị mma na-enye 0 ruo 3 ụkpụrụ ma jikọta ya na nhazigharị magnetometer: ọnụ ahịa dị elu, ọ ka mma nsonaazụ E-Compass data algorithm.
Nzọụkwụ 5. Pịa [Chekwa na File] imepe windo nhazi dataloging. Họrọ ihe mmetụta na data E-compass ka echekwara na file. Ị nwere ike ịmalite ma ọ bụ kwụsị ichekwa ego site na ịpị bọtịnụ kwekọrọ.

ST X CUBE MEMS1 MotionEC bụ ọbá akwụkwọ Middleware- Chekwaa na File

Nzọụkwụ 6. Enwere ike iji ọnọdụ ntinye data zipu data enwetaburu na ọba akwụkwọ wee nweta nsonaazụ ya. Họrọ taabụ [Data Injection] na ogwe ngwaọrụ kwụ ọtọ ka imepe nke raara onwe ya nye view maka ọrụ a.

ST X CUBE MEMS1 MotionEC bụ ọbá akwụkwọ Middleware- Ntinye data

Nzọụkwụ 7. Pịa na bọtịnụ [Chọgharịa] ka ịhọrọ nke file yana data eweghara na mbụ n'ụdị CSV.
A ga-ebunye data ahụ n'ime tebụl dị ugbu a view.
Bọtịnụ ndị ọzọ ga-arụ ọrụ. Ị nwere ike pịa:
- bọtịnụ (Ọnọdụ na-anọghị n'ịntanetị) ka ịgbanwuo ma gbanyụọ firmware na-anọghị n'ịntanetị (ụdị na-eji data eweghara na mbụ).
- [Malite] / [Kwụsị] / [Nzọụkwụ] / [Tinyegharịa] bọtịnụ iji jikwaa ndepụta data sitere na MEMS-Studio gaa n'ọbá akwụkwọ.

Ntụaka

Ihe niile ndị a dị n'efu na www.st.com.

  1. UM1859: Malite na X-CUBE-MEMS1 ngagharị MEMS na mgbasawanye ihe mmetụta gburugburu ebe obibi maka STM32Cube
  2.  UM1724: bọọdụ STM32 Nucleo-64 (MB1136)
  3. UM3233: Ịmalite na MEMS-Studio

Akụkọ ngbanwe

Tebụl 4. Akwụkwọ akụkọ nlegharị anya

Ụbọchị Ụdị Mgbanwe
18- Mee-17 1 Ntọhapụ mbụ.
25-Jen-18 2 Agbakwunyere ntụaka na bọọdụ mmepe NUCLO-L152RE na tebụl 2.
Oge gafere (μs) algọridim.
21-Mar-18 3 Mmelite emelitere yana ngalaba 2.1 MotionEC gafereview.
26-Nọvemba-18 4 Tebụl agbakwunyere 3. Cortex -M0+: oge ​​gafere (µs) algọridim. Agbakwunyere ntụaka na ARM®
Cortex® – M0+ na NUCLO-L073RZ bọọdụ mmepe.
19-February-19 5 Ihe atụ emelitere 1. ENU ntụaka etiti, Tebụl 2. Cortex -M4 na Cortex-M3: oge ​​gafere (µs) algọridim, Tebụl 3.
Cortex -M0+: oge ​​gafere (µs) algọridim, eserese 3. Ihe nkwụnye mgbaba ihe mmetụta ihe ejikọrọ na STM32
Nucleo, Figure 4. Unicleo isi window, Figure 5. User Messages tab, Figure 6. E-Compass window na Figure 7. Datalog window. agbakwunyere ozi ndakọrịta bọọdụ mgbasawanye X-NUCLEO-IKS01A3.
25-Mar-20 6 Okwu Mmalite emelitere, Nkebi 2.2.1: Nkọwa ọbá akwụkwọ MotionEC na Nkeji 2.2.5: Ọrụ Algorithm.
Ozi ndakọrịta ụkpụrụ ụlọ ARM Cortex-M7 agbakwunyere.
17-Sep-24 7 Okwu mmalite ngalaba emelitere,
Nkeji 2.1: MotionEC gafereview,
Nkeji 2.2.1: Ọbá akwụkwọ MotionEC
nkọwa, Nkebi 2.2.2: MotionEC
API, Nkebi 2.2.5: Algorithm
arụmọrụ, Nkeji 3: Sample
ngwa, Nkebi 3.1: MEMS-Studio ngwa

ỌMỤMỤ dị mkpa – Gụọ nke ọma
STMicroelectronics NV na ndị enyemaka ya (“ST”) debere ikike ime mgbanwe, ndozi, nkwalite, mgbanwe na nkwalite ngwaahịa ST na/ma ọ bụ akwụkwọ a n'oge ọ bụla na-enweghị ọkwa. Ndị na-azụ ahịa kwesịrị ịnweta ozi kacha ọhụrụ dị mkpa na ngwaahịa ST tupu ha etinye iwu. A na-ere ngwaahịa ST dabere na usoro na ọnọdụ ọrịre nke ST n'oge nnabata.
Ndị na-azụ ahịa bụ naanị maka nhọrọ, nhọrọ, na ojiji nke ngwaahịa ST yana ST anaghị ewere ụgwọ ọ bụla maka enyemaka ngwa ma ọ bụ imepụta ngwaahịa ndị zụrụ ya.
Enweghị ikike, ekwupụtara ma ọ bụ egosipụtara, ikike ikike ọgụgụ isi ọ bụla nke ST nyere n'ime ebe a.
Mweghachi nke ngwaahịa ST nwere ndokwa dị iche na ozi e depụtara n'ime ya ga-emebi akwụkwọ ikike ọ bụla ST nyere maka ụdị ngwaahịa a.
ST na akara ST bụ ụghalaahịa nke ST. Maka ozi ndị ọzọ gbasara ụghalaahịa ST, rụtụ aka www.st.com/trademarks. Ngwaahịa ma ọ bụ aha ọrụ ndị ọzọ bụ ihe onwunwe nke ndị nwe ha.
Ozi dị n'ime akwụkwọ a nọchiri ma dochie ozi enyere na mbụ na ụdị akwụkwọ a mbụ.

© 2024 STMicroelectronics – Ikike niile echekwabara

Akwụkwọ / akụrụngwa

ST X-CUBE-MEMS1 MotionEC bụ ọbá akwụkwọ Middleware [pdf] Akwụkwọ ntuziaka onye nwe
X-CUBE-MEMS1 MotionEC bụ ọbá akwụkwọ Middleware, X-CUBE-MEMS1, MotionEC bụ ọbá akwụkwọ Middleware, Ọbá akwụkwọ Middleware, Ọbá akwụkwọ.

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *