UM2225
manual user
Di berfirehkirina X-CUBE-MEMS1-ê de ji bo STM32Cube bi pirtûkxaneya MotionEC-ê ya rast-dema E-Compass dest pê dike
Pêşkêş
MotionEC perçeyek pirtûkxaneya navîn a nermalava X-CUBE-MEMS1 e û li ser STM3z2 dimeşe. Ew li ser bingeha daneyên ji amûrekê di derbarê rêgez û rewşa tevgerê de agahdariya rast-ê peyda dike.
Ew derketinên jêrîn peyda dike: arastekirina cîhazê (quaternion, goşeya Euler), zivirîna cîhazê (fonksîyona gyroskopê ya virtual), vektora gravîtasyonê û lezbûna xêzik.
Ev pirtûkxane armanc e ku tenê bi ST MEMS re bixebite.
Algorithm di forma pirtûkxaneya statîk de tête peyda kirin û ji bo ku li ser mîkrokontrolerên STM32-ê li ser bingeha ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 û ARM® were bikar anîn hatî çêkirin. Mîmarên Cortex®-M7.
Ew li ser teknolojiya nermalava STM32Cube hatî çêkirin da ku veguheztina li ser mîkrokontrolerên cihêreng STM32 hêsan bike.
The software tê bi sampLe pêkanîna li ser panelek berfirehkirina X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1or X-NUCLEO-IKS02A1 li ser panelek pêşkeftinê ya NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE-L073RE an NUXNUMXC tê xebitandin.
Akronîm û kurtenivîs
Tablo 1. Lîsteya kurtenivîsan
Acronym | Terîf |
API | Navbera bernamesaziya serîlêdanê |
BSP | Pakêta piştgiriya panelê |
GUI | Navrûya bikarhênerê ya grafîkî |
HAL | Qata abstraction Hardware |
IDE | hawîrdora pêşveçûna yekbûyî |
Pirtûkxaneya navîn ya MotionEC-ê di berfirehkirina nermalava X-CUBE-MEMS1 de ji bo STM32Cube
2.1 MotionEC bi dawî bûview
Pirtûkxaneya MotionEC fonksiyona nermalava X-CUBE-MEMS1 berfireh dike.
Pirtûkxane daneyan ji bilez û magnetometre werdigire û li ser bingeha daneyên amûrek li ser rêgez û rewşa tevgerê agahdarî peyda dike.
Pirtûkxane tenê ji bo ST MEMS hatiye çêkirin. Fonksiyon û performans dema ku senzorên MEMS-ê yên din bikar tînin nayê analîz kirin û dikare ji ya ku di belgeyê de hatî diyar kirin cûda be.
A samptetbîqkirina li ser panela berfirehkirina X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 û X-NUCLEO-IKS02A1 heye, ku li ser pêşkeftinek NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152ROZ, NUCLEO-L073ROZ, hatî çêkirin.
2.2 Pirtûkxaneya MotionEC
Agahdariya teknîkî ya ku bi tevahî fonksiyon û pîvanên API-yên MotionEC-ê vedibêje dikare di HTML-ya berhevkirî ya MotionEC_Package.chm de were dîtin. file di peldanka Belgekirinê de cih digire.
2.2.1 Danasîna pirtûkxaneya MotionEC
Pirtûkxaneya MotionEC E-Compass daneyên ku ji leza bilez û magnetometre hatine bidestxistin bi rê ve dibe; ew taybetmendiyên:
- orientation amûrê (quaternions, goşeyê Euler), zivirîna amûrê (fonksîyona gyroscope virtual), vektora gravîtasyonê û derketinên lezkirina rêzê
- fonksiyona ku tenê li ser bingeha daneyên bilez û magnetometre ye
- Daneyên bilez û magnetometre sampfrekansa lingê heya 100 Hz
- pêdiviyên çavkaniyên:
- Cortex-M0+: 3.7 kB kod û 0.1 kB bîra daneyê
- Cortex-M3: 3.8 kB kod û 0.1 kB bîra daneyê
- Cortex-M33: 2.8 kB kod û 0.1 kB bîra daneyê
- Cortex-M4: 2.9 kB kod û 0.1 kB bîra daneyê
- Cortex-M7: 2.8 kB kod û 0.1 kB bîra daneyê - ji bo mîmariya ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 û Cortex M7 heye
2.2.2 MotionEC APIs
MotionEC API ev in:
- uint8_t MotionEC_GetLibVersion(char *guherto)
- guhertoya pirtûkxaneyê vedigire
- *Versiyon nîşanek e ku ji 35 tîpan pêk tê
- hejmara tîpan di rêzika guhertoyê de vedigerîne
• MotionEC_Initialize void (MEC_mcu_type_t mcu_type, float Freq)
- destpêkirina pirtûkxaneya MotionEC û sazkirina mekanîzmaya navxweyî pêk tîne.
- mcu_type celebê MCU ye:
◦ MFX_CM0P_MCU_STM32 standardek STM32 MCU ye
◦ MFX_CM0P_MCU_BLUE_NRG1 BlueNRG-1 e
◦ MFX_CM0P_MCU_BLUE_NRG2 BlueNRG-2 e
◦ MFX_CM0P_MCU_BLUE_NRG_LP BlueNRG -LP ye
- Freq sensor s eampfrekansa ling [Hz]
Not: Berî ku pirtûkxaneya E-Compass bikar bîne divê ev fonksiyon were bang kirin û pêdivî ye ku modula CRC di mîkrokontroller STM32 de (di qeyda demjimêra derdorê ya RCC de) were çalak kirin berî ku pirtûkxaneyê bikar bîne.
- betal MotionEC_SetFrequency (freqê float)
– s saz dikeampFrekansa lingê (guherandina pîvanên fîlterkirinê)
- Freq sensor s eampfrekansa ling [Hz] • betal MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
- algorîtmaya E-Compass (tevlihevkirina daneya bilez û magnetometre) dimeşîne
- *data_in îşaretek avahiyek bi daneya têketinê ye
- Parametreyên ji bo celebê strukturê MEC_input_t ev in:
◦ acc[3] di peymana ENU de rêzek daneya leza bilez e, ku bi g tê pîvandin.
◦ mag[3] di peymana ENU de komek daneya kalibrated magnetometre ye, ku di μT/50 de tê pîvandin.
◦ deltatime s dema deltayê ye (ango, derengiya dema di navbera daneya kevn û nû de) ku bi s tê pîvandin.
- *data_out îşaretek avahiyek bi daneya derketinê ye
- Parametreyên ji bo celebê strukturê MEC_output_t ev in:
◦ quaternion[4] di peymana ENU-ê de çarçoveyek di nav xwe de ye, ku di cîhê de arastekirina 3Dangular a cîhazê temsîl dike; Rêza hêmanan ev e: X, Y, Z, W, bi hêmana W timî erênî
◦ euler[3] di peymana ENU de rêzek goşeyên Euler e, ku li fezayê seyrûsefera 3D-goşeyî ya cîhazê temsîl dike; Rêzkirina hêmanan ev e: yaw, piç, gêr, bi deq tê pîvan
◦ i_gyro[3] di peymana ENU de rêzek rêjeyên goşeyê ye, ku senzorek gyroscope ya virtual temsîl dike, ku bi dps tê pîvandin.
◦ gravît [3] di peymana ENU de komek lezkirinê ye, ku vektora gravîtasyonê temsîl dike, bi g tê pîvandin.
◦ xêzkirî [3] di peymana ENU de rêzek lezkirinê ye, ku leza xêzikî ya amûrê temsîl dike, bi g tê pîvandin.
- betal MotionEC_GetOrientationEnable(MEC_state_t *dewlet)
- rewşa çalak/çalakkirina hesabkirina goşeya Euler digire
- *state nîşanek e ku ji bo rewşa heyî ya çalak / neçalak e - betal MotionEC_SetOrientationEnable(rewşa MEC_state_t)
- rewşa çalak/neçalakkirina hesabkirina goşeya Euler destnîşan dike
- dewlet rewşa nû ya çalak/neçalak e ku tê danîn - betal MotionEC_GetVirtualGyroEnable(MEC_state_t *dewlet)
- rewşa çalak / neçalakkirina hesabê gyroscope virtual digire
- *state nîşanek e ku ji bo rewşa heyî ya çalak / neçalak e - betal MotionEC_SetVirtualGyroEnable(rewşa MEC_state_t)
- rewşa çalak / neçalakkirina hesabê gyroscope ya virtual destnîşan dike
- dewlet rewşa nû ya çalak/neçalak e ku tê danîn - betal MotionEC_GetGetGravityEnable(MEC_state_t *dewlet)
- rewşa çalak/çalakkirina hesabê vektora gravîtasyonê digire
- *state nîşanek e ku ji bo rewşa heyî ya çalak / neçalak e - betal MotionEC_SetGravityEnable(rewşa MEC_state_t)
- rewşa çalak/çalakkirina hesabê vektora gravîtasyonê destnîşan dike
- dewlet rewşa nû ya çalak/neçalak e ku tê danîn - betal MotionEC_GetLinearAccEnable(MEC_state_t *dewlet)
- rewşa çalak/neçalakkirina hesabê lezkirina xêzikê digire
- *state nîşanek e ku ji bo rewşa heyî ya çalak / neçalak e - void MotionEC_SetLinearAccEnable(rewşa MEC_state_t)
- rewşa çalak/neçalakkirina hesabê lezkirina xêzikî destnîşan dike
- dewlet rewşa nû ya çalak/neçalak e ku tê danîn
2.2.3 Tabloya herikîna API
2.2.4 Koda Demo
Koda xwenîşandanê ya jêrîn daneyan ji senzorên bilez û magnetometre dixwîne û daneya ECompass (ango, quaternion, goşeyên Euler, hwd.) digire.
2.2.5 Performansa Algorîtmayê
Algorîtmaya E-Compass tenê daneyên ji leza bilez û magnetometre bikar tîne. Ew bi frekansek nizm (heta 100 Hz) dimeşîne da ku xerckirina hêzê kêm bike.
Sample sepanê
Naverast MotionEC dikare bi hêsanî were manîpule kirin da ku serîlêdanên bikarhêner ava bike; demaample sepanê di peldanka Serlêdanê de tê peyda kirin.
Ew hatiye dîzaynkirin ku li ser panelek pêşkeftinê ya NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE an NUCLEO-L073RZ ve girêdayî ye ku bi panelek X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1A02An X-panexN1 ve girêdayî ye.
Serlêdan rêgez û zivirîna cîhazê di demek rast de nas dike. Daneyên bi navgîniya GUI-ê ve têne xuyang kirin.
Algorîtm van encamên jêrîn peyda dike: arastekirina amûrê (quaternyon, goşeya Euler), zivirîna cîhazê (fonksiyona gyroskopê ya virtual), vektora gravîtasyonê û lezbûna xêzik.
3.1 Serlêdana MEMS-Studio
The sample sepanê serîlêdana MEMS-Studio bikar tîne, ku dikare jê were dakêşandin www.st.com.
Asta 1ê. Piştrast bikin ku ajokarên pêwîst hatine saz kirin û panela STM32 Nucleo bi panela berfirehkirina guncan re bi PC-yê ve girêdayî ye.
Asta 2ê. Serlêdana MEMS-Studio dest pê bikin da ku pencereya serîlêdanê ya sereke vekin.
Ger panelek STM32 Nucleo bi firmware-ya piştgirîkirî bi PC-yê ve girêdayî be, porta COM-ê ya guncan bixweber tê kifş kirin. Bişkojka [Girêdan] bikirtînin da ku girêdana bi panela nirxandinê re saz bikin.
Asta 3ê. Dema ku bi panelek STM32 Nucleo ya bi firmware-ya piştgirîkirî ve girêdayî ye tabloya [Nirxandina Pirtûkxaneyê] tê vekirin.
Ji bo destpêkirin û rawestandina weşana daneyê, ya guncan biguherîne [Destpêk] an [Raweste]
bişkojka li ser bar tool vertical derve.
Daneyên ku ji senzorê ve girêdayî têne dikarin bibin viewli ser barika amûrê ya hundurîn tabloya [Tabloya Daneyê] hilbijêrin.
Asta 4ê. Li ser [E-Compass] bikirtînin da ku rûpela veqetandî ya vê pirtûkxaneyê vekin.
Nîgara jorîn modelek grafîkî ya STM32 Nucleo nîşan dide. Rêzkirin û zivirîna modelê li ser bingeha daneyên E-Compass (quaternions) ku ji hêla algorîtmê ve têne hesibandin têne çêkirin.
Ji bo ku tevgera cîhaza rastîn bi modela grafîkî re hevaheng bikin, amûrê ber bi ekranê ve nîşan bidin û [Modela Vegerandina] bişopînin.
Nirxa sernavê sernavê cîhaza rastîn nîşan dide.
Nîşandana cîhazê rast ber bi jor an jêr ve (li tenişta jorê ya çarçoweya referansa ENU, bi toleransê ± 5 derece) ji sernavê re nirxa N/A dide: ne mimkun e ku meriv ferq bike ku cîhaz ber bi kîjan xala bingehîn ve îşaret dike.
Nirxa qenciyê ji 0 heta 3 nirxan dide û bi kalibrasyona magnetometre re têkildar e: nirx çiqas bilindtir dibe, encamên algorîtmaya daneya E-Compass çêtir dibe.
Asta 5ê. Li ser [Save to File] ji bo vekirina pencereya veavakirina datalogê. Daneyên senzor û E-Compass hilbijêrin ku di nav de bêne tomar kirin file. Hûn dikarin bi tikandina bişkojka têkildar dest bi tomarkirinê bikin an rawestînin.
Asta 6ê. Moda Injection Data dikare were bikar anîn da ku daneyên ku berê hatine bidestxistin ji pirtûkxaneyê re bişînin û encamê bistînin. Li ser barika amûrê ya vertîkal tabloya [Injection Data] hilbijêrin da ku vekêşana veqetandî vekin view ji bo vê fonksiyonê.
Asta 7ê. Bişkojka [Browse] bikirtînin da ku hilbijêrin file bi daneyên berê yên di formata CSV de hatine girtin.
Daneyên di dema niha de dê di tabloyê de werin barkirin view.
Bişkokên din dê çalak bibin. Hûn dikarin li ser bikirtînin:
- Bişkojka [Moda Offline] ji bo guheztina moda negirêdayî ya firmware-yê çalak/çalak bike (moda ku daneyên berê hatine girtin bikar tîne).
- Bişkojkên [Destpêk]/[Rawestandin]/[Gavek]/[Dîbare] ji bo kontrolkirina daneya ji MEMS-Studio ber bi pirtûkxaneyê ve.
Çavkanî
Hemî çavkaniyên jêrîn bi serbestî li ser www.st.com hene.
- UM1859: Destpêkirina bi X-CUBE-MEMS1 tevgera MEMS û berbelavkirina nermalava sensora jîngehê ji bo STM32Cube
- UM1724: Desteyên STM32 Nucleo-64 (MB1136)
- UM3233: Destpêkirina bi MEMS-Studio
Dîroka Revision
Tablo 4. Dîroka guhertoya belgeyê
Rojek | Awa | Changes |
18-Gulan-17 | 1 | Serbestberdana destpêkê. |
25-Jan-18 | 2 | Li ser panela pêşkeftinê ya NUCLEO-L152RE û Tablo 2 refence zêde kirin. Algorîtmaya dema derbasbûyî (μs). |
21-Adar-18 | 3 | Destpêka nûvekirî û Beşa 2.1 MotionEC bi dawî bûview. |
26-November-18 | 4 | Tabloya zêdekirî 3. Cortex -M0+: algorîtmaya dema derbasbûyî (µs). Referansên ARM® zêde kirin Cortex® - M0+ û panela pêşveçûnê ya NUCLEO-L073RZ. |
19-Seb-19 | 5 | Nûvekirî jimar 1. Çarçoveya referansa ENU, Tablo 2. Cortex -M4 û Cortex-M3: Algorîtmaya dema derbasbûyî (µs), Tablo 3. Cortex -M0+: algorîtmaya dema derbasbûyî (µs), Figure 3. Adaptera panela berfirehkirina sensorê ku bi STM32 ve girêdayî ye Nucleo, Figure 4. Unicleo paceya sereke, Figure 5. Tabloya Peyamên Bikarhêner, Figure 6. Pencereya E-Compass û Figure 7. Paceya Datalog. Agahdariya lihevhatina panela berfirehkirina X-NUCLEO-IKS01A3 zêde kir. |
25-Adar-20 | 6 | Destpêka Nûvekirî, Beş 2.2.1: Danasîna pirtûkxaneya MotionEC û Beş 2.2.5: Performansa algorîtmayê. Agahdariya lihevhatina mîmariya ARM Cortex-M7 zêde kir. |
17-Sep-24 | 7 | Destpêka Beşa Nûvekirî, Beş 2.1: MotionEC bi dawî bûview, Beş 2.2.1: Pirtûkxaneya MotionEC şirove, Beş 2.2.2: MotionEC APIs, Beş 2.2.5: Algorîtma performans, Beş 3: Sample sepanê, Beş 3.1: Serîlêdana MEMS-Studio |
BİXWÎNE BİXWÎNE - BİXWÎNE BİXWÎNE
STMicroelectronics NV û şaxên wê ("ST") mafê ku di her kêliyê de bêyî agahdarî li ser hilberên ST-ê û / an jî vê belgeyê biguhezînin, rastkirin, çêtirkirin, guheztin û çêtirkirinan diparêzin. Pêdivî ye ku kirrûbir berî ku fermanan bidin agahdariya herî dawî ya têkildar li ser hilberên ST bistînin. Berhemên ST di dema pejirandina fermanê de li gorî şert û mercên firotanê yên ST têne firotin.
Kiryar bi tenê ji bijartin, hilbijartin û karanîna hilberên ST berpirsiyar in û ST ji bo arîkariya serîlêdanê an sêwirana hilberên kirrûbiran berpirsiyarî nagire.
Li vir ji hêla ST ve ti destûrek, eşkere an jî têgihîştî, ji tu mafek milkê rewşenbîrî re nayê dayîn.
Ji nû ve firotina hilberên ST bi şertên ku ji agahdariya ku li vir hatî destnîşan kirin cûdatir dê garantiyek ku ST ji bo hilberek weha hatî dayîn betal bike.
ST û logoya ST marqeyên ST ne. Ji bo bêtir agahdarî li ser marqeyên ST, serî li www.st.com/trademarks. Hemî navên hilber an karûbarê din milkê xwediyên wan ên têkildar in.
Agahdariya di vê belgeyê de agahdariya ku berê di guhertoyên berê yên vê belgeyê de hatine peyda kirin digire û diguhezîne.
© 2024 STMicroelectronics - Hemî maf parastî ne
Belge / Çavkanî
![]() |
ST X-CUBE-MEMS1 MotionEC Pirtûkxaneyek Navîn e [pdf] Pirtûka Destûra Xwediyê X-CUBE-MEMS1 MotionEC Pirtûkxaneyek Navîn e, X-CUBE-MEMS1, MotionEC Pirtûkxaneyek Navîn e, Pirtûkxaneya Navîn, Pirtûkxane |