UM2275
Brugermanual
Kom godt i gang med MotionFD real-time falddetektionsbibliotek i X-CUBE-MEMS1 udvidelse til STM32Cube
Indledning
MotionEC er en middleware-bibliotekskomponent i X-CUBE-MEMS1-softwaren og kører på STM3z2. Det giver information i realtid om enhedens orientering og bevægelsesstatus baseret på data fra en enhed.
Det giver følgende output: enhedsorientering (quaternioner, Euler-vinkler), enhedsrotation (virtuelt gyroskopfunktionalitet), tyngdekraftsvektor og lineær acceleration.
Dette bibliotek er kun beregnet til at fungere med ST MEMS.
Algoritmen leveres i statisk biblioteksformat og er designet til at blive brugt på STM32 mikrocontrollere baseret på ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 og ARM® Cortex®-M7 arkitekturer.
Den er bygget oven på STM32Cube softwareteknologi for at lette portabiliteten på tværs af forskellige STM32 mikrocontrollere.
Softwaren leveres med sampimplementeringen kører på X-NUCLEO-IKS4A1 eller X-NUCLEO-IKS01A3 udvidelseskort på et NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE udviklingskort.
Akronymer og forkortelser
Tabel 1. Liste over akronymer
Akronym | Beskrivelse |
API | Applikationsprogrammeringsgrænseflade |
BSP | Bestyrelsesstøttepakke |
GUI | Grafisk brugerflade |
HAL | Hardwareabstraktionslag |
IDE | Integreret udviklingsmiljø |
MotionFD middleware-bibliotek i X-CUBE-MEMS1 softwareudvidelse til STM32Cube
2.1 MotionFD overståetview
MotionFD-biblioteket udvider funktionaliteten af X-CUBE-MEMS1-softwaren.
Biblioteket henter data fra accelerometeret og tryksensoren og giver information om brugerens faldhændelse baseret på data fra en enhed.
Biblioteket er kun designet til ST MEMS. Funktionalitet og ydeevne ved brug af andre MEMS-sensorer analyseres ikke og kan være væsentligt anderledes end det, der er beskrevet i dokumentet.
Sample-implementeringen er tilgængelig for X-NUCLEO-IKS4A1 og X-NUCLEO-IKS01A3 udvidelseskort, monteret på et NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE udviklingskort.
2.2 MotionFD bibliotek
Teknisk information, der fuldstændigt beskriver funktionerne og parametrene for MotionFD API'erne, kan findes i MotionFD_Package.chm kompilerede HTML file findes i mappen Dokumentation.
2.2.1 MotionFD biblioteksbeskrivelse
MotionFD falddetektionsbiblioteket styrer de data, der er hentet fra accelerometeret og tryksensoren; den indeholder:
- mulighed for at skelne, om brugerens fald er sket eller ej
- genkendelse kun baseret på accelerometer- og tryksensordata
- nødvendige accelerometer og tryksensordata sampling-frekvensen er 25 Hz
- ressourcekrav:
– Cortex-M3: 3.6 kB kode og 3.2 kB datahukommelse
– Cortex-M33: 3.4 kB kode og 3.2 kB datahukommelse
– Cortex-M4: 3.4 kB kode og 3.2 kB datahukommelse
– Cortex-M7: 3.4 kB kode og 3.2 datahukommelse - tilgængelig til ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 og ARM Cortex-M7 arkitekturer
2.2.2 MotionFD API'er
MotionFD bibliotekets API'er er:
- uint8_t MotionFD_GetLibVersion(char *version)
– henter biblioteksversionen
– *version er en pegepind til en matrix på 35 tegn
– returnerer antallet af tegn i versionsstrengen - void MotionFD_Initialize(void)
– udfører MotionFD-biblioteksinitialisering og opsætning af den interne mekanisme
Note: Denne funktion skal kaldes, før falddetektionsbiblioteket bruges, og CRC-modulet i STM32-mikrocontrolleren (i RCC-perifere clock-aktiveringsregister) skal aktiveres.
- void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
– udfører falddetekteringsalgoritme
– *data_in parameter er en pegepind til en struktur med inputdata
– parametrene for strukturtypen MFD_input_t er:
◦ AccX er accelerometerets sensorværdi i X-aksen i mg
◦ AccY er accelerometerets sensorværdi i Y-aksen i mg
◦ AccZ er accelerometerets sensorværdi i Z-aksen i mg
◦ Tryk er tryksensorværdien i hPa
– *data_out parameter er en pegepind 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)
– indstiller bibliotekskonfigurationsparametre
– fall_threshold accelerationstærskel i mg
– fall_altitude_delta højdeforskel i cm
– liggetid i sekunder uden bevægelse efter et sammenstød - void MotionFD_GetKnobs(float *fall_threshold, int32_t *fall_altitude_delta, float *liggende_tid)
– henter bibliotekskonfigurationsparametre
– fall_threshold accelerationstærskel i mg
– fall_altitude_delta højdeforskel i cm
– liggetid i sekunder uden bevægelse efter et sammenstød
2.2.3 API-flowdiagram
2.2.4 Demokode
Følgende demonstrationskode læser data fra accelerometeret og tryksensoren og henter faldhændelseskoden.
2.2.5 Algoritmeydelse
Falddetekteringsalgoritmen bruger kun data fra accelerometeret og tryksensoren og kører ved en lav frekvens (25 Hz) for at reducere strømforbruget.
2.3 Sample ansøgning
MotionFD middleware kan let manipuleres til at bygge brugerapplikationer; somampapplikationen findes i mappen Application.
Det er designet til at køre på et NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE udviklingskort forbundet til et X-NUCLEO-IKS4A1 eller X-NUCLEO-IKS01A3 udvidelseskort.
Applikationen genkender brugerens faldhændelse i realtid.
Ovenstående figur viser brugerknappen B1 og de tre LED'er på NUCLEO-F401RE-kortet. Når kortet er tændt, tændes LED LD3 (PWR).
En USB-kabelforbindelse er påkrævet for at overvåge realtidsdata. Kortet får strøm fra pc'en via USB-forbindelse. Denne arbejdstilstand tillader den registrerede brugerfaldshændelse, accelerometer og tryksensordata, tid stamp og til sidst andre sensordata, i realtid, ved hjælp af MEMS-Studio.
2.4 MEMS-Studio applikation
Sampapplikationen bruger MEMS-Studio applikation, som kan downloades fra www.st.com.
Trin 1. Sørg for, at de nødvendige drivere er installeret, og at STM32 Nucleo-kortet med passende udvidelseskort er tilsluttet pc'en.
Trin 2. Start programmet MEMS-Studio for at åbne programmets hovedvindue.
Hvis et STM32 Nucleo-kort med understøttet firmware er tilsluttet pc'en, registreres det automatisk.
Tryk på [Connect]-knappen for at oprette forbindelse til evalueringstavlen.
Trin 3. Når den er tilsluttet et STM32 Nucleo-kort med understøttet firmware, åbnes fanen [Library Evaluation].
For at starte og stoppe datastreaming skal du skifte til den relevante [Start] eller [Stop]
knappen på den ydre lodrette værktøjslinje.
De data, der kommer fra den tilsluttede sensor, kan være viewed at vælge fanen [Datatabel] på det indre lodrette værktøj ba
Trin 4. Klik på [Falddetektion] for at åbne det dedikerede programvindue.
Trin 5. Klik på [Gem til File] for at åbne vinduet til konfiguration af datalogning. Vælg de sensor- og falddetekteringsdata, der skal gemmes i file. Du kan starte eller stoppe med at gemme ved at klikke på den tilsvarende knap.
Trin 6. Datainjektionstilstand kan bruges til at sende de tidligere indhentede data til biblioteket og modtage resultatet. Vælg fanen [Data Injection] på den lodrette værktøjslinje for at åbne den dedikerede view for denne funktionalitet.
Trin 7. Klik på knappen [Gennemse] for at vælge file med de tidligere registrerede data i CSV-format.
Dataene vil blive indlæst i tabellen i den aktuelle view.
Andre knapper bliver aktive. Du kan klikke på:
– [Offline-tilstand]-knap for at slå firmware-offline-tilstanden til/fra (tilstand, der bruger de tidligere registrerede data).
– Knapperne [Start]/[Stop]/[Step]/[Repeat] til at styre datatilførslen fra MEMS-Studio til biblioteket.
2.5 Referencer
Alle følgende ressourcer er gratis tilgængelige på www.st.com.
- UM1859: Kom godt i gang med X-CUBE-MEMS1 motion MEMS og miljøsensorsoftwareudvidelse til STM32Cube
- UM1724: STM32 Nucleo-64-kort (MB1136)
- UM3233: Kom godt i gang med MEMS-Studio
Revisionshistorie
Tabel 4. Dokumentrevisionshistorik
Dato | Version | Ændringer |
22-sep-2017 | 1 | Første udgivelse. |
6. februar 18 | 2 | Tilføjet referencer til NUCLEO-L152RE udviklingskort og tabel 2. Forløbet tid (μs) algoritme. |
21-mars-18 | 3 | Opdateret introduktion og afsnit 2.1 MotionFD overståetview. |
19. februar 19 | 4 | Opdateret tabel 2. Forløbet tid (μs) algoritme og figur 2. STM32 Nucleo: LED'er, knap, jumper. Tilføjet oplysninger om X-NUCLEO-IKS01A3 udvidelseskortkompatibilitet. |
17-sep-24 | 5 | Opdateret afsnitsintroduktion, afsnit 2.1: MotionFD overståetview, Afsnit 2.2.1: MotionFD-biblioteksbeskrivelse, Afsnit 2.2.2: MotionFD API'er, Afsnit 2.2.5: Algoritmeydelse, Afsnit 2.3: Sampapplikationen, afsnit 2.4: MEMS-Studio applikation |
VIGTIG MEDDELELSE – LÆS OMHYGGELIGT
STMicroelectronics NV og dets datterselskaber ("ST") forbeholder sig retten til at foretage ændringer, rettelser, forbedringer, modifikationer og forbedringer af ST-produkter og/eller dette dokument til enhver tid uden varsel. Købere bør indhente de seneste relevante oplysninger om ST-produkter, før de afgiver ordre. ST-produkter sælges i henhold til STs salgs- og salgsbetingelser på tidspunktet for ordrebekræftelse.
Købere er alene ansvarlige for valg, udvælgelse og brug af ST-produkter, og ST påtager sig intet ansvar for ansøgningsassistance eller design af købers produkter.
Ingen licens, hverken udtrykkelig eller underforstået, til nogen intellektuel ejendomsret er givet af ST heri.
Videresalg af ST-produkter med andre bestemmelser end de oplysninger, der er angivet heri, annullerer enhver garanti givet af ST for et sådant produkt.
ST og ST-logoet er varemærker tilhørende ST. For yderligere information om ST-varemærker, se www.st.com/varemærker. Alle andre produkt- eller tjenestenavne tilhører deres respektive ejere.
Oplysningerne i dette dokument erstatter og erstatter oplysninger, der tidligere er leveret i alle tidligere versioner af dette dokument.
© 2024 STMicroelectronics – Alle rettigheder forbeholdes
Dokumenter/ressourcer
![]() |
ST X-CUBE-MEMS1 MotionFD Real Time Fall Detection Library [pdfBrugermanual X-CUBE-MEMS1 MotionFD Real Time Fall Detection Library, X-CUBE-MEMS1, MotionFD Real Time Fall Detection Library, Real Time Fall Detection Library, Fall Detection Library, Detection Library, Library |