ST X - logotipoUM2275
Manual de usuario

Comezando coa biblioteca de detección de caídas en tempo real de MotionFD na expansión X-CUBE-MEMS1 para STM32Cube

Introdución

O MotionEC é un compoñente da biblioteca de middleware do software X-CUBE-MEMS1 e execútase en STM3z2. Ofrece información en tempo real sobre a orientación do dispositivo e o estado do movemento baseada nos datos dun dispositivo.
Ofrece as seguintes saídas: orientación do dispositivo (cuaternións, ángulos de Euler), rotación do dispositivo (funcionalidade do xiroscopio virtual), vector gravidade e aceleración lineal.
Esta biblioteca está pensada para funcionar só con ST MEMS.
O algoritmo ofrécese en formato de biblioteca estático e está deseñado para ser usado en microcontroladores STM32 baseados nos ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 e ARM® Arquitecturas Cortex®-M7.
Está construído sobre a tecnoloxía de software STM32Cube para facilitar a portabilidade entre diferentes microcontroladores STM32.
O software vén con sampImplementación de lieiro que se executa na placa de expansión X-NUCLEO-IKS4A1 ou X-NUCLEO-IKS01A3 nunha placa de desenvolvemento NUCLEO-F401RE, NUCLEO-U575ZI-Q ou NUCLEO-L152RE.

Siglas e abreviaturas

Táboa 1. Lista de siglas

Acrónimo Descrición
API Interface de programación de aplicacións
BSP Paquete de apoio ao consello
GUI Interface gráfica de usuario
HAL Capa de abstracción de hardware
IDE Entorno de desenvolvemento integrado

Biblioteca de middleware MotionFD na expansión de software X-CUBE-MEMS1 para STM32Cube

2.1 MotionFD rematadoview
A biblioteca MotionFD amplía a funcionalidade do software X-CUBE-MEMS1.
A biblioteca adquire datos do acelerómetro e do sensor de presión e ofrece información sobre o evento de caída do usuario baseándose nos datos dun dispositivo.
A biblioteca está deseñada só para ST MEMS. A funcionalidade e o rendemento cando se usan outros sensores MEMS non se analizan e poden ser significativamente diferentes do descrito no documento.
SampA implementación do le está dispoñible para a placa de expansión X-NUCLEO-IKS4A1 e X-NUCLEO-IKS01A3, montada nunha placa de desenvolvemento NUCLEO-F401RE, NUCLEO-U575ZI-Q ou NUCLEO-L152RE.
2.2 Biblioteca MotionFD
A información técnica que describe completamente as funcións e parámetros das API de MotionFD pódese atopar no HTML compilado de MotionFD_Package.chm. file localizado na carpeta Documentación.
2.2.1 Descrición da biblioteca MotionFD
A biblioteca de detección de caídas MotionFD xestiona os datos adquiridos do acelerómetro e sensor de presión; presenta:

  • posibilidade de distinguir se a caída do usuario se produciu ou non
  • recoñecemento baseado só nos datos do acelerómetro e do sensor de presión
  • datos necesarios do acelerómetro e do sensor de presión sampfrecuencia ling é de 25 Hz
  • Requisitos de recursos:
    – Cortex-M3: 3.6 kB de código e 3.2 kB de memoria de datos
    – Cortex-M33: 3.4 kB de código e 3.2 kB de memoria de datos
    – Cortex-M4: 3.4 kB de código e 3.2 kB de memoria de datos
    – Cortex-M7: 3.4 kB de código e 3.2 de memoria de datos
  • dispoñible para arquitecturas ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 e ARM Cortex-M7

2.2.2 API de MotionFD
As API da biblioteca MotionFD son:

  • uint8_t MotionFD_GetLibVersion(char *versión)
    – recupera a versión da biblioteca
    – *A versión é un punteiro a unha matriz de 35 caracteres
    – devolve o número de caracteres da cadea de versión
  • void MotionFD_Initialize(void)
    – realiza a inicialización da biblioteca MotionFD e a configuración do mecanismo interno

Nota: Esta función debe chamarse antes de usar a biblioteca de detección de caídas e o módulo CRC do microcontrolador STM32 (no rexistro de activación do reloxo periférico RCC) ten que estar habilitado.

  • void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
    - Executa o algoritmo de detección de caídas
    – *O parámetro data_in é un punteiro a unha estrutura con datos de entrada
    – os parámetros para o tipo de estrutura MFD_input_t son:
    ◦ AccX é o valor do sensor do acelerómetro no eixe X en mg
    ◦ AccY é o valor do sensor do acelerómetro no eixe Y en mg
    ◦ AccZ é o valor do sensor do acelerómetro no eixe Z en mg
    ◦ Press é o valor do sensor de presión en hPa
    – *O parámetro data_out é un punteiro a unha enumeración cos seguintes elementos:
    ◦ MFD_NOFALL = 0
    ◦ MFD_FALL = 1
  • void MotionFD_SetKnobs(float fall_threshold, int32_t fall_altitude_delta, float lying_time)
    – establece os parámetros de configuración da biblioteca
    – fall_threshold limiar de aceleración en mg
    – fall_altitude_delta diferenza de altitude en cm
    – tempo de deitado en segundos sen movemento despois dun impacto
  • void MotionFD_GetKnobs(float *fall_threshold, int32_t *fall_altitude_delta, float *lying_time)
    – obtén os parámetros de configuración da biblioteca
    – fall_threshold limiar de aceleración en mg
    – fall_altitude_delta diferenza de altitude en cm
    – tempo de deitado en segundos sen movemento despois dun impacto

2.2.3 Diagrama de fluxo da API

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

2.2.4 Código de demostración
O seguinte código de demostración le os datos do acelerómetro e o sensor de presión e obtén o código do evento de caída.

ST X CUBE MEMS1 Biblioteca de detección de caídas en tempo real MotionFD- Código de demostración1ST X CUBE MEMS1 Biblioteca de detección de caídas en tempo real MotionFD: código de demostración

2.2.5 Rendemento do algoritmo
O algoritmo de detección de caídas só usa datos do acelerómetro e do sensor de presión e funciona a baixa frecuencia (25 Hz) para reducir o consumo de enerxía.

ST X CUBE MEMS1 Biblioteca de detección de caídas en tempo real MotionFD: tempo transcorrido do algoritmo

2.3 Sampa aplicación
O middleware MotionFD pódese manipular facilmente para crear aplicacións de usuario; comoampa aplicación ofrécese no cartafol Aplicación.
Está deseñado para funcionar nunha placa de desenvolvemento NUCLEO-F401RE, NUCLEO-U575ZI-Q ou NUCLEO-L152RE conectada a unha placa de expansión X-NUCLEO-IKS4A1 ou X-NUCLEO-IKS01A3.
A aplicación recoñece o evento de caída do usuario en tempo real.

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

A figura anterior mostra o botón de usuario B1 e os tres LED da placa NUCLEO-F401RE. Unha vez que a placa está alimentada, o LED LD3 (PWR) acende.
Requírese unha conexión por cable USB para controlar os datos en tempo real. A placa é alimentada polo PC mediante conexión USB. Este modo de traballo permite o evento de caída do usuario detectado, acelerómetro e datos do sensor de presión, tempo stamp e, eventualmente, outros datos do sensor, en tempo real, usando o MEMS-Studio.
2.4 Aplicación MEMS-Studio
O sampa aplicación usa a aplicación MEMS-Studio, que se pode descargar desde www.st.com.
Paso 1. Asegúrese de que estean instalados os controladores necesarios e que a placa STM32 Nucleo coa tarxeta de expansión adecuada estea conectada ao PC.
Paso 2. Inicie a aplicación MEMS-Studio para abrir a xanela principal da aplicación.
Se unha placa STM32 Nucleo con firmware compatible está conectada ao PC, detectarase automaticamente.
Prema o botón [Conectar] para establecer a conexión co consello de avaliación.

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

Paso 3. Cando se conecta a unha placa STM32 Nucleo con firmware compatible, ábrese a pestana [Avaliación da biblioteca].
Para iniciar e deter a transmisión de datos, alterna o [Inicio] adecuado ST X CUBE MEMS1 MotionFD Biblioteca de detección de caídas en tempo real: icona ou [Parar] ST X CUBE MEMS1 Biblioteca de detección de caídas en tempo real MotionFD: icona1  botón na barra de ferramentas vertical exterior.
Os datos procedentes do sensor conectado poden ser viewed seleccionando a pestana [Táboa de datos] na ferramenta vertical interna ba

ST X CUBE MEMS1 Biblioteca de detección de caídas en tempo real MotionFD- Táboa de datos

