ST X-CUBE-MEMS1 Proširenje softvera za senzore i algoritam kretanja

PRIRUČNIK ZA UPOTREBU

MODEL: UM2350

The MotionPW library expands the functionality of the X-CUBE-MEMS1 software by acquiring data from the accelerometer to provide information about the number of steps and cadence performed with the wearable device.

Uvod

The MotionPW middleware library is part of the X-CUBE-MEMS1 software and runs on STM32 Nucleo. It provides real-time information about the number of steps and cadence which the user just performed with the wearable device (e.g. a smart watch).

Ova je biblioteka namijenjena samo za rad sa ST MEMS-om.
The algorithm is provided in static library format and is designed to be used on STM32 microcontrollers based on the ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4, ARM® Cortex®-M7 architecture.

Izgrađen je na temelju softverske tehnologije STM32Cube kako bi se olakšala prenosivost na različite STM32 mikrokontrolere.

Softver dolazi sa sample implementacija radi na X-NUCLEO-IKS4A1 ili X-NUCLEO-IKS01A3 ploči za proširenje na NUCLEO-F401RE, NUCLEO-U575ZI-Q ili NUCLEO-L152RE razvojnoj ploči.

1. Skraćenice i kratice

Tablica 1. Popis akronima

Akronim Opis
API Sučelje za programiranje aplikacija
BSP Paket podrške za ploču
GUI Grafičko korisničko sučelje
HAL Sloj hardverske apstrakcije
IDE Integrirano razvojno okruženje

 

2. MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube

2.1 MotionPW overview

Biblioteka MotionPW proširuje funkcionalnost softvera X-CUBE-MEMS1.

Biblioteka prikuplja podatke s akcelerometra i pruža informacije o broju koraka i kadenci koje je korisnik upravo napravio s nosivim uređajem.
Knjižnica je dizajnirana samo za ST MEMS. Funkcionalnost i performanse pri korištenju drugih MEMS senzora se ne analiziraju i mogu se značajno razlikovati od onoga što je opisano u dokumentu.
A sampImplementacija je dostupna za ploče za proširenje X-NUCLEO-IKS4A1 i X-NUCLEO-IKS01A3, montirane na razvojne ploče NUCLEO-F401RE, NUCLEO-U575ZI-Q ili NUCLEO-L152RE.

2.2 MotionPW library

Technical information fully describing the functions and parameters of the MotionPW APIs can be found in the
MotionPW_Package.chm compiled HTML file nalazi se u mapi Dokumentacija.

2.2.1 MotionPW library description

Biblioteka pedometra MotionPW upravlja podacima prikupljenim s akcelerometra; sadrži:

  • mogućnost detekcije broja koraka, kadence i samopouzdanja
  • prepoznavanje samo na temelju podataka akcelerometra
  • potrebni podaci akcelerometra sampling frekvencija od 50 Hz
  • zahtjevi za resursima:
    – Cortex-M3: 3.7 kB kodne i 1.8 kB podatkovne memorije
    – Cortex-M33: 3.5 kB kodne i 1.8 kB podatkovne memorije
    – Cortex-M4: 3.5 kB kodne i 1.8 kB podatkovne memorije
    – Cortex-M7: 3.6 kB kodne i 1.8 kB podatkovne memorije
  • dostupno za arhitekture ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 i ARM® Cortex®-M7

2.2.2 MotionPW APIs

API-ji biblioteke MotionPW su:

  • uint8_t MotionPW_GetLibVersion(char *verzija)
    – dohvaća verziju biblioteke
    – *verzija je pokazivač na niz od 35 znakova
    – vraća broj znakova u nizu verzije
  • void MotionPW_Initialize(void)
    – performs MotionPW library initialization and setup of the internal mechanism including the dynamic memory allocation

Bilješka: Ova funkcija mora se pozvati prije korištenja biblioteke za fitness aktivnosti, a CRC modul u STM32 mikrokontroleru (u RCC registru za omogućavanje perifernog sata) mora biti omogućen.

  •  void MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)
    – executes pedometer for wrist algorithm
    – *data_in parametar je pokazivač na strukturu s ulaznim podacima
    – the parameters for the structure type MPW_input_t are:
    ◦ AccX je vrijednost senzora akcelerometra u X osi u g
    ◦ AccY je vrijednost senzora akcelerometra u osi Y u g
    ◦ AccZ je vrijednost senzora akcelerometra u osi Z u g
    – CurrentActivity is the enumerated input type MPW_activity_t with the following values:
    ◦ MPW_UNKNOWN_ACTIVITY = 0x00
    ◦ MPW_WALKING = 0x01
    ◦ MPW_FASTWALKING = 0x02
    ◦ MPW_JOGGING = 0x03
    – *data_out parametar je pokazivač na strukturu s izlaznim podacima
    – the parameters for the structure type MPW_output_t are:
    ◦ Nsteps is number of steps performed by user
    ◦ Cadence is the cadence of user steps
    ◦ Confidence is the confidence of calculated output parameter
  •  void MotionPW_ResetPedometerLibrary(void)
    – resets the library internal variables and mechanism into default values (including current step count)
  •  void MotionPW_ResetStepCount(void)
    – resets the current step count
  •  void MotionPW_UpdateEnergyThreshold(float *energy_threshold)
    – updated energy threshold to fine tune step detection algorithm
    – *energy_threshold parameter is a pointer to energy threshold value

