Realización de la velocidad de muestreo del codificador

1

Sé que las preguntas de un ingeniero mecánico pueden parecerte un poco ingenuas :), pero aquí voy: Estoy tratando de usar un Arduino Uno como cerebro para un motor sin escobillas de CC que tenemos para un proyecto. El motor tiene un codificador magnético de 2 canales en cuadratura, según entiendo (!).

IG52-04 24VDC Motorreductor de 285 RPM con codificador

¿Cómo sé cuál es la frecuencia de muestreo del codificador? ¿O cómo puedo saber si un microcontrolador Arduino cumple con nuestro requisito de leer la posición angular del eje a través del codificador en función de la velocidad de muestreo de Arduino?

    
pregunta Sina

1 respuesta

1

La frecuencia de las señales del codificador está directamente relacionada con la resolución del codificador y la velocidad del eje del motor (antes de la caja de cambios, ya que es donde se adjunta). $$ f_ {enc} = CPR * u_M $$

donde: \ $ f_ {enc} \ $ es la frecuencia de salida del codificador, \ $ CPR \ $ significa "Counts Per Revolution", \ $ u_M \ $ es la velocidad del motor en \ $ \ frac {revolutions} { sec} \ $.

La tasa de Nyquist determina que la frecuencia de muestreo debe duplicar la frecuencia de la señal. Sin embargo, tenga en cuenta que las dos señales se compensan con \ $ 90 ^ o \ $, por lo que es como muestrear una señal con una frecuencia \ $ 2f_ {enc} \ $. Por lo tanto, el μC debe utilizar una frecuencia de muestreo de: $$ F_s = 4f_ {enc} = 4 * CPR * u_M $$

Esto sería un valor mínimo y cualquier valor superior sería más sólido.

La frecuencia de muestreo del arduino, y cualquier otro microcontrolador, dependerá de qué tan rápido sea su código y el reloj de μC. Para esta aplicación específica, puede utilizar una de las salidas del codificador como señal de interrupción y cuando se activa la interrupción, simplemente lea la segunda salida. Luego, simplemente incremente o disminuya el contador de acuerdo con el valor de la segunda salida. Esto es mucho más rápido que muestrear continuamente las señales. Aunque no es determinista ya que el código ahora implica una interrupción.

La "hoja de datos" del codificador es tan mala que no puedo saber qué es la RCP, pero una vez que se obtiene ese valor, calcular la frecuencia de muestreo mínima requerida es sencillo.

    
respondido por el Evan

Lea otras preguntas en las etiquetas