ST X - logoUM2275
Instrukcja obsługi

Rozpoczęcie pracy z biblioteką MotionFD do wykrywania upadków w czasie rzeczywistym w rozszerzeniu X-CUBE-MEMS1 dla STM32Cube

Wstęp

MotionEC to biblioteka middleware oprogramowania X-CUBE-MEMS1, która działa na STM3z2. Dostarcza informacji w czasie rzeczywistym o orientacji urządzenia i stanie ruchu na podstawie danych z urządzenia.
Zapewnia następujące dane wyjściowe: orientacja urządzenia (kwaterniony, kąty Eulera), obrót urządzenia (funkcjonalność wirtualnego żyroskopu), wektor grawitacji i przyspieszenie liniowe.
Ta biblioteka jest przeznaczona do pracy wyłącznie z ST MEMS.
Algorytm jest dostępny w formacie biblioteki statycznej i przeznaczony jest do stosowania w mikrokontrolerach STM32 opartych na architekturach ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 i ARM® Cortex®-M7.
Został zbudowany na bazie technologii oprogramowania STM32Cube, aby ułatwić przenoszenie między różnymi mikrokontrolerami STM32.
Oprogramowanie jest dostarczane z sampImplementacja pliku uruchomiona na karcie rozszerzeń X-NUCLEO-IKS4A1 lub X-NUCLEO-IKS01A3 na płycie rozwojowej NUCLEO-F401RE, NUCLEO-U575ZI-Q lub NUCLEO-L152RE.

Akronimy i skróty

Tabela 1. Lista akronimów

Akronim Opis
API Interfejs programowania aplikacji
BSP Pakiet wsparcia zarządu
Interfejs graficzny Graficzny interfejs użytkownika
HAL Warstwa abstrakcji sprzętu
Środowisko programistyczne (IDE) Zintegrowane środowisko programistyczne

Biblioteka oprogramowania pośredniczącego MotionFD w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube

2.1 MotionFD ponadview
Biblioteka MotionFD rozszerza funkcjonalność oprogramowania X-CUBE-MEMS1.
Biblioteka pobiera dane z akcelerometru i czujnika ciśnienia i dostarcza informacje o upadku użytkownika w oparciu o dane z urządzenia.
Biblioteka jest przeznaczona wyłącznie dla ST MEMS. Funkcjonalność i wydajność podczas korzystania z innych czujników MEMS nie są analizowane i mogą znacznie różnić się od opisanych w dokumencie.
SampImplementacja jest dostępna dla płyt rozszerzeń X-NUCLEO-IKS4A1 i X-NUCLEO-IKS01A3 montowanych na płycie deweloperskiej NUCLEO-F401RE, NUCLEO-U575ZI-Q lub NUCLEO-L152RE.
2.2 Biblioteka MotionFD
Pełne informacje techniczne opisujące funkcje i parametry interfejsów API MotionFD można znaleźć w skompilowanym pliku HTML MotionFD_Package.chm file znajduje się w folderze Dokumentacja.
2.2.1 Opis biblioteki MotionFD
Biblioteka wykrywania upadków MotionFD zarządza danymi pozyskanymi z akcelerometru i czujnika ciśnienia. Oferuje ona:

  • możliwość rozróżnienia czy upadek użytkownika miał miejsce czy nie
  • rozpoznawanie oparte wyłącznie na danych z akcelerometru i czujnika ciśnienia
  • wymagane dane z akcelerometru i czujnika ciśnieniaampczęstotliwość ling wynosi 25 Hz
  • wymagania dotyczące zasobów:
    – Cortex-M3: 3.6 kB kodu i 3.2 kB pamięci danych
    – Cortex-M33: 3.4 kB kodu i 3.2 kB pamięci danych
    – Cortex-M4: 3.4 kB kodu i 3.2 kB pamięci danych
    – Cortex-M7: 3.4 kB kodu i 3.2 kB pamięci danych
  • dostępne dla architektur ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 i ARM Cortex-M7

