Documente Academic
Documente Profesional
Documente Cultură
ANLISIS DE MEDOTOLOGAS DE
DECODIFICACIN
Introduccin
El encoder es un transductor que transforma movimiento en una serie
de impulsos digitales donde dichos impulsos son utilizados para
controlar desplazamiento, velocidad, aceleracin y trayectoria. Los
encoders son utilizados en una gran variedad de aplicaciones, por
ejemplo en las mquinas de elaboracin de materiales, en robots como
transductores de retroalimentacin para el control de la velocidad,
posicionamiento de actuadores, controles de rango; en general en
sistemas de medicin y control.
Estn clasificados en encoders rotacionales y encoders lineales
dependiendo del movimiento que realice el dispositivo, los sensores ms
comunes utilizados son del tipo ptico o del tipo magntico, y existen
dos tipos de codificacin: incremental y absoluta.
La codificacin absoluta genera multi-bits digitales los cuales indican
directamente la posicin actual, mientras que la codificacin incremental
proporciona dos seales en cuadratura (A y B), cuya caracterstica es un
par de seales cuadradas con el mismo tiempo en alto y en bajo que se
encuentran desfasadas 90, lo que genera a la salida un ciclo
bidireccional de 4 combinaciones (... 00 <--> 01 <--> 11 <--> 10 <-->
00 ....) y dependiendo el estado en el que se estuvo y el estado actual se
determina el sentido de direccin.
El presente trabajo se centra en la codificacin incremental (en
cuadratura) que proporcionan ciertos dispositivos como los encoders
lineales y
rotacionales, as posean sensor ptico o magntico el
principio de funcionamiento es el mismo.
Palabras Clave: encoder, codificacin incremental, encoder lineal,
encoder rotacional, metodologas, seal en cuadratura, medicin de
posicin, resolucin x1, x2, x4, decodificacin, controlador, driver.
Encoders Incrementales
Los Encoders Incrementales proveen un nmero especfico de pulsos
equitativamente espaciados por revolucin (Counts Per Revolution) en
movimiento rotatorio; o por pulgada o milmetro en movimiento lineal.
Entre ms pulsos por unidad de medida, mayor resolucin posee el
sistema. Debido a dichos pulsos equidistantes, se genera a la salida una
seal cuadrada con un mismo tiempo en nivel alto como en nivel bajo,
en donde la frecuencia de la seal es determinada por la velocidad del
desplazamiento.
Poseen un mnimo de dos canales de salida (Canal A y Canal B), en
donde los pulsos estn desfasado 90 de un canal con respecto del otro
y dependiendo de la secuencia de pulsos generada es posible
determinar el sentido de movimiento. Algunos encoders de incremento
tambin producen otra seal conocida como ndice o canal Z que es
producida una vez cada determinada distancia [Fig. 1].
Codificacin Incremental
Es posible utilizar un solo canal de salida para aplicaciones donde el
sentido de la direccin de movimiento no es importante (unidireccional).
En donde se requiere conocer el sentido de direccin, se utiliza la salida
de cuadratura (bidireccional), con los canales conocidos como canal A y
canal B, de 90 grados elctricos fuera de la fase.
(unidireccional x1).
Conteo de flancos de subida o de bajada para un solo canal con
(unidireccional x2).
Conteo de flancos de subida o bajada de ambos canales
(bidireccional x2).
Conteo de flancos de subida y de bajada de un canal con lectura
Fig. 2.- Forma de onda del Encoder de cuadratura y sus distintos tipos de
resolucin.
Resolucin Bidireccional x1
Realiza seguimiento de un solo tipo de flanco para un solo canal, se
puede utilizar el flanco de subida o el de bajada dependiendo de las
posibilidades de nuestro controlador [Fig. 4].
A)
B)
Requerimientos en el controlador:
subida o de bajada.
1 pin de entrada normal.
Ventajas:
motor.
El tiempo entre operaciones es el mayor en comparacin a las
otras resoluciones.
Desventajas:
Resolucin baja.
Bidireccional x2
Se utiliza los flancos de subida y de bajada para un solo canal, el que se
desee [Fig.6-A] o un tipo de flanco para ambos canales [Fig.6-B] .En esta
seccin se analizarn las seales correspondientes a la siguiente figura,
aunque se puede trasportar fcilmente a las distintas posibilidades
fijndose en la lgica correspondiente. Se pueden realizar varias
maneras de decodificacin dependiendo de las caractersticas de
nuestro controlador.
es
apto
para
habilitar
Requerimientos en el controlador:
Ventajas:
Desventajas:
Resolucin intermedia.
Requerimientos en el controlador:
Ventajas:
Desventajas:
movimiento.
Resolucin intermedia.
Requerimientos en el controlador:
habilitar
Ventajas:
Desventajas:
Bidireccional x4
Se utilizan flancos de subida y de bajada para ambos canales, esto
brinda mayor precisin al sistema y tambin mayores requerimientos,
por lo que existen distintas alternativas como son los descodificadores
(drivers-controladores) que facilitan su interpretacin.
es
apto
para
habilitar
Requerimientos en el controlador:
Ventajas:
Resolucin alta.
Desventajas:
Requerimientos en el controlador:
Ventajas:
Resolucin alta.
Desventajas:
Se requieren
motor.
El tiempo disponible para decodificar las seales es menor, por lo
primer movimiento.
se
pueden
habilitar
Requerimientos en el controlador:
cambio de estado.
2 pines normales de entrada
Ventajas:
Resolucin alta.
Desventajas:
Requerimientos en el controlador:
Ventajas:
Resolucin alta.
Desventajas:
codificacin suficiente para los cuatro encoders con un uso mnimo pines
habilitados para interrupcin y medicin,
Se realizaron investigaciones acerca de decodificadores de seales en
cuadratura con la intencin de simplificar el cdigo de decodificacin al
menor tiempo posible y que sea funcional para los requerimientos.
La opcin en el mercado que satisface estos requerimientos se encontr
en el controlador LS7184, pero debido a un costo excesivo de envo (13
veces mayor al costo del producto) y a los tiempos de entrega se opt
por realizar un cdigo implementado a un microcontrolador PIC de gama
baja que realice la misma funcin que dicho controlador.
El microcontrolador utilizado es el PIC10F200, microcontrolador de gama
baja que posee 3 pines de entrada y/o salida y un pin que es solo de
entrada, la frecuencia de operacin de trabajo es tpicamente a 4 MHz
(1s ciclo de instruccin) y es ajustable mediante programacin.
La salida generada se inspir en la del driver LS7184, que consiste en
establecer un pin de direccin, que estando en alto especifica un
sentido de movimiento y estando en bajo representa el sentido opuesto;
y otro pin que manda un pulso negativo (alto-bajo -alto) para mandar el
dato adquirido como interrupcin a otro dispositivo (ver Datasheet para
ms informacin).
Se utilizarn dos pines del microcontrolador como entrada que servirn
para leer los canales A y B del encoder y dos pines como salida, uno que
indicar la direccin del desplazamiento y otro que mande la indicacin
de movimiento. La lgica de programacin se muestra en [Fig. 16] donde
se observa una lgica de programacin de comparacin de los estados
actuales y pasados de las seales.
Este cdigo se emplea para cada encoder y se manipula por un
dispositivo maestro para posicionamiento de los 4 motores. De esta
manera con el otro dispositivo, por medio de interrupciones de flanco de
bajada se detecta el movimiento de cada motor, y leyendo el pin de
direccin del decodificador del motor correspondiente se identifica el
sentido de direccin.
Fig. 16.- Mquina de estados del cdigo a implementar para el decodificador alternativo.
modo x4 y, asociado a una caja de engranajes con relacin encodermotor de 74.83:1, proporciona 3592 conteos por revolucin del motor) a
un voltaje de 9 volts (cerca de 180 rpm cada motor) que tarda 75
microsegundos en realizar cambios de estado a la salida de las seales
para cada motor, mostrando resultados excelentes.
Referencias
Mxico
http://www.westmexico.com.mx/pfd/dynapar/catalogos/4.-Manual%20de
%20Aplicacion%20de%20Encoders.pdf
http://facultad.bayamon.inter.edu/arincon/encoderincrementales.pdf
http://www.multimechatronics.com/images/uploads/design/2012/Optic
al%20Encoder%20and%20the%20Arduino%202012.pdf
http://www.datasheetcatalog.com/datasheets_pdf/L/S/7/1/LS7184.sht
ml
http://www.datasheetcatalog.com/datasheets_pdf/P/I/C/1/PIC10F200.s
html
http://www.ni.com/tutorial/7109/es/