Ejemplos en Labview

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Iv

Views 92 Downloads 1 File size 572KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • wibfu
Citation preview

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez 

Leg: 30137/07

Año: 2012

Introducción

LABVIEW (L aboratory Virtual Instruments Engineering Workbench) es un sistema de desarrollo basado en programación grafica. Está orientado a desarrollar aplicaciones para instrumentación que integra una serie de librerías para comunicación con instrumentos electrónicos como GPIB, RS232 o RS485 con tarjetas de adquisición de datos, sistemas de adquisición y acondicionamiento; comunicaciones en redes TCP/IP, etcétera. Los programas realizados en LabView se llaman instrumentos virtuales (Vls) ya que tienen la apariencia de los instrumentos reales, sin embargo, poseen analogías con funciones provenientes de leguajes de programación convencionales. 

Ejercicios para aprender el manejo este entorno de programación

Los ejercicios a continuación son los realizados en las clases que tienen como fin utilizar algunos controles y funciones del programa, los cuales darán el impulso a aquellos estudiantes que deseen profundizar en esta herramienta tan completa.

CALCULOS ARITMETICOS Para familiarizarnos comenzamos haciendo cálculos aritméticos con funciones obtenidas de Programming>Numeric. Se trata de un programa que debemos ingresar un control numérico con el valor de radio y el programa nos devolverá en dos indicadores el área y volumen para ese radio. El diagrama de Bloques:

Panel Frontal:

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

ESTRUCTURA FOR Repite el subdiagrama un número definido de veces. 100 es el número de veces que se ejecutara el subdiagrama. Iteraciones indica la cantidad de veces que se ha ejecutado el subdiagrama. El generador aleatorio genera valores entre 0 y 1, lo multiplicamos por 40 para poder observar mejor en el indicador tipo chart. Diagrama de Bloques:

Panel Frontal:

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

ESTRUCTURA FORMULA NODE Es una caja donde se alojan formulas matemáticas y lógicas para su evaluación. Las entradas se colocan en el lado izquierdo por lo tanto en el lado derecho se ubican los resultados de las ecuaciones. Proponemos otra forma de realizar el cálculo de área y volumen de una esfera. Diagrama de Bloques:

Panel Frontal:

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

CLUSTERS Es una colección ordenada de variables que pueden ser de distintos tipos (enteros, char,etc.). Para crear un control o indicador del tipo cluster debemos ubicar en la paleta de controles el submenú: Array&Cluster>>Cluster Aparecerá una caja donde introduciremos los controles o indicadores a utilizar. En nuestro ejemplo fijamos dentro de el 3 controles de texto, un control numérico, un botón y una llave. El panel frontal de nuestro cluster se ve entonces así:

Los cluster poseen un único terminal en el diagrama de bloques. En la figura siguiente es un cuadro con pequeños rectángulos en su interior. Para manipular estos clusters existen funciones que las ubicamos en el mismo lugar de donde tomamos el cluster, las que utilizamos fueron Unbundle y Bundle. El Unbundle permite separar las variables del cluster para poder utilizarlas de forma independiente dentro del mismo diagrama. Mostramos entonces la ventana diagrama de bloques de LabView donde se puede observar como a partir del segundo bloque siguiendo la línea de flujo de labview que es de izquierda a derecha, es posible separar las variables y crear en cada una de ellas un indicador.

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

El panel frontal para este diagrama de bloques se muestra a continuación. A la derecha de la caja cluster aparecen los indicadores creados luego de separar las variables con Unbundle.

El Bundle realiza la tarea contraria, es decir, crea un cluster a partir de varios componentes independientes. También se utiliza para reemplazar componentes de un cluster ya existentes. La siguiente imagen a continuación es del panel frontal donde muestra los elementos independientes (numeric, array, real matrix) que a través de la función Bundle se convierten en un cluster que en el grafico se llama output cluster .

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

El diagrama de bloques correspondiente a este panel frontal es:

El elemento del medio es el bloque Bundle. COMUNICACIÓN SERIAL RS232 Para que un instrumento virtual utilice el puerto serie es necesario la manipulación de las librerías llamadas NI-VISA. La paleta de control se la ubica en Instruments I/O > Serial. Aparecen varias funciones de las cuales utilizamos :

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

Visa configure serial port: configura el puerto serie con todos los parámetros ( velocidad, protocolo, paridad, etc.). Visa Write: escribe datos desde el pin write buffer hasta el otro dispositivo. Visa Read: es el contrario del anterior, hay que indicarle el numero de bytes que leerá del buffer en el pin byte count. Visa open/close: abre y cierra una sesión Visa respectivamente. Se propuso realizar una comunicación entre LabView y un pic. Se dividió en 2 partes, en la primera se pretende escribir un valor entre 0 y 255 en LabView y enviarlo al microcontrolador donde este mostrara dicho resultado en unos leds conectados al puerto B. La segunda parte requiere del proceso opuesto, enviar datos del pic a la pc. Se debe tomar una señal de un sensor de temperatura, convertir esa señal en digital y enviar a labview para mostrar en una grafica de tipo chart que tendrá como ordenadas el valor de temperatura en C y como abscisas tiempo en segundos. Como sensores se utilizaron un LM35 y un sensor de una placa de desarrollo de la marca MCelectronics. El diagrama de bloques es el siguiente:

El panel frontal posee estos elementos:

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

VISA resource name detecta los puertos abiertos para que manualmente seleccionemos a cual puerto vamos a conectarnos. Puerto B es el valor que mostrara el pic en su puerto B, para ello seleccionamos aquí el numero a mostrar deseado. Numeric y Write buffer no se modifican ya que su función es darle el tipo de variable a convertir al elemento Type cast . Debemos implementar este elemento ya que la recepción y envío de datos seriales se hace con datos del tipo string, entonces el elemento que convierte enteros de 8 bits a string y viceversa es el type cast. Y en la pantalla del indicador tipo chart muestra la evolución de la temperatura en función del tiempo. Con esto concluye la primer parte de la materia. La etapa que sigue está basada en el manejo de la plataforma robótica LEGO MINDSTORMs a través de LabView. LEGO NXT MINDSTORMS posee:       

3 motores 1 sensor de luz 1 sensor ultrasónico 1 sensor táctil 1 sensor de sonido 1 bloque programable Piezas para ensamblar y formar el robot

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

El bloque programable utiliza los sensores conectados para que el robot ¨vea¨ el ambiente y pueda actuar sobre él con los motores. Solo hay que hacer volar la imaginación para crear herramientas, vehículos y hasta humanoides. En primer lugar comenzamos con ejemplos simples para manipular los sensores. En el ejemplo siguiente se conecto un sensor ultrasónico para medir la distancia entre el sensor y un obstáculo, luego el resultado de esa medición se plasmo en el display que tiene incorporado el bloque programable. Diagrama de bloques:

Sonar es el bloque del sensor ultrasónico, el cual entrega la distancia del objeto en centímetros, para mostrar ese valor en la pantalla debemos convertirlo en variable de tipo string, es por eso que se agrega el segundo bloque y recién nos dirigimos al bloque de la pantalla. A la pantalla debemos asignarle la línea en la que se escribirá el dato. Todo esto se hace indefinidamente por la estructura while hasta que se presione el botón stop. De manera similar se hicieron prácticas para los otros tipos de sensores. Ya que comprendimos el funcionamiento de los sensores pasamos a utilizar en un mismo programa sensores y actuadores. Se propuso armar una especie de autito utilizando solo dos motores (2 ruedas), las cuales tenían que girar hasta que el sensor detecte un objeto a 40 cm. Presentamos el diagrama de bloques.

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

Año: 2012

Como sabemos la estructura CASE pose 2 subdiagramas (true y false), dependiendo de que su entrada sea verdadera o falsa se ejecutara solo una de ellas. De acuerdo a esto pusimos un comparador que dará verdadero cuando la distancia sea mayor a 40, en ese momento como se ve en la imagen el motor permanecerá excitado a una potencia del 75%. En el momento que la distancia al objeto sea menor a 40 cm el resultado de la comparación será falso, en ese momento el motor se detiene (brake). Por último se hizo un programa el cual el carrito debía recorrer una distancia que le especificábamos manualmente a través de ¨Dist ida¨, luego frenaba para girar un ángulo de 90 hacia la derecha. El bloque MotorDistance requiere que se le introduzca un ángulo, por ejemplo si se le ingresa un ángulo 360, hará que las ruedas giren una vuelta completa y se detendrá. Para convertir ese desplazamiento angular en lineal se usa una regla de 3 simples y ese valor obtenido se envía a dicho bloque. Se hizo una secuencia, la primera realiza el movimiento lineal del coche hasta la distancia especificada. Se detiene, pues eso le impone la segunda secuencia y por último la tercera utiliza el bloque SteeringOn que es el encargado de girar el coche. Este bloque necesita un valor de -100 a +100 para producir un giro hacia la derecha y giro hacia la izquierda respectivamente.

1

UNSE – FCEyT – Departamento de Electrónica – Instrumentación Electrónica Carpeta de Trabajos Prácticos Alumno: Walter Ivan Bolañez

Leg: 30137/07

1

Año: 2012