Está en la página 1de 27

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

FACULTAD DE CIENCIAS E INGENIERÍA

INGENIERÍA MECATRÓNICA

2022 – 2

LABORATORIO DE SENSORES Y ACTUADORES

ADQUISICIÓN DE DATOS CON LABVIEW


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Contenido
1. Temporización ....................................................................................................................... 3
2. Retroalimentación de información ....................................................................................... 4
3. Arreglos ................................................................................................................................. 5
3.1. Funciones básicas para arreglos.................................................................................... 5
3.1.1. Initialize array ........................................................................................................ 6
3.1.2. Build array ............................................................................................................. 6
3.1.3. Index array............................................................................................................. 6
3.1.4. Array subset .......................................................................................................... 7
3.2. Auto-indexing ................................................................................................................ 7
4. Archivos ................................................................................................................................. 8
4.1. Write to measurement file / Read from measurement file .......................................... 8
4.2. Write to spreadsheet file/ Read from spreadsheet file ................................................ 9
5. Programación secuencial .................................................................................................... 10
5.1. Ejemplo de operaciones con archivos y programación secuencial ............................. 11
6. Adquisición de datos ........................................................................................................... 12
6.1. DAQ USB-6008............................................................................................................. 12
6.1.1. Conectando la DAQ USB – 6008 a la PC .............................................................. 12
6.1.2. NI MAX................................................................................................................. 13
6.1.3. En LabVIEW ......................................................................................................... 14
6.2. MyRIO 1900 ................................................................................................................. 17
6.2.1. Conectando el myRIO 1900 a la PC ..................................................................... 17
6.2.2. MyRIO I/O monitor.............................................................................................. 18
6.2.3. En LabVIEW myRIO .............................................................................................. 20
7. EXPERIENCIA PRÁCTICA....................................................................................................... 24
7.1. Experiencia 1 ............................................................................................................... 24
7.2. Experiencia 2 ............................................................................................................... 24
7.3. Experiencia 3 ............................................................................................................... 25

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 2


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

PROGRAMACIÓN EN LABVIEW, PARTE 2

OBJETIVOS
• Desarrollar programas en lenguaje gráfico para LabVIEW, utilizando intrucciones
avanzadas.
• Adquisición de señales utilizando la tarjeta de adquisición de datos DAQ USB-6008 de
National Instruments a través de NI MAX y LabVIEW
• Adquisición de señales utilizando el dispositivo embebido myRIO 1900 de National
Instruments a través de LabVIEW myRIO.

MATERIALES
• Tarjeta de adquisición de datos DAQ USB-6008
• Dispositivo embebido myRIO 1900
• Software LabVIEW 2019
• Software LabVIEW myRIO
• Software NI MAX

1. TEMPORIZACIÓN

El paso de una iteración a la siguiente es inmediato una vez que ha completado su ejecución.
En algunos casos es deseable poder controlar cada cuanto tiempo se va a ejecutar cada
iteración, por ejemplo, al muestrear una señal. Existen tres funciones para temporización de
lazos, ver Figura 2:

• Wait (ms): Esta función fuerza al lazo a esperar un tiempo determinado en


milisegundos antes de ejecutar la siguiente iteración. El tiempo de espera se empieza a
contar una vez que se ha ejecutado el código correspondiente a la iteración actual.
• Wait Until Next ms Multiple: A diferencia de la función anterior, en este caso el tiempo
de espera incluye el tiempo de ejecución del código.
• Time Delay Express VI: Cumple la misma función que Wait (ms) pero incorpora
funciones para manejo de errores.

Figura 1. Funciones de temporización

Otra función muy utilizada es la Elapsed Time Express VI, la cual entrega el tiempo transcurrido
y cuenta también con una salida booleana que indica si ya transcurrió un tiempo especificado.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 3


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

2. RETROALIMENTACIÓN DE INFORMACIÓN

Para poder acceder a valores generados en iteraciones previas de un lazo se utilizan Shift
Registers. Para crearlos dar click derecho en el lazo y seleccionar Add Shift Register. Ver Figura
2.

Figura 2.Shift Register

Una vez que se cablean las terminales del Shift Register, automáticamente se reconocerá el
tipo de dato utilizado. La primera vez que se ejecuta el programa se tomará como valor inicial
el valor por defecto dependiendo del tipo de dato, si se ejecuta nuevamente el programa se
tomará como valor inicial el valor almacenado en el Shift Register. Si se desea resetear el Shift
Register para que cada vez que se ejecute el programa se borre lo almacenado en la ejecución
anterior se debe inicializar el shift register cableando una constante a la terminal de entrada.
Ver Figura 23.

Figura 3. Shift Register inicializado (arriba) y sin inicializar (abajo).

NOTA: Valores por defecto para inicializar:

• Numeric: 0
• String: Empty
• Boolean: False

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 4


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

3. ARREGLOS

Los arreglos son una colección de datos de un mismo tipo, pueden ser de una dimensión
(vector) o n-dimensiones (matriz). El índice para la identificación de los elementos de un
arreglo empieza en cero. Tener en cuenta que no se puede crear un arreglo de arreglos.

Los arreglos pueden inicializarse, lo cual determinará el número de elementos en cada


dimensión del arreglo. Si no es inicializado solo se conocerá el número de dimensiones del
arreglo, pero no tendrá elementos. Ver Figura 4. Para crear un arreglo desde el panel frontal,
arrastrar un arreglo desde la paleta de controles (Controls Palette) y luego arrastrar a su
interior un control o indicador del tipo de dato deseado para el arreglo.

Figura 4. Arreglo de dos dimensiones. Izq. Sin inicializar, Der. Inicializado.

3.1. FUNCIONES BÁSICAS PARA ARREGLOS

Al seleccionar la opción Array en la paleta de funciones (Functions Palette) desde el diagrama


de bloques se tiene acceso a las funciones para trabajar con arreglos (ver Figura 5). A
continuación, se explica el funcionamiento de las principales funciones. Utilice la ayuda de
Labview para conocer el funcionamiento de las demás funciones.

Figura 5. Funciones para trabajar con arreglos.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 5


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

3.1.1. INITIALIZE ARRAY

Figura 6. Initialize array

Esta función crea un arreglo de ‘n’-dimensiones, donde todos los elementos son inicializados
con el valor cableado a la entrada element.

3.1.2. BUILD ARRAY

Figura 7. Build Array

Esta función agrega o adiciona los elementos de entrada a un arreglo de ‘n’-dimensiones.


Puede también concatenar arreglos.

3.1.3. INDEX ARRAY

Figura 8. Index Array

Esta función retorna un elemento a un sub arreglo del arreglo de entrada en el índice indicado.
La Figura 9 muestra el funcionamiento de esta función.

Figura 9. Ejemplo de función Index Array

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 6


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

3.1.4. ARRAY SUBSET

Figura 10. Array Subset

Esta función retorna una porción del arreglo de entrada empezando en el índice (index) y con
la longitud especificada por el parámetro length.

3.2. AUTO-INDEXING
Es una característica que permite procesar todos los elementos de un arreglo durante la
ejecución de un lazo, uno a la vez. Los túneles, ya sean de entrada o salida, deben ser
configurados para habilitar el auto-indexing. Se explicará el funcionamiento con algunos
ejemplos:

Figura 11. Ejemplo auto-indexing

En el ejemplo de la Figura 11 se puede apreciar que se tiene un lazo For al cual no se le ha


especificado el número de veces que se debe ejecutar (no se ha cableado la terminal de
conteo). En vez de eso se ha cableado un arreglo como entrada al lazo y se ha configurado el
túnel en modo auto-indexing, de igual manera se tiene un arreglo de salida con la misma
configuración. El auto-indexing permite que sea el arreglo de entrada el que determine el
número de iteraciones que tendrá el lazo, por ejemplo, si el arreglo tiene 5 elementos
entonces el lazo se ejecutará 5 veces. En cada iteración se pasará como entrada el elemento
del arreglo correspondiente y se irá acumulando el resultado de las operaciones en el arreglo
de salida. Recordar que debido al flujo de datos la salida Array2 no estará disponible hasta que
culmine la ejecución del lazo. Implemente el ejemplo para observar su funcionamiento.

El ejemplo de la Figura 12 permite comprender mejor los conceptos vistos hasta el momento.
Impleméntelo y analice su funcionamiento.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 7


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Figura 12. Ejemplo general – lazos

4. ARCHIVOS

Las operaciones con archivos se llevan a cabo en cuatro etapas:


• Abrir/Crear archivo
• Leer/escribir archivo
• Cerrar archivo
• Verificar errores

LabVIEW pone a disposición dos tipos de funciones para manejo de archivos: Funciones de alto
nivel y funciones de bajo nivel. Estas funciones se encuentran en la paleta de funciones, en el
grupo File I/O. Ver Figura 14. Las funciones de alto nivel ejecutan las tres primeras etapas de
las operaciones con archivos, lo cual simplifica mucho la programación; sin embargo,
demandan mayores recursos computacionales, sobre todo cuando se colocan dentro de lazos
como while o for. En este laboratorio se explorará solo el funcionamiento de las funciones de
alto nivel, debido al poco tiempo disponible. Primero se presentan los express VI Write To
Measurement File y Read From Measurement File.

4.1. WRITE TO MEASUREMENT FILE / READ FROM MEASUREMENT FILE

Figura 13. Write To Measurement File, Read From Measurement File

La función Write To Measurement File permite escribir data en un archivo basado en texto
(.lvm), formato binario (.tdm o .tdms) o formato Excel (.xlsx).

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 8


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Adicionalmente permite configurar distintos parámetros como el nombre y ubicación del


archivo, qué acción tomar en caso el archivo especificado ya exista, los encabezados, la
columna del valor en el eje X y el delimitador. La función Read From Measurement File lee
información de un archivo de medición basado en texto o un archivo de medición binario. Al
igual que la función anterior permite también configurar distintos parámetros para la lectura
del archivo.

Figura 14. Funciones para operaciones con archivos

4.2. WRITE TO SPREADSHEET FILE/ READ FROM SPREADSHEET FILE

Figura 15. Write To Spreadsheet File/ Read From Spreadsheet File

La función Write To Spreadsheet File convierte un arreglo de una o dos dimensiones de strings,
enteros con signo, o números de doble precisión a texto (string) y lo escribe a un nuevo
archivo o lo adiciona a uno existente. La función Read From Spreadsheet File lee un número
específico de líneas o filas de un archivo de texto numérico y convierte la información en un
arreglo de números de doble precisión, strings o enteros.

Antes de ver un ejemplo de utilización de las funciones para operaciones con archivos se dará
una breve introducción al concepto de programación secuencial.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 9


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

5. PROGRAMACIÓN SECUENCIAL

Como se mencionó anteriormente LabVIEW ejecuta los bloques de código considerando el


flujo de datos: un nodo solamente ejecuta su función cuando los datos necesarios están
disponibles en todos sus terminales de entrada. Al terminar su ejecución, el nodo enviará los
datos procesados a todos los terminales de salida conectados. Esta característica puede ser
utilizada para forzar el orden de ejecución de ciertos bloques, por ejemplo, utilizando las
entradas y salidas de error de los Express VI. Sin embargo, si por ejemplo dos funciones no
tienen ninguna dependencia una con otra en sus entradas entonces no se podrá determinar
qué función se ejecutará primero o si se ejecutarán en simultáneo. La Figura 16 muestra un
caso en el cual se ha empleado la señal de error de tal forma que la función Simulate Signal 2
se ejecute después de la función Simulate Signal, de no existir esta conexión no se podría
determinar cuál de los dos funciones se ejecuta primero.

Figura 16. Orden de ejecución determinado por la señal de error.

Otra alternativa para garantizar la secuencia de ejecución del código es el uso de la estructura
de secuencia (Flat Sequence Structure), la cual consiste en subdiagramas que se ejecutarán de
forma secuencial, de izquierda a derecha. Cada subdiagrama se ejecutará solo cuando toda la
información de sus entradas esté disponible y una vez finalizada su ejecución la información de
salida estará disponible para el siguiente subdiagrama, ver Figura 17. Algunas desventajas de
esta estructura es que no permite operaciones en paralelo, no se puede detener la ejecución
de la estructura y no fuerzan el chequeo de errores, es decir incluso si se detecta un error
continuará la secuencia.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 10


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Figura 17. Estructura de secuencia.

5.1. EJEMPLO DE OPERACIONES CON ARCHIVOS Y PROGRAMACIÓN SECUENCIAL

Figura 18. Ejemplo de Archivos y Programa Secuencial

El ejemplo de la Figura 18 muestra el funcionamiento de las funciones para operaciones con


archivos, así como el uso de la estructura de secuencia. El objetivo de este VI es generar una
onda tipo coseno con una frecuencia igual a 0.05π rad/s. Se deben generar 100 puntos cada
10ms cada uno. Se desea verificar adicionalmente cuánto tarda el procesador en generar
dichos puntos. Posteriormente se desea guardar los datos generados en un archivo de texto;
para ello se utilizan dos métodos: Write To Spreadsheet File y Write to Measurement File. Para
el primer caso se utiliza la función File Dialog para especificar la ruta del archivo. Una vez que
se han generado los archivos estos deberán ser leídos por el VI para mostrar la información.
¿Por qué se utiliza una estructura de secuencia en este caso? Se utiliza con dos propósitos:
medir el tiempo transcurrido para la generación de los puntos de la onda coseno y para
garantizar que no se intente leer la data antes que esta haya sido guardada.

Implemente el VI y analice su funcionamiento.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 11


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

6. ADQUISICIÓN DE DATOS

6.1. DAQ USB-6008

La tarjeta de adquisición de datos de National Instruments DAQ USB-6008 (Ver Figura 19) ha sido diseñada para su
uso académico en laboratorios. Las características técnicas de esta DAQ son presentadas en el

Tabla 1:

Figura 19. DAQ USB-6008

Tabla 1 Datos de la DAQ USB-6008

Entradas Analógicas 8 (12 bits, 10KS/s)


salidas analógicas 2 (12 bits a 150 S/s)
E/S Digitales 12 (TTL/CMOS)
Contador 32 bits, 5MHz
Voltaje de Salida 0-5 VDC
Intensidad de Corriente 5 mA
Software LabVIEW

Al ser una tarjeta de bajo costo posee un multiplexor que ayuda a compartir el amplificador y
el ADC con todos los canales, lo que reduce la velocidad de muestreo en caso se utilicen más
de un canal en simultáneo. Por lo tanto, la máxima frecuencia de adquisición es 10KHz entre el
número de canales ocupados. Por ejemplo, si se utilizan 4 canales, la velocidad resultante será
de 2.5 KHz.

6.1.1. CONECTANDO LA DAQ USB – 6008 A LA PC

Configuración y Pruebas: La DAQ puede ser configurada y probada utilizando el NI MAX que se
instala con el NI-DAQmx Driver Software. Para realizar pruebas de funcionamiento o realizar
mediciones rápidas.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 12


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

6.1.2. NI MAX

El NI MAX provee acceso a los productos de National Instruments, para el laboratorio servirá
como una forma de interfaz con la DAQ-USB-6008. A través de este programa se puede revisar
el estado de la DAQ, generar y adquirir señales, crear tareas de medición o generación, etc. Las
señales se pueden adquirir o generar a través del panel de pruebas (Test Panel), o creando
tareas específicas, en las que se pueden grabar configuraciones deseadas, agregar distintos
canales, etc.

Panel de pruebas:

Para acceder al panel de pruebas siga la siguiente ruta dentro del NI MAX: My system ->
Devices and Interfaces -> NI USB-6008 y luego seleccione “Test Panel” de la barra de
herramientas. Aparecerá una ventana como se muestra en la Figura 20.

Figura 20. Vista del Panel de pruebas

En este panel, se pueden manejar las entradas/salidas analógicas y digitales, así como el uso
de los contadores de entrada/salida de la DAQ. Puede encontrar mayor información sobre la
configuración de los canales en la sección 6.1.3 En LabVIEW.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 13


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Tareas:

En la misma ruta en la que aparece la opción “Test Panel”, se encuentra la herramienta


“Create Task” (Ver Figura 21). A través de esta opción también se pueden configurar las
entradas y salidas para alguna tarea predeterminada, la ventaja de las tareas es que permite
guardar la configuración realizada para poder usarla en mediciones futuras.

Figura 21. Barra de herramientas del Measurement and Automation Explorer

6.1.3. EN LABVIEW

En LabVIEW, la forma más simple de utilizar entradas o salidas es empleando los VI DAQ
Assistant.

ADQUISICIÓN DE SEÑALES

Cuando se inserta en el diagrama de bloques el DAQ Assistant (Functions -> Inputs -> DAQ
Assistant), aparecerá el bloque de la Figura 22:

Figura 22. DAQ Assistant– Adquiere señales

En esta ventana podrá seleccionar si se desea adquirir o generar señales. Por ejemplo, para
adquirir voltaje, seleccionar Acquire Signals → Analog Input → Voltage y luego se presiona
Next. Como se aprecia en la Figura 23.

Figura 23. Adquirir voltaje

En la siguiente ventana podrá seleccionar cuál de las entradas analógicas va a utilizar (Ver
Figura 24). Por ejemplo, se selecciona el canal 0: ai0 (Analog Input channel 0).

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 14


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Figura 24. Selección de canal de adquisición

En la siguiente ventana (Figura 25) se pueden modificar las opciones de tiempo Timing
Settings:

• “1 Sample (On Demand)” para que la tarjeta capture una muestra cada vez que se
repita el bucle en el que se encuentra el bloque
• “1 Sample (Hardware)” para que la temporización la realice la misma DAQ
• “N Samples” para configurar el número de muestras y la frecuencia con la que se van a
actualizar los valores cada vez que se entre al bucle
• “Continuous Samples” para generar una lectura constate a determinada frecuencia y
número de muestras a leer en cada iteración.

En TERMINAL CONFIGURATION puede elegir RSE (para mediciones respecto a tierra) y


“Differential” para mediciones diferenciales (entre dos entradas analógicas). Además, puede
variar el rango de las señales de entrada. Por ejemplo: una señal común es de 0-5 VDC
respecto a tierra y el tiempo de muestreo lo determinará el bucle.

Figura 25. Configuración de canal de adquisición

Para mostrar la lectura en un gráfico, se puede crear el siguiente programa en el diagrama de


bloques con ayuda de los VI “Wait Until Next ms Multiple” (Programming-> Timming) y el
indicador “Waveform Graph”. Como se puede ver en la Figura 26.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 15


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Figura 26. Programa para adquisición de datos

GENERACIÓN DE SEÑALES

Utilizando el DAQ Assistant también se puede generar una salida analógica. En este caso se
selecciona Generate Signals → Analog Output →Voltage y posteriormente se selecciona el
puerto de salida, por ejemplo, ao0 (Analog Output 0). Como en la Figura 27.

Figura 27. Configuración para salidas analógicas

Luego se configura la salida analógica, escogiendo los máximos y mínimos de voltaje (Ver
Figura 28.a) y luego realizamos la programación para la generación de señales analógicas (Ver
Figura 28.b)

Figura 28. (a) Configuración de la salida analógica. (b) Diagrama de bloques del programa para generar señales

NOTA: COMPLEMENTAR CON ANEXO2_DAQ ASSISTANT

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 16


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

6.2. MYRIO 1900

El dispositivo de National Instruments myRIO 1900 (Ver

Figura 29) es un sistema embebido para estudiantes utilizado para el diseño de sistemas de
mecatrónicos, robóticos y de control. Las características técnicas de este embebido son
presentadas en el

Tabla 2:

Figura 29. myRIO 1900

Tabla 2 Datos del myRIO 1900

Entradas Analógicas 10 (12 bits, 500KS/s)


Salidas analógicas 6 (12 bits a 345 kS/s)
E/S Digitales 40 (LVTTL)
Contador 16 bits, 533 MHz
5 VDC
Voltaje de Salida 3.3 VDC
±15 VDC
100 mA
Intensidad de Corriente 150 mA
32 mA
Software LabVIEW myRIO

Al tratarse de un dispositivo embebido, cuenta con tecnología de E/S reconfigurables (RIO)


estándar en la industria, habilidades inalámbricas, un procesador ARM en tiempo real dual-
core y un FPGA Xilinx personalizado.

6.2.1. CONECTANDO EL MYRIO 1900 A LA PC

Configuración y Pruebas: El myRIO puede ser probada utilizando el I/O Monitor el cual se
puede ejecutar al iniciar al conectar el dispositivo a la PC por cable USB, permitiendo verificar
de manera rápida el funcionamiento de las entradas y salidas de dispositivo. Para la

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 17


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

configuración de las salidas y entradas del dispositivo se requiere hacer uso del software
LabVIEW myRIO, mediante el cual es posible definir diferentes tareas y operaciones.

6.2.2. MYRIO I/O MONITOR

El I/O monitor es una herramienta para verificar el correcto estado de funcionamiento de las
entradas y salidas del dispositivo myRIO 1900. A través de este programa se pueden generar y
leer señales analógicas y digitales, así como también probar el uso de la comunicación I2C, SPI
y UART. Para el uso de esta herramienta es necesario seleccionar entre uno de los tres puertos
de conexión que cuenta el dispositivo myRIO, por lo que en la Figura 30 se muestra la
nomenclatura de los conectores disponibles. Para fines del laboratorio solo se trabajará con
el conector C.

Figura 30. Barra de herramientas del Measurement and Automation Explorer

Para acceder al panel de pruebas primero se debe seleccionar la tarjeta que se encuentra
conectada a la PC e inmediatamente se abrirá la interfaz de pruebas (ver Figura 31). En la parte
superior de la interfaz se pueden seleccionar las opciones de pruebas disponibles: AIO (Analog
Input/Output), DIO (Digital Input/Output), I2C, SPI, UART, PWM/ENC (Pulse-Width
Modulation/Encoder). Dentro de cada opción, uno debe seleccionar los pines de salida que se
desea probar de acuerdo al conector con el que se desea trabajar. Por ejemplo, en la Figura 31
se muestra la interfaz de prueba las salidas analógicas del conector C.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 18


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Figura 31. Vista del Panel de pruebas

NOTA: Es importante notar que el conector C del dispositivo myRIO cuenta con entradas
analógicas definidas del tipo diferencial. Por esta razón, a diferencial de la DAQ, si uno desea
realizar mediciones con respecto a tierra debe conectar el pin negativo (-) a la tierra
analógica y de esta manera funcionaría como una medición del tipo RSE.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 19


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

6.2.3. EN LABVIEW MYRIO

A diferencia del LabVIEW convencional, el LabVIEW myRIO cuenta con funciones desarrolladas
específicamente para la configuración del dispositivo myRIO. Para poder acceder a estas
funciones, es necesario crear un proyecto del tipo “myRIO Project” antes de crear un nuevo VI.

Al crear un nuevo proyecto myRIO, se selecciona el dispositivo conectado a la PC y al finalizar


el proceso aparece la interfaz que se muestra en la Figura 32. En esta interfaz se debe
seleccionar el dispositivo myRIO dar clic derecho y crear un nuevo VI.

Figura 32. DAQ Assistant– Adquiere señales

En la ventana Block Diagram del VI creado se podrá encontrar una carpeta con funciones
específicas para la configuración del myRIO tales como: Analog Input, Analog Output, Digital
Input, Digital Output, Button, Led, Accelerometer, PWM, Encoder, etc.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 20


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

ADQUISICIÓN DE SEÑALES

La función utilizada para adquirir señales analógicas es Analog Input, se muestra en la Figura
33.

Figura 33. Adquirir voltaje con myRIO

Al ingresar esta función es necesario definir los pines del dispositivo que se utilizarán para la
adquisición de señales mediante el asistente que se observa en la Figura 34. En esta ventana
se debe seleccionar el canal que se usará para la lectura de datos (hay canales para cada
conector del dispositivo) y es posible asignar un nombre a cada canal agregado con el fin de
tener una mejor identificación. La nomenclatura de los canales es por ejemplo C/AI0
(Conector/ Analog Input channel 0).

Figura 34. Selección de canal de adquisición

Asimismo, este asistente de configuración ofrece otras dos pestañas con las opciones “View
Code” y “Connection Diagram”. La segunda pestaña, “View Code”, muestra el código en un
nivel de programación de lenguaje bajo y más complejo, que es simplificado a través de esta
función. La tercera pestaña, ”Connection Diagram”, muestra los pines que pueden ser
utilizados como salidas analógicas para cada uno de los tres conectores del dispositivo.

En la Figura 35 se muestran los pines correspondientes a las salidas analógicas del conector C.
En esta imagen es posible observar que el conector C solo cuenta con salidas analógicas del
tipo diferencial, tal como se explicó anteriormente, por lo que al momento de realizar las
conexiones físicas del dispositivo se debe conectar el pin negativo (AI0-) con la tierra analógica
(AGND).

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 21


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

Figura 35. Configuración de canal de adquisición

Para mostrar la lectura en un gráfico se puede crear el siguiente programa en el diagrama de


bloques con ayuda de los VI “Wait Until Next ms Multiple” (Programming-> Timming) y el
indicador “Waveform Chart”. Como se puede ver en la Figura 36:

Figura 36. Programa para adquisición de datos usando LabVIEW myRIO

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 22


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

GENERACIÓN DE SEÑALES

El software también permite la generación de señales analógicas mediante el dispositivo


myRIO. Para esto se cuenta con una función denominada “Analog Output”, ver Figura 37.a,
ubicada en la carpeta de funciones del dispositivo. Al ingresar la función se debe completar la
configuración de los pines de salidas analógicas usando la ventana del asistente que se
muestra en la Figura 37.b. Al igual que en la adquisición de señales se debe seleccionar el pin
que se desea utilizar teniendo en cuenta que existen pines para cada conector del dispositivo
myRIO.

(a) (b)

Figura 37. (a) Generar voltaje con myRIO, (b) Configuración para salidas analógicas

De igual manera que en la adquisición de señales, se puede desarrollar un programa para


controlar el valor de voltaje de la señal generada utilizando los bloques mostrados en la Figura
38.

Figura 38. Diagrama de bloques del programa para generar señales usando LabVIEW myRIO

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 23


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

7. EXPERIENCIA PRÁCTICA

7.1. EXPERIENCIA 1

Generar un VI que permita observar una señal en el dominio del tiempo y en la frecuencia a
través de la Transformada Rápida de Fourier (FFT). Se van a tener 3 señales sinusoidales
sumadas, de las que se puede variar la frecuencia y amplitud. Además, cuenta con dos gráficos
para mostrar las señales en el tiempo y en frecuencia. El panel frontal debe ser similar al de la
Figura 39.

Figura 39. Panel Frontal para experiencia 2

Consideraciones: Configurar los generadores de señal para tener 10k muestras por segundo, y
ver resultados cada 5k muestras, de esta forma la ventana de tiempo será de 0.5s. Ajustar las
gráficas para tener una imagen igual a la de la Figura 39.

7.2. EXPERIENCIA 2

Se va a realizar el proceso de generación y adquisición de señales a través del dispositivo


myRIO 1900 utilizando el programa LabVIEW myRIO y realizan do las conexiones necesarias en
el módulo del dispositivo. Para esto se utilizará el myRIO en lazo cerrado, es decir generará
señales por un canal y adquirirá la señal generada por otro.

Usando LabVIEW myRIO:

Realizar un VI en LabVIEW myRIO para generar una señal sinusoidal por el canal C/AO0 con las
siguientes características:

• Amplitud: Definida por un control (Knob)


• Offset: 5V

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 24


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

• Frecuencia: 10.1 Hz

Utilizar el simulador de señales para generar la onda senoidal y configure la salida analógica
C/AO0 a través de la función del myRIO.

También, se debe utilizar una función myRIO para leer la señal analógica a través del puerto
C/AI0, la cual debe ser mostrada en un Waveform Chart.

Aparte de configurar el simulador para generar y leer la señal requerida, se debe agregar una
estructura tipo While para ejecutar el programa de manera indefinida.

Al trabajar con el dispositivo myRIO, se debe tener en cuenta que la frecuencia de muestreo
será igual a la velocidad de ejecución del lazo While, por esta razón para la experiencia se
agrega un bloque Wait Until Next ms Multiple de 10 ms con la finalidad que se ejecute la
lectura de datos 100 veces por segundo. Así, se tendría una frecuencia de muestreo de 100 S/s
o 100 Hz.

Figura 40. Experiencia 3

7.3. EXPERIENCIA 3
Se desea simular el proceso de adquisición de datos de una señal proporcionada por un sensor
y almacenar la información adquirida en un archivo de texto, el cual posteriormente deberá
ser leído para analizar la información. Por tal motivo, la señal del sensor será representada por
una señal senoidal simulada a través de un simulador de señales (Simulate Signal) y se enviará
por el puesto de la salida analógica de la DAQ. Luego, la señal deberá ser adquirida usando una
entrada analógica de la DAQ.

Debido a que las señales adquiridas por sensores regularmente cuentan con ruido ambiental,
se desea filtrar la señal y grabar un archivo de la señal original y de la señal filtrada.
Posteriormente, se pide leer la data almacenada en los dos archivos y mostrarla en dos
gráficos diferentes. Además, se pide mostrar en un tercer gráfico solo la señal del ruido (señal
original – señal filtrada).

El proceso descrito se debe realizar utilizando una estructura secuencial, para lo cual deben
tomar como referencia el esquema presentado en la Figura 41.

La señal sinusoidal generada debe tener las siguientes características:

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 25


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

• Amplitud: 1V
• Offset: 2.5V
• Frecuencia: 10 Hz
• Ruido Blanco Gausiano (Desviación estándar: 0.25)
• Muestras por segundo: 1000 (simulate acquisition timing)
• Numero de muestras: 1

Utilizar el bloque Write to Measument File para almacenar la data. Los gráficos resultantes se
presentan en la Figura 42.

Figura 41. Esquema de funcionamiento - Experiencia 4

(a) (b) (c)

Figura 42. (a) Señal original, (b) Señal filtrada, (c) Señal del ruido

Para el desarrollo de la experiencia 3, se recomienda, usar bucles While en paralelo y variables


locales para generar y leer la señal de forma simultánea.

Variables locales

Puede detener múltiples bucles While paralelos con un botón de stop pasando el valor del
botón de stop booleano desde el control de su primer bucle a todos los otros bucles utilizando

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 26


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ INGENIERÍA MECATRÓNICA

una variable local para cada bucle adicional. La siguiente figura demuestra la detención de dos
bucles While paralelos mediante una variable local.

‘stop
control’

Variable local
‘stop control’

Figura 43. Ejemplo de variables locales stop en Whiles paralelos

El bucle superior contiene un stop control. Configure la acción mecánica del stop control
haciendo clic con el botón derecho en el stop control en el front panel y seleccionando
Mechanical Action » Switch When Pressed. Esto permite que todos los bucles lean el
booleano de stop, mientras que el pestillo cuando se presiona se restablecerá a verdadero
cuando se lea el valor, dejando algunos bucles aún en ejecución.

Los dos bucles inferiores contienen una variable local del stop control. La variable local se crea
haciendo clic con el botón derecho en el stop control y seleccionando Create » Local Variable.
Configure la variable local para leer el valor haciendo clic con el botón derecho en la variable
local y seleccionando Change to Read.

MTR216 LABORATORIO DE SENSORES Y ACTUADORES SEMESTRE 2022-2 27

También podría gustarte