Manual do usuário de expansão de software de sensor e algoritmo de movimento ST X-CUBE-MEMS1

Expansão do software de sensor e algoritmo de movimento X-CUBE-MEMS1

Informações do produto

Especificações

  • Nome do produto: Pedômetro em tempo real MotionPW
  • Compatibilidade: Expansão X-CUBE-MEMS1 para STM32Cube
  • Fabricante: STMicroelectronics
  • Biblioteca: Biblioteca de Middleware MotionPW
  • Aquisição de dados: Acelerômetro
  • SampFrequência de leitura: 50 Hz

Instruções de uso do produto

Sobreview

A biblioteca MotionPW expande a funcionalidade do
Software X-CUBE-MEMS1 adquirindo dados do acelerômetro para
fornecer informações sobre o número de passos e cadência realizados
com o dispositivo vestível.

Compatibilidade

A biblioteca foi projetada apenas para sensores ST MEMS. Usando outros
Os sensores MEMS podem resultar em diferentes funcionalidades e
desempenho.

Implementação

Comoampa implementação está disponível para X-NUCLEO-IKS4A1 e
Placas de expansão X-NUCLEO-IKS01A3 montadas em desenvolvimento especificado
placas.

Informações técnicas

Para funções e parâmetros detalhados das APIs MotionPW,
consulte o HTML compilado MotionPW_Package.chm file localizado no
Pasta de documentação.

APIs

  • MotionPW_GetLibVersion(char *versão)
  • MotionPW_Initialize(void)
  • MotionPW_Update(MPW_input_t *dados_entrada, MPW_saída_t
    *saída de dados)
  • MotionPW_ResetPedometerLibrary(void)
  • MotionPW_ResetStepCount(void)
  • MotionPW_UpdateEnergyThreshold(flutuante *limiar_de_energia)

Perguntas Frequentes (FAQ)

P: Posso usar a biblioteca MotionPW com sensores MEMS não ST?

R: A biblioteca foi projetada somente para sensores ST MEMS.
A compatibilidade com outros sensores MEMS não é garantida.

P: Quais são os dados do acelerômetro necessários?ampmaruca
freqüência?

A: Os requisitos sampa frequência de medição é de 50 Hz para precisão
detecção de passos e cadência.

P: Como inicializo a biblioteca MotionPW?

A: Chame a função MotionPW_Initialize() antes de usar o
biblioteca de atividades físicas. Certifique-se de que o módulo CRC no STM32
o microcontrolador está habilitado.

“`

UM2350
Manual do usuário
Introdução à biblioteca de pedômetros de pulso em tempo real MotionPW na expansão X-CUBEMEMS1 para STM32Cube
Introdução
A biblioteca de middleware MotionPW faz parte do software X-CUBE-MEMS1 e roda no STM32 Nucleo. Ela fornece informações em tempo real sobre o número de passos e a cadência que o usuário acabou de executar com o dispositivo vestível (por exemplo, um relógio inteligente). Esta biblioteca destina-se a funcionar apenas com ST MEMS. O algoritmo é fornecido em formato de biblioteca estática e foi projetado para ser usado em microcontroladores STM32 baseados nas arquiteturas ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4 e ARM® Cortex®-M7. Ele é construído sobre a tecnologia de software STM32Cube para facilitar a portabilidade entre diferentes microcontroladores STM32. O software vem comampa implementação em execução na placa de expansão X-NUCLEO-IKS4A1 ou X-NUCLEO-IKS01A3 em uma placa de desenvolvimento NUCLEO-F401RE, NUCLEO-U575ZI-Q ou NUCLEO-L152RE.

UM2350 – Rev 4 – maio de 2025 Para mais informações, entre em contato com o escritório de vendas local da STMicroelectronics.

www.st.com

UM2350
Acrônimos e abreviações

1

Acrônimos e abreviações

Sigla API BSP GUI HAL IDE

Tabela 1. Lista de siglas

Interface de programação de aplicativos Pacote de suporte de placa Interface gráfica do usuário Camada de abstração de hardware Ambiente de desenvolvimento integrado

Descrição

UM2350 - Rev 4

Página 2 / 16

2
2.1 2.2
2.2.1
2.2.2
Observação:

UM2350
Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube

Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube

MotionPW sobreview
A biblioteca MotionPW expande a funcionalidade do software X-CUBE-MEMS1.
A biblioteca adquire dados do acelerômetro e fornece informações sobre o número de passos e a cadência que o usuário acabou de executar com o dispositivo vestível.
A biblioteca foi projetada apenas para ST MEMS. A funcionalidade e o desempenho ao usar outros sensores MEMS não são analisados ​​e podem ser significativamente diferentes do descrito no documento.
ComoampA implementação está disponível para placas de expansão X-NUCLEO-IKS4A1 e X-NUCLEO-IKS01A3, montadas em uma placa de desenvolvimento NUCLEO-F401RE, NUCLEO-U575ZI-Q ou NUCLEO-L152RE.

Biblioteca MotionPW
Informações técnicas que descrevem completamente as funções e parâmetros das APIs do MotionPW podem ser encontradas no HTML compilado do MotionPW_Package.chm file localizado na pasta Documentação.

Descrição da biblioteca MotionPW

A biblioteca de pedômetros MotionPW gerencia os dados adquiridos do acelerômetro; ela apresenta:

·

possibilidade de detectar o número de passos, cadência e confiança

·

reconhecimento baseado apenas em dados do acelerômetro

·

dados necessários do acelerômetro sampfrequência de 50 Hz

·

requisitos de recursos:

Cortex-M3: 3.7 kB de código e 1.8 kB de memória de dados

Cortex-M33: 3.5 kB de código e 1.8 kB de memória de dados

Cortex-M4: 3.5 kB de código e 1.8 kB de memória de dados

Cortex-M7: 3.6 kB de código e 1.8 kB de memória de dados

·

disponível para ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 e ARM® Cortex®-M7

arquiteturas

APIs do MotionPW

As APIs da biblioteca MotionPW são:

·

uint8_t MotionPW_GetLibVersion(char *versão)

recupera a versão da biblioteca

*versão é um ponteiro para uma matriz de 35 caracteres

retorna o número de caracteres na string da versão

·

void MotionPW_Initialize(void)

executa a inicialização da biblioteca MotionPW e a configuração do mecanismo interno, incluindo a alocação dinâmica de memória

Esta função deve ser chamada antes de usar a biblioteca de atividades de condicionamento físico e o módulo CRC no microcontrolador STM32 (no registro de habilitação de relógio periférico RCC) deve ser habilitado.

UM2350 - Rev 4

Página 3 / 16

UM2350
Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube

·

void MotionPW_Update(MPW_input_t *dados_entrada, MPW_output_t *dados_saída)

executa algoritmo de pedômetro para pulso

*o parâmetro data_in é um ponteiro para uma estrutura com dados de entrada

os parâmetros para o tipo de estrutura MPW_input_t são:

AccX é o valor do sensor do acelerômetro no eixo X em g

AccY é o valor do sensor do acelerômetro no eixo Y em g

AccZ é o valor do sensor do acelerômetro no eixo Z em g

CurrentActivity é o tipo de entrada enumerado MPW_activity_t com os seguintes valores:

ATIVIDADE_DESCONHECIDA_MPW = 0x00

MPW_WALKING = 0x01

MPW_FASTWALKING = 0x02

MPW_JOGGING = 0x03

*o parâmetro data_out é um ponteiro para uma estrutura com dados de saída

os parâmetros para o tipo de estrutura MPW_output_t são:

Nsteps é o número de etapas executadas pelo usuário

Cadência é a cadência dos passos do usuário

A confiança é a confiança do parâmetro de saída calculado

·

void MotionPW_ResetPedometerLibrary(void)

redefine as variáveis ​​internas da biblioteca e o mecanismo para os valores padrão (incluindo a contagem de passos atual)

·

vazio MotionPW_ResetStepCount(vazio)

redefine a contagem de passos atual

·

void MotionPW_UpdateEnergyThreshold(float *limiar_de_energia)

limite de energia atualizado para ajustar o algoritmo de detecção de passos

*o parâmetro energy_threshold é um ponteiro para o valor limite de energia

UM2350 - Rev 4

Página 4 / 16

2.2.3

Fluxograma de API

UM2350
Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube
Figura 1. Sequência lógica da API MotionPW
Começar
Inicializar
ObterLibVersion
Temporizador de espera expirando dados de interrupção de leitura

Ler atualização de dados do acelerômetro
Obter saídas

2.2.4

Código de demonstração O seguinte código de demonstração example lê dados do sensor do acelerômetro, obtém a atividade atual da biblioteca MotionAW e obtém o número de passos, cadência e confiança da biblioteca MotionPW.
[…] #define VERSION_STR_LENG 35 […] /* Inicialização */ char lib_version[VERSION_STR_LENG];
/* Função de inicialização da API do pedômetro */ MotionPW_Initialize();
/* Função de inicialização da API de reconhecimento de atividade */ MotionAW_Initialize();
/* Opcional: Obter versão */ MotionPW_GetLibVersion(lib_version);
[…] /* Usando o algoritmo Pedômetro para pulso */ Timer_OR_DataRate_Interrupt_Handler() {
MPW_entrada_t MPW_dados_entrada; MPW_saída_t MPW_dados_saída;

UM2350 - Rev 4

Página 5 / 16

2.2.5

UM2350
Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube
Entrada_MAW_t Entrada_de_dados_MAW; Saída_MAW_t Saída_de_dados_MAW;
/* Obter aceleração X/Y/Z em g */ MEMS_Read_AccValue(&MAW_data_in.Acc_X, &MAW_data_in.Acc_Y, &MAW_data_in.Acc_Z);
/* Obter atividade atual */ MotionAW_Update(&MAW_data_in, &MAW_data_out, Timestamp);
MPW_dados_em.Acc_X = MAW_dados_em.Acc_X; MPW_dados_em.Acc_Y = MAW_dados_em.Acc_Y; MPW_dados_em.Acc_Z = MAW_dados_em.Acc_Z;
se (MAW_data_out.current_activity == MAW_WALKING) {
MPW_data_in.currentActivity = MPW_WALKING; } senão se (MAW_data_out.current_activity == MAW_FASTWALKING) {
MPW_data_in.currentActivity = MPW_FASTWALKING; } senão se (MAW_data_out.current_activity == MAW_JOGGING) {
MPW_data_in.currentActivity = MPW_JOGGING; } senão {
MPW_data_in.currentActivity = ATIVIDADE_DESCONHECIDA_MPW; }
/* Executar pedômetro para algoritmo de pulso */ MotionPW_Update(&MPW_data_in, &MPW_data_out); }
Desempenho do algoritmo: O algoritmo do pedômetro para pulso utiliza apenas dados do acelerômetro e opera em baixa frequência (50 Hz) para reduzir o consumo de energia. Ao replicar atividades físicas com a placa STM32 Nucleo, certifique-se de que a placa esteja perpendicular ao antebraço para simular a posição da pulseira.
Figura 2. Sistema de orientação para dispositivos usados ​​no pulso

Tabela 2. Tempo de lapso do algoritmo (µs) Cortex-M4, Cortex-M3

Cortex-M4 STM32F401RE a 84 MHz

Mínimo

Média

Máx.

38

49

616

Cortex-M3 STM32L152RE a 32 MHz

Mínimo

Média

Máx.

296

390

3314

UM2350 - Rev 4

Página 6 / 16

UM2350
Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube

Tabela 3. Tempo de lapso do algoritmo (µs) Cortex-M33 e Cortex-M7

Cortex- M33 STM32U575ZI-Q a 160 MHz

Mínimo

Média

Máx.

57

63

359

Cortex- M7 STM32F767ZI a 96 MHz

Mínimo

Média

Máx.

61

88

1301

2.3

Sample aplicativo

O middleware MotionPW pode ser facilmente manipulado para criar aplicativos de usuário.

ComoampO aplicativo é fornecido na pasta Application. Ele foi projetado para ser executado em uma placa de desenvolvimento NUCLEO-F401RE, NUCLEOU575ZI-Q ou NUCLEO-L152RE conectada a uma placa de expansão X-NUCLEO-IKS4A1 ou X-NUCLEO-IKS01A3.

O aplicativo reconhece os passos, a cadência e a confiança em tempo real. Os dados podem ser exibidos por meio de uma interface gráfica.

Figura 3. STM32 Nucleo: LEDs, botão, jumper

A figura acima mostra o botão de usuário B1 e os três LEDs da placa NUCLEO-F401RE. Uma vez que a placa é energizada, o LED LD3 (PWR) liga.
É necessária uma conexão por cabo USB para monitorar os dados em tempo real. A placa é alimentada pelo PC via conexão USB. Este modo de funcionamento permite ao usuário exibir os passos detectados, a cadência e a confiança, os dados do acelerômetro e o tempo decorrido.amp e eventualmente outros dados de sensores, em tempo real, usando o MEMS-Studio.

2.4

Aplicação MEMS Studio

Os sampO aplicativo usa o aplicativo MEMS-Studio, que pode ser baixado em www.st.com.

Etapa 1. Certifique-se de que os drivers necessários estejam instalados e que a placa STM32 Nucleo com placa de expansão apropriada esteja conectada ao PC.

UM2350 - Rev 4

Página 7 / 16

UM2350
Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube

Passo 2.

Inicie o aplicativo MEMS-Studio para abrir a janela principal do aplicativo.
Se uma placa STM32 Nucleo com firmware suportado estiver conectada ao PC, ela será detectada automaticamente. Pressione o botão [Connect] para estabelecer a conexão com a placa de avaliação.

Figura 4. MEMS-Studio – Conectar

Etapa 3. Quando conectado a uma placa STM32 Nucleo com firmware compatível, a guia [Avaliação da biblioteca] é aberta.

Para iniciar e parar o streaming de dados, alterne a barra de ferramentas vertical apropriada [Iniciar].

ou botão [Parar] na parte externa

Os dados provenientes do sensor conectado podem ser viewed selecionando a guia [Data Table] na barra de ferramentas vertical interna.

Figura 5. MEMS-Studio – Avaliação da Biblioteca – Tabela de Dados

UM2350 - Rev 4

Página 8 / 16

UM2350
Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube
Etapa 4. Clique em [Pedômetro] para abrir a janela dedicada do aplicativo. Figura 6. MEMS-Studio – Avaliação da Biblioteca – Pedômetro

Passo 5.

Clique em [Salvar em File] para abrir a janela de configuração do registro de dados. Selecione os dados do sensor e do pedômetro a serem salvos na file. Você pode começar ou parar de salvar clicando no correspondente
botão.

Figura 7. MEMS-Studio – Avaliação da biblioteca – Salvar em File

UM2350 - Rev 4

Página 9 / 16

UM2350
Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para STM32Cube

Passo 6.

O modo de injeção de dados pode ser usado para enviar os dados adquiridos anteriormente para a biblioteca e recebê-los
resultado. Selecione a aba [Injeção de Dados] na barra de ferramentas vertical para abrir o dedicado view para esta funcionalidade.

Figura 8. MEMS-Studio – Avaliação de biblioteca – Injeção de dados

Passo 7.

Clique no botão [Navegar] para selecionar o file com os dados capturados anteriormente no formato CSV. Os dados serão carregados na tabela no formato atual view. Outros botões ficarão ativos. Você pode clicar em:
Botão [Modo offline] para ligar/desligar o modo offline do firmware (modo que utiliza os dados capturados anteriormente).
Botões [Iniciar]/[Parar]/[Etapa]/[Repetir] para controlar a alimentação de dados do MEMS-Studio para a biblioteca.

UM2350 - Rev 4

Página 10 / 16

UM2350
Referências

3

Referências

Todos os recursos a seguir estão disponíveis gratuitamente em www.st.com. 1. UM1859: Introdução ao software de sensor ambiental e MEMS de movimento X-CUBE-MEMS1
expansão para STM32Cube 2. UM1724: placas STM32 Nucleo-64 (MB1136) 3. UM3233: Introdução ao MEMS-Studio

UM2350 - Rev 4

Página 11 / 16

UM2350

Histórico de revisão

Tabela 4. Histórico de revisão do documento

Data

Mudanças na versão

24-jan-2018 1 Lançamento inicial.

21-Mar-2018 2 Introdução atualizada e Seção 2.1 MotionPW sobreview. Seção 2.2.5 atualizada: Desempenho do algoritmo e Figura 3. STM32 Nucleo: LEDs, botão, jumper.
20/2019/3 01 Adicionadas informações de compatibilidade da placa de expansão X-NUCLEO-IKS3AXNUMX.

Seção de introdução atualizada, Seção 2.1: MotionPW sobreview, Seção 2.2.1: Biblioteca MotionPW 20 de maio de 2025 4 descrição, Seção 2.2.2: APIs MotionPW, Seção 2.2.4: Código de demonstração, Seção 2.2.5: Algoritmo
desempenho, Seção 2.3: Sampo aplicativo, Seção 2.4: Aplicativo MEMS Studio

UM2350 - Rev 4

Página 12 / 16

UM2350
Conteúdo
Conteúdo
1 Siglas e abreviações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Biblioteca de middleware MotionPW na expansão de software X-CUBE-MEMS1 para
STM32Cube . ...view . ... . . . . . . . . . 3
2.2.1 Descrição da biblioteca MotionPW. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.2 APIs do MotionPW. ... 3 2.2.3 Fluxograma da API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.4 Código de demonstração . ... . . . . . . . . 5 2.2.5 Desempenho do algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Sampo aplicativo . ... . . 7
3 Referências . ... . . . . . . . . . . . . . . . . . . . . . . . . .11

UM2350 - Rev 4

Página 13 / 16

UM2350
Lista de tabelas

Lista de tabelas

Tabela 1. Tabela 2. Tabela 3. Tabela 4.

Lista de siglas . ... . . . . . . 2 Tempo de lapso do algoritmo (µs) Cortex-M4 e Cortex-M3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Histórico de revisão do documento . ... . . . 33

UM2350 - Rev 4

Página 14 / 16

UM2350
Lista de figuras

Lista de figuras

Figura 1. Figura 2. Figura 3. Figura 4. Figura 5. Figura 6. Figura 7. Figura 8.

Sequência lógica da API MotionPW . ... 5 STM6 Nucleo: LEDs, botão, jumper . ... . . . 32 MEMS-Studio – Avaliação da biblioteca – Tabela de dados. ... File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Avaliação de biblioteca – Injeção de dados . ...

UM2350 - Rev 4

Página 15 / 16

UM2350
AVISO IMPORTANTE LEIA COM ATENÇÃO A STMicroelectronics NV e suas subsidiárias (“ST”) reservam-se o direito de fazer alterações, correções, aprimoramentos, modificações e melhorias nos produtos ST e/ou neste documento a qualquer momento sem aviso prévio. Os compradores devem obter as informações relevantes mais recentes sobre os produtos ST antes de fazer pedidos. Os produtos ST são vendidos de acordo com os termos e condições de venda da ST em vigor no momento da confirmação do pedido. Os compradores são os únicos responsáveis ​​pela escolha, seleção e uso dos produtos ST e a ST não assume nenhuma responsabilidade pela assistência à aplicação ou pelo design dos produtos dos compradores. Nenhuma licença, expressa ou implícita, a qualquer direito de propriedade intelectual é concedida pela ST neste documento. A revenda de produtos ST com disposições diferentes das informações aqui estabelecidas anulará qualquer garantia concedida pela ST para tal produto. ST e o logotipo ST são marcas registradas da ST. Para obter informações adicionais sobre as marcas registradas da ST, consulte www.st.com/trademarks. Todos os outros nomes de produtos ou serviços são de propriedade de seus respectivos proprietários. As informações neste documento substituem as informações fornecidas anteriormente em quaisquer versões anteriores deste documento.
© 2025 STMicroelectronics Todos os direitos reservados

UM2350 - Rev 4

Página 16 / 16

Documentos / Recursos

Expansão de software de algoritmo de movimento e sensor ST X-CUBE-MEMS1 [pdf] Manual do Usuário
STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, Expansão de software de algoritmo de movimento e sensor X-CUBE-MEMS1, Expansão de software de algoritmo de movimento e sensor, Expansão de software de algoritmo de movimento, Expansão de software de algoritmo, Expansão de software

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *