7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
1/22
ENCODER INCREMENTAL: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 comotransductores de retroalimentacin para el control de la velocidad,
posicionamiento de actuadores, controles de rango; en general en
sistemas de medicin y control.
Estn clasicados 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 magn!tico, y e"isten
dos tipos de codicacin# incremental y absoluta.
La codicacin absoluta genera multi$bits digitales los cuales indican
directamente la posicin actual, mientras que la codicacin incremental
proporciona dos se%ales en cuadratura &' y (), cuya caracter*stica es un
par de se%ales cuadradas con el mismo tiempo en alto y en bajo que se
encuentran desfasadas +-, lo que genera a la salida un ciclo
bidireccional de combinaciones &... /$$0 1 /$$0 11 /$$0 1 /$$0
....) 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 codicacin incremental &en
cuadratura) que proporcionan ciertos dispositivos como los encoderslineales y rotacionales, as* posean sensor ptico o magn!tico el
principio de funcionamiento es el mismo.
Palara! Cla"#: encoder, codicacin incremental, encoder lineal,
encoder rotacional, metodolog*as, se%al en cuadratura, medicin de
posicin, resolucin "1, "2, ", decodicacin, controlador, driver.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
2/22
Encod#r! Incr#$#ntal#!
Los Encoders 3ncrementales proveen un n4mero espec*co de pulsos
equitativamente espaciados por revolucin &5ounts 6er 7evolution) en
movimiento rotatorio; o por pulgada o mil*metro en movimiento lineal.
Entre ms pulsos por unidad de medida, mayor resolucin posee el
sistema. 8ebido a dichos pulsos equidistantes, se genera a la salida una
se%al cuadrada con un mismo tiempo en nivel alto como en nivel bajo,
en donde la frecuencia de la se%al es determinada por la velocidad del
desplazamiento.
6oseen un m*nimo de dos canales de salida &5anal ' y 5anal (), en
donde los pulsos estn desfasado +- de un canal con respecto del otro
y dependiendo de la secuencia de pulsos generada es posible
determinar el sentido de movimiento. 'lgunos encoders de incrementotambi!n producen otra se%al conocida como 9*ndice: o 9canal : que es
producida una vez cada determinada distancia .
=ig. 1.$ ?alidas de los distintos canales de un encoder incremental.
Codi%cacin Incr#$#ntalEs 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 ' y
canal (, de + grados el!ctricos fuera de la fase.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
3/22
6ara realizar las mediciones del dispositivo se emplean los siguientes
tipos de resolucin , dependiendo de las necesidades y precisin
del sistema#
5onteo de @ancos de subida o de bajada para un solo canal
&unidireccional "1). 5onteo de @ancos de subida o de bajada para un solo canal con
lectura del canal complementario &bidireccional "1). 5onteo de @ancos de subida y de bajada de un canal
&unidireccional "2). 5onteo de @ancos de subida o bajada de ambos canales
&bidireccional "2). 5onteo de @ancos de subida y de bajada de un canal con lectura
del canal complementario &bidireccional "2).
5onteo de @ancos de subida y de bajada para ambos canales&bidireccional ").
=ig. 2.$ =orma de onda del Encoder de cuadratura y sus distintos tipos de
resolucin.
6ara determinar la posicin del dispositivo es necesario contar la
cantidad de pulsos realizados, sumndolos o restndolos al conteo total
&posicin actual) seg4n la direccin de movimiento. Los conteos se
realizan a trav!s de controladores, habilitando interrupciones a los
canales y a los @ancos necesarios dependiendo de la resolucin a
implementar. Aambi!n se utilizan controladores especializados o
dispositivos que monitorean todo el tiempo el estado de las se%ales, y
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
4/22
cuando detectan un cambio de estado realizan las operaciones
pertinentes.
Es importante vericar que el la metodolog*a de conteo en el controlador
se realice en un lapso de tiempo menor al que se espera detectar el
siguiente @anco, de lo contrario, el conteo se realizarinadecuadamente, ocasionando la perdida de la posicin real del
sistema.
6ara el registro de posicin se tiene que analizar las se%ales
proporcionadas por el sensor . ?e observa a la salida de los
canales ' y ( una secuencia de cuatro estados diferentes, los cuales se
repinen constantemente dependiendo del sentido de direccin & C
9:/$$0 91:/$$0 911:/$$0 91:/$$0 9:C).
=ig. B.$ ?e%al proporcionada por el encoder y su tabla de estados.
R#!olucin &idir#ccional '(
7ealiza seguimiento de un solo tipo de @anco para un solo canal, se
puede utilizar el @anco de subida o el de bajada dependiendo de las
posibilidades de nuestro controlador .
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
5/22
') ()
=ig..$ ') ?eguimiento de @ancos de subida para el canal '. ()
?eguimiento de @ancos de bajada para el canal (.
7equerimientos en el controlador#
1 pin de entrada que se pueda congurar para interrupciones de
subida o de bajada. 1 pin de entrada normal.
Dentajas#
?olo se requiere un pin de interrupcin en el controlador por
motor. El tiempo entre operaciones es el mayor en comparacin a las
otras resoluciones.
8esventajas#
7esolucin baja.
La siguiente metodolog*a se basa en el seguimiento de @ancos de subida
en el canal ', de igual manera se puede realizar para cualquiera de las
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
6/22
modalidades bidireccionales "1 observando los estados vecinos al @anco
deseado .
=ig. .$ Fquina de estados para resolucin bidireccional "1 para @ancos
de subida en el canal ' que se observa en la gura $'.
(idireccional "2
?e utiliza los @ancos de subida y de bajada para un solo canal, el que se
desee
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
7/22
' (
=ig.G.$ ') ?eguimiento de @ancos de subida y de bajada para el canal '.
() ?eguimiento de @ancos de subida para los canales ' y (.
Su)oni#ndo un controlador *u# #! a)to )ara +ailitarint#rru)cion#! d# ca$io d# #!tado,
7equerimientos en el controlador#
1 pin de entrada que se pueda congurar para interrupciones de
cambio de estado &de subida y de bajada al mismo tiempo). 1 pin de entrada normal.
Dentajas#
?olo se requiere un pin de interrupcin en el controlador por
motor.
8esventajas#
7esolucin intermedia.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
8/22
=ig. H.$ Fquina de estados para resolucin bidireccional "2 en el canal '
con un controlador que es apto para habilitar interrupciones de cambio
de estado.
Su)oni#ndo un controlador *u# !olo !# )u#d#n +ailitar
int#rru)cion#! d# -anco d# !uida . -anco d# a/ada #n
$o$#nto! di0#r#nt#!,
7equerimientos en el controlador#
1 pin de entrada que se pueda congurar para interrupciones de
subida y de bajada en momentos diferentes. 1 pin de entrada normal.
Dentajas#
?olo se requiere un pin de interrupcin en el controlador por
motor.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
9/22
8esventajas#
Es probable que se pierda un conteo para detectar el primer
movimiento. 7esolucin intermedia.
=ig. I.$ Fquina de estados para resolucin bidireccional "2 en el canal '
con un controlador que solo habilita interrupciones de @anco de subida y
de bajada en momentos diferentes.
Su)oni#ndo un controlador *u# !olo !# )u#d#n +ailitar
int#rru)cion#! d# -anco d# !uida o -anco d# a/ada,
7equerimientos en el controlador#
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
10/22
2 pines de entrada que se pueda congurar para interrupciones de
subida o de bajada.
Dentajas#
?olo se requiere que controlador brinde ya sea interrupciones de
@anco de subida o interrupciones de @anco de bajada.
8esventajas#
?e necesitan 2 pines de interrupcin en el controlador por motor.
El tiempo entre interrupciones a considerar es igual al modo "
con la mitad de resolucin. 7esolucin intermedia.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
11/22
=ig. +.$ Fquina de estados para resolucin bidireccional "2 los canales
' y ( con un controlador que solo habilita interrupciones de @anco de
subida.
&idir#ccional '1
?e utilizan @ancos de subida y de bajada para ambos canales, esto
brinda mayor precisin al sistema y tambi!n mayores requerimientos,
por lo que e"isten distintas alternativas como son los descodicadores
&drivers$controladores) que facilitan su interpretacin.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
12/22
=ig. 1.$ ?eguimiento de @ancos de subida y de bajada en modo ".
Su)oni#ndo un controlador *u# #! a)to )ara +ailitar
int#rru)cion#! d# ca$io d# #!tado,
7equerimientos en el controlador#
2 pines de entrada que se pueda congurar para interrupciones de
cambio de estado &detecta @ancos de subida y de bajada al mismo
tiempo).
Dentajas#
7esolucin alta.
8esventajas#
?e requieren dos pines de interrupcin del controlador por motor.
El tiempo disponible para decodicar las se%ales es menor, por lo
que no es recomendable para analizar varios encoders en un solo
sistema.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
13/22
=ig. 11.$ Fquina de estados para resolucin bidireccional " los canales
' y ( con un controlador que habilita interrupciones de cambio de
estado en dos pines.
Su)oni#ndo un controlador *u# !olo !# )u#d#n +ailitar
int#rru)cion#! d# -anco d# !uida . -anco d# a/ada #n
$o$#nto! di0#r#nt#!,
7equerimientos en el controlador#
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
14/22
2 pines de entrada que se pueda congurar para interrupciones de
@ancos de subida y de bajada en tiempos diferentes.
Dentajas#
7esolucin alta.
8esventajas#
?e requieren dos pines de interrupcin en el controlador por
motor. El tiempo disponible para decodicar las se%ales es menor, por lo
que no es recomendable para analizar varios encoders en un solo
sistema. Es probable que se pierda de uno a tres conteos para detectar el
primer movimiento.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
15/22
=ig. 12.$ Fquina de estados para resolucin bidireccional " los canales
' y ( con un controlador que habilita interrupciones de @anco de subida
y @ancos de bajada en tiempos diferentes en dos pines.
&idir#ccional '1 con Co$)u#rta 2OR
En diversas aplicaciones se utiliza una compuerta JK7 con la nalidadde disminuir los pines de interrupcin en el controlador, dado que la
salida cambia de estado cada vez que ocurre un movimiento en las
se%ales ' y (. 'unque solo necesitemos un pin de interrupcin para este
modo bidireccional ", se requieren otros dos pines de entrada normales
para monitorear las se%ales ' y ( y determinar el sentido de direccin.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
16/22
=ig. 1B.$ ?eguimiento de la salida de la compuerta JK7 dependiendo de
la entrada que recibe de los canales ' y (.
Su)oni#ndo un controlador *u# !olo !# )u#d#n +ailitarint#rru)cion#! d# ca$io d# #!tado,
7equerimientos en el controlador#
1 pines de entrada que se pueda congurar para interrupciones de
cambio de estado. 2 pines normales de entrada
Dentajas#
7esolucin alta.
8esventajas#
?e requieren tres pines del controlador por motor.
El tiempo disponible para decodicar las se%ales es menor, por lo
que no es recomendable para analizar varios encoders en un solo
sistema.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
17/22
=ig. 1.$ Fquina de estados para resolucin bidireccional " con
compuerta JK7 con un controlador que habilita interrupciones de
cambio de estado.
Su)oni#ndo un controlador *u# !olo !# )u#d#n +ailitar
int#rru)cion#! d# -anco d# !uida . -anco d# a/ada #n
$o$#nto! di0#r#nt#!,
7equerimientos en el controlador#
1 pines de entrada que se pueda congurar para interrupciones de
@ancos de subida y de bajada en momentos diferentes 2 pines normales de entrada
Dentajas#
7esolucin alta.
8esventajas#
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
18/22
?e requieren tres pines del controlador por motor.
El tiempo disponible para decodicar las se%ales es menor, por lo
que no es recomendable para analizar varios encoders en un solo
sistema. Es probable que se pierda uno conteo para detectar el primer
movimiento.
=ig. 1.$ Fquina de estados para resolucin bidireccional " con
compuerta JK7 con un controlador que habilita interrupciones de @anco
de subida y @ancos de bajada en tiempos diferentes.
D#codi%cador Alt#rnati"o #n PIC
3u!ti%cacin
8ado a un proyecto que requer*a una resolucin bidireccional " en
cuatro motores no se pudo utilizar una metodolog*a e"istente, por lo que
fue necesario buscar alternativas que brindaran el tiempo de
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
19/22
codicacin suciente para los cuatro encoders con un uso m*nimo pines
habilitados para interrupcin y medicin,
?e realizaron investigaciones acerca de decodicadores de se%ales en
cuadratura con la intencin de simplicar el cdigo de decodicacin 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 L?H1I, pero debido a un costo e"cesivo de env*o &1B
veces mayor al costo del producto) y a los tiempos de entrega se opt
por realizar un cdigo implementado a un microcontrolador 635 de gama
baja que realice la misma funcin que dicho controlador.
El microcontrolador utilizado es el 6351=2, microcontrolador de gama
baja que posee B pines de entrada yo salida y un pin que es solo de
entrada, la frecuencia de operacin de trabajo es t*picamente a FMz&1Ns ciclo de instruccin) y es ajustable mediante programacin.
La salida generada se inspir en la del driver L?H1I, que consiste en
establecer un pin de direccin, que estando en alto especica 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 8atasheet para
ms informacin).
?e utilizarn dos pines del microcontrolador como entrada que servirnpara leer los canales ' y ( 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 donde
se observa una lgica de programacin de comparacin de los estados
actuales y pasados de las se%ales.
Este cdigo se emplea para cada encoder y se manipula por un
dispositivo maestro para posicionamiento de los motores. 8e esta
manera con el otro dispositivo, por medio de interrupciones de @anco de
bajada se detecta el movimiento de cada motor, y leyendo el pin de
direccin del decodicador del motor correspondiente se identica el
sentido de direccin.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
20/22
=ig. 1G.$ Fquina de estados del cdigo a implementar para el decodicador alternativo.
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
21/22
Aarda un m"imo de ciclos de mquina en realizar la medicin ms
tardada, que es el pasar del estado al 1, en este microcontrolador se
traduce t*picamente en microsegundos, pero como lo estamos
trabajando a su m"ima velocidad de trabajo, se espera un tiempo
menor sin conocerlo e"actamente.
8e esta manera con otro dispositivo por medio de solo interrupciones
de @anco de bajada se detectan los cambios de estado y leyendo el pin
de direccin se identica el sentido del mismo.
=ig. 1H.$ Fquina de estados para control maestro del decodicador
alternativo.
El programa se adapt y prob para controlar cuatro encoders en
cuadratura rotacionales magn!ticos de codicacin incremental con
salida en cuadratura que se encuentran en los moto$reductores 9H#1
Fetal Oearmotor 28"Lmm M6 Pith I 567 Encoder: de la marca
6ololu &como se indica, brinda I conteos por revolucin del encoder en
7/25/2019 Encoder Incremental-Anilis de Metodologas de Decodificacin
22/22
modo " y, asociado a una caja de engranajes con relacin encoder$
motor de H.IB#1, proporciona B+2 conteos por revolucin del motor) a
un voltaje de + volts &cerca de 1I rpm cada motor) que tarda H
microsegundos en realizar cambios de estado a la salida de las se%ales
para cada motor, mostrando resultados e"celentes.
R#0#r#ncia!
Sensores y Acondicionadores de Seal, Ramn Palls Areny, 4ta Edicin
2003,Boixareu Editores MA!A" #E AP"$%A%$& #E E%'#ERS (or )est $nstruments de
M*xico
http#PPP.Pestme"ico.com.m"pfddynaparcatalogos.$FanualQ2de
Q2'plicacionQ2deQ2Encoders.pdf
http#facultad.bayamon.inter.eduarinconencoderincrementales.pdf
http#PPP.multimechatronics.comimagesuploadsdesign212Kptic
alQ2EncoderQ2andQ2theQ2'rduinoQ2212.pdf
http#PPP.datasheetcatalog.comdatasheetsRpdfL?H1L?H1I.shtml
http#PPP.datasheetcatalog.comdatasheetsRpdf63516351=2.s
html http#PPP.ni.comtutorialH1+es
http://www.westmexico.com.mx/pfd/dynapar/catalogos/4.-Manual%20de%20Aplicacion%20de%20Encoders.pdfhttp://www.westmexico.com.mx/pfd/dynapar/catalogos/4.-Manual%20de%20Aplicacion%20de%20Encoders.pdfhttp://facultad.bayamon.inter.edu/arincon/encoderincrementales.pdfhttp://www.multimechatronics.com/images/uploads/design/2012/Optical%20Encoder%20and%20the%20Arduino%202012.pdfhttp://www.multimechatronics.com/images/uploads/design/2012/Optical%20Encoder%20and%20the%20Arduino%202012.pdfhttp://www.datasheetcatalog.com/datasheets_pdf/L/S/7/1/LS7184.shtmlhttp://www.datasheetcatalog.com/datasheets_pdf/L/S/7/1/LS7184.shtmlhttp://www.datasheetcatalog.com/datasheets_pdf/P/I/C/1/PIC10F200.shtmlhttp://www.datasheetcatalog.com/datasheets_pdf/P/I/C/1/PIC10F200.shtmlhttp://www.ni.com/tutorial/7109/es/http://facultad.bayamon.inter.edu/arincon/encoderincrementales.pdfhttp://www.multimechatronics.com/images/uploads/design/2012/Optical%20Encoder%20and%20the%20Arduino%202012.pdfhttp://www.multimechatronics.com/images/uploads/design/2012/Optical%20Encoder%20and%20the%20Arduino%202012.pdfhttp://www.datasheetcatalog.com/datasheets_pdf/L/S/7/1/LS7184.shtmlhttp://www.datasheetcatalog.com/datasheets_pdf/L/S/7/1/LS7184.shtmlhttp://www.datasheetcatalog.com/datasheets_pdf/P/I/C/1/PIC10F200.shtmlhttp://www.datasheetcatalog.com/datasheets_pdf/P/I/C/1/PIC10F200.shtmlhttp://www.ni.com/tutorial/7109/es/http://www.westmexico.com.mx/pfd/dynapar/catalogos/4.-Manual%20de%20Aplicacion%20de%20Encoders.pdfhttp://www.westmexico.com.mx/pfd/dynapar/catalogos/4.-Manual%20de%20Aplicacion%20de%20Encoders.pdf