ST X-logoUM2275
Gebruiksaanwijzing

Aan de slag met de MotionFD real-time valdetectiebibliotheek in X-CUBE-MEMS1-uitbreiding voor STM32Cube

Invoering

MotionEC is een middleware-bibliotheekcomponent van de X-CUBE-MEMS1-software en draait op STM3z2. Het biedt realtime-informatie over de oriëntatie en bewegingsstatus van het apparaat op basis van gegevens van een apparaat.
Het biedt de volgende uitvoer: apparaatoriëntatie (quaternionen, Euler-hoeken), apparaatrotatie (virtuele gyroscoopfunctionaliteit), zwaartekrachtvector en lineaire versnelling.
Deze bibliotheek is uitsluitend bedoeld om met ST MEMS te werken.
Het algoritme wordt geleverd in een statisch bibliotheekformaat en is ontworpen voor gebruik op STM32-microcontrollers op basis van de architecturen ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 en ARM® Cortex®-M7.
Het is gebouwd bovenop de STM32Cube-softwaretechnologie om de draagbaarheid tussen verschillende STM32-microcontrollers te vergemakkelijken.
De software wordt geleverd met sample implementatie die draait op een X-NUCLEO-IKS4A1 of X-NUCLEO-IKS01A3 uitbreidingsbord op een NUCLEO-F401RE, NUCLEO-U575ZI-Q of NUCLEO-L152RE ontwikkelbord.

Acroniemen en afkortingen

Tabel 1. Lijst met acroniemen

Acroniem Beschrijving
API Toepassingsprogrammeerinterface
BSP Bestuursondersteuningspakket
Grafische gebruikersinterface Grafische gebruikersinterface
HAL Hardware-abstractielaag
IDE Geïntegreerde ontwikkelomgeving

MotionFD middleware-bibliotheek in X-CUBE-MEMS1 software-uitbreiding voor STM32Cube

2.1 MotionFD overview
De MotionFD-bibliotheek breidt de functionaliteit van de X-CUBE-MEMS1-software uit.
De bibliotheek verzamelt gegevens van de versnellingsmeter en de druksensor en verstrekt informatie over de valgebeurtenis van de gebruiker op basis van gegevens van een apparaat.
De bibliotheek is alleen ontworpen voor ST MEMS. Functionaliteit en prestaties bij gebruik van andere MEMS-sensoren worden niet geanalyseerd en kunnen aanzienlijk verschillen van wat in het document wordt beschreven.
SampDe implementatie is beschikbaar voor de uitbreidingskaarten X-NUCLEO-IKS4A1 en X-NUCLEO-IKS01A3, gemonteerd op een ontwikkelkaart NUCLEO-F401RE, NUCLEO-U575ZI-Q of NUCLEO-L152RE.
2.2 MotionFD-bibliotheek
Technische informatie met een volledige beschrijving van de functies en parameters van de MotionFD API's is te vinden in de gecompileerde HTML-code van MotionFD_Package.chm file bevindt zich in de map Documentatie.
2.2.1 Beschrijving van de MotionFD-bibliotheek
De MotionFD-valdetectiebibliotheek beheert de gegevens die zijn verkregen van de accelerometer en de druksensor. De bibliotheek beschikt over:

  • mogelijkheid om te onderscheiden of de gebruiker wel of niet is gevallen
  • herkenning uitsluitend gebaseerd op accelerometer- en druksensorgegevens
  • vereiste accelerometer- en druksensorgegevens sampDe lengtefrequentie is 25 Hz
  • vereisten voor middelen:
    – Cortex-M3: 3.6 kB code en 3.2 kB datageheugen
    – Cortex-M33: 3.4 kB code en 3.2 kB datageheugen
    – Cortex-M4: 3.4 kB code en 3.2 kB datageheugen
    – Cortex-M7: 3.4 kB code en 3.2 kB datageheugen
  • beschikbaar voor ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 en ARM Cortex-M7 architecturen

2.2.2 MotionFD-API's
De MotionFD-bibliotheek-API's zijn:

  • uint8_t MotionFD_GetLibVersion(char *versie)
    – haalt de bibliotheekversie op
    – *versie is een verwijzing naar een array van 35 tekens
    – retourneert het aantal tekens in de versietekenreeks
  • ongeldig MotionFD_Initialize(ongeldig)
    – voert MotionFD-bibliotheekinitialisatie en -instelling van het interne mechanisme uit

Opmerking: Deze functie moet worden aangeroepen voordat de valdetectiebibliotheek wordt gebruikt en de CRC-module in de STM32-microcontroller (in het RCC-perifere klokinschakelregister) moet worden ingeschakeld.

  • void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
    – voert valdetectiealgoritme uit
    – *data_in parameter is een verwijzing naar een structuur met invoergegevens
    – de parameters voor het structuurtype MFD_input_t zijn:
    ◦ AccX is de accelerometersensorwaarde in X-as in mg
    ◦ AccY is de accelerometersensorwaarde op de Y-as in mg
    ◦ AccZ is de accelerometersensorwaarde in de Z-as in mg
    ◦ Druk is de druksensorwaarde in hPa
    – *data_out parameter is een aanwijzer naar een enum met de volgende items:
    ◦ MFD_GEEN VAL = 0
    ◦ MFD_VAL = 1
  • void MotionFD_SetKnobs(float val_drempel, int32_t val_hoogte_delta, float liggende_tijd)
    – stelt bibliotheekconfiguratieparameters in
    – val_drempel versnellingsdrempel in mg
    – fall_altitude_delta hoogteverschil in cm
    – ligtijd tijd in seconden zonder beweging na een impact
  • void MotionFD_GetKnobs(float *val_drempel, int32_t *val_hoogte_delta, float *lig_tijd)
    – haalt bibliotheekconfiguratieparameters op
    – val_drempel versnellingsdrempel in mg
    – fall_altitude_delta hoogteverschil in cm
    – ligtijd tijd in seconden zonder beweging na een impact

2.2.3 API-stroomschema

ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek-

2.2.4 Democode
De volgende demonstratiecode leest gegevens van de accelerometer en de druksensor en haalt de valgebeurteniscode op.

ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek - Democode1ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek - Democode

2.2.5 Prestaties van algoritmen
Het valdetectiealgoritme gebruikt alleen gegevens van de accelerometer en de druksensor en werkt op een lage frequentie (25 Hz) om het stroomverbruik te beperken.

ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek - Algoritme verlooptijd

2.3 Sample applicatie
De MotionFD-middleware kan eenvoudig worden gemanipuleerd om gebruikersapplicaties te bouwen;ampDe applicatie bevindt zich in de map Applicatie.
Het is ontworpen om te draaien op een NUCLEO-F401RE, NUCLEO-U575ZI-Q of NUCLEO-L152RE ontwikkelbord dat is aangesloten op een X-NUCLEO-IKS4A1 of X-NUCLEO-IKS01A3 uitbreidingsbord.
De applicatie herkent in real-time de val van de gebruiker.

ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek - jumper

De bovenstaande afbeelding toont de gebruikersknop B1 en de drie LED's van het NUCLEO-F401RE-bord. Zodra het bord van stroom wordt voorzien, gaat LED LD3 (PWR) AAN.
Een USB-kabelverbinding is vereist om realtimegegevens te bewaken. Het bord wordt gevoed door de pc via een USB-verbinding. Deze werkmodus maakt het mogelijk om de gedetecteerde valgebeurtenis van de gebruiker, accelerometer- en druksensorgegevens, tijd stamp en eventueel andere sensorgegevens, in real-time, met behulp van de MEMS-Studio.
2.4 MEMS-Studio-applicatie
De sampDe applicatie maakt gebruik van de MEMS-Studio-applicatie, die kan worden gedownload van www.st.com.
Stap 1. Zorg ervoor dat de benodigde stuurprogramma's zijn geïnstalleerd en dat de STM32 Nucleo-kaart met de juiste uitbreidingskaart op de pc is aangesloten.
Stap 2. Start de MEMS-Studio-applicatie om het hoofdvenster van de applicatie te openen.
Als een STM32 Nucleo-bord met ondersteunde firmware op de pc wordt aangesloten, wordt deze automatisch gedetecteerd.
Druk op de knop [Verbinden] om verbinding te maken met het evaluatiebord.

ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek - Connect

Stap 3. Wanneer u verbinding maakt met een STM32 Nucleo-bord met ondersteunde firmware, wordt het tabblad [Bibliotheekevaluatie] geopend.
Om de gegevensstroom te starten en te stoppen, schakelt u de juiste [Start]-knop in ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek-pictogram of [Stoppen] ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek- icon1  knop op de buitenste verticale werkbalk.
De gegevens die afkomstig zijn van de aangesloten sensor kunnen zijn viewdoor het tabblad [Datatabel] op de verticale werkbalk aan de binnenkant te selecteren

ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek - Gegevenstabel

Stap 4. Klik op [Valdetectie] om het speciale toepassingsvenster te openen.

ST X CUBE MEMS1 MotionFD Real Time Valdetectiebibliotheek - Valdetectie

Stap 5. Klik op [Opslaan naar File] om het dataloging-configuratievenster te openen. Selecteer de sensor- en valdetectiegegevens die moeten worden opgeslagen in de fileU kunt het opslaan starten of stoppen door op de overeenkomstige knop te klikken.

ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek - Opslaan in File

Stap 6. De Data Injection-modus kan worden gebruikt om de eerder verkregen gegevens naar de bibliotheek te sturen en het resultaat te ontvangen. Selecteer het tabblad [Data Injection] op de verticale werkbalk om de speciale view voor deze functionaliteit.

ST X CUBE MEMS1 MotionFD Real Time Valdetectie Bibliotheek - Data-injectie

Stap 7. Klik op de knop [Bladeren] om de file met de eerder vastgelegde gegevens in CSV-formaat.
De gegevens worden in de huidige tabel geladen view.
Andere knoppen worden actief. U kunt klikken op:
– [Offline-modus]-knop om de offline-modus van de firmware in/uit te schakelen (modus die gebruikmaakt van eerder vastgelegde gegevens).
– [Start]/[Stop]/[Stap]/[Herhalen]-knoppen om de gegevensfeed van MEMS-Studio naar de bibliotheek te regelen.

2.5 Referenties
Alle volgende bronnen zijn gratis beschikbaar op www.st.com.

  1. UM1859: Aan de slag met de X-CUBE-MEMS1 bewegings-MEMS en software-uitbreiding voor omgevingssensoren voor STM32Cube
  2. UM1724: STM32 Nucleo-64-kaarten (MB1136)
  3. UM3233: Aan de slag met MEMS-Studio

Revisiegeschiedenis

Tabel 4. Document revisiegeschiedenis

Datum Versie Wijzigingen
 22-2017-XNUMX 1 Eerste release.
6-feb-18 2 Referenties toegevoegd aan het NUCLEO-L152RE-ontwikkelbord en tabel 2. Algoritme voor verstreken tijd (μs).
21-mrt-18 3 Bijgewerkte inleiding en sectie 2.1 MotionFD overview.
19-feb-19 4 Bijgewerkte tabel 2. Algoritme voor verstreken tijd (μs) en afbeelding 2. STM32 Nucleo: LED's, knop, jumper.
Compatibiliteitsinformatie voor X-NUCLEO-IKS01A3-uitbreidingskaarten toegevoegd.
17-24-XNUMX 5 Bijgewerkte sectie Inleiding, Sectie 2.1: MotionFD overview, Sectie 2.2.1: Beschrijving van de MotionFD-bibliotheek, Sectie 2.2.2: MotionFD API's, Sectie 2.2.5: Algoritmeprestaties, Sectie 2.3: Sampde applicatie, Sectie 2.4: MEMS-Studio applicatie

BELANGRIJKE MEDEDELING – LEES ZORGVULDIG
STMicroelectronics NV en haar dochterondernemingen ("ST") behouden zich het recht voor om op elk moment zonder kennisgeving wijzigingen, correcties, verbeteringen, aanpassingen en aanpassingen aan te brengen in ST-producten en/of in dit document. Kopers dienen de laatste relevante informatie over ST-producten te verkrijgen voordat ze een bestelling plaatsen. ST-producten worden verkocht overeenkomstig de verkoopvoorwaarden van ST die van kracht zijn op het moment van orderbevestiging.
Kopers zijn als enige verantwoordelijk voor de keuze, selectie en het gebruik van ST-producten. ST aanvaardt geen aansprakelijkheid voor hulp bij de toepassing of het ontwerp van de producten van kopers.
ST verleent hierbij geen enkele licentie, expliciet of impliciet, op enig intellectueel eigendomsrecht.
Bij wederverkoop van ST-producten met bepalingen die afwijken van de hierin vermelde informatie, vervalt de garantie die ST op dat product verleent.
ST en het ST-logo zijn handelsmerken van ST. Voor aanvullende informatie over ST-handelsmerken, zie www.st.com/trademarksAlle andere product- of servicenamen zijn eigendom van hun respectievelijke eigenaren.
De informatie in dit document vervangt de informatie die eerder in eerdere versies van dit document is verstrekt.

© 2024 STMicroelectronics – Alle rechten voorbehouden

Documenten / Bronnen

ST X-CUBE-MEMS1 MotionFD Real Time Valdetectie Bibliotheek [pdf] Gebruikershandleiding
X-CUBE-MEMS1 MotionFD Real Time Valdetectie Bibliotheek, X-CUBE-MEMS1, MotionFD Real Time Valdetectie Bibliotheek, Real Time Valdetectie Bibliotheek, Valdetectie Bibliotheek, Detectie Bibliotheek, Bibliotheek

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *