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.