UM2275
Brukerhåndbok
Komme i gang med MotionFD sanntids falldeteksjonsbibliotek i X-CUBE-MEMS1 utvidelse for STM32Cube
Introduksjon
MotionEC er en mellomvarebibliotekskomponent i X-CUBE-MEMS1-programvaren og kjører på STM3z2. Den gir sanntidsinformasjon om enhetens orientering og bevegelsesstatus basert på data fra en enhet.
Den gir følgende utganger: enhetsorientering (kvaternioner, Euler-vinkler), enhetsrotasjon (virtuell gyroskopfunksjonalitet), gravitasjonsvektor og lineær akselerasjon.
Dette biblioteket er kun ment å fungere med ST MEMS.
Algoritmen leveres i statisk biblioteksformat og er designet for å brukes på STM32 mikrokontrollere basert på ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 og ARM® Cortex®-M7-arkitekturer.
Den er bygget på toppen av STM32Cube programvareteknologi for å lette portabiliteten på tvers av forskjellige STM32 mikrokontrollere.
Programvaren kommer med sampen implementering som kjører på X-NUCLEO-IKS4A1 eller X-NUCLEO-IKS01A3 utvidelseskort på et NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE utviklingskort.
Akronymer og forkortelser
Tabell 1. Liste over akronymer
Akronym | Beskrivelse |
API | Applikasjonsprogrammeringsgrensesnitt |
BSP | Styrestøttepakke |
GUI | Grafisk brukergrensesnitt |
HAL | Maskinvareabstraksjonslag |
IDE | Integrert utviklingsmiljø |
MotionFD mellomvarebibliotek i X-CUBE-MEMS1 programvareutvidelse for STM32Cube
2.1 MotionFD overview
MotionFD-biblioteket utvider funksjonaliteten til X-CUBE-MEMS1-programvaren.
Biblioteket henter inn data fra akselerometeret og trykksensoren og gir informasjon om brukerfallhendelsen basert på data fra en enhet.
Biblioteket er kun designet for ST MEMS. Funksjonalitet og ytelse ved bruk av andre MEMS-sensorer blir ikke analysert og kan være vesentlig forskjellig fra det som er beskrevet i dokumentet.
Sampimplementeringen er tilgjengelig for utvidelseskortene X-NUCLEO-IKS4A1 og X-NUCLEO-IKS01A3, montert på et NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE utviklingskort.
2.2 MotionFD-bibliotek
Teknisk informasjon som fullstendig beskriver funksjonene og parametrene til MotionFD API-ene finnes i MotionFD_Package.chm kompilerte HTML file ligger i dokumentasjonsmappen.
2.2.1 MotionFD bibliotekbeskrivelse
MotionFD falldeteksjonsbiblioteket administrerer dataene som er hentet fra akselerometeret og trykksensoren; den har:
- mulighet til å skille om brukerfallet har skjedd eller ikke
- gjenkjenning kun basert på akselerometer- og trykksensordata
- nødvendige data for akselerometer og trykksensorampling-frekvensen er 25 Hz
- ressurskrav:
– Cortex-M3: 3.6 kB kode og 3.2 kB dataminne
– Cortex-M33: 3.4 kB kode og 3.2 kB dataminne
– Cortex-M4: 3.4 kB kode og 3.2 kB dataminne
– Cortex-M7: 3.4 kB kode og 3.2 dataminne - tilgjengelig for ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 og ARM Cortex-M7 arkitekturer
2.2.2 MotionFD APIer
MotionFD-bibliotekets APIer er:
- uint8_t MotionFD_GetLibVersion(tegn *versjon)
– henter bibliotekversjonen
– *versjon er en peker til en matrise på 35 tegn
– returnerer antall tegn i versjonsstrengen - void MotionFD_Initialize(void)
– utfører MotionFD-bibliotekinitialisering og oppsett av den interne mekanismen
Note: Denne funksjonen må kalles opp før du bruker falldeteksjonsbiblioteket, og CRC-modulen i STM32-mikrokontrolleren (i RCC perifer klokkeaktiveringsregister) må aktiveres.
- void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
– utfører falldeteksjonsalgoritme
– *data_in-parameteren er en peker til en struktur med inndata
– parametrene for strukturtypen MFD_input_t er:
◦ AccX er akselerometerets sensorverdi i X-aksen i mg
◦ AccY er akselerometersensorverdien i Y-aksen i mg
◦ AccZ er akselerometerets sensorverdi i Z-aksen i mg
◦ Trykk er trykksensorverdien i hPa
– *data_out-parameteren er en peker til en enum med følgende elementer:
◦ MFD_NOFALL = 0
◦ MFD_FALL = 1 - void MotionFD_SetKnobs(float fall_threshold, int32_t fall_altitude_delta, float liggende_tid)
– setter bibliotekkonfigurasjonsparametere
– fall_terskel akselerasjonsterskel i mg
– fall_altitude_delta høydeforskjell i cm
– liggetid i sekunder uten bevegelse etter et sammenstøt - void MotionFD_GetKnobs(float *fall_threshold, int32_t *fall_altitude_delta, flyte *liggende_tid)
– får bibliotekkonfigurasjonsparametere
– fall_terskel akselerasjonsterskel i mg
– fall_altitude_delta høydeforskjell i cm
– liggetid i sekunder uten bevegelse etter et sammenstøt
2.2.3 API-flytskjema
2.2.4 Demokode
Følgende demonstrasjonskode leser data fra akselerometeret og trykksensoren og henter fallhendelseskoden.
2.2.5 Algoritmeytelse
Falldeteksjonsalgoritmen bruker kun data fra akselerometeret og trykksensoren og kjører på en lav frekvens (25 Hz) for å redusere strømforbruket.
2.3 Sample søknaden
MotionFD-mellomvaren kan enkelt manipuleres for å bygge brukerapplikasjoner; somampapplikasjonen finnes i applikasjonsmappen.
Den er designet for å kjøre på et NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE utviklingskort koblet til et X-NUCLEO-IKS4A1 eller X-NUCLEO-IKS01A3 utvidelseskort.
Applikasjonen gjenkjenner brukerfallhendelsen i sanntid.
Figuren ovenfor viser brukerknappen B1 og de tre lysdiodene på NUCLEO-F401RE-kortet. Når kortet er slått på, slås LED LD3 (PWR) PÅ.
En USB-kabeltilkobling er nødvendig for å overvåke sanntidsdata. Brettet drives av PC-en via USB-tilkobling. Denne arbeidsmodusen tillater den oppdagede brukerens fallhendelse, akselerometer og trykksensordata, tid stamp og til slutt andre sensordata, i sanntid, ved bruk av MEMS-Studio.
2.4 MEMS-Studio-applikasjon
Sampapplikasjonen bruker MEMS-Studio-applikasjonen, som kan lastes ned fra www.st.com.
Trinn 1. Sørg for at de nødvendige driverne er installert og at STM32 Nucleo-kortet med passende utvidelseskort er koblet til PC-en.
Trinn 2. Start MEMS-Studio-applikasjonen for å åpne hovedprogramvinduet.
Hvis et STM32 Nucleo-kort med støttet fastvare er koblet til PC-en, oppdages det automatisk.
Trykk på [Koble til]-knappen for å opprette forbindelse til evalueringstavlen.
Trinn 3. Når det er koblet til et STM32 Nucleo-kort med støttet fastvare, åpnes [Library Evaluation]-fanen.
For å starte og stoppe datastrømming, veksle mellom passende [Start] eller [Stopp]
knappen på den ytre vertikale verktøylinjen.
Dataene som kommer fra den tilkoblede sensoren kan være viewed å velge kategorien [Data Table] på det indre vertikale verktøyet ba
Trinn 4. Klikk på [Fall Detection] for å åpne det dedikerte programvinduet.
Trinn 5. Klikk på [Lagre til File] for å åpne konfigurasjonsvinduet for datalogging. Velg sensor- og falldeteksjonsdata som skal lagres i file. Du kan starte eller slutte å lagre ved å klikke på den tilsvarende knappen.
Trinn 6. Datainjeksjonsmodus kan brukes til å sende tidligere innhentede data til biblioteket og motta resultatet. Velg kategorien [Datainjeksjon] på den vertikale verktøylinjen for å åpne den dedikerte view for denne funksjonaliteten.
Trinn 7. Klikk på [Bla gjennom]-knappen for å velge file med tidligere innhentede data i CSV-format.
Dataene vil bli lastet inn i tabellen i gjeldende view.
Andre knapper blir aktive. Du kan klikke på:
– [Frakoblet modus]-knapp for å slå fastvaren frakoblet modus på/av (modus som bruker tidligere innhentede data).
– [Start]/[Stopp]/[Step]/[Gjenta]-knapper for å kontrollere datamatingen fra MEMS-Studio til biblioteket.
2.5 Referanser
Alle de følgende ressursene er fritt tilgjengelig på www.st.com.
- UM1859: Komme i gang med X-CUBE-MEMS1 motion MEMS og miljøsensorprogramvareutvidelse for STM32Cube
- UM1724: STM32 Nucleo-64-kort (MB1136)
- UM3233: Komme i gang med MEMS-Studio
Revisjonshistorikk
Tabell 4. Dokumentrevisjonshistorikk
Dato | Versjon | Endringer |
22. september 2017 | 1 | Første utgivelse. |
6-18 februar | 2 | Lagt til referanser til NUCLEO-L152RE utviklingskort og tabell 2. Algoritme for medgått tid (μs). |
21. mars 18 | 3 | Oppdatert introduksjon og avsnitt 2.1 MotionFD overview. |
19-19 februar | 4 | Oppdatert Tabell 2. Forløpt tid (μs) algoritme og Figur 2. STM32 Nucleo: LED, knapp, jumper. Lagt til X-NUCLEO-IKS01A3 utvidelseskortkompatibilitetsinformasjon. |
17. september 24 | 5 | Oppdatert seksjonsintroduksjon, seksjon 2.1: MotionFD overview, Seksjon 2.2.1: MotionFD-bibliotekbeskrivelse, Seksjon 2.2.2: MotionFD APIer, Seksjon 2.2.5: Algoritmeytelse, Seksjon 2.3: Sampapplikasjonen, avsnitt 2.4: MEMS-Studio applikasjon |
VIKTIG MERKNAD – LES NØYE
STMicroelectronics NV og dets datterselskaper ("ST") forbeholder seg retten til å gjøre endringer, rettelser, forbedringer, modifikasjoner og forbedringer av ST-produkter og/eller dette dokumentet når som helst uten varsel. Kjøpere bør innhente den nyeste relevante informasjonen om ST-produkter før de legger inn bestillinger. ST-produkter selges i henhold til STs salgsvilkår som er på plass på tidspunktet for ordrebekreftelse.
Kjøpere er alene ansvarlige for valg, valg og bruk av ST-produkter og ST påtar seg intet ansvar for søknadshjelp eller utforming av kjøpers produkter.
Ingen lisens, uttrykt eller underforstått, til noen immaterielle rettigheter er gitt av ST heri.
Videresalg av ST-produkter med andre bestemmelser enn informasjonen som er angitt her, vil ugyldiggjøre enhver garanti gitt av ST for slikt produkt.
ST og ST-logoen er varemerker for ST. For ytterligere informasjon om ST-varemerker, se www.st.com/trademarks. Alle andre produkt- eller tjenestenavn tilhører sine respektive eiere.
Informasjonen i dette dokumentet erstatter og erstatter informasjon som tidligere er gitt i tidligere versjoner av dette dokumentet.
© 2024 STMicroelectronics – Alle rettigheter forbeholdt
Dokumenter / Ressurser
![]() |
ST X-CUBE-MEMS1 MotionFD Falldeteksjonsbibliotek i sanntid [pdfBrukerhåndbok X-CUBE-MEMS1 MotionFD sanntids falldeteksjonsbibliotek, X-CUBE-MEMS1, MotionFD sanntids falldeteksjonsbibliotek, sanntids falldeteksjonsbibliotek, falldeteksjonsbibliotek, deteksjonsbibliotek, bibliotek |