ST X - logotipoUM2275
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ónimoDescripción
APIInterfaz de programación de aplicaciones
BSPPaquete de soporte para placa
Interfaz gráfica de usuarioInterfaz gráfica de usuario
HALCapa de abstracción de hardware
IDEEntorno 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

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD

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.

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD: código de demostración1Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD: código de demostración

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.

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD: tiempo transcurrido del algoritmo

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.

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD - puente

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.

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD - Conectar

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. Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD - icono o [Detener] Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD - icon1  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

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD: tabla de datos

Paso 4. Haga clic en [Detección de caídas] para abrir la ventana de la aplicación dedicada.

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD - Detección de caídas

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.

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD - Guardar en File

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.

Biblioteca de detección de caídas en tiempo real ST X CUBE MEMS1 MotionFD: inyección de datos

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.

  1. UM1859: Introducción a la expansión del software del sensor ambiental y MEMS de movimiento X-CUBE-MEMS1 para STM32Cube
  2. UM1724: Placas STM32 Nucleo-64 (MB1136)
  3. UM3233: Primeros pasos con MEMS-Studio

Historial de revisiones

Tabla 4. Historial de revisión del documento

FechaVersiónCambios
 22 de septiembre de 20171Lanzamiento inicial.
6 de febrero de 182Se agregaron referencias a la placa de desarrollo NUCLEO-L152RE y a la Tabla 2. Algoritmo de tiempo transcurrido (μs).
21 de marzo de 183Introducción actualizada y Sección 2.1 MotionFDview.
19 de febrero de 194Tabla 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 245Secció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

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *