ST X - logoUM2225
Itọsọna olumulo

Bibẹrẹ pẹlu ile-ikawe E-Compass gidi-akoko MotionEC ni imugboroosi X-CUBE-MEMS1 fun STM32Cube

Ọrọ Iṣaaju

MotionEC jẹ paati ile-ikawe agbedemeji ti sọfitiwia X-CUBE-MEMS1 ati ṣiṣe lori STM3z2. O pese alaye ni akoko gidi nipa iṣalaye ẹrọ ati ipo gbigbe ti o da lori data lati ẹrọ kan.
O pese awọn abajade atẹle: Iṣalaye ẹrọ (awọn igun mẹrin, awọn igun Euler), yiyi ẹrọ (iṣẹ ṣiṣe gyroscope foju), fekito walẹ ati isare laini.
Ile-ikawe yii jẹ ipinnu lati ṣiṣẹ pẹlu ST MEMS nikan.
A pese algorithm ni ọna kika ile-ikawe aimi ati pe a ṣe apẹrẹ lati lo lori awọn oluṣakoso microcontroller STM32 ti o da lori ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 ati ARM® Cortex®-M7 faaji.
O ti wa ni itumọ ti lori oke ti STM32Cube imọ-ẹrọ sọfitiwia lati jẹ irọrun gbigbe kọja oriṣiriṣi STM32 microcontrollers.
Sọfitiwia naa wa pẹlu sample imuse nṣiṣẹ lori X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1or X-NUCLEO-IKS02A1 imugboroosi ọkọ lori a NUcleO-F401RE, NUCLO-U575ZI-Q, NUCLO-L152RE tabi NUCLEZ-L073

Acronyms ati abbreviations

Table 1. Akojọ ti awọn acronyms

Adape Apejuwe
API Ohun elo siseto ni wiwo
BSP Board support package
GUI Ni wiwo olumulo ayaworan
HAL Hardware áljẹbrà Layer
IDE Ese idagbasoke ayika

MotionEC middleware ìkàwé ni X-CUBE-MEMS1 software imugboroosi fun STM32Cube

2.1 MotionEC loriview
Ile-ikawe MotionEC faagun iṣẹ ṣiṣe ti sọfitiwia X-CUBE-MEMS1.
Ile-ikawe naa gba data lati isare ati magnetometer ati pese alaye nipa iṣalaye ẹrọ ati ipo gbigbe ti o da lori data lati ẹrọ kan.
Ile-ikawe jẹ apẹrẹ fun ST MEMS nikan. Iṣẹ ṣiṣe ati iṣẹ nigba lilo awọn sensọ MEMS miiran ko ṣe itupalẹ ati pe o le yatọ si pataki si ohun ti a ṣalaye ninu iwe naa.
A sample imuse wa lori X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 ati X-NUCLEO-IKS02A1 imugboroosi ọkọ, agesin lori a NUCLEO-F401RE, NUcleO-U575ZI-Q, NUCLEO-L152RE tabi NUCLO-L073RE BoardXNUMX
2.2 MotionEC ìkàwé
Alaye imọ-ẹrọ ti n ṣalaye ni kikun awọn iṣẹ ati awọn aye ti MotionEC APIs ni a le rii ninu MotionEC_Package.chm HTML ti a ṣajọpọ file be ni Documentation folda.

2.2.1 MotionEC ìkàwé apejuwe
Ile-ikawe MotionEC E-Compass n ṣakoso awọn data ti o gba lati iyara iyara ati magnetometer; o ni awọn ẹya:

  • Iṣalaye ẹrọ (awọn igun mẹẹrin, awọn igun Euler), yiyi ẹrọ (iṣẹ gyroscope foju), fekito walẹ ati awọn abajade isare laini
  • iṣẹ ṣiṣe ti o da lori accelerometer ati data magnetometer nikan
  • accelerometer ti a beere ati data magnetometer sampling igbohunsafẹfẹ ti soke si 100 Hz
  • awọn ibeere ohun elo:
    - Cortex-M0+: 3.7 kB ti koodu ati 0.1 kB ti iranti data
    - Cortex-M3: 3.8 kB ti koodu ati 0.1 kB ti iranti data
    - Cortex-M33: 2.8 kB ti koodu ati 0.1 kB ti iranti data
    - Cortex-M4: 2.9 kB ti koodu ati 0.1 kB ti iranti data
    - Cortex-M7: 2.8 kB ti koodu ati 0.1 kB ti iranti data
  • wa fun ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 ati Cortex M7 faaji

2.2.2 MotionEC APIs
Awọn API MotionEC ni:

  • uint8_t MotionEC_GetLibVersion(ẹya *ẹya)
    – retrieves awọn ti ikede ti awọn ìkàwé
    - * Ẹya jẹ itọkasi si titobi ti awọn ohun kikọ 35
    – pada awọn nọmba ti ohun kikọ ninu okun version
    • ofo MotionEC_Initialize(MEC_mcu_type_t mcu_type, leefofo freq)
    - ṣe ipilẹṣẹ ikawe MotionEC ati iṣeto ti ẹrọ inu.
    - mcu_type jẹ iru MCU:
    ◦ MFX_CM0P_MCU_STM32 jẹ STM32 MCU boṣewa
    ◦ MFX_CM0P_MCU_BLUE_NRG1 jẹ BlueNRG-1
    ◦ MFX_CM0P_MCU_BLUE_NRG2 jẹ BlueNRG-2
    ◦ MFX_CM0P_MCU_BLUE_NRG_LP jẹ BlueNRG -LP
    – freq ni sensọ sampigbohunsafẹfẹ ling [Hz]

Akiyesi: A gbọdọ pe iṣẹ yii ṣaaju lilo ile-ikawe E-Compass ati module CRC ni STM32 microcontroller (ni iforukọsilẹ agbeegbe aago RCC) ni lati mu ṣiṣẹ ṣaaju lilo ile-ikawe

  • ofo MotionEC_SetFrequency(igbohunsafẹfẹ leefofo)
    – ṣeto awọn sampigbohunsafẹfẹ ling (atunṣe awọn paramita sisẹ)
    – freq ni sensọ sampling igbohunsafẹfẹ [Hz] • ofo MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    - nṣiṣẹ E-Compass algorithm (accelerometer ati idapọ data magnetometer)
    - * data_in jẹ itọka si eto kan pẹlu data titẹ sii
    - awọn paramita fun iru igbekalẹ MEC_input_t jẹ:
    ◦ acc[3] jẹ titobi data accelerometer ni apejọ ENU, ti wọn ni g
    ◦ mag[3] jẹ titobi data iwọn magnetometer ni apejọ ENU, tiwọn ni μT/50
    ◦ deltatime s jẹ akoko delta (ie, idaduro akoko laarin atijọ ati titun data ṣeto) ti wọn ni s
    - * data_out jẹ itọka si eto kan pẹlu data iṣelọpọ
    - awọn paramita fun iru igbekalẹ MEC_output_t jẹ:
    ◦ quaternion[4] jẹ apẹrẹ ti o ni quaternion ni apejọ ENU, ti o nsoju iṣalaye 3Dangular ti ẹrọ ni aaye; Ilana ti awọn eroja jẹ: X, Y, Z, W, pẹlu eroja rere nigbagbogbo W
    ◦ euler [3] jẹ apẹrẹ ti awọn igun Euler ni apejọ ENU, ti o nsoju iṣalaye 3D-angular ti ẹrọ ni aaye; aṣẹ ti awọn eroja jẹ: yaw, ipolowo, eerun, wọn ni deg
    ◦ i_gyro[3] jẹ opo ti awọn oṣuwọn angula ni apejọ ENU, ti o nsoju sensọ gyroscope foju kan, tiwọn ni dps
    ◦ walẹ [3] jẹ ọpọlọpọ awọn isare ni apejọ ENU, ti o nsoju fekito walẹ, ti wọn ni g
    ◦ laini [3] jẹ ọpọlọpọ awọn isare ni apejọ ENU, ti o nsoju isare laini ẹrọ, ti wọn ni g
    ST X CUBE MEMS1 MotionEC jẹ ile-ikawe Middleware kan-
  • ofo MotionEC_GetOrientationEnable(MEC_state_t *ipinle)
    - n gba agbara / mu ipo ti iṣiro igun Euler ṣiṣẹ
    – * ipinle ni a ijuboluwole si awọn ti isiyi jeki / mu ipinle
  • ofo MotionEC_SetOrientationEnable(MEC_state_t ipinle)
    - ṣeto ipo mu / mu ṣiṣẹ ti iṣiro igun Euler
    – ipinle ni titun jeki / mu ipinle lati wa ni ṣeto
  •  ofo MotionEC_GetVirtualGyroEnable(MEC_state_t *ipinle)
    - n gba agbara / mu ipo ti iṣiro gyroscope foju ṣiṣẹ
    – * ipinle ni a ijuboluwole si awọn ti isiyi jeki / mu ipinle
  • ofo MotionEC_SetVirtualGyroEnable(MEC_state_t ipinle)
    - ṣeto ipo mu / mu ṣiṣẹ ti iṣiro gyroscope foju
    – ipinle ni titun jeki / mu ipinle lati wa ni ṣeto
  • ofo MotionEC_GetGravityEnable(MEC_state_t *ipinle)
    - n gba agbara / mu ipo ti iṣiro fekito walẹ
    – * ipinle ni a ijuboluwole si awọn ti isiyi jeki / mu ipinle
  • ofo MotionEC_SetGravityEnable(MEC_state_t ipinle)
    - ṣeto agbara / mu ipo ti iṣiro fekito walẹ
    – ipinle ni titun jeki / mu ipinle lati wa ni ṣeto
  • ofo MotionEC_GetLinearAccEnable(MEC_state_t *ipinle)
    - n gba agbara / mu ipo ti iṣiro isare laini ṣiṣẹ
    – * ipinle ni a ijuboluwole si awọn ti isiyi jeki / mu ipinle
  • ofo MotionEC_SetLinearAccEnable(MEC_state_t ipinle)
    - ṣeto ipo mu / mu ṣiṣẹ ti iṣiro isare laini
    – ipinle ni titun jeki / mu ipinle lati wa ni ṣeto

2.2.3 API sisan chart

ST X CUBE MEMS1 MotionEC ni a Middleware Library- ọkọọkan

2.2.4 Ririnkiri koodu
Koodu ifihan atẹle yii n ka data lati iyara iyara ati sensọ magnetometer ati gba data ECompass (ie, quaternion, awọn igun Euler, ati bẹbẹ lọ).

ST X CUBE MEMS1 MotionEC jẹ Middleware Library- koodu RirinkiriST X CUBE MEMS1 MotionEC jẹ Middleware Library- Ririnkiri code1

2.2.5 iṣẹ alugoridimu
E-Compass algorithm nlo data lati ohun accelerometer ati magnetometer nikan. O nṣiṣẹ ni ipo igbohunsafẹfẹ kekere (to 100 Hz) lati dinku lilo agbara.

ST X CUBE MEMS1 MotionEC jẹ ile-ikawe Middleware- Abẹrẹ data1

Sample elo

MotionEC middleware le jẹ ifọwọyi ni rọọrun lati kọ awọn ohun elo olumulo; biample elo ti wa ni pese ni awọn ohun elo folda.
O jẹ apẹrẹ lati ṣiṣẹ lori NUCLO-F401RE, NUCLO-U575ZI-Q, NUCLO-L152RE tabi NUCLEO-L073RZ igbimọ idagbasoke ti a ti sopọ si X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1or X-NUCLEA-IKS02sion board1.

ST X CUBE MEMS1 MotionEC ni a Middleware Library- ohun ti nmu badọgba

Ohun elo naa mọ iṣalaye ẹrọ ati yiyi ni akoko gidi. Awọn data le ṣe afihan nipasẹ GUI kan.
Algoridimu n pese awọn abajade atẹle: Iṣalaye ẹrọ (awọn igun mẹẹrin, awọn igun Euler), yiyi ẹrọ (iṣẹ ṣiṣe gyroscope foju), fekito walẹ ati isare laini.
3.1 MEMS-Studio ohun elo
Awọn sample elo lilo MEMS-Studio ohun elo, eyi ti o le ti wa ni gbaa lati www.st.com.
Igbesẹ 1. Rii daju pe awọn awakọ to ṣe pataki ti fi sori ẹrọ ati pe STM32 Nucleo board pẹlu ọkọ imugboroja ti o yẹ ti sopọ si PC.
Igbesẹ 2. Lọlẹ MEMS-Studio ohun elo lati ṣii awọn akọkọ ohun elo window.
Ti igbimọ Nucleo STM32 pẹlu famuwia atilẹyin ti sopọ si PC, ibudo COM ti o yẹ yoo rii laifọwọyi. Tẹ bọtini [Sopọ] lati fi idi asopọ mulẹ si igbimọ igbelewọn.

ST X CUBE MEMS1 MotionEC jẹ Asopọmọra Middleware kan

Igbesẹ 3. Nigbati a ba sopọ si igbimọ Nucleo STM32 pẹlu famuwia ti o ni atilẹyin [Iyẹwo Ile-ikawe] ti ṣii.
Lati bẹrẹ ati da ṣiṣanwọle data duro, yi ohun ti o yẹ pada [Bẹrẹ] ST X CUBE MEMS1 MotionEC jẹ aami-ikawe Middleware tabi [Duro] ST X CUBE MEMS1 MotionEC ni a Middleware Library- icon1 bọtini lori awọn lode inaro ọpa bar.
Awọn data nbo lati awọn ti sopọ sensọ le jẹ viewed yiyan [Tabili data] taabu lori ọpa ọpa inaro inu.

ST X CUBE MEMS1 MotionEC jẹ ile-ikawe Middleware kan- Tabili data

Igbesẹ 4. Tẹ [E-Compass] lati ṣii oju-iwe iyasọtọ fun ile-ikawe yii.

ST X CUBE MEMS1 MotionEC ni a Middleware Library- Kompasi

Nọmba ti o wa loke fihan awoṣe ayaworan STM32 Nucleo kan. Iṣalaye awoṣe ati yiyi da lori data E-Compass (quaternions) ti a ṣe iṣiro nipasẹ algorithm.
Lati mö awọn gidi ẹrọ ronu pẹlu awọn ayaworan awoṣe, ntoka awọn ẹrọ si ọna iboju ki o si Titari awọn [Tun awoṣe].
Iye akọle duro fun akọle ẹrọ gidi.
Ntọkasi ẹrọ ni gígùn soke tabi isalẹ (lẹgbẹẹ axis ti ENU itọkasi fireemu, pẹlu ± 5 ìyí ifarada) yoo fun N/A iye fun awọn akọle: o jẹ ko ṣee ṣe lati se iyato si eyi ti Cardinal ojuami ẹrọ ntokasi si.
Iye oore naa funni ni awọn iye 0 si 3 ati pe o ni ibatan si isọdiwọn magnetometer: iye ti o ga julọ, awọn abajade ti algorithm data E-Compass dara julọ.
Igbesẹ 5. Tẹ lori [Fipamọ si File] lati ṣii window iṣeto dataloging. Yan sensọ ati data E-Compass lati wa ni fipamọ ninu file. O le bẹrẹ tabi da fifipamọ duro nipa tite lori bọtini ti o baamu.

ST X CUBE MEMS1 MotionEC jẹ ile-ikawe Middleware kan- Fipamọ si File

Igbesẹ 6. Ipo Abẹrẹ data le ṣee lo lati firanṣẹ data ti o ti gba tẹlẹ si ile-ikawe ati gba abajade. Yan taabu [Data Abẹrẹ] lori ọpa ọpa inaro lati ṣii igbẹhin view fun yi iṣẹ-.

ST X CUBE MEMS1 MotionEC jẹ Ile-ikawe Middleware- Abẹrẹ data

Igbesẹ 7. Tẹ bọtini [Ṣawari] lati yan awọn file pẹlu data ti o gba tẹlẹ ni ọna kika CSV.
Awọn data yoo wa ni ti kojọpọ sinu tabili ni lọwọlọwọ view.
Awọn bọtini miiran yoo ṣiṣẹ. O le tẹ lori:
- Bọtini [Ipo aisinipo] lati yi ipo aisinipo famuwia tan / pipa (ipo ti nlo data ti o gba tẹlẹ).
- [Bẹrẹ] / [Duro] / [Igbese] / [Tuntun] awọn bọtini lati ṣakoso kikọ sii data lati MEMS-Studio si ile-ikawe.

Awọn itọkasi

Gbogbo awọn orisun wọnyi wa ni ọfẹ lori www.st.com.

  1. UM1859: Bibẹrẹ pẹlu išipopada MEMS X-CUBE-MEMS1 ati imugboroja sọfitiwia sensọ ayika fun STM32Cube
  2.  UM1724: STM32 Nucleo-64 (MB1136)
  3. UM3233: Bibẹrẹ pẹlu MEMS-Studio

Àtúnyẹwò itan

Tabili 4. Itan atunyẹwo iwe

