Tldr; ¿Cuál es la mejor manera de calibrar un codificador rotatorio?
Todos,
Tengo un codificador rotatorio absoluto que es preciso para 17 bits. Sin embargo, se especifica que este dispositivo tiene una no linealidad de hasta +/- 280 arcosegundos (0,078 grados). Si bien no son completamente lineales, los valores de salida son altamente repetibles.
Estoy buscando sugerencias y comentarios sobre los métodos de calibración; Me gustaría utilizar la mayor precisión posible.
Mi mejor solución hasta ahora es realizar una compensación de no linealidad en el software a través de una tabla de búsqueda creada a partir de una rutina de calibración. La mejor rutina de calibración que he encontrado es hacer que el eje del codificador gire a una velocidad lenta pero constante (por ejemplo, < = 1 RPM), y descomponerse a través de microsegundos, o más pequeños, sincronizando la rotación de 360 grados en 2 ^ 17 segmentos, mapeando y registrando la rotación absoluta en el dominio del tiempo a la lectura de posición absoluta del codificador.
Sin embargo, la disponibilidad de un codificador rotatorio más lineal y de mayor resolución para comparar con, el método anterior es mi mejor solución hasta ahora.
¿Alguien tiene alguna otra idea o sugerencia, o vio algún defecto con lo anterior?
Gracias.
(P.S.) Estoy usando una placa compatible con Arduino (Teensy 3.2) que registra hasta 96 MHz y se puede configurar para proporcionar un registro de conteo de ciclo de reloj, lo que permite una temporización de microsegundos.