DAQ USB con pic 18f4550

#1
Hola amigos del foro, vengo ahora con un tema bastante bueno... se trata de una tarjeta de adquisicion y control de datos similar a la de National Instruments, el costo para construirla es de unos 20 dolares... economica teniendo en cuenta el costo de las tarjetas comerciales

Las prestaciones son las siguientes;

· 8 entradas analógicas resolución 10 bits (Puerto RA0:RE2)

· 8 entradas digitales (Puerto RB0:RB7)

· 8 salidas digitales (Puerto RD0:RD7)

· Comunicación USB (emulando RS232)

Acepto todo tipo de critica que vaya en bien del desarrollo de este proyecto... suguerencias y comentarios son bienvenidos y si pueden mejorarlo, quedare eternamente agradecido

Incluyo agradecimiento a paginas amigas que me dieron toda la informacion para desarrollar el proyecto,..el credito es todo de ellas"
 

Adjuntos

Última edición:
#2
Olvide algo... el DAQ es compatible con el sistema operativo de 64 bits WIN 7 pero tendras que usar el driver que adjunto ahora mismo el el archivo comprimido...
 

Adjuntos

#3
Gracias, yo estoy haciendo algo parecido, pero en "usb puro".
EDIT: Podrias poner el código fuente del programa de PC?
 
Última edición:
#4
nunca habia visto esa configuracion del cristal, en serie con un condensador a tierra y sin involucrar el otro pin, es un error en el circuito o realmente eso funciona?
 
Última edición por un moderador:
#5
...gonzalocg es cierto hay un error en el esquematico... gracias por advertirmelo,
aunque la simulacion si funciono debido a que tu configuras la velocidad del cristal en el cuadro de opciones que te sale al cargar el *.hex
Gracias, yo estoy haciendo algo parecido, pero en "usb puro".
EDIT: Podrias poner el código fuente del programa de PC?
ese codigo fuente esta echo en delphi... lo encontraras en www.sixca.com

..seguramente en el archivo anterior no muestra las imagenes .. adjunto un nuevo archivo correjido el problema
 

Adjuntos

Última edición:
#7
Hace unos dias tube la visita de un amigo que decia que se debe acondicionar las entradas, para que este prospecto de DAQ tenga una funcionalidad valida, en parte tubo mucha razon, sin embargo circuito universal para acondicionamiento de senales no existe,... me explico; acondicionar una senal para recibir datos de un sensor de luz, no sera lo mismo que acondicionarlo para recibir temperatura, o presion... hasta los mejores DAQ necesitaran de circuitos externos de acondicionamiento.

Sin embargo este DAQ puede trabajar perfectamente con labVIEW o measurement Studio, estos paquetes de software poseen filtros digitales, sumadores, restadores, multiplicadores,.. y otras librerias que te pudieran servir para acondicionar la senal, evitandose de esta forma el hardware adicional
 
Última edición:
#8
hola amigo estube buscando por la web un circuito de adquisicion de datos usb y encontre este foro quiero construirme uno para hacer pruebas de comunicacion entre labview y hardware. una consulta esta tarjeta me va a protejer la compu de algun fallo que pueda suceder en mis proyectos
 
#9
Todo el maltrato recibira tu desafortunado PIC (a tu compu no le pasara nada), a lo mucho tendras que comprar PIC nuevo.
Revisa el archivo completo.rar que subi anteriormente, ahi tienes todos los detalles para construirlo esquemas, fotos y PCB. recuerda cualquier duda estoy a las ordenes
 
Última edición:
#11
Gracias titocokmente, ahora mismo voy a revisar la pagina que me recomiendas; tengo el mismo problema, a frecuencias mayores a 1Khz ya no funciona, sin embargo el codigo fuente el que estoy trabajando tiene algunas ventajas

8 analogicas resolucion 10bits
8 salidas digitales
8 entradas digitales

y quiero adaptarle unas dos salidas PWM

si logramos cambiar el codigo fuente y en lugar de utilizar el CDC rs232, utilizamos HID.. se seguro mejoraremos la velocidad de adquisicion
saludos
 
Última edición:
#12
En principio y sin mirar el codigo opino que mientras mas canales analogicos adquieras al mismo tiempo, mas lenta es la conversion. Has contemplado el uso de interrupciones?
 
#13
En realidad no lo he programado yo, el *hex baje de www.sixca.com, pero para mejorarlo propongo que antes de empezar a adquirir datos, se deberia entrar en modo configurarcion, para especificar cuantos canales analogicos muestrear...

la velocidad de comunicacion es de 19200bps, emulando RS232. de seguro con interrupciones se mejoraria el desempeno... no se en realidad el codigo no lo tengo

Nota: para entender como funciona, bajate el archivo completo.rar, que subi anteriormente

saludos
 
Última edición:
#14
HOLA yo me encuentro desarollando un proyecto similar , es un multimetro digital con interface al pc por medio de USB e interfaz grafica en labview ya logre que el pc me reconozca el pic, yo hago la comunicacion por medio del modo CDC, pero ahora necesito enviar una señal por el cad del pic y me encuentro en la etapa de acondicionamiento de la señal para poder medir en labview el voltaje y si es posible visualizar la señal, en principio es la señal de la red electrica, mi pregunta es si esos filtros digitales que tiene labview en verdad pueden ayudarme a filtrar la señal??? para evitarme mas hardware en la etapa de acondicionamiento??????
gracias agradezco su ayuda y tan pronto tenga listo el proyecto posteare ya que esto me ha servido muchisimo
 
#15
mi pregunta es si esos filtros digitales que tiene labview en verdad pueden ayudarme a filtrar la señal??? para evitarme mas hardware en la etapa de acondicionamiento??????
gracias agradezco su ayuda y tan pronto tenga listo el proyecto posteare ya que esto me ha servido muchisimo
estimado amigo, labVIEW tiene excelentes funciones para el filtrado de la señal, pero no siempre puedes sustituir el hardware, todo depende, debes asegurarte que la senal de ingreso este acondicionada en un rango entre 0 y 5 voltios para no dañar a tu PIC... ademas si vas utilizar el DAQ que propongo, la frecuencia de la señal, si es alterna debe ser menor a 1KHz.

si muestras tu esquema y tu codigo fuente talvez te pudiera ayudar mejor. saludos
 
#16
hola que tal mira sera factible poner el ULN2803 en las salidas del PIC18F4550 para proteger al micro y no se me queme, porque el ULN2803 es unidireccional
 
#17
Hola dinoelectro muchas gracias por tu ayuda efectivamente el rango que estoy manejando para la entrada al pic es entre 0 y 3 voltios consta de 2 operacionales el primero es un atenuador en modo diferencial de 10 a 1,es decir que si entran 30 voltios a la salida del amp op tendre 3 voltios, este es el m{aximo valor que puede entrar, ya que utilizo un transformador cuya salida solo da hasta 30 volts ac, luego utilizo un circuito sumador con amplificador operacional para subir esta señal senoidal a un nivel positivo y poder trabajarla en el pic y asi poderla enviar a labview.

sin embargo esta señal no es muy buena, a lo ultimo le coloque un condensador electrolitico de 1uf y mejoro muchisimo, pero la verdad quiero utilizar filtros digitales y verificar que si funcionen, solo que hasta el momento solo tengo la etapa de acondicionamiento y estoy trabajando en la conversion ad para poder ver la señal en labview
 

Adjuntos

#18
Hola dinoelectro muchas gracias por tu ayuda efectivamente el rango que estoy manejando para la entrada al pic es entre 0 y 3 voltios consta de 2 operacionales el primero es un atenuador en modo diferencial de 10 a 1,es decir que si entran 30 voltios a la salida del amp op tendre 3 voltios, este es el m{aximo valor que puede entrar, ya que utilizo un transformador cuya salida solo da hasta 30 volts ac, luego utilizo un circuito sumador con amplificador operacional para subir esta señal senoidal a un nivel positivo y poder trabajarla en el pic y asi poderla enviar a labview.
Hola yurilema, sabes que es muy probable que el transformador este introduccionedo ruido electromagnetico, si puedes reemplazarlo por un optoacoplador seria mejor... hace unos dias publique un documento en este mismo foro llamado "Tecnicas para ahorrar hardware con PIC micros" ahi menciono como recibir altos voltajes a traves de una resistencia de 1M... talvez esa info te pudiera servir de algo... saludos amigo cuentame como esta yendo todo, he??? saludos

hola que tal mira sera factible poner el ULN2803 en las salidas del PIC18F4550 para proteger al micro y no se me queme, porque el ULN2803 es unidireccional
claro que si yo he conectado un ULN2803 para controlar unos reles, motores de paso, matrices de LED etc... funciona perfecto... pero si lo que deseas es controlar motores de corroente continua, te recomiendo mejor el L293D. saludos
 
Última edición:
#19
hola amigo dinoelectro, espero que te encuentres muy bien y de antemano te doy las gracias por tu valiosa ayuda.
de nuevo acudo a ti, estoy tratando de adquirir un voltaje dc del adc del pic y que este sea mostrado en pantalla en el labview por medio de un wave form chart, pero tengo duda si puedo hacer que los valores que recibo en el puerto se interpreten en el programa como numeros decimales, por otro lado aunque hago un retardo muy pequeño la comunicaci{on es demasiado lenta no se que pueda estar pasando.

te envio el vi de labview y el programa del pic, la interfaz la realizo por medio del USB emulando un puerto serial
 

Adjuntos

#20
ahora lo reviso... pero dime estas enviando codigos ASCII y quieres transformarlos a formato decimal?... para que labview los pueda graficar?? si es asi labview tiene funciones para transformar datos a decimal... revisa string to number conversion functions entre las librerias de labview
 
Arriba