LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problema con labview y arduino

Mi problema es el siguiente, tengo un programa que hice que me cuenta el numero de vueltas que da un motor y me las convierte en revoluciones por minuto, hasta ahi todo esta bien, el problema viene cuando le agrego el control de un servomotor porque el programa ya no me muestra la lectura correcta de las RPM´s pero el servo funciona a la perfeccion.Dejo imagenes de mi codigo para ver si alguien cual es el error en la programacion y como lo corrigo, espero que alguien me pueda ayudar.

 

servo y rpm.jpgEste es el programa con el servo y el contador de rpm

solo rpm.jpgeste es el codigo sin el control del servomotor.

solorpm.jpgEste es el panel frontal solo del tacometro, siempre me da una lectura uniforme de 1200 +_- 60 RPM´s

pero cuando le pongo el servo me da esto:

servo rpm.jpgEl tacometro varia de 800 a 1020.

Espero que alguien me pueda ayudar porque esto ya me esta desesperando.

0 Kudos
Message 1 of 8
(4,982 Views)

Post your question here

--------------------------------------------------------------------------------------------------------
Kudos are always welcome if you got solution to some extent.

I need my difficulties because they are necessary to enjoy my success.
--Ranjeet
0 Kudos
Message 2 of 8
(4,960 Views)

Hola hickok,

 

Estuve analizando tu código y es necesario hacerle varias modificaciones ya que seguramente estas teniendo condiciones de carrera. Para evitar este fenómeno, te sugiero hacer uso de Shift Registers y evitar el uso de variables locales siempre que puedas ya que además de evitar este fenómeno ahorraras recursos de memoria y tendrás un mejor control del flujo de datos. Te dejo este link sobre el uso de Shift Registers para que los implementes en lugar de usar variables locales y eliminar cualquier condición de carrera que pudieras tener en tu indicador CONTADOR:

 

http://www.ni.com/gettingstarted/labviewbasics/shiftregisters.htm

 

Además de las mejoras que te comento, otra cosa que puedes intentar también es separar ambas tareas en 2 ciclos diferentes (una para RPMs y otra para el control del servo).

 

Finalmente te recomiendo ir monitoreando la información que se envía a CONTADOR  mediante el uso de breakpoints y la herramienta de highlight execution.

 

Espero que te sirva la información!

 

Saludos!

 

Luis C.

 

National Instruments

Ingenieria de Aplicaciones

www.ni.com/soporte

Luis CT
0 Kudos
Message 3 of 8
(4,921 Views)

me sirvio el consejo que me diste LuisC_AE y me redujo el problema de la variacion pero aun no me da el valor exacto de las rpm solo se queda mas constante, e intente poner el servo y el contador por separado pero no funciona

 

0 Kudos
Message 4 of 8
(4,904 Views)

Hola hickok,

 

Puedes utilizar el contador de ciclos de los While Loops count para analizar cuantos ciclos hay de diferencia en la medición del error. Utiliza también la herramienta de "Probes" en conjunto con la herramienta de highlight execution para determinar los datos que van pasando a tu indicador CONTADOR a través de los Shift Registers y analizar porque se incrementa el número de ciclos cuando ejecutas la tarea de control del servo.

 

Espero te sirva la información!

 

Saludos!

 

Luis C.

 

National Instruments

Ingeniería de Aplicaciones

www.ni.com/soporte

Luis CT
0 Kudos
Message 5 of 8
(4,900 Views)

Hola compa.... una consulta, que mas que una respuesta a su problema, es saber si me puede ayudar con algo...

hay un icono en el diseño de su programa que tiene dos esferas una roja y una verde y una flecha diagonal, y en mi labview 2011, no la encuentro, me puede ayudar con el nombre de esta funcion.... de antemano gracias

0 Kudos
Message 6 of 8
(4,870 Views)

hai,

 

is your problem solved?

 

i am kinda facing the same problem. can you post your vi or tell me the logic how to implement vi to make rpm measurement using arduino + labview.

 

 

 

0 Kudos
Message 7 of 8
(4,670 Views)

hai,

 

is your problem solved?

 

i am kinda facing the same problem. can you post your vi or tell me the logic how to implement vi to make rpm measurement using arduino + labview.

 

 

 

0 Kudos
Message 8 of 8
(4,669 Views)