Estoy tomando lecturas de torque de medidores de tensión en un actuador y tratando de filtrar la señal para que parezca utilizable. Ya he colocado un filtro mediano que reduce los picos esporádicos.
Cuando tengo el actuador bloqueado, puedo configurar su potencia (a través del ciclo de trabajo PWM) a diferentes valores y ver las lecturas de torque correspondientes. En tal situación, tengo 0.1Nm de ruido. Esto es aceptable.
Sin embargo, cuando dejo el motor sin restricciones y lo puse a girar a diferentes velocidades (nuevamente, configúrelo a diferentes potencias a través del ciclo de trabajo PWM), obtengo un ruido alto en las lecturas del sensor de torque que parece tener una relación directa Con la velocidad del motor.
En esta imagen, puedes ver las lecturas mientras el motor pasa de rápido a lento en 4 pasos bastante obvios:
(Obviamente, dado que el motor funciona libremente, las lecturas de torque son (deberían ser) una constante de 0.)
Mi pregunta es, ¿cómo puedo filtrar estos datos durante el funcionamiento del motor? El procesamiento fuera de línea está fuera de discusión, y me imagino que la ventana del filtro no puede ser demasiado grande (ya que produce una gran latencia en la lectura del valor de torque actual), pero tal vez sea inevitable.
Pensé en un filtro de paso bajo, naturalmente, que funcionaría muy bien para altas velocidades del motor, donde la frecuencia de ruido es bastante alta, pero a medida que el motor disminuye, esencialmente tendría que mirar segundos de la historia para poder filtrar ese ruido de baja frecuencia, que es demasiado alto para ser útil para el control de retroalimentación.