LabView - encoder incremental

 
Vista:

encoder incremental

Publicado por gustavo (4 intervenciones) el 12/01/2010 22:51:45
Hola:

He estado buscando por el foro a ver si encontraba ayuda sobre la duda que tengo, pero no he visto nada parecido, así que voy a dejarla aquí, a ver si alguien puede ayudarme.

Soy bastante novato en labview, y mi problema consiste en lo siguiente.

Debo averiguar la velocidad angular de un eje a partir del tren de pulsos de frecuencia variable proporcionado por una de las dos salidas de un encoder incremental, teniendo en cuenta que:
-Cada una de las salidas proporciona 50 pulsos por cada vuelta del motor.
- Debo también realizar la medida de la frecuencia del tren de pulsos utilizando una entrada analógica y tambien usando la entrada digital PFI0.

Estoy trabajando con labview 8.6, y con una tarjeta de adquisición de datos NI USB 6008.

No tengo aún mucha idea de como controlar tiempos bien en labview..... En fin, si alguien puede darme alguna indicación de como resolver esto, agradecería cualquier ayuda.

Muchas gracias de antemano.

Gustavo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:encoder incremental

Publicado por gustavo (4 intervenciones) el 15/01/2010 18:36:02
Yo tengo hecho algun programa en labview, y consigo averiguar la velocidad para la entrada analógica, creo.
Lo que no se como hacer es lo de medir la velocidad a partir de la señal digital que adquiero por la PFI0 de la tarjeta, ni tampoco lo de conocer el sentido de giro del eje.

Para la medida de la de la velocidad angular con la señal digital, subo lo que se me ocurrió hacer: Pongo un bucle while, y hago que cada iteración dure 1ms, entonces, espero a contar 1000 pulsos, y en i tendré almacenado el número de ms que tardó en dar los 1000 pulsos, y eso lo transformo en rev/seg. Lo que ocurre es que esto me funciona bien para una sola medida, porque como el contador no se resetea, no puedo estar midiendo de modo continuado como hago en la analógica, y eso es lo que no consigo hacer. Supongo que tendría que meter eso en un nuevo bucle while de modo que no parase nunca, y que antes de dar la medida de la frec, le restase el valor anterior del contador..... pero no sé como hacerlo. Y tampoco sé como que programa debo hacer para detectar el sentido de giro del encóder.

Espero que alguien sea tan amable de ayudarme, porque necesito mucho resolver este problema :( :( :( :( :(

Gracias de antemano.

Gustavo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:encoder incremental

Publicado por gustavo (4 intervenciones) el 15/01/2010 20:05:11
Se me olvido decir que las características de la entrada del contador PFI0 son:

Counter
Number of counters................................ 1
Resolution .............................................. 32 bits
Counter measurements ........................... Edge counting (falling-edge)
Pull-up resistor ....................................... 4.7 kΩ to 5 V
Maximum input frequency..................... 5 MHz
Minimum high pulse width .................... 100 ns
Minimum low pulse width ..................... 100 ns
Input high voltage .................................. 2.0 V
Input low voltage ................................... 0.8 V

A ver si alguien puede ayudarme :S :S :S :S :S
Gracias .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:encoder incremental

Publicado por gustavo (4 intervenciones) el 16/01/2010 20:25:17
Por favor , si alguien tiene alguna idea, sobre todo de como hacer el programa para detectar el sentido de giro, lo agradecería muchisimo.

Estoy desesperado ya
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar