el 05-12-2008 05:21 PM
el 01-13-2009 05:16 PM
Hola Torpacio, con respecto a tus dudas.
El tiempo de adquisición de tu señal va a determinar que tan rápidos son los cambios que puedes detectar en tu señal. Psi vemos con la teoría de Nyquist la velocidad de muestre tiene que ser por lo menos de 2 veces la frecuencia de la señal. Esto te permite trabajar con lo que es la frecuencia de tu señal. Si quieres trabajar con la forma de onda necesitas muestrear mucho mas rápido.
Ahora en tu caso supongamos que tu sistema da una vuelta por segundo tendríamos una senoidal de 1 hz. Si tu muestreas tu señal a menos de un hertz no vas a poder medir bien el periodo. Ahora como en tu caso tu estas tomando calculas que hay un cambio cuando la diferencia entre una muestra y otra es mayor a a 4, si tu muestreas muy rápido el problema es que todas las muestras van a quedar muy cercanas entre si, por lo que nunca va a haber diferencia y no va a contar nada. Aquí lo mejor sería cambiar un poco la forma de contarlo. Una opción es trabajar con derivadas, o simplemente podrías hace un poco de juego banderas (boléanos en shift registers). Necesitarías un booleano que diga por ejemplo que estaba en el negativo. Si pasa a positivo, se suma pero el booleano se cambia de valor. y hasta que no vuelva a negativo no se va a restear la bandera.
Ahora con respecto a la temporización. En ciclos donde tengas tareas temporizadas de DAQ como en este caso no es necesario agregarle waits a tu ciclo. Por ejemplo si yo configuro mi tarea a tomar 5 muestras a un hertz ese vi se va a tardar 5 segundos en ejecutarse por lo que el tiempo de mi ciclo seria de ciclo segundos. Si le agrego un wait a lo mejor de 2 segundos, mi sistema adquiriría las 5 muestras luego esperaría 2 segundos y después seguiría adquiriendo muestras.
Espero que esta información te pueda ser de utilidad.
Saludos