UM2225
Jagoran mai amfani
Farawa tare da MotionEC E-Compass na ainihin lokacin a cikin X-CUBE-MEMS1 fadada don STM32Cube
Gabatarwa
MotionEC wani ɓangaren ɗakin karatu ne na tsakiya na software na X-CUBE-MEMS1 kuma yana aiki akan STM3z2. Yana ba da bayanai na ainihi game da daidaita na'urar da matsayin motsi dangane da bayanai daga na'ura.
Yana bayar da abubuwan da ke biyowa: daidaitawar na'ura (quaternions, Euler angles), jujjuyawar na'urar (aikin gyroscope na zahiri), vector na nauyi da haɓakar layin layi.
An yi nufin wannan ɗakin karatu don yin aiki tare da ST MEMS kawai.
An samar da algorithm ɗin a sigar ɗakin karatu na tsaye kuma an ƙirƙira don amfani da su akan STM32 microcontrollers dangane da ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 da ARM® Cortex®-M7 gine-gine.
An gina shi a saman fasahar software ta STM32Cube don sauƙaƙa ɗauka a cikin na'urorin STM32 daban-daban.
Software yana zuwa tare da sample aiwatarwa yana gudana akan X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 ko X-NUCLEO-IKS02A1 allon fadadawa akan NUCLO-F401RE, NUCLO-U575ZI-Q, NUcleO-L152RE ko ci gaban NUCLEO-L073
Acronyms da gajarta
Tebura 1. Jerin gajarta
Acronym | Bayani |
API | Aikace-aikacen shirye-shiryen dubawa |
BSP | Kunshin goyan bayan allo |
GUI | Ƙwararren mai amfani da hoto |
HAL | Hardware abstraction Layer |
IDE | Hadaddiyar yanayin ci gaba |
MotionEC middleware library a cikin X-CUBE-MEMS1 fadada software don STM32Cube
2.1 MotionEC ya ƙareview
Laburaren MotionEC yana faɗaɗa ayyukan software na X-CUBE-MEMS1.
Laburaren yana samun bayanai daga accelerometer da magnetometer kuma yana ba da bayanai game da daidaitawar na'urar da matsayin motsi dangane da bayanai daga na'urar.
An tsara ɗakin karatu don ST MEMS kawai. Ayyuka da aiki yayin amfani da wasu na'urori masu auna firikwensin MEMS ba a tantance su ba kuma suna iya bambanta sosai da abin da aka bayyana a cikin takaddar.
A sample aiwatarwa yana samuwa akan X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 da X-NUCLEO-IKS02A1 fadada allon, wanda aka ɗora akan NUCLO-F401RE, NUCLO-U575ZI-Q, NUCLO-L152RE ko NUCLO-L073RE BoardXNUMX
2.2 Laburaren MotionEC
Ana iya samun bayanan fasaha da ke bayyana ayyuka da sigogin MotionEC APIs a cikin MotionEC_Package.chm da aka haɗa HTML file dake cikin babban fayil ɗin Takardun Takardun.
2.2.1 Bayanin ɗakin karatu na MotionEC
Laburaren MotionEC E-Compass yana sarrafa bayanan da aka samu daga na'urar accelerometer da magnetometer; yana da fasali:
- daidaitawar na'urar (quaternions, Euler angles), jujjuyawar na'urar (aikin gyroscope na gani), ƙarfin nauyi da abubuwan haɓaka hanzarin layi
- ayyuka dangane da accelerometer da bayanan magnetometer kawai
- Accelerometer da ake buƙata da bayanan magnetometer sampling mita har zuwa 100 Hz
- bukatun albarkatun:
- Cortex-M0+: 3.7 kB na lamba da 0.1 kB na ƙwaƙwalwar ajiya
- Cortex-M3: 3.8 kB na lamba da 0.1 kB na ƙwaƙwalwar ajiya
- Cortex-M33: 2.8 kB na lamba da 0.1 kB na ƙwaƙwalwar ajiya
- Cortex-M4: 2.9 kB na lamba da 0.1 kB na ƙwaƙwalwar ajiya
- Cortex-M7: 2.8 kB na lamba da 0.1 kB na ƙwaƙwalwar ajiya - akwai don ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 da Cortex M7 gine-gine
2.2.2 MotionEC APIs
MotionEC APIs sune:
- uint8_t MotionEC_GetLibVersion (char * sigar)
– maido da sigar ɗakin karatu
– *Sigar nuni ce zuwa tsararrun haruffa 35
– Yana mayar da adadin haruffa a cikin sigar sigar
• MotionEC_Initialize mara amfani (MEC_mcu_type_t mcu_type, float freq)
- yana aiwatar da ƙaddamar da ɗakin karatu na MotionEC da saitin tsarin ciki.
- mcu_type shine nau'in MCU:
◦ MFX_CM0P_MCU_STM32 daidaitaccen STM32 MCU ne
◦ MFX_CM0P_MCU_BLUE_NRG1 shine BlueNRG-1
◦ MFX_CM0P_MCU_BLUE_NRG2 shine BlueNRG-2
◦ MFX_CM0P_MCU_BLUE_NRG_LP shine BlueNRG -LP
- freq shine firikwensin sampling mita [Hz]
Lura: Dole ne a kira wannan aikin kafin amfani da ɗakin karatu na E-Compass da kuma tsarin CRC a cikin STM32 microcontroller (a cikin agogon RCC mai kunna rajista) kafin amfani da ɗakin karatu.
- MotionEC_SetFrequency (mai yawan iyo)
- saita sampmitar ling (gyara sigogin tacewa)
- freq shine firikwensin sampling mita [Hz] • MotionEC_Run (MEC_input_t *data_in, MEC_output_t *data_out)
- Yana gudanar da E-Compass algorithm (accelerometer da haɗin bayanan magnetometer)
- *data_in shine mai nuni ga tsari tare da bayanan shigarwa
- sigogi na nau'in tsarin MEC_input_t sune:
◦ acc[3] jeri ne na bayanan accelerometer a cikin taron ENU, wanda aka auna a g
◦ mag[3] tsararrun bayanai ne na magnetometer calibrated a cikin taron ENU, wanda aka auna a μT/50
◦ deltatime s shine lokacin delta (watau, jinkiri tsakanin tsoho da sabon saitin bayanai) wanda aka auna a s
- *Data_out shine mai nuni ga tsari tare da bayanan fitarwa
- sigogi na nau'in tsarin MEC_output_t sune:
◦ quaternion [4] shi ne tsararru mai ɗauke da quaternion a cikin taron ENU, wanda ke wakiltar yanayin 3Dangular na na'urar a cikin sarari; Tsarin abubuwa shine: X, Y, Z, W, tare da ingantaccen kashi W
◦ euler [3] shi ne tsarar kusurwar Euler a cikin taron ENU, wanda ke wakiltar yanayin 3D-angular na na'urar a sararin samaniya; tsari na abubuwan shine: yaw, pitch, roll, auna a deg
◦ i_gyro[3] jeri ne na adadin kusurwoyi a cikin taron ENU, wanda ke wakiltar firikwensin gyroscope, wanda aka auna a dps.
◦ nauyi [3] shine tsararru na haɓakawa a cikin taron ENU, wanda ke wakiltar vector mai nauyi, wanda aka auna a g
◦ layin layi [3] shine tsararru na haɓakawa a cikin al'adar ENU, wanda ke wakiltar haɓaka madaidaiciyar na'urar, wanda aka auna a g
- Void MotionEC_GetOrientationEnable(MEC_state_t *jihar)
- yana samun kunna / kashe yanayin lissafin kusurwar Euler
– *jihar mai nuni ce ga yanayin kunnawa/kashe halin yanzu - babu MotionEC_SetOrientationEnable(MEC_state_t state)
- saita kunna / kashe yanayin lissafin kusurwar Euler
– Jiha ita ce sabuwar kunnawa/kashe jihar da za a saita - babu MotionEC_GetVirtualGyroEnable(MEC_state_t *jihar)
- yana samun kunnawa/kashe yanayin lissafin gyroscope mai kama-da-wane
– *jihar mai nuni ce ga yanayin kunnawa/kashe halin yanzu - MotionEC_SetVirtualGyroEnable(MEC_state_t state)
– saita kunnawa/kashe yanayin lissafin gyroscope kama-da-wane
– Jiha ita ce sabuwar kunnawa/kashe jihar da za a saita - Void MotionEC_GetGravityEnable(MEC_state_t *jihar)
- yana samun kunnawa/kashe yanayin lissafin vector na nauyi
– *jihar mai nuni ce ga yanayin kunnawa/kashe halin yanzu - Void MotionEC_SetGravityEnable(MEC_state_t state)
– saita kunnawa/kashe yanayin lissafin vector na nauyi
– Jiha ita ce sabuwar kunnawa/kashe jihar da za a saita - Void MotionEC_GetLinearAccEnable(MEC_state_t *jihar)
- yana samun kunnawa/musa yanayin lissafin saurin hanzarin layi
– *jihar mai nuni ce ga yanayin kunnawa/kashe halin yanzu - babu MotionEC_SetLinearAccEnable(MEC_state_t state)
– saita kunnawa/musa yanayin lissafin hanzarin mikakke
– Jiha ita ce sabuwar kunnawa/kashe jihar da za a saita
2.2.3 API mai gudana
2.2.4 Lambar demo
Lambar nuni mai zuwa tana karanta bayanai daga na'urorin accelerometer da magnetometer kuma suna samun bayanan ECompass (watau quaternion, Euler angles, da sauransu).
2.2.5 Ayyukan Algorithm
E-Compass algorithm yana amfani da bayanai daga accelerometer da magnetometer kawai. Yana aiki a ƙananan mitar (har zuwa 100 Hz) don rage yawan wutar lantarki.
Sampda aikace-aikace
MotionEC middleware za a iya sauƙin sarrafa shi don gina aikace-aikacen masu amfani; kamar yaddaampAna samar da aikace-aikacen a cikin babban fayil ɗin Aikace-aikacen.
An ƙera shi don yin aiki akan NUCLO-F401RE, NUCLO-U575ZI-Q, NUCLO-L152RE ko NUCLO-L073RZ kwamitin ci gaban da aka haɗa zuwa X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 ko X-NUCLEO-IKSansion board02.
Aikace-aikacen yana gane daidaitawar na'urar da juyawa a cikin ainihin lokaci. Ana iya nuna bayanan ta hanyar GUI.
Algorithm yana samar da abubuwan da ke biyowa: daidaitawar na'ura (quaternions, Euler kusurwa), jujjuyawar na'urar (aikin gyroscope na zahiri), vector na nauyi da haɓakar layin layi.
3.1 MEMS-Studio aikace-aikace
A sample aikace-aikacen yana amfani da aikace-aikacen MEMS-Studio, wanda za'a iya saukewa daga www.st.com.
Mataki na 1. Tabbatar cewa an shigar da direbobi masu dacewa kuma an haɗa allon STM32 Nucleo tare da allon faɗaɗa dacewa da PC.
Mataki na 2. Kaddamar da aikace-aikacen MEMS-Studio don buɗe babban taga aikace-aikacen.
Idan an haɗa allon STM32 Nucleo tare da firmware mai goyan baya zuwa PC, ana gano tashar COM mai dacewa ta atomatik. Danna maɓallin [Haɗa] don kafa haɗi zuwa allon ƙima.
Mataki na 3. Lokacin da aka haɗa zuwa allon STM32 Nucleo tare da goyan bayan firmware [Kimanin Laburaren] ana buɗewa.
Don farawa da dakatar da watsa bayanai, kunna abin da ya dace [Fara] ko [Dakata]
maballin akan mashin kayan aiki na waje na tsaye.
Bayanan da ke fitowa daga firikwensin da aka haɗa zai iya zama viewed zaɓi shafin [Data Table] akan mashin kayan aiki na ciki.
Mataki na 4. Danna kan [E-Compass] don buɗe shafin da aka keɓe don wannan ɗakin karatu.
Hoton da ke sama yana nuna samfurin hoto na STM32 Nucleo. Matsakaicin ƙirar da jujjuyawar sun dogara ne akan bayanan E-Compass (quaternions) waɗanda aka ƙididdige su ta hanyar algorithm.
Don daidaita motsin na'ura na gaske tare da ƙirar hoto, nuna na'urar zuwa allon kuma tura [Sake saitin samfurin].
Ƙimar taken tana wakiltar ainihin kan na'urar.
Nuna na'urar kai tsaye ko ƙasa (tare da sama axis na firam ɗin tunani na ENU, tare da juriya na ± 5) yana ba da ƙimar N/A don taken: ba zai yiwu a bambanta zuwa ga ainihin batu na na'urar ke nunawa ba.
Kyakkyawan darajar yana ba da ƙimar 0 zuwa 3 kuma yana da alaƙa da daidaitawar magnetometer: mafi girman ƙimar, mafi kyawun sakamakon E-Compass data algorithm.
Mataki na 5. Danna [Ajiye zuwa File] don buɗe taga daidaitawar bayanai. Zaɓi bayanan firikwensin da E-Compass don adanawa a cikin file. Kuna iya farawa ko dakatar da adanawa ta danna maɓallin da ya dace.
Mataki na 6. Ana iya amfani da yanayin allurar bayanai don aika bayanan da aka samu a baya zuwa ɗakin karatu da karɓar sakamakon. Zaɓi shafin [Injection Data] akan mashin kayan aiki a tsaye don buɗe keɓaɓɓun view don wannan aikin.
Mataki na 7. Danna maɓallin [Bincike] don zaɓar file tare da bayanan da aka kama a baya a cikin tsarin CSV.
Za a loda bayanan a cikin tebur a halin yanzu view.
Wasu maɓallan za su yi aiki. Kuna iya danna kan:
- Maɓallin [Yanayin kan layi] don kunna / kashe yanayin layi na firmware (yanayin amfani da bayanan da aka kama a baya).
- [Fara]/[Tsaya]/[Mataki]/[Maimaita] maɓallan don sarrafa ciyarwar bayanai daga MEMS-Studio zuwa ɗakin karatu.
Magana
Duk waɗannan albarkatu ana samun su kyauta akan www.st.com.
- UM1859: Farawa tare da X-CUBE-MEMS1 motsi MEMS da haɓaka software na firikwensin muhalli don STM32Cube
- UM1724: STM32 Nucleo-64 allon (MB1136)
- UM3233: Farawa tare da MEMS-Studio
Tarihin bita
Tebur 4. Tarihin sake fasalin daftarin aiki
Kwanan wata | Sigar | Canje-canje |
18-Mayu-17 | 1 | Sakin farko. |
25-Janairu-18 | 2 | Abubuwan da aka haɗa zuwa hukumar haɓaka NUCLO-L152RE da Table 2. Lokacin da ya wuce (μs) algorithm. |
21-Maris-18 | 3 | Gabatarwa da aka sabunta da Sashe na 2.1 MotionEC ya ƙareview. |
26-Nuwamba-18 | 4 | Ƙara Teburin 3. Cortex -M0+: lokacin da ya wuce (µs) algorithm. Ƙara nassoshi zuwa ARM® Cortex® – M0+ da hukumar ci gaban NUCLO-L073RZ. |
19-Fabrairu-19 | 5 | Hoto da aka sabunta 1. Firam ɗin tunani na ENU, Tebura 2. Cortex -M4 da Cortex-M3: lokacin da ya wuce (µs) algorithm, Table 3. Cortex -M0+: lokacin da ya wuce (µs) algorithm, Hoto 3. Adaftar allon firikwensin firikwensin da aka haɗa zuwa STM32 Nucleo, Figure 4. Unicleo main taga, Hoto 5. User Messages tab, Figure 6. E-Compass taga da Figure 7. Datalog taga. Ƙara bayanan dacewa da allo X-NUCLEO-IKS01A3. |
25-Maris-20 | 6 | Gabatarwa da aka sabunta, Sashe 2.2.1: Bayanin ɗakin karatu na MotionEC da Sashe 2.2.5: Ayyukan Algorithm. Ƙara bayanan dacewa na gine-ginen ARM Cortex-M7. |
17-Satumba-24 | 7 | Gabatarwa Sashe da aka sabunta, Sashe na 2.1: MotionEC ya ƙareview, Sashe 2.2.1: MotionEC library bayanin, Sashe na 2.2.2: MotionEC APIs, Sashe na 2.2.5: Algorithm aiki, Sashe na 3: Sample aikace-aikace, Sashe 3.1: MEMS-Studio aikace-aikace |
MUHIMMAN SANARWA – KU KARANTA A HANKALI
STMicroelectronics NV da rassan sa ("ST") sun tanadi haƙƙin yin canje-canje, gyare-gyare, haɓakawa, gyare-gyare, da haɓakawa ga samfuran ST da/ko ga wannan takaddar a kowane lokaci ba tare da sanarwa ba. Ya kamata masu siye su sami sabbin bayanai masu dacewa akan samfuran ST kafin yin oda. Ana siyar da samfuran ST bisa ga sharuɗɗa da sharuɗɗan siyarwa na ST a wurin lokacin amincewa.
Masu siye ke da alhakin zaɓi, zaɓi, da amfani da samfuran ST kuma ST ba ta ɗaukar alhakin taimakon aikace-aikacen ko ƙirar samfuran masu siye.
Babu lasisi, bayyananne ko fayyace, ga kowane haƙƙin mallakar fasaha da ST ke bayarwa a nan.
Sake siyar da samfuran ST tare da tanadi daban-daban da bayanan da aka gindaya a ciki zai ɓata kowane garantin da ST ya bayar don irin wannan samfurin.
ST da tambarin ST alamun kasuwanci ne na ST. Don ƙarin bayani game da alamun kasuwanci na ST, koma zuwa www.st.com/trademarks. Duk sauran samfuran ko sunayen sabis mallakin masu su ne.
Bayanin da ke cikin wannan takarda ya maye gurbin bayanan da aka kawo a baya a cikin kowane juzu'in wannan takaddar.
© 2024 STMicroelectronics – Duk haƙƙin mallaka
Takardu / Albarkatu
![]() |
ST X-CUBE-MEMS1 MotionEC ɗakin karatu ne na Middleware [pdf] Littafin Mai shi X-CUBE-MEMS1 MotionEC ɗakin karatu ne na Middleware, X-CUBE-MEMS1, MotionEC ɗakin karatu ne na Middleware, Laburare na Tsakiya, Laburare. |