2.2.2 Interfejsy API MotionFD
Interfejsy API biblioteki MotionFD to:

  • uint8_t MotionFD_GetLibVersion(char *wersja)
    – pobiera wersję biblioteki
    – *wersja jest wskaźnikiem do tablicy 35 znaków
    – zwraca liczbę znaków w ciągu wersji
  • pustka MotionFD_Initialize(void)
    – wykonuje inicjalizację biblioteki MotionFD i konfigurację wewnętrznego mechanizmu

Notatka: Tę funkcję należy wywołać przed użyciem biblioteki wykrywania upadków, a moduł CRC w mikrokontrolerze STM32 (w rejestrze włączania zegara urządzeń peryferyjnych RCC) musi być włączony.

  • void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
    – wykonuje algorytm wykrywania upadku
    – Parametr *data_in jest wskaźnikiem do struktury z danymi wejściowymi
    – parametry typu struktury MFD_input_t to:
    ◦ AccX to wartość czujnika akcelerometru na osi X w mg
    ◦ AccY to wartość czujnika akcelerometru na osi Y w mg
    ◦ AccZ to wartość czujnika akcelerometru w osi Z w mg
    ◦ Ciśnienie to wartość czujnika ciśnienia w hPa
    – Parametr *data_out jest wskaźnikiem do wyliczenia zawierającego następujące elementy:
    ◦ MFD_NOFALL = 0
    ◦ MFD_FALL = 1
  • void MotionFD_SetKnobs(float próg_upadku, int32_t delta_wysokości_upadku, float czas_leżenia)
    – ustawia parametry konfiguracji biblioteki
    – próg przyspieszenia fall_threshold w mg
    – fall_altitude_delta różnica wysokości w cm
    – czas leżenia – czas w sekundach bez ruchu po uderzeniu
  • void MotionFD_GetKnobs(float *próg_upadku, int32_t *delta_wysokości_upadku, float *czas_leżenia)
    – pobiera parametry konfiguracji biblioteki
    – próg przyspieszenia fall_threshold w mg
    – fall_altitude_delta różnica wysokości w cm
    – czas leżenia – czas w sekundach bez ruchu po uderzeniu

2.2.3 Schemat przepływu API

Biblioteka ST X CUBE MEMS1 MotionFD do wykrywania upadków w czasie rzeczywistym

2.2.4 Kod demonstracyjny
Poniższy kod demonstracyjny odczytuje dane z akcelerometru i czujnika ciśnienia i pobiera kod zdarzenia upadku.

ST X CUBE MEMS1 MotionFD Biblioteka wykrywania upadków w czasie rzeczywistym — kod demonstracyjny 1ST X CUBE MEMS1 MotionFD Biblioteka wykrywania upadków w czasie rzeczywistym — kod demonstracyjny

2.2.5 Wydajność algorytmu
Algorytm wykrywania upadków wykorzystuje wyłącznie dane z akcelerometru i czujnika ciśnienia i działa z niską częstotliwością (25 Hz), aby ograniczyć zużycie energii.

ST X CUBE MEMS1 MotionFD Biblioteka wykrywania upadków w czasie rzeczywistym — algorytm upływu czasu

2.3 Sampplik aplikacji
Oprogramowanie pośredniczące MotionFD można łatwo modyfikować w celu tworzenia aplikacji użytkownika;ampPlik aplikacji znajduje się w folderze aplikacji.
Jest przeznaczony do działania na płycie deweloperskiej NUCLEO-F401RE, NUCLEO-U575ZI-Q lub NUCLEO-L152RE podłączonej do płyty rozszerzeń X-NUCLEO-IKS4A1 lub X-NUCLEO-IKS01A3.
Aplikacja rozpoznaje upadek użytkownika w czasie rzeczywistym.

Biblioteka ST X CUBE MEMS1 MotionFD Real Time Fall Detection — zworka

