UM2225
Manwal għall-utent
Nibdew bil-librerija MotionEC E-Compass f'ħin reali fl-espansjoni X-CUBE-MEMS1 għal STM32Cube
Introduzzjoni
Il-MotionEC huwa komponent tal-librerija tal-middleware tas-softwer X-CUBE-MEMS1 u jaħdem fuq STM3z2. Jipprovdi informazzjoni f'ħin reali dwar l-orjentazzjoni tal-apparat u l-istatus tal-moviment ibbażat fuq data minn apparat.
Jipprovdi l-outputs li ġejjin: orjentazzjoni tal-apparat (quaternions, angoli Euler), rotazzjoni tal-apparat (funzjonalità tal-ġiroskopju virtwali), vettur tal-gravità u aċċelerazzjoni lineari.
Din il-librerija hija maħsuba biex taħdem ma' ST MEMS biss.
L-algoritmu huwa pprovdut f'format ta' librerija statika u huwa ddisinjat biex jintuża fuq mikrokontrolluri STM32 ibbażati fuq ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 u ARM® Arkitetturi Cortex®-M7.
Huwa mibni fuq it-teknoloġija tas-softwer STM32Cube biex itaffi l-portabbiltà fuq mikrokontrolluri STM32 differenti.
Is-softwer jiġi ma 'sample implimentazzjoni taħdem fuq X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1or X-NUCLEO-IKS02A1 bord ta 'espansjoni fuq bord ta' żvilupp NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE jew NUCLEO-L073RZ.
Akronimi u abbrevjazzjonijiet
Tabella 1. Lista ta' akronimi
Akronimu | Deskrizzjoni |
API | Interfaċċja tal-ipprogrammar tal-applikazzjoni |
BSP | Pakkett ta' appoġġ tal-Bord |
GUI | Interfaċċja grafika għall-utent |
HAL | Saff ta' astrazzjoni tal-ħardwer |
IDE | Ambjent ta 'żvilupp integrat |
Librerija tal-middleware MotionEC fl-espansjoni tas-softwer X-CUBE-MEMS1 għal STM32Cube
2.1 MozzjoniEC spiċċatview
Il-librerija MotionEC tespandi l-funzjonalità tas-softwer X-CUBE-MEMS1.
Il-librerija takkwista data mill-aċċellerometru u l-manjetometru u tipprovdi informazzjoni dwar l-orjentazzjoni tal-apparat u l-istatus tal-moviment ibbażat fuq data minn apparat.
Il-librerija hija mfassla għal ST MEMS biss. Il-funzjonalità u l-prestazzjoni meta jintużaw sensuri MEMS oħra mhumiex analizzati u jistgħu jkunu differenti b'mod sinifikanti minn dak deskritt fid-dokument.
A sampl-implimentazzjoni tal-le hija disponibbli fuq X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 u X-NUCLEO-IKS02A1 bord ta 'espansjoni, immuntat fuq NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE jew NUCLEO-L073R developmentboard.
2.2 Librerija MotionEC
Informazzjoni teknika li tiddeskrivi bis-sħiħ il-funzjonijiet u l-parametri tal-APIs ta' MotionEC tista' tinstab fl-HTML miġbur ta' MotionEC_Package.chm. file jinsab fil-folder tad-Dokumentazzjoni.
2.2.1 Deskrizzjoni tal-librerija MotionEC
Il-librerija MotionEC E-Compass timmaniġġja d-dejta miksuba mill-aċċellerometru u l-manjetometru; fiha:
- orjentazzjoni tal-apparat (quaternions, angoli Euler), rotazzjoni tal-apparat (funzjonalità tal-ġiroskopju virtwali), vettur tal-gravità u outputs ta' aċċelerazzjoni lineari
- funzjonalità bbażata fuq id-dejta tal-aċċelerometru u tal-manjetometru biss
- data meħtieġa aċċelerometru u manjetometru sampfrekwenza tal-ling sa 100 Hz
- rekwiżiti tar-riżorsi:
– Cortex-M0+: 3.7 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
– Cortex-M3: 3.8 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
– Cortex-M33: 2.8 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
– Cortex-M4: 2.9 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta
– Cortex-M7: 2.8 kB ta 'kodiċi u 0.1 kB ta' memorja tad-dejta - disponibbli għall-arkitetturi ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 u Cortex M7
2.2.2 MotionEC APIs
Il-MotionEC APIs huma:
- uint8_t MotionEC_GetLibVersion(char *verżjoni)
– jirkupra l-verżjoni tal-librerija
– * Il-verżjoni hija indikatur għal firxa ta' 35 karattru
– jirritorna n-numru ta’ karattri fis-sekwenza tal-verżjoni
• void MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
– iwettaq l-inizjalizzazzjoni tal-librerija MotionEC u s-setup tal-mekkaniżmu intern.
– mcu_type huwa t-tip ta' MCU:
◦ MFX_CM0P_MCU_STM32 huwa MCU standard STM32
◦ MFX_CM0P_MCU_BLUE_NRG1 huwa BlueNRG-1
◦ MFX_CM0P_MCU_BLUE_NRG2 huwa BlueNRG-2
◦ MFX_CM0P_MCU_BLUE_NRG_LP huwa BlueNRG -LP
– frekwenza hija s-sensor sampfrekwenza tal-ling [Hz]
Nota: Din il-funzjoni trid tissejjaħ qabel ma tuża l-librerija E-Compass u l-modulu CRC fil-mikrokontrollur STM32 (fir-reġistru tal-abilitazzjoni tal-arloġġ periferali RCC) irid jiġi attivat qabel ma tuża l-librerija
- void MotionEC_SetFrequency(frekwenzi float)
– jistabbilixxi l-sampfrekwenza tal-ling (li timmodifika l-parametri tal-filtrazzjoni)
– frekwenza hija s-sensor sampfrekwenza tal-ling [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
– iħaddem l-algoritmu E-Compass (fużjoni tad-dejta tal-aċċelerometru u tal-manjetometru)
– *data_in huwa pointer għal struttura b'data input
– il-parametri għall-istruttura tat-tip MEC_input_t huma:
◦ acc[3] hija firxa ta' dejta tal-aċċellerometru fil-konvenzjoni ENU, imkejla f'g
◦ mag[3] hija firxa ta' dejta kalibrata tal-manjetometri fil-konvenzjoni ENU, imkejla f'μT/50
◦ deltatime s huwa l-ħin delta (jiġifieri, dewmien ta’ ħin bejn sett ta’ data l-antik u ġdid) imkejjel f’s
– *data_out huwa pointer għal struttura b'data tal-ħruġ
– il-parametri għall-istruttura tat-tip MEC_output_t huma:
◦ quaternion[4] huwa firxa li fiha kwaternjoni fil-konvenzjoni ENU, li tirrappreżenta l-orjentazzjoni 3Dangular tal-apparat fl-ispazju; ordni tal-elementi hija: X, Y, Z, W, bl-element W dejjem pożittiv
◦ euler[3] hija firxa ta 'angoli ta' Euler fil-konvenzjoni ENU, li tirrappreżenta l-orjentazzjoni 3D-angolari tal-apparat fl-ispazju; l-ordni tal-elementi hija: yaw, pitch, roll, imkejla fi grad
◦ i_gyro[3] hija firxa ta' rati angolari fil-konvenzjoni ENU, li tirrappreżenta sensur tal-ġiroskopju virtwali, imkejjel f'dps
◦ gravità[3] hija firxa ta' aċċelerazzjonijiet fil-konvenzjoni ENU, li tirrappreżenta l-vettur tal-gravità, imkejjel f'g
◦ lineari[3] hija firxa ta' aċċelerazzjonijiet fil-konvenzjoni ENU, li tirrappreżenta l-aċċelerazzjoni lineari tal-apparat, imkejla f'g
- void MotionEC_GetOrientationEnable(MEC_state_t *state)
– jikseb l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-angolu ta' Euler
– *state huwa pointer għall-istat attwali ta 'attivazzjoni/diżattivazzjoni - void MotionEC_SetOrientationEnable(MEC_state_t stat)
– tissettja l-istat ta' attivazzjoni/diżattivazzjoni tal-kalkolu tal-angolu ta' Euler
– l-istat huwa l-istat ġdid ta' abilitazzjoni/diżattivazzjoni li għandu jiġi stabbilit - void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
– jikseb l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-ġiroskopju virtwali
– *state huwa pointer għall-istat attwali ta 'attivazzjoni/diżattivazzjoni - void MotionEC_SetVirtualGyroEnable(MEC_state_t state)
– tissettja l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-ġiroskopju virtwali
– l-istat huwa l-istat ġdid ta' abilitazzjoni/diżattivazzjoni li għandu jiġi stabbilit - void MotionEC_GetGravityEnable(MEC_state_t *state)
– jikseb l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-vettur tal-gravità
– *state huwa pointer għall-istat attwali ta 'attivazzjoni/diżattivazzjoni - void MotionEC_SetGravityEnable(MEC_state_t stat)
– jistabbilixxi l-istat ta' attivazzjoni/diżattivazzjoni tal-kalkolu tal-vettur tal-gravità
– l-istat huwa l-istat ġdid ta' abilitazzjoni/diżattivazzjoni li għandu jiġi stabbilit - void MotionEC_GetLinearAccEnable(MEC_state_t *state)
– jikseb l-istat ta 'attivazzjoni/diżattivazzjoni tal-kalkolu tal-aċċelerazzjoni lineari
– *state huwa pointer għall-istat attwali ta 'attivazzjoni/diżattivazzjoni - void MotionEC_SetLinearAccEnable(MEC_state_t stat)
– tissettja l-istat ta' attivazzjoni/diżattivazzjoni tal-kalkolu tal-aċċelerazzjoni lineari
– l-istat huwa l-istat ġdid ta' abilitazzjoni/diżattivazzjoni li għandu jiġi stabbilit
2.2.3 Tabella tal-fluss tal-API
2.2.4 Kodiċi Demo
Il-kodiċi tad-dimostrazzjoni li ġej jaqra dejta mis-sensuri tal-aċċellerometru u tal-manjetometri u jikseb id-dejta tal-ECopass (jiġifieri, kwaternjoni, angoli ta' Euler, eċċ.).
2.2.5 Prestazzjoni tal-algoritmu
L-algoritmu E-Compass juża data mill-aċċellerometru u l-manjetometru biss. Hija taħdem bi frekwenza baxxa (sa 100 Hz) biex tnaqqas il-konsum tal-enerġija.
Sample applikazzjoni
Il-middleware MotionEC jista 'jiġi manipulat faċilment biex jinbnew applikazzjonijiet tal-utent; kifampl-applikazzjoni hija pprovduta fil-folder tal-Applikazzjoni.
Hija ddisinjata biex taħdem fuq bord ta 'żvilupp NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE jew NUCLEO-L073RZ imqabbad ma' X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1or X-NUCLEO-IKS02A1board ta 'espansjoni.
L-applikazzjoni tirrikonoxxi l-orjentazzjoni u r-rotazzjoni tal-apparat f'ħin reali. Id-dejta tista’ tintwera permezz ta’ GUI.
L-algoritmu jipprovdi l-outputs li ġejjin: orjentazzjoni tal-apparat (quaternions, angoli Euler), rotazzjoni tal-apparat (funzjonalità tal-ġiroskopju virtwali), vettur tal-gravità u aċċelerazzjoni lineari.
3.1 Applikazzjoni MEMS-Studio
Is-sampl-applikazzjoni tuża l-applikazzjoni MEMS-Studio, li tista 'titniżżel minn www.st.com.
Pass 1. Kun żgur li s-sewwieqa meħtieġa huma installati u l-bord STM32 Nucleo b'bord ta 'espansjoni xieraq huwa konness mal-PC.
Pass 2. Niedi l-applikazzjoni MEMS-Studio biex tiftaħ it-tieqa ewlenija tal-applikazzjoni.
Jekk bord STM32 Nucleo b'firmware appoġġjat ikun imqabbad mal-PC, il-port COM xieraq jiġi skopert awtomatikament. Agħfas il-buttuna [Ikkonnettja] biex tistabbilixxi konnessjoni mal-bord tal-evalwazzjoni.
Pass 3. Meta tkun imqabbda ma 'bord STM32 Nucleo b'firmware appoġġjat, tinfetaħ it-tab [Evalwazzjoni tal-Librerija].
Biex tibda u twaqqaf l-istrimjar tad-dejta, aqleb il-[Bidu] xierqa jew [Waqqaf]
buttuna fuq il-bar tal-għodda vertikali ta 'barra.
Id-dejta li ġejja mis-sensor konness tista 'tkun viewed tagħżel it-tab [Tabella tad-Data] fuq il-bar tal-għodda vertikali ta 'ġewwa.
Pass 4. Ikklikkja fuq [E-Compass] biex tiftaħ il-paġna ddedikata għal din il-librerija.
Il-figura ta 'hawn fuq turi mudell STM32 Nucleo grafiku. L-orjentazzjoni u r-rotazzjoni tal-mudell huma bbażati fuq id-dejta tal-E-Compass (quaternions) ikkalkulata mill-algoritmu.
Biex tallinja l-moviment reali tal-apparat mal-mudell grafiku, ippunta l-apparat lejn l-iskrin u imbotta l-[Reset model].
Il-valur tal-intestatura jirrappreżenta l-intestatura tal-apparat reali.
Li tipponta l-apparat dritt 'il fuq jew 'l isfel (tul l-assi 'l fuq tal-qafas ta' referenza ENU, b'tolleranza ta '±5 gradi) jagħti valur N/A għall-intestatura: mhuwiex possibbli li ssir distinzjoni lejn liema punt kardinali qed jipponta l-apparat.
Il-valur ta 'tjubija jagħti 0 sa 3 valuri u huwa relatat mal-kalibrazzjoni tal-manjetometru: iktar ma jkun għoli l-valur, aħjar ir-riżultati tal-algoritmu tad-dejta E-Compass.
Pass 5. Ikklikkja fuq [Save to File] biex tiftaħ it-tieqa tal-konfigurazzjoni tad-datalogging. Agħżel is-sensor u d-data E-Compass li għandhom jiġu ssejvjati fil- file. Tista' tibda jew tieqaf tiffranka billi tikklikkja fuq il-buttuna korrispondenti.
Pass 6. Il-modalità ta 'Injezzjoni tad-Data tista' tintuża biex tibgħat id-dejta akkwistata qabel lil-librerija u tirċievi r-riżultat. Agħżel it-tab [Injezzjoni tad-Data] fuq il-bar tal-għodda vertikali biex tiftaħ id-dedikata view għal din il-funzjonalità.
Pass 7. Ikklikkja fuq il-buttuna [Ibbrawżja] biex tagħżel il- file bid-dejta maqbuda qabel fil-format CSV.
Id-dejta se titgħabba fit-tabella fil-kurrent view.
Buttuni oħra se jsiru attivi. Tista' tikklikkja fuq:
– Buttuna [Modalità Offline] biex taqleb/itfi l-modalità tal-firmware offline (modalità li tuża d-dejta maqbuda qabel).
– Buttuni [Start]/[Stop]/[Pass]/[Irrepeti] biex jikkontrollaw l-għalf tad-dejta minn MEMS-Studio għal-librerija.
Referenzi
Ir-riżorsi kollha li ġejjin huma disponibbli b'xejn fuq www.st.com.
- UM1859: Nibdew bl-MEMS tal-moviment X-CUBE-MEMS1 u espansjoni tas-softwer tas-sensuri ambjentali għal STM32Cube
- UM1724: Bordijiet STM32 Nucleo-64 (MB1136)
- UM3233: Nibdew b'MEMS-Studio
Storja tar-reviżjoni
Tabella 4. Storja tar-reviżjoni tad-dokument
Data | Verżjoni | Bidliet |
18-Mejju-17 | 1 | Rilaxx inizjali. |
25-Jan-18 | 2 | Miżjuda referenzi għall-bord ta 'żvilupp NUCLEO-L152RE u t-Tabella 2. Algoritmu tal-ħin li għadda (μs). |
21-Mar-18 | 3 | Introduzzjoni Aġġornata u Taqsima 2.1 MozzjoniEC fuqview. |
26-Nov-18 | 4 | Tabella Miżjuda 3. Cortex -M0+: algoritmu tal-ħin li għadda (µs). Miżjuda referenzi għal ARM® Cortex® - Bord ta 'żvilupp M0+ u NUCLEO-L073RZ. |
19-Frar-19 | 5 | Figura Aġġornata 1. Qafas ta' referenza ENU, Tabella 2. Cortex -M4 u Cortex-M3: algoritmu tal-ħin li għadda (µs), Tabella 3. Cortex -M0+: algoritmu tal-ħin li għadda (µs), Figura 3. Adapter tal-bord tal-espansjoni tas-sensuri konness mal-STM32 Nucleo, Figura 4. Tieqa ewlenija ta’ Unicleo, Figura 5. Tab tal-Messaġġi tal-Utenti, Figura 6. Tieqa tal-E-Compass u Figura 7. Tieqa tad-Datalog. Miżjud informazzjoni ta 'kompatibilità tal-bord ta' espansjoni X-NUCLEO-IKS01A3. |
25-Mar-20 | 6 | Introduzzjoni Aġġornata, Taqsima 2.2.1: Deskrizzjoni tal-librerija MotionEC u Taqsima 2.2.5: Prestazzjoni tal-algoritmu. Miżjud informazzjoni dwar il-kompatibilità tal-arkitettura ARM Cortex-M7. |
17-Sep-24 | 7 | Taqsima Aġġornata Introduzzjoni, Taqsima 2.1: MozzjoniEC intemmview, Taqsima 2.2.1: Librerija MotionEC deskrizzjoni, Taqsima 2.2.2: MozzjoniEC APIs, Taqsima 2.2.5: Algoritmu prestazzjoni, Taqsima 3: Sample applikazzjoni, Taqsima 3.1: Applikazzjoni MEMS-Studio |
AVVIŻ IMPORTANTI - AQRA B'attenzjoni
STMicroelectronics NV u s-sussidjarji tagħha (“ST”) jirriżervaw id-dritt li jagħmlu bidliet, korrezzjonijiet, titjib, modifiki, u titjib għall-prodotti ST u/jew għal dan id-dokument fi kwalunkwe ħin mingħajr avviż. Ix-xerrejja għandhom jiksbu l-aħħar informazzjoni rilevanti dwar il-prodotti ST qabel ma jagħmlu ordnijiet. Il-prodotti ST jinbiegħu skont it-termini u l-kundizzjonijiet tal-bejgħ ta' ST fis-seħħ fil-ħin tar-rikonoxximent tal-ordni.
Ix-xerrejja huma unikament responsabbli għall-għażla, l-għażla u l-użu tal-prodotti ST u ST ma jassumi l-ebda responsabbiltà għall-assistenza tal-applikazzjoni jew id-disinn tal-prodotti tax-xerrejja.
L-ebda liċenzja, espressa jew impliċita, għal xi dritt ta' proprjetà intellettwali ma tingħata minn ST hawnhekk.
Il-bejgħ mill-ġdid ta' prodotti ST b'dispożizzjonijiet differenti mill-informazzjoni stipulata hawnhekk għandu jħassar kwalunkwe garanzija mogħtija minn ST għal tali prodott.
ST u l-logo ST huma trademarks ta' ST. Għal informazzjoni addizzjonali dwar it-trademarks ST, irreferi għal www.st.com/trademarks. L-ismijiet l-oħra kollha tal-prodott jew tas-servizz huma proprjetà tas-sidien rispettivi tagħhom.
L-informazzjoni f'dan id-dokument tieħu post u tissostitwixxi l-informazzjoni pprovduta qabel fi kwalunkwe verżjoni preċedenti ta' dan id-dokument.
© 2024 STMicroelectronics – Id-drittijiet kollha riżervati
Dokumenti / Riżorsi
![]() |
ST X-CUBE-MEMS1 MotionEC hija Librerija Middleware [pdfManwal tas-Sid X-CUBE-MEMS1 MotionEC hija Librerija Middleware, X-CUBE-MEMS1, MotionEC hija Librerija Middleware, Librerija Middleware, Librerija |