Está en la página 1de 13

Objetivo:

El objetivo de esta práctica es Diseñar, armar y Crear un interface que


muestre el desplazamiento rotacional en grados del encoder esto se lograra
utilizando un sistema empotrado.

Introducción:

Para la práctica se utilizó Arduino ya que es una plataforma de electrónica


abierta para la creación de prototipos basada en software y hardware
flexibles y fáciles de usar.

La estructura básica del lenguaje de programación de Arduino es bastante


simple y se compone de al menos dos partes. Estas dos partes necesarias,
o funciones, encierran bloques que contienen declaraciones o instrucciones.

En donde setup() es la parte encargada de recoger la configuración y loop()


es la que contienen el programa que se ejecutará cíclicamente (de ahí el
termino loop –bucle-).Ambas funciones son necesarias para que el
programa trabaje

Encoder incremental.
El principio de operación de un encoder se basa en los llamados
fotoacopladores. Éstos son pequeños chips que consisten en un diodo en
forma de fotoemisor y un transistor que realiza las tareas de fotorreceptor.
Este elemento se encarga de detectar la presencia/ausencia de la luz a
través de los discos concéntricos al eje, los cuales están fabricados con
unas ranuras que dejan pasar la luz en función de una codificación utilizada
para obtener la medida final

Según la tarea que necesitemos llevar a cabo va a precisar un encoder que


nos ofrezca salida en cualquier momento, es decir, aquellos llamados
absolutos, mientras el otro tipo, el cual nos dará información del estado del
eje cuando se encuentre en movimiento se denomina incremental. Por lo
tanto se van a dividir fundamentalmente en estos dos grupos.
• INCREMENTALES

Los codificadores incrementales constan de un disco transparente al cual


superponemos la plantilla de marcas opacas colocadas radialmente y
equidistantes entre sí.

Los encoders están disponibles con diferentes tipos de salidas, uno de ellos
son los encoders incrementales, que generan pulsos mientras se mueven,
se utilizan para medir la velocidad, o trayectoria de posición. El otro tipo son
los encoders absolutos que generan múltiples bits digitales, que indican
directamente su posición actual.

Es importante hacer una mención especial a sus aplicaciones en robótica ya


que la base de esta son los servomotores y debido a que un servomotor
básicamente está compuesto por un motor dc y un encoder este último
resulta de vital importancia para la robótica por lo cual es muy importante
conocer su funcionamiento.

Un servomotor podría definirse como un motor utilizado para obtener una


salida precisa y exacta en función del tiempo. Dicha salida esta expresada
habitualmente en términos de posición, velocidad y/o torque.

Aplicaciones.

Los encoders pueden ser utilizados en una gran variedad de aplicaciones


como por ejemplo los mouse de las computadoras o en grandes y
complejas maquinas como los CNC o los robots industriales. Actúan como
transductores de retroalimentación para el control de la velocidad en
motores, como sensores para medición, de corte y de posición. También
como entrada para velocidad y controles de rango. A continuación se enlista
algunos ejemplos:

• Maquinas de lente demoledor

• Plotter

• Soldadura ultrasónica

• Maquinas etiquetadoras

• Indicación x/y

• Maquinas mezcladoras

Y algunas ventajas que representa usar encoders ópticos son:


 Alta resistencia a las condiciones ambientales tales como humedad,
vibraciones e impactos.
 Se pueda usar en un rango amplio de temperaturas.
 Capacidad de transmitir señales a grandes distancias.
 Miniaturizable o tamaño apropiado para las características del servomotor.
 Alta resolución en la lectura de la posición a medir.
Fernando

Proteus.

Un paso de gran importancia cuando se diseña es sin duda el de la


simulación ya que nos permite conocer errores antes de implementar
nuestro dispositivo lo cual nos ahorra tiempo y recursos.

Proteus es una compilación de programas de diseño y simulación


electrónica, desarrollado por Labcenter Electronics que consta de dos
programas principales: Ares e Isis, y los módulos VSM y Electra.

El Programa ISIS, Intelligent Schematic Input System (Sistema de enrutado


de Esquemas Inteligente) permite diseñar el plano eléctrico del circuito que
se desea realizar con componentes muy variados, desde simples
resistencias, hasta alguno que otro microprocesador o microcontrolador,
incluyendo fuentes de alimentación, generadores de señales y muchos otros
componentes con prestaciones diferentes. Los diseños realizados en Isis
pueden ser simulados en tiempo real, mediante el módulo VSM, asociado
directamente con ISIS.
Sensor óptico de barrera H21A1

