LabVIEW + Arduino: Voltímetro
Como ya pudimos ver en un tutorial anterior, LabVIEW es una potente herramienta ingenieril y, podemos conectarla con Arduino. La unión de Arduino y LabVIEW puede ser explosiva y, esto os lo vamos a ir mostrando poco a poco aquí, en Geeky Theory.
En este tutorial, vamos a diseñar un proyecto en LabVIEW para crear un voltímetro con Arduino. Si miramos atrás, podemos ver que ya creamos un tutorial para hacer un voltímetro con Arduino, pero os voy a refrescar un poco la memoria con un pequeño resumen de su funcionamiento.
En esta imagen, vemos el voltímetro creado en el tutorial anterior, con un display LCD y tres botones. Los botones eran para seleccionar la magnitud que queríamos medir, como podemos ver escrito en la pantalla.
¿Cómo vamos a conseguir saber qué tensión estamos midiendo?
Para realizar el voltímetro, utilizamos 3 resistencias de 120 KOhms. Con este circuito, se realiza un divisor de tensión. Al ser las resistencias iguales, la tensión se dividirá entre tres y, sobre cada resistencia caerá un potencial equivalente a un tercio del voltaje de entrada. Tras simular con OrCAD, obtenemos estas gráficas:
¿Cómo empiezo a hacerlo con LabVIEW?
En este caso, tendremos algo parecido, pero seguro que mucho más cómodo y con una interfaz gráfica que podremos modificar a nuestro gusto. Tras este tutorial, acabaréis teniendo lo siguiente:
Como podéis ver, tenemos un indicador analógico y un indicador numérico. Además, como no podría ser de otra manera, tenemos una opción para seleccionar la magnitud en la que queremos medir y, su correspondiente LED para indicarnos lo que estamos midiendo.
En caso de que estemos midiento en milivoltios, se encenderá el LED de mVoltios, como se ve en la imagen. Con los voltios y KVoltios pasa exactamente lo mismo.
Pero... ¿Cómo consigo poner todo eso en mi ventana?
Es tan sencillo como arrastrar objetos. Lo que haremos es ir a la pestaña View/Controls Palette y a View/Tools Palette, tal y como se ve en la siguiente imagen:
Tras esto, nos saldrán esas dos ventanas y, desde aquí, podremos crear nuestra interfaz gráfica.
Vemos que nos salen botones para LEDs, para indicadores numéricos o para botones. Si hacemos click en ellos y arrastramos el modelo que queramos, ya lo tendremos todo montado. Es conveniente añadir un botón de STOP para cuando queramos parar la ejecución.
Ahora tendremos algo parecido a esto, pero sin funcionalidad alguna, ya que no hemos establecido ninguna relación entre los distintos bloques creados:
Aunque probablemente no se encienda ningún LED y tengamos un indicador por un lado y otro por otro. Van a ser tres indicadores diferentes, uno para cada magnitud, ya que no podemos redimensionar en el momento estos indicadores.
Ahora vamos a ver el diagrama de bloques de nuestro proyecto y, lo haremos siguiendo esta serie de pestañas o pulsando Ctrl+E:
Seguidamente, se nos abrirá el diagrama de bloques. Lo primero que haremos será poner un bucle while-loop:
Dentro del bucle While, pondremos los bloques para inicializar la conexión con Arduino. Es muy importante seleccionar el cable de color verde oscuro en la salida del bucle, con el botón derecho y darle a "Replace with Sift Register". Nos quedará lo siguiente:
Ahora tenemos que decirle a LabVIEW desde qué pin vamos a recibir los datos. Esto lo haremos de la siguiente manera y, elegiremos el pin analógico número cero:
Una vez inicializada la conexión con Arduino, tendremos que ver cómo conectamos todos los bloques que tengamos por ahí sueltos. Yo no tengo ninguno ahora mismo porque he empezado el proyecto desde cero para el tutorial y tengo la interfaz de usuario totalmente vacía:
Si introducimos todos los LEDs, el Menu Ring y los indicadores, nos quedará algo así, muy desordenado:
Ahora, vamos a crear una estructura condicional para saber si estamos midiendo en milivoltios, voltios o kilovoltios. Esto lo haremos dentro del bucle:
Cuando lo pongamos, lo tendremos que unir al menú desplegable que hemos creado antes, el Menu Ring. Automáticamente se cambiarán los valores de True y False a 0, Default y 1. Como ahora tenemos 2 únicos valores y queremos 3, mV, V y kV, tendremos que añadir uno más.
Para añadir un nuevo caso y, ya que estamos, codificar cada caso, iremos a las propiedades del Menu Ring:
Una vez estemos dentro de las propiedades, iremos a la pestaña "Edit Items" y la dejaremos de la siguiente manera:
De esta forma, ahora ya tenemos los tres casos que queríamos dentro del Ring, pero no en la estructura condicional. Para ello, vemos al hacer click derecho sobre la estructura "case" unas opciones para añadir casos o quitarlos. Es ahora cuando tendremos que añadir un nuevo caso, que será el 2 y, pondremos por defecto el caso 1, que es el de la medida en Voltios:
Ya tenemos prácticamente todo hecho. Ahora, lo único que nos falta es multiplicar por 3000 (para mV), por 3 (para V) o por 0.003 (para KV), por la razón que he explicado al principio del artículo. Además, habrá que meter cada indicador dentro de su correspondiente casilla.
Para multiplicar por un número cualquiera, tendremos que ir a la ventana de funciones y elegir el bloque de multiplicación:
Para poner el número por el cual queremos multiplicar lo que leamos de Arduino, dentro de la misma pestaña en la que estábamos:
Una vez hecho esto, podemos decir que estamos ya casi en el final. Ahora simplemente queda hacer visibles o invisibles los indicadores analógicos. Esto lo hacemos desde aquí:
Crearemos tres, bloques "visible", uno para cada indicador y, según estemos en un caso o en otro, lo pondremos a true o a false. Además, tenemos que conectar los LEDs para que se encienda uno de los tres en función de la magnitud en la que estemos midiendo. Tras hacer esto, nos quedará algo así:
Lo único que falta es añadirle un temporizador para que el bucle se ejecute cada 500 ms y, finalmente, tendremos todo listo para ejecutar nustro VI:
Falta decir que, antes de poder ejecutarlo, tenemos que cargar la interfaz para Arduino que nos proporciona Arduino en nuestro microcontrolador. La ruta es, según donde hayamos instalado LabVIEW:
Pues ya tenemos nuestro proyecto creado. Puede que hayáis tardado un poco en hacerlo si es vuestra primera vez con LabVIEW, pero practicando un poco, podéis tardar unos 10 o 15 minutos como máximo en hacerlo. Es sólo cuestión de práctica. A continuación os dejo el esquemático del proyecto y el link de descarga, además de un vídeo tutorial.
- MONTAJE
- VÍDEO
[youtube http://www.youtube.com/watch?v=Z64RYl61Uck&w=640&h=360]
- LINK DEL PROYECTO
Esto es todo. Espero que os haya gustado y que realmente os sirva de ayuda. ¡Hasta el próximo!