Está en la página 1de 24

INSTITUTO TECNOLÓGICO SUPERIOR DE LERDO

PRÁCTICA IX: “MEDICIÓN DE VELOCIDAD MEDIANTE ENCODER


INCREMENTAL E INTERFAZ VISUAL EN LABVIEW”
EQUIPO: 2
INTEGRANTES:
MACHADO DÍAZ EDUARDO
CAMPOS DE SANTIAGO CARLOS EDUARDO
ESPELETA ROMERO BRAHYANT GABRIEL
YAÑEZ TORREZ KARINA ELIZABETH

CARRERA: INGENIERÍA ELECTRÓNICA


SEMESTRE: VII
MATERIA: INSTRUMENTACIÓN
FACILITADOR: M.C. ARON GÁMEZ VARGAS

FECHA DE REALIZACIÓN: 03 DE DICIEMBRE DE 2015


FECHA DE ENTREGA: 04 DE DICIEMBRE DE 2015
Contenido
MARCO TEÓRICO.................................................................................................. 3
LABVIEW ............................................................................................................. 3
Entorno............................................................................................................. 3
Creación de programas .................................................................................... 4
Flujo de ejecución ............................................................................................ 4
ARDUINO ............................................................................................................ 5
Descripción de Arduino .................................................................................... 5
ENCODERS ........................................................................................................ 7
Tecnología ....................................................................................................... 7
Encoders ópticos ................................................................................................. 8
Codificación incremental .................................................................................. 8
MÉTODOS PARA DETERMINAR LAS RPM (REVOLUCIONES POR MINUTO) 9
Solución para altos pulsos por revolución usando el método de medición de
frecuencia......................................................................................................... 9
Solución para bajos pulsos por revolución utilizando el método de medición de
periodo. .......................................................................................................... 10
OBJETIVOS. ......................................................................................................... 10
DESARROLLO DE LA PRÁCTICA ....................................................................... 11
MATERIALES .................................................................................................... 11
PROCEDIMIENTO. ........................................................................................... 11
Montaje del circuito detector .......................................................................... 11
Programación de Arduino............................................................................... 12
Programación de LabView. ............................................................................ 15
Montaje final del circuito ................................................................................. 18
RESULTADOS ...................................................................................................... 19
Bibliografía ............................................................................................................ 21

2
MARCO TEÓRICO

LABVIEW

LabVlEW es el acrónimo de Laboratory Virtual Instnuneni Engineering Workbech.


Es un lenguaje y a la vez un entorno de programación gráfica en el que se pueden
crear aplicaciones de una forma rápida y sencilla.
National Instruments es la empresa desarrolladora y propietaria de LabVIEW,
comenzó en 1976 en Austin, Texas y sus primeros productos eran dispositivos para
el bus de instrumentación GPIB. En abril de 1983 comenzó el desarrollo de lo que
sería su producto estrella: LabVIEW, que vería la luz en octubre de 1986 con el
lanzamiento de LabVlEW 1.0 para Macintosh (los ordenadores más populares en
aquella época que ya disponían de interfaz gráfica) y en 1990 la versión 2. Para
Windows habría que esperar a septiembre de 1992.

Entorno

LabVIEWes una herramienta de programación gráfica. Originalmente este


programa estaba orientado a aplicaciones de control de instrumentos electrónicos
usadas en el desarrollo de sistemas de instrumentación, lo que se conoce como
instrumentación virtual. Por este motivo los programas creados en LabVIEW se
guardarán en ficheros llamados VI y con la misma extensión, que significa
instrumento virtual (Virtual Instruments). También relacionado con este concepto se
da nombre a sus dos ventanas principales: un instrumento real tendrá un Panel
Frontal donde estarán sus botones, pantallas, etc. y una circuitería interna. En
LabVIEW estas partes reciben el nombre de Panel Frontal y Diagrama de Bloques
respectivamente.
 Panel Frontal, es la parte que verá el usuario, suele tener fondo gris.
 Diagrama de Bloques, es donde se realizará la programación y suele tener
fondo blanco.

Ilustración 1 Panel frontal y diagrama de bloques

3
El Panel Frontal y el Diagrama de Bloques están conectados a través de los
terminales (elementos que sirven como entradas o salidas de datos). De la misma
forma que un indicador luminoso de la carátula de un instrumento está representado
como un diodo en la circuitería interna, en un programa en LabVIEW ese mismo
indicador luminoso estará representado en el Diagrama de Bloques como una salida
de tipo booleano sobre el que escribir un valor.

Creación de programas

En LabVIEW la programación se realiza en el Diagrama de Bloques. Un programa


habitualmente está formado por: Controles: sirven de entrada para los datos.
Los datos "circulan" por el programa mediante cables, que sirven para unir unos
elementes con otros. Para realizar la conexión se utiliza la herramienta Connect
Wire de la paleta de herramientas. Un cable tendrá una única fuente (control,
constante o salida de otro elemento) y uno o varios destinos (indicador o entradas
de otros elementos) de tipos compatibles. El cableado, en general, debe ser lo más
corto posible manteniendo una claridad suficiente. Una opción útil que aparece en
el menú contextual de los cables es Clean Up Wire que realiza un trazado
automático de la ruta del cable. Un buen trazado del cableado no sólo es más
elegante sino que también puede hacer que el programa tenga unas prestaciones
superiores en cuanto a memoria utilizada.

Flujo de ejecución

Al lenguaje de programación que usa LabVIEW también se le llama lenguaje G. La


mayoría de los lenguajes se basan en una programación imperativa, la cual es
simplemente una sucesión de operaciones. Sin embargo el lenguaje G no usa tilla
programación imperativa sino una ejecución basada en el flujo de datos (dataflow).
Un programa en LabVIEW consiste básicamente en una serie de funciones unidas
mediante cables. Los datos circulan o fluyen por los cables. Una función sólo podrá
ejecutarse cuando tenga disponibles todos los datos que le sirven como entradas.

Ilustración 2 Ejemplo de flujo de ejecución

4
ARDUINO

Descripción de Arduino

Arduino es una plataforma de prototipos de código abierto basado en hardware y


software fácil de usar. La placa Arduino es capaz de leer entradas, la luz en un
sensor, un dedo en un botón, o recibir un mensaje de Twitter y convertirlos en una
salida, la activación de un motor, encender un LED, publicar algo en línea. Todo
esto se define por un conjunto de instrucciones programadas a través del Software
Arduino (IDE).
A través de los años Arduino ha sido el cerebro de miles de proyectos, desde objetos
cotidianos hasta instrumentos científicos complejos. Una comunidad mundial de los
fabricantes, estudiantes, aficionados, artistas, programadores y profesionales se ha
reunido alrededor de esta plataforma de código abierto, sus contribuciones han
añadido una increíble cantidad de conocimiento accesible que puede ser de gran
ayuda para los principiantes como para expertos.
Arduino nació a Ivrea Interaction Design Institute como una herramienta fácil para
prototipado rápido, dirigido a estudiantes sin experiencia en electrónica y
programación. Tan pronto como llegó a una comunidad más amplia, la placa
Arduino comenzó a cambiar para adaptarse a las nuevas necesidades y desafíos,
diferenciar su oferta de tablas simples de 8 bits a los productos para aplicaciones
de la IO, impresión 3D portátil y entornos integrados. Todas las placas Arduino son
completamente de código abierto, permitiendo a los usuarios crear de forma
independiente y, finalmente, adaptarlos a sus necesidades particulares. El software
también es de código abierto, y está creciendo a través de las aportaciones de los
usuarios en todo el mundo.
Gracias a su sencilla y accesible experiencia de usuario, Arduino se ha utilizado en
miles de diferentes proyectos y aplicaciones. El software de Arduino es fácil de usar
para los principiantes, pero lo suficientemente flexible para los usuarios avanzados.
Se ejecuta en Mac, Windows y Linux. Los profesores y los estudiantes lo utilizan
para construir instrumentos científicos de bajo coste, para demostrar los principios
de química y física, o para empezar con la programación y la robótica. Diseñadores
y arquitectos construyen prototipos interactivos, músicos y artistas lo utilizan para
instalaciones y experimentar con nuevos instrumentos musicales. Los fabricantes,
por supuesto, lo utilizan para construir muchos de los proyectos expuestos en la
Maker Faire, por ejemplo. Arduino es una herramienta clave para aprender cosas
nuevas. Cualquier persona (niños, aficionados, artistas, programadores) puede
comenzar a juguetear simplemente siguiendo paso a paso las instrucciones de un
kit, o compartir ideas en línea con otros miembros de la comunidad de Arduino.

5
Hay muchos otros microcontroladores y plataformas de microcontroladores
disponibles para computación física. Parallax Basic Stamp, de Netmedia BX-24,
Phidgets, Handyboard del MIT, y muchos otros ofrecen una funcionalidad similar.
Todas estas herramientas toman los detalles sucios de programación de
microcontroladores y se envuelve en un paquete fácil de usar. Arduino también
simplifica el proceso de trabajar con microcontroladores, pero ofrece algunas
ventajas para los profesores, estudiantes y aficionados interesados sobre otros
sistemas:
 Asequible: Las placas Arduino son relativamente baratas en comparación
con otras plataformas de microcontroladores. La versión menos costosa del
módulo Arduino puede ser montado a mano, e incluso los módulos de
Arduino premontados cuestan menos de $ 50
 Multiplataforma - El software de Arduino (IDE) se ejecuta en los sistemas
operativos Windows, Macintosh OSX y Linux. La mayoría de los sistemas de
microcontrolador se limitan a Windows.
 Simple programación: El software de Arduino (IDE) es fácil de usar para los
principiantes, pero lo suficientemente flexible para los usuarios avanzados
para aprovechar también. Para los profesores, se basa convenientemente en
el entorno de programación Processing, por lo que los estudiantes que
aprenden a programar en ese entorno estarán familiarizados con cómo
funciona el Arduino IDE.
 El código abierto y el software extensible: El software de Arduino está
publicado como herramientas de código abierto, disponible para la extensión
por programadores experimentados. El idioma se puede ampliar a través de
C ++ bibliotecas, y la gente con ganas de entender los detalles técnicos
pueden dar el salto de Arduino para el lenguaje de programación AVR C en
el que se basa. Del mismo modo, puede agregar código AVR-C directamente
en sus programas de Arduino si quieres.

Ilustración 3 Placa Arduino Uno

6
ENCODERS

Los Encoders son sensores que generan señales digitales en respuesta al


movimiento. Están disponibles en dos tipos, uno que responde a la rotación, y el
otro al movimiento lineal. Cuando son usados en conjunto con dispositivos
mecánicos tales como engranes, ruedas de medición o flechas de motores, estos
pueden ser utilizados para medir movimientos lineales, velocidad y posición.
Los encoders están disponibles con diferentes tipos de salidas, uno de ellos son los
ENCODER INCREMENTABLES, que generan pulsos mientras se mueven, se
utilizan para medir la velocidad, o la trayectoria de posición. El otro tipo son los
ENCODERS ABSOLUTOS que generan multi-bits digitales, que indican
directamente su posición actual.
Los encoders pueden ser utilizados en una gran variedad de aplicaciones. 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:
• Dispositivo de control de puertas • Maquinas de ensamblaje
• Robótica • Maquinas etiquetadoras • Indicación
x/y
• Maquinas de lente demoledor
• Dispositivos de análisis
• Plotter
• Maquinas taladradoras
• Soldadura ultrasónica
• Maquinas mezcladoras
• Maquinaria convertidora
• Equipo médico

Tecnología

Los Encoders pueden utilizar tanto tecnología óptica como magnética. El sensor
óptico provee altas resoluciones, velocidades de operaciones altas, y con
seguridad, operación de larga vida en la mayoría de los ambientes industriales. Los
sensores magnéticos, se utilizan frecuentemente en aplicaciones de trabajo pesado
como en laminadoras de papel y acero, proveen buena resolución, altas velocidades
de operación, y máxima resistencia al polvo, humedad, y golpe térmico y mecánico.
Encoders Ópticos Los encoders ópticos utilizan un disco de vidrio con un patrón de
líneas depositadas en él, un disco metálico o plástico con ranuras (en un encoder
rotatorio), o una tira de vidrio o metal (en un encoder lineal). La luz de un LED brilla
a través del disco o tira sobre uno o más fotodetectores, que produce el
suministrador del encoder. Un encoder de incremento tiene una o más de estas
pistas, mientras que un encoder absoluto tiene varias pistas como bits de salida.

7
Encoders ópticos

Los encoders ópticos utilizan un disco de vidrio con un patrón de líneas depositadas
en él, un disco metálico o plástico con ranuras (en un encoder rotatorio), o una tira
de vidrio o metal (en un encoder lineal). La luz de un LED brilla a través del disco o
tira sobre uno o más fotodetectores, que produce el suministrador del encoder. Un
encoder de incremento tiene una o más de estas pistas, mientras que un encoder
absoluto tiene varias pistas como bits de salida.

Ilustración 4 Tipos de discos para encoder

Codificación incremental

Los encoders de incremento proveen un número específico de pulsos


equitativamente espaciados por revolución (PPR) o por pulgada o milímetro de
movimiento lineal. Se utiliza un solo canal de salida para aplicaciones donde el
sentido de la dirección de movimiento no es importante (unidireccional). Donde se
requiere el sentido de dirección, se utiliza la salida de cuadratura (bidireccional), con
dos canales de 90 grados eléctricos fuera de la fase; el circuito determina la
dirección de movimiento basado en la fase de relación entre ellos. Esto es útil para
procesos que se pueden revertir, o para mantener la posición de red cuando se
encuentra inmóvil u oscilando mecánicamente. Por ejemplo, la vibración de la
maquina mientras este detenido podría ocasionar que un encoder unidireccional
produzca una corriente de pulsos que serían contados erróneamente como
movimiento. El controlador no sería engañado cuando se utilice la cuadratura de
conteo. Cuando se requiere más resolución, es posible para el contador computar
los márgenes de dirección y rastreo de la serie de pulsos de un canal, el cual duplica
(x2) el número de pulsos contados para una rotación o pulgada de movimiento. Al
contar ambos márgenes de dirección y de rastreo de ambos canales darán una
resolución x4.

8
Ilustración 5 Canales de salida de un encoder

Una salida de un encoder incremental indica movimiento. Para determinar la


posición, sus pulsos deben ser acumulados por un contador. La cuenta está sujeta
a pérdida durante una interrupción de energía o corrupción por transistores
eléctricos. Cuando comienza, el equipo debe ser dirigido a una referencia o posición
de origen para inicializar los contadores de posición. Algunos encoders de
incremento también producen otra señal conocida como el “índice”, “marcador”, o
“canal Z”, Esta señal, producida una vez por revolución de un encoder de eje o a
puntos precisamente conocidos sobre una escala lineal, se utiliza frecuentemente
para localizar una posición específica, especialmente durante una secuencia de
mensajes.

MÉTODOS PARA DETERMINAR LAS RPM (REVOLUCIONES POR MINUTO)

Existen dos métodos principales para determinar las revoluciones por minuto, el
método de frecuencia y el método de periodo.
El método de frecuencia es mejor para dispositivos de movimiento rápido, como lo
son motores y turbinas que comúnmente giran en cientos de revoluciones por
minuto.
El método de periodo es mejor para dispositivos que se mueven más lento, como lo
son aquellos que giran en menos de 10 revoluciones por minuto.

Solución para altos pulsos por revolución usando el método de medición de


frecuencia

Para este ejemplo, un nivel alto de pulsos por revolución (PPR) es considerado para
ser al menos 60 PPR.
Cuando se usan sensores con alto PPR, como lo son los encoders de eje o los
sensores de proximidad que sensan los engranes dentados, la manera más fácil de
determinar las revoluciones por minuto es monitorizar la frecuencia del pulso del

9
sensor utilizando un módulo con entrada digital y obtener su frecuencia. Después
se calcula las RPM usando la ecuación que se muestra en la ilustración 5.

Ilustración 6 Cálculo de RPM por el método de frecuencia

Solución para bajos pulsos por revolución utilizando el método de medición


de periodo.

Se consideran bajos pulsos por revolución todos aquellos que tengan menos de 60
PPR.
Ya que éstos pueden ser medidos con una alta resolución, medir el periodo del pulso
es el mejor método para medir las RPM cuando se usan sensores con bajos PPR,
como lo son los sensores de proximidad o fotoeléctricos. El periodo es el tiempo
desde que inicia un pulso hasta el siguiente pulso.
Cuando se utiliza el método de periodo para monitorizar las RPM, se utiliza la
ecuación de la ilustración 6.

Ilustración 7 Cálculo de RPM por el método de periodo

El principal inconveniente ocurre cuando los PPR son más grandes que 1, y el pulso
no es simétrico. Por ejemplo cuando la velocidad del eje es constante y se está
monitorizando dos pernos por revolución, si los pernos no están exactamente
espaciados, el periodo será diferente causando que la indicación de RPM sea
errónea.

OBJETIVOS.

Realizar la medición de velocidad de un motor en RPM empleando un encoder


incremental y desarrollando una interfaz visual en LabView para monitoreo de la
variable velocidad

10
DESARROLLO DE LA PRÁCTICA

MATERIALES

 1 Placa Arduino.
 1 Resistencia 330.
 1 Resistencia 4.7k.
 Cables para Arduino.
 1 opto ranura H21A1.
 1 Motor de C.D. con disco dentado.
 Computadora con acceso a internet.
 Instalador de LabView 2015.
 2 LED

PROCEDIMIENTO.

Montaje del circuito detector

1.- Montar el circuito de la opto ranura que se muestra en la ilustración 8.

Ilustración 8 Circuito Opto Ranura

Como se observa en la ilustración 8, la placa Arduino utilizada en esta práctica es


la Arduino Nano, se optó por utilizarla por su fácil montaje en el protoboard pues por
su tamaño puede insertarse como un circuito integrado cualquiera y esto ayuda a
realizar las conexiones de mejor forma. Se colocó de igual forma un Led a la entrada
para observar si el circuito se encontraba alimentado.

11
Programación de Arduino

2.- Con el circuito montado se procede a la programación en Arduino. Las librerías


para la comunicación de Arduino y LabView no permiten el manejo de interrupciones
y el uso de timers, por lo que no se utilizarán, la programación se realizará en
Arduino y los datos enviados por comunicación serial convencional en LabView.
El circuito de la optoranura está con lógica invertida, existirá un uno cuando la luz
incida en la ranura pues el transistor estará polarizado y un 0 cuando se encuentre
en la parte opaca.
Para realizar la medición de RPM se utilizará el método de frecuencia, por lo que se
debe medir la frecuencia de los pulsos que entran en el pin 2 de Arduino, esto se
hará mediante interrupciones que se activarán cada que existe un flanco de subida
para posteriormente medir el tiempo que existe entre cada cambio para obtener el
periodo de la señal, después, mediante la inversa del periodo. se calculará la
frecuencia. En la medición del tiempo entre pulsos se utilizarán los timers de
Arduino, que permiten medir el tiempo exacto transcurrido desde que el programa
comienza a correr. A continuación se explicará paso por paso el código a utilizar.
Como se muestra en la ilustración 9 se crean las variables, éstas tienen que ser
declaradas de tipo “Volatile” para poder utilizarlas en la función de interrupción.
To, será el tiempo inicial de la onda, Tf, el tiempo final medido después de detectar
el flanco de subida y DeltaT es la variable que guardará la diferencia entre Tf y To,
la cuál será el periodo de la señal.
La variable freq se utilizará para registrar la frecuencia y RPM para las revoluciones
por minuto.

Ilustración 9 Creación de variables

Posteriormente se procede a la configuración, se inicia la configuración serial y la


activación de interrupción externa por el pin digital 2 del Arduino, el cual activa la
interrupción 2. La función “attachInterrupt” habilita las interrupciones y tiene la
siguiente sintaxis.
attachInterrupt (Num de int, Nombre de la función de Int, tipo de activación)

12
Para este caso se configuró la interrupción 0 con nombre “Interrupción” y en
activación por flanco de subida (cambio de bajo a alto).como se muestra en la
ilustración 10.

Ilustración 10 Configuración

Una vez realizada la configuración, se procede a la programación de la función de


interrupción, ésta se ejecutará cada que exista un flanco de subida en el pin 2. Se
desactivan las interrupciones para permitir realizar los cálculos, posteriormente se
registra el tiempo del timer con la función micros(); la cual permite conocer el tiempo
en microsegundos que lleva el Arduino en ejecución, Se calcula DeltaT con la
diferencia con el tiempo anterior y Tf se iguala a To para volver a comenzar. Se
utilizan microsegundos pues se medirán frecuencias altas y se necesitan periodos
muy cortos de tiempo para medirlas correctamente.