El representante mas popular de los sensores ópticos es el H21A1 estos


sensores tienen como emisor un diodo de infrarrojo y como receptor un
fototransistor en este caso el emisor y el receptor están separados a una
distancia de 3mm y entre ellos existe un espacio para que un objeto pueda
introducirse y romper la barrera infrarroja

Una aplicación típica de estos sensores es medir la velocidad de un motor:


para ello se acopla al eje del motor una lámina circular con una serie de
ranuras que pasan por el centro del sensor y cortan el haz de luz, el número
de cortes del haz de luz en la unidad de tiempo será proporcional a la
velocidad del motor

Planteamiento de problema:

Armar un encoder incremental capaz de mostrar su desplazamiento


rotacional en grados.

Solución del problema:

En primer lugar es necesario adquirir los componentes necesarios para poder


armar nuestro encoder los cuales son:

Sensor de herradura.
Tarjeta ARDUINO.

Un disco imprimible.
Base de madera .

Un motorreductor.

Alambre para protoboard.

Protoboard.

LED verde.
Resistencias de 330Ω y de 10KΩ.
Taladro y broca.

Desarrollo:

Primer paso es tener la base de madera con nuestro motor y sensor como
se ilustran en las fotos:

En esta foto se muestra nuestra base de Aquí se muestra el motor con el


madera con el motor y el sensor de herradura buje que se hizo para poder
sujetar nuestro disco
En esta foto se muestra la base de manera aquí se muestra nuestro sensor
lateral. en su posición

Posteriormente se realizo nuestro disco del encoder para lo cual


utilizaremos un programa llamado Wheel Encoder Generaton ya que este
nos ayuda a poder imprimir nuestro disco en una resolución bastante
aceptable facilitando también poder manejar las medidas de diámetros, el
número de tracks, resolución de la imagen posteriormente se hicieron las
perforaciones con ayuda de un taladro y una broca

Se seleccionó un total de 36 muestras para la circunferencia para así tener


una resolución de 10 grados posteriormente se imprime sobre el disco y se
le hacer los agujeros con ayuda del taladro y la broca y nos queda de la
siguiente forma.
Físicamente quedo de la siguiente manera con 36 ranuras:
Ahora diseñaremos la parte de software para lo cual utilizaremos el Arduino
Mega 2560 el cual es muy parecido a C++. Primero se observó gracias a la
ayuda de proteus que en la simulación sustituyendo la señal del sensor por
un push-boton, si el programa no estaba mal o hacia otra cosa errónea.

Posteriormente se cargó el programa en Arduino dentro de la simulación


para poder ver la respuesta que nos da nuestro sistema ya que nuestro
programa está diseñado para mandar los resultados al puerto serial.
Una vez comprobado que en la simulación el comportamiento corresponde
a lo esperado podemos podremos implementarlo en un protoboard.

Para evitar errores primero se revisó el sensor el cual tiene un circuito de


polarización que se muestra a continuación

Posteriormente se armó en el protoboard y se obtuvieron los siguientes


resultados;

En estas fotos se muestra el


comportamiento del sensor
de herradura mediante el
circuito descrito anteriormente
Este encoder es capaz de mostrar el movimiento rotacional expresado en
grados a través del puerto serial de Arduino con una resolución de 10
grados, su diseño corresponde aun encoder incremental.

El programa hecho en Arduino es el siguiente:


Resultados :

Posteriormente se programó el sistema empotrado (arduino) con el código


ya mencionado y se conectó el sensor como se observan en las fotos:
Conclusión:

Un encoder es relativamente fácil de diseñar e implementar gracias a una


serie de herramientas disponibles tanto para el hardware como el software
lo cual solo puede ser una prueba más de su amplio uso.

La interfaz hecha con Arduino fue una herramienta muy útil tanto por su
facilidad de programación como de implementación.

Ya que un servomotor está constituido por un motor de dc y un encoder, si a


nuestro encoder se le adapta un motor de dc podría transformarse en un
servomotor cosa que sería relativamente fácil ya que al motor de dc ya no
se le agregaría nada más.

También podría gustarte