Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Labview+Arduino+Multiple Analog In

¡Resuelto!
Ir a solución

Hola a todos, bueno estoy trabajando en un proyecto donde debo medir voltaje, corriente, temperatura y la irradiacion solar en un panel fotovoltaico. Me fue de maravilla en la conversion de dichos valores a voltaje por lo que simplemente mi programa debe graficar todos los valores en funcion del tiempo. Bueno recien estoy empezando a manejar el paquete de Arduino en Labview por lo que tengo muy poca experiencia.

Mi problema es el siguiente, cuando conecto cada pin de modo independiente, lee la señal de manera estable pero cuando quiero leer los cuatro puertos simultaneamente, la señal se vuelve loca y los datos analogicos se ven afectados por el ruido. ¿como puedo leer cuatro datos diferentes de 4 puertos diferentes sin que la señal de ninguno se vea afectada?

Adjunto el programa, Gracias por su tiempo

0 kudos
Mensaje 1 de 15
11.650 Vistas

Hola,

 

         En este momento no tengo LabVIEW a la mano, si puedes subir una imagen del código sería excelente. Y lo otro es que no debería haber problema en hacer las 4 mediciones, ¿puedes colocar el diagrama eléctrico que estas utilizando?

 

Saludos,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 2 de 15
11.642 Vistas

Claro aca esta

Descargar todos
0 kudos
Mensaje 3 de 15
11.639 Vistas

Saludos GonchiNavía

 

¿Qué sucede si coloca todas las lecturas analógicas una después de la otra dentro del bucle While? ¿Podría subir una imagen con los datos leyendo cada pin independientemente, y otra con los 4 al mismo tiempo, para ver la diferencia? Su ayuda se le agradece. Tenga un buen día.

 

Saludos 

Luis J.
Applications Engineer
National Instruments
Mensaje 4 de 15
11.616 Vistas

Hola,

 

          Como te dice Tortu (Luis J.) el Arduino es un recurso único y por lo tanto deberias usarlo para una cosa a la vez, por ello deberiás colocar las cajas de lectura una siguiendo a la otra, ya que como lo tienes actualmente está en paralelo y LabVIEW puede automaticamente separar tu ejecución en 4 hilos independientes que se traten de comunicar con el Arduino al mismo tiempo y eso puede llevar a que se mezcle la información y se produzca un comportamiento no deseado.

 

Saludos,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 5 de 15
11.610 Vistas

Que tal GonchiNavía,

Gracias por utilizar los foros de national instruments. 

No has intentado ponerlo en ciclos paralelos? para que cada medición tenga su propia temporización. Esto podría ayudarnos. 

Puede que el problema se de por los recursos del Arduino, o del VI de read. Que sea un recurso compartido y esto nos meta ruido en las mediciones. En caso de ser así debemos de hacer las mediciones secuenciales y no paralelas. 

 

Podríamos realizar esta pequeña prueba de los ciclos paralelos y verificar esta parte. Primero hacerlo con dos entradas, ver como se comportan e ir incrementando hasta las 4 entradas analógicas. 

 

Espero que esta información les sea de utilidad.

Saludos!

Omar I.
Applications Engineer
National Instruments
0 kudos
Mensaje 6 de 15
11.609 Vistas

Por supuesto aca te muestro como es la salida manejando solo un pin analogico, donde medimos la temperatura con el sensor LM35, la temperatura actual en mi ciudad es de 19 °C por tanto hay una alta eficiencia en la respuesta:

Sin título.jpg

la siguiente imagen podemos apreciar la inestabilidad de la señal, con el manejo de solo dos entradas analogicas, con el mismo sensor la señal oscila entre 5 y 35 °C:

Sin título2.jpg

 

 

0 kudos
Mensaje 7 de 15
11.569 Vistas

Que tal GonchiNavía,

Puede que sea ruido proveniente del multiplexor debido a la temporización de las tareas. Que en realidad no se pueden hacer simultaneas. Lo que podríamos checar es si el VI de lectura es un recurso no re-entrante o re-entrante. Esto lo podemos revisar en File>>VI properties, en la sección de Execution, verificar que esté como un VI no re-entrante. Esto significa que está configurado como un recurso no compartido, o que no podamos acceder a él cuando está siendo utilizado en otra parte del programa.

 

En la imagen que nos compartes donde se tienen las dos entradas, entiendo que la medición se está llevando a cabo por la entrada analógica 1, estoy en lo correcto?

 

Saludos!

Omar I.
Applications Engineer
National Instruments
0 kudos
Mensaje 8 de 15
11.548 Vistas

Hola GonchiNavía,

 

          Prueba con este VI que te adjunto en que las lecturas se hacen una a continuación de la otra y dime si te funciona.

 

Saludos,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 9 de 15
11.545 Vistas

Hola,

 

        En el VI que acabo de subir, falto cablear dentro del evento del stop:value change el cable del arduino y del error.

 

Saludos,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 10 de 15
11.543 Vistas