Paso 4. Fai clic en [Detección de caídas] para abrir a xanela da aplicación dedicada.

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

Paso 5. Fai clic en [Gardar en File] para abrir a xanela de configuración do rexistro de datos. Seleccione o sensor e os datos de detección de caídas para gardar file. Podes iniciar ou deixar de gardar facendo clic no botón correspondente.

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

Paso 6. O modo de inxección de datos pódese utilizar para enviar os datos adquiridos previamente á biblioteca e recibir o resultado. Seleccione a pestana [Inxección de datos] na barra de ferramentas vertical para abrir a páxina dedicada view para esta funcionalidade.

ST X CUBE MEMS1 Biblioteca de detección de caídas en tempo real MotionFD- Inxección de datos

Paso 7. Fai clic no botón [Examinar] para seleccionar file cos datos capturados previamente en formato CSV.
Os datos cargaranse na táboa na actualidade view.
Outros botóns activaranse. Podes facer clic en:
– Botón [Modo sen conexión] para activar/desactivar o modo sen conexión do firmware (modo que utiliza os datos capturados anteriormente).
– Botóns [Inicio]/[Parar]/[Paso]/[Repetir] para controlar a fonte de datos de MEMS-Studio á biblioteca.

2.5 Referencias
Todos os seguintes recursos están dispoñibles gratuitamente en www.st.com.

  1. UM1859: iniciación co MEMS de movemento X-CUBE-MEMS1 e a expansión do software do sensor ambiental para STM32Cube
  2. UM1724: placas STM32 Nucleo-64 (MB1136)
  3. UM3233: Iniciación a MEMS-Studio

Historial de revisións

Táboa 4. Historial de revisións de documentos

Data Versión Cambios
 22-set-2017 1 Lanzamento inicial.
6-Feb-18 2 Engadiron referencias á placa de desenvolvemento NUCLEO-L152RE e á táboa 2. Algoritmo de tempo transcorrido (μs).
21-mar-18 3 Actualización da introdución e da sección 2.1 de MotionFDview.
19-Feb-19 4 Táboa actualizada 2. Algoritmo de tempo transcorrido (μs) e Figura 2. STM32 Nucleo: LEDs, botón, puente.
Engadiuse información de compatibilidade da placa de expansión X-NUCLEO-IKS01A3.
17-set-24 5 Sección actualizada Introdución, Sección 2.1: MotionFD acabadaview, Sección 2.2.1: Descrición da biblioteca MotionFD, Sección 2.2.2: API de MotionFD, Sección 2.2.5: Rendemento do algoritmo, Sección 2.3: Sample aplicación, Sección 2.4: Aplicación MEMS-Studio

AVISO IMPORTANTE - LEA ATENTAMENTE
STMicroelectronics NV e as súas subsidiarias (“ST”) resérvanse o dereito de realizar cambios, correccións, melloras, modificacións e melloras nos produtos ST e/ou neste documento en calquera momento sen previo aviso. Os compradores deben obter a información relevante máis recente sobre produtos ST antes de facer pedidos. Os produtos ST véndense de acordo cos termos e condicións de venda de ST existentes no momento do recoñecemento da orde.
Os compradores son os únicos responsables da elección, selección e uso dos produtos ST e ST non asume ningunha responsabilidade pola asistencia á aplicación ou o deseño dos produtos dos compradores.
ST non concede ningunha licenza, expresa ou implícita, a ningún dereito de propiedade intelectual.
A revenda de produtos ST con disposicións diferentes da información aquí establecida anulará calquera garantía concedida por ST para tal produto.
ST e o logotipo de ST son marcas comerciais de ST. Para obter información adicional sobre as marcas rexistradas ST, consulte www.st.com/trademarks. Todos os outros nomes de produtos ou servizos son propiedade dos seus respectivos propietarios.
A información deste documento substitúe e substitúe a información proporcionada anteriormente en calquera versión anterior deste documento.

© 2024 STMicroelectronics – Todos os dereitos reservados

Documentos/Recursos

ST X-CUBE-MEMS1 Biblioteca de detección de caídas en tempo real MotionFD [pdfManual do usuario
X-CUBE-MEMS1 Biblioteca de detección de caídas en tempo real MotionFD, X-CUBE-MEMS1, biblioteca de detección de caídas en tempo real MotionFD, biblioteca de detección de caídas en tempo real, biblioteca de detección de caídas, biblioteca de detección, biblioteca

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *