Vous êtes sur la page 1sur 42

ACONDICIONAMIENTO DE SEÑALES UDEA.

Sensado de variables con tarjeta de adquisición de datos NI DAQ 6008


TUTORIAL

SOBRE LA TARJETA DE ADQUISICIÓN DE DATOS. ................................................................................................ 3


Software de la tarjeta ...................................................................................................................................... 3
SOBRE LA TARJETA DE SENSORES........................................................................................................................ 3
PRÁCTICA 1: Medida de velocidad de un motor con encoder. ........................................................................... 3
Adquisición de la señal de salida del encoder ................................................................................................. 4
Procesamiento de la señal adquirida en LabVIEW ........................................................................................ 10
Medición de la frecuencia ......................................................................................................................... 11
Registro de datos en Excel......................................................................................................................... 11
El programa completo en LabVIEW ............................................................................................................... 13
Problemas de detectar el sentido de giro ..................................................................................................... 14
Algunos consejos para diseñar un VI ............................................................................................................. 15
PRÁCTICA 2: Sensado de temperatura con termocupla tipo K ......................................................................... 16
Adecuación de la señal con el integrado AD594 ........................................................................................... 17
Código generado por el DAQ Assistant ......................................................................................................... 18
PRÁCTICA 3: Sensado de distancias por ultra sonido ........................................................................................ 20
Sobre el sensor srf04 ..................................................................................................................................... 20
Desarrollo en LabVIEW .................................................................................................................................. 21
Generación del pulso de excitación: ......................................................................................................... 21
Para medir el ancho de pulso de vuelta .................................................................................................... 25
Programa completo ................................................................................................................................... 27
Registro de Datos desde el DAQ assistant..................................................................................................... 28
PRÁCTICA 4: Sensado de corriente con sensores de efecto Hall ...................................................................... 29
Corriente directa ........................................................................................................................................... 29
Corriente alterna ........................................................................................................................................... 31
PRÁCTICA 5: Medición de Peso con celda de carga .......................................................................................... 33
PRÁCTICA 6: Sensado de presión ...................................................................................................................... 35
PRÁCTICA 7: Medición de humedad relativa .................................................................................................... 36
PRÁCTICA 8: Medidas de posición con acelerómetro ....................................................................................... 37
Crear un objeto 3D ........................................................................................................................................ 38
Adquirir las señales del acelerómetro ........................................................................................................... 39
Dibujar las rotaciones del acelerómetro ....................................................................................................... 41
Proceso de calibración................................................................................................................................... 41
Programa en LabVIEW ................................................................................................................................... 42

Como práctica de ACONDICIONAMIENTO DE SEÑALES, se pide realizar el acondicionamiento para el


sensado de las diferentes variables físicas trabajadas a lo largo del curso. Se tiene la oportunidad de
trabajar con la tarjeta de adquisición de datos NI6008 para alcanzar este fin, se presenta este trabajo
como informe final del trabajo realizado para las diferentes variables usando los transductores
adecuados para cada variable, la tarjeta de adquisición de datos y el software LabView.

SOBRE LA TARJETA DE ADQUISICIÓN DE DATOS.


La tarjeta de adquisición NI USB-6008 tiene 8 entradas análogas (10 v), dos salidas análogas (5 V), 12
canales digitales entrada/salida y su convertidor interno tiene una resolución de 12 bits a una tasa de
muestreo de 10KHz.

Software de la tarjeta

Para la adquisición de datos la NI6008 incluye el software NI DAQmx 9.1.7 el cual se integra a LabVIEW
2009 o versiones superiores.

Tanto LabVIEW como la NI6008 son propiedad de National Instruments, permitiendo compatibilidad
inmediata entre el software y hardware a utilizar.

SOBRE LA TARJETA DE SENSORES


Un transductor es un dispositivo que transforma un tipo de variable física (por
ejemplo, fuerza, presión, temperatura, velocidad, etc.) en otro.

Un sensor es un transductor que se utiliza para medir una variable física de interés.

Para el sensado, medición y registro de las diferentes variables Físicas vistas en el curso, se dispone de la
tarjeta de acondicionamiento de señales, propiedad de la Universidad de Antioquia, en ésta están los
sensores y la electrónica necesaria para su acople. Con sólo conectar la tarjeta a 18 V -0V o +/-18 se
tendrá a la salida la información recolectada por el sensor en términos de otra variable (Voltaje, un
pulso rectangular).

PRÁCTICA 1: Medida de velocidad de un motor con encoder.


Un encoder se trata de un disco con agujeros unido al eje de un motor, que gracias a un enlace óptico
proporciona un tren de pulsos con frecuencia proporcional a la velocidad del motor.

Los motores Yaskawa disponibles en el laboratorio de Control de la Universidad de Antioquia, tienen un


encoder incluído con 140 huecos y una alimentación de hasta aproximadamente 30 V.

Adquisición de la señal de salida del encoder

Con una simple señal digital no se puede medir el periodo directamente, sólo se podrá leer el estado de
las líneas digitales. Se necesitaría un contador para poder leer directamente el tiempo entre flancos del
tren de pulsos. La 6008 tiene un contador pero no permite ese tipo de operación, sólo permite hacer
contaje de flancos

Se sugiere entonces entrar el tren de pulsos a la salida del encoder en una entrada analógica y usar una
de las funciones de análisis de LabVIEW para calcular la frecuencia de la señal por software.

Hay ciertos factores que son importantes para saber si se podrá medir la frecuencia por software como el
ancho de los pulsos que envía, así como cuál es la frecuencia máxima que entregará el encoder. Por software
lo más rápido que se puede hacer el loop es de 1ms y ahí está el límite de frecuencia que se va a medir (con
los contadores se logran mediciones más altas).

Al no tenerse certeza del buen estado del encoder de los motores, se tomará el pulso entregado por
este como una entrada análoga.

La ni 6008 como se mencionó anteriormente tiene entradas análogas y digitales, la variable a adquirir
será una señal análoga de voltaje

PROCEDIMIENTO EN LABVIEW:

Para la adquisición de la señal del encoder se usará el DAQ ASSISTANT, herramienta de National
Instruments compatible con LabVIEW para la adquisición de datos a través de la tarjeta. Este bloque
hace parte de el Signal Express, permite configurar fácilmente qué tipo de señal se va a recibir con la
tarjeta, el número de muestras a tomar y la frecuencia de éstas, en general, recibir la señal de la manera
cómo se desee.

Se debe conectar la tarjeta al computador con el cable USB que ésta incluye, si no se conecta el LabVIEW
no reconocerá qué tarjeta se tiene y aparecerá el mensaje “no suported devices found”.

Primero crea un nuevo proyecto en labview .vi. En la ventana de diagrama de bloques, con botón
derecho aparecen las diferentes paletas de labview, entre ellas está “Acquire signals”, se usará el
mencionado DAQ Assistant. Presione click en acquire signals y luego DAQ Assistant..
Alternativamente, aunque no se tenga instalado el signal express, se puede buscar el bloque daq
assistant en el bloque Express

Aparecerá la ventana inicial del DAQ ASSISTANT, allí debe seleccionar si quiere adquirir o generar una
señal y qué tipo de señal (Acquire Signals, Analog Input, Voltage).
Posteriormente aparecerá una ventana donde se debe seleccionar los pines por los que entrará la señal
que se va a medir. En este punto es necesario enfatizar en que la tarjeta debe estar conectada, pues los
pines que se dan a elegir son los de la tarjeta que el programa detecte conectada en ese momento al
computador.

Así aparecerá cuando no haya una tarjeta conectada:

Así aparecerá cuando el LabVIEW detecte que la 6008 está conectada:


Para escoger cuál de las entradas usar, se debe tener en cuenta la distribución de pines de la tarjeta:

Existen entradas comunes y diferenciales, el uso de éstas dependerá de la señal a adquirir. De los
puertos que se den a escoger “Supported Physical Channels” seleccione alguno que coincida con sus
necesidades segun el tipo de puerto y de click en Finish. Si quiere seleccionar 2 o más canales puede
hacerlo manteniendo presionada la tecla shift.

En la sección podremos verificar qué pines de la tarjeta está usando nuestro DAQ
ASSISTANT y cómo debemos conectar la tarjeta con lo que se va a medir.
El DAQ assistant incluye un cuadro de ayudas, si éste no aparece abierto por defecto, seleccione la
opción Show Help en la esquina superior derecha de la ventana para mostrarla.

En la sección se podrán configurar las diferentes características de cada una de las


señales a adquirir o generar, es decir las “características del canal”:

En la parte superior está una cuadrícula que le permite visualizar la señal que se adquiere en tiempo
real, este indicador es útil para observar la señal, sin embargo el manejo de ésta y los cálculos
necesarios para adecuarla deben hacerse desde el entorno de diagrama de bloques de LabVIEW , como
se explicará más adelante.
En esta sección podrá cambiar el nombre de la señal, al dar click derecho
sobre ésta, y escoger la opción rename o presionando F2 cuando se tenga
seleccionado determinado canal.

También se podrá agregar otros canales (entrada o salidas) presionando el


más (+) azul o eliminarlos seleccionando de la lista el canal que desea
eliminar y dando click en la equis (X) roja.

Si se expande la ventana, se podrá ver cómo están relacionados cada uno de los canales con los puertos
del dispositivo.

Signal Input Range: Se debe seleccionar un rango adecuado para la señal que se va a adquirir.

Terminal Configuration:
Differential: La configuración en modo diferencial, mide la diferencia
entre la entrada positiva y la negativa y provee un buen rechazo a
voltajes de modo común y al ruido.
RSE—Medición que se hace respecto a tierra.
Let NI-DAQ Choose—NI-DAQ decide que configuración usar en base
a los canales físicos que se escogieron

Custom Scaling: Permite crear nuevas escalas o usar las existentes.

Acquisition mode: se configura el tipo de muestreo a realizar. Dependiendo de el modo de adquisición


escogido se deshabilitarán algunas de las opciones de temporización.

1 sample: adquisición de 1 punto. Para señales continuas ya que se pierde la forma de onda
Adquisición en muestras continuas (Continous samples) significa que se adquieren N muestras (las que
se especifican en “samples to read”) a la frecuencia que se especifique en “simple rate” y al colocar un
ciclo while éstas se tomarán una y otra vez mientras se esté corriendo la aplicación. La única diferencia
entre el modo de assquisicion Continous y N samples es el ciclo while, si no se adiciona, solo se adquirirá
el número de muestras que se especifique en el DAQ.

Samples to Read y Rate: Se selecciona el numero de muestras a tomar y la frecuencia a la que se


tomarán, la FRECUENCIA MÁXIMA QUE PODRÁ LEER LA TARJETA, SERÁ MAYOR ENTRE MÁS ALTA SEA
LA FRECUENCIA A LA QUE SE TOMAN LOS DATOS.

Procesamiento de la señal adquirida en LabVIEW

Con la configuración establecida anteriormente, se tiene un bloque de LabVIEW cuya señal de salida es
la señal que continuamente está enviando el encoder. Como se seleccionó una adquisición continua, al
dar OK después de configurar el DAQ assistant, aparecerá un mensaje indicando que para que ese modo
pueda funcionar correctamente, el bloque debe estar dentro de un ciclo While y se pregunta si se quiere
crear el ciclo automáticamente, a lo cual se debe decir SÍ.

Tendremos entonces un ciclo while con el bloque DAQ assistant tomando continuamente los valores de
voltaje presentes en los pines que hemos seleccionado.

Para visualizar la señal que está recibiendo la tarjeta, se debe posicionar el cursor sobre la sección
“data” en el cuadro del DAQ Assistant. Y seleccionar la opción crear indicador gráfico.
Para cambiar el tipo de indicador, debe tenerse en cuenta que la tarjeta genera un tipo de datos
“Dynamic data” y los indicadores que se conecten a éste deben estar dentro de un “Array shell”, el
procedimiento para esto se aclara en el siguiente enlace:
http://attila.sdsu.edu/me205/modules/1labview/05arrays/2tutorial.html

Medición de la frecuencia

La velocidad a la que gira el motor, es función de la frecuencia del tren de pulsos que se adquiere con el
Daq Assistant. Así, como se mencionó anteriormente se buscó un bloque que calculara la frecuencia de
determinada señal que le entrara.

Una idea para calcular la frecuencia sería un bloque Tone measurement pero la señal cuadrada no es
considerada un tono y el bloque no trabaja adecuadamente.

Se toma entonces de la paleta “Waveform Measurements” , el bloque “Extract Single Tone


Information”:

Toma una señal de entrada, encuentra la


frecuencia, amplitud o fase de ésta. La
señal de entrada puede ser real o
compleja, de un solo canal o de varios.

Se deben unir entonces los datos que salen del DAQ Assistant, al “time signal in” del bloque descrito
anteriormente.

Y éste bloque entregará una frecuencia EN HERTZ que varía según la velocidad a la que esté girando el
motor. Para convertir la frecuencia a una VELOCIDAD EN RPM se tiene en cuenta que el encoder de los
motores Yaskawa TIENE 140 HUECOS y se usa la siguiente fórmula:

𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎𝐻𝐸𝑅𝑇𝑍 × 60
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑅𝑃𝑀 =
140

Se añade la fórmula y un indicador en el que se podrá observar la velocidad del motor.

Registro de datos en Excel

En la paleta “Output Express VIs” se encontrará el bloque “Write to Measurement File”.


Éste bloque escribe los datos que le entran en archivos .lvm o .tdm - .tdms.

Para registrar los datos de nuestra medición se selecciona que sean grabados en un archivo .TDM, la
ubicación, nombre del archivo, como se muestra a continuación:

El archivo .tdm se podrá visualizar como un archivo de EXCEL, pero para esto
se necesita instalar el complemento para Microsoft Excel “TDM Excel add in”

Para descargarlo: http://zone.ni.com/devzone/cda/epd/p/id/2944


Para instalarlo http://zone.ni.com/devzone/cda/tut/p/id/5885
Después de esto para abrir el archivo simplemente se selecciona “Excel Importer” de los programas que
sugiere el sistema al dar doble click.

El libro de Excel contará con varias hojas de trabajo, en cada una de ellas está guardada la información
de cada muestreo realizado por la tarjeta. En la primera hoja se muestra el número de adquisiciones
realizadas así como la fecha hora intervalo y número de muestras por cada una. En las hojas posteriores
aparece cada adquisición, el número de muestras que aparece en cada hoja depende del número de
muestras definidas por adquisición.

El programa completo en LabVIEW


Problemas de detectar el sentido de giro

Para detectar el sentido de giro del motor se debe muestrear las dos señales de la salida del encoder,
habrá un desfase entre la primera y la segunda. El sentido de giro es uno u otro si el desfase es positivo
o es negativo.

Lo primero entonces, sería agregar la entrada para la segunda señal del encoder como se hizo
anteriormente, pero si se hace esto, el NIDAQ mostrará el siguiente error:

Resulta que la tarjeta 6008 tiene un reloj interno de 10k por lo que, al ser dos canales a muestrear ya no
se puede hacer a 8k, se escoge lo máximo posible que es muestrear cada una de las señales a 5k. (10k en
total para los 2 canales).

Lo ideal para poder detectar o indicar el sentido de giro del motor comparando la señales análogas en
forma de cuadratura pero desfasadas es detectar los flancos de esta señal y determinar cuál de ellas se
genera primero.
Como no disponemos de detector de flancos se pensó en tomar la señal proveniente del DAQ y por
medio de bloques “Convert from Dynamic Data” separar las señales análogas que corresponden a las
fases del motor y compararlas con una referencia determinada con lo cual podremos determinar cuándo
una señal está en “1” o en “0” y luego de esto comparar una respecto a la otra para deducir hacia qué
lado está girando el motor

La tarjeta de adquisición de datos de National Instruments está limitada para la frecuencia de entradas
análogas por encima de los 10khz para un solo canal y distribuye esta frecuencia o resolución de entrada
en el número de entradas que deba detectar o escanear, en nuestra aplicación requerimos de configurar
dos canales de entrada que corresponden a ambos encoder del motor.

El motor cuenta con un encoger de 140 pulsos por revolución, los pulsos por segundo son
proporcionales a la velocidad del motor, pero aunque el motor se encuentre a baja velocidad, las
frecuencia de muestreo es superior a la frecuencia de lectura que es capaz de detectar la tarjeta por
tanto no fue posible detectar el sentido de giro. Para realizar una medición de éste tipo, se requeriría
una adquisición a una frecuencia mucho más alta.

Algunos consejos para diseñar un VI

 No se ponga a dos VIs de adquisición en el mismo loop.


 No se ponga VIs de lectura y escritura en un mismo loop.
 No utilice la estructura de eventos para la sincronización.
 No abra y cierre el archivo cada vez que escribe en él.
 No ponga la adquisición y la interfaz de usuario en un mismo loop.
PRÁCTICA 2: Sensado de temperatura con termocupla tipo K
Un termopar (también llamado termocupla) es un transductor formado por la unión de dos metales
distintos que produce un voltaje (efecto Seebeck), que es función de la diferencia de temperatura entre
uno de los extremos denominado "punto caliente" o unión caliente o de medida y el otro denominado
"punto frío" o unión fría o de referencia.

Para esta práctica se usa una termocupla tipo K del fabricante Omega.

Termocuplas tipo K (Cromo (Ni-Cr) Chromel / Aluminio (aleación de Ni -Al) Alumel): con una amplia
variedad de aplicaciones, disponible a bajo costo y en una variedad de sondas. Tienen un rango de
temperatura de -200º C a +1.372º C y una sensibilidad 41µV/° C aprox. Posee buena resistencia a la
oxidación.

Inicialmente, al ver los tipos de señal que puede recibir el DAQ Assistanrt, se podría pensar en
seleccionar como entrada la señal de temperatura, producida por una termocupla tipo K.

Sin embargo la señal que se recibe con éste tipo de configuración es inestable y lenta.

La USB-6008 tiene una resolución de 12-bit y un rango mínimo de +/-1 volt. La USB-6009 tiene 14-bit de
resolución con un mínimo de rango de +/- 1 volt. Esto da una resolución de 480 y 122 microvolts,
respectivamente. La respuesta estimada de los diferentes tipos de termopares puede obtenerse de la
tabla de termopares de NIST.

Los tipos más comunes de termopares tienen la siguiente respuesta:


Tipo K: 41 microVolts por grado Celsius
Tipo J: 56 microVolts por grado Celsius
Tipo T: 52 microVolts por grado Celsius

Por lo tanto la USB-6009 solo puede medir cambios de aproximadamente 2-3 grados Celsius
dependiendo del tipo de termopar que esté utilizando. La USB-6008 es peor (>9 grados Celsius de
resolución) y no debe utilizarse para medidas de termopares.

Una mejor alternativa para medida de termopares es la USB-9211, ya que está diseñada
específicamente para tomar medidas de termopares.

Adecuación de la señal con el integrado AD594

Ante la imposibilidad de la NI6008 de medir directamente la señal, se usa el amplificador AD594


diseñado para termocuplas y que además ofrece compensación de punta fría para una medida más
correcta. Así, se aumenta la pequeña diferencia de voltaje que entrega la termocupla a un voltaje que
pueda ser leído por la tarjeta.

𝜇𝑉⁄
La termocupla entrega un voltaje de 0.028 ℃

La salida del integrado, como lo indica su hoja de datos es 10 𝑚𝑉⁄℃

Así, sólo es cuestión de conectar la termocupla al integrado, conectar la salida del integrado a la 6008 y
programar en Labview un bloque DAQ Assistant para la adquisición de una señal de voltaje como se vio
anteriormente. Conocida la resolución del integrado, para convertir la señal recibida a voltaje
nuevamente, se divide por 0.01.

Se colocó un indicador para observar en tiempo real cómo cambia la temperatura a la que está expuesta
la termocupla y un bloque Write to measurement para llevar registro de éstas.
Código generado por el DAQ Assistant

Debe tenerse siempre presente que el DAQ Assistant es una herramienta mas no es propiamente un
bloque de LabVIEW con función única. Para visualizar el código como tal se debe dar botón derecho
sobre el bloque y seleccionar “generate code”, aparecerá una unión de múltiples bloques, para el caso
de ésta práctica sería este:
Por facilidad para el manejo de una nueva herramienta como lo son las tarjetas de adquisición de datos,
para la realización de estas prácticas se usa el DAQ Assistant, sin embargo, para una segunda etapa en el
conocimiento de los DAQ será bueno conocer más sobre estos bloques DAQmx, los cuales aparecen a
menudo en los proyectos de ayuda de LabVIEW y diferentes foros en los que se suele buscar ayuda.
PRÁCTICA 3: Sensado de distancias por ultra sonido
Sobre el sensor srf04

En esta práctica se usa el sensor SRF04, un sensor de distancias por ultrasonido capaz de detectar
objetos y calcular la distancia a la que estos se encuentran en un rango de 3 a 300 cm. Su uso consiste
en enviar el pulso de arranque y medir la anchura del pulso de retorno. De muy pequeño tamaño, SRF04
destaca por su bajo consumo, gran precisión y bajo costo.

Características técnicas:

Tensión 5V
Consumo 30 mA Tip. 50mA Max.
Frecuencia: 40 Khz.
Distancia Mínima: 3 cm.
Distancia Máxima: 300 cm.
Sensibilidad: Detecta un palo de escoba a 3 m.
Pulso de Disparo 10 uS min. TTL
Pulso de Eco: 100 uS - 18 mS
Retardo entre pulsos: 10 mS Mínimo
Pulso de Eco: 100 uS - 18 mS
Tamaño: 43 x 20 x 17 mm
Peso: 10 gr.

El sensor SRF04 funciona emitiendo impulsos de ultrasonidos inaudibles para el oído humano, los cuales
viajan a la velocidad del sonido hasta alcanzar un objeto, entonces el sonido es reflejado y captado de
nuevo por el receptor de ultrasonidos. Lo que hace el controlador incorporado es emitir una ráfaga de
impulsos ya continuación empieza a contar el tiempo que tarda en llegar el eco. Este tiempo se traduce
en un pulso de eco de anchura proporcional a la distancia a la que se encuentra el objeto.
Desde un punto de vista práctico, lo que hay que hacer es mandar una señal de arranque en el pin 3 del
SRF04 y después leer la anchura del impulso que nos proporciona en el pin 2. El pulso de disparo tiene
que tener una anchura mínima de 10 uS. Después leemos el pulso de salida de Eco y medimos su
longitud que es proporcional al eco recibido. En caso de que no se produzca ningún eco, porque no se
encuentra un objeto, el pulso de eco tiene una longitud aproximada de 36 ms. Hay que dejar un retardo
de 10 ms desde que se hace una lectura hasta que se realiza la siguiente, con el fin de que el circuito se
estabilice.
Desarrollo en LabVIEW

Generación del pulso de excitación:

Para utilizar el SRF04, se necesita antes que todo, generar un tren de pulsos que lo active, con esto
resultan algunos problemas:

La USB-6008 sólo tiene un contador de 12 bits cuya única funcionalidad es la de contar pulsos, no se
puede generarlos con esta tarjeta

Las líneas PFI son líneas digitales estáticas, es decir, no temporizadas. Esto es, si escribes en una de ellas
un 1 lógico ó 5 voltios, se va a quedar así indefinidamente hasta que escribas un 0 o reinicies el
ordenador. Lo que indica que la 6008 no puede generar directamente PWM.

Lo mejor que se puede hacer, es usar las salidas digitales para encender/apagar, y usar un vi
temporizador que controle los periodos de encendido/apagado. Note que en la 6008 las I/O digitales,
actúan con temporizador por software, entonces el tiempo puede no ser muy preciso.

Los niveles de voltaje manejados por la tarjeta de adquisición de datos son compatibles con lógica TTL,
por lo tanto con el SRF04, así:
Cero lógico: 0 V a +0.8 V
Uno lógico: +2 V a +5 V

Inicialmente se necesita crear un ciclo while (al igual que cuando se recibe una señal) que
permanentemente este controlando una salida digital la cual es configurada por medio del DAQ
Assistant y que en este caso corresponde a el canal físico digital P0.0.

Aunque solo estamos utilizando este pin para la salida, P0.0 hace parte de un puerto que va desde P0.0
hasta P0.7 para un total de 8 pines, por esta razón la información enviada a este puerto debe ser un
arreglo para que el modulo DAQ lo pueda interpretar.

Por tal motivo se hace necesario utilizar un Build Array que convierta la señal booleana en un vector que
contenga la línea de control para salida deseada.

Será la activación o desactivación de esta variable booleana la que me indique si la salida estará activa
(on) o desactivada (off). Como necesitamos crear la base de tiempo para generar los pulsos de acuerdo a
las especificaciones de funcionamiento del sensor y esto se hace en otra parte del programa, creamos
una variable local boolean que invocaremos desde otra estructura.
Para crear una variable local basta con poner el puntero del mouse sobre la variable original (ya sea un
control o indicador) y luego damos click derecho sobre esta. Esto e resulta muy apropiado porque ayuda
a minimizar la cantidad de “cables” ò líneas que van desde un subdiagrama a otro y se está al tanto del
estado de la variable de interés.

Una vez creada la variable local o las variables se pueden configurar para que sean leídas para conocer
su estado ò sean escritas para modificar su estado actual. Nótese que el borde de la grafica que
representa la variable es diferente según se esté leyendo o escribiendo en la variable. Cuando se lee el
borde es más grueso, oscuro y tiene una flecha a su izquierda, cuando se escribe es más delgado, tenue
y tiene una flecha a la derecha. Se configura haciendo click derecho sobre la variable local deseada.
En el DAQ Assistant, se escoge la opción de generar una salida digital:

En esta ventana de configuración se elige Line Output pues para nuestro caso solo requerimos una
salida para controlar el tiempo de excitación de transmisor de ultrasonido.
Para controlar los tiempos, se procede entonces a crear un ciclo while, donde se genere un pulso de
excitación según lo requerido por el sistema teniendo en cuenta los parámetros mencionados en la hoja
de datos del SRF04.

Dentro de este ciclo se utilizo un Flat sequence structure el cual tiene la propiedad de ejecutar uno o
más subdiagramas secuencialmente. Es esta propiedad la que aprovechamos para generar una señal de
excitación pues la secuencia no avanza a la siguiente en tanto no se haya terminado de ejecutar la
secuencia actual. Los cuadros de la secuencia se ejecutan de izquierda a derecha. Los datos salen de
cada cuadro cuando éste termina de ejecutarse, la entrada de un cuadro puede depender de la entrada
de otro.

Haciendo uso de un temporizador o retardo llamado en labview Wait until next ms multiple

Configurado en milisegundo activamos y desactivamos la función booleana por medio de dos variables
locales que serán las que directamente controlarán nuestra salida física para excitar el transmisor de
ultrasonido.

Básicamente el funcionamiento es activar la variable local bolean hasta que se cumpla el tiempo del
primer su diagrama y se ejecute el siguiente que tiene como función desactivar durante un determinado
tiempo la variable bolean.

Los bloques Wait until next ms multiple estarán definidos por un control, permitiendo al usuario
mediante la interfaz del programa generar un tren de pulsos del tiempo en alto y tiempo en bajo que
ingrese en los botones de la pantalla principal.
Debe tenerse claro que aunque teóricamente, el tiempo en alto del pulso de excitación debe ser del
orden de los uS, pero la limitación de temporización por software nos permite un mínimo de 1mS. Los
valores que se usaron para la práctica fueron entonces: 1mS como tiempo en alto y 50mS como tiempo
en bajo (14 mS más de lo requerido).

Para medir el ancho de pulso de vuelta

Se requiere medir el ancho del pulso (señal de eco) para lo cual se necesita un canal de entrada análogo
de la 6008 que será configurado a través de DAQ Assistant2 y será visualizado de manera grafica en el
panel frontal además se podrá modificar la cantidad de muestreos por medio de un control numérico
llamado number of samples.

En la paleta “Signal Analysis Express Vis” se encuentra el bloque “Timing and Transition Measurements
Express VI”, con el que se pueden hacer mediciones de tiempos y transiciones como: frecuencia, periodo
o ciclos de dureza, de una señal, usualmente un pulso.

Para interpretar los datos recibidos por medio de este bloque y traducirlos a distancia en cm que es la
finalidad de la práctica se requiere, en base a lo especificado en la hoja de datos del sensor, hacer un
tratamiento de la señal por medio de multiplicadores y divisores que nos dan una relación entre tiempo
de duración del pulso del eco y la distancia del objeto que genero esta señal de retorno.

𝐴𝑛𝑐ℎ𝑜 𝑑𝑒𝑙 𝑝𝑢𝑙𝑠𝑜 𝑒𝑛 𝜇𝑆


𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝑒𝑛 𝑀𝑒𝑡𝑟𝑜𝑠 =
58
Como en algunas ocasiones el numero de muestras es demasiado elevado el sistema presenta
variaciones e indica medidas erróneas para corregir esta eventualidad se tomaron varias muestras y se
promediaron por medio del siguiente sub diagrama.

El registro de datos en Excel se hace mediante el bloque Write to Measurement al igual que en las otras
prácticas.
Programa completo
Registro de Datos desde el DAQ assistant

El DAQ Assistant ofrece la posibilidad de registrar en un archivo los datos que éste adquiere en el
tiempo, aunque la medida NO es útil para éstos casos pues La variable de interés es el producto de la
manipulación mediante otros bloques de la señal adquirida por el DAQ Assistant, es bueno que se
conozca su funcionamiento pues es muy simple y podría ser útil en otras aplicaciones.

En la pestaña logging, habilite la casilla “Enable TDMS Logging” y seleccione la ruta donde desea guardar
el archivo. Haga clic en “OK”.
PRÁCTICA 4: Sensado de corriente con sensores de efecto Hall

Corriente directa

Para la práctica de corriente directa empleando la DAQ NI 6008 a partir de una fuente BK cerrando el
circuito con un reóstato y censando la corriente del circuito con el integrado ACS712T (el cual hace parte
de la tarjeta de adquisición de datos del laboratorio de control) buscamos obtener una medida de
corriente a voltaje la cual será censada mediante una de las entradas análogas de la DAQ 6008 las cuales
serán utilizadas junto con labview y un proceso denominado “sintonía fina” logramos obtener el valor
de la corriente que recorre el circuito.
La corriente sensada por el ACS712T me da una conversion por cada 1 A de corriente me entrega 190mv
Cabe notar que se debe tener especial precaucion con la corriente que aporta la fuente BK puesto que
su capacidad maxima son 3 Amperios.
La polarizacion de la tarjeta de acondicionamiento es entre -15 y +15v
Corriente alterna

Para la práctica de corriente Alterna empleando la DAQ NI 6008 tomando como fuente un variac
cerrando el circuito con un reóstato y censando la corriente del circuito con el integrado ACS712T (el
cual hace parte de la tarjeta de adquisición de datos del laboratorio de control) buscamos obtener una
medida de corriente a voltaje la cual será censada mediante una de las entradas análogas de la DAQ
6008 las cuales serán utilizadas junto con labview y un proceso denominado “sintonía fina” logramos
obtener el valor de la corriente que recorre el circuito.
La corriente sensada por el ACS712T me da una conversion por cada 1 A de corriente me entrega 190mv
La polarizacion de la tarjeta de acondicionamiento es entre -15 y +15v
Como manejamos una señal alterna para sensar el valor de corriente empleamos labview para sacar de
la señal el valor RMS
PRÁCTICA 5: Medición de Peso con celda de carga
Para esta práctica se usa una celda de carga FC22 que soporta pesos de 10 a 100 lbf y ofrece una salida
en mV proporcional al peso que se aplique sobre ésta.

Entonces se configura un bloque DAQ assistant, que reciba una señal de voltaje. La salida del bloque
DAQ Assistant, debe multiplicarse por algún factor y así se obtendrá el peso en Kg del elemento que esté
sobre la celda.

Cualquier sensor o transductor necesita estar calibrado para ser útil como dispositivos de medida. La
calibración es el procedimiento mediante el cual se establece la relación entre la variable medida y la
señal de salida convertida.

Para éste fin se usa una pesa de calibración de 2.0Kg, se debe tener en cuenta que ésta debe tener
especial manipulación ya que la grasa de las manos o dejarla en una posición no adecuada podría dañar
su medida.

Se pone entonces la pesa sobre la celda de carga y se va cambiando el valor del


factor de multiplicación hastaque el indicador muestre los 2Kg, que se sabe es el
peso de el patrón.
PRÁCTICA 6: Sensado de presión
Para esta práctica se usa un sensor MPX5100, éste se conecta a la 6008 y se configura un bloque DAQ
Assistant que adquiera una señal de voltaje y conocida la sensibilidad del sensor:

Sólo es cuestión de dividir ése voltaje por 0.045, poner un indicador y un bloque Write to measurement
que registre los valores en KPa de las presiones.

Para probar que esté funcionando correctamente, se coloca una manguera en el sensor y se sopla, así se
puede variar la presión que actúa sobre éste y comprobar su funcionamiento.
PRÁCTICA 7: Medición de humedad relativa
Se usa para la medición un sensor CHS- MSS, que mide la humedad relativa en un amplio rango del 5(%)
al 95(%).

La salida del sensor es una señal de voltaje proporcional a el porcentaje de humedad relativa detectado
1VDC para un 100(%) de humedad relativa. Ésta se conecta a la tarjeta 6008 y mediante un bloque DAQ
Assistant se recibe la señal de voltaje, se multiplica el voltaje obtenido por 100 para obtener el
porcentaje de humedad relativa en el ambiente.
PRÁCTICA 8: Medidas de posición con acelerómetro
Para esta práctica se usa un acelerómetro MMA7260QT del fabricante Freescale, el acelerómetro está
integrado en la tarjeta de sensores para acondicionamiento de señales (disponible en el laboratorio de
control).

El objetivo es entonces, graficar en el entorno de labview (3D) la posición en tiempo real de la tarjeta,
capturando y acondicionando las señales entregadas por el acelerómetro.

Aunque se seleccione la opción de acelerómetro en el DAQ, éste no va a funcionar, aparecerá el


mensaje " there is no support devices found ", lo que indica que la señal debe adquirirse de alguna otra
manera.

Así entonces, se tiene el acelerómetro de la tarjeta de sensores, que se alimenta con un voltaje de +18 V
/ GND, y detecta simplemente las rotaciones del dispositivo en los ejes X, Y, Z.
Las personas pueden creer por desconocimiento que el acelerómetro entrega un valor correspondiente
a la distancia en X, Y y Z pero si detectara la distancia a la que esta del suelo estaría detectando la
translación, y el valor por tanto sería diferente según qué persona lo cogiera (más alta más baja) o
incluso en qué lugar, por lo que no podrías ofrecerse el mismo resultado a todos los usuarios.

El acelerómetro no detecta aceleraciones (fuerzas) te da un vector que indica hacia donde está girando
la tarjeta.

Crear un objeto 3D

Para la realización de la práctica primero se debe crear el objeto 3D (en forma similar a la tarjeta) donde
se graficará el movimiento de la tarjeta según las señales que emita el acelerómetro.

Se toma de la paleta “Object VIs”, el bloque “Create Object VI”

Éste crea un objeto 3D, que se mostrará en un escenario 3D.

Éste debe conectarse a un bloque donde se pondrá forma y demás atributos al objeto

De la paleta “Application Control VIs and Functions” se toma el bloque “Invoke Node Function” que
invoca alguna acción sobre una referencia.

.
Al conectar como referencia el bloque “Create Object” inmediatamente el bloque invoke node se
convierte en un “SceneObject”
Para comenzar a agregar características a nuestro escenario 3D, en el menú que aparece al dar click
derecho en el bloque “Scene object”, se selecciona “Select Method” y después “Set drawable”.

Allí vamos a agregar el bloque que definirá la forma (una caja para nuestro caso) del objeto que
aparecerá en 3D.

De la paleta “Geometries Vis” se usará el bloque “Create Box VI”, allí mediante constantes se define las
dimensiones de la caja y la combinación RGB de colores para ésta (Roja por defecto).

De esta manera, conectando al bloque Scene object, se podrían agregar más características (Texturas,
luminosidad, cambios… al objeto).

Adquirir las señales del acelerómetro

Primero se reciben con el DAQ assistant las tres señales de voltaje provenientes del acelerómetro, no es
necesario configurar varios bloques, en el mismo bloque se configuran los 3 canales para adquirir
voltaje, a la frecuencia y niveles deseados.
Las señales de aceleración son comúnmente señales dinámicas por lo que en aplicaciones reales se
necesitaría frecuencias de reloj muy altas como 25 o 50 KHz… Aunque los 10KHz de la tarjeta sean algo
lentos para esta aplicación, el acelerómetro no va a someterse a movimiento constante o velocidades
extremadamente altas, lo que permite que se pueda hacer la adquisición con la 6008.

La configuración de los tiempos se hace teniendo en cuenta que el reloj de la tarjeta es de 10kHz, así
que la suma de las frecuencias a la que se adquieren cada una de las 3 señales no puede superar éste
valor.

Para manipular por separado las señales adquiridas por el bloque DAQ assistant, se utiliza un bloque que
divida las señales “Split signals” y en cada una de las señales bloques “Convert from Dynamic Data” que
permiten pasar del tipo de datos entregado por la tarjeta a arreglos que se acoplan fácilmente a los
demás bloques del LabVIEW.
Dibujar las rotaciones del acelerómetro

De la paleta de “Transformations VIs”, se toma el bloque (que en realidad es un VI incluido en las


herramientas de LabView):

Rotate Object VI

Éste se encarga de rotar el objeto en el escenario 3D según en EJE y el ÁNGULO DE ROTACIÓN que se le
indique. Éste VI hace una rotación relativa de la actual posición del objeto.

Como el objeto a mover es un cuadro 3D (de proporciones similares a la tarjeta), el objeto está
representado en 3 dimensiones y por lo tanto se requerirán tres de los cuadros anteriormente descritos.

Todos conectados a el mismo “scene object” ya que las rotaciones serán aplicadas al mismo objeto 3D
de referencia, en la entrada “Axis” cada cuadro tendrá la indicación del eje al cual corresponde su
rotación y en “Angle” tendrán el valor del ángulo de rotación del dispositivo (señales adquiridas
mediante el acelerómetro).

El cuadro 3D y sus rotaciones se mostrarán finalmente en un indicador “3D Picutre”.

Proceso de calibración

Después de probar puede verse que, aunque sí hay movimiento del cuadro dibujado según el de la
tarjeta, él movimiento no se ve reflejado en su totalidad. Con la ayuda de potenciómetros y sumadores,
se va adecuando en tiempo real, la posición de la tarjeta, encontrando los valores que para ese
acelerómetro permiten.
El proceso de calibración depende del acelerómetro que se use y la forma en que se reciban y procesen
las señales, así que, para cada aplicación, tocará calibrar nuevamente las señales que entrega el
acelerómetro según se necesite.

Programa en LabVIEW

Vous aimerez peut-être aussi