UM2275
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
2.2.4 Kod demonstracyjny
Poniższy kod demonstracyjny odczytuje dane z akcelerometru i czujnika ciśnienia i pobiera kod zdarzenia upadku.
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.
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.
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ą.
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]. lub [Zatrzymaj]
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
Krok 4. Kliknij [Wykrywanie upadku], aby otworzyć okno dedykowanej aplikacji.
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.
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.
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.
- UM1859: Pierwsze kroki z rozszerzeniem oprogramowania MEMS ruchu X-CUBE-MEMS1 i czujnika środowiskowego dla STM32Cube
- UM1724: Płyty STM32 Nucleo-64 (MB1136)
- 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 |