Reporte Proyecto Final
Reporte Proyecto Final
Reporte Proyecto Final
Departamento de Ingeniera en Comunicaciones y Electrnica F.I.M.E.E. Liliana C. Orozco Prez Ana Karen Rico Estrada Pedro Oviedo Mendoza Pedro Alejandro Barrn Garca
Objetivo
Que el alumno disee y desarrolle una tarjeta de adquisicin de datos con el pic 18F4550 as como una interfaz entre la computadora y la tarjeta para poder observar los datos obtenidos grficamente. Introduccin
Que es una tarjeta de adquisicin de datos? Es adquisicin de seales la cual consiste en la toma de muestras para generar datos que puedan ser manipulados por un ordenador. Consiste, en tomar un conjunto de seales fsicas, convertirlas en tensiones elctricas y digitalizarlas de manera que se puedan procesar en una computadora. Se requiere una etapa de acondicionamiento, que adecua la seal a niveles compatibles con el elemento que hace la transformacin a seal digital. El elemento que hace dicha transformacin es el mdulo de digitalizacin o tarjeta de Adquisicin de Datos (DAQ).[1] La adquisicin de datos se inicia con el fenmeno fsico o la propiedad fsica de un objeto que se desea medir. La capacidad de un sistema de adquisicin de datos para medir los distintos fenmenos depende de los transductores para convertir las seales de los fenmenos fsicos mensurables en la adquisicin de datos por hardware.[2] DAQ hardware son por lo general las interfaces entre la seal y un PC. Podra ser en forma de mdulos que pueden ser conectados a la computadora de los puertos (paralelo, serie, USB, etc...).[2] Driver software normalmente viene con el hardware DAQ o de otros proveedores, y permite que el sistema operativo pueda reconocer el hardware DAQ y dar as a los programas acceso a las seales de lectura por el hardware DAQ. Un buen driver ofrece un alto y bajo nivel de acceso.[2] Desarrollo
Para poder realizar nuestra tarjeta de adquisicin de datos ocupamos el PIC 18F4550 de la familia de microchip el cual cuenta con comunicacin USB esto nos facilit la interconexin entre la tarjeta de adquisicin de datos y la computadora.
Primero se realiz el cdigo en PIC C Compiler y se arm el circuito en el simulador PROTEUS, para que proteus pueda simular un dispositivo USB, se tiene primero que instalar la aplicacin Virtual USB.
Una vez que se ha instalado este software ya se puede ejecutar la simulacin de proteus y se procede a correr el .hex generado de la compilacin del cdigo en picc, cuando el programa numera el dispositivo automticamente se pondr el LED en color verde, lo que significara que podemos pasar a instalar la actualizacin del driver para que podamos visualizarlo en el entorno de Labview.
Los pasos anteriores se realizan solo para poder simularlo, cuando se conecta el dispositivo fsico es un poco diferente la instalacin de los driver para que la PC reconozca nuestro dispositivo en Labview, ese proceso se describir ms a detalle a continuacin Cuando se conecta en la pc nuestra tarjeta de adquisicin de datos aparecer un nuevo dispositivo y aqu hay que instalar el driver utilizando la aplicacin Driver Wizard de Labview. Al ejecutarse la aplicacin lo primero que hay que seleccionar es que tipo de hardware vamos a conectar en este caso USB y dar click en siguiente como se muestra a continuacin.
Aqu solo debemos dar click en aceptar, para que la computadora instale el driver y quite el que por default instala cualquier Windows.
Para llevar a cabo este tipo de comunicacin se debe tener en cuenta el protocolo USB. El compilador CCS contiene libreras para facilitar esta tarea. Se usaron las libreras : *pic18_usb.h *usb_desc_hid.h *usb_desc_scope.h *usb.c De estas libreras se utilizarn las funciones siguientes: usb_init(), la cual inicializa la pila USB, los perifricos USB y permite interrupciones. usb_wait_for_enumeration(void), esta funcion espera hasta que el PICUSB sea configurado por el host. usb_enumerated(void), esta funcin retorna true si el PIC ya est configurado y False si no lo est, la cual a su vez activa el led en color verde cuando ya enumero el dispositivo.
usb_kbhit(1), si el PIC ha recibido datos del labview esta funcin retorna true y false si no hubo cambio. usb_put_packet(in endpoint, int *ptr, int16 len, USB_DST_BIT tgl), esta es una de las funciones principals para el diseo de la tarjeta de adquisicin de datos, pues se usa para enviar los datos del PIC al labview, como parmetros se deben pasar, el end point donde se requieren enviar los datos, el dato a enviar, el tamao del dato y por ultimo por cual de los canales data se dene enviar DATA0, DATA1 o cambiar de DATA a cada envo USB_DST_TOGGLE, que es lo que se implement en este proyecto. usb_get_packet(int8 endpoint, int8 *ptr, int16 max), esta es la segunda function mas importante puesto que es la funcin que se usa para recibir datos que enviamos desde el Labview, como parmetros se deben pasar, el end point por donde se quieren enviar los datos, el puntero donde se guardar el dato y el tamao del dato. Las libreras anteriormente sealadas, disponen de muchas ms funciones que las que acabamos de mencionar, pero para este proyecto solo son necesarias estas cinco. Se configuro el ADC para que el canal A0 fuera la entrada de manera analgica y se selecciona que puerto vamos a ocupar en este caso seleccionamos el puerto B como salida. El valor de la frecuencia se lee desde la interfaz de labview este valor se asigna a una variable en el pic, para poder convertir esto a un ciclo de trabajo y poderlo transmitir a la seal cuadrada de salida se utiliz la formula (1).
F=
---------------(1)
Para hacer la seal cuadrada se uilizo la funcin delay_ms cuyos parmetros de entrada estn en milisegundos razn por la cual este ciclo de trabajo C, se convirti a milisegundos obeniendo como resultado final la formula expresada a continuacin:
C=
1. Byte recibido y Byte enviado, nos sirve para monitorear que los datos se transmitan y se reciban de manera correcta. 2. En VISA resource name aparece el nombre que driver wizard le asigna a nuestro dispositivo. 3. El control asigna la frecuencia deseada para la seal cuadrada. 4. Waveform nos permite graficar la seal adquirida por la tarjeta. A continuacin se mostrara el diagrama a bloques que hace posible la comunicacin de Labview con al pic y se dar una breve explicacin de la funcin que realiza cada seccin.
1.-Visa Open Function Abre una sesin para el dispositivo especificado con el nombre de VISA y devuelve un identificador de sesin que puede ser utilizado para llamar a cualquier otra operacin de dicho dispositivo. 2.-VISA Enable Event Function Permite la notificacin de un tipo de evento en concreto. 3.-VISA Write Function Escribe los datos del buffer de escritura en el dispositivo o interfaz especificado por nombre de recurso VISA. 4.-VISA Wait on Event Function Suspende la ejecucin de un subproceso de aplicacin y espera a un evento para un perodo de tiempo no superior a la especificada por el tiempo de espera. 5.-VISA Get USB Interrupt Data VI Recupera los datos de alarma que se almacenan en un evento de interrupcin USB VISA 6.-VISA Close Function Cierra una sesin del dispositivo u objeto especificado por nombre de recurso VISA El control de la frecuencia tiene programada la condicin de activar o desactivar la transmisin de datos, si la frecuencia es 0, se desactiva la transmisin y solo veremos la grfica funcionando de acuerdo a los datos que se estn recibiendo, cuando la frecuencia es distinta de 0 entonces se deshabilita la recepcin de datos y podremos observar con un osciloscopio a la salida del PIC una seal cuadrada de la frecuencia establecida en la interfaz de labview, a continuacin se mostraran algunas imgenes de la tarjeta de adquisicin de datos en funcionamiento.
En las imgenes anteriores se puede observar que el LED indicador de la conexin USB con la PC est encendido, esto nos permite saber que se ha llevado a cabo de manera correcta.
Estas imgenes nos muestran que tarjeta est adquiriendo de manera correcta la seal senoidal creada por el generador de funciones, se coloc el osciloscopio para corroborar la seal mostrada en la grfica de Labview.
En estas imgenes mostramos el resultado de variar el control de la frecuencia de Labview asignando una f=2Hz, el osciloscopio muestra la seal registrada en la terminal de transmisin del PIC y se puede comprobar que es una seal cuadrada de 2 Hz.
En este caso tenemos una frecuencia de 10Hz y comprobamos nuevamente con el osciloscopio que la seal generada por la tarjeta de adquisicin de datos es de la frecuencia asignada.
Se realiz una ltima prueba con una frecuencia de 100Hz, y se puede observar en el osciloscopio que esta frecuencia se cumple correctamente.
Como ltimo paso se realiz la tarjeta de adquisicin de datos en una placa fenlica y su respectivo PCB para darle una mejor presentacin a nuestro proyecto.
Conclusiones Liliana C. Orozco Prez: Este proyecto represento un buen reto para m porque no tena ningn conocimiento del protocolo USB, ni del software Labview para la intercomunicacin entre un PIC y una PC, es muy satisfactorio haber podido realizar correctamente la tarjeta de adquisicin de datos, entend muchos de los conceptos necesarios para la transmisin y recepcin de datos a travs de una interfaz grfica como lo es ese software de comunicacin, fue de gran ayuda que entre las libreras de PIC C ya existieran algunas que especficamente con funciones para la comunicacin USB, primero comenzamos investigando como disear un driver para hacer que la computadora reconociera nuestro dispositivo como una tarjeta NI Visa y el programa pudiera conectarse correctamente, nos ayudamos del simulador Proteus que nos permite simular un dispositivo USB Virtual y as pudimos hacer pruebas de depuracin ms rpidamente y evitando errores de conexiones fsicas, o algo de ese tipo. Cuanto obtuvimos una comunicacin continua en el simulador, armamos el circuito fsico y desarrollamos el driver necesario con el Wizard Driver una aplicacin que se instala como complemento de Labview, y que permite volver un dispositivo desconocido en una tarjeta NI Visa que el software pueda reconocer como propia y nos permita utilizar los bloques de funciones implementados en labview para la comunicacin USB, cuando pudimos conectar la tarjeta fsica lo dems fue fcil, porque utilizamos el ADC del PIC y convertir la seal adquirida para poder graficarla con la PC y en caso contrario, pudimos recibir la seal enviada por la PC y utilizarla como un parmetro para calcular el ciclo en alto y en bajo de la seal, y generar una seal cuadrada de la frecuencia establecida por el software, en general es buen proyecto para aprender los conceptos necesarios para la comunicacin por el protocolo USB. Ana Karen Rico Estrada En la realizacin de este proyecto, tarjeta adquisicin de datos, usamos la comunicacin HID USB con el pic 18f4550, esto por la facilidad de conseguir el material y porque se ha tenido conocimiento del trabajo de un pic, como fue la primera vez usando este pic se tuvo que investigar cmo tener la comunicacin del pic con la computadora, en este caso se logr con la interfaz de labview. Durante la investigacin aprend que no es necesario realizar un driver para Windows o cualquier sistema operativo con cdigos o algo ms complicado como tena pensado en un principio, si no que cada pic tiene un VID y un PID (son dos nmeros de
16 bits representados en Hexadecimal) diferente esto para que si una persona desease hacer un proyecto a vender no tenga problemas despus por dichos nmeros, entonces al ser diferentes, y al ser una clase HID, con un driver que tiene cada PC de Windows ya instalada se detecta y genera un driver genrico como es cuando se conecta un mouse, joystick, o cualquier hardware. Si el firmware de la PC no tiene dicho driver es necesario hacer uno, pero en este caso fue uno genrico y usando el VID y PID para el driver en labview. En base a un tutorial encontrado en internet, se logr dicha comunicacin. Primeramente con un cdigo en picc basado y encontrado en la web usando el driver pic18_usb.h, usb_desc_hid.h y la librera usb.c fueron de gran ayuda para que el pic fuese reconocido en la computadora, el circuito se simul primeramente en proteus donde en este tambin se instal un complemento para poder utilizar la entrada USB y que la PC lo reconociera como dispositivo de entrada. En la interfaz de labview se colocaron funciones de usb para que abriera, leyera, y escribiera sobre dicha comunicacin e hiciera las conversiones adecuadas para lograr lo deseado, todo esto con la instalacin de otro complemento o aplicacin de labview llamado NI VISA. Haciendo lo anterior, al no tener errores, y simulando el circuito, la computadora reconoci dichos dispositivos usb como NI VISA HID en la PC y en labview, obteniendo as resultados esperados. Despus de eso se tuvo que hacer fsico para comprobar resultados. El driver para labview se us driver wizard que pertenece a ni visa donde se usaron nmeros de vid y pid del pic que se leen automticamente en dicho complemento al ser detectado por la pc y as logrando resultados. Pedro Oviedo Mendoza La implementacin de la tarjeta de adquisicin de datos permiti conocer algunas herramientas nuevas dentro del entorno LabView tales como: Visa Open Function, VISA Enable Event Function, VISA Write Function, VISA Wait on Event Function, VISA Get USB Interrupt Data VI y VISA Close Function, las cuales son necesarias para establecer el protocolo de comunicacin via USB entre el Pic y la computadora, a grandes rasgos dichas funciones permiten reconocer, ennumerar , enviar y recibir datos entre el ordenador y el microcontrolador asi como cerrar la sesion del dispositivo. Otros bloques de funciones fueron utilizados en Labview los cuales permiten que la tarjeta de adquisicin logre graficar y generar las seales. Tambien el microcontrolador debe ser cargado con el archivo .HEX generado tras la correcta compilacin del cdigo .C realizado en la plataforma PCW dicho cdigo permite que los puertos sean configurados de acuerdo a lo programado en labview, en este tambin deben incluirse los descriptores utilizados para la comunicacin USB; cabe mencionar que la tarjeta de adquisicin de datos funciona mediante USB-HID (por sus siglas en ingls Human Interface Device), o dispositivo de interfaz humana , hace referencia a un tipo de interfaces de usuario para computadoras que interactan directamente, a partir de entradas provenientes de humanos, tales como los mouses y teclados, se opt por esta comunicacin a pesar de su lenta transmisin de datos porque al conectar el dispositivo la computadora le asigna un driver genrico, es decir, no es necesario realizar el driver simplemente hay que seguir los pasos para la instalacin de Visa para que LabView reconozca el dispositivo. Pedro Alejandro Barrn Garca En este proyecto se realiz una tarjeta de adquisicin de datos por medio del PIC 18F4550 el cual cuenta con el modulo USB y esto nos permiti realizar la comunicacin entre la tarjeta de adquisicin de datos y la computadora ,para esto necesitamos Labview para que se de la intercomunicacin entre el PIC y la computadora.
Lo primero que realizamos fue que la computadora nos reconociera al PIC con un dispositivo de tarjeta NI Visa el cual abre una sesin para el dispositivo especificado con el nombre de VISA y devuelve un identificador de sesin que puede ser utilizado para llamar a cualquier otra operacin de dicho dispositivo, todo esto lo realizamos en Proteus simulando nuestro dispositivo USB para poder realizar pruebas y checar que funcionara correctamente antes de realizar nuestra PCB. Ya teniendo la comunicacin establecida virtualmente lo armamos y se instal el driver por medio de Wizard Driver para que la tarjeta la reconozca como tarjeta NI y se pueda utilizar los bloques de Labview y se de la comunicacin USB ya teniendo la comunicacin se graficaron los datos obtenidos y se gener la seal cuadrada de salida.
Referencias