Académique Documents
Professionnel Documents
Culture Documents
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.
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).
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.
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 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.
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
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.
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 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
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”
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.
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.
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.
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.
𝜇𝑉⁄
La termocupla entrega un voltaje de 0.028 ℃
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
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).
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.
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.
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.
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.
É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).
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
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).
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