Ọjọ Ẹya Awọn iyipada
18-Oṣu Karun-17 1 Itusilẹ akọkọ.
25-Jan-18 2 Awọn itọkasi ti a ṣafikun si igbimọ idagbasoke NUCLO-L152RE ati Tabili 2.
Akoko ti o ti kọja (μs) algorithm.
21-Oṣu Kẹta-18 3 Iṣaaju imudojuiwọn ati Abala 2.1 MotionEC ti pariview.
26-Oṣu kọkanla-18 4 Tabili ti a ṣafikun 3. Cortex -M0+: akoko ti o kọja (µs) algorithm. Awọn itọkasi ti a ṣafikun si ARM®
Cortex® – M0 + ati NUCLO-L073RZ igbimọ idagbasoke.
19-Kínní-19 5 Nọmba ti a ṣe imudojuiwọn 1. ENU itọkasi fireemu, Tabili 2. Cortex -M4 ati Cortex-M3: akoko ti o kọja (µs) algorithm, Tabili 3.
Cortex -M0+: akoko ti o kọja (µs) algorithm, Nọmba 3. Ohun ti nmu badọgba igbimọ imugboroja sensọ ti a ti sopọ si STM32
Nucleo, olusin 4. Unicleo akọkọ window, olusin 5. User Messages taabu, olusin 6. E-Compass window ati Figure 7. Datalog window. Fi kun X-NUCLEO-IKS01A3 imugboroosi ọkọ alaye.
25-Oṣu Kẹta-20 6 Ifihan imudojuiwọn, Abala 2.2.1: Apejuwe ikawe MotionEC ati Abala 2.2.5: iṣẹ alugoridimu.
Fikun ARM Cortex-M7 alaye ibamu faaji.
17-Oṣu Kẹsan-24 7 Iṣafihan Abala imudojuiwọn,
Abala 2.1: MotionEC pariview,
Abala 2.2.1: MotionEC ìkàwé
apejuwe, Section 2.2.2: MotionEC
APIs, Abala 2.2.5: alugoridimu
iṣẹ ṣiṣe, Abala 3: Sample
ohun elo, Abala 3.1: MEMS-Studio ohun elo

AKIYESI PATAKI – KA SARA
STMicroelectronics NV ati awọn ẹka rẹ (“ST”) ni ẹtọ lati ṣe awọn ayipada, awọn atunṣe, awọn imudara, awọn atunṣe, ati awọn ilọsiwaju si awọn ọja ST ati/tabi si iwe-ipamọ nigbakugba laisi akiyesi. Awọn olura yẹ ki o gba alaye tuntun ti o wulo lori awọn ọja ST ṣaaju gbigbe awọn aṣẹ. Awọn ọja ST jẹ tita ni ibamu si awọn ofin ati ipo ST ti tita ni aye ni akoko ifọwọsi aṣẹ.
Awọn olura nikan ni iduro fun yiyan, yiyan, ati lilo awọn ọja ST ati ST ko dawọle kankan fun iranlọwọ ohun elo tabi apẹrẹ awọn ọja awọn olura.
Ko si iwe-aṣẹ, ṣalaye tabi mimọ, si eyikeyi ẹtọ ohun-ini ọgbọn ti a fun ni nipasẹ ST ninu rẹ.
Tita awọn ọja ST pẹlu awọn ipese ti o yatọ si alaye ti a ṣeto sinu rẹ yoo sọ atilẹyin ọja eyikeyi di ofo fun iru ọja bẹẹ.
ST ati aami ST jẹ aami-iṣowo ti ST. Fun afikun alaye nipa ST aami-išowo, tọkasi lati www.st.com/trademarks. Gbogbo ọja miiran tabi awọn orukọ iṣẹ jẹ ohun-ini ti awọn oniwun wọn.
Alaye ti o wa ninu iwe yii bori ati rọpo alaye ti a ti pese tẹlẹ ni eyikeyi awọn ẹya iṣaaju ti iwe yii.

© 2024 STMicroelectronics – Gbogbo ẹtọ wa ni ipamọ

Awọn iwe aṣẹ / Awọn orisun

ST X-CUBE-MEMS1 MotionEC jẹ ile-ikawe Middleware kan [pdf] Afọwọkọ eni
X-CUBE-MEMS1 MotionEC jẹ Ile-ikawe Middleware kan, X-CUBE-MEMS1, MotionEC jẹ Ile-ikawe Middleware kan, Ile-ikawe Middleware, Ile-ikawe

Awọn itọkasi

Fi ọrọìwòye

Adirẹsi imeeli rẹ kii yoo ṣe atẹjade. Awọn aaye ti a beere ti wa ni samisi *