Ilustración 11 Función de interrupción.

Para finalizar se programa el bucle loop el cual realizará todas las operaciones
matemáticas. Conocido el periodo de la señal se saca el inverso para conocer la
frecuencia, sin embargo el periodo está en milisegundos por lo que se realiza la
conversión necesaria colocando 1000/DeltaT, el 1000 para transformar los
milisegundos en segundos. Posteriormente con la fórmula de cálculo por el método
de frecuencia, se calculan las RPM, para ello es necesario conocer los pulsos por
revolución, en esta práctica se utiliza un motor con un aro de 28 ranuras en su disco
como se observa en la ilustración 12.

13
Ilustración 12 Disco ranurado

Después de los cálculos se envía el dato de frecuencia por el puerto Serial, se optó
por solo enviar la frecuencia para enviar un solo dato y no tener problemas para
identificar si se enviara la frecuencia y las Rpm. A continuación se da una pausa de
10 milisegundos para permitir la lectura de los datos en LabView y se habilitan las
interrupciones para esperar un nuevo cambio de flanco.

Ilustración 13 Código de la función loop

Como se observa, los cálculos varían de acuerdo al número de ranuras con las que
cuente el disco y de igual forma si el tiempo medido es en segundos, milisegundos
o microsegundos, de acuerdo a las necesidades que se requieran.
Se utilizan interrupciones para que los retardos programados no interfieran con la
medición de los pulsos, ya que si se utilizara otro método sin ellas, los retardos se
agregarían al tiempo ocasionando mediciones erróneas.

14
Programación de LabView.

Como se menciona anteriormente, las librerías de LabView para Arduino no


permiten el uso de interrupciones ni de timers, por lo que la comunicación se tiene
que hacer con las librerías para puerto serie estándar de LabView.
En primer lugar se debe configurar la comunicación por el puerto serie utilizando
VISA Configure Serial Port.

Ilustración 14 Ubicación VISA Configure Serial Port

Posteriormente se coloca el VISA Bytes at Serial Port, el con el cual se monitorea


cuántos bytes se encuentran disponibles en el puerto serie.

Ilustración 15 Ubicación Bytes at Serial Port

Con lo anterior se configura el puerto Serie para recibir los datos, se requiere
entonces la instrucción VISA read para leerlos, esta instrucción permite recibir las
cadenas de caracteres que se encuentren disponibles en el puerto.

15
Ilustración 16 Ubicación VISA read

Los datos recibidos por VISA read son de tipo cadena, los cuales sirven para
monitorizar las variables, sin embargo, si se requiere hacer operaciones
matemáticas es necesario convertir esa cadena de caracteres en números, para ello
se coloca la instrucción Decimal String To Number, que convierte una cadena de
caracteres decimales en números que pueden ser manipulados.

Ilustración 17 Ubicación Decimal String To Number

Ya con los datos en números se pueden realizar las operaciones necesarias en el


programa.
Lo anterior son los componentes básicos necesarios para crear la comunicación
Serial, ya sea para Arduino en este caso, o cualquier otro dispositivo que pueda
manejar este protocolo de comunicación.
En VISA configuration se deben de colocar la configuración de la comunicación
como lo son el puerto com, la velocidad de transferencia, los bytes y si existe o no
bit de paridad.

16
Posterior a la configuración del puerto serie, se colocan los elementos indicadores
y los operadores necesarios para la visualización de las variables.
La siguiente imagen muestra cómo deben realizarse las conexiones entre los
diferentes elementos en el programa, se colocó una estructura Flat Sequence
Structure con un timer, que permiten generar un retardo entre cada obtención de
datos, con el fin de que no existan problemas por el tiempo de respuesta del puerto
Serial de LabView. Todo dentro de una estructura While para que el programa se
ejecute de forma infinita y su correspondiente botón de paro. De igual forma fuera
del bucle la función VISA Close para cerrar el puerto Serial en cada alto del
programa.

Ilustración 18 Programa de LabView

