UM2275
Benutzerhandbuch
Erste Schritte mit der MotionFD-Bibliothek zur Echtzeit-Sturzerkennung in der X-CUBE-MEMS1-Erweiterung für STM32Cube
Einführung
MotionEC ist eine Middleware-Bibliothekskomponente der X-CUBE-MEMS1-Software und läuft auf STM3z2. Es liefert Echtzeitinformationen über die Geräteausrichtung und den Bewegungsstatus basierend auf Daten eines Geräts.
Es liefert die folgenden Ausgaben: Geräteausrichtung (Quaternionen, Euler-Winkel), Geräterotation (virtuelle Gyroskopfunktionalität), Schwerkraftvektor und lineare Beschleunigung.
Diese Bibliothek ist nur für die Verwendung mit ST MEMS vorgesehen.
Der Algorithmus wird im statischen Bibliotheksformat bereitgestellt und ist für die Verwendung auf STM32-Mikrocontrollern basierend auf den Architekturen ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 und ARM® Cortex®-M7 konzipiert.
Es basiert auf der STM32Cube-Softwaretechnologie, um die Portabilität zwischen verschiedenen STM32-Mikrocontrollern zu erleichtern.
Die Software kommt mit sample-Implementierung läuft auf der X-NUCLEO-IKS4A1- oder X-NUCLEO-IKS01A3-Erweiterungskarte auf einer NUCLEO-F401RE-, NUCLEO-U575ZI-Q- oder NUCLEO-L152RE-Entwicklungskarte.
Akronyme und Abkürzungen
Tabelle 1. Liste der Akronyme
Akronym | Beschreibung |
API | Anwendungsprogrammierschnittstelle |
BSP | Board-Support-Paket |
Benutzeroberfläche | Grafische Benutzeroberfläche |
HAL | Hardware-Abstraktionsschicht |
IDE | Integrierte Entwicklungsumgebung |
MotionFD-Middleware-Bibliothek in der X-CUBE-MEMS1-Softwareerweiterung für STM32Cube
2.1 MotionFD überview
Die MotionFD-Bibliothek erweitert die Funktionalität der X-CUBE-MEMS1-Software.
Die Bibliothek erfasst Daten vom Beschleunigungs- und Drucksensor und stellt auf Grundlage der Daten eines Geräts Informationen zum Sturzereignis des Benutzers bereit.
Die Bibliothek ist nur für ST MEMS konzipiert. Funktionalität und Leistung bei der Verwendung anderer MEMS-Sensoren werden nicht analysiert und können erheblich von den im Dokument beschriebenen abweichen.
SampDie Implementierung ist für die Erweiterungskarten X-NUCLEO-IKS4A1 und X-NUCLEO-IKS01A3 verfügbar, die auf einer Entwicklungskarte NUCLEO-F401RE, NUCLEO-U575ZI-Q oder NUCLEO-L152RE montiert sind.
2.2 MotionFD-Bibliothek
Technische Informationen, die die Funktionen und Parameter der MotionFD-APIs vollständig beschreiben, finden Sie im kompilierten HTML-Format MotionFD_Package.chm file befindet sich im Ordner „Dokumentation“.
2.2.1 Beschreibung der MotionFD-Bibliothek
Die Sturzerkennungsbibliothek MotionFD verwaltet die vom Beschleunigungsmesser und Drucksensor erfassten Daten. Sie bietet:
- Möglichkeit zu unterscheiden, ob der Benutzer gestürzt ist oder nicht
- Erkennung nur auf Basis von Beschleunigungs- und Drucksensordaten
- erforderliche Beschleunigungs- und Drucksensordaten sampDie Sendefrequenz beträgt 25 Hz
- Ressourcenbedarf:
– Cortex-M3: 3.6 kB Code- und 3.2 kB Datenspeicher
– Cortex-M33: 3.4 kB Code- und 3.2 kB Datenspeicher
– Cortex-M4: 3.4 kB Code- und 3.2 kB Datenspeicher
– Cortex-M7: 3.4 kB Code- und 3.2 kB Datenspeicher - verfügbar für die Architekturen ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 und ARM Cortex-M7
2.2.2 MotionFD-APIs
Die APIs der MotionFD-Bibliothek sind:
- uint8_t MotionFD_GetLibVersion(char *version)
– ruft die Bibliotheksversion ab
– *version ist ein Zeiger auf ein Array von 35 Zeichen
– gibt die Anzahl der Zeichen im Versionsstring zurück - ungültig MotionFD_Initialize(void)
– führt die MotionFD-Bibliotheksinitialisierung und die Einrichtung des internen Mechanismus durch
Notiz: Diese Funktion muss vor der Verwendung der Sturzerkennungsbibliothek aufgerufen werden und das CRC-Modul im STM32-Mikrocontroller (im RCC-Peripherietakt-Aktivierungsregister) muss aktiviert werden.
- void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
– führt einen Sturzerkennungsalgorithmus aus
– *data_in Parameter ist ein Zeiger auf eine Struktur mit Eingabedaten
– Die Parameter für den Strukturtyp MFD_input_t sind:
◦ AccX ist der Beschleunigungssensorwert in der X-Achse in mg
◦ AccY ist der Beschleunigungssensorwert in der Y-Achse in mg
◦ AccZ ist der Beschleunigungssensorwert in der Z-Achse in mg
◦ Press ist der Drucksensorwert in hPa
– Der Parameter *data_out ist ein Zeiger auf eine Aufzählung mit den folgenden Elementen:
◦ MFD_NOFALL = 0
◦ MFD_FALL = 1 - void MotionFD_SetKnobs(float Fallschwelle, int32_t Fallhöhendelta, float Liegezeit)
– legt Konfigurationsparameter der Bibliothek fest
– fall_threshold Beschleunigungsschwelle in mg
– fall_altitude_delta Höhenunterschied in cm
– Liegezeit Zeit in Sekunden ohne Bewegung nach einem Aufprall - void MotionFD_GetKnobs(float *Fallschwelle, int32_t *Fallhöhendelta, float *Liegezeit)
– ruft Bibliothekskonfigurationsparameter ab
– fall_threshold Beschleunigungsschwelle in mg
– fall_altitude_delta Höhenunterschied in cm
– Liegezeit Zeit in Sekunden ohne Bewegung nach einem Aufprall
2.2.3 API-Flussdiagramm
2.2.4 Demo-Code
Der folgende Demonstrationscode liest Daten vom Beschleunigungsmesser und Drucksensor und ruft den Sturzereigniscode ab.
2.2.5 Algorithmusleistung
Der Sturzerkennungsalgorithmus verwendet nur Daten vom Beschleunigungsmesser und Drucksensor und läuft mit einer niedrigen Frequenz (25 Hz), um den Stromverbrauch zu senken.
2.3 Sampdie Bewerbung
Die MotionFD-Middleware kann leicht manipuliert werden, um Benutzeranwendungen zu erstellen.ampDie Anwendung befindet sich im Anwendungsordner.
Es ist für den Betrieb auf einer NUCLEO-F401RE-, NUCLEO-U575ZI-Q- oder NUCLEO-L152RE-Entwicklungsplatine vorgesehen, die an eine X-NUCLEO-IKS4A1- oder X-NUCLEO-IKS01A3-Erweiterungsplatine angeschlossen ist.
Die Anwendung erkennt Sturzereignisse des Benutzers in Echtzeit.
Die obige Abbildung zeigt die Benutzertaste B1 und die drei LEDs der NUCLEO-F401RE-Platine. Sobald die Platine mit Strom versorgt wird, leuchtet die LED LD3 (PWR).
Zur Überwachung von Echtzeitdaten ist eine USB-Kabelverbindung erforderlich. Die Stromversorgung der Platine erfolgt über eine USB-Verbindung vom PC. In diesem Arbeitsmodus können das erkannte Benutzersturzereignis, Beschleunigungs- und Drucksensordaten, Zeitstaamp und eventuell andere Sensordaten in Echtzeit mithilfe des MEMS-Studios.
2.4 MEMS-Studio-Anwendung
Die sampDie Anwendung verwendet die MEMS-Studio-Anwendung, die heruntergeladen werden kann von www.st.com.
Schritt 1. Stellen Sie sicher, dass die erforderlichen Treiber installiert sind und die STM32 Nucleo-Karte mit der entsprechenden Erweiterungskarte an den PC angeschlossen ist.
Schritt 2. Starten Sie die MEMS-Studio-Anwendung, um das Hauptanwendungsfenster zu öffnen.
Wenn ein STM32-Nucleo-Board mit unterstützter Firmware an den PC angeschlossen ist, wird es automatisch erkannt.
Durch Drücken der Schaltfläche [Verbinden] wird die Verbindung zum Evaluation Board hergestellt.
Schritt 3. Bei Verbindung mit einer STM32 Nucleo-Platine mit unterstützter Firmware wird die Registerkarte [Library Evaluation] geöffnet.
Um das Daten-Streaming zu starten und zu stoppen, schalten Sie den entsprechenden [Start] um. oder [Stopp]
Schaltfläche auf der äußeren vertikalen Symbolleiste.
Die vom angeschlossenen Sensor kommenden Daten können sein viewKlicken Sie auf die Registerkarte [Datentabelle] in der inneren vertikalen Werkzeugleiste.
Schritt 4. Klicken Sie auf [Sturzerkennung], um das entsprechende Anwendungsfenster zu öffnen.
Schritt 5. Klicken Sie auf [Speichern unter File], um das Konfigurationsfenster für die Datenaufzeichnung zu öffnen. Wählen Sie die Sensor- und Sturzerkennungsdaten aus, die im file. Mit einem Klick auf den entsprechenden Button können Sie den Speichervorgang starten bzw. stoppen.
Schritt 6. Der Dateneinfügungsmodus kann verwendet werden, um die zuvor erfassten Daten an die Bibliothek zu senden und das Ergebnis zu empfangen. Wählen Sie die Registerkarte [Dateneinfügung] in der vertikalen Symbolleiste, um das dedizierte view für diese Funktionalität.
Schritt 7. Klicken Sie auf die Schaltfläche [Durchsuchen], um die file mit den zuvor erfassten Daten im CSV-Format.
Die Daten werden in die Tabelle im aktuellen view.
Andere Schaltflächen werden aktiv. Sie können auf Folgendes klicken:
– Schaltfläche [Offline-Modus] zum Ein-/Ausschalten des Firmware-Offline-Modus (Modus, der die zuvor erfassten Daten verwendet).
– Schaltflächen [Start]/[Stop]/[Schritt]/[Wiederholen] zur Steuerung der Datenzufuhr von MEMS-Studio zur Bibliothek.
2.5 Referenzen
Alle der folgenden Ressourcen sind kostenlos auf www.st.com verfügbar.
- UM1859: Erste Schritte mit der X-CUBE-MEMS1 Motion-MEMS- und Umgebungssensor-Softwareerweiterung für STM32Cube
- UM1724: STM32 Nucleo-64-Boards (MB1136)
- UM3233: Erste Schritte mit MEMS-Studio
Versionsgeschichte
Tabelle 4. Revisionsverlauf des Dokuments
Datum | Version | Änderungen |
22. September 2017 | 1 | Erstveröffentlichung. |
6. Februar 18 | 2 | Verweise auf das Entwicklungsboard NUCLEO-L152RE und Tabelle 2 hinzugefügt. Algorithmus für verstrichene Zeit (μs). |
21. März 18 | 3 | Aktualisierte Einführung und Abschnitt 2.1 MotionFD überview. |
19. Februar 19 | 4 | Aktualisierte Tabelle 2. Verstrichene Zeit (μs) Algorithmus und Abbildung 2. STM32 Nucleo: LEDs, Taste, Jumper. Informationen zur Kompatibilität der Erweiterungskarte X-NUCLEO-IKS01A3 hinzugefügt. |
17. September 24 | 5 | Aktualisierter Abschnitt Einführung, Abschnitt 2.1: MotionFD überview, Abschnitt 2.2.1: MotionFD-Bibliotheksbeschreibung, Abschnitt 2.2.2: MotionFD-APIs, Abschnitt 2.2.5: Algorithmusleistung, Abschnitt 2.3: Sample-Anwendung, Abschnitt 2.4: MEMS-Studio-Anwendung |
WICHTIGER HINWEIS – SORGFÄLTIG LESEN
STMicroelectronics NV und seine Tochtergesellschaften („ST“) behalten sich das Recht vor, jederzeit und ohne Vorankündigung Änderungen, Korrekturen, Erweiterungen, Modifikationen und Verbesserungen an ST-Produkten und/oder diesem Dokument vorzunehmen. Käufer sollten sich vor der Bestellung die neuesten relevanten Informationen zu ST-Produkten besorgen. ST-Produkte werden gemäß den zum Zeitpunkt der Auftragsbestätigung gültigen Verkaufsbedingungen von ST verkauft.
Die alleinige Verantwortung für die Auswahl und Verwendung von ST-Produkten liegt beim Käufer. ST übernimmt keine Haftung für Anwendungsunterstützung oder das Design der Produkte des Käufers.
ST gewährt hiermit keine ausdrückliche oder stillschweigende Lizenz an geistigen Eigentumsrechten.
Der Weiterverkauf von ST-Produkten unter anderen als den hier aufgeführten Bedingungen führt zum Erlöschen jeglicher von ST für das jeweilige Produkt gewährter Garantie.
ST und das ST-Logo sind Marken von ST. Weitere Informationen zu ST-Marken finden Sie unter www.st.com/trademarks. Alle anderen Produkt- oder Servicenamen sind Eigentum ihrer jeweiligen Inhaber.
Die Informationen in diesem Dokument ersetzen alle zuvor in früheren Versionen dieses Dokuments enthaltenen Informationen.
© 2024 STMicroelectronics – Alle Rechte vorbehalten
Dokumente / Ressourcen
![]() | ST X-CUBE-MEMS1 MotionFD Echtzeit-Sturzerkennungsbibliothek [pdf] Benutzerhandbuch X-CUBE-MEMS1 MotionFD Echtzeit-Sturzerkennungsbibliothek, X-CUBE-MEMS1, MotionFD Echtzeit-Sturzerkennungsbibliothek, Echtzeit-Sturzerkennungsbibliothek, Sturzerkennungsbibliothek, Erkennungsbibliothek, Bibliothek |