Autor Tema: Osciloscopio USB, y en el PC, ¿Labview?  (Leído 87611 veces)

0 Usuarios y 1 Visitante están viendo este tema.

adbensi

  • Visitante
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #90 en: 22 de Septiembre de 2006, 17:46:04 »

O que yo preciso hacer para mejorar la aquision dos conversores AD do PIC?
Me ayudem por favor, com este código :D

#==CONF===================================
#pragma config  CPUDIV = OSC1_PLL2   // External Oscillator with PLL
#pragma config  FOSC = HSPLL_HS   // PIC USB clock is 48 MHz
#pragma config  PLLDIV = 5      // clock for full speed USB
#pragma config  USBDIV = 2      // high speed USB
#pragma config VREGEN = ON      // turn on USB regulator

// Configure the A/D module
ADCON0bits.ADON=1;   // Module enabled
ADCON1bits.VCFG1=0;   // Vrf+
ADCON1bits.VCFG0=0;   // Vrf-
ADCON1bits.PCFG3=0;   // All analog
ADCON1bits.PCFG2=0;
ADCON1bits.PCFG1=0;
ADCON1bits.PCFG0=0;

ADCON2bits.ADFM=1;      // Significant bits
ADCON2bits.ACQT2=1;   // 20 TAD
ADCON2bits.ACQT1=1;
ADCON2bits.ACQT0=1;
ADCON2bits.ADCS2=1;   // 110 = FOSC/64
ADCON2bits.ADCS1=1;
ADCON2bits.ADCS0=0;


Tieno baja qualidade, una variacion mui grande, con +- 5% :(

Saludos!

« Última modificación: 28 de Septiembre de 2006, 09:45:40 por adbensi »

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #91 en: 26 de Septiembre de 2006, 14:56:56 »
Hola del codigo que veo arriba


deberia de haber una clase de while(true)


es la misma idea del PIC. No revise tu codigo pero quizas sea que le falta ese ciclo.


SALUDOS
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

AABHGA

  • Visitante
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #92 en: 27 de Septiembre de 2006, 14:39:25 »
Hola, me he leído todas las páginas de este foro y vaya que el proyecto es muy interesante y es algo que estoy pensando en hacer, pero difiero de lo que dijo Nocturno muy al principio acerca de "reinventar la rueda", la verdad me gustaría tener mi propio osciloscopio y hacer la interfaz en algun Visual, ya que la verdad son demasiado costosos y no hay suficientes recursos.

He visto los avances que han tenido y todo pinta muy bien pero la verdad tengo el proyecto en la cabeza (como si fuese un diagrama de flujo) y se que cosas puedo hacer y cuales no, y para no abrir otro tema y viendo que Nocturno trata de hacer un osciloscopio con unas buenas prestaciones (el cual creo que es suficiente para empezar) pues me gustaría saber si me puedo unir a ese proyecto, o si hay alguien interesado en iniciar uno nuevo, pero trabajando con cosas diseñadas por nosotros porque así sería aunque mas largo, mas facil de desarrollar.

En si, la idea básica  que tengo para el proyecto sería Interfaz PC <==> Comunicación USB <==> Sistema de Lectura con PIC.

adbensi

  • Visitante
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #93 en: 27 de Septiembre de 2006, 15:06:42 »

AABHGA, tieno interesse em ayudar.. tienes algun subforo ?
Saludos.

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #94 en: 03 de Enero de 2007, 17:51:45 »
Quizas pueda ayudar en algo.

He desarrollado un proyecto, se trata de un Electro Cardiograma por USB utilizando el famoso 18f4550 y partiendo del aun mas famoso proyecto de JiM.
Bueno, en principio el ECG vendria a ser en el fondo un osciloscopio, pero que funciona a muy bajas frecuencias ... estoy hablando del orden de los 1 a 20 Hz, pues las señales provenientes de los latidos del corazon rodean estas frecuencias. Utilizando el propio ADC del pic, laparte de la adquisicion de datos no me tomo mucho trabajo, lo que mas me incomodaba eran las partes de la transferencia de datos usando el USB y la visualizacion en la pantalla de la señal.  Despues de una larga busqueda y de tratar de hacer esto ya sea usando el LABVIEW o incluso el MATLAB (emulando el rs232) no llegue a buen puerto, pork a decir verdad no conozco mucho el labview y me di cuenta de los problemas que se originaron con la velocidad de adquisicion con el proyecto que JiM adapto para el Labview, por otro lado el Matlab hubiera sido mucho mejor, pero no contaba con la suficiente experiencia para poder jalar la mpusbapi.dll desde alli.

A raiz de esta busqueda surge una alternativa, probablemente no tan comoda, pero poderosa en todo sentido. La solucion estaba en seguir usando el lenguaje de programacion original donde nacio el proyecto de JiM, el Visual C#, pero... añadiendole una poderosa herramienta desarrollada por National Instruments (si ... de los mismos creadores de Labview), el llamado ... "MEASUREMENT STUDIO 8.0"  resulta que este software repotencia las capacidades de los lenguajes de programacion visuales .Net para que sean capaces de trabajar con señales, visualizarlas, procesarlas, filtrarlas, etc etc etc. Asi que esta fue la solucion a mi problema, utilizar este software.

Sin embargo... (aqui vienen los peros) en primer lugar obviamente el measurement studio no es gratuito, sin embargo puede bajarse una version de prueba que dura 3 meses, (suficiente para mis proyectos de universidad), otro inconveniente (y quizas el mayor) es que no funciona con versiones Express Edition del Visual Studio. Asi que la solucion fue "adquirir" (jejeje) la version Profesional del Visual Studio 2005 (1DVD), en la cual viene incluida por supuesto el Visual C#. Una vez superados estos obstaculos, me puse a trabajar.

El Electro Cardiograma funciono de las mil maravillas, la ayuda que da el Measurement Studio es muy grande, por eso tambien me tomo algo de tiempo aprender a utilizar sus potencialidades, sin embargo, mirando para adelante, y justamente en lo que se refiere a hacer un Osciloscopio decente utilizando el puerto USB, mi principal problema esta en el envio de tramas desde el PIC hacia el USB.

Mandando tramas de 64 bytes a la vez, no tengo ningun problema, sin embargo si obtuve problemas cuando intente transferir cualquier cantidad superior a este tamaño. Y por ahi me surge otra duda.

En el ejemplo que vienen incluido en el Compilador CCS , ex_usb_scope.c , se transmiten tramas de 512 bytes, utilizando la funcion usb_puts (que sinceramente aun no se como funciona en el lado de la PC), pero noto que tambien tienen un tamaño de endpoint de TX de 64bytes. Asi que no se por donde va el asunto en este punto.

Definitivamente para mejorar el ancho de banda de el proyecto que tengo, tengo que enviar tramas mas grandes que las de 64 bytes que tengo actualmente, la primera pregunta esta en...

Alguien sabe como utilizar la funcion usb_puts correctamente, tanto en el lado del pic como en el de la Pc?? por favor ayuda.

Aqui les dejo algunas imagenes de como resulto mi proyectillo del ECG.

El Link de Measurement Studio 8.0 :   http://www.ni.com/mstudio/

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #95 en: 03 de Enero de 2007, 19:18:46 »
hola alquimus, enhorabuena por tu ECG está de lujo, espero q puedas postear el CF :)

Respecto a tu duda, esto es lo que dice CCS dentro del archivo usb.c de la carpeta Drivers:

/****************************************************************************
/* usb_puts(endpoint, *ptr, len, timeout)
/*
/* Inputs: endpoint - endpoint to send data out
/*         ptr - points to array of data to send
/*         len - amount of data to send
/*         timeout - time in milli-seconds, for each packet, to wait before timeout.
/*                   set to 0 for no timeout.
/*
/* Summary: Used for sending multiple packets of data as one message.  If sending
/*          only one packet it is more effecient to use only usb_put_packet()
/*
/*****************************************************************************/

usea, que si vas a enviar varios paquetes de una sola vez lo óptimo es usar el usb_puts, si solo vas a enviar un paquete lo mejor es utilizar usb_put_packet, supongo que será debido a que cada vez que envias algo (y dicho de una forma simple) se tiene que abrir y cerrar la comunicación con el puerto, de esta forma si envias varios de una sola vez, solo se tiene que abrir y cerrar una... por lo q optimizas el tiempo.

Saludos y feliz año!

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #96 en: 03 de Enero de 2007, 21:00:23 »
Bueno, aqui les dejo el CF del ECG, ojala les ayude.
Recuerden que probablemente necesitaran tener instalado el Measurement Studio 8.0 ( y por lo tanto el Visual Studio 2005) para que el proyecto del c# funcione.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #97 en: 04 de Enero de 2007, 00:24:04 »
Muy chulo tu proyecto, gracias por compartirlo.

¿Puedes decirnos cómo está implementada la etapa de adquisición de señal?

Desconectado Alquimus

  • PIC12
  • **
  • Mensajes: 50
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #98 en: 04 de Enero de 2007, 02:46:23 »
Veamos, aqui va el circuito de la captura de señal:

El proyecto esta basado en el Amplificador Instrumental AD620, si buscan el datasheet de este amplificador, encontrarn mas datos y detalles de como usarlo. Pero la idea es casi siempre la misma, utilizar un Amplificador Instrumental, un Filtro Pasa Altas y un Amplificador, como se muestra en el esquema. El principal problema del ECG esta en adquirir la señal y evitar el ruido en todas sus formas, y la principal fuente de ruido para señales de tan baja frecuencia proviene de la red de alimentacion, es por eso que en la etapa de diseño, implementamos un filtro pasabanda con frecuencias de corte en 0.3 Hz y 45 Hz para eliminar la componente de ruido que generaba la red electrica en los 60 Hz.  Lo cual no funcionaba del todo bien e incluso atenuaba nuestra señal de manera muy considerable.

Fue por eso que se decidio usar alimentacion de baterias, de esta manera eliminamos el ruido de la red electrica. A pesar de todo incluimos un amplificador con ganancia ajustable antes de que la señal entrara al canal ADC del pic.

Otro punto muy importante en el ECG son los electrodos, la calidad y obviamente el precio de estos influye mucho en el tipo de señal que se obtendra. Ademas de eso estan los contactos que se utilicen en los cables, lo ideal seria que fueran de plata, pero utilizando el ingenio se puede lograr una señal decente.

Bueno, este es basicamente el circuito.

Saludos desde AREQUIPA - PERU


Desconectado TheBlooD

  • PIC12
  • **
  • Mensajes: 66
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #99 en: 20 de Enero de 2007, 08:28:18 »
Aqui teneis un proyecto que os puede parecer interesante:

http://www.cmccord.co.uk/FYP/final_report.htm


Desconectado umalrovi

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 158
    • Aplicaciones Electrónicas
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #100 en: 20 de Febrero de 2007, 06:22:30 »
Muy buenas, hoy que tengo un poco de tiempo en el curro se me ha ocurrido visitar parte del foro, ya que muchas veces voy directamente a preguntar y a que me resuelvan la duda. Pues hoy no es así, voy a ver si puedo aportar mi granito de arena.

Yo he comunicado el PIC con el LABVIEW. El labview es un lenguaje de programación gráfica. Para aquellas personas que están acostumbradas a escribir código les costará un poquito entenderlo pero una vez que sabes realizar los típicos bucles, es sencillo.

Mi proyecto consiste en mandar ordenes al pic (en este caso el 16F877) y este que actúe. Yo ahora mismo tengo terminado un proyecto muy sencillo de activar un relé con el PIC, comprobar las comunicaciones, y resetearlo remotamente (con mucha ayuda de este foro). 

ahora mismo estoy desarrolando un proyecto de programar el PIC con el LABVIEW. Me explico, en labview me estoy haciendo un panel frontal en el cual está lleno de botones para activar las E/S, temporizadores, controles para temporizar tiempos, etc... es decir todo lo que se puede programar en el PIC pero con LABVIEW. Para que aquellas personas que no tengan mucha idea de programar el PIC en C, ASM, pues que lo programen desde un panel frontal. En labview ya lo tengo casi liquidado ahora me falta lo más complicado hacer TODO el código en C. A ver si lo termino pronto y os lo posteo.


Bueno que ha venido mi jefe os tengo que dejar. Durante esta semana os subo uno de mis promeros proyectos.

un saludo.
Aplicaciones Electrónicas
http://www.neoingenia.com/

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #101 en: 20 de Febrero de 2007, 07:37:25 »
ME interesa mucho ver ese proyecto, si es posible no lo dejes y postealo, ya que llevo tiempo pensando en algo asi.
Gracias

adbensi

  • Visitante
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #102 en: 20 de Febrero de 2007, 08:55:04 »
ME interesa tambien ver ese proyecto, gostaria mutcho de converte-lo para dsPIC, se me permitir.
Gracias

Desconectado plzosc

  • PIC10
  • *
  • Mensajes: 2
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #103 en: 07 de Septiembre de 2007, 14:27:29 »
He realizado mi propio proyecto osciloscopio para pc, es una primera version ya que todabia me queda mucho por hacer. Ya he conectado mi pic2550 al ordenador y he modificado mi software para funcionar con él(va de lujo). Quiero mejorarlo para dspic y en este momento en mi web he puesto la version para tarjeta de sonido para que le echeis un vistazo y me digais que os aprece.

http://www.pcpeliz.com

Desconectado patric2007

  • PIC10
  • *
  • Mensajes: 16
Re: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #104 en: 10 de Septiembre de 2007, 12:35:23 »
Felicitaciones, plzosc. Es un buen trabajo, deberias abrir un post para que lo comentes y que este a la vista de todos


 

anything