Está en la página 1de 4

CODIFICADOR DE CUADRATURA

Funcionamiento:
Bsicamente consiste en un disco giratorio, el cual
posee un gran nmero de ranuras. Una fuente de luz
estacionaria se encuentra montada fija a un lado del
disco, en el lado opuesto directamente enfrente del
emisor de luz se hallan ubicadas dos
fototransistores.
Dichos fototransistores se encuentran desalineadas
respecto a las ranuras del disco giratorio en en una
distancia de 1/4 de la distancia existente entre dos
ranuras, lo que permite disponer de las seales Va y
Vb desfasadas 90 entre s. Este desfasamiento nos
permitir discernir sobre el sentido de giro del disco.
Por lo tanto, al girar el disco las ranuras interrumpen
el paso de la luz hacia las fototransistores,
obtenindose de stas las tensiones Va y Vb con un
corrimiento de 1/4 de ciclo o sea con un desfasadas
90 entre s.
El numero de ranuras (N) que posee el disco dar la
resolucin en pulsos por vuelta del codificador y se
obtendr un pulso de tensin cada 360/N grados de
rotacin del eje.
La seal que se obtiene de las fototransistor, debe ser acondicionada
de manera de hacerla compatible con los niveles de tensin TTL.
Cuando el disco gira en la direccin de las manecillas del reloj se
observa que el fototransistor 'A' recibe luz, mientras que el
fototransistor 'B' est a oscuras, pero luego de una rotacin adicional
de 1/4 de la distancia entre ranuras, la celda 'B' tendr luz incidente.

Cuando el disco gira en la direccin contraria de las manecillas del


reloj se observa que el fototransistor 'B' es la que recibe la luz,
mientras que el fototransistor 'A' est a oscuras, pero luego de una
rotacin adicional de 1/4 de la distancia entre ranuras, la celda 'A'
tendr luz incidente.

Por lo tanto para un giro continuo del eje del encoder se obtendr la
siguiente secuencia de valores binarios:
*Girando el eje en el sentido de las agujas del reloj, se obtendr:
2 - 3 - 1 - 0 - 2 y as sucesivamente.
*Girando el eje en el sentido contrario de las agujas del reloj, se
obtendr:
1 - 3 - 2 - 0 - 1 y as sucesivamente.
A continuacin ejemplo de cdigo fuente en C:
La subrutina es llamada cada vez que se produce una interrupcin por
un cambio en el estado lgico de los pines PB4-PB5(recordar que los
microcontroladores PIC poseen est caracterstica).
Las variables utilizadas son:
AB_Bits_V -> indica el estado anterior de las lneas 'A' y 'B'.
AB_Bits_N -> indica el estado actual de las lneas 'A' y 'B'.
EncRotCont -> Contador de pulsos del encoder
Esta rutina determina si se ha producido algn error en la secuencia
de los pulsos, en caso de error se lo indica con el flag 'flgEncRotOK =
LO'.
Haciendo uso de la funcin lgica or exclusivo entre el estado lgico
anterior y actual de las lineas 'A' y 'B' es posible determinar de
manera muy sencilla el sentido de giro del eje del encoder.

El sentido de giro del encoder es indicado a travs del flag


'flgEncRotDir'
#include <pic.h>
#include "encoder.h"
#include "general.h"
unsigned char EncRotCont;
bit flgEncRotDir;
bit flgEncRotOK;
void Rot_Encoder(void)
{
static unsigned char AB_Bits_V;
unsigned char AB_Bits_N, Aux;
AB_Bits_N = ((ENCODER_PORT) & ENCODER_MASK)>>4; //
encoder y desplazo la cantidad
//
necesarios
//
alineacin correcta
Aux = AB_Bits_N ^ AB_Bits_V;
//
flgEncRotOK = LO;
//
no se sabe si hubo algn error
if (Aux==0)
condiciones de error
goto RotEncNOcmb;
else if (Aux==3)
goto RotEncError;
if(((AB_Bits_V<<1) ^ AB_Bits_N)&0x02)
{
flgEncRotDir = ENC_GIRA_IZQUIERDA;
gira hacia la IZQUIERDA
EncRotCont--;
contador
}
else
{
flgEncRotDir = ENC_GIRA_DERECHA;
gira hacia la DERECHA
EncRotCont++;
contador
}
flgEncRotOK = HI;
rot el encoder
RotEncNOcmb:
RotEncError:
AB_Bits_V = AB_Bits_N;
errores
}

Leo port del


de bits
para obtenar la
Or exclusivo
Indico todava

// Determino

// Indico que se
// Decremento el

// Indico que se
// Incremento el

// Indico que se

// Para que o haya

Abajo se observan fotografas de un codificador rotativo que he


realizado en mi casa con partes de un viejo mouse, un eje de aluminio
mecanizado y una carcasa de un motor de CC

Vista del
conformador
de pulsos.

Vista del
disco

Detalle del
disco

Vista del
codificador y su
contenedor

Vista del
disco

Codificado
r ensamblado.
Codificador
listo para
funcionar.

Tamao
comparativo del
codificador de
cuadratura.

También podría gustarte