ST X - logotypUM2275
Användarmanual

Komma igång med MotionFD falldetekteringsbibliotek i realtid i X-CUBE-MEMS1 expansion för STM32Cube

Introduktion

MotionEC är en middleware-bibliotekskomponent i programvaran X-CUBE-MEMS1 och körs på STM3z2. Det ger realtidsinformation om enhetens orientering och rörelsestatus baserat på data från en enhet.
Den ger följande utgångar: enhetsorientering (quaternioner, Euler-vinklar), enhetsrotation (virtuella gyroskopfunktioner), gravitationsvektor och linjär acceleration.
Detta bibliotek är endast avsett att fungera med ST MEMS.
Algoritmen tillhandahålls i statiskt biblioteksformat och är designad för att användas på STM32-mikrokontroller baserade på ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 och ARM® Cortex®-M7-arkitekturer.
Den är byggd ovanpå STM32Cube mjukvaruteknik för att underlätta portabilitet mellan olika STM32 mikrokontroller.
Programvaran kommer med sampen implementering som körs på X-NUCLEO-IKS4A1 eller X-NUCLEO-IKS01A3 expansionskort på ett NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE utvecklingskort.

Akronymer och förkortningar

Tabell 1. Lista över akronymer

Akronym Beskrivning
API Gränssnitt för applikationsprogrammering
BSP Styrelsestödspaket
GUI Grafiskt användargränssnitt
HAL Hårdvaruabstraktionslager
ID Integrerad utvecklingsmiljö

MotionFD-mellanvarubibliotek i X-CUBE-MEMS1 programexpansion för STM32Cube

2.1 MotionFD överview
MotionFD-biblioteket utökar funktionaliteten hos programvaran X-CUBE-MEMS1.
Biblioteket hämtar data från accelerometern och trycksensorn och ger information om användarens fallhändelse baserat på data från en enhet.
Biblioteket är endast utformat för ST MEMS. Funktionalitet och prestanda vid användning av andra MEMS-sensorer analyseras inte och kan skilja sig väsentligt från vad som beskrivs i dokumentet.
Sampimplementeringen är tillgänglig för X-NUCLEO-IKS4A1 och X-NUCLEO-IKS01A3 expansionskort, monterade på ett NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE utvecklingskort.
2.2 MotionFD-bibliotek
Teknisk information som fullständigt beskriver funktionerna och parametrarna för MotionFD API:er finns i MotionFD_Package.chm kompilerade HTML file finns i mappen Dokumentation.
2.2.1 MotionFD-biblioteksbeskrivning
MotionFD falldetekteringsbibliotek hanterar data som hämtas från accelerometern och trycksensorn; den innehåller:

  • möjlighet att urskilja om användarens fall inträffade eller inte
  • igenkänning endast baserat på accelerometer- och trycksensordata
  • nödvändiga accelerometer och trycksensordata samplingfrekvensen är 25 Hz
  • resurskrav:
    – Cortex-M3: 3.6 kB kod och 3.2 kB dataminne
    – Cortex-M33: 3.4 kB kod och 3.2 kB dataminne
    – Cortex-M4: 3.4 kB kod och 3.2 kB dataminne
    – Cortex-M7: 3.4 kB kod och 3.2 dataminne
  • tillgänglig för arkitekturerna ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 och ARM Cortex-M7

2.2.2 MotionFD API:er
MotionFD-bibliotekets API:er är:

  • uint8_t MotionFD_GetLibVersion(char *version)
    – hämtar biblioteksversionen
    – *version är en pekare till en array med 35 tecken
    – returnerar antalet tecken i versionssträngen
  • void MotionFD_Initialize(void)
    – utför MotionFD-biblioteksinitiering och inställning av den interna mekanismen

Notera: Denna funktion måste anropas innan falldetekteringsbiblioteket används och CRC-modulen i STM32-mikrokontrollern (i RCC perifer klockaktiveringsregister) måste aktiveras.

  • void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
    – kör falldetekteringsalgoritm
    – *data_in-parametern är en pekare till en struktur med indata
    – parametrarna för strukturtypen MFD_input_t är:
    ◦ AccX är accelerometerns sensorvärde i X-axeln i mg
    ◦ AccY är accelerometerns sensorvärde i Y-axeln i mg
    ◦ AccZ är accelerometerns sensorvärde i Z-axeln i mg
    ◦ Tryck är trycksensorns värde i hPa
    – *data_out-parametern är en pekare till en enum med följande objekt:
    ◦ MFD_NOFALL = 0
    ◦ MFD_FALL = 1
  • void MotionFD_SetKnobs(float fall_threshold, int32_t fall_altitude_delta, float liggande_tid)
    – ställer in parametrar för bibliotekskonfiguration
    – fall_threshold accelerationströskel i mg
    – fall_altitude_delta höjdskillnad i cm
    – liggtid i sekunder utan rörelse efter en kollision
  • void MotionFD_GetKnobs(float *fall_threshold, int32_t *fall_altitude_delta, flyta *liggtid)
    – hämtar bibliotekskonfigurationsparametrar
    – fall_threshold accelerationströskel i mg
    – fall_altitude_delta höjdskillnad i cm
    – liggtid i sekunder utan rörelse efter en kollision

2.2.3 API-flödesschema

ST X CUBE MEMS1 MotionFD Real Time Fall Detection Library-

2.2.4 Demokod
Följande demonstrationskod läser data från accelerometern och trycksensorn och hämtar fallhändelsekoden.

ST X CUBE MEMS1 MotionFD Realtidsfalldetekteringsbibliotek- Demokod1ST X CUBE MEMS1 MotionFD Real Time Fall Detection Library- Demokod

2.2.5 Algoritmprestanda
Falldetekteringsalgoritmen använder endast data från accelerometern och trycksensorn och körs med en låg frekvens (25 Hz) för att minska strömförbrukningen.

ST X CUBE MEMS1 MotionFD Realtid Falldetekteringsbibliotek - Algoritm förfluten tid

2.3 Sample ansökan
MotionFD-mellanvaran kan enkelt manipuleras för att bygga användarapplikationer; somampapplikationen finns i mappen Application.
Det är utformat för att köras på ett NUCLEO-F401RE, NUCLEO-U575ZI-Q eller NUCLEO-L152RE utvecklingskort kopplat till ett X-NUCLEO-IKS4A1 eller X-NUCLEO-IKS01A3 expansionskort.
Applikationen känner igen användarens fall i realtid.

ST X CUBE MEMS1 MotionFD Real Time Fall Detection Library- bygel

Bilden ovan visar användarknappen B1 och de tre lysdioderna på NUCLEO-F401RE-kortet. När kortet är påslaget tänds LED LD3 (PWR).
En USB-kabelanslutning krävs för att övervaka realtidsdata. Kortet drivs av PC:n via USB-anslutning. Detta arbetsläge tillåter den upptäckta användarens fallhändelse, accelerometer och trycksensordata, tid stamp och så småningom andra sensordata, i realtid, med hjälp av MEMS-Studio.
2.4 MEMS-Studio applikation
Sampapplikationen använder MEMS-Studio-applikationen, som kan laddas ner från www.st.com.
Steg 1. Se till att nödvändiga drivrutiner är installerade och att STM32 Nucleo-kortet med lämpligt expansionskort är anslutet till datorn.
Steg 2. Starta programmet MEMS-Studio för att öppna programmets huvudfönster.
Om ett STM32 Nucleo-kort med stödd firmware ansluts till PC:n detekteras det automatiskt.
Tryck på [Connect]-knappen för att upprätta anslutning till utvärderingskortet.

ST X CUBE MEMS1 MotionFD Falldetekteringsbibliotek i realtid- Anslut

Steg 3. När den är ansluten till ett STM32 Nucleo-kort med fast programvara som stöds öppnas fliken [Library Evaluation].
För att starta och stoppa dataströmning, växla till lämplig [Start] ST X CUBE MEMS1 MotionFD Real Time Fall Detection Library-ikon eller [Stopp] ST X CUBE MEMS1 MotionFD Real Time Fall Detection Library- icon1  knappen på den yttre vertikala verktygsfältet.
Data som kommer från den anslutna sensorn kan vara viewed välja fliken [Data Table] på det inre vertikala verktyget ba

ST X CUBE MEMS1 MotionFD Realtidsfalldetekteringsbibliotek- Datatabell

Steg 4. Klicka på [Fall Detection] för att öppna det dedikerade programfönstret.

ST X CUBE MEMS1 MotionFD Falldetekteringsbibliotek i realtid - Falldetektering

Steg 5. Klicka på [Spara till File] för att öppna dataloggningskonfigurationsfönstret. Välj sensor- och falldetekteringsdata som ska sparas i file. Du kan börja eller sluta spara genom att klicka på motsvarande knapp.

ST X CUBE MEMS1 MotionFD Realtidsfalldetekteringsbibliotek - Spara till File

Steg 6. Datainjektionsläget kan användas för att skicka tidigare inhämtade data till biblioteket och ta emot resultatet. Välj fliken [Datainjektion] på den vertikala verktygsfältet för att öppna den dedikerade view för denna funktion.

ST X CUBE MEMS1 MotionFD Falldetekteringsbibliotek i realtid - Datainjektion

Steg 7. Klicka på knappen [Bläddra] för att välja file med tidigare insamlad data i CSV-format.
Data kommer att laddas in i tabellen i strömmen view.
Andra knappar blir aktiva. Du kan klicka på:
– Knappen [Offlineläge] för att slå på/av offlineläget för fast programvara (läge som använder tidigare insamlad data).
– Knapparna [Start]/[Stop]/[Step]/[Repeat] för att styra datamatningen från MEMS-Studio till biblioteket.

2.5 referenser
Alla följande resurser är fritt tillgängliga på www.st.com.

  1. UM1859: Komma igång med X-CUBE-MEMS1 motion MEMS och miljösensorprogramexpansion för STM32Cube
  2. UM1724: STM32 Nucleo-64-kort (MB1136)
  3. UM3233: Komma igång med MEMS-Studio

Revisionshistorik

Tabell 4. Dokumentrevisionshistorik

Datum Version Ändringar
 22 september 2017 1 Initial release.
6-18 februari 2 Lade till referenser till NUCLEO-L152RE utvecklingskort och Tabell 2. Algoritm för förfluten tid (μs).
21-mars-18 3 Uppdaterad introduktion och avsnitt 2.1 MotionFD överview.
19-19 februari 4 Uppdaterad tabell 2. Algoritm för förfluten tid (μs) och figur 2. STM32 Nucleo: lysdioder, knapp, bygel.
Lade till X-NUCLEO-IKS01A3 kompatibilitetsinformation för expansionskort.
17 september 24 5 Uppdaterad avsnittsintroduktion, avsnitt 2.1: MotionFD överview, Avsnitt 2.2.1: MotionFD-biblioteksbeskrivning, Avsnitt 2.2.2: MotionFD API:er, Avsnitt 2.2.5: Algoritmprestanda, Avsnitt 2.3: Sampapplikationen, avsnitt 2.4: MEMS-Studio applikation

VIKTIGT MEDDELANDE – LÄS NOGGRANT
STMicroelectronics NV och dess dotterbolag (“ST”) förbehåller sig rätten att göra ändringar, korrigeringar, förbättringar, modifieringar och förbättringar av ST-produkter och/eller av detta dokument när som helst utan föregående meddelande. Köpare bör skaffa den senaste relevanta informationen om ST-produkter innan de lägger beställningar. ST-produkter säljs i enlighet med ST:s försäljningsvillkor som gäller vid tidpunkten för ordererkännande.
Köparen är ensam ansvarig för val, urval och användning av ST-produkter och ST tar inget ansvar för applikationshjälp eller design av köparens produkter.
Ingen licens, uttrycklig eller underförstådd, till någon immateriell rättighet beviljas av ST häri.
Återförsäljning av ST-produkter med bestämmelser som skiljer sig från den information som anges häri upphäver all garanti som beviljats ​​av ST för sådan produkt.
ST och ST-logotypen är varumärken som tillhör ST. För ytterligare information om ST-varumärken, se www.st.com/trademarks. Alla andra produkt- eller tjänstnamn tillhör sina respektive ägare.
Informationen i detta dokument ersätter och ersätter information som tidigare tillhandahållits i tidigare versioner av detta dokument.

© 2024 STMicroelectronics – Alla rättigheter reserverade

Dokument/resurser

ST X-CUBE-MEMS1 MotionFD Falldetekteringsbibliotek i realtid [pdf] Användarmanual
X-CUBE-MEMS1 MotionFD realtidsfalldetekteringsbibliotek, X-CUBE-MEMS1, MotionFD realtidsfalldetekteringsbibliotek, realtidsfalldetekteringsbibliotek, falldetekteringsbibliotek, detekteringsbibliotek, bibliotek

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *