UM2275
Manual de usuario
Introducción a la biblioteca de detección de caídas en tiempo real MotionFD en la expansión X-CUBE-MEMS1 para STM32Cube
Introducción
MotionEC es un componente de la biblioteca de middleware del software X-CUBE-MEMS1 y se ejecuta en STM3z2. Proporciona información en tiempo real sobre la orientación y el estado del movimiento del dispositivo en función de los datos del mismo.
Proporciona las siguientes salidas: orientación del dispositivo (cuaterniones, ángulos de Euler), rotación del dispositivo (funcionalidad de giroscopio virtual), vector de gravedad y aceleración lineal.
Esta biblioteca está diseñada para funcionar únicamente con ST MEMS.
El algoritmo se proporciona en formato de biblioteca estática y está diseñado para usarse en microcontroladores STM32 basados en las arquitecturas ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 y ARM® Cortex®-M7.
Está construido sobre la tecnología de software STM32Cube para facilitar la portabilidad entre diferentes microcontroladores STM32.
El software viene con sampLa implementación se ejecuta en una placa de expansión X-NUCLEO-IKS4A1 o X-NUCLEO-IKS01A3 en una placa de desarrollo NUCLEO-F401RE, NUCLEO-U575ZI-Q o NUCLEO-L152RE.
Siglas y abreviaturas
Tabla 1. Lista de siglas
Acrónimo | Descripción |
API | Interfaz de programación de aplicaciones |
BSP | Paquete de soporte para placa |
Interfaz gráfica de usuario | Interfaz gráfica de usuario |
HAL | Capa de abstracción de hardware |
IDE | Entorno de desarrollo integrado |
Biblioteca de middleware MotionFD en la expansión del software X-CUBE-MEMS1 para STM32Cube
2.1 MotionFD terminadoview
La biblioteca MotionFD amplía la funcionalidad del software X-CUBE-MEMS1.
La biblioteca adquiere datos del acelerómetro y del sensor de presión y proporciona información sobre el evento de caída del usuario basándose en datos de un dispositivo.
La biblioteca está diseñada únicamente para ST MEMS. La funcionalidad y el rendimiento cuando se utilizan otros sensores MEMS no se analizan y pueden ser significativamente diferentes de lo que se describe en el documento.
SampLa implementación está disponible para la placa de expansión X-NUCLEO-IKS4A1 y X-NUCLEO-IKS01A3, montadas en una placa de desarrollo NUCLEO-F401RE, NUCLEO-U575ZI-Q o NUCLEO-L152RE.
2.2 Biblioteca MotionFD
La información técnica que describe completamente las funciones y los parámetros de las API de MotionFD se puede encontrar en el HTML compilado MotionFD_Package.chm. file ubicado en la carpeta Documentación.
2.2.1 Descripción de la biblioteca MotionFD
La biblioteca de detección de caídas MotionFD administra los datos adquiridos del acelerómetro y el sensor de presión; incluye:
- Posibilidad de distinguir si la caída del usuario se produjo o no
- Reconocimiento basado únicamente en datos del acelerómetro y del sensor de presión.
- Datos necesarios del acelerómetro y del sensor de presión.ampLa frecuencia de onda es de 25 Hz
- requisitos de recursos:
– Cortex-M3: 3.6 kB de código y 3.2 kB de memoria de datos
– Cortex-M33: 3.4 kB de código y 3.2 kB de memoria de datos
– Cortex-M4: 3.4 kB de código y 3.2 kB de memoria de datos
– Cortex-M7: 3.4 kB de código y 3.2 de memoria de datos - Disponible para arquitecturas ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 y ARM Cortex-M7
2.2.2 API de MotionFD
Las API de la biblioteca MotionFD son:
- uint8_t MotionFD_GetLibVersion(carácter *versión)
– recupera la versión de la biblioteca
– *versión es un puntero a una matriz de 35 caracteres
– devuelve el número de caracteres en la cadena de versión - vacío MotionFD_Initialize(vacío)
– realiza la inicialización de la biblioteca MotionFD y la configuración del mecanismo interno
Nota: Esta función debe llamarse antes de utilizar la biblioteca de detección de caídas y el módulo CRC en el microcontrolador STM32 (en el registro de habilitación del reloj periférico RCC) debe estar habilitado.
- void MotionFD_Update (MFD_entrada_t *datos_de_entrada, MFD_salida_t *datos_de_salida)
– ejecuta el algoritmo de detección de caídas
– El parámetro *data_in es un puntero a una estructura con datos de entrada.
– los parámetros para el tipo de estructura MFD_input_t son:
◦ AccX es el valor del sensor del acelerómetro en el eje X en mg
◦ AccY es el valor del sensor del acelerómetro en el eje Y en mg
◦ AccZ es el valor del sensor del acelerómetro en el eje Z en mg
◦ La presión es el valor del sensor de presión en hPa
– El parámetro *data_out es un puntero a una enumeración con los siguientes elementos:
◦ MFD_NOFALL = 0
◦ MFD_FALL = 1 - void MotionFD_SetKnobs(float umbral_de_caída, int32_t delta_de_altitud_de_caída, float tiempo_de_descanso)
– establece parámetros de configuración de la biblioteca
– fall_threshold umbral de aceleración en mg
– fall_altitude_delta diferencia de altitud en cm
– tiempo acostado tiempo en segundos sin movimiento después de un impacto - void MotionFD_GetKnobs(float *umbral_de_caída, int32_t *delta_de_altitud_de_caída, float *tiempo_de_recostado)
– obtiene los parámetros de configuración de la biblioteca
– fall_threshold umbral de aceleración en mg
– fall_altitude_delta diferencia de altitud en cm
– tiempo acostado tiempo en segundos sin movimiento después de un impacto
2.2.3 Diagrama de flujo de API
2.2.4 Código de demostración
El siguiente código de demostración lee datos del acelerómetro y del sensor de presión y obtiene el código del evento de caída.
2.2.5 Rendimiento del algoritmo
El algoritmo de detección de caídas solo utiliza datos del acelerómetro y del sensor de presión y funciona a una frecuencia baja (25 Hz) para reducir el consumo de energía.
2.3 Sample aplicación
El middleware MotionFD se puede manipular fácilmente para crear aplicaciones de usuario; comoampLa aplicación se proporciona en la carpeta Aplicación.
Está diseñado para ejecutarse en una placa de desarrollo NUCLEO-F401RE, NUCLEO-U575ZI-Q o NUCLEO-L152RE conectada a una placa de expansión X-NUCLEO-IKS4A1 o X-NUCLEO-IKS01A3.
La aplicación reconoce el evento de caída del usuario en tiempo real.
La figura anterior muestra el botón de usuario B1 y los tres LED de la placa NUCLEO-F401RE. Una vez que se enciende la placa, el LED LD3 (PWR) se enciende.
Se requiere una conexión por cable USB para monitorear los datos en tiempo real. La placa se alimenta desde la PC a través de una conexión USB. Este modo de trabajo permite detectar el evento de caída del usuario, los datos del acelerómetro y del sensor de presión, el tiempo de espera y la temperatura.amp y eventualmente otros datos de sensores, en tiempo real, utilizando el MEMS-Studio.
2.4 Aplicación MEMS-Studio
Los sampLa aplicación utiliza la aplicación MEMS-Studio, que se puede descargar desde www.st.com.
Paso 1. Asegúrese de que los controladores necesarios estén instalados y que la placa STM32 Nucleo con la placa de expansión adecuada esté conectada a la PC.
Paso 2. Inicie la aplicación MEMS-Studio para abrir la ventana principal de la aplicación.
Si se conecta a la PC una placa STM32 Nucleo con firmware compatible, se detecta automáticamente.
Presione el botón [Conectar] para establecer la conexión con la placa de evaluación.
Paso 3. Cuando se conecta a una placa STM32 Nucleo con firmware compatible, se abre la pestaña [Evaluación de biblioteca].
Para iniciar y detener la transmisión de datos, active la opción [Iniciar] correspondiente. o [Detener]
Botón en la barra de herramientas vertical exterior.
Los datos provenientes del sensor conectado pueden ser viewed seleccionando la pestaña [Tabla de datos] en la barra de herramientas vertical interna
Paso 4. Haga clic en [Detección de caídas] para abrir la ventana de la aplicación dedicada.
Paso 5. Haga clic en [Guardar en File] para abrir la ventana de configuración de registro de datos. Seleccione el sensor y los datos de detección de caídas que se guardarán en el filePuedes iniciar o detener el guardado haciendo clic en el botón correspondiente.
Paso 6. El modo de inyección de datos se puede utilizar para enviar los datos adquiridos previamente a la biblioteca y recibir el resultado. Seleccione la pestaña [Inyección de datos] en la barra de herramientas vertical para abrir el menú dedicado. view para esta funcionalidad.
Paso 7. Haga clic en el botón [Explorar] para seleccionar el file con los datos previamente capturados en formato CSV.
Los datos se cargarán en la tabla en el momento actual. view.
Se activarán otros botones. Puedes hacer clic en:
– Botón [Modo sin conexión] para activar o desactivar el modo sin conexión del firmware (modo que utiliza los datos capturados previamente).
– Botones [Inicio]/[Detener]/[Paso]/[Repetir] para controlar la alimentación de datos desde MEMS-Studio a la biblioteca.
2.5 Referencias
Todos los siguientes recursos están disponibles gratuitamente en www.st.com.
- UM1859: Introducción a la expansión del software del sensor ambiental y MEMS de movimiento X-CUBE-MEMS1 para STM32Cube
- UM1724: Placas STM32 Nucleo-64 (MB1136)
- UM3233: Primeros pasos con MEMS-Studio
Historial de revisiones
Tabla 4. Historial de revisión del documento
Fecha | Versión | Cambios |
22 de septiembre de 2017 | 1 | Lanzamiento inicial. |
6 de febrero de 18 | 2 | Se agregaron referencias a la placa de desarrollo NUCLEO-L152RE y a la Tabla 2. Algoritmo de tiempo transcurrido (μs). |
21 de marzo de 18 | 3 | Introducción actualizada y Sección 2.1 MotionFDview. |
19 de febrero de 19 | 4 | Tabla 2 actualizada. Algoritmo de tiempo transcurrido (μs) y Figura 2. Núcleo STM32: LED, botón, puente. Se agregó información de compatibilidad de la placa de expansión X-NUCLEO-IKS01A3. |
17 de septiembre de 24 | 5 | Sección Introducción actualizada, Sección 2.1: MotionFD terminadoview, Sección 2.2.1: Descripción de la biblioteca MotionFD, Sección 2.2.2: API de MotionFD, Sección 2.2.5: Rendimiento del algoritmo, Sección 2.3: Sampla aplicación, Sección 2.4: Aplicación MEMS-Studio |
AVISO IMPORTANTE – LEER ATENTAMENTE
STMicroelectronics NV y sus subsidiarias (“ST”) se reservan el derecho de realizar cambios, correcciones, mejoras, modificaciones y mejoras a los productos de ST y/o a este documento en cualquier momento y sin previo aviso. Los compradores deben obtener la información relevante más reciente sobre los productos de ST antes de realizar pedidos. Los productos de ST se venden de conformidad con los términos y condiciones de venta de ST vigentes al momento de la confirmación del pedido.
Los compradores son los únicos responsables de la elección, selección y uso de los productos de ST y ST no asume ninguna responsabilidad por la asistencia en la aplicación o el diseño de los productos de los compradores.
ST no concede aquí ninguna licencia, expresa o implícita, sobre ningún derecho de propiedad intelectual.
La reventa de productos ST con disposiciones diferentes a la información aquí establecida anulará cualquier garantía otorgada por ST para dicho producto.
ST y el logotipo de ST son marcas comerciales de ST. Para obtener información adicional sobre las marcas comerciales de ST, consulte www.st.com/marcas comerciales. Todos los demás nombres de productos o servicios son propiedad de sus respectivos dueños.
La información contenida en este documento reemplaza la información proporcionada previamente en cualquier versión anterior de este documento.
© 2024 STMicroelectronics – Todos los derechos reservados
Documentos / Recursos
![]() | Biblioteca de detección de caídas en tiempo real ST X-CUBE-MEMS1 MotionFD [pdf] Manual del usuario Biblioteca de detección de caídas en tiempo real X-CUBE-MEMS1 MotionFD, X-CUBE-MEMS1, Biblioteca de detección de caídas en tiempo real MotionFD, Biblioteca de detección de caídas en tiempo real, Biblioteca de detección de caídas, Biblioteca de detección, Biblioteca |