Medida Vangular de eje, con encoder incremental y Labview

Cuestiones sobre componentes y tecnología electrónica, regulación, automtización, o similares.

Medida Vangular de eje, con encoder incremental y Labview

Notapor Antía » 15 Ene 2010, 23:09

Hola: Estoy haciendo un trabajo con un enconder incremental, para medir la velocidad de un eje.

El encoder tiene dos salidas analógicas, y una digital. La frecuencia del motor del eje al que está acoplado el encoder se cambia variando la tensión de alimentación del motor.

A) Debo realizar un programa en Labview para conocer la v. angular del motor, a partir de ese tren de pulsos de frecuencia variable proporcionado por el encóder. Para ello, será necesario determinar la frecuencia de la señal cuadrada, lo cual se ha de hacer teniendo en cuenta los siguientes aspectos:
-Cada una de las salidas proporciona 50 pulsos por cada vuelta del motor.
-Se ha de realizar la medida de la frecuencia del tren de pulsos usando una entrada analógica y también usando la entrada digital PFI0.

B) Modificar el programa para que también se detecte el sentido de giro del motor.

Adjunto una imagen, con el programa que tengo hecho para el apartado A.
La imagen enc_analog es para la medida de la velocidad a partir de una de las salidas analógicas, y creo que funciona.
Lo que no se como hacer es lo de medir la velocidad a partir de la señal digital que adquiero por el contador PFI0 de la tarjeta, ni tampoco el apartado B.

Para la medida de la de la velocidad angular con la señal digital, subo lo que se me ocurrió hacer:Lo que intento es contar 1000 pulsos, así en la i del while interior tendré guardados los ms que tarda en dar 1000 pulsos; cuando llega a 1000 lo paro, por medio de esa puerta and, y en el siguiente instante, ya no será 1000 con lo que el bucle interior vuelve a empezar, porque se anula la condición de parada, y le realimento el valor del contador anterior, restándoselo para volver a contar 1000 y así sucesivamente; lo que no sé es si la i del bucle interior se pone nuevamente a 0 después de pararlo una vez, y no sé si esta puede ser una solución válida........ porque a mi esto no me tiene pinta de funcionar cuando tenga que probarlo.....

Y lo de diseñar un programa para detectar el sentido de giro del encoder, ya no tengo ni idea.

Estoy trabajando con labview 8.6, y con la tarjeta de adquisición de datos USB 6008 ; y las características de la entrada 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



Espero que alguien tenga paciencia para leer esto y ayudarme porque estoy muy desesperada.
:? :? :? :? :?
Muchas gracias.



Antía.
Regístrese y/o inicie sesión para ver archivos adjuntos.
Antía
Usuario novel
Usuario novel
Mensajes: 12
Registrado: 14 Nov 2009, 11:35
Puntos por aportaciones: 0

Re: Medida Vangular de eje, con encoder incremental y Labview

Notapor Antía » 17 Ene 2010, 13:20

Por favor que alguien se apiade de mi :amo :amo :amo :amo :amo

Lo que más necesito es un programa para detectar el sentido de giro...... porque aunque es fácil de
entender el principio en que se basa, no se me ocurre como puedo hacerlo en labview
:cry: :cry: :cry: :cry: :cry:
Antía
Usuario novel
Usuario novel
Mensajes: 12
Registrado: 14 Nov 2009, 11:35
Puntos por aportaciones: 0

Re: Medida Vangular de eje, con encoder incremental y Labview

Notapor rafelet01 » 17 Ene 2010, 21:24

Pues como yo estoy aprendiendo a manejar el Labview para una máquina didáctica que he construído, aprovecho para buscar y contestarte.
Debes de meter un control que mida la frecuencia.
busca en modern, signal analisys, Amp & Level.
Le conectas la señal, ajustas ampitud , etc, y te saca la frecuencia.
Yo la uso para medir un caudal de agua, mediante un contador que emite de pulsos.

En cuanto al sentido de giro, creo que deberías de meter dos sensores, y medir si el desfase de tiempo entre ambos es positivo o negativo. Pero puede que el encoder te de una señal de sentido de giro directamente.


Saludos
Una crisis es lo que usa la Naturaleza para evolucionar
Avatar de Usuario
rafelet01
Big Kahuna
Big Kahuna
Mensajes: 1210
Registrado: 19 Ene 2007, 18:16
Ubicación: Costa Blanca
País(+comunidad autónoma):
España (Valencia)
Puntos por aportaciones: 3

Re: Medida Vangular de eje, con encoder incremental y Labview

Notapor atreides » 18 Ene 2010, 11:24

Seguramente las dos salidas analogicas del encoder te den dos trenes de pulsos desfasados 90º.
Para detectar la dirección de giro tienes que usar las dos señales y comparar los flancos de subida o bajada de ambos usando un codificador de cuadratura. Ademas de esta forma puedes llegar a multiplicar por 4 la precisión del encoder. Busca información que seguro que hay algoritmos por la red para codificadores de cuadratura.
La suerte favorece sólo a la mente preparada.
Avatar de Usuario
atreides
Habitual por estos lares
Habitual por estos lares
Mensajes: 426
Registrado: 18 Dic 2007, 14:31
Ubicación: Valladolid
País(+comunidad autónoma):
España (Castilla y León)
Puntos por aportaciones: 1

Re: Medida Vangular de eje, con encoder incremental y Labview

Notapor Antía » 30 Ene 2010, 17:32

Muchas gracias por las respuestas. Al final ya lo he conseguido; hemos logrado hacer un detector de flancos en labview, y así podemos usar las dos salidas de trenes de impulsos analógicos del encoder, y miramos cuando se produce un flanco en uno si el otro está alto o bajo. Pero ......... Labview es un poco...... engorroso con algunas cosas.....
Antía
Usuario novel
Usuario novel
Mensajes: 12
Registrado: 14 Nov 2009, 11:35
Puntos por aportaciones: 0

Re: Medida Vangular de eje, con encoder incremental y Labview

Notapor atreides » 01 Feb 2010, 14:28

En un proyecto parecido, al final para quitarnos problemas, metimos el decodificador de cuadratura en un PIC y al Labview le mandabamos las señales ya procesadas. Un unico tren de pulsos directo a un contador y una señal digital indicando el sentido de giro.
La suerte favorece sólo a la mente preparada.
Avatar de Usuario
atreides
Habitual por estos lares
Habitual por estos lares
Mensajes: 426
Registrado: 18 Dic 2007, 14:31
Ubicación: Valladolid
País(+comunidad autónoma):
España (Castilla y León)
Puntos por aportaciones: 1

Re: Medida Vangular de eje, con encoder incremental y Labvie

Notapor Oceano » 04 Jul 2010, 23:52

Un ejemplo de código para PIC, escrito en CCS (PICC) y en Proton IDE, lee los pulsos y el sentido de giro, a través de la RB0/INT, es decir, a través de interrupción externa, porque es la más rápida, en esta web:

http://sites.google.com/site/proyectosr ... r-software

También está en modo USB, clase CDC, pasa los datos al PC con resolución de 16 bits, pero modificando las variables se puede tener la resolución que desees.

Adjunto un esquema muy sencillo con el PIC 16F876A, pero también podrás ver ejemplos con el PIC 18F4550 (y en general para cualquiera de la serie 18Fxx5x).
Regístrese y/o inicie sesión para ver archivos adjuntos.
Oceano
Su primera vez
Su primera vez
Mensajes: 1
Registrado: 04 Jul 2010, 23:32
Puntos por aportaciones: 0


Volver a Electrónica y automatización

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado