7 votos

La cuadratura de la decodificación

Tengo 6 alta resoloution codificadores (10k líneas) que yo quiero interfaz con un micro controlador. Me han escrito código para hacer la cuadratura de decodificación para todos los codificadores pero no hay manera de que una mala Arduino puede manejar eso que muchos de los codificadores en cualquier velocidad razonable, y mucho menos hacer cualquier otra cosa mientras se mantiene un registro de los codificadores.

¿Qué debo hacer en tal situación?

Por desgracia no tengo mucho de un fondo en electrónica, sólo en la programación (sólo un poco).

10voto

Mark Biek Puntos 41769

El uso de un $7.50 XMOS XS1-L1 chip, con seis hilos de hacer la decodificación de un hilo para cada codificador:

http://www.xmos.com/

Que deja dos hilos para hacer otras cosas.

El XK-1A junta disponibles a través de Digi-Key sólo cuesta 99, y viene con el XTAG-2 depurador. Tiene todo lo que usted necesita en el Desarrollo de software es libre, y creo que he visto codificador de software en el que los usuarios del foro. El 1600 MIPS XC-1A junta es otra opción, y también los costos de 99.

Esta es probablemente la forma más fácil y económica para hacerlo.

3voto

mathewbutler Puntos 479

Mi sugerencia sería que el Arduino usuario ejecutar el código de la aplicación, y simplemente hablar con 3 o 6 muy bajo costo microcontroladores que hacer la cuadratura de la decodificación. El número de micros externos depende de la capacidad que tienen de decodificación de una alta resolución de encoder a una velocidad determinada. El exterior de micros que se comporten como los de los ratones -- que seguir la pista del codificador de contar delta desde la última posición de la consulta. Suponiendo que usted no está tratando de hacer en tiempo real la posición de retroalimentación de bucle cerrado de control de motores, y solo quiero saber de donde cada motor está en un punto arbitrario en el tiempo, esto podría funcionar para usted. El uso de SPI o I2C para hablar con todos los micros externos, y, por supuesto, tendrás que lidiar con un desbordamiento del contador en caso de que el controlador principal (Arduino) no solicitar una actualización de la posición en intervalos regulares, garantizado intervalos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X