11-25-2010 06:28 PM
Hola!
Estamos realizando práticas en clase y tenemos que realizar un osciloscopio con labview. El tema es que tenemos que visualizar los datos en una gráfica XY; los valores de y son la señal que queremos visualizar, y los valores de y son los generados por una señal de sierra, que utilizamos como base de tiempo: variando la frecuencia de dicha señal de sierra variamos la base de tiempo. En este ejemplo uso una señal para hacer pruebas, pero más adelante usaremos una señal de un generador de funciones real.
No sabemos demasiado de labview, nos es un software bastante desconocido, pero he podido hacer avances interesantes, aunque tengo unos problemas que no se como resolver, ni aún con búsquedas por estos foros.
Los problemas son los siguientes:
- El invento funciona perfectamente hasta que llega el segundo diente de sierra. Entonces en la gráfica XY se dibuja la señal dos veces. La base de tiempos sigue funcionando bien, pero lo que se dibuja en la gráfica XY no es lo que quisiera, y no se como solucionar este tema.
- Para la sincronía he hecho unas pequeñas comparaciones para ver cuando la señal pasa por 0, de esta forma se dibuja la gráfica de forma más suave.
- Posteriormente la señal no será un seno, será una señal adquirida de un generador de funciones externo, de forma que deberemos sincronizar la señal de entrada con la de sierra para que no nos de problemas la representación; esto tampoco tengo muy claro como hacerlo.
Agradecería la ayuda que me pudieras prestar porque hay algunas cosas que escapan de mis conocimientos.
Adjunto el archivo para que le echeis un vistazo, perdonad si hay alguna locura ahí dentro jaja.
11-26-2010 06:08 PM
He visto que tengo un pequeño fallo en la descripción; en el eje de las "x" tenemos la señal de sierra, y en el de la "y" tenemos la señal de salida del generador de funciones externo. Lo pongo así porque no he logrado editar mi mensaje anterior, no se si es posible jaja.
11-29-2010 08:31 AM
Hola,
En primer lugar, la gráfica del seno se dibujará tantas veces como dientes de sierra tengas. Ten en cuenta que en el "XY Graph" le estas dando al eje de la X los valores Y del grafico "Waveform Graph". Te pongo un ejemplo para ilustrarlo mejor. Si pones el knob a 10, se dibujan dos dientes completos. Por tanto, en el "XY Graph" aparecerán también dos ondas ya que el array que se fija como eje X es [-1 ... 1, -1,..., 1].
Me podrias dar algun detalle más del proposito del bucle for que incluyes en la parte baja? No entiendo muy bien su funcionalidad
Un saludo
Victor
11-29-2010 09:49 AM
12-01-2010 09:27 AM
Hola de nuevo,
Para tu aplicación, yo crearía un bucle while que genere la señal y otro ejecutado en paralelo que la recoja (osciloscopio). Para la sincronización entre bucles puedes utilizar colas (queues) o notificadores (notifiers). Yo te recomiendo queues. En el segundo bucle, recoge la señal, creas una señal triangular dependiendo de un control para la base de tiempos del osciloscopio y vuelcas ambos en el XY Graph.
Para la sincronización del osciloscopio con la adquisición de una señal real, echa un vistazo a la ayuda de Labview de DAQmx Synchronization.
Espero que te sea de ayuda
Victor
12-25-2010 05:08 PM
Hola!
Muchas gracias por tus respuestas! La verdad es que siento mucho no haber respondido antes, pero ha sido época de exámenes y la verdad es que he andado muy liado. Esta semana estoy con este tema, a ver si consigo terminarlo. Estudiaré tu respuesta, a ver si puedo sacar algo de ella, de todas formas, cuando termine pondré aquí el osciloscopio. La cosa va bien, aunque no se si con señales externas funcionaría. Habrá que probarlo.
Gracias y un saludo.