Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Analizador de espectro con LabVIEW y PIC18F4550 vía USB BULK TRANSFER

¡Resuelto!
Ir a solución

Saludos compañeros! Tengo una situación para plantear, que de solucionarse, podría significar un gran avance para los estudiantes de mi carrera!

Resulta que estoy realizando un proyecto de grado en el cual debo tomar una señal de audiofrecuencia con el ADC (AN0) del PIC18F4550, enviarlo por USB BULK TRANSFER a la PC, donde LabVIEW toma el dato mediante el subVI picusb.vi, y de ahí le aplica el análisis espectral para así poder observar las componentes frecuenciales de la señal adquirida.

A continuación, el problema:

 

 

Como se observa en la figura de arriba, se adquiere la señal con el subVI picusb.vi, el cual llega en formato U8 array, y  es convertido en decimal, y mientras se grafica dicho dato en una Waveform Chart.

 

Por otra parte, ese mismo dato en binary U8 array es convertido en Digital Waveform, para luego INTENTAR convertirlo en una Analog Waveform, y pasarla por el Spectral Measurements y graficar sus componentes espectrales.

 

El problema es que no he logrado construir existosamente al onda analógica, que sería lo único que me falta para hacer el análisis espectral.

 

Mis preguntas:

-Cómo puedo lograr convertir el dato binario en onda analógica?

- Existe alguna otra forma de lograr hacer el análisis espectral al dato que llega desde el subVI?


Sólo esto me falta para terminar definitivamente el proyecto. Una vez terminado, postearé! Ya que yo mismo he sufrido un calvario buscando ayuda con respecto a este problema!

Adjunto al mensaje en un .rar:

  • Programación del PIC en PIC-C
  • Esquemático del circuito en Proteus
  • Driver del dispositivo USB BULK TRANSFER
  • subVI picusb.vi
  • VI del proyecto


Gracias por tomarse el tiempo!

0 kudos
Mensaje 1 de 7
9.121 Vistas
Solución
Aceptado por el autor del tema MetalKaiser

Para generar tu analog waveform necesitas un arreglo de datos (Y), por lo que deberas cambiar la forma como estas usando el PIC, y enviar tus datos en grupos y no uno a la vez. Por otra parte dt es el tiempo de muestreo dado por tu circuito. Y t0 que solo especifica el tiempo inicial, pero que no afecta para el analisis espectral.

 

Podria realizarse como lo llevas, solo utiliza un for loop para generar un grupo de datos y cronometros para el tiempo promedio de adquisicion. Tiene el inconveniente que es sumamente lento y solo prodras analizar frecuencias relativamente bajas.

 

Saludos cordiales

Mensaje 2 de 7
9.109 Vistas

Tienes razón, se hace muy lento, pero ya se puede ver el espectro de magnitud de la señal. Es lo suficientemente bueno! Gracias!

0 kudos
Mensaje 3 de 7
9.103 Vistas

buenas, amigo ya resolviste tu problema?

0 kudos
Mensaje 4 de 7
6.120 Vistas

¡Hola que tal!

Oye me intereso mucho tu proyecto, sobre todo porque apenas estoy adentrandome al tipo de comunicación "BULK TRANSFER" y creo que me puse soga al cuello porque también estoy aprendiendo de forma autodidacta en LabView, no eh logrado hacer la comunicación entre el pic y labview, algo sé estoy haciendo mal, pero no encuentro mucha información al respecto. Es posible que me puedas ayudar con la parte comunicación, especificamente ese subVI que creaste para comunicar PIC y LabView? 

Te agradeceria bastante el aporte.

0 kudos
Mensaje 5 de 7
4.299 Vistas

Tenía años que no veía ete post.

 

Debo comunicarte amigo mío, que es mejor uar los módulos VISA en lugar de ese subVI que mostré en la imagen. Debo buscar el proyecto y mostrar qué fue lo que hice al final de todo cuando me funcionó perfectamente...

0 kudos
Mensaje 6 de 7
4.217 Vistas

Estimado Obedcose,

 

Buenos días, el siguiente link te proporciona mayor infromación acerca de como NI-VISA soporta los modos de comunicación USB.

 

http://digital.ni.com/public.nsf/allkb/E3A2C4FE42D7ED0D86256DB7005C65C9

 

Espero te sirva.

 

Saludos cordiales.

 

Lis Villanueva.

0 kudos
Mensaje 7 de 7
4.194 Vistas