domingo, 17 de enero de 2010

SENSORES DE ROBOTS-CODIFICADORES(ENCODER)

CODIFICADORES PARA ROBOTS (CODERS)
(RANURADOS, GIRATORIOS, LINEALES)


EL ENCODER (CODIFICADOR)
El codificador es un sensor conectado a un objeto giratorio (como una rueda o el motor) para medir la rotación. Midiendo los movimientos del robot o cualquier plataforma móvil, se puede determinar el desplazamiento, la velocidad, la aceleración, o el ángulo de un sensor giratorio.
Un codificador típico usa el sensor óptico, un componente móvil mecánico, y un reflector especial para proporcionar una serie de pulsos eléctricos al microcontrolador. Estos pulsos pueden ser usados como parte de un sistema de control retroalimentado PID para determinar la distancia de translación, la velocidad de rotación, y el ángulo de un robot móvil o la parte móvil de un robot. Por ejemplo, para medir el tiempo que toma una rueda para girar exactamente 40 grados, o saber cuando ha recorrido la distancia de X, se usaría un codificador. El sensor será fijado en el robot, y la parte mecánica (la rueda codificadora) deberá girar con la rueda, o la parte móvil que nos dara información del movimiento. La salida de un codificador es una onda cuadrada, si se conecta esta señal a un contador digital o al microcontrolador se pueden contar los pulsos. Conociendo la distancia/ángulo entre cada pulso, y el tiempo desde el inicio al fin, fácilmente se puede determinar la posición o el ángulo o la velocidad, Los codificadores son necesarios para fabricar brazos de robot, y son útiles para controlar la aceleración de robots más pesados. También son muy usados para la navegación de laberintos.

CALCULO DEL MOVIMIENTO DE UN ROBOT CON CODIFICADOR
Por cada pulso enviado por el codificador, la rueda ha viajado un cierto ángulo. ¿Entonces...cómo se calcula la distancia recorrida por un robot para cada pulso que da el codificador? ¿Si el codificador da 5 pulsos en un segundo, cual es la velocidad del robot? Para hacer este cálculo se necesita más información, como el diámetro de la rueda y la resolución del codificador (el número de pulsos por 360 grados, o cuentas por revolución). Se recomienda leer las Instrucciones de Dinámica de Robots para entender como el diámetro de la rueda se relaciona con la velocidad del robot. Para comenzar, se deberá saber dos cosas - la circunferencia de la rueda y las cuentas por revolución. Dividiendo los dos, fácilmente se puede calcular la distancia que recorre el robot entre cada pulso del codificador:

circunferencia de la rueda / cuentas por revolución = distancia recorrida por cuenta del codificador.

Ahora la velocidad es solamente la distancia dividida por el tiempo... entonces, usando la respuesta en la ecuación anterior, dividida por el tiempo transcurrido, determinado por el temporizador del microcontrolador:

Distancia recorrida por cuenta del codificador / tiempo = velocidad

PROBLEMAS TIPICOS CON CODIFICADORES
Se presentan varios problemas en la utilización de codificadores para el control de posición de robots. Primero, porque el giro de la rueda no siempre significa que el robot se mueva. ¿Alguna vez ha conducido un coche sobre aceite? El error puede aumentar rápidamente. Por eso no es recomendable usar codificadores para la realimentación de datos de posición de un robot (como en laberintos).
Segundo, los codificadores tienen una exactitud finita. Si se tiene un codificador con una resolución de cuenta de 360. Esto quiere decir que su exactitud será errónea por hasta +/- un grado. Se puede pensar, ' ¡BUENO!, 1 grado está realmente bien. !ERROR !. La inexactitud se multiplica por la distancia. Si se tiene un brazo de robot de 3 pies de largo, con varias uniones cada uno con codificadores, un grado podría significar pulgadas de inexactitud.

USOS Y CONSEJOS
Hay varias cosas que se deben tener en cuenta cuando se diseña con codificadores. Primero, mantener el sensor protegido de la luz ambiental como la luz del sol. Si la luz da sobre el sensor, este podría leer pasos falsos. Tener cuidado cuando se coloca en un sistema de control de motores, si no esta correcto puede dañar el motor y la placa del circuito debido a los repentinos cambios de voltaje.
Los codificadores de alta resolución para el control de velocidades pueden usar mucho tiempo del sistema de computo (microcontrolador), entonces es mejor usar un ic contador digital para contar los pasos del codificador, que hacer que el microcontrolador realiza esta función. El microcontrolador si puede leer el valor serial que le envíe el ic contador. Sobre la rueda del codificador, se puede colorear las líneas negras con diferentes tonos de gris de modo que el codificador pueda identificar en que ángulo está aún después de una puesta a cero. El robot emparejaría la sombra con el ángulo. Solamente tener cuidado de que el sensor no lea un "tono gris" cuando este entre una línea blanca y una negra.

COSTOS DE CODIFICADORES
Hay dos modos de conseguir un codificador. Comprarlo y Hacerlo; Se puede gastar + de 50 dólares por un codificador de alta resolución. Si el robot tiene varias ruedas o uniones, se podría terminar por gastar + de 200 dólares. Para las exigencias de alta resolución y exactitud, esta es una buena alternativa. Un brazo de robot con varias uniones requerirá un codificador con mas alta resolicion por ejemplo. O si no le preocupa la exactitud (o no puede permitirse el gasto) se puede hacer un diseño por menos de 2 dólares. Todo lo que se necesita es un circuito IR y una rueda de codificador conectada a la rueda o unión giratoria.





sensor IR ranurado


CODIFICADORES CON MICROCONTROLADORES

Se recomienda leer el artículo Programming Timers y PID Control.

COMO HACER UNA RUEDA CODIFICADORA


1- Dibujar una rueda codificadora como se muestra en la figura anterior (en una transparencia), o usar algún programa de dibujo como el Paint.
2- Modificarlas hasta obtener la resolución que se desea (hacerle más 1s y 0s).
3- Imprimirlas en una transparencia y cortarlas.
4- Asegurarse de hacer el hueco central en la posición correcta, de otra manera se tendrán problemas de balanceo.
5- Trazar sobre las partes negras varias capas de tinta absorbente de infrarrojos, usar marcadores indelebles.
6- Colocar la rueda codificadora en el eje giratorio usar un sensor IR de ranura para contar los giros de la rueda.
7- Asegurarse de que el valor de la resistencia del sensor IR es la correcta para sensar las marcas de la tinta indeleble.

Algunos dibujos de ruedas codificadoras:


Si se espera que una rotación de motor a menudo vaya a un cierto ángulo, se puede poner patrones especiales sobre la rueda codificadora para hacer el procesamiento más simple. Se puede usar un ic array de leds IR para leer todos los patrones simultáneamente.





.



No hay comentarios: