Tengo algunos problemas para controlar la velocidad de un PMSM con un codificador de valor absoluto adjunto (magnético). El codificador tiene una resolución de 12 bits y proporciona valores con poco ruido, solo 1 bit de ruido. Implementé un filtro Savitzky Golay para la estimación de la velocidad con un polinomio de 3er orden y probé los valores del filtro 5-13, pero no puedo llevar el motor tan estable como quiero. También intenté aplicar este filtro primero en los valores de posición del codificador para suavizar los picos, pero tampoco funcionó muy bien.
El bucle de control es el siguiente: El bucle interno es un bucle FOC (Control Orientado en el Campo), que se ejecuta a 12kHz. Luego viene el circuito de control de velocidad a 3kHz y finalmente el controlador de posición con 500Hz. Intenté muchos ajustes de los parámetros PID para el bucle de velocidad, pero realmente no puedo lograr el movimiento suave que necesito. El bucle de control actual funciona perfecto. Dado que la vibración del motor en el modo de control de velocidad ocurre a velocidades bajas (30-120 rpm) y no a velocidades muy bajas (10-30 rpm funciona bastante estable), estoy seguro de que la resolución del codificador es suficiente.
¿Alguien ha sugerido qué otras formas existen para estimar la velocidad de un PMSM con un codificador magnético?