Na powyższym rysunku pokazano przycisk użytkownika B1 i trzy diody LED płytki NUCLEO-F401RE. Po zasileniu płytki dioda LED LD3 (PWR) włącza się.
Do monitorowania danych w czasie rzeczywistym wymagane jest połączenie kablem USB. Płytka jest zasilana przez komputer za pośrednictwem połączenia USB. Ten tryb pracy umożliwia wykrycie zdarzenia upadku użytkownika, danych z akcelerometru i czujnika ciśnienia, czasuamp i ostatecznie dane z innych czujników w czasie rzeczywistym, przy użyciu MEMS-Studio.
2.4 Aplikacja MEMS-Studio
SampAplikacja wykorzystuje aplikację MEMS-Studio, którą można pobrać ze strony www.st.com.
Krok 1. Upewnij się, że zainstalowane są niezbędne sterowniki i że płyta STM32 Nucleo z odpowiednią kartą rozszerzeń jest podłączona do komputera.
Krok 2. Uruchom aplikację MEMS-Studio, aby otworzyć okno główne aplikacji.
Jeżeli do komputera zostanie podłączona płytka STM32 Nucleo z obsługiwanym oprogramowaniem sprzętowym, zostanie ona wykryta automatycznie.
Naciśnij przycisk [Połącz], aby nawiązać połączenie z płytą ewaluacyjną.

Biblioteka wykrywania upadków w czasie rzeczywistym ST X CUBE MEMS1 MotionFD — Connect

Krok 3. Po podłączeniu do płytki STM32 Nucleo z obsługiwanym oprogramowaniem sprzętowym otwiera się zakładka [Ocena biblioteki].
Aby rozpocząć i zatrzymać przesyłanie strumieniowe danych, przełącz odpowiedni przycisk [Start]. Biblioteka wykrywania upadków w czasie rzeczywistym ST X CUBE MEMS1 MotionFD — ikona lub [Zatrzymaj] Biblioteka wykrywania upadków w czasie rzeczywistym ST X CUBE MEMS1 MotionFD - ikona 1  przycisk na zewnętrznym pionowym pasku narzędzi.
Dane pochodzące z podłączonego czujnika mogą być viewwybierając kartę [Tabela danych] na wewnętrznym pionowym pasku narzędzi

Biblioteka wykrywania upadków w czasie rzeczywistym ST X CUBE MEMS1 MotionFD — tabela danych

Krok 4. Kliknij [Wykrywanie upadku], aby otworzyć okno dedykowanej aplikacji.

Biblioteka wykrywania upadków w czasie rzeczywistym ST X CUBE MEMS1 MotionFD — wykrywanie upadków

Krok 5. Kliknij na [Zapisz do] File] aby otworzyć okno konfiguracji rejestrowania danych. Wybierz czujnik i dane wykrywania upadku, które mają zostać zapisane w fileMożesz rozpocząć lub zatrzymać zapisywanie, klikając odpowiedni przycisk.

Biblioteka wykrywania upadków w czasie rzeczywistym ST X CUBE MEMS1 MotionFD — zapisz w File

Krok 6. Tryb Data Injection można wykorzystać do wysłania wcześniej pozyskanych danych do biblioteki i otrzymania wyniku. Wybierz kartę [Data Injection] na pasku narzędzi pionowych, aby otworzyć dedykowany view dla tej funkcjonalności.

Biblioteka wykrywania upadków w czasie rzeczywistym ST X CUBE MEMS1 MotionFD — wstrzykiwanie danych

Krok 7. Kliknij przycisk [Przeglądaj], aby wybrać file z wcześniej przechwyconymi danymi w formacie CSV.
Dane zostaną załadowane do tabeli w bieżącym view.
Inne przyciski staną się aktywne. Możesz kliknąć na:
– Przycisk [Tryb offline] służący do włączania/wyłączania trybu offline oprogramowania sprzętowego (tryb wykorzystujący wcześniej przechwycone dane).
– Przyciski [Start]/[Stop]/[Krok]/[Powtórz] służące do sterowania przesyłaniem danych z MEMS-Studio do biblioteki.

2.5 Odniesienia
Wszystkie poniższe zasoby są dostępne bezpłatnie na stronie www.st.com.

  1. UM1859: Pierwsze kroki z rozszerzeniem oprogramowania MEMS ruchu X-CUBE-MEMS1 i czujnika środowiskowego dla STM32Cube
  2. UM1724: Płyty STM32 Nucleo-64 (MB1136)
  3. UM3233: Pierwsze kroki z MEMS-Studio

Historia rewizji

Tabela 4. Historia zmian dokumentu

Data Wersja Zmiany
 22-wrz-2017 1 Pierwsze wydanie.
6-lut-18 2 Dodano odniesienia do płytki rozwojowej NUCLEO-L152RE i Tabeli 2. Algorytm czasu, który upłynął (μs).
21-marca-18 3 Zaktualizowany wstęp i sekcja 2.1 MotionFDview.
19-lut-19 4 Zaktualizowana tabela 2. Algorytm czasu upłyniętego (μs) i rysunek 2. STM32 Nucleo: diody LED, przycisk, zworka.
Dodano informacje o kompatybilności karty rozszerzeń X-NUCLEO-IKS01A3.
17-wrz-24 5 Zaktualizowany wstęp do sekcji, sekcja 2.1: MotionFD wview, Sekcja 2.2.1: Opis biblioteki MotionFD, Sekcja 2.2.2: Interfejsy API MotionFD, Sekcja 2.2.5: Wydajność algorytmu, Sekcja 2.3: Sampaplikacja, Sekcja 2.4: Aplikacja MEMS-Studio

WAŻNA INFORMACJA – PRZECZYTAJ UWAŻNIE
STMicroelectronics NV i jej spółki zależne („ST”) zastrzegają sobie prawo do wprowadzania zmian, poprawek, ulepszeń, modyfikacji i udoskonaleń produktów ST i/lub niniejszego dokumentu w dowolnym momencie bez powiadomienia. Nabywcy powinni uzyskać najnowsze istotne informacje o produktach ST przed złożeniem zamówienia. Produkty ST są sprzedawane zgodnie z warunkami sprzedaży ST obowiązującymi w momencie potwierdzenia zamówienia.
Nabywcy ponoszą wyłączną odpowiedzialność za wybór, selekcję i użytkowanie produktów ST. ST nie ponosi żadnej odpowiedzialności za pomoc w stosowaniu ani za konstrukcję produktów nabywców.
ST nie udziela żadnej licencji, wyraźnej ani dorozumianej, na jakiekolwiek prawa własności intelektualnej.
Odsprzedaż produktów ST z postanowieniami różniącymi się od informacji zawartych w niniejszym dokumencie powoduje unieważnienie gwarancji udzielonej przez ST na taki produkt.
ST i logo ST są znakami towarowymi ST. Aby uzyskać dodatkowe informacje o znakach towarowych ST, zapoznaj się z www.st.com/trademarks. Wszystkie inne nazwy produktów lub usług są własnością ich odpowiednich właścicieli.
Informacje zawarte w niniejszym dokumencie zastępują informacje podane wcześniej w jakiejkolwiek poprzedniej wersji tego dokumentu.

© 2024 STMicroelectronics – Wszelkie prawa zastrzeżone

Dokumenty / Zasoby

Biblioteka wykrywania upadków w czasie rzeczywistym ST X-CUBE-MEMS1 MotionFD [plik PDF] Instrukcja obsługi
Biblioteka wykrywania upadków w czasie rzeczywistym X-CUBE-MEMS1 MotionFD, X-CUBE-MEMS1, Biblioteka wykrywania upadków w czasie rzeczywistym MotionFD, Biblioteka wykrywania upadków w czasie rzeczywistym, Biblioteka wykrywania upadków, Biblioteka wykrywania, Biblioteka

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *