Anda di halaman 1dari 13

Prctica No.

3:
Codificador ptico incremental: cuadratura de seales en hardware
y software
R. Mayoral-Lagunes, M. Mndez-Morales
Diseo de Sistemas Mecatrnicos II | Departamento de Mecatrnica

Resumen
En este documento se presenta la codificacin utilizando un codificador ptico (Heads-5000) incremental por
cuadraturas de seales por medio de los integrados 74 LS74 y HCTL-2016 (hardware) y a la vez utilizando
la consola arduino (software)

1.

Introduccin

Un codificador ptico digital es un dispositivo que convierte movimiento en una secuencia de pulsos digitales.
Al contar un solo bit o decodificar un conjunto de bits , los pulsos se pueden convertir en mediciones de posicin
relativa o absoluta. L os codificadores tienen configuraciones tanto lineales como giratorias, pero el tipo ms
comn es el giratorio.
Los codificadores giratorios se fabrican de formas bsicas: el codificador, donde la unica palabra digital corresponde a cada posicin rotacional del eje; y el codificador incremental, que produce pulsos digitales conforme el
eje gira, lo que permite la medicin del desplazamiento relativo del eje. La mayora de los codificadores giratorios
se componen de un disco de cdigo de vidrio o plstico con un modelo radial depositado fotogrficamente y
organizado en pistas. Conforme las lineas radiales interumpen el haz entre un par fotoemisor-detector en cada
pista, se producen los pulsos digitales.
El disco ptico de codificador absoluto se disea para producir una palabra digital que distingue N distintas posiciones del eje. Los tipos ms comunes de codificacin numrica usada en el codificador absoluta son
los cdigos Gray y el binario natural; conforme las pistas circulares del disco de cdigo giran con el eje, los
fotodetectores sienten los patrones lineales y los diagramas de tiemp asociados.
El codificador incremental, a veces llamado codificador relativo, es ms simple en diseo que el cdificador
absoluto. Consiste en dos pistas y dos sensores cuyas salidas se designan A y B. Conforme gira el eje, en A y B
ocurren trenes de pulsos a una frecuencia proporcional a la velocidad del eje, y las relaciones de adelantro-atraso
de fase entre las seales produce la direccin de rotacin. Al contar el nmero de pulsos y saber la resolucin
del disco , se puede medir el movimiento angular.
Las transiciones de decodificacin de A y B usan circuitos lgicos secuenciales para proporcionar tres diferentes resoluciones: 1X, 2X Y 4X. La resolucin 1X proporciona una transicin de salida en cada flanco negativo
de la seal A o B, lo que resulta en un solo pulso por cada ciclo de cuadratura. La resolucin 2X prporciona una
transicin de salida en todo el flanco negativo o positivo de la seal A o B, lo que resulta en dos veces el nmero
1

de pulsos de salida. La resolucin 4X proporciona un pulso de salida en cada flanco positivo o negativode la
seal A o B, lo que resulta cuatro veces en nmero de pulsos de salida.
Adems de los flancos detectados para la resolucin 1X, se pueden disear circuitos para detectar otros
flancos en las seales en cuadratura, lo que resulta en dos veces (2X) y cuatro veces (4X) la resolucin base (1X).
Dichps circuitos decodificadores en cuadratura se pueden construir con componentes discretos, pero tambin
estn disponibles en CI (por ejemplo, el HCTL-2016).()
Los codificadores incrementales proporcionan ms resolucin a menor costo que los codificadores absolutos,
pero solo miden movimientos relativos y no proporcionan posicin absoluta de manera directa. Sin embargo,
se pueden usar un codificador incremental junto con un interruptor de fin de carrera para definir la posicin
absoluta en relacin con una posicin de referencia definida por el interruptor.
Para la realizacin de esta prctica se utilizo el codificador ptico HEDS 5000 (1) entre sus caracteristacas
se encuentran:
Tamao pequeo: 28 mm de dimetro
100-512 ciclos por revolucin
Baja inercia
Rpido ensamble
Bajo juego de eje: 0.25 mm
Salidas digitales compatibles con TTL
Una sola alimentacin de voltaje de 5 V
Amplio rango de temperatura
Pulso de INDICE disponible

Figura 1: Codificador ptico Heds 5000

El CI HCTL-2016 ( 2)es un decodificador de cuadratura, contadores y funciones de interfaces, esta diseado para mejorar el desempeo de los sistemas de control de movimiento digitales en lazo cerrado, entre sus
caracteristicas se encuentran :
Interface de codificador con microprocesador
Reloj de hasta 14 MHz Decodificador de 4X
Alta inmunidad al ruido: Entradas digitales Schmitt Trigger y filtros de ruido
Contador binario ascendente/descendente de 16-Bit
Salidas con Latch
Interface triestado de 8-Bit
Voltaje de operacin VDD : -0.3 a +5.5 V

Figura 2: Decodificador HCTL-2016

2.

Objetivo

Conocer alternativas para la lectura de los encoders ya sea por CI o Microcontroladores mediante la cuadratura de seales

3.

Desarrollo y anlisis de resultados

Esta prctica se desarroll en 4 puntos:


1.Se tomaron lecturas con el osciloscopio de los dos canales A y B directamente de la salida del encoder del
motor, para mostrar la secuencia el desfasamiento de los dos canales en ambas direcciones de giro.
La conexin del encoder fue de la siguiente manera: el pin 2 vcc a 5v, el pin 3 o 6 a tierra o comn, canal
A el pin 1, canal B el pin 8, el ndice el pin 10, as como se muestra en la figura 3. Y as solo se mide con el
osciloscopio los canales A y B con el osciloscopio en ambos sentidos de giro, esto se aprecia en las figuras ?? y 4

Figura 3: HEADS-5000

Figura 4: Salida hacia la izquierda

2.Se realiz la cuadratura de las seales con flip-flops tipo D (74LS74) y se tomaron lecturas con el osciloscopio
en ambos sentidos de giro de ambas salidas de los flip-flops. El diagrama se muestra en la figura 5, despues se
midieron las salidas Q1 y Q2 con el osciloscopio mostradas en las figuras 6 y 7.
5

Figura 5: Diagrama del CI 74LS74

Figura 6: Salida hacia la derecha del flip-flop

Figura 7: Salida hacia la izquierda del Flip-Flop


3.Se us el circuito HCTL2016 que es un contador de 256 bits que tiene una configuracin de resolucin de
2x con el cual se midieron los bits conectando leds a la salida. Para la conexion de este integrado los pines CLK
y OE se conectaron a un generador de pulsos a una freguencia de 1khz, los pines SEL y RST a 5v. , los pines
chane A y chanel B se toman directamente de los canales del encoder, posteriormente las salidas se miden con
leds en los pines D0:D7. los pines se muestran en la figura 8

Figura 8: Diagrama del HCTL-2016

Figura 9: Funcionamiento del circuito


4.Se realiz la cuadratura de la seal por medio de la tarjeta arduino uno usando interrupciones y ambos
canales, probando con resolucin 1x y 2x y monitoriando desde el puerto serial.
los cdigos de programa se presentan a continuacin:
C\U{f3}digo para resoluci\U{f3}n 2X
boolean A, B;
int cont=0,posd=0;// posd es varible de posicion deseada
void setup()
{
pinMode(2,INPUT);
pinMode(3,INPUT);
attachInterrupt(0, CH_A, CHANGE);
attachInterrupt(1, CH_B, CHANGE);
Serial.begin(9600);
}
void loop()
{
if(cont==posd)
{
cont=0;
}
}
void CH_A()
{
A=digitalRead(2);
B=digitalRead(3);
if(A==0 && B==1)
{
8

cont++;
Serial.println(cont);
}
if(A==1 && B==1)
{
cont--;
Serial.println(cont);
}
}
void CH_B()
{
A=digitalRead(2);
B=digitalRead(3);
if(A==1 && B==0)
{
cont--;
Serial.println(cont);
}
if(A==1 && B==1)
{
cont++;
Serial.println(cont);
}
}

---------------------------------------------------------------------------------------------------//codigo para una resolucion de 1x


boolean A, B;
int cont=0,posd=0;// posd es varible de posicion deseada
void setup()
{
pinMode(2,INPUT);
pinMode(3,INPUT);
attachInterrupt(0, CH_A, CHANGE);
attachInterrupt(1, CH_B, CHANGE);
Serial.begin(9600);
}
void loop()
{
if(cont==posd)
{
cont=0;
}
}
void CH_A()
{
A=digitalRead(2);
B=digitalRead(3);

if(A==0 && B==1)


{
cont++;
Serial.println(cont);
}
}
void CH_B()
{
A=digitalRead(2);
B=digitalRead(3);
if(A==1 && B==0)
{
cont--;
Serial.println(cont);
}
}
en la figura \QTSN{ref}{5} y \QTSN{ref}{8},se muestra como es la lectura del puerto serial.

10

Figura 10: salida del monitor serial

11

Figura 11: Salida del monitor serial desde la consola arduino

4.

Conclusiones generales

Mariana:En esta prctica pudimos conocer y experimentar con codificadores y decodificadores; por medio de
hardware utilizamos los CI 74LS74 y HCTL-2016 con esto realizamos las cuadraturas de seales y graficarmos
los sentidos de giro del motor, por medio del HCTL-2016 pudimos visualizar mediante leds los sentidos de giro
ya que incrementaba y decrementaba.
Mediante software se utilizo la plataforma de arduino para la programacion del contador de giro del motor,
se presentaron problemas al programar en arduino mega 2560.
Rosalino:en estas practicas se implemento las diversas formas de como se pueden usar los encoders, por
12

medio de circuitos integrados o por micro controladores programables, as pues se trabajo con la placa arduino
uno, por causas desconocidas no se logro implementar con el arduino mega, sin embargo con el arduino uno se
logro una buena lectura del encoder, pero limitada su velocidad dada la velocidad de procesamiento de la placa.

Referencias
[alciatore] Introduccin a la mecatronica y a los instrumentos de medicin/
3ED.ALCIATORE,DAVIDG.HISTAND,MICHAEL
/Editorial:MCGRAWHILL/ISBN:9789701063859

13

Anda mungkin juga menyukai