Para la medición de las RPM se coloca un Meter en el panel frontal. Así como
indicadores de la Frecuencia y el cálculo de RPM.

Ilustración 19 Panel Frontal.

17
Montaje final del circuito

Realizada la programación se procede al montaje final del circuito con el motor. El


motor debe encontrarse conectado a un circuito que permita variar su velocidad,
para esta práctica se utilizará una fuente de voltaje variable, pero puede utilizarse
cualquier circuito que tenga esta función.

Ilustración 20 Conexión del motor

Para el montaje debe buscarse que el disco del motor se encuentre dentro de la
opto ranura y que ésta detecte los orificios del disco. Como se muestra en la
siguiente ilustración.

Ilustración 21 Montaje del motor en la opto ranura

Se tiene que tener el motor en una posición en la que se encuentre estable y que
no se mueva al momento de que esté girando el rotor, pues puede ocasionar daños
en los dispositivos que se conecten.
De igual forma el disco dentado tiene que estar bien incrustado para que no se
desprenda en el giro.

18
RESULTADOS

Montado el circuito se procedió a alimentar el motor e ir variando el voltaje de la


fuente desde lo más bajo al límite del voltaje del motor (24V), se conectó un
osciloscopio a la salida de la opto ranura para comparar la frecuencia que éste daba
con la frecuencia que marcaba LabView y comprobar si era la misma.

Ilustración 22 Conexión del osciloscopio

En las siguientes imágenes se muestra la comparación de la frecuencia con el


osciloscopio y la que mostraba el LabView así como las RPM.
La forma de onda no es exactamente cuadrada, y se va deformando conforme
aumenta la frecuencia.

Ilustración 23 Pulsos a 6V

19
Ilustración 24 Frecuencia y RPM a 6V

Ilustración 25 Osciloscopio a 11.4V

Ilustración 26 Frecuencia y RPM a 11.4V

Ilustración 27 Encoder en funcionamiento

20
BIBLIOGRAFÍA
Arduino. (7 de Septiembre de 2015). Arduino. Obtenido de www.arduino.cc
Bolton. (2010). Mecatrónica. Mexico: AlfaOmega.
FLoyd, T. L. (2007). Principios de circuitos eléctricos (8 ed.). México: Pearson
Educación.
México, W. I. (2015). Manual de aplicación de encoders. México: West Intruments.
Opto22. (Noviembre de 2015). RPM measurement techniques. www.Opto22.com.

21
Observaciones
En las mediciones del motor, se tenían movimientos oscilatorios en el disco, lo que
hacía que la medición no estuviera tan estable como se esperaba.
Utilizando timers e interrupciones se tienen mediciones de frecuencia muy exactas,
pues se hacen con el reloj del oscilador.
La opto ranura es un dispositivo al cual las variaciones en alta frecuencia hacen que
varíe la señal de onda de salida. La frecuencia de operación está dada por la que
pueda soportar el transistor que tiene internamente, al ir aumentando la velocidad
del motor la señal de onda se iba deformando, pero sin alterar los resultados de las
mediciones puesto que estaban en los rangos de medida del canal del Arduino.
En la comunicación por puerto serie con LabView es necesario crear retardos pues
si no se colocan éstos los datos no se mandan correctamente y solo se observan
puros ceros.
La frecuencia máxima que el Arduino soporta, según las pruebas que se realizaron
con un generador de funciones es de aproximadamente 22Khz.
Cuando se elevó el voltaje al nivel máximo del motor, que son 24V, se midieron las
revoluciones, el motor llegaba a 6200 aproximadamente, de acuerdo a lo teórico a
la mitad del voltaje debería dar exactamente la mitad de revoluciones, sin embargo
las revoluciones llegaron a 3100 a 12.5V lo cual es muy cercano.

Conclusiones.
En la medición de velocidad con un encoder, conocer la frecuencia exacta de los
pulsos es de vital importancia para tener mediciones exactas ya que cualquier
alteracion en el tiempo, aunque sean milisegundos, cambian completamente las
mediciones.
Para crear un encoder es necesario tomar en cuenta cual es la frecuencia máxima
que soportan los componentes, pues si se hubiese utilizado un disco con más
ranuras, el Arduino y la opto ranura no hubieran sido capaces de dar mediciones
exactas.
Como se observó en las pruebas, la frecuencia máxima medida por Arduino es de
22Khz aproximadamente, por lo que un encoder y un motor que generen una
frecuencia mayor tendrían que ser medido con un microcontrolador que trabaje a
más velocidad y tenga una respuesta más rápida a los cambios.
Las revoluciones del motor a su voltaje máximo deben de ser el doble de las que
den a la mitad del voltaje nominal de éste.
Machado Díaz Eduardo 12231494

22
Observaciones:
Al medir las RPM del motor, tuvimos que posicionar correctamente el motor con la
opto-ranura ya que el disco tambaleaba y topaba con la opto-ranura.
Las RPM no eran lineales ya que al alimentar el motor a 24 volts las RPM nos daba
6200, pero para que nos diera la mitad teníamos que alimentar el motor a 12.5 volts
así nos daba unas RPM de 3100, las causas que ocasionaban eran el desgaste de
motor, impurezas internas.
Para calcular las RPM y la frecuencia de un motor es más exacto hacerlo por
interrupciones que usando un Convertido de frecuencia voltaje, ya que las
interrupciones causa

Conclusiones:
Saber las RPM nos ayuda a ver qué frecuencia está trabajando el motor, así no
tener ningún desperfecto en un proceso o desfasamiento.
Al no tener un encoder con el cople necesario, se decidió adaptar uno con un disco
y una opto-ranura, el cual tiene el mismo funcionamiento, solo que con menos
resolución, pues el disco utilizado tiene menos ranuras que un encoder comercial.
El arduino fue usado ya que programar en su plataforma era una manera más
sencilla de crear interrupciones que con otro tipo de microcontroladores como lo son
los pic de microchip, pero tiene sus limitaciones ya que soporta una frecuencia de
22Khz, porque en un proceso industrial no soportaría lo cual su uso se limitaría más
a fines didácticos en caso de manejar frecuencia o procesos que requieran una baja
frecuencia de respuesta.

Espeleta Romero Brahyant Gabriel 12231188

23
Observaciones:
En la práctica se aprendió a usar un encoder y se pudo observar el comportamiento
del mismo, y su función es la de convertir el movimiento mecánico (giros del eje) en
pulsos digitales o análogos que pueden ser interpretados por un controlador de
movimiento, así mismo, con ayuda de un osciloscopio se pudo observar las señales
que proporcionaba el encoder y nos dimos cuenta que la salida de este es va de la
mano con la velocidad de giro que se le aplique al encoder.
Este dispositivo de instrumentación es de gran utilidad cuando se le da el uso
adecuado, y claro sabiendo los parámetros que tiene el encoder para que no se
tenga errores en las mediciones requeridas.
Para esta práctica el encoder fue fabricado por los integrantes del equipo con un
motor de directa, un disco ranurado y una optoranura acoplados junto con un circuito
diseñado para hacer la medición de las veces que las ranuras del disco incidían por
la opturanura, esto proporcionaba frecuencia y revoluciones por minuto.

Conclusiones:
En la práctica que se realizó, el operador se puede dar cuenta que este tipo de
instrumento es indispensable para la realización de un trabajo, claro teniendo en
cuenta el tipo de tarea que se quiera realizar y el funcionamiento de las
configuraciones a elegir.
Durante la práctica se midió un nivel de frecuencia moderado debido a que el
microcontrolador que se utilizó no trabaja a más frecuencia que 22Khz aproximados,
debido a que no tiene una respuesta tan rápida para leer los datos que se le
entregan.
A pesar de que se realizó la práctica y se vio el funcionamiento de los encoder, aún
falta aplicar este conocimiento en función de otro dispositivo industrial como un
motor por ejemplo, ya que en esta ocasión solo se usó uno motor de pequeño de
24V y un microcontrolador de mediana gama, los cuales no son lo suficientemente
eficientes para poder medir frecuencias y RPM mayores para poder ver su salida.
Los conocimientos que se obtuvieron en la práctica son un paso más cercano al
entorno de la industria y son herramientas que servirán para un proyecto futuro y/o
trabajo.

Campos de Santiago Carlos Eduardo 12231117

24

También podría gustarte