2.2.3 API dijagram toka

ST X-CUBE-MEMS1 Proširenje softvera za senzore i algoritam kretanja

2.2.4 Demo kod
The following demonstration code example čita podatke s akcelerometra, dobiva trenutnu aktivnost iz MotionAW biblioteke i dobiva broj koraka, kadencu i pouzdanost iz MotionPW biblioteke.

Ekspanzija

 

Ekspanzija

2.2.5 Izvedba algoritma
The pedometer for wrist algorithm uses data from the accelerometer only and runs at a low frequency (50 Hz) to reduce power consumption.
When replicating fitness activity with the STM32 Nucleo board, ensure the board is oriented perpendicularly to the forearm, to simulate the wristband position.

Ekspanzija

Ekspanzija

2.3 Sample aplikacija

MotionPW middleware se može lako manipulirati za izgradnju korisničkih aplikacija.
A sample application is provided in the Application folder. It is designed to run on a NUCLEO-F401RE, NUCLEOU575ZI- Q or NUCLEO-L152RE development board connected to an X-NUCLEO-IKS4A1 or X-NUCLEO-IKS01A3 expansion board.

Aplikacija prepoznaje korake, ritam i pouzdanost u stvarnom vremenu. Podaci se mogu prikazati putem grafičkog korisničkog sučelja.

Ekspanzija

Gornja slika prikazuje korisnički gumb B1 i tri LED diode NUCLEO-F401RE ploče. Nakon što je ploča uključena, LED LD3 (PWR) se uključuje.
Za praćenje podataka u stvarnom vremenu potreban je USB kabel. Ploča se napaja računalom putem USB veze. Ovaj način rada omogućuje korisniku prikaz detektiranih koraka, kadence i pouzdanosti, podataka akcelerometra, vremena provedenog naamp i eventualno druge podatke senzora, u stvarnom vremenu, koristeći MEMS-Studio.

2.4 Aplikacija MEMS Studio

Sample aplikacija koristi MEMS-Studio aplikaciju, koja se može preuzeti sa www.st.com.

Korak 1. Provjerite jesu li instalirani potrebni upravljački programi i je li STM32 Nucleo ploča s odgovarajućom pločom za proširenje spojena na računalo.

Korak 2. Pokrenite aplikaciju MEMS-Studio da biste otvorili glavni prozor aplikacije.

Ako je STM32 Nucleo ploča s podržanim firmwareom spojena na računalo, automatski se otkriva.
Press the [Connect] button to establish connection to the evaluation board

Ekspanzija

Korak 3. Kada je spojen na STM32 Nucleo ploču s podržanim firmverom, otvara se kartica [Library Evaluation].

Za pokretanje i zaustavljanje strujanja podataka, uključite odgovarajući [Start] START  ili [Zaustavi] STOP gumb na vanjskoj okomitoj alatnoj traci.

Podaci koji dolaze s povezanog senzora mogu biti viewodaberite karticu [Podatkovna tablica] na unutarnjoj okomitoj alatnoj traci.

Ekspanzija

Korak 4. Click on the [Pedometer] to open the dedicated application window.

Ekspanzija

Korak 5. Kliknite na [Spremi u File] za otvaranje prozora za konfiguraciju zapisivanja podataka. Odaberite podatke senzora i pedometra koji će se spremiti u file. Spremanje možete započeti ili zaustaviti klikom na odgovarajući gumb.

Ekspanzija

Korak 6. Način ubacivanja podataka može se koristiti za slanje prethodno prikupljenih podataka u knjižnicu i primanje rezultata. Odaberite karticu [Data Injection] na okomitoj alatnoj traci da biste otvorili namjenski view za ovu funkcionalnost

Ekspanzija

Korak 7. Kliknite na gumb [Browse] za odabir file s prethodno snimljenim podacima u CSV formatu.

Podaci će se učitati u tablicu u trenutnom view.

Ostali gumbi će postati aktivni. Možete kliknuti na:
– [Offline Mode] button to switch the firmware offline mode on/off (mode utilizing the previously captured data).
– Tipke [Start]/[Stop]/[Step]/[Repeat] za kontrolu unosa podataka iz MEMS-Studio u knjižnicu.

3. Reference

Svi sljedeći resursi besplatno su dostupni na www.st.com.

1. UM1859: Getting started with the X-CUBE-MEMS1 motion MEMS and environmental sensor software expansion for STM32Cube
2. UM1724: STM32 Nucleo-64 boards (MB1136)
3. UM3233: Getting started with MEMS-Studio

Povijest revizija

Tablica 4. Povijest revizija dokumenta

Datum  Verzija  Promjene
24. siječnja 18 1 Početno izdanje.
21. ožujka 18 2 Updated Introduction and Section 2.1 MotionPW overview.
20. veljače 19 3 Updated Section 2.2.5: Algorithm performance and Figure 3. STM32 Nucleo: LEDs, button, jumper.
Dodane informacije o kompatibilnosti ploče za proširenje X-NUCLEO-IKS01A3.
20. svibnja-25 4 Ažurirani uvod u odjeljak, odjeljak 2.1: MotionPW prekoview, Section 2.2.1: MotionPW library description, Section 2.2.2: MotionPW APIs, Section 2.2.4: Demo code, Section 2.2.5: Algorithm performance, Section 2.3: Sample application, Section 2.4: MEMS Studio applica

 

VAŽNA OBAVIJEST – PAŽLJIVO PROČITAJTE

STMicroelectronics NV i njegove podružnice ("ST") zadržavaju pravo izmjene, ispravke, poboljšanja, preinake i poboljšanja ST proizvoda i/ili ovog dokumenta u bilo koje vrijeme bez prethodne najave. Kupci bi trebali dobiti najnovije relevantne informacije o ST proizvodima prije narudžbe. Proizvodi ST-a prodaju se u skladu s odredbama i uvjetima prodaje ST-a koji su na snazi ​​u trenutku potvrde narudžbe.
Kupci su isključivo odgovorni za izbor, izbor i korištenje ST proizvoda i ST ne preuzima nikakvu odgovornost za pomoć pri primjeni ili dizajn proizvoda kupaca.

ST ovdje ne daje nikakvu licencu, izričitu ili implicitnu, za bilo koje pravo intelektualnog vlasništva.
Preprodaja ST proizvoda s odredbama različitim od ovdje navedenih informacija poništit će svako jamstvo koje je ST dao za takav proizvod.
ST i ST logo su zaštitni znakovi tvrtke ST. Dodatne informacije o zaštitnim znakovima ST potražite na www.st.com/trademarks. Svi ostali nazivi proizvoda ili usluga vlasništvo su njihovih vlasnika.

Informacije u ovom dokumentu nadziru i zamjenjuju informacije prethodno navedene u bilo kojoj od prethodnih verzija ovog dokumenta.

© 2025 STMicroelectronics – Sva prava pridržana

Provedba

A sample implementation is available for X-NUCLEO-IKS4A1 and X-NUCLEO-IKS01A3 expansion boards mounted on specified development boards.

Tehničke informacije

For detailed functions and parameters of the MotionPW APIs, refer to the MotionPW_Package.chm compiled HTML file nalazi se u mapi Dokumentacija.

Apis

  • MotionPW_GetLibVersion(znak *verzija)
  • MotionPW_Initialize(void)
  • MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)
  • MotionPW_ResetPedometerLibrary(void)
  • Broj koraka_poništavanja_kretanja_(nevažeći)
  • MotionPW_UpdateEnergyThreshold(float *energy_threshold)

Tehnički podaci

  • Naziv proizvoda: MotionPW pedometar u stvarnom vremenu
  • Kompatibilnost: X-CUBE-MEMS1 proširenje za STM32Cube
  • Proizvođač: STMicroelectronics
  • Biblioteka: MotionPW Middleware biblioteka
  • Prikupljanje podataka: Akcelerometar
  • Sampling Frekvencija: 50 Hz

Često postavljana pitanja (FAQ)

P: Mogu li koristiti MotionPW biblioteku s MEMS senzorima koji nisu ST?

A: Biblioteka je dizajnirana samo za ST MEMS senzore.
Kompatibilnost s drugim MEMS senzorima nije zajamčena.

P: Koji su potrebni podaci akcelerometraampfrekvencija linga?

O: Potrebni sampling frequency is 50 Hz for accurate detection of steps and cadence.

P: Kako inicijalizirati biblioteku MotionPW?

A: Call the MotionPW_Initialize() function before using the fitness activity library. Ensure the CRC module in the STM32 microcontroller is enabled.

Dokumenti / Resursi

ST X-CUBE-MEMS1 Proširenje softvera za senzore i algoritam kretanja [pdf] Korisnički priručnik
STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, X-CUBE-MEMS1 Proširenje softvera za senzore i algoritam gibanja, X-CUBE-MEMS1, Proširenje softvera za senzore i algoritam gibanja, Proširenje softvera za algoritam gibanja, Proširenje softvera za algoritam, Proširenje softvera

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *