UM2225
Manyèl itilizatè
Kòmanse ak bibliyotèk MotionEC an tan reyèl E-Compass nan ekspansyon X-CUBE-MEMS1 pou STM32Cube
Entwodiksyon
MotionEC a se yon eleman bibliyotèk middleware nan lojisyèl X-CUBE-MEMS1 ak kouri sou STM3z2. Li bay enfòmasyon an tan reyèl sou oryantasyon aparèy la ak estati mouvman ki baze sou done ki sòti nan yon aparèy.
Li bay rezilta sa yo: oryantasyon aparèy (quaternions, ang Euler), wotasyon aparèy (fonksyonalite jiroskop vityèl), vektè gravite ak akselerasyon lineyè.
Bibliyotèk sa a fèt pou travay avèk ST MEMS sèlman.
Yo bay algorithm nan fòma bibliyotèk estatik epi li fèt pou itilize sou mikrokontwolè STM32 ki baze sou ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 ak ARM®. Achitekti Cortex®-M7.
Li bati sou tèt teknoloji lojisyèl STM32Cube pou fasilite portabilite atravè diferan mikrokontwolè STM32.
Lojisyèl la vini ak sampLe aplikasyon ap kouri sou X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1oswa X-NUCLEO-IKS02A1 tablo ekspansyon sou yon tablo devlopman NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE oswa NUCLEO-L073RZ.
Akwonim ak abrevyasyon
Tablo 1. Lis akwonim yo
Akwonim | Deskripsyon |
API | Koòdone pwogram aplikasyon an |
BSP | Konsèy sipò pake |
entèfas | Koòdone itilizatè grafik |
HAL | Materyèl abstraksyon kouch |
IDE | Anviwònman devlopman entegre |
Bibliyotèk middleware MotionEC nan ekspansyon lojisyèl X-CUBE-MEMS1 pou STM32Cube
2.1 MotionEC finiview
Bibliyotèk MotionEC elaji fonksyonalite lojisyèl X-CUBE-MEMS1 la.
Bibliyotèk la jwenn done ki soti nan akseleromèt ak mayetomèt epi li bay enfòmasyon sou oryantasyon aparèy la ak estati mouvman ki baze sou done ki sòti nan yon aparèy.
Bibliyotèk la fèt pou ST MEMS sèlman. Fonksyonalite ak pèfòmans lè w ap itilize lòt detèktè MEMS yo pa analize epi yo ka siyifikativman diferan de sa ki dekri nan dokiman an.
Yon sampaplikasyon le disponib sou X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 ak X-NUCLEO-IKS02A1 ekspansyon tablo, monte sou yon NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE oswa NUCLEO-L073R devlopman.
2.2 Bibliyotèk MotionEC
Ou ka jwenn enfòmasyon teknik ki dekri konplètman fonksyon ak paramèt API MotionEC yo nan HTML MotionEC_Package.chm konpile. file ki sitiye nan Katab Dokimantasyon an.
2.2.1 Deskripsyon bibliyotèk MotionEC
Bibliyotèk MotionEC E-Compass jere done akeri nan akseleromèt ak mayetomèt; li prezante:
- oryantasyon aparèy (quaternions, ang Euler), wotasyon aparèy (fonksyonalite jiroskop vityèl), vektè gravite ak pwodiksyon akselerasyon lineyè
- fonksyonalite ki baze sou done akseleromèt ak mayetomèt sèlman
- done akseleromèt ak mayetomèt obligatwa sampfrekans ling ki rive jiska 100 Hz
- kondisyon resous:
– Cortex-M0+: 3.7 kB nan kòd ak 0.1 kB nan memwa done
– Cortex-M3: 3.8 kB nan kòd ak 0.1 kB nan memwa done
– Cortex-M33: 2.8 kB nan kòd ak 0.1 kB nan memwa done
– Cortex-M4: 2.9 kB nan kòd ak 0.1 kB nan memwa done
– Cortex-M7: 2.8 kB nan kòd ak 0.1 kB nan memwa done - disponib pou ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 ak Cortex M7 achitekti
2.2.2 API MotionEC
API MotionEC yo se:
- uint8_t MotionEC_GetLibVersion(char *vèsyon)
– rekipere vèsyon bibliyotèk la
– *vèsyon se yon konsèy sou yon etalaj 35 karaktè
– retounen kantite karaktè nan kòd vèsyon an
• anile MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
– fè inisyalizasyon bibliyotèk MotionEC ak konfigirasyon mekanis entèn la.
- mcu_type se kalite MCU:
◦ MFX_CM0P_MCU_STM32 se yon MCU STM32 estanda
◦ MFX_CM0P_MCU_BLUE_NRG1 se BlueNRG-1
◦ MFX_CM0P_MCU_BLUE_NRG2 se BlueNRG-2
◦ MFX_CM0P_MCU_BLUE_NRG_LP se BlueNRG -LP
– frek se detèktè sampfrekans ling [Hz]
Nòt: Ou dwe rele fonksyon sa a anvan ou sèvi ak bibliyotèk E-Compass ak modil CRC nan mikrokontroleur STM32 (nan revèy periferik RCC pèmèt enskri) yo dwe aktive anvan ou sèvi ak bibliyotèk la.
- anile MotionEC_SetFrequency (frekans flote)
– mete s laampfrekans ling (modifye paramèt filtraj yo)
– frek se detèktè sampfrekans ling [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
- kouri algorithm E-Compass (fizyon done akseleromèt ak mayetomèt)
– *data_in se yon konsèy sou yon estrikti ak done antre
– paramèt yo pou kalite estrikti MEC_input_t yo se:
◦ acc[3] se yon seri done akseleromèt nan konvansyon ENU, ki mezire an g
◦ mag[3] se yon seri done kalibre mayetomèt nan konvansyon ENU, ki mezire an μT/50.
◦ deltatime s se tan delta (sa vle di, reta tan ant ansyen ak nouvo seri done) mezire an s.
– *data_out se yon konsèy sou yon estrikti ki gen done pwodiksyon
– paramèt yo pou kalite estrikti MEC_output_t yo se:
◦ Quaternion[4] se yon etalaj ki genyen kwaternyon nan konvansyon ENU, ki reprezante oryantasyon 3Dangular aparèy la nan espas la; lòd eleman yo se: X, Y, Z, W, ak eleman W toujou pozitif
◦ euler[3] se yon seri ang Euler nan konvansyon ENU, ki reprezante oryantasyon angilè 3D aparèy la nan espas; lòd eleman yo se: yaw, anplasman, woule, mezire an degre
◦ i_gyro[3] se yon seri pousantaj angilè nan konvansyon ENU, ki reprezante yon Capteur jiroskop vityèl, ki mezire an dps.
◦ gravite[3] se yon seri akselerasyon nan konvansyon ENU, ki reprezante vektè gravite a, ki mezire an g.
◦ lineyè[3] se yon seri akselerasyon nan konvansyon ENU, ki reprezante akselerasyon lineyè aparèy la, ki mezire an g.
- void MotionEC_GetOrientationEnable(MEC_state_t *eta)
– jwenn eta a aktive / enfim nan kalkil la ang Euler
– *eta se yon konsèy sou eta aktyèl la aktive/enfim - void MotionEC_SetOrientationEnable (MEC_state_t eta)
– mete eta a aktive / enfim nan kalkil ang Euler la
– eta se nouvo eta a pèmèt / enfim yo dwe mete - void MotionEC_GetVirtualGyroEnable(MEC_state_t *eta)
– jwenn eta a pèmèt / enfim nan kalkil jiroskop vityèl la
– *eta se yon konsèy sou eta aktyèl la aktive/enfim - void MotionEC_SetVirtualGyroEnable(MEC_state_t eta)
– fikse eta pèmèt / enfim nan kalkil jiroskop vityèl la
– eta se nouvo eta a pèmèt / enfim yo dwe mete - void MotionEC_GetGravityEnable(MEC_state_t *eta)
– jwenn eta a aktive / enfim nan kalkil vektè gravite a
– *eta se yon konsèy sou eta aktyèl la aktive/enfim - anile MotionEC_SetGravityEnable (MEC_state_t eta)
– fikse eta a pèmèt / enfim nan kalkil vektè gravite a
– eta se nouvo eta a pèmèt / enfim yo dwe mete - void MotionEC_GetLinearAccEnable (MEC_state_t *eta)
– jwenn eta a pèmèt / enfim nan kalkil la akselerasyon lineyè
– *eta se yon konsèy sou eta aktyèl la aktive/enfim - void MotionEC_SetLinearAccEnable (MEC_state_t eta)
– fikse eta a pèmèt / enfim nan kalkil la akselerasyon lineyè
– eta se nouvo eta a pèmèt / enfim yo dwe mete
2.2.3 Tablo koule API
2.2.4 Demo kòd
Kòd demonstrasyon sa a li done ki soti nan akseleromèt ak detèktè mayetomèt yo epi li jwenn done ECompass yo (sa vle di, kwaternyon, ang Euler, elatriye).
2.2.5 Pèfòmans algorithm
Algorithm E-Compass la sèvi ak done ki soti nan akseleromèt ak mayetomèt sèlman. Li kouri nan yon frekans ki ba (jiska 100 Hz) pou diminye konsomasyon pouvwa.
Sample aplikasyon
Ka middleware MotionEC fasil manipile pou konstwi aplikasyon pou itilizatè; kòmampAplikasyon an bay nan katab aplikasyon an.
Li fèt pou kouri sou yon tablo devlopman NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE oswa NUCLEO-L073RZ ki konekte ak yon X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1oswa X-NUCLEO-IKS02A1expansionboard.
Aplikasyon an rekonèt oryantasyon ak wotasyon aparèy la an tan reyèl. Done yo ka parèt atravè yon entèfas.
Algorithm la bay rezilta sa yo: oryantasyon aparèy (quaternions, ang Euler), wotasyon aparèy (fonksyonalite jiroskop vityèl), vektè gravite ak akselerasyon lineyè.
3.1 Aplikasyon MEMS-Studio
S laampaplikasyon an sèvi ak aplikasyon MEMS-Studio, ki ka telechaje nan www.st.com.
Etap 1. Asire w ke chofè ki nesesè yo enstale epi STM32 Nucleo tablo a ak tablo ekspansyon apwopriye konekte ak PC a.
Etap 2. Lanse aplikasyon MEMS-Studio pou louvri fenèt aplikasyon prensipal la.
Si yon tablo STM32 Nucleo ak firmwèr sipòte konekte ak PC a, yo detekte pò COM apwopriye a otomatikman. Peze bouton [Konekte] pou etabli koneksyon ak tablo evalyasyon an.
Etap 3. Lè yo konekte ak yon tablo STM32 Nucleo ak firmwèr sipòte [Evalyasyon bibliyotèk] tab la louvri.
Pou kòmanse epi sispann difizyon done, aktive [Kòmanse] ki apwopriye a. oswa [sispann]
bouton sou ba zouti ekstèn vètikal la.
Done ki soti nan Capteur konekte a kapab viewed chwazi tab la [Tablo Done] sou ba zouti enteryè vètikal la.
Etap 4. Klike sou [E-Compass] pou ouvri paj dedye a pou bibliyotèk sa a.
Figi ki anwo a montre yon modèl grafik STM32 Nucleo. Oryantasyon ak wotasyon modèl la baze sou done E-Compass (quaternions) ki kalkile pa algorithm la.
Pou fè aliman mouvman aparèy reyèl la ak modèl grafik la, montre aparèy la nan direksyon ekran an epi pouse [Reset modèl la].
Valè tit la reprezante tit reyèl aparèy la.
Lonje aparèy la dwat anwo oswa desann (ansanm aks Up nan ankadreman referans ENU, ak tolerans ± 5 degre) bay N/A valè pou tit la: li pa posib yo distenge nan ki pwen kadinal aparèy la ap montre.
Valè bonte a bay 0 a 3 valè epi li gen rapò ak kalibrasyon mayetomètr la: plis valè a pi wo, se pi bon rezilta algorithm done E-Compass la.
Etap 5. Klike sou [Save to File] pou louvri fennèt konfigirasyon dataloging la. Chwazi Capteur a ak done E-Compass yo dwe sove nan la file. Ou ka kòmanse oswa sispann ekonomize lè w klike sou bouton ki koresponn lan.
Etap 6. Mòd Piki Done yo ka itilize pou voye done yo te deja pran nan bibliyotèk la epi resevwa rezilta a. Chwazi tab la [Piki Done] sou ba zouti vètikal la pou louvri dedye a view pou fonksyonalite sa a.
Etap 7. Klike sou bouton [Browse] pou chwazi file ak done yo te deja kaptire nan fòma CSV.
Done yo pral chaje nan tablo a nan aktyèl la view.
Lòt bouton ap vin aktif. Ou ka klike sou:
– Bouton [Offline Mode] pou chanje mikrolojisyèl mòd offline limen/desen (mòd ki itilize done yo te deja kaptire).
– Bouton [Kòmanse]/[Stop]/[Etap]/[Repete] pou kontwole done ki soti nan MEMS-Studio nan bibliyotèk la.
Referans
Tout resous sa yo disponib gratis sou www.st.com.
- UM1859: Kòmanse ak MEMS mouvman X-CUBE-MEMS1 ak ekspansyon lojisyèl Capteur anviwònman an pou STM32Cube
- UM1724: STM32 Nucleo-64 tablo (MB1136)
- UM3233: Kòmanse ak MEMS-Studio
Istwa revizyon
Tablo 4. Istwa revizyon dokiman yo
Dat | Version | Chanjman |
18-17 me | 1 | Premye lage. |
25 janvye 18 | 2 | Te ajoute referans nan tablo devlopman NUCLEO-L152RE ak Tablo 2. Algorithm tan ki pase (μs). |
21-Mar-18 | 3 | Mete ajou Entwodiksyon ak Seksyon 2.1 MotionEC souview. |
26-Nov-18 | 4 | Te ajoute Tablo 3. Cortex -M0+: algorithm tan ki pase (µs). Te ajoute referans sou ARM® Cortex® - M0+ ak tablo devlopman NUCLEO-L073RZ. |
19-fevriye-19 | 5 | Mete ajou Figi 1. ENU referans ankadreman, Tablo 2. Cortex -M4 ak Cortex-M3: algorithm tan ki pase (µs), Tablo 3. Cortex -M0+: algorithm tan ki pase (µs), Figi 3. Adaptè tablo ekspansyon Capteur ki konekte ak STM32 la Nucleo, Figi 4. Fenèt prensipal Unicleo, Figi 5. Onglet Mesaj itilizatè, Figi 6. Fenèt E-Compass ak Figi 7. Fenèt Datalog. Te ajoute enfòmasyon sou konpatibilite tablo ekspansyon X-NUCLEO-IKS01A3. |
25-Mar-20 | 6 | Mete ajou Entwodiksyon, Seksyon 2.2.1: deskripsyon bibliyotèk MotionEC ak Seksyon 2.2.5: Pèfòmans algorithm. Te ajoute enfòmasyon konpatibilite achitekti ARM Cortex-M7. |
17-Sep-24 | 7 | Mizajou Seksyon Entwodiksyon, Seksyon 2.1: MotionEC finiview, Seksyon 2.2.1: Bibliyotèk MotionEC deskripsyon, Seksyon 2.2.2: MotionEC APIs, Seksyon 2.2.5: Algorithm pèfòmans, Seksyon 3: Sample aplikasyon, Seksyon 3.1: MEMS-Studio aplikasyon |
AVI ENPÒTAN – LI AK ATANSYON
STMicroelectronics NV ak filiales li yo ("ST") rezève dwa pou fè chanjman, koreksyon, amelyorasyon, modifikasyon, ak amelyorasyon nan pwodwi ST ak/oswa nan dokiman sa a nenpòt ki lè san avètisman. Achtè yo ta dwe jwenn dènye enfòmasyon enpòtan sou pwodwi ST yo anvan yo mete lòd. Pwodwi ST yo vann daprè tèm ak kondisyon pou vann ST ki an plas nan moman rekonesans lòd la.
Achtè yo se sèl responsab pou chwa, seleksyon, ak itilizasyon pwodwi ST yo epi ST pa sipoze okenn responsablite pou asistans aplikasyon oswa konsepsyon pwodwi achtè yo.
Pa gen okenn lisans, eksprime oswa implicite, sou okenn dwa pwopriyete entelektyèl akòde pa ST nan la a.
Revann pwodwi ST ak dispozisyon ki diferan de enfòmasyon ki endike nan la a pral anile nenpòt garanti ST akòde pou pwodui sa a.
ST ak logo ST a se mak komèsyal ST. Pou plis enfòmasyon sou mak ST, al gade nan www.st.com/trademarks. Tout lòt non pwodwi oswa sèvis yo se pwopriyete pwopriyetè respektif yo.
Enfòmasyon ki nan dokiman sa a ranplase epi ranplase enfòmasyon yo te bay anvan nan nenpòt vèsyon anvan dokiman sa a.
© 2024 STMicroelectronics – Tout dwa rezève
Dokiman / Resous
![]() |
ST X-CUBE-MEMS1 MotionEC se yon Bibliyotèk Middleware [pdfManyèl Pwopriyetè a X-CUBE-MEMS1 MotionEC se yon Bibliyotèk Middleware, X-CUBE-MEMS1, MotionEC se yon Bibliyotèk Middleware, Bibliyotèk Middleware, Bibliyotèk |