el 10-18-2011 12:38 AM
Muy buenos dias. Estoy utilizando el compacrio en scan engine con la version 3.2
Tengo un modulo de entradas y salidas digitales NI9401. Estoy usando en modo de entrada de cuadratura para utilizar efectivamente, un encoder de cuadratura.
Mi encoder me da 400 pulsos por revolucion y el motr da un maximo de 1535 revoluciones por minuto
Conecto la fase A del encoder a la entrada DI0, la fase B del encoder a la entrada DI1 y la Z index no la conecto a ningun lado debido a que el encoder de cuadratura de mi motor no tiene una salida Z index.
A la salida en velocidad tengo un numero que va de 0 a 55,500. Mi duda es
Este numero que representa? Pulsos por iteracion? Pulsos por segundo? es basura?
Quiero tener el valor de la velocidad en revoluciones por minuto, como puedo adaptar el valor de esta salida a revoluciones por minuto?
Eso es todo, gracias por adelantado.
el 10-18-2011 08:52 AM
Hola Carlos,
Hay varias formas de hacerlo. ¿A lo que llamas velocidad de salida es lo que obtienes directamente en la entrada del módulo o haces después algún tipo de procesamiento? En LabVIEW Example Finder se encuentra un ejemplo para cRIO con NI 9401 (configurado en modo de cuadratura) que utiliza un encoder de cuadratura para obtener posición y velocidad. Es un ejemplo muy sencillo que incluso viene con documentación para que aprendas a utilizarlo. El ejemplo se encuentra en el menú Help >> LabVIEW >> Find Examples. En la ventana emergente, elige la categoría Hardware Input and Output >> CompactRIO >> NI Scan Engine >> Module Specific >> Digital Input >> NI 94XX Input - Quadrature Scan Mode,lvproj. Este ejemplo te da la posición en 'counts' o número de pulsos y la velocidad en cuentas/segundo. Conociendo los pulsos por revolución que te da tu encoder, puedes hacer la conversión a revoluciones por minuto. Espero que el ejemplo te sirva para resolver tu problema. Si llegas a tener alguna pregunta no dudes en escribirme.
Saludos,
Héctor Rojas
el 10-18-2011 10:39 PM
Gracias por la pronta respuesta. Por salida de la velocidad me refiero a la salida directa que me da el modulo de cuadratura sin procesamiento alguno.
El ejemplo me dejo claro que tengo que hacer una captura por una cantidad de tiempo (100 milisegundos).
Usted menciono que la salida de velocidad esta en cuentas sobre segundo. Mi pregunta es, ¿La salida "velocidad0" en el modulo 94xx esta siempre dada en cuentas sobre segundo? o ¿En cuentas sobre la escala de tiempo que yo le asigne?
Muchas gracias por adelantado.
el 10-19-2011 09:18 AM
Hola Carlos,
El modo de cuadratura del 9401, te da automáticamente velocidad y posición. La posición te la da por medio del número de pulsos y la velocidad por medio de la frecuencia en unidades de pulsos por segundo. Esta última está en pulsos por segundo y es un procesamiento que ya hace el módulo por ti, tomando en cuenta el número de pulsos medido en un determinado tiempo de acuerdo a una frecuencia de muestreo del Scan Engine (10ms en este caso). Los 100ms a los que te refieres que se encuentran en el ciclo de abajo, únicamente son el timeout de la variable Loop Communication. Estos son configurables desde las propiedades del cRIO en la categoría de Scan Engine y dicta cada cuanto tiempo se actualizan los datos en esa variable, pero no es la frecuencia de muestreo. Todo esto está descrito en la explicación que viene en el diagrama de bloques debajo del código. De cualquier forma la siguiente página te puede ayudar un poco a aclarar tus dudas.
http://zone.ni.com/devzone/cda/tut/p/id/7109
Si llegas a tener alguna otra pregunta no dudes en escribirme.
Saludos,
Héctor Rojas
el 10-19-2011 04:59 PM
La salida de la velocidad de la compactrio me da velocidad0=55700 counts/seg
Mi encoder es de 400 pulsos por revolucion. Si tomo esa cantidad mostrada por el modulo de cuadratura del scan engine, la divido entre 400 pulsos y multiplico por sesenta para obtener las revoluciones por minuto, me da un numero muy superior a las especificaciones del motor.
Segun las especificaciones del motor, me da una velocidad maxima de 1535 revoluciones por minuto.
¿Hay alguna operacion matemática que este haciendo mal?
el 10-20-2011 04:35 PM
Hola Carlos,
Las operaciones están bien. Lo que te recomendaría es revisar las opciones de configuración del modo de cuadratura para que sean óptimas de acuerdo a tu aplicación. En la siguiente página puedes consultar a qué se refiere cada una de las opciones y, de acuerdo a las características de tu motor y del encoder, poder definir cuál es la mejor para tu aplicación.
http://zone.ni.com/reference/en-XX/help/372603F-01/riohelprt/quad_rt/
Saludos,
Héctor Rojas