Sei sulla pagina 1di 21

ODMETRO CON ENCODER INCREMENTAL

1
Prctica 12-Odmetro con encoder incremental
NDICE
Objetivo general .................................................................................................................................................................. 3
Objetivo particular3

Introduccin ..................................................................................................................................................................... 5
Desarrollo ............................................................................................................................................................................ 9
Conclusiones generales del equipo .................................................................................................................................... 17
Bibliografa y/o Cibergrafa ................................................................................................................................................ 18
Anexos ............................................................................................................................................................................... 19
Prctica 12-Odmetro con encoder incremental

OBJETIVO GENERAL
Para la realizacin de esta prctica se remontan los conceptos de un encoder, vistos en clase. Gracias
a estos conceptos lograremos asociar las posiciones por revolucin para as lograr medir una cierta
distancia (odmetro) respecto al giro de la llanta que se acoplar al mismo.

OBJETIVO PARTICULAR
Utilizando en nuestro caso el encoder rotatorio Keyes KY-040, usaremos su entrada giratorio para que
nos proporcione una seal mediante los pulsos que este arroja, la posicin en la que se encuentra y
con base en esto lograr crear un medidor de distancia sencillo con una llanta de minirobot acoplada a
este y saber tambin a partir de un origen saber qu distancia recorre en un sentido y en otro.
Cabe mencionar que el encoder utilizado es incremental, dado que provee una posicin estratgica
desde donde siempre comenzar la cuenta. La posicin actual del encoder es incremental cuando es
comparada con la ltima posicin registrada por el sensor.

Los pines para este codificador rotatorio se identifican en la siguiente ilustracin:

El mdulo est diseado para que se produzca una baja cuando los interruptores estn cerrados y
una alta cuando los interruptores estn abiertos.

La baja se genera colocando un punto de tierra en el Pin C y pasndolo a los pines CLK y DT cuando
los interruptores estn cerrados.

El alto se genera con una entrada de alimentacin de 5V y resistencias de pull-up, de modo que CLK
y DT son ambos altos cuando los interruptores estn abiertos.

No se ha mencionado previamente la existencia de un interruptor pulsador que sea integral para el


codificador. Si presiona el eje, se cierra un interruptor normalmente abierto. La funcin es til si desea
cambiar la funcin del interruptor. Por ejemplo, es posible que desee tener la posibilidad de realizar
ajustes gruesos y finos.
Prctica 12-Odmetro con encoder incremental

Mostramos sus condiciones operativas.


Prctica 12-Odmetro con encoder incremental

INTRODUCCIN
El encoder rotatorio Keyes KY-040 es un dispositivo de entrada giratorio (como en la perilla) que
proporciona una indicacin de cunto la perilla ha sido girada y en qu direccin est girando.
Es un gran dispositivo para el control de motores paso a paso y servos. Tambin se podra utilizar
para controlar dispositivos como potencimetros digitales.
Cmo funciona?
Un encoder giratorio tiene un nmero fijo de posiciones por revolucin. Estas posiciones son medidas
fcilmente por pequeos "clicks" cuando gira el encoder. ste mdulo de Keyes tiene treinta de estas
posiciones.
Por un lado del switch hay 3 pines. Normalmente se denominan A, B y C. En el caso del KY-040, que
estn orientadas como se muestra.

Dentro del codificador hay dos interruptores. Un interruptor conecta el pin A con el C y el otro interruptor
conecta el pin B con el C. En cada posicin del codificador, ambos interruptores estn abiertos o
cerrados. Por cada click hace que estos interruptores cambien a estados de la siguiente manera:
Prctica 12-Odmetro con encoder incremental
Si ambos interruptores estn
cerrados, girando el codificador hacia
la derecha o hacia la izquierda una
posicin har que ambos interruptores
se abran.
Si ambos interruptores estn abiertos,
girando el codificador hacia la derecha
o hacia la izquierda una posicin har
que ambos interruptores se cierren.
La siguiente ilustracin es
representativa de cmo se construye
el interruptor:

Como se puede ver, la posicin angular de la terminal A y el terminal B es tal que:


Si gira el mando hacia la derecha har que el interruptor de conexin de A y C cambie de estado en
primer lugar.
Si gira el mando hacia la izquierda har que el interruptor de conexin B y C cambien de estado en
primer lugar.
Si nos vamos a representar a la apertura de un cierre de los interruptores como formas de onda, se
vera algo como esto:

Un encoder, tambin conocido como codificador o decodificador en Espaol, es un dispositivo,


circuito, programa de software, un algoritmo o incluso hasta una persona cuyo objetivo es convertir
informacin de un formato a otro con el propsito de estandarizacin, velocidad, confidencialidad,
seguridad o incluso para comprimir archivos.
Prctica 12-Odmetro con encoder incremental
Para explicar cmo funciona un encoder debemos
mencionar que un encoder se
compone bsicamente de un disco conectado a un
eje giratorio.
El disco est hecho de vidrio o plstico y se
encuentra codificado con unas partes
transparentes y otras opacas que bloquean el paso
de la luz emitida por la fuente de luz
(tpicamente emisores infrarrojos). En la mayora de
los casos, estas reas bloqueadas (codificadas)
estn arregladas en forma radial.

A medida que el eje rota, el emisor infrarrojo emite


luz que es recibida por el sensor ptico (o foto-transistor) generando los pulsos digitales a medida que
la luz cruza a travs del disco o es bloqueada en diferentes secciones de este. Esto produce una
secuencia que puede ser usada para controlar el radio de giro, la direccin del movimiento e incluso
la velocidad.

Los encoders son utilizados en una infinidad de campos e industrias que van desde mquinas de fax,
electro-domsticos de consumo hasta robtica, minera transporte, maquinaria, aeroespacial y ms.

Existen bsicamente dos tipos de encoder segn su diseos bsico y funcionalidad: encoder
Incremental y encoder Absoluto. Adicionalmente existen otros tipos de encoders como por ejemplo el
encoder ptico, lineal y el encoder de cuadratura.

El encoder ptico es el tipo de encoder ms comnmente usado y consta bsicamente de tres partes:
una fuente emisora de luz, un disco giratorio y un detector de luz conocido como foto detector.

El disco est montado sobre un eje giratorio y cuenta con secciones opacas y transparentes sobre la
cara del disco. La luz que emite la fuente es recibida por el foto-detector o interrumpida por el patrn
de secciones opacas produciendo como resultado seales de pulso.

El cdigo que se produce con dichas seales de pulso es entonces ledo por un dispositivo controlador
el cual incluyen un micro-procesador para determinar el ngulo exacto del eje.

Un encoder lineal es un dispositivo o sensor que cuenta con una escala graduada para determinar su
posicin. Los sensores en el encoder leen la escala para despus convertir su posicin codificada en
una seal digital que puede ser interpretada por un controlador de movimiento electrnico.

Los encoders lineales pueden ser absolutos o incrementales y existen diferentes tipos de encoders
lineales segn la tecnologa usada en su mecanismo, por ejemplo, tecnologa ptica, magntica,
inductiva o capacitiva.

Este tipo de encoder es ms utilizado en aplicaciones de metrologa, sistemas de movimiento y para


controlar instrumentos de alta precisin utilizados en la fabricacin de herramientas.
Prctica 12-Odmetro con encoder incremental
Un encoder de cuadratura es un tipo de encoder rotativo incremental el cual tiene la capacidad de
indicar tanto la posicin como la direccin y la velocidad del movimiento.

Los encoders de cuadratura se encuentran con mucha ms frecuencia en muchos productos elctricos
de consumo y en una infinidad de aplicaciones comerciales. La flexibilidad del encoder de cuadratura
es su principal ventaja ya que ofrecen una alta resolucin, medicin con precisin quirrgica y pueden
trabajar en un gran espectro de velocidades que van desde unas cuantas revoluciones por minuto
hasta velocidades que van ms all de las 5,000 RPM.

Este tipo de encoder de cuadratura generalmente utiliza sensores pticos o magnticos, lo cual los
convierte en dispositivos sencillos de usar y extremadamente duraderos.

Un encoder incremental, como su nombre lo indica, es un encoder que determina el ngulo de


posicin por medio de realizar cuentas incrementales.
Esto quiere decir que el encoder incremental provee una posicin estratgica desde donde siempre
comenzar la cuenta. La posicin actual del encoder es incremental cuando es comparada con la
ltima posicin registrada por el sensor.

Los encoders incrementales son un tipo de encoder ptico y este en este tipo de encoder cada posicin
es completamente nica.

Un encoder absoluto se basa en la informacin proveda para determinar la posicin absoluta en


secuencia. Un encoder absoluto ofrece un cogido nico para cada posicin.
Los encoders absolutos se dividen en dos grupos: los encoders de un solo giro y los encoders
absolutos de giro mltiple y su tamao es pequeo para permitir una integracin ms simple.

Los encoders absolutos son ms comnmente usados en motores elctricos de corriente directa sin
cepillos (brushless DC motors), en la medicina, la industria del transporte en especial en trenes, en la
minera y otras industrias.
Prctica 12-Odmetro con encoder incremental

DESARROLLO
CONSIDERACIONES DE DISEO Y ARMADO DEL ODMETRO
Primeramente se muestra un pequeo diagrama en el cual se sugieren las resistencias de pull-up del
fabricante. Con esto evitamos que se dispare la corriente y gracias a ello la podemos regular para
evitar cualquier dao a nuestro sensor. Valores R2=R3=10k.
Prctica 12-Odmetro con encoder incremental

DIAGRAMAS DE CONEXIONES
Dado que el odmetro se hizo con arduino, se incluye un diagrama de conexiones del display a la
placa arduino.

Cabe sealar que se coloc un potencimetro de 10k Vo, precisamente para tener el control del
contraste del mismo display como un extra.
Ahora se muestran las conexiones del arduino al encoder, hechas con el programa fritzing.
Prctica 12-Odmetro con encoder incremental

CLCULOS PREVIOS
Para la utilizacin de este encoder es necesario saber que la llanta que utilizaremos es de 6.2cm de
dimetro.
Prctica 12-Odmetro con encoder incremental
Poder saber la posicin de la rueda y si est girando hacia adelante o hacia atrs empleamos el
siguiente cdigo en arduino, con el fin de obtener cuantos pulsos hay en una revolucin.

1. /* Arduino Rotary Encoder Tutorial


2. *
3. * by Dejan Nedelkovski, www.HowToMechatronics.com
4. *
5. */
6.
7. #define outputA 6
8. #define outputB 7
9.
10. int counter = 0;
11. int aState;
12. int aLastState;
13.
14. void setup() {
15. pinMode (outputA,INPUT);
16. pinMode (outputB,INPUT);
17.
18. Serial.begin (9600);
19. // Reads the initial state of the outputA
20. aLastState = digitalRead(outputA);
21. }
22.
23. void loop() {
24. aState = digitalRead(outputA); // Reads the "current" state of the outputA
25. // If the previous and the current state of the outputA are different, that means a Pulse has occured
26. if (aState != aLastState){
27. // If the outputB state is different to the outputA state, that means the encoder is rotating clockwise
28. if (digitalRead(outputB) != aState) {
29. counter ++;
30. } else {
31. counter --;
32. }
33. Serial.print("Position: ");
34. Serial.println(counter);
35. }
36. aLastState = aState; // Updates the previous state of the outputA with the current state
37. }

As que marcamos la rueda y fuimos viendo en el monitor serial la posicin respecto a la marca.
Con lo que logramos ver que nuestra posicin respecto a esa marca. En total fueron 30 pulsos por
revoluvin.
Entonces procedimos a calcular el permetro de nuestra rueda.
= = 6.2 = 6
Luego calculamos la distancia que recorre en cada pulso dividiendo eso entre 30.
Obtuvimos que cada pulso que genera en encoder al avanzar sea hacia a adelante o hacia a atrs
recorre 0.649cm.
Prctica 12-Odmetro con encoder incremental

Esto nos llev a modificar este cdigo y producir uno nuevo, explicado paso a paso a continuacin.

Esa parte de la definicin de entradas y salidas de acuerdo a los componentes que se utilizaron queda
bastante clara ahora pasamos a los pines que se reciben en arduino como entradas de datos y se
inicie la comunicacin serial junto con el despliegue de un mensaje en el display LCD.
Prctica 12-Odmetro con encoder incremental

Ahora se muestra el ciclo que conforma la base principal de nuestro odmetro, el cual se explica a
continuacin.

Cabe sealar que para el uso del encoder no fue necesario utilizar una librera en especfico.
Ahora bien este ciclo funciona de manera que el estado de nuestra seal de reloj se encuentra en 1 o
en 0. Y se comienza una sentencia de comparacin en la cual se predefini el estado previo de a
como primera lectura y luego se define el estado actual de a como otra lectura.
La comparacin radica en 2 estados de posicin de acuerdo a los interruptores dentro del encoder, si
ambos son distintos, entra la nueva sentencia, en la cual se dice:
Si gira el mando hacia la derecha har que el interruptor de conexin de A y C cambien de estado en
primer lugar.
Si gira el mando hacia la izquierda har que el interruptor de conexin B y C cambien de estado en
primer lugar.
Si suceden ambas cosas, el contador comienza a incrementarse en 1 y la distancia de sobreescribe
como el valor que ya calculamos antes por pulso que enva la seal clk del pin 7.
En caso de que suceda lo contrario, habr un decremento en el contador y en vez de sumar la distancia
que recorre cada pulso, la restar.
Prctica 12-Odmetro con encoder incremental

Finalmente se muestran los datos de la distancia recorrida de acuerdo a la suma o resta de pulsos de
acuerdo a la siguiente manera en el display o tambin en el monitor serial de la ide de arduino

Ahora mostramos las fotografas del circuito armado.


Prctica 12-Odmetro con encoder incremental
Prctica 12-Odmetro con encoder incremental
Prctica 12-Odmetro con encoder incremental

He aqu nuestro circuito funcionando, midiendo distancia hacia adelante y si del origen se pasa,
marca la distancia recorrida hacia el otro lado.
Prctica 12-Odmetro con encoder incremental

CONCLUSIONES
Gracias a la realizacin de este sensor logramos identificar el funcionamiento de un decodificador
incremental al cual, con base en la teora ya vista durante clases, comprendimos la importancia de
determinar la correcta variacin de posicin por medio de realizar cuentas incrementales
aprovechando los pulsos que este genera en los 2 estados de acuerdo al sentido de giro.

Para lograr esto tuvimos primero que comprender como es que funciona la lgica de un decodificador
incremental y calcular la cantidad que recorra la rueda acoplada al encoder de forma tal que
supiramos la distancia recorrida por 1 pulso y el nmero de pulsos que hay en una rueda teniendo
siempre presente que estos datos van a variar dependiendo dimetro de la misma.
Prctica 12-Odmetro con encoder incremental
Finalmente podemos decir que no fue fcil encontrar informacin de este sensor dado que el fabricante
es coreano, sin embargo el correcto funcionamiento de este dependi mucho de la utilizacin de las
resistencias de pull-p del decodificador para no sobrepasar sus lmites de correcta operatividad.

BIBLIOGRAFA Y CIBERGRAFA
[1] http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/keyes-ky-040-arduino-
rotary-encoder-user-manual/#The_Keyes_KY-040_Rotary_Encoder
[2] http://www.microjpm.com/products/encoder-giratorio-ky-040/
[3] http://www.microjpm.com/products/encoder-giratorio-ky-040/
[4] http://howtomechatronics.com/tutorials/arduino/rotary-encoder-works-use-arduino/
Prctica 12-Odmetro con encoder incremental
[5] http://www.lbaindustrial.com.mx/que-es-un-encoder/
[6] http://en.keyes-robot.com/productshow.aspx?id=181

ANEXOS
Dentro de la carpeta de esta prctica, se incluyen las hojas de especificaciones de los
componentes utilizados a destacar en esta prctica en PDF, as como diagramas de conexin
y/o simulaciones de los circuitos presentados y cdigos de programas.

Potrebbero piacerti anche