MANUAL DE OPERACION DE TARJETAS DE ADQUISICION DE DATOS
Este documento describe la operación de los siguientes
dispositivos de conversión
analógico digital:
1) NI PCI-6014
2) NI PCI-6221
3) NI USB-6009
Los dos primeros son tarjetas PCI que se insertan en una bahía
disponible en la placa madre de una computadora de escritorio. Las señales
analógicas o digitales de entrada y/o salida se envían a la tarjeta a través de
un bloque conector, que esta unido a dicho dispositivo por medio un cable
plano. Por otra parte, el dispositivo NI USB-6009 es un equipo externo que se
conecta a la computadora a través de un puerto USB, ya sea versión 1.1 (12 Mbs)
o 2.0 (480 Mbs). En todos los casos las
señales de entrada o salida se envían por cable coaxial para reducir los ruido
provenientes del medio Las conexiones son, por lo mismo, de tipo BNC.
Las características de cada una de las tarjetas son:
1)
NI
PCI-6014
8 entradas analógicas diferenciales
2 salidas analógicas
8 entradas/salidas digitales
Tasa máxima de muestreo: 200,000 datos/segundo
Resolución de 16 bits
Intervalo de operación [-10V,10V]
Inicio de toma de datos por canal
PFI
2)
NI
PCI-6221
8 entradas analógicas diferenciales
2 salidas analógicas
24 entradas/salidas digitales
Tasa máxima de muestreo: 250,000 datos/segundo
Resolución: 16 bits
Intervalo de operación [-10V,10V]
Inicio de toma de datos por canal
PFI
3)
NI
USB-6009
4 entradas analógicas diferenciales
2 salidas analógicas
8 entradas/salidas digitales
Tasa máxima de muestreo: 48,000
datos/segundo
Resolución: 14 bits
Intervalos de operación: [-10V,10V]
Inicio de toma de datos por canal
PFI
En las siguientes imágenes se muestran los gabinetes donde
se coloca el bloque conector de la tarjeta y en cuyo exterior se han puesto los
conectores BNC para enviar datos o para recuperar las señales generadas. Para
el caso de la tarjeta NI USB-6009, el propio equipo se encuentra dentro del
gabinete.
Figura
1: Gabinete donde se ha colocado el
bloque conector de las tarjetas NI PCI-6014 y NI PCI-6221. Del lado izquierdo
se han colocado los conectores para
cuatro entradas analógicas diferenciales, la entrada para sincronizar el inicio
de la toma de datos por el envió de un pulso, una salida de 5 volts y dos
salidas analógicas.
Figura 2.- Gabinete donde se ha colocado
el dispositivo NI USB-6009. En el frente hay conectores para cuatro entradas
analógicas, uno para iniciar la toma de datos mediante el envío de un pulso
digital y dos salidas analógicas. En la parte posterior se tienen cuatro
conectores para entradas/salidas digitales y dos salidas, una de 5 volts y la
otra de 2.5 volts.
Todas las tarjetas se han probado en el sistema operativo
Linux, sin embargo pueden funcionar también en ambiente Windows si se dispone
de un compilador C que cumpla con la norma ANSI. También es posible ponerlas en
funcionamiento con el paquete LabView, del cual se tendrá una licencia en un
futuro cercano.
Para la realización de un experimento el primer paso es
verificar que la computadora está encendida y que el del gabinete de conexiones
está conectado. Hay que revisar que los módulos
asociados al funcionamiento de la tarjeta se han cargado correctamente. Estos
son:
-
nikal
-
nipalk
-
NiViPcik
(para tarjetas PCI)
Esto se puede hacer abriendo una terminal y escribiendo el
siguiente comando
lsmod
En la pantalla se muestra entonces un listado de los módulos
cargados en Linux y ahí deben aparecer los 2 (o 3) que se indicaron previamente. En el
caso de que no aparezcan, hay que cargarlos manualmente, lo que se puede hacer
si se escribe desde la línea de comandos la instrucción:
a) Tarjetas PCI
modprobe NiViPciK
b) Dispositivo NI USB-6009
modprobe nipalk
Se debe tener cuidado de escribir la instrucción respetando
el uso de mayúsculas y minúsculas.
Hecho esto, hay que verificar que la computadora ha
reconocido los dispositivos de adquisición de datos, para lo cual se debe
ejecutar desde una terminal la instrucción:
lsdaq
como respuesta se muestran las tarjetas que se han detectado
y se les asigna un número de dispositivo (dev0, dev1, etc).
Estamos ya en posibilidad de usar la tarjeta. Se sugiere
usar una aplicación grafica que proporciona el fabricante para ver las señales
que se envían al dispositivo. Esta se ha
desarrollado a partir del paquete LabView y se ejecuta escribiendo la siguiente
instrucción desde una terminal:
nidatalogger
Entonces aparece una ventana, en cuya sección izquierda se
ubican cuadros se selección o ingreso de datos de las siguientes parámetros:
-
canal (physical channel)
-
tipo de medida (acquisition type)
-
tipo de termopar (termocouple type)
-
configuración de canal de entrada (input terminal configuration)
-
muestras por canal (simples per channel)
-
tasa de muestreo (sample rate)
Supóngase que se quieren tomar datos de voltaje a través del
primer canal del dispositivo. Si solo se tiene conectada una tarjeta, esta
corresponde a dev0 y el numero de canal es ai0. Estos valores son los que se
deben seleccionar en el cuadro de canal.
El tipo de medida es voltaje (voltage). Se debe de ignorar
el tipo de termopar pues no se aplica en este caso. La configuración de canal
de entrada se deja en default (se puede elegir también el valor
diferencial). En cuanto a la tasa de
muestreo esto depende de la señal que se está registrando, pero nunca se debe superar
el valor máximo que soporta el dispositivo. Este es el siguiente para cada
dispositivo:
i)
Tarjeta
NI PCI-6014 : 200,000 datos/segundo
ii)
Tarjeta
NI PCI-6221: 250,000 datos/segundo
iii)
Tarjeta
NI USB-6009: 48,000 datos/segundo
Se sugiere usar como número de muestras por canal un valor próximo
a la tasa de muestreo. Para poder
observar la señal hay que presionar el botón izquierdo del ratón sobre el icono
de flecha que aparece en el extremo superior izquierdo de la ventana. Entonces
en la sección derecha de la ventana se muestra una grafica de la señal, misma
que se actualiza a intervalos regulares. De hecho, la aplicación nidatalogger
funciona como un osciloscopio. Para detener el muestreo de la señal hay que
presionar el botón izquierdo del ratón sobre el hexágono rojo que se encuentra
al lado de la flecha que se menciono previamente.
Las señales que se ingresan a la tarjeta deben ser voltajes,
estas deben cumplir con las siguientes características:
a)
magnitud
máxima: 10 volts (positivas o negativas)
b)
frecuencia
máxima presente en la señal: 50% de la tasa máxima de muestreo de la tarjeta,
es decir, 100 Khz para las tarjetas NI PCI-6014, 125 KHz para la tarjeta NI
PCI-6221 y 24 Khz para las tarjetas NI USB-6009. Esto se pide para satisfacer
el teorema de Nyquist.
En caso de señales de milivolts hay que aplicar una
amplificación previa a su ingreso a la tarjeta. Esto se requiere para poder
registrar correctamente las fluctuaciones de la señal.
Por ejemplo, si la tarjeta tiene una resolución de 14 bits y
trabaja en el intervalo de
[-10V, 10V], las variaciones que se pueden registrar en la
tarjeta son
= 1.22 x 10-3 volts= 1.22 mV
En caso de enviar señales mayores en valor absoluto a los 10
volts hay dos problemas que pueden ocurrir, el primero es un registro
incorrecto, el segundo, que es más grave es que una sobrecarga puede quemar la
tarjeta o dañar a la mismo computadora. Por esta razón nunca se debe conectar a
la tarjeta señales mayores en valor absoluto a los 15 volts.
Los valores máximos de voltaje se pueden observar con
facilidad en un osciloscopio, por lo que antes de realizar un experimento se
deben de hacer pruebas con uno de ellos.
Vamos a ilustrar el procedimiento de medición con un
ejemplo: Se quiere medir la fuerza que ejerce una corriente de aire sobre un
objeto. Se ha optado por utilizar como detector a un captor piezoleléctrico que
se muestra en la siguiente figura:
Figura 3.- celda de tensión-compresión. Se trata de un
dispositivo piezoeléctrico que convierte valores de fuerza en voltajes.
Este captor de fuerza puede detectar fluctuaciones de esta
cantidad física con frecuencias de hasta 200 Hz, lo que debe tomarse en cuenta
al elegir la tasa de muestreo. Por otra parte, las señales de salida que
produce son de milivolts.
Para poner a trabajar a este captor, se le debe de alimentar
con una fuente de corriente continua de 5 volts. Esto se puede hacer utilizando
una batería o una fuente de poder de corriente continua.
Tanto la alimentación del captor, como la salida de la señal
deben de enviarse por cable coaxial para eliminar ruidos del medio (el sector
eléctrico y aparatos cercanos). Para ello se ha usado un pequeño gabinete que
aparece a la izquierda de la figura, en donde se han montado dos conectores
BNC.
El paso siguiente es amplificar la señal para que las
fluctuaciones de fuerza puedan ser detectadas más fácilmente. En nuestro caso
utilizamos un preamplificador de bajo nivel de ruido, que puede agrandar la
señal hasta por un factor 50,000. Este aparato también puede restarle a la
señal un valor constante (offset) y filtrarla. Se eligió una ganancia 200 y una
frecuencia de filtrado de 100 Hz. Esto nos da una señal de unos cuantos volts y en donde se han
eliminado a través del filtrado los ruidos provenientes de fuentes externas
(excepto la tensión eléctrica, cuya frecuencia es de 60 Hz).
El registro de datos en la computadora se hace conectando la
señal de salida del preamplificador a un canal de la tarjeta de adquisición. El
paso siguiente es la ejecución de un programa para la captura de datos. Este se
ubica en el directorio
/usr/local/natinst/nidaqmxbase/examples/ai
y lleva el nombre de muestreo. Se trata de un programa
escrito en c. Se puede ejecutar
desde una terminal. Antes de realizar la adquisición de datos
el programa solicita introducir varios parámetros, a saber:
-
numero
total de muestras
-
tasa
de muestreo
-
nombre
del archivo donde se guardan los datos
Luego de ingresar esta información se abre el canal
correspondiente, se toman los datos y se guardan en un archivo. Es posible
guardar los datos como texto o en formato binario, pero el programa muestreo
los graba en un archivo de texto de dos columnas.
Con los datos almacenados es posible realizar un análisis de
ellos, por ejemplo, calcular la transformada de Fourier, la media, la
desviación estándar, graficarlos, obtener un histograma, etc. Se sugiere usar
para el tratamiento de datos el paquete
scilab, que es de distribución gratuita.
GENERACION DE SEÑALES, SINCRONIZACION Y MUESTREO POR VARIOS
CANALES.
Otra de las funciones que pueden realizar las tarjetas es la
generación de señales analógicas. En este caso el programa que realiza la tarea
se encuentra en:
/usr/local/natinst/nidaqmxbase/examples/ao
y lleva el nombre de múltiples (el programa fuente es
multiples.c). Se trata de un programa que genera una señal senoidal del tipo:
V(t)=2.5 + 2.0 sin(wt)
La señal se puede observar si se conecta la primera salida
analógica a un osciloscopio. En esta caso se sugiere usar la tarjeta NI
PCI-6221, que es la que cuenta con la frecuencia de señales de salida más alta.
Sin embargo la función de generación de señales analógicas está presente en
todas las tarjetas.
Una función importante es la sincronización de dos
instrumentos, que también se puede hacer con las tarjetas. Para ello se dispone
de la generación de pulsos digitales o del canal PFI que sirve para iniciar la
toma de datos mediante el envío de un pulso externo.
En este caso vamos a ilustrar una medición hecha cuando un
generador de funciones produce una señal que se envía a una bocina.
Del generador de funciones se envía el pulso a la bocina y
al canal PFI de la tarjeta de adquisición de forma simultánea. Al recibirse la
señal se dispara el inicio de la adquisición y se toman datos. Para esto se
tiene un programa ubicado en:
/usr/local/natinst/nidaqmxbase/examples/ai
y lleva el nombre loadAITask.
También es posible tomar datos por varios canales. Esto se
hizo en el caso de un experimento para medir la velocidad del sonido en el
aire. Se requiere registrar la señal proveniente de dos micrófonos ubicados en
posiciones diferentes. El tiempo de retardo permite calcular la velocidad a
partir de la formula distancia/tiempo. El programa de muestreo simultaneo se
llama: muestreoNcanales.
RESULTADOS:
Presentamos aquí los datos obtenidos en mediciones hechas en
varios experimentos.
a)
Medición
de la velocidad del sonido
Se capturan datos provenientes de
dos micrófonos. Las señales se han amplificado y se ha aplicado un filtro
pasa-bajos a 2 Khz. La tasa de muestreo es de 5 datos/segundo. La grafica de
las señales es la siguiente:
Figura 4.- Registro de datos provenientes de 2 micrófonos.
La tarjeta de adquisición de datos hace un muestreo a razón de 5000
datos/segundo por dos canales. La señal de arriba ha sido desplazada para poder
diferenciarla de la otra. Se ha graficado voltaje vs número de dato.
b)
Fuerza
de una corriente de aire sobre una placa cuadrada de 5cm x 5cm.
Se capturan datos tomados con una
celda de tensión-compresión a una tasa de muestreo de 200 datos/segundo. La
señal se amplifica previamente.
Figura 5.- Registro de fuerza de una corriente de
aire sobre una placa. Aquí se muestra el valor de voltaje registrado durante 2
segundos. El voltaje es proporcional a la fuerza.
c)
Descarga
de un capacitor en un circuito RC.
Se ha tomado un circuito con C=220 mR y una
resistencia R=1000n W. Por lo tanto el producto RC=0.22
segundos. Se ha elegido una tasa de muestreo de 1000 datos/segundo. En la
grafica se muestra voltaje de la resistencia en función del tiempo:
Figura
6.- Grafica de voltaje de la resistencia
vs tiempo en la descarga de un circuito RC. La curva representa (excepto
por el segmento constante) una exponencial decreciente.
d)
Registro
de voz con un micrófono.
En este experimento se puso a una
persona a pronunciar una vocal frente a un micrófono. La tasa de muestreo fue
de 5,000 datos/segundo. Se ha usado un amplificador antes de enviar la señal al
convertidor a/d.
Figura
7.- Registro de la voz de una persona que se le puso a pronunciar
sostenidamente la letra e.
La
intensidad varia en el tiempo, pero la frecuencia se mantiene constante.
e)
Medición
de velocidad con una sonda de hilo caliente.
En el experimento se sincroniza la
emisión de un anillo (dona) de vorticidad con la toma de datos. Se hace un
promedio sobre 10 anillos. La frecuencia de muestreo es de 1000
datos/segundo. Se muestra la velocidad
en función del tiempo cuando la sonda que registra la velocidad se encuentra a
12 cm. del orificio donde se genera el vortice.
Figura 8.- Grafica de velocidad vs
tiempo. Medida tomada con una sonda de hilo caliente.