Codificador rotatorio
De Wikipedia, la enciclopedia libre
Saltar a navegación, búsqueda
Un encoder es un codificador rotatorio, también llamado codificador del eje, suele ser un dispositivo electromecánico usado para convertir la posición angular de un eje a un código digital, lo que lo convierte en una clase de transductor. Estos dispositivos se utilizan en robótica, en lentes fotográficas deúltima generación, en dispositivos de entrada de ordenador (tales como el ratón y el Trackball), y en plataformas de radar rotatorias. Hay dos tipos principales: absoluto y relativo.
|
Codificador rotatorio absoluto [editar]
Construcción [editar]
El tipo absoluto produce un código digital único para cada ángulo distinto del eje.
Se corta un patrón complejo en una hoja de metal y se pone en undisco aislador, que está fijado al eje. También se coloca una fila de contactos deslizantes a lo largo del radio del disco. Mientras que el disco rota con el eje, algunos de los contactos tocan el metal, mientras que otros caen en los huecos donde se ha cortado el metal. La hoja de metal está conectada con una fuente de corriente eléctrica, y cada contacto está conectado con un sensor eléctricoseparado. Se diseña el patrón de metal de tal forma que cada posición posible del eje cree un código binario único en el cual algunos de los contactos esté conectado con la fuente de corriente (es decir encendido) y otros no (apagados). Este código se puede leer por un dispositivo controlador, tal como un microprocesador, para determinar el ángulo del eje.
Codificación binaria estándar [editar]
Unejemplo de un código binario en un codificador extremadamente simplificado con solamente tres contactos, se demuestra abajo:
Sector | Contacto 1 | Contacto 2 | Contacto 3 | Ángulo |
1 | OFF | OFF | OFF | 0º a 45º |
2 | OFF | OFF | ON | 45º a 90º |
3 | OFF | ON | OFF | 90º a 135º |
4 | OFF | ON | ON | 135º a 180º |
5 | ON | OFF | OFF | 180º a 225º |
6 | ON | OFF | ON | 225º a 270º |
7 | ON | ON| OFF | 270º a 315º |
8 | ON | ON | ON | 315º a 360º |
Generalmente, si hay n contactos, el número de posiciones distintas del eje es 2n. En este ejemplo, n es 3, así que hay 23, es decir, 8 posiciones.
En el ejemplo anterior, los contactos producen una cuenta binaria a medida que el disco gira. Sin embargo, esto tiene la desventaja de que si el disco para entre dos sectores adyacentes, o loscontactos no se alinean perfectamente, es imposible determinar el ángulo del eje. Para ilustrar este problema, se considera que el ángulo del eje cambia de 179.9º a 180.1º (sector 4 a sector 5). En cierto instante, según la tabla anterior, el patrón del contacto cambiará de “OFF-ON-ON” a “ON-OFF-OFF”. Sin embargo, no sucede realmente. En un dispositivo práctico, los contactos nunca se alineanperfectamente, de modo que cada uno cambiará en diverso momento. Si el contacto 1 cambia primero, seguido por el contacto 3 y luego el contacto 2, por ejemplo, la secuencia real de códigos será:
* OFF-ON-ON (Posición de salida)
* ON-ON-ON (Primero, se activa el contacto 1)
* ON-ON-OFF (Después se desactiva el contacto 3)
* ON-OFF-OFF (Por último, se desactiva el contacto 2)
Ahora, miralos sectores que corresponden a estos códigos en la tabla. Así, de la secuencia de los códigos producidos, parece que el eje saltó del sector 4 al sector 8, entonces volvió al sector 7, y luego al sector 5, que es donde se esperaba encontrarlo. En muchos casos, este comportamiento es indeseable y podría fallar. Por ejemplo, si el codificador fuera utilizado en un brazo robótico el contorladorpensaría que el brazo estaba en la posición incorrecta. Para corregir el error, intentaría girarlo 180º, pudiendo dañarlo.
Codificación con código de Gray [editar]
Para evitar el problema anterior, se utiliza el Código Gray. Éste es un sistema de código binario en el cual dos códigos adyacentes sólo se diferencian en una posición. Para entrar en contacto con el ejemplo dado arriba, la versión…