Estoy realizando un proyecto en el que quiero iniciar y detener la grabación de los datos del acelerómetro configurados para medir la aceleración vertical del eje Z del movimiento de la suspensión de un automóvil cuando golpea un bache. Quiero poder hacer FFT en los datos del acelerómetro y tratar de encontrar un "patrón" que represente un evento de baches para poder detectar baches de otros eventos, al igual que cerrar la puerta de un automóvil, etc ...
Mi pregunta es que no estoy seguro de qué frecuencia de muestreo necesitaría muestrear para obtener el SHM de la suspensión cuando llegue al bache. En este momento, solo tengo mi acelerómetro, un KXPS5-3157 en modo analógico conectado a mi Arduino y tengo un botón que mantiene presionado para hacer que registre los datos, cuando suelte el botón dejará de iniciar sesión y comenzará una nueva sesión. Hago esto para poder mantener presionado el botón justo antes de pasar por un bache para obtener los datos.
¿Debo usar Timer1 por ejemplo? Creo que necesitaría una sincronización precisa con los datos de aceleración para que sea placentero? Dado que la aceleración es con el tiempo, no estoy seguro de qué frecuencia de muestreo o cómo hacer que Arduino haga como 1 muestra / seg o 10 muestras / seg. Parece que la frecuencia del bache con las operaciones de suspensión en el rango de movimiento mecánico de 5 a 10 Hz. Rara vez, después de 13HZ, se extingue rápidamente por debajo de 3dB, por lo que se puede ignorar.
¿Alguna idea sobre cómo detectar eventos de baches? Ni siquiera estoy seguro de que la FFT sea la dirección correcta. Quiero trazar los datos desde el puerto serie, pero al trazarlos ahora mismo, solo tengo aceleración sin referencia de tiempo. Creo que necesito una referencia de tiempo con los datos