ST X - logoUM2275
Manual de utilizare

Noțiuni introductive cu biblioteca de detectare a căderii în timp real MotionFD în extensia X-CUBE-MEMS1 pentru STM32Cube

Introducere

MotionEC este o componentă de bibliotecă middleware a software-ului X-CUBE-MEMS1 și rulează pe STM3z2. Oferă informații în timp real despre orientarea dispozitivului și starea mișcării pe baza datelor de la un dispozitiv.
Oferă următoarele ieșiri: orientarea dispozitivului (cuaternioni, unghiuri Euler), rotația dispozitivului (funcționalitate giroscop virtual), vector gravitațional și accelerație liniară.
Această bibliotecă este destinată să funcționeze numai cu ST MEMS.
Algoritmul este furnizat în format de bibliotecă static și este conceput pentru a fi utilizat pe microcontrolere STM32 bazate pe ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 și ARM® Arhitecturi Cortex®-M7.
Este construit pe baza tehnologiei software STM32Cube pentru a ușura portabilitatea între diferite microcontrolere STM32.
Software-ul vine cu sampImplementarea fișierului rulează pe placa de expansiune X-NUCLEO-IKS4A1 sau X-NUCLEO-IKS01A3 pe o placă de dezvoltare NUCLEO-F401RE, NUCLEO-U575ZI-Q sau NUCLEO-L152RE.

Acronime si abrevieri

Tabelul 1. Lista de acronime

Acronim Descriere
API Interfață de programare a aplicației
BSP Pachet de suport pentru bord
GUI Interfață grafică cu utilizatorul
HAL Stratul de abstractizare hardware
IDE Mediu de dezvoltare integrat

Biblioteca middleware MotionFD în extensia software X-CUBE-MEMS1 pentru STM32Cube

2.1 MotionFD terminatview
Biblioteca MotionFD extinde funcționalitatea software-ului X-CUBE-MEMS1.
Biblioteca achiziționează date de la accelerometru și senzorul de presiune și oferă informații despre evenimentul de cădere a utilizatorului pe baza datelor de la un dispozitiv.
Biblioteca este concepută numai pentru ST MEMS. Funcționalitatea și performanța atunci când se utilizează alți senzori MEMS nu sunt analizate și pot fi semnificativ diferite de cele descrise în document.
SampImplementarea fișierului este disponibilă pentru placa de extensie X-NUCLEO-IKS4A1 și X-NUCLEO-IKS01A3, montată pe o placă de dezvoltare NUCLEO-F401RE, NUCLEO-U575ZI-Q sau NUCLEO-L152RE.
2.2 Biblioteca MotionFD
Informații tehnice care descriu complet funcțiile și parametrii API-urilor MotionFD pot fi găsite în HTML compilat MotionFD_Package.chm file aflat în folderul Documentation.
2.2.1 Descrierea bibliotecii MotionFD
Biblioteca de detectare a căderilor MotionFD gestionează datele achiziționate de la accelerometru și senzorul de presiune; prezinta:

  • posibilitatea de a distinge dacă căderea utilizatorului a avut loc sau nu
  • recunoaștere bazată numai pe date ale accelerometrului și senzorului de presiune
  • date necesare accelerometrului și senzorului de presiune sampfrecvența ling este de 25 Hz
  • cerințe de resurse:
    – Cortex-M3: 3.6 kB de cod și 3.2 kB de memorie de date
    – Cortex-M33: 3.4 kB de cod și 3.2 kB de memorie de date
    – Cortex-M4: 3.4 kB de cod și 3.2 kB de memorie de date
    – Cortex-M7: 3.4 kB de cod și 3.2 de memorie de date
  • disponibil pentru arhitecturile ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 și ARM Cortex-M7

2.2.2 API-uri MotionFD
API-urile bibliotecii MotionFD sunt:

  • uint8_t MotionFD_GetLibVersion(char *versiune)
    – preia versiunea bibliotecii
    – *versiunea este un indicator către o matrice de 35 de caractere
    – returnează numărul de caractere din șirul de versiune
  • void MotionFD_Initialize(void)
    – efectuează inițializarea bibliotecii MotionFD și setarea mecanismului intern

Nota: Această funcție trebuie apelată înainte de a utiliza biblioteca de detectare a căderii, iar modulul CRC din microcontrolerul STM32 (în registrul de activare a ceasului periferic RCC) trebuie să fie activat.

  • void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
    – execută algoritmul de detectare a căderii
    – Parametrul *data_in este un pointer către o structură cu date de intrare
    – parametrii pentru tipul de structură MFD_input_t sunt:
    ◦ AccX este valoarea senzorului accelerometrului pe axa X în mg
    ◦ AccY este valoarea senzorului accelerometrului pe axa Y în mg
    ◦ AccZ este valoarea senzorului accelerometrului pe axa Z în mg
    ◦ Apăsați este valoarea senzorului de presiune în hPa
    – *parametrul data_out este un pointer către o enumerare cu următoarele elemente:
    ◦ MFD_NOFALL = 0
    ◦ MFD_FALL = 1
  • void MotionFD_SetKnobs(float fall_threshold, int32_t fall_altitude_delta, float lying_time)
    – setează parametrii de configurare a bibliotecii
    – pragul de accelerare fall_threshold în mg
    – fall_altitude_delta diferență de altitudine în cm
    – timpul de culcare în secunde fără mișcare după un impact
  • void MotionFD_GetKnobs(float *fall_threshold, int32_t *fall_altitude_delta, float *lying_time)
    – primește parametrii de configurare a bibliotecii
    – pragul de accelerare fall_threshold în mg
    – fall_altitude_delta diferență de altitudine în cm
    – timpul de culcare în secunde fără mișcare după un impact

2.2.3 Diagramă API

ST X CUBE MEMS1 MotionFD Biblioteca de detectare a căderilor în timp real-

2.2.4 Cod demonstrativ
Următorul cod demonstrativ citește datele de la accelerometru și senzorul de presiune și primește codul evenimentului de cădere.

ST X CUBE MEMS1 MotionFD Biblioteca de detectare a căderilor în timp real - Cod demonstrativ1ST X CUBE MEMS1 Bibliotecă de detectare a căderilor în timp real MotionFD - Cod demonstrativ

2.2.5 Performanța algoritmului
Algoritmul de detectare a căderii folosește doar date de la accelerometru și senzorul de presiune și rulează la o frecvență joasă (25 Hz) pentru a reduce consumul de energie.

ST X CUBE MEMS1 Bibliotecă de detectare a căderii în timp real MotionFD - Timp de scurgere al algoritmului

2.3 Sample aplicație
Middleware-ul MotionFD poate fi ușor manipulat pentru a construi aplicații utilizator; caampaplicația este furnizată în folderul Aplicație.
Este proiectat să ruleze pe o placă de dezvoltare NUCLEO-F401RE, NUCLEO-U575ZI-Q sau NUCLEO-L152RE conectată la o placă de expansiune X-NUCLEO-IKS4A1 sau X-NUCLEO-IKS01A3.
Aplicația recunoaște evenimentul de cădere a utilizatorului în timp real.

ST X CUBE MEMS1 MotionFD Biblioteca de detectare a căderilor în timp real- jumper

Figura de mai sus prezintă butonul utilizator B1 și cele trei LED-uri ale plăcii NUCLEO-F401RE. Odată ce placa este alimentată, LED-ul LD3 (PWR) se aprinde.
Este necesară o conexiune prin cablu USB pentru a monitoriza datele în timp real. Placa este alimentată de computer prin conexiune USB. Acest mod de lucru permite utilizatorului detectat evenimentul de cădere, accelerometrul și datele senzorului de presiune, timp stamp și eventual alte date ale senzorului, în timp real, folosind MEMS-Studio.
2.4 Aplicația MEMS-Studio
SampAplicația folosește aplicația MEMS-Studio, care poate fi descărcată de pe www.st.com.
Pasul 1. Asigurați-vă că driverele necesare sunt instalate și că placa STM32 Nucleo cu placa de expansiune corespunzătoare este conectată la computer.
Pasul 2. Lansați aplicația MEMS-Studio pentru a deschide fereastra principală a aplicației.
Dacă o placă STM32 Nucleo cu firmware acceptat este conectată la computer, aceasta este detectată automat.
Apăsați butonul [Conectare] pentru a stabili conexiunea la placa de evaluare.

ST X CUBE MEMS1 Bibliotecă de detectare a căderilor în timp real MotionFD - Conectare

Pasul 3. Când este conectat la o placă STM32 Nucleo cu firmware acceptat, se deschide fila [Evaluare bibliotecă].
Pentru a porni și a opri fluxul de date, comutați [Start] corespunzător ST X CUBE MEMS1 MotionFD Biblioteca de detectare a căderilor în timp real - pictograma sau [Stop] ST X CUBE MEMS1 Biblioteca de detectare a căderii în timp real MotionFD - pictograma1  butonul de pe bara de instrumente verticală exterioară.
Datele care provin de la senzorul conectat pot fi viewed selectând fila [Tabel de date] de pe instrumentul vertical interior ba

ST X CUBE MEMS1 MotionFD Biblioteca de detectare a căderilor în timp real - Tabel de date

Pasul 4. Faceți clic pe [Fall Detection] pentru a deschide fereastra dedicată aplicației.

ST X CUBE MEMS1 MotionFD Biblioteca de detectare a căderilor în timp real - Detectare a căderii

Pasul 5. Faceți clic pe [Salvare în File] pentru a deschide fereastra de configurare a înregistrării datelor. Selectați senzorul și datele de detectare a căderii pentru a fi salvate în file. Puteți începe sau opri salvarea făcând clic pe butonul corespunzător.

ST X CUBE MEMS1 Biblioteca de detectare a căderii în timp real MotionFD - Salvare în File

Pasul 6. Modul Data Injection poate fi folosit pentru a trimite datele dobândite anterior către bibliotecă și pentru a primi rezultatul. Selectați fila [Injectare de date] din bara de instrumente verticală pentru a deschide secțiunea dedicată view pentru această funcționalitate.

ST X CUBE MEMS1 Bibliotecă de detectare a căderilor în timp real MotionFD - Injecție de date

Pasul 7. Faceți clic pe butonul [Browse] pentru a selecta file cu datele capturate anterior în format CSV.
Datele vor fi încărcate în tabel în curent view.
Alte butoane vor deveni active. Puteți da clic pe:
– Butonul [Offline Mode] pentru a activa/dezactiva modul firmware offline (modul care utilizează datele capturate anterior).
– Butoanele [Start]/[Stop]/[Step]/[Repeat] pentru a controla fluxul de date din MEMS-Studio către bibliotecă.

2.5 Referințe
Toate resursele următoare sunt disponibile gratuit pe www.st.com.

  1. UM1859: Noțiuni introductive cu MEMS de mișcare X-CUBE-MEMS1 și extinderea software-ului pentru senzori de mediu pentru STM32Cube
  2. UM1724: plăci STM32 Nucleo-64 (MB1136)
  3. UM3233: Noțiuni introductive cu MEMS-Studio

Istoricul reviziilor

Tabelul 4. Istoricul revizuirilor documentului

Data Versiune Schimbări
 22-sept-2017 1 Lansare inițială.
6-feb-18 2 S-au adăugat referințe la placa de dezvoltare NUCLEO-L152RE și Tabelul 2. Algoritmul timpului scurs (μs).
21-mar-18 3 Introducere actualizată și secțiunea 2.1 MotionFD terminatăview.
19-feb-19 4 Actualizat Tabelul 2. Algoritmul timpului scurs (μs) și Figura 2. STM32 Nucleo: LED-uri, buton, jumper.
S-au adăugat informații despre compatibilitatea plăcii de extensie X-NUCLEO-IKS01A3.
17-sept-24 5 Secțiunea actualizată Introducere, Secțiunea 2.1: MotionFD terminatview, Secțiunea 2.2.1: Descrierea bibliotecii MotionFD, Secțiunea 2.2.2: API-uri MotionFD, Secțiunea 2.2.5: Performanța algoritmului, Secțiunea 2.3: Sampaplicația, Secțiunea 2.4: Aplicația MEMS-Studio

NOTIFICARE IMPORTANT – CITIȚI CU ATENTIE
STMicroelectronics NV și filialele sale („ST”) își rezervă dreptul de a face modificări, corecții, îmbunătățiri, modificări și îmbunătățiri produselor ST și/sau acestui document în orice moment, fără notificare. Cumpărătorii trebuie să obțină cele mai recente informații relevante despre produsele ST înainte de a plasa comenzi. Produsele ST sunt vândute în conformitate cu termenii și condițiile de vânzare ale ST în vigoare la momentul confirmării comenzii.
Cumpărătorii sunt singurii responsabili pentru alegerea, selecția și utilizarea produselor ST, iar ST nu își asumă nicio responsabilitate pentru asistența la aplicare sau proiectarea produselor cumpărătorilor.
Nicio licență, expresă sau implicită, pentru niciun drept de proprietate intelectuală nu este acordată de către ST prin prezenta.
Revânzarea produselor ST cu prevederi diferite de informațiile prezentate aici va anula orice garanție acordată de ST pentru un astfel de produs.
ST și sigla ST sunt mărci comerciale ale ST. Pentru informații suplimentare despre mărcile comerciale ST, consultați www.st.com/trademarks. Toate celelalte nume de produse sau servicii sunt proprietatea proprietarilor respectivi.
Informațiile din acest document înlocuiesc și înlocuiesc informațiile furnizate anterior în orice versiuni anterioare ale acestui document.

© 2024 STMicroelectronics – Toate drepturile rezervate

Documente/Resurse

ST X-CUBE-MEMS1 MotionFD Biblioteca de detectare a căderilor în timp real [pdfManual de utilizare
X-CUBE-MEMS1 Biblioteca MotionFD de detectare a căderilor în timp real, X-CUBE-MEMS1, Biblioteca de detectare a căderilor în timp real MotionFD, Biblioteca de detectare a căderilor în timp real, Biblioteca de detectare a căderilor, Biblioteca de detectare, Bibliotecă

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *