Vibração com ESP32: das amostras à análise de anomalias em Python
Um acelerômetro pode gerar um gráfico impressionante muito antes de produzir um sinal de manutenção confiável. Ritmo de amostragem, montagem, velocidade da máquina, faixa do sensor e estado operacional influenciam a medição. Uma boa experiência com ESP32 preserva esse contexto, calcula recursos reproduzíveis em Python e trata o alerta como motivo para inspeção, não como diagnóstico.
Publicado em 28 de setembro de 202614 min de leituraTelemetria de condição de máquinas
Rastreie cada janela pelo pipeline
Mantenha o contexto da amostra desde o sensor até a análise
1 / MontarPosição rígida e repetível, com eixos registrados.
2 / AmostrarTaxa conhecida, faixa calibrada e horário monotônico.
3 / EmpacotarID da janela, condição e metadados do firmware.
4 / AnalisarPython: remoção de tendência, RMS, crista e espectro.
5 / RevisarTendência, faixa de referência e investigação humana.
Escolha sensor e taxa de amostragem para as frequências que deseja observar, não só porque há uma placa barata disponível. Confira largura de banda, ruído, escala máxima, filtragem anti-aliasing, vazão do barramento e ressonância da montagem na documentação do componente. Ler um sensor I2C em intervalos irregulares não cria automaticamente um sinal uniformemente amostrado.
Torne a aquisição reproduzível
Reúna amostras XYZ com horário em janelas de duração fixa. Registre quantidade real de amostras, prazos perdidos, faixa, orientação, identidade e condição operacional, como marcha lenta, carga ou velocidade. Preserve janelas brutas para uma calibração representativa. Se o ESP32 não consegue armazenar toda a janela em alta taxa, transmita blocos com sequência e detecte lacunas no receptor.
Remova gravidade ou offset estático de forma deliberada; subtrair a média pode servir para alguns recursos, mas apagar movimentos lentos também pode esconder algo importante. Verifique saturação e amostras ausentes antes de pontuar. Registre o intervalo efetivo: a carga de Wi-Fi, armazenamento e interrupções pode impedir o timer de cumprir a taxa solicitada.
Crie uma referência antes do limiar
Em Python, comece com recursos transparentes: RMS por eixo, pico a pico, fator de crista, curtose quando fizer sentido e energia em bandas. Para estrutura em frequência, estime a densidade espectral de potência com janela e tamanho de segmento documentados. O método de Welch calcula periodogramas modificados em segmentos sobrepostos e tira sua média; isso pode suavizar ruído, enquanto o tamanho do segmento troca resolução em frequência por média. Identifique unidades espectrais e taxa de amostragem.
Separe calibração e avaliação por tempo ou ciclo de máquina, não misturando aleatoriamente janelas vizinhas do mesmo ciclo. Um limiar treinado em uma velocidade pode acusar toda operação normal em outra. Compare condições equivalentes, meça alarmes falsos e eventos perdidos e exija desvio repetido antes de chamar alguém.
Anomalia não significa falha
Pontuação fora da referência significa “diferente segundo este modelo”, não “rolamento quebrado”. Montagem frouxa, mudança de carga, temperatura, saturação ou manutenção podem explicar a mudança. Associe vetor de recursos, referência à janela bruta, versão do modelo e contexto a cada alerta para permitir revisão. Comece com monitoramento consultivo; decisões de parada segura precisam de proteção separada, projetada e validada para esse fim.
Sinal ou recurso
Uso possível
Verifique antes do alerta
Aceleração RMS
Tendência geral de vibração
Velocidade, carga e faixa comparáveis
Fator de crista
Picos transitórios sobre a energia média
Outliers, saturação e tamanho da janela
Energia por banda
Mudanças em faixas de frequência
Taxa, aliasing e resolução dos bins
Lacunas de amostra
Saúde da aquisição e do transporte
Janela incompleta nunca deve parecer normal
Projete telemetria para investigar
Envie recursos derivados com frequência e janelas brutas apenas quando banda e privacidade permitirem. Inclua ID estável da máquina, sequência da janela, configuração, versões de software e firmware, qualidade de aquisição, recursos e horário de recebimento do servidor. Limite filas e use ingestão idempotente para que retentativas não dupliquem amostras. No painel, sobreponha estado de operação e marcadores de ausência de dados às tendências.
Valide com mudanças controladas
Estabeleça primeiro uma referência saudável e repetível; depois introduza variações conhecidas e seguras em equipamento de laboratório, como outra velocidade, desbalanceamento controlado ou suporte de teste frouxo sob supervisão. Não danifique máquinas nem use pessoas como carga de teste. Meça alertas durante variação normal e tempo para detectar cada mudança. Registre o envelope ensaiado: não extrapole para máquinas que ainda não caracterizou.
Em resumo
ESP32 e Python formam um bom pipeline de aprendizado quando a qualidade da aquisição e o contexto da máquina são dados essenciais. Use janelas fixas, preserve evidência bruta, compare estados equivalentes e calibre o custo dos alarmes. Uma anomalia ajuda a priorizar inspeção humana, mas não certifica a saúde da máquina.