Vous êtes sur la page 1sur 81

INSTITUTO TECNOLGICO DE CELAYA

INSTITUTO TECNOLGICO DE CELAYA

COMUNICACIN SERIAL ENTRE UN PIC Y LA PC PARA LA ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS UTILIZANDO LABVIEW COMO SOFTWARE DE PROGRAMACIN.

MEMORIA DE RESIDENCIAS PROFESIONALES.

PRESENTA: CARLOS ISRAEL VALLEJO IBARRA.

ASESOR: DR. JORGE ALBERTO GARCA MUOS.

CELAYA, GTO. MAYO 2007

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS SERIALES

INSTITUTO TECNOLGICO DE CELAYA

A MIS PADRES Y HERMANOS


Por todo el apoyo incondicional que sin ningn inters me han brindado a lo largo de toda mi vida.

A MIS FAMILIARES Y AMIGOS


Por el afecto y la amistad que siempre me han ofrecido.

A MIS ASESORES Y PROFESORES


Por el compartir de sus conocimientos y por sus muchas atenciones que de ellos hemos recibido.

INSTITUTO TECNOLGICO DE CELAYA

NDICE INTRODUCCIN . 6 I. MARCO DE REFERENCIA.


1.1. Antecedentes .. 9 1.2. Justificacin 9 1.3. Objetivos generales y especficos ... 9 1.4. Caracterizacin de la empresa y del rea especfica .. 1.5. Problemas a resolver .. 1.6. Alcances y limitaciones . 9 10 10

II.

FUNDAMENTO TERICO.
2.1. Teora de la comunicacin serial ... 2.2. El cdigo ASCII 2.2.1. Caracteres de control ASCII 2.3. Eleccin de los software de programacin 2.4. Principales caractersticas del BS2e .. 2.5. La comunicacin serial en el BS2e ... 2.5.1. Comandos SERIN Y SEROUT ... 2.6. Principales caractersticas de LabVIEW ... 2.7. Comunicacin en LabVIEW . 2.7.1. VISA ... 2.8. La comunicacin serial en LabVIEW ... 11 14 15 16 16 18 18 20 24 24 25

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS SERIALES

INSTITUTO TECNOLGICO DE CELAYA

III.

DESCRIPCIN DE ACTIVIDADES DESARROLLADAS Y RESULTADOS.


3.1 Desarrollo del Proyecto final .......................................................... 3.1.1 Objetivos del proyecto .. 3.1.2 Diseo del programa en PIC . 3.1.3 Diseo del panel de control en LabVIEW 3.1.4 Diseo del diagrama a bloques en LabVIEW .. 3.1.5. Instrumento diseado para la recuperacin de graficas ... 3.2 Pruebas y Resultados .. 3.2.1 Prueba 1 3.2.2 Prueba 2 27 27 28 32 36 48 49 49 58 69 79

IV. V.

CONCLUSIONES. ............................................................. BIBLIOGRAFIA. .........................

APENDICES: A Principales comandos usados en lenguaje PBASIC. B Programa en PIC diseado para la prueba numero 1. C Programa en PIC diseado para la prueba numero 2.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

INSTITUTO TECNOLGICO DE CELAYA

NDICE DE FIGURAS.
CAPITULO I Fig.1.1 Plano del ITC...8 CAPITULO II Fig.2.1 Conector externo de la computadora y expuesto del cable........................13 Fig.2.2 Tarjeta de pruebas Basic Stamp y BS2e................................................................................17 Fig.2.3 De derecha a izquierda, diagrama a bloques y el panel frontal.22 Fig.2.4 Paleta de herramientas.......................22 Fig.2.5 Paletas de funciones y controles................................23 Fig.2.6 Ejemplo de derecha a izquierda de una buena y mala conexin...........................................24 Fig.2.7 VISA configure serial port.vi25 Fig.2.8 VISA write....................25 Fig.2.9 VISA Read....26 Fig.2.10 VISA close..26 CAPIULO III Fig.3.1 Diagrama de flujo del programa en PIC31 Fig.3.2 Parte del panel de control...............................34 Fig.3.3 Segunda parte del panel de control....................35 Fig.3.4 Tercera parte del panel de control..36 Fig.3.5 Funcin Case structure...................................37 Fig.3.6 Stacked sequence...........................................37 Fig.3.7 Subdiagrama que enva datos de configuracin hacia el PIC................................38 Fig.3.8 Funcin VISA write...................................38 Fig.3.9 Caso de un error en la transmisin.39 Fig.3.10 Segundo subdiagrama que muestra un retraso de tiempo....................39 Fig.3.11 Subdiagrama para lograr la sincronizacin..........................................................40 Fig.3.12 SERIAL Read with Timeout.................................................41 Fig.3.13 VISA Read...............................................41 Fig.3.14 For Loop...............................................41 Fig.3.15 Subdiagrama donde se lleva a cabo la recepcin y el manejo de los datos..42 Fig.3.16 Get Date/Time String...43
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.17 Write waveforms to file.vi...43 Fig.3.18 Panel de control y Diagrama a bloques de Write waveforms to file.vi44 Fig.3.19 Mean.vi44 Fig.3.20 Array Max & Min....44 Fig.3.21 subIV FILE.vi..45 Fig.3.22 Panel de control y diagrama a bloques de FILE.vi......45 Fig.3.23 subIV SERIAL.46 Fig.3.24 Diagrama a bloques de SERIAL.vi...46 Fig.3.25 Panel de control de SERIAL.vi.47 Fig.3.26 Panel de control de graficado.vi...48 Fig.3.27 Diagrama a bloques de Graficado.vi....49 Fig.3.28 Controles: nmero de muestras, tiempo entre muestras y palabra de inicio....50 Fig.3.29 Inicio de programa, controles para limpiar graficas, especificacin de tiempo y direcciones para archivar la informacin de las lecturas.50 Fig.3.30 Datos actuales de la lectura nmero seis recibida....51 Fig.3.31 grficas que muestran los valores de las variables obtenidos de la octava muestra.51 Fig.3.32 No existen errores de entrada y salida hasta la muestra nmero 10.52 Fig.3.33 De derecha a izquierda: recepcin de datos o bytes indeseables y transmisin de datos de configuracin para el PIC.52 Fig.3.34 Indicador de luz apagado despus de terminada la sesin de recepcin de lecturas53 Fig.3.35 Indicadores de la ltima lectura recibida y resultados estadsticos de los datos obtenidos.53 Fig.3.36 Total de trazos de los valores obtenidos de las variables.54 Fig.3.37 No errores en la recepcin de la ltima lectura54 Fig.3.38 Arreglo con cada una de las muestras recibidas...55 Fig.3.39 Arreglo de fechas en que se obtuvieron cada una de las muestras...........................55 Fig.3.40 Archivo de fechas abierto con block de notas y cada uno de los dems archivos generados por LabVIEW56 Fig.3.41 Grfica del setpoint de temperatura.56 Fig.3.42 Grfica de temperatura.57 Fig.3.43 Grfica del setpoint de humedad..57 Fig.3.44 Grfica de humedad.58 Fig.3.45 Carga del cdigo en el PIC..59 Fig.3.46 Controles: nmero de muestras, tiempo entre muestras y palabra de inicio....59
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.47 Inicio de programa, controles para limpiar grficas y especificacin de tiempo y direcciones para archivar la informacin de las lecturas60 Fig.3.48 Datos actuales de la lectura nmero once recibida..60 Fig.3.49 Grficas que muestran los valores de las variables obtenidos de la lectura nmero once...61 Fig.3.50 No existen errores de entrada y salida hasta la muestra nmero 11.61 Fig.3.51 De derecha a izquierda: recepcin de datos o bytes indeseables y transmisin de datos de configuracin para el PIC.62 Fig.3.52 Indicador de luz apagado despus de terminada la sesin de recepcin de lecturas...........62 Fig.3.53 Indicadores de la ltima lectura recibida.63 Fig.3.54 Resultados estadsticos de los datos obtenidos........63 Fig.3.55 Total de trazos de los valores obtenidos de las variables.....63 Fig.3.56 Los indicadores de error muestran que no hubo errores en la recepcin de la ltima lectura64 Fig.3.57 Arreglo con cada una de las muestras recibidas...64 Fig.3.58 Arreglo de fechas en que se obtuvieron cada una de las muestras...65 Fig.3.59 Archivo de fechas abierto con block de notas y cada uno de los dems archivos generados por LabVIEW....65 Fig.3.60 Grfica del setpoint de temperatura.66 Fig.3.61 Grfica de temperatura.66 Fig.3.62 Grfica del setpoint de humedad..67 Fig.3.63 Grfica de humedad.67 Fig.3.64 Lugar donde se elaboro el proyecto dentro del rea de robtica del laboratorio de electrnica...68 Fig.3.65 Tarjeta de pruebas BasicStamp68

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

INSTITUTO TECNOLGICO DE CELAYA

INTRODUCCIN
Este documento es el reporte final de residencias profesionales, desarrolladas en el Laboratorio de Ingeniera electrnica en el periodo de Agosto a Enero del 2006. El proyecto consisti en la elaboracin de un sistema de comunicacin serial bidireccional entre un microcontrolador y la PC para la adquisicin y control de datos. Como es bien sabido, la comunicacin, desde siempre y en cualquiera de sus formas, ha sido un tema de constante investigacin debido a la trascendencia de la importancia que implica su uso en la sociedad. Particularmente la electrnica ha jugado un papel muy importante en la elaboracin de sistemas de comunicacin de voz y video principalmente, estas invenciones tienen el objetivo de que exista un intercambio directo de informacin entre personas. Al margen de esto, en la actualidad la comunicacin se encuentra expandida en otras formas en las cuales los ordenadores juegan el papel principal en la transmisin de datos. Los ordenadores pueden comunicarse, ya sea, con otros ordenadores (el hombre no tiene intervencin directa) o con diferentes perifricos usando tambin diferentes tipos de protocolos de comunicacin. Es precisamente esta ltima forma de transmisin en la cual el hombre si tiene cierta inherencia en la comunicacin entre un perifrico y un ordenador; como ejemplo, un usuario puede comunicarse con una PC por medio de un mouse, en este caso el perifrico seria el mouse. Relacionado a lo anterior, un ejemplo de un sistema de comunicacin en el que intervenga un ordenador, un perifrico y un usuario podra presentarse en la comunicacin de datos de un sistema fsico en el que se inmiscuye la medicin de variables por medio de sensores como pueden ser de temperatura, presin, humedad, etc. con el propsito del muestreo y almacenamiento de las mediciones de dichas variables en un ordenador. No seria difcil el imaginar la trascendencia que implica la elaboracin de tales sistemas, ya que el muestreo y almacenamiento en un programa que sea capaz de desplegarlos de una manera eficiente y confiable; da, en base a los datos obtenidos, la posibilidad al usuario de adquirir un mejor anlisis de las variables que arroja el muestreo y por lo tanto obtener mejores conclusiones acerca del comportamiento del sistema y, si es necesario, llevar a cabo una mejora en el mismo.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

INSTITUTO TECNOLGICO DE CELAYA

Basndose en esto, el objetivo del presente proyecto es llevar a cabo, de manera segura, la comunicacin serial bidireccional entre un PIC y la PC para el almacenamiento, graficado y muestreo de datos en un panel de control creado en el software de programacin LabVIEW. Como primer paso, se desarrollaran un par de programas en lenguaje PBASIC utilizando el microcontrolador BS2e, el cual viene ya incorporado en una tarjeta de pruebas BASIC Stamp. El cdigo que se crear tendr el fin de simular lecturas de informacin como las que se podran presentar en una pantalla LCD y, con esto, llevar a cabo la transmisin de dichas lecturas va serial con la PC. Como segundo paso, esta informacin se recabar, se graficar y se mostrar en un panel de control el cual se implementar en LabVIEW. El software de programacin que se utilizara para este proyecto ser el LabVIEW versin 7.0.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

INSTITUTO TECNOLGICO DE CELAYA

MARCO DE REFERENCIA.
Las residencias profesionales se llevaron a cabo dentro del Instituto Tecnolgico de Celaya, desarrollndose especficamente en el laboratorio de Ingeniera Electrnica en el rea de robtica. El Instituto tecnolgico de Celaya es una institucin de educacin pblica altamente reconocida a nivel nacional por su calidad en materia de educacin en nivel superior, con una existencia de 49 aos. Actualmente se imparten 10 licenciaturas y 9 posgrados y esta ubicada en calle Garca Cubas y Avenida tecnolgico en la ciudad de Celaya Gto. En la figura 1.1 se observa un plano del Instituto Tecnolgico de Celaya.

Fig.1.1 Plano del ITC.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

INSTITUTO TECNOLGICO DE CELAYA

1.1 ANTECEDENTES. Actualmente el Instituto tecnolgico de Celaya es una institucin certificada con lo cual se avala su reconocimiento en educacin superior, cuenta con un promedio de 4000 estudiantes repartidos en las distintas ingenieras y licenciaturas que se imparten dentro de este tecnolgico, hoy por hoy, la carrera de Ing. Electrnica esta reconocida y avalada por un organismo revisor que, en base a auditorias realizadas sobre la calidad de la educacin, logr obtener la acreditacin por parte de dicho organismo. Cabe mencionar que algunas otras carreras estn siguiendo este mismo camino. 1.2 JUSTIFCACIN. Como se mencion con anterioridad, el diseo de un panel de control bien elaborado que sea capaz de mostrar informacin importante acerca del comportamiento de un sistema es una herramienta trascendental e interesante para el anlisis del sistema a controlar ya que acrecienta las posibilidades de desarrollar una mejora en el mismo. Esta informacin comprendera las mediciones de los valores de las variables, la fecha, hora, graficado y clculos estadsticos de los mismos, entre otras cosas de las que se hablar mas adelante en el presente documento. 1.3 OBJETIVOS GENERALES Y ESPECFICOS. 1.- El objetivo general es conocer las herramientas necesarias en ambos software ( PBASIC y LabVIEW ) con el propsito de entenderlas y utilizarlas en la elaboracin del proyecto para lograr los objetivos pretendidos. 2.- El objetivo especfico es lograr la comprensin de la comunicacin serial tanto en LabVIEW como en PBASIC y el despliegue de los datos adquiridos de una manera eficiente en un panel de control. 1.4 CARACTERIZACIN DE LA EMPRESA Y DEL AREA ESPECFICA. Las residencias se desarrollaron en el laboratorio de electrnica en el rea de robtica. La carrera de Ing. Electrnica cuenta con un promedio de 340 estudiantes y 12 profesores. El propsito de la carrera es formar profesionistas capaces para resolver problemas sociales que estn vinculados con la electrnica, actualmente esta carrera cuenta con una acreditacin.
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

INSTITUTO TECNOLGICO DE CELAYA

1.5 PROBLEMAS A RESOLVER. A partir de la definicin del proyecto, los problemas principales que se presentaron fueron los siguientes:

o La eleccin tanto del microcontrolador como del software de programacin que se usaran.
o Adentrarse tanto en la programacin del LabVIEW, el cual utiliza un lenguaje tipo G, as como en la programacin en lenguaje PBASIC para el microcontrolador BS2e.

o Entender el modo de funcionamiento de la comunicacin serial y sus parmetros en ambos


software para el buen acoplamiento entre ellos. 1.6 ALCANCES Y LIMITACIONES. Se pretende alcanzar los objetivos planteados durante el periodo de duracin de residencias, el cual comprende de agosto a diciembre del 2006. Hasta este momento es solo con el propsito de cumplir con el requisito de residencias; sin embargo, como ya se menciono, se pretende que pueda ser tomado, mas adelante, como memoria de residencias para fines de titulacin.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

10

INSTITUTO TECNOLGICO DE CELAYA

II.

FUNDAMENTO TERICO.

A continuacin se presenta la explicacin de la informacin terica ms importante que se debe tener en cuenta como apoyo para la elaboracin del proyecto. 2.1 TEORIA DE LA COMUNICACIN SERIAL. La comunicacin serial es un protocolo muy comn (no hay que confundirlo con el Bus Serial de Comunicacin, o USB) para comunicacin entre dispositivos que se incluye de manera estndar en prcticamente cualquier computadora. La comunicacin serial es tambin un protocolo comn utilizado por varios dispositivos para instrumentacin; existen varios dispositivos compatibles con GPIB que incluyen un puerto RS-232. Adems, la comunicacin serial puede ser utilizada para adquisicin de datos si se usa en conjunto con un dispositivo remoto de muestreo. El concepto de comunicacin serial es sencillo. El puerto serial enva y recibe bytes de informacin un bit a la vez. An y cuando esto es ms lento que la comunicacin en paralelo, que permite la transmisin de un byte completo por vez, este mtodo de comunicacin es ms sencillo y puede alcanzar mayores distancias. Por ejemplo, la especificacin IEEE 488 para la comunicacin en paralelo determina que el largo del cable para el equipo no puede ser mayor a 20 metros, con no ms de 2 metros entre cualesquiera dos dispositivos; por el otro lado, utilizando comunicacin serial el largo del cable puede llegar a los 1200 metros. La comunicacin serial se utiliza para transmitir datos en formato ASCII. Para realizar la comunicacin se usan 3 lneas de transmisin: (1) Tierra (o referencia), (2) Transmitir, (3) Recibir. Debido a que la transmisin es asincrnica, es posible enviar datos por un lnea mientras se reciben datos por otra. Existen otras lneas disponibles para realizar handshaking, o intercambio de pulsos de sincronizacin, pero no son requeridas. Las caractersticas ms importantes de la comunicacin serial son la velocidad de transmisin, los bits de datos, los bits de parada, y la paridad. Para que dos puertos se puedan comunicar, es necesario que las caractersticas sean iguales. A continuacin se presentan algunas definiciones de los parmetros que se deben tener en cuenta para llevar a cabo dicha comunicacin:

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

11

INSTITUTO TECNOLGICO DE CELAYA

Velocidad de transmisin (baud rate)-. Indica el nmero de bits por segundo que se transfieren y se mide en baudios (bauds). Por ejemplo, 300 baudios representan 300 bits por segundo. Cuando se hace referencia a los ciclos de reloj se est hablando de la velocidad de transmisin. Por ejemplo, si el protocolo hace una llamada a 4800 ciclos de reloj, entonces el reloj est corriendo a 4800 Hz, lo que significa que el puerto serial est muestreando las lneas de transmisin a 4800 Hz. Las velocidades de transmisin ms comunes para las lneas telefnicas son de 14400, 28800, y 33600. Es posible tener velocidades ms altas, pero se reducira la distancia mxima posible entre los dispositivos. Las altas velocidades se utilizan cuando los dispositivos se encuentran uno junto al otro, como es el caso de dispositivos GPIB. Bits de datos.- Se refiere a la cantidad de bits en la transmisin. Cuando la computadora enva un paquete de informacin, el tamao de ese paquete no necesariamente ser de 8 bits. Las cantidades ms comunes de bits por paquete son 5, 7 y 8 bits. El nmero de bits que se enva depende en el tipo de informacin que se transfiere. Por ejemplo, el ASCII estndar tiene un rango de 0 a 127, es decir, utiliza 7 bits; para ASCII extendido es de 0 a 255, lo que utiliza 8 bits. Si el tipo de datos que se est transfiriendo es texto simple (ASCII estndar), entonces es suficiente con utilizar 7 bits por paquete para la comunicacin. Un paquete se refiere a una transferencia de byte, incluyendo los bits de inicio/parada, bits de datos, y paridad. Debido a que el nmero actual de bits depende en el protocolo que se seleccione, el trmino paquete se usa para referirse a todos los casos. Bits de parada.- Usado para indicar el fin de la comunicacin de un solo paquete. Los valores tpicos son 1, 1.5 o 2 bits. Debido a la manera como se transfiere la informacin a travs de las lneas de comunicacin y que cada dispositivo tiene su propio reloj, es posible que los dos dispositivos no estn sincronizados. Por lo tanto, los bits de parada no slo indican el fin de la transmisin sino adems dan un margen de tolerancia para esa diferencia de los relojes. Mientras ms bits de parada se usen, mayor ser la tolerancia a la sincrona de los relojes, sin embargo la transmisin ser ms lenta. Paridad.- Es una forma sencilla de verificar si hay errores en la transmisin serial. Existen cuatro tipos de paridad: par, impar, marcada y espaciada. La opcin de no usar paridad alguna tambin est disponible. Para paridad par e impar, el puerto serial fijar el bit de paridad (el ltimo bit despus de los bits de datos) a un valor para asegurarse que la transmisin tenga un nmero par o impar de bits en estado alto lgico. Por ejemplo, si la informacin a transmitir es 011 y la paridad es par, el bit de paridad sera 0 para mantener el nmero de bits en estado alto lgico como par. Si la paridad seleccionada fuera impar, entonces el bit de paridad sera 1, para tener 3 bits en estado alto lgico.
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

12

INSTITUTO TECNOLGICO DE CELAYA

La paridad marcada y espaciada en realidad no verifican el estado de los bits de datos; simplemente fija el bit de paridad en estado lgico alto para la marcada, y en estado lgico bajo para la espaciada. Esto permite al dispositivo receptor conocer de antemano el estado de un bit, lo que servira para determinar si hay ruido que est afectando de manera negativa la transmisin de los datos, o si los relojes de los dispositivos no estn sincronizados. Protocolo RS-232.- RS-232 (Estndar ANSI/EIA-232) Es utilizado para una gran variedad de propsitos, como conectar un ratn, impresora o modem, as como instrumentacin industrial. Aunque actualmente se utilizan en mayor cantidad el protocolo USB para tales propsitos, gracias a las mejoras que se han ido desarrollando en las lneas de transmisin y en los cables, existen aplicaciones en las que se aumenta el desempeo de RS-232 en lo que respecta a la distancia y velocidad del estndar. Hay que recordar que cuando se acorta la distancia se puede incrementar en gran medida la velocidad. Aunque RS-232 est limitado a comunicaciones de punto a punto entre los dispositivos y el puerto serial de la computadora, una gran ventaja es que el hardware de RS-232 se puede utilizar para comunicaciones seriales en distancias de hasta 1200 metros, siendo ste un punto clave para ambientes industriales. Los pines del conector DB-9 se muestran en la figura 2.1

Fig.2.1 Conector externo de la computadora y expuesto del cable. Funciones de los pines del RS-232: - Datos: TXD (pin 3), RXD (pin 2). - Handshake: RTS (pin 7), CTS (pin 8), DSR (pin 6), DCD (pin 1), DTR (pin 4). - Tierra: GND (pin 5). - Otros: RI (pin 9).

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

13

INSTITUTO TECNOLGICO DE CELAYA

El protocolo RS-422.- RS-422 (Estndar EIA RS-422-A) es el conector serial utilizado en las computadoras Apple de Macintosh. RS-422 usa seales elctricas diferenciales, en comparacin con seales referenciadas a tierra como en RS-232. La transmisin diferencial, que utiliza dos lneas para transmitir y recibir, tiene la ventaja que es ms inmune al ruido y puede lograr mayores distancias que RS-232. La inmunidad al ruido y la distancia son dos puntos clave para ambientes y aplicaciones industriales. Handshaking (o intercambio de pulsos de sincronizacin).- El mtodo de comunicacin usado por RS-232 requiere de una conexin muy simple, utilizando slo tres lneas: Tx, Rx, y GND. Sin embargo, para que los datos puedan ser transmitidos correctamente ambos extremos deben estar sincronizados a la misma velocidad. Aun y cuando este mtodo es ms que suficiente para la mayora de las aplicaciones, es limitado en su respuesta a posibles problemas que puedan surgir durante la comunicacin; por ejemplo, si el receptor se comienza a sobrecargar de informacin. Es en estos casos cuando el intercambio de pulsos de sincronizacin, o handshaking, es til. En la siguiente seccin se describir brevemente una de las tres formas ms populares de handshaking con RS-232: handshaking por software. Existen tambin handshaking por hardware y Xmodem. Handshaking por hardware.- Este mtodo de handshaking utiliza lneas de hardware. De manera similar a las lneas Tx y Rx, las lneas RTS/CTS y DTR/DSR trabajan de manera conjunta siendo un par la entrada y el otro par la salida. El primer par de lneas es RTS (por sus siglas en ingls, Request to Send) y CTS (Clear to Send). Cuando el receptor est listo para recibir datos, cambia la lnea RTS a estado alto; este valor ser ledo por el transmisor en la lnea CTS, indicando que est libre para enviar datos. El siguiente par de lneas es DTR (por sus siglas en ingls, Data Terminal Ready) y DSR (Data Set Ready). Estas lneas se utilizan principalmente para comunicacin por modem, permiten al puerto serial y modem indicarse mutuamente su estado. Por ejemplo, cuando el modem se encuentra preparado para que la PC enve datos, cambia la lnea DTR a estado alto indicando que se ha realizado una conexin por la lnea de telfono. Este valor se lee a travs de la lnea DSR y la PC comienza a enviar datos. Como regla general, las lneas DTR/DSR se utilizan para indicar que el sistema est listo para la comunicacin, mientras que las lneas RTS/CTS se utilizan para paquetes individuales de datos. 2.2 EL CDIGO ASCII. El ASCII, como otros cdigos de representacin de caracteres, especifica una correspondencia entre cadenas de bits y smbolos escritos de la lengua, permitiendo de esta forma la comunicacin entre
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

14

INSTITUTO TECNOLGICO DE CELAYA

dispositivos digitales as como su procesado y almacenamiento. El cdigo de caracteres ASCII o una extensin compatible se usa casi en todos los ordenadores. ASCII es, en sentido estricto, un cdigo de siete bits, lo que significa que usa cadenas de bits representables con siete dgitos binarios (que van de 0 a 127 en base decimal) para representar informacin de caracteres. En el momento en el que se introdujo el cdigo ASCII muchos ordenadores trabajaban con grupos de ocho bits como la unidad mnima de informacin; donde el octavo bit se usaba habitualmente como bit de paridad para funciones de control de errores en lneas de comunicacin u otras funciones especficas del dispositivo. La tabla 2.1 muestra 2 ejemplos de caracteres imprimibles. Tabla 2.1. Ejemplos de dos caracteres Imprimibles.
Binario 0010 001 1 0010 010 0 Decimal Representacin 35 36 # $

2.2.1 Caracteres de control ASCII. El cdigo ASCII reserva los primeros 32 cdigos (numerados del 0 al 31 en decimal) para caracteres de control, lo cuales son cdigos no pensados originalmente para representar informacin imprimible, sino para controlar dispositivos (como impresoras) que usaban ASCII. Por ejemplo, el carcter 10 representa la funcin nueva lnea (line feed), que hace que en una impresora avance el papel, y el carcter 27 representa la tecla escape que a menudo se encuentra en la esquina superior izquierda de los teclados comunes. Muchos de los caracteres de control ASCII servan para marcar paquetes de datos, o para controlar protocolos de transmisin de datos. Dos de los caracteres de control de dispositivos, comnmente llamados XON y XOFF generalmente ejercan funciones de caracteres de control de flujo para controlar el flujo a hacia un dispositivo lento (como una impresora) desde un dispositivo rpido (como un ordenador), de forma que los datos no saturasen la capacidad de recepcin del dispositivo lento y se perdiesen. Actualmente los usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones como retorno de carro o nueva lnea). La tabla 2.2 muestra dos ejemplos de caracteres de control.
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

15

INSTITUTO TECNOLGICO DE CELAYA

Tabla 2.2. Dos de los caracteres de control ms usados.


Binario Decimal Hex. Abreviatura Repr. AT Nombre/Significado 0000 101 10 0A LF ^J Line feed 0 0000 110 13 0D CR ^M Carriage return 1

2.3 ELECCIN DE LOS SOFTWARE DE PROGRAMACIN. Se Eligi el lenguaje de programacin PBASIC ya que fue desarrollado especficamente para los productos BASIC como un simple y fcil lenguaje de programacin para manejar. ste adems est adecuado a la arquitectura del microcontrolador que se usar (BS2e). Dicho lenguaje incluye muchas de las instrucciones caracterizadas en otras formas de BASIC (GOTO; FOR NEXT, IF THEN) y tambin algunas otras especializadas como SERIN, SEROUT, PWM, BUTTON, COUNT, etc. El apndice A muestra los principales comandos del lenguaje PBASIC para el microcontrolador BS2e. El LabVIEW es un lenguaje de programacin tipo G que incluye un ambiente muy amigable en el cual se puede crear una interfase de usuario para aplicaciones de tcnicas de anlisis de seales, adquisicin de datos, control de instrumentos, etc. El haber tomado en consideracin las distintas ventajas mencionadas para los distintos software y sus lenguajes, fue de suma importancia para la eleccin de los mismos. Es importante mencionar en esta parte del reporte que el peso principal del proyecto caer sobre el panel de control creado en LabVIEW y su funcionalidad depender en gran medida de la programacin del diagrama a bloques del mismo. El cdigo que se cargara en el PIC solo simular lecturas de variables y comprobar el funcionamiento del panel de control interactuando con el PIC. 2.4 PRINCIPALES CARACTERSTICAS DEL BS2e. El BS2e es un producto desarrollado por la industria Parallax para ser programado en lenguaje PBASIC. La figura 2.2 muestra el microcontrolador BS2e y la tarjeta de pruebas Basic Stamp
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

16

INSTITUTO TECNOLGICO DE CELAYA

donde se puede incrusta el BS2e. Adems las tabla 2.3 y 2.4 muestran una descripcin breve pero importante de las caractersticas del producto.

Fig.2.2 Tarjeta de pruebas Basic Stamp y BS2e. Tabla 2.3. Pines del BS2e.
PIN 1 2 3 4 5-20 21 22 23 24 Nombre SOUT SIN ATN VSS P0-P15 VDD RES VSS VIN Descripcin Salida serial RX (DB9 pin 2 para programacin). Entrada serial TX (DB9 pin 3 para programacin). Se conecta al pin DTR de la PC del Puerto serial. GND. Pines de I/O de propsito general. 5 volts de CD entrada/salida. Si un voltaje es aplicado al pin VIN, VDD tendr 5 volt a la salida. Si no se aplica voltaje a VIN se debe aplicar un voltaje a VDD entre 4.5 y 5.5 volts. Reset. Al igual que el pin 4 se conecta a la terminal negativa de la fuente de alimentacin. Alimentacin; Acepta entre 5.5 y 12 volts , se regula a 5 volts internamente, se puede omitir si se conecta 5 volts a VDD.

Tabla 2.4 Caractersticas importantes del BS2e.


Producto. Ambiente. Microcontrolador. Velocidad del procesador. Velocidad de ejecucin de programa. Memoria RAM. Memoria Scratch PadRam. Memoria EEPROM. Nmero de puertos. Alimentacin. Nivel de corriente. Corriente en los puertos. BS2e. De 0 a 70 grados centgrados. Ubicom SX28AC. 20MHz. 4000 instrucciones/seg. 32 Bytes . 64 Bytes. 8 x 2K Bytes. 16 (de uso general) + 2 (seriales). 5 12 Volts. 25 mA (Run), 200 microampers (Sleep). 30mA.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

17

INSTITUTO TECNOLGICO DE CELAYA

Numero de instrucciones. PC Interfase Editor Windows de texto

45 Puerto serial Stampw,exe

2.5 LA COMUNICACIN SERIAL EN EL BS2e. Una de las formas mas populares de comunicacin entre dispositivos electrnicos es la comunicacin serial. Los comandos SERIN y SEROUT en el BS2e son usados para recibir y enviar datos seriales asncronos. El trmino asncrono significa que los datos son recibidos sin el uso de un reloj conectado separado. Los datos pueden ser enviados usando dos cables uno para datos y otro para tierra. Los puertos seriales de la PC usan comunicacin serial asncrona. El RS-232 es una especificacin elctrica para la seal que el puerto de la PC usa. A diferencia de la lgica normal, donde 5 volts es un 1 lgico y 0 volts es un cero lgico, RS-232 usa 12 y +12 para un 1 y un 0 lgicos respectivamente. La mayora de los circuitos que trabajan con RS-232 usan un circuito driver. Este circuito hace dos cosas: (1) convierte el +/- 12 volts del RS-232 a niveles TTL de 0 y 5 volts y (2) invierte la relacin de los niveles de voltaje para que 5 volts sea igual a un 1 lgico y 0 volts a un 0 lgico. En este caso, todas las tarjetas Basic Stamp tienen un driver integrado internamente en sus pines SIN y SOUT. Durante este proyecto se trabajara tanto con el pin SOUT como con el pin SIN, es decir comunicacin bidireccional PIC-PC. El pin SOUT va al puerto serial de la PC utilizando un conector DB9 macho-hembra. El conector permite tanto la programacin del PIC como la comunicacin serial. El BS2e puede transmitir datos a travs de cualquiera de sus pines; sin embargo, estos proporcionan una salida de 0 a 5 volts por lo que se necesitara un acoplamiento a RS-232. Las tarjetas Basic stamp tienen conectados los pines 1 (DCD), 4 (DTR) y 6 (DSR). Tambin el 7 (RTS) con el 8 (CTS) del conector DB9 con esto se evita usar el handshaking que algunas PC usan. 2.5.1 COMANDOS SERIN Y SEROUT. El comando SERIN esta dedicado a la comunicacin serial asncrona en el PBASIC y esta formado por los distintos argumentos que se detallan a continuacin: SERIN Rpin {\Fpin}, Baudmode, {Plabel,} {Timeout, Tlabel,} [InputData]
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

18

INSTITUTO TECNOLGICO DE CELAYA

Rpin.- Es una variable, constante o expresin que especifica el PIN a travs del cual los datos seriales sern recibidos. Este PIN es colocado en modo de entrada, si el Rpin es colocado con 16 el PIC usar fsicamente el PIN 2 (SIN) el cual esta dedicado al proceso de carga del programa. Fpin.- Este PIN es colocado en modo de salida e indica el estado de control de flujo. Baudmode.- Especifica protocolos de configuracin para la transmisin serial. Qualifier.- Indica los datos que deben ser recibidos entes de que la ejecucin pueda continuar. Plabel.- Es una etiqueta que seala el lugar a donde debera ir el programa en el caso de un error de paridad. Timeout.- Es un tiempo que especifica a SERIN cuanto tiempo esperar para la llegada de los datos. Tlabel.- Es una etiqueta que indica a donde va a ir el programa en el caso de que el Timeout se sobrepase. InputData.- Es una lista de variables o formatos que le dice a SERIN que hacer con los datos que son recibidos por el PIC. SERIN puede guardar datos en una variable o en un arreglo, interpretar texto numrico (decimal, binario, Hex.) y acumular los valores correspondientes en una variable, esperar por una secuencia de bytes fijos o variables, o ignorar un numero especifico de bytes. El comando SEROUT esta dedicado a la comunicacin serial asncrona en el PBASIC y esta formado por los distintos argumentos que se detallan enseguida: SEROUT Tpin {\Fpin}, Baudmode, {Pace,} {Timeout, Tlabel,} [InputData] Tpin.- Es una variable, constante o expresin que especifica el PIN a travs del cual los datos seriales sern enviados. Este PIN es colocado en modo de salida, si el Tpin es colocado con 16 el PIC usara fsicamente el PIN 1 (SOUT) el cual esta dedicado al proceso de carga del programa. Fpin.- Este PIN es colocado en modo de entrada e indica el estado de control de flujo. Baudmode.- Especifica protocolos de configuracin para la transmisin serial. Qualifier.- Indica los datos que deben ser recibidos antes de que la ejecucin pueda continuar. Pace.- Determina la longitud de la pausa entre los bytes transmitidos. Timeout.- Es un tiempo que especifica a SEROUT cuanto tiempo esperar por el permiso de Fpin para enviar datos, si el permiso no llega a tiempo el programa brincar a la direccin especificada por Tlabel. Tlabel.- Es una etiqueta que indica la direccin a donde el programa brincar en el caso que el Timeout se sobrepase. OutputData.- Es una lista de variables, constantes o expresin y formatos que le dicen a SEROUT como configurar los datos de salida. SEROUT puede transmitir bytes individuales, convertir valores
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

19

INSTITUTO TECNOLGICO DE CELAYA

en representaciones de texto decimal, hex, binario o transmitir cadenas de bytes de arreglo de variables. Estas acciones pueden ser combinadas de muchas maneras. Como ya se mencion anteriormente, los comandos SEROUT y SERIN requieren un valor llamado Baudmode. Este argumento acepta un valor de hasta 16 bits (65535 en decimal ) que determina sus caractersticas: bit de paro, 8 bits de datos / no paridad o 7 bits de datos con parida o sin paridad y a una velocidad de transmisin determinada. Para el BS2e el baudmode se puede calcular llevando acabo la suma de los siguientes pasos: Paso 1 = INT(1,000,000 / baud rate) 20. (INT redondea el valor) Paso 2 = 8-bit / no paridad = 0; 7-bit / cualquier paridad = 8192. Paso 3 = polaridad no invertida =0; polaridad invertida = 16384. Paso 4 = driven = 0 ; open = 32768. Los pasos 3 y 4 son referidos a acciones de control de flujo de datos cuando se trabaja con dos o ms PIC interactivamente. A continuacin se muestra un ejemplo que transmitira un solo byte a travs del Pin 1 a 2400 baud, 8 bits, sin paridad y control de flujo no invertido: SEROUT 1,396,(65) 2.6 PRINCIPALES CARACTERSTICAS DE LabVIEW. En esta parte se describe lo que es LabVIEW, que es un instrumento virtual (VI), como se crea, como es y como se usa el ambiente de programacin para este software (mens, paletas y herramientas) de una manera muy breve. LabVIEW es un programa de desarrollo de aplicacin como muchos otros, por ejemplo C o Basic, sin embargo, a diferencia de estos ltimos, ste comprende un lenguaje de programacin que no usa lneas de texto para formar cdigo sino que en su lugar usa un lenguaje de programacin grafico tipo G para crear programas en forma de diagrama de bloques. LabVIEW tiene extensas libreras de funciones y subrutinas para la mayora de las tareas de programacin. Para Windows, Macintosh y Sun LabVIEW contiene libreras de aplicacin especficas para la adquisicin de datos e instrumentos de control VXI. LabVIEW tambin contiene libreras especiales para GPBI y control de instrumentos, comunicacin serial, anlisis, presentacin y acumulacin de datos. LabVIEW incluye herramientas para desarrollo de programas
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

20

INSTITUTO TECNOLGICO DE CELAYA

con las cuales se pueden colocar breakpoints y llevar acabo ejecucin de programas animados para ver como los datos pasan a travs del programa desarrollado. LabVIEW incluye libreras de funciones y herramientas de desarrollo diseadas especficamente para el control de instrumentos. Los programas de LabVIEW son llamados IVs (instrumentos virtuales). Debido a la apariencia y operacin que imita instrumentos reales. Sin embargo estas son anlogas a funciones de programas de lenguaje convencional. Los IV tienen una interfase de uso interactivo y un cdigo fuente equivalente, y acepta parmetros de instrumentos virtuales de ms alto nivel. A continuacin se presentan las tres principales caractersticas de los instrumentos virtuales: 1.- Los IVs contienen una interfase de usuario interactiva, la cual es llamada panel frontal, ya que simula el panel de un instrumento fsico, el panel frontal puede contener perillas, push buttons, grficos y otros controles e indicadores. 2.- Los IVs reciben instrucciones de un diagrama de bloques, el cual se elabora en G. El diagrama de bloques suministra una solucin ilustrada para un problema de programacin; es decir, al igual que un cdigo de texto para C, el diagrama a bloques contiene el cdigo fuente. 3.- Los IV usan una estructura jerrquica y modular. Se pueden usar como programas principales o bien, como subprogramas dentro de otros programas o subprogramas. Un IV dentro de otro IV es llamado un subIV. El icono y el panel de conector de un IV trabajan como un parmetro grfico listo para que otro instrumento virtual pueda pasar datos a este como un subIV. Esta caracterstica de LabVIEW es muy importante ya que hace ms rpida la depuracin de los mismos y se puede llegar a tener menos errores en la programacin, adems de que se ahorra espacio en el diagrama a bloques. Como se menciono anteriormente, los programas de LabVIEW tienen tres partes principales: panel frontal, diagrama de bloques e icono / conector (Fig.2.3).

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

21

INSTITUTO TECNOLGICO DE CELAYA

Fig.2.3 De derecha a izquierda, diagrama a bloques y el panel frontal. Enseguida se presenta una breve explicacin de las paletas de herramientas, controles, funciones y algunas otras definiciones inherentes que este software propone para llevar a cabo el desarrollo tanto del panel de control como el diagrama a bloques. Paleta de herramientas.- Es una barra que contiene distintos comandos los cuales desempean funciones especificas sobre los controles e indicadores y sobre los objetos tanto en el diagrama de bloques como en el panel de control respectivamente (Fig.2.4).

Fig.2.4 Paleta de herramientas. Controles e indicadores.- Bsicamente se tienen dos tipos de objetos que se pueden posicionar sobre el panel de control (usando la paleta de controles). A continuacin se clasifican dichos objetos.

Controles e indicadores alfa-numricos.- Los controles alfa-numricos son usados para ingresar texto, mientras que los indicadores son capaces de desplegarlos.

Controles e indicadores numricos.- Los controles numricos son usados para ingresar cantidades numricas, mientras que los indicadores numricos despliegan cantidades

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

22

INSTITUTO TECNOLGICO DE CELAYA

numricas. Los dos objetos numricos ms comnmente usados son: el control digital y el indicador digital.

Controles e indicadores bolanos.- Los controles e indicadores bolanos son usados para ingresar y desplegar valores bolanos (falso / verdadero). Los objetos booleanos simulan switches, botones y LEDs. Los ms comnmente usados son: el switch vertical y el round LED.

Configuracin de controles e indicadores.- Es preciso mencionar que la mayora de los controles e indicadores se pueden configurar usando las opciones que presentan los mens de cada uno de ellos. Con esto se pueden configurar y personalizar cada uno de ellos dependiendo de las necesidades de sus aplicaciones. Funciones.- Las funciones consisten en instrucciones que los datos van desempeando a medida que van circulando o interactuando por el diagrama de bloques. Se tienen funciones muy parecidas a las de programacin tipo texto pero solo que en forma de objetos.

Fig.2.5 Paletas de funciones y controles. Tipo de conexiones.- Las conexiones son de los conceptos ms importantes en el diseo de los IV. El Wiring tool es usado para llevar acabo las conexiones entre los objetos en el diagrama de bloques y cada conexin se diferencia por su color. El color de las conexiones se refiere al tipo de datos que lleva cada conexin: o o o o La conexin azul lleva enteros. La conexin naranja lleva nmeros de punto flotante. La conexin verde lleva bolanos . La conexin rosa lleva cadenas (texto).

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

23

INSTITUTO TECNOLGICO DE CELAYA

Malas conexiones.- Una conexin formada por guiones (--------) representa una mala conexin. Se pueden obtener malas conexiones por un buen nmero de razones como por ejemplo: conectar dos controles, o conectar una terminal fuente a una terminal de destino cuando los tipos de datos no son iguales (por ejemplo, conectando un numrico a un booleano). No hay que confundir una conexin a base de guiones (---------) y una conexin a base de puntos (..). La conexin punteada representa un tipo de dato booleano.

Fig.2.6 Ejemplo de derecha a izquierda de una buena y una mala conexin. 2.7 COMUNICACIN EN LABVIEW. Una de las caractersticas ms usadas y ms importantes en el LabVIEW es su habilidad para adquirir datos de casi cualquier fuente. LabVIEW contiene instrumentos virtuales para controlar las siguientes fuentes: 1.- Tarjetas de adquisicin de datos (DAQ) Plus-in (Windows, Macintosh y Sun). 2.- Instrumentos GPIB (IEEE 488). 3.- Instrumentos con puerto serial. 4.- Instrumentos VXI (Windows, Macintosh y Sun) 2.7.1 VISA. Es una librera de interfase para controlar GPIB, VXI, puerto serial y otro tipo de instrumentos. Usando la funcin VISA se pueden construir drivers con los cuales se logra controlar un instrumento en particular. Una cadena es pasada a la funcin VISA para seleccionar que tipo de I/O usar para comunicar con el instrumento. Una vez que la sesin con el instrumento es abierta, la funcin VISA, tal como VISA Read y VISA Write ejecuta las actividades de I/O del instrumento en una forma genrica. Por lo tanto el programa no esta ligado a ninguna funcin GPIB o VXI. Este instrumento VISA es considerado para ser usado como interfase independiente.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

24

INSTITUTO TECNOLGICO DE CELAYA

2.8 LA COMUNICACIN SERIAL EN LABVIEW. Como se mencion anteriormente, la comunicacin serial es una forma muy popular de transmitir datos entre una computadora y un dispositivo perifrico. La comunicacin serial usa un transmisor para enviar datos, un bit a la vez, sobre una sola lnea de comunicacin para un receptor. LabVIEW contiene instrumentos virtuales para trabajar con el puerto serial, antes de llevar a cabo la comunicacin se debe asegurar primero que el instrumento este conectado correctamente a la computadora, una vez se este seguro de ello, se pueden utilizar los IV y/o funciones disponibles para la comunicacin serial. Los instrumentos que LabVIEW ofrece para la transmisin y recepcin serial deben ser configurados dependiendo del tipo de aplicacin y sobre todo de los valores de los parmetros predispuestos y los cuales fueron mencionados anteriormente en la teora de la comunicacin serial como son velocidad de transmisin, control de flujo cantidad de bits de datos, etc. Los objetos o comandos que se muestran en seguida son utilizados para llevar a cabo la comunicacin serial en LabVIEW. VISA configure serial port.vi.(Fig.2.7).- Inicializa el puerto serial especificado por la terminal VISA resource name con determinada configuracin.

Fig.2.7 VISA configure serial port.vi VISA Write.(Fig.2.8).- Escribe los datos de la terminal write buffer a el dispositivo o interfase especificado por VISA resource name.

Fig.2.8 VISA write.


ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

25

INSTITUTO TECNOLGICO DE CELAYA

VISA Read.(Fig.2.9).- Lee el nmero especificado de bytes del dispositivo o interfase especificado por VISA resource name y regresa los datos en la terminal read buffer.

Fig.2.9 VISA Read. VISA Close.(Fig2.10).- Cierra un dispositivo, sesin u objeto especificado por la terminal VISA resource name.

Fig.2.10 VISA close.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

26

INSTITUTO TECNOLGICO DE CELAYA

III.

DESCRIPCIN DE ACTIVIDADES DESARROLLADAS Y RESULTADOS.

3.1 DESARROLLO DEL PROYECTO FINAL. 3.1.1 Objetivos del proyecto. Para le elaboracin del proyecto se tuvieron en cuenta los siguientes objetivos: 1.- Llevar a cabo una comunicacin serial bidireccional PIC PC. 2.- Elaborar un programa en el PIC que sea capaz de recibir y mandar datos serialmente para comprobar el buen funcionamiento del panel de control creado en LabVIEW. 3.- Elaborar un panel de control en LabVIEW que sea apto para mandar y recibir datos de manera confiable de acuerdo al protocolo usado. 4.- El programa creado en PBASIC para el PIC simular lecturas de variables como las que muestra una pantalla LCD. En este caso se tendrn indicadas dos variables y sus respectivos SetPoint (SP). Esto con la idea de asemejarse a un sistema real en el cual se este controlando temperatura y humedad y los valores de dichas variables se estn mostrando en una pantalla LCD continuamente. 5.- Por medio del panel de control se podrn seleccionar los siguientes parmetros (los cuales sern enviados al PIC ):

El inicio del programa. El numero de muestras. El tiempo entre muestras.

Adems de esto, se mostrarn algunos indicadores como son:

Indicadores de Temperatura y humedad e indicadores de los SP de las mismas variables. Indicadores grficos (se trazaran los valores de las variables en un par de grficas).

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

27

INSTITUTO TECNOLGICO DE CELAYA

Indicadores que mostraran algunas caractersticas estadsticas finales de los datos como son: valores mximos, mnimos y medios que se tuvieron durante el muestreo. Indicadores tipo arreglo donde se expondrn los valores de las variables y la fecha exacta en que fueron tomados o recibidos.

6.- Se tendr acceso a permitir un reporte tipo texto de la informacin adquirida para consultarla en el momento que se desee y se podr controlar la direccin de archivo en la PC en donde se desee guardar dicha informacin 7.- Se tendr acceso (en cualquier momento) a cada una de las grficas creadas por la recopilacin de la informacin aun despus de cerrar el programa, esto con la ayuda de un segundo panel de control creado tambin en LabVIEW. 3.1.2 Diseo y explicacin del programa en PIC. El programa creado para cubrir los propsitos del proyecto se presenta en el apndice B y esta escrito en una versin especial del lenguaje BASIC llamado PBASIC el cual fue especialmente creado para los microcontroladores BASIC stamp ( BS2e es una variacin de estos microcontroladores). El programa inicia con la declaracin de variables que se usarn a lo largo del mismo y con la configuracin de todos los puertos como salida con el objetivo de verificar la recepcin y la transmisin de datos en el BS2e a lo alargo del muestreo. Cada uno de los puertos se conectara con un LED a tierra para verificar dicho accin. En las primeras lneas del cdigo se puede observar la siguiente instruccin:
SERIN 16\1,baudmode,[WAIT(OK),DEC2 muestras,DEC1 tiempo]

Con los parmetros que forman la instruccin se da lugar a las siguientes caractersticas de recepcin: 1.- Rpin = 16.- los datos se reciben fsicamente por el PIN 1 (SIN).

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

28

INSTITUTO TECNOLGICO DE CELAYA

2.- Baudmode = 16780.- el clculo del baudmode resulto a partir de la suma de los pasos siguientes: Baudrate 2400 bps. {INT(1000000/2400) 20 = 396} 8 bits de datos { = 0 } No paridad { = 0 } Polaridad invertida. { = 16384 }

La suma de los pasos mencionados dio la cantidad de 16780 que es el valor con el que se igual a la variable baudmode y que se utiliz en la instruccin de SERIN. El Baudrate se igualo a 2400 bps ya que el BS2e puede presentar problemas a velocidades de transmisin ms altas. Aunque en la recepcin no es necesario trabajar con 8 bits (debido a que se no se utilizan los caracteres de control ASCII que necesitan tramas de 8 bits ) se decidi utilizar esta caracterstica solo por utilizar el mismo baudmode de la transmisin; por ltimo, se eligi polaridad invertida, esta caracterstica esta relacionada con Fpin (Pin 0 en este caso configurado como salida) y se refiere al control de flujo. Cuando SERIN esta listo para recibir Fpin se pone en alto y cuando no lo esta Fpin se pone en bajo (periodos muy cortos de tiempo) esta caracterstica es muy usada cuando se tiene comunicacin entre 2 o mas microcontroladores, en este caso solo se utilizara para verificar la recepcin. 3.- El formato WAIT esperara por la palabra OK y por una cantidad de dos dgitos y una segunda cantidad de un solo dgito que corresponden al nmero de muestras y al tiempo de muestreo respectivamente que sern seleccionados por el usuario y enviados serialmente por el LabVIEW hacia el PIC. El programa no continuar hasta que estos caracteres de configuracin sean recibidos. Esta caracterstica es muy importante ya que sincroniza la transmisin de los datos del PIC hacia el LabVIEW que se presenta despus. La transmisin de los datos se lleva cabo con la instruccin siguiente (este es un ejemplo del envo de una muestra):
SEROUT 16\1, baudmode,[TEMP=10.25 , SP=12.68,CR,HUM.=52.32 , SP=50.25,x]

Con los parmetros que forman la instruccin se da lugar a las siguientes caractersticas de transmisin: 1.- Tpin = 16.- los datos se reciben fsicamente por el PIN 1 (SIN).

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

29

INSTITUTO TECNOLGICO DE CELAYA

2.- Baudmode = 16780.- el clculo del baudmode resulto a partir de la suma de los pasos siguientes: Baudrate 2400 bps. {INT(1000000/2400) 20 = 396} 8 bits de datos { = 0 } No paridad { = 0 } Polaridad invertida. { = 16384 }

La suma de los pasos mencionados dio lugar a la cantidad de 16780 que es el valor con el que se igual la variable baudmode y se utiliz en la instruccin de SEROUT. El Baudrate se igual a 2400 bps ya que el BS2e puede presentar problemas a velocidades de transmisin ms altas. Se eligi trabajar con 8 bits debido a que se hizo uso de los caracteres de control ASCII que necesitan tramas de 8 bits (se utiliz el retorno de carro CR), adems se eligi polaridad invertida, esta caracterstica esta relacionada con Fpin (Pin 0 en este caso configurado como salida) y se refiere al control de flujo. Cuando SERIN esta listo para recibir Fpin se pone en alto y cuando no lo esta Fpin se pone en bajo (periodos muy cortos de tiempo) esta caracterstica es muy usada cuando se tiene comunicacin entre 2 o mas microcontroladores, en este caso solo se utilizar para verificar la transmisin. 3.-Despus de lo anterior, aparecen las cadenas de datos que se mandaran hacia el LabVIEW, CR forma parte del cdigo ASCII extendido que el LabVIEW toma en cuenta durante la recepcin de las muestras o lecturas. Cabe mencionar que, debido a que no se us un ciclo para la transmisin de los datos de las muestras hacia el LabVIEW (debido a la falta de un formato adecuado que generara nmeros aleatorios que pudieran haber simulado los valores de las variables planteadas), el valor del numero de muestras recibido por SERIN no es utilizado en el cdigo del microcontrolador pero si recibido en forma correcta. Esto se comprueba con el simple hecho de que, tanto el inicio de sesin (palabra OK) como el siguiente valor recibido por el PIC, el cual se refiere al tiempo entre muestras, es recibido y usado de manera satisfactoria por el BS2e y adems el formato con el que est escrita la instruccin de SERIN para la recepcin de tales datos, no permitira un avance en el programa (como se menciono anteriormente) si no se recibieran de manera satisfactoria cada uno de los datos indicados. En este punto se presenta el diagrama de flujo (Fig.3.1) del funcionamiento del cdigo creado en PBASIC para la comunicacin serial.
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

30

INSTITUTO TECNOLGICO DE CELAYA

INICIO

Configuracin de los pines como salida para comprobar la recepcin y transmisin de los datos.

Recepcin de inicio y datos de configuracin. Control de bytes indeseables

Envo de cada una de las muestras

Se repite el envi de muestras x veces con intervalos de un tiempo y entre cada envo de muestra.

END

Fig.3.1 Diagrama de flujo del programa en PIC. La instruccin PAUSE solo admite valores de 16 bits ( 65534 en decimal ) lo que es un tiempo mximo de 65.534 seg. Si se quisiera tener un retraso de tiempo mayor se tendra que repetir la instruccin el nmero de veces que sea necesario hasta alcanzar el tiempo deseado. Por esta razn fue que se eligi usar un ciclo FOR donde una base de tiempo de un 1 minuto se repeta tantas veces como estuviera indicado en el valor del control que se declar en el panel de control para el registro del tiempo entre muestras. Con esto se asegura tener tiempos de muestreo ms grandes de poco ms de un minuto.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

31

INSTITUTO TECNOLGICO DE CELAYA

En la declaracin de variables se puede observar que se tienen las siguientes declaraciones:


x VAR fin_transmision 36 es el codigo ASCII en decimal de: $

fin_transmision = 36

La razn de esto fue que se tuvo que declarar un final de transmisin (que el LabVIEW fuera capaz de interpretar) para cada toma de muestra que el PIC mandaba. En este caso, el PIC manda el cdigo ASCII en decimal del signo $ (se pudo haber elegido otro) al final de cada muestra. El LabVIEW fue configurado para entender esta accin como final de lectura durante la recepcin. En el programa se observa que se utiliza la instruccin SEROUT una vez antes de ser usada para mandar cada una de las muestras o lecturas hacia el LabVIEW, esto surge como una solucin a un problema que se tuvo durante la recepcin de los datos en el LabVIEW. Despus de que el PIC reciba los datos de configuracin, este los mandaba de regreso al LabVIEW junto con la primer muestra o lectura que deba mandar el PIC, este detalle ocasionaba problemas debido a que esos datos (indeseables) se reciban dentro la primer iteracin de un FOR Loop el cual fue creado para recibir y manipular cada una de las lecturas, ya que las lecturas venan acompaadas de datos indeseables, el resultado de la manipulacin de esta muestra resultaba en un error. La solucin fue crear un subdiagrama que se ejecutara antes de la recopilacin de cada muestra, esto con el objetivo de conseguir intencionalmente los datos indeseables (sin hacer ningn tipo de manipulacin con ellos) para que ya no aparecieran en el FOR loop durante la recepcin de las lecturas. 3.1.3 Diseo del panel de control en LabVIEW. A continuacin se muestran cada una de las partes que forman el panel de control que se dise para cumplir con los propsitos mencionados. La figura 3.2 muestra la parte del panel de control que contiene los siguientes parmetros:

Mandar inicio.- Consiste en un botn que al momento de oprimirlo arranca la comunicacin serial. Encendido.- Es un indicador que se mantiene encendido mientras se esta llevando a cabo la transmisin de las muestras.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

32

INSTITUTO TECNOLGICO DE CELAYA

Especificacin de tiempo.- Especifica la opcin de usar segundos o no en el arreglo de lecturas recibidas. Archivo donde se guarda la informacin.- Es la direccin de archivo donde se desea que se guarde una copia de la informacin recibida. Esto incluye: - Lecturas de muestras y fechas de las mismas. - Copia de cada una de las grficas generadas por cada variable.

Numero de muestras a tomar.- Valor de configuracin que se manda serialmente hacia al PIC y se refiere al nmero de muestras que se recibirn. OK indica inicio.- Palabra que se usa con el formato WAIT en SERIN en el PIC para lograr la sincronizacin de ambos software. Tiempo de muestreo en min.- Es el tiempo que se desea tener entre cada muestra, este dato tambin es enviado por el LabVIEW hacia el PIC. Limpieza de grficas .- Control que genera una limpieza de las grficas cuando se oprime. Valores mximos, mnimos y medios de cada una de los valores recibidos.- Se observa un cuadro con indicadores que revelan informacin especial acerca de las muestras tomadas; es decir, de los valores de temperatura, humedad y sus respectivos setpoint. Esta informacin se refiere a los siguientes datos registrados: -Temperatura mxima, mnima y media. -Humedad mxima, mnima y media. -Los mismos clculos para los respectivos setpoint de las variables.

Grfica de temperatura y setpoint.- muestra los trazos de los diferentes valores de temperatura y setpoint que estn siendo recibidos. Grfica de humedad y setpoint.- Muestra los trazos de los diferentes valores de humedad y setpoint que estn siendo recibidos. Datos actuales de las muestras recibidas.- Los indicadores actuales revelan en forma continua cada uno de los valores actuales obtenidos. Cada uno de estos indicadores se estarn actualizando cada vez que una nueva muestra este siendo recibida por el LabVIEW.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

33

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.2 Parte del panel de control. La segunda parte del panel de control que se puede observar en la figura 3.3 revela los siguientes indicadores y controles:

Arreglo de lecturas recibidas y datos filtrados.- Muestran cada una de las lecturas recibidas, con la diferencia de que en el primer indicador aparece el carcter de control ( $ ) que indica el fin de transmisin y en el segundo indicador (datos filtrados) se elimina dicho dato.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

34

INSTITUTO TECNOLGICO DE CELAYA

Arreglo de lecturas recibidas y fechas en que fueron muestreadas.- Arreglo que revela las muestras de temperatura y humedad y la fecha exacta en que fueron tomadas cada una de ellas. El nmero de casillas de ambos arreglos es igual al nmero de muestras recibidas.

Fig.3.3 Segunda parte del panel de control. El panel de control tambin contiene una tercer parte que esta mas dedicada al control de la comunicacin. La figura 3.4 muestra dicha parte. Esta seccin del panel esta dedicado a controlar algunas caractersticas de los datos recibidos y enviados en el LabVIEW.

Nmero de bytes a ser ledos.- Es un control que se iguala al nmero de caracteres que llegarn al IV SERIAL Read (en este caso son 44 bytes). Time out limit.- Indica el tiempo que el IV esperar para recibir el numero de bytes a ser ledos. Si no se consigue este nmero de bytes en este tiempo predeterminado se generar un error.

Lecturas recibidas.- Mostrarn continuamente la llegada de cada una de las lecturas recibidas. Error in y Error out.- Generan un error en el programa si no se logr la comunicacin o si el time out limit se sobrepas.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

35

INSTITUTO TECNOLGICO DE CELAYA

Basura recibida del PIC.- Se refiere a los datos indeseables que generan error en el programa (estos datos son eliminados ). Nmero de bytes a ser ledos.- Es el nmero de datos basura que se reciben. Error out y time out limit.- Se puede aplicar la misma explicacin antes mencionada. Datos de configuracin mandados hacia el PIC.- Incluyen el numero de muestras (nmero de dos dgitos), el tiempo entre muestras (nmero de un dgito) y el inicio. No de bytes de configuracin.- Indica el nmero de bytes de configuracin que se enviaron hacia el PIC.

Fig.3.4 Tercera parte del panel de control. 3.1.4 Diseo del diagrama a bloques en LabVIEW. El diagrama a bloques que se elabor para cubrir los propsitos del proyecto esta compuesto por varias funciones y varios subIV los cuales se expondrn conforme vayan apareciendo en la explicacin del funcionamiento del diagrama a bloques. Bsicamente el 90% del cdigo creado tiene lugar dentro un case structure (Fig. 3.5) el cual tiene uno o mas subdiagramas o casos, exactamente uno de los cuales se produce cuando la estructura se ejecuta. El valor conectado al terminal selector (generalmente es un valor booleano) determina que caso se ejecutar. En este caso el valor booleano es generado por un control (en el panel de control es el botn de inicio) que genera en valor verdadero o un falso de acuerdo a su posicin.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

36

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.5 Funcin Case structure. Cuando se oprime el botn de inicio en el panel de control se genera un valor verdadero que activa el caso verdadero del case structure inmediatamente despus entra a la segunda parte del programa. Esta segunda parte esta compuesta por otra funcin muy importante llamada stacked sequence (Fig.3.6) el cual consiste de uno o ms subdiagramas que se ejecutan secuencialmente. Para este proyecto se ejecutarn cuatro subdiagramas: transmisin de datos de configuracin, retraso de tiempo, recepcin de datos indeseables y recepcin de lecturas.

Fig.3.6 Stacked sequence. El primer subdiagrama que se ejecuta en esta parte es la transmisin de los datos de configuracin del LabVIEW al PIC (Fig.3.7). Estos datos son: la seal de inicio, el tiempo de muestreo y el nmero de muestras. Cada uno de estos datos se envan utilizando la funcin VISA Write (Fig.3.8) la cual escribe los datos de write buffer (una terminal de la funcin) a el dispositivo o interfase especificada por VISA resource name ( para este caso es COM1 o puerto serial). Las terminales de VISA Write son :

VISA resource name.- Especifica el recurso que ser abierto (en este caso es el Puerto serial). Write buffer.- Son los datos que sern escritos al dispositivo. Error in y error out.- Describen los errores en la transmisin (si es que los hubo). Dup VISA resource name.- Es una copia del recurso utilizado. Return count.- Contiene el nmero actual de bytes escritos.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

37

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.7 Subdiagrama que enva datos de configuracin hacia el PIC.

Fig.3.8 Funcin VISA write. El tiempo en el panel de control se especifica en minutos y la unidad de tiempo en el LabVIEW, al igual que en el PBASIC, es 1000. Con esto, un valor de 1000 equivale a un segundo. Es por esto que el valor de tiempo de muestreo que se elige se multiplica por 60000 en ambos software. El valor del panel de control que se refiere al tiempo entre muestras junto con el nmero de muestras y la seal de inicio OK se unen en una sola cadena la cual se conecta a write buffer de la funcin VISA Write para que estos datos sean mandados al puerto serial. En el caso de que exista un error en la transmisin se generar un paro (Fig.3.9) que detendr al programa. El indicador de error del panel de control dar una breve explicacin del problema y donde fue que se gener.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

38

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.9 Caso de un error en la transmisin. En la misma figura 3.9 se puede observar otro case structure con diferente formato ya que el selector se conecta, en este caso, a la seal de error. Cuando existe un error en la transmisin se genera el caso error cruzando este ltimo hasta el final del cdigo para ser desplegado en el panel de control. En el caso de que no exista error en la transmisin esta ltima se lleva a cabo de manera normal. El segundo subdiagrama dentro de la funcin stacked sequence esta compuesto de un retraso de tiempo igual a 59.5 microsegundos (Fig.3.10), este tiempo es el mismo que ocurre entre la instruccin SERIN y la primer instruccin SEROUT en la ejecucin del cdigo del PIC. Con esto se asegura la sincronizacin en la comunicacin entre el PIC y el LabVIEW.

Fig.3.10 Segundo subdiagrama que muestra un retraso de tiempo.


ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

39

INSTITUTO TECNOLGICO DE CELAYA

Despus del tiempo de sincronizacin se da lugar al tercer subdiagrama (Fig.3.11) que es utilizado para suprimir los datos de configuracin y bytes basura que son reenviados hacia el LabVIEW. Esta seccin del cdigo utiliza el sub IV SERIAL Read with Timeout (Fig.3.12). As como en el subdiagrama 1 se llevo a cabo la transmisin de los datos hacia el PIC con ayuda de la funcin VISA Write, en este tercer subdiagrama el SERIAL Read with Timeout leer bytes hasta que el nmero de bytes requerido es recibido o hasta que el Timeout sea sobrepasado. Las terminales de SERIAL Read with Timeout son muy parecidas a las de VISA Write debido a que el subIV mencionado utiliza una funcin llamada VISA Read (Fig.3.13). A este comando solo se le aade el time out para crear el subIV SERIAL Read with Timeout.Las terminales de este ltimo se muestran a continuacin:

Resource Name.- Es el recurso con el que se tendr comunicacin. Timeout Limit.- Es el tiempo mximo que el IV espera para que los bytes requeridos sean ledos. Bytes to Read.- Son el nmero de bytes que se pretenden leer. Error in y error out.- Declaran los errores que se tuvieron durante la recepcin. Serial Read.- Despliega los datos ledos. Dup VISA Resource Name.- Es una copia del recurso.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

40

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.11 Subdiagrama para lograr la sincronizacin.

Fig.3.12 SERIAL Read with Timeout. La funcin de la figura 3.13 lee el nmero especificado de bytes del dispositivo o interfase especificado por la terminal VISA resource name y regresa los datos en read buffer.

Fig.3.13 VISA Read. El cuarto subdiagrama lleva a cabo la recepcin de cada una de las muestras enviadas desde el PIC hacia el LabVIEW. Este subdiagrama se muestra en la figura nmero 3.15. Adems de la recepcin de los datos, que se lleva a cabo en esta parte, se lleva tambin todo el proceso del manejo y manipulacin de estas muestras. El subdiagrama utiliza un ciclo FOR (Fig.3.14) para la recepcin de los datos, el nmero de iteraciones del ciclo es igual al nmero de muestras que se especifica en el panel de control, las iteraciones se llevan a cabo cada cierto tiempo el cual tambin es especificado en el panel de control y corresponde a uno de los datos que son mandados hacia el PIC en el primer subdiagrama. El For Loop al igual que en un cdigo tipo texto ejecuta su subdiagrama n veces, donde n es el valor conectado a la terminal N. La terminal i proporciona el numero de iteracin actual, el cual tiene un rango de iteracin de 0 a n-1.

Fig.3.14 For Loop. Cuando se realiza la primer iteracin paralelamente se recibe la primer muestra de datos dentro del ciclo. Esta informacin sufre una serie de cambios que separan los datos de temperatura de los de
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

41

INSTITUTO TECNOLGICO DE CELAYA

humedad y a su vez cada uno de estos se sometern a un proceso para separar los caracteres numricos de las cadenas no numricas para que los primeros (amplitudes de temperatura, humedad y setpoint ) puedan ser mostrados en los indicadores, trazados en las grficas y hacerles diferentes clculos estadsticos con el propsito de mostrar los resultados en cada uno de los indicadores del panel de control.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

42

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.15 Subdiagrama donde se lleva a cabo la recepcin y el manejo de los datos. En este proceso se hizo uso de varias funciones, las ms importantes fueron las siguientes:

Replace substring.- Borra inserta o remplaza una subcadena en una cadena de caracteres. String length.- Mide el nmero de caracteres de una cadena. String subset.- Substrae una subcadena con longitud especifica. Match pattern.- Busca una expresin en una cadena y si la encuentra separa la cadena en tres subcadenas. Scan from string.- Examina una cadena de entrada y la modifica o divide de acuerdo a un formato especificado. Gate Date String.- Funcin utilizada para generar las fechas en que se recibieron cada una de las lecturas (figura 3.16).

Fig.3.16 Get Date/Time String. En la figura 3.15 se puede observa que adems del For Loop y su contenido se tienen otras funciones y subIV en la circunferencia de ste (dentro aun del cuarto subdiagrama), tales objetos son tambin de suma importancia para la realizacin del proyecto. A continuacin se presenta una breve explicacin de cada uno de estos objetos. 1.- En la Fig.3.2 se tiene una parte del panel de control donde aparecen unos controles en lo cuales se pueden escribir direcciones de archivo para cada una de las grficas. Esta accin tiene el objetivo de que estas direcciones puedan ser utilizadas en otro panel de control (el cual se explicar ms adelante) para tener acceso a cada una de estas grficas en el momento que se desee. Para llevar a cabo este proceso se utiliz un subIV llamado Write waveforms to file.vi (Fig.3.17).

Fig.3.17 Write waveforms to file.vi.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

43

INSTITUTO TECNOLGICO DE CELAYA

En la figura 3.18 se presentan el diagrama a bloques y el panel de control de este instrumento. Las terminales mas importantes que se tienen son:

File path.- Direccin de archivo donde se guarda la informacin de la grfica. Waveform.- Se conecta la grfica a ser archivada.

Fig.3.18 Panel de control y Diagrama a bloques de Write waveforms to file.vi. 2.- En el Panel de control que se cre en LabVIEW se tiene una parte dedicada a mostrar algunas estadsticas registradas como Temp. Max, min, med, etc. (Fig.3.2) de los datos de entrada. Los subIV que su utilizaron para estos propsitos son las que se describen a continuacin:

Mean.vi.- Calcula la media de un grupo de datos dinmicos(Fig.3.19).

Fig.3.19 Mean.vi

Array Max & Min.- Es una funcin (Fig.3.20) que se encarga de retornar el valor mximo y mnimo encontrado en un arreglo.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

44

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.20 Array Max & Min. 3.- Como ya se menciono, uno de los objetivos del proyecto fue crear un archivo que se pudiera desplegar en forma de texto y que contuviera informacin de las lecturas recibidas y de las fechas en que cada una se presentaron. Para lograr este objetivo se hizo uso de otro subIV (FILE.vi Fig.3.21) el cual fue modificado para cumplir con el propsito mencionado. La figura 3.22 muestra el panel de control y el diagrama a bloques de FILE.vi. La terminal de direccin de archivo se refiere a la direccin donde se guardar la informacin y en character string se conecta la informacin que ser archivada.

Fig.3.21 subIV

FILE.vi.

Fig.3.22 Panel de control y diagrama a bloques de FILE.vi Para que se lleve a cabo la comunicacin serial de forma exitosa entre dos dispositivos se deben cumplir ciertos parmetros y condiciones de comunicacin. Primeramente ambos dispositivos deben estar sincronizados entre si, es decir, cuando uno de los dispositivos este haciendo la labor de transmisin el otro debe encontrarse en condiciones de recepcin y viceversa.
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

45

INSTITUTO TECNOLGICO DE CELAYA

La configuracin de las velocidad de comunicacin en ambos dispositivos debe ser la misma.

El nmero de bits de datos, la paridad y los bits de paro deben compartirse en la configuracin de ambos dispositivos.

En el LabVIEW tanto la funcin VISA Write como la funcin VISA Read comparten los mismos parmetros de comunicacin. A su vez, estos parmetros estn compartidos con los de las instrucciones SERIN y SEROUT en el PIC por medio del valor del Baudmode. Ya se vio como se configuraron los parmetros de comunicacin en el PIC utilizando el Baudmode. Ahora se vera como el subIV Serial (Fig.3.23) es utilizado para configurar los mismos parmetros de comunicacin en el LabVIEW.

Fig.3.23 subIV SERIAL. Este subIV es una modificacin de un subIV que se tiene en las libreras del LabVIEW dedicado a al comunicacin serial. La modificacin se hizo con el propsito de cubrir los parmetros especificados para llevar a cabo de forma satisfactoria la comunicacin para este proyecto. Las figuras 3.24 y 3.25 muestran el diagrama a bloques y el panel de control respectivamente de este subIV.

Fig.3.24 Diagrama a bloques de SERIAL.vi.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

46

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.25 Panel de control de SERIAL.vi El panel de control de SERIAL.vi en la figura 3.25 muestra los controles con los que se configura el protocolo de comunicacin. Enseguida se dar una breve descripcin de cada uno de los controles:

VISA resource name.- Es el recurso al que hace referencia la comunicacin que en este caso es el COM1 (o puerto serial). Time out.- Es el tiempo que se espera el IV para recibir los bytes especificados. Enable Termination Char.- Permite el uso de un carcter para indicar el fn de recepcin (esta funcin se permite tambin para la transmisin). Baud Rate.- Es la velocidad de transmisin a el que se lleva la comunicacin y esta igualada a 2400bps. Termination chart.- Es el cdigo ASCII en hexadecimal del carcter que indica el fn de transmisin (en este caso se eligi el carcter $ el cual tiene el valor de 24 en hexadecimal en el cdigo ASCII).

Duplicate VISA resource name.- Es el duplicado del recurso (COM1). Data bits.- Es el nmero de bits, se escogieron tramas de datos de 8 bits debido al uso de los caracteres ASCII de control. Flow control.- Se eligi el control de flujo handshaking por hardware (usando las lneas RTS y CTS del protocolo serial) explicado en la parte de la teora de la comunicacin. Parity.- Al igual que en el PIC, no se eligi bit de paridad. Stop bit.- Se eligi solo un bit de paro.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

47

INSTITUTO TECNOLGICO DE CELAYA

3.1.5. Instrumento diseado para la recuperacin de grficas. Ya se haba mencionado que se diseo un IV extra para tener acceso a cada una de las grficas que contienen los trazos de los valores de las variables. Este instrumento fue nombrado graficado.vi. El panel de control y el diagrama a bloques se muestran en las figuras Fig.3.26 y 3.27 respectivamente. El IV se corre en forma continua, una vez en este estado, se debe teclear la direccin de archivo donde se encuentra guardada la grfica que se desee consultar (debe ser alguna de las que se tecleo en el panel de control. Fig.3.2 ), el siguiente paso es posicionar el switch en encendido (ON). Si la direccin es correcta, el trazo de los valores (color violeta) aparecer en la grfica del panel de control. En la misma grfica se observar otro trazo (un punto de color amarillo) el cual se posicionar en algn lugar sobre la grfica de inters, este posicionamiento es manejado con un control llamado ndice, junto a este se encuentran dos indicadores que mostrarn el numero de muestra actual donde se encuentra el posicionamiento y el valor de la amplitud de la muestra. La grfica se acoplar automticamente al nmero de muestras y a los valores de amplitud que puedan comprender los trazos de cada una de las grficas. Cabe mencionar que los archivos que se utilizan aqu solo pueden ser abiertos por este instrumento.

Fig.3.26 Panel de control de graficado.vi

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

48

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.27 Diagrama a bloques de Graficado.vi Hasta aqu se da por terminada la explicacin referente a la elaboracin y desarrollo de los diferentes cdigos empleados para cubrir con los diferntes propsitos del proyecto. 3.2. PRUEBAS Y RESULTADOS. A continuacin se mostrarn los resultados y la explicacin de las dos diferentes pruebas que se llevarn a cabo en funcionamiento en modo continuo. 3.2.1 prueba 1. La prueba 1 consiste en mostrar cada uno de los resultados que arroj el panel de control cuando se configur para recibir serialmente 20 muestras con un tiempo de 1 minuto entre cada muestra. El cdigo del programa en el PIC utilizado para esta prueba se puede ver en el apndice A. La figura 3.28 muestra que los controles "nmero de muestras " y tiempo entre muestras estn configurados con 20 y 1 respectivamente, indicando, con esto, que se recibirn 20 muestras con periodos de 1 minuto entre cada muestra.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

49

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.28 Controles: nmero de muestras, tiempo entre muestras y palabra de inicio. La siguiente figura (Fig.3.29) revela el switch de inicio, el botn para limpiar las grficas, el control para le eleccin de el tiempo (seg. /no seg.) y las direcciones para archivar la diferente informacin a la que se tendr acceso despus. Para esta prueba se opt por elegir direcciones que hacan referencia a una memoria USB para guardar toda la informacin de las lecturas. Esta caracterstica es muy interesante ya que se puede guardar la informacin en una memoria USB y tener acceso a sta cundo se desee.

Fig.3.29 Inicio de programa, controles para limpiar graficas, especificacin de tiempo y direcciones para archivar la informacin de las lecturas. La parte del panel de control encargada de revelar los datos actuales que van obtenindose del PIC se muestra en la figura 3.30. Los indicadores del recuadro del panel de control mostrado en la figura revelan el despliegue de los valores de las variables en la sexta muestra recibida.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

50

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.30 Datos actuales de la lectura nmero seis recibida. Las grficas mostradas en la figura 3.31 muestran los trazos generados de los valores de las variables obtenidos de la lectura nmero ocho.

Fig.3.31 grficas que muestran los valores de las variables obtenidos de la octava muestra. La figura nmero 3.32 revela, por medio de los indicadores de error, que no existieron errores hasta la lectura de la muestra nmero 10. Adems uno de los controles esta igualado a 44 este esta referido a el total de caracteres o bytes que son ledos del puerto serial.(cada una de las lecturas mencionadas en esta prueba se puede corroborar con el programa en PBASIC mostrado en el apndice A que se utiliz para esta prueba ).

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

51

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.32 No existen errores de entrada y salida hasta la muestra nmero 10. Adems de que no se tuvieron errores en la recepcin de las muestras, como se mencion anteriormente, la figura numero 3.33 revela que tampoco se obtuvieron errores durante la transmisin de los datos de numero de muestras y tiempo de muestreo hacia el PIC ni tampoco se obtuvieron errores en la recepcin del bytes o datos de basura que recibi el LabVIEW.

Fig.3.33 De derecha a izquierda: recepcin de datos o bytes indeseables y transmisin de datos de configuracin para el PIC. Despus de haber recibido todas y cada una de las lecturas programadas, el panel de control mostr los siguientes resultados. En la figura 3.34 se puede apreciar que el indicador de luz esta apagado despus de terminar la recepcin de las lecturas.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

52

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.34 Indicador de luz apagado despus de terminada la sesin de recepcin de lecturas. En la siguiente figura (Fig.3.35) se aprecian los indicadores que revelan la ltima lectura y los resultados de los clculos estadsticos que se obtuvieron de los valores de las muestras recibidas.

Fig.3.35 Indicadores de la ltima lectura recibida y resultados estadsticos de los datos obtenidos. Como se puede apreciar en la siguiente figura (Fig.3.36), las grficas revelan el total de los trazos de los valores de cada una de las variables. Ya que el tiempo de muestreo fue de 1 minuto y se tuvieron 20 muestras, el tiempo total de duracin para la recepcin de las 20 muestras fue de 19 minutos (de las 5:23 a las 5:42 horas son 19 minutos), este tiempo se comprueba en el eje x (tiempo) de las grficas de la figura 3.36.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

53

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.36 Total de trazos de los valores obtenidos de las variables. Por medio de la figura 3.37 se puede comprobar que se recibi la ltima lectura sin ningn error.

Fig.3.37 No errores en la recepcin de la ltima lectura. La figura 3.38 muestra el arreglo que se llen con cada una de las muestras obtenidas. (La figura esta partida en dos debido a que no se pudo obtener una imagen completa del arreglo).

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

54

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.38 Arreglo con cada una de las muestras recibidas. Adems del arreglo que se observa en la figura de arriba se tiene otro arreglo que muestra las fechas en que fueron recibidas cada una de las lecturas (Fig.3.39).

Fig.3.39 Arreglo de fechas en que se obtuvieron cada una de las muestras. En seguida, en la imagen 3.40, se puede observar que los 5 archivos que contienen informacin de fechas y de los 4 archivos que comprenden cada una de las graficas de las cuatro variables se originaron y se guardaron satisfactoriamente en la memoria USB. El archivo que contiene informacin de las fechas se puede abrir utilizando cualquier programa con extensin tipo texto. En este caso se abri el archivo utilizando el block de notas. Los archivos de las grficas solo pueden ser abiertos con el IV graficado como se ver mas adelante.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

55

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.40 Archivo de fechas abierto con block de notas y cada uno de los dems archivos generados por LabVIEW. Por ltimo, se pasar a la comprobacin del IV graficado creado para tener acceso a cada una de las grficas trazadas por los valores de las muestras recibidas. Con esto se comprobar tanto la funcionalidad del IV graficado como la del programa elaborado para la comunicacin serial. El programa se correr en modo continuo. En esta figura siguiente (Fig.3.41) se muestra que se tecle la direccin perteneciente a la grfica de setpoint de temperatura en el panel de control. En este caso, el ndice esta posicionado en la muestra numero 4 y el valor que arroja el indicador es de 38.33 grados.

Fig.3.41 Grfica del setpoint de temperatura.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

56

INSTITUTO TECNOLGICO DE CELAYA

La figura 3.42 muestra, en la parte superior, que se tecle la direccin perteneciente a la grfica de temperatura en el panel de control. En este caso, el ndice esta posicionado en la muestra numero 4 para comprobar que no es la misma grfica que la del setpoint (se opt por asemejar los valores se SP y de temperatura para simular un control de temperatura real). El valor que arroja el indicador es de 35.45 grados.

Fig.3.42 Grfica de temperatura. Ahora en figura 3.43 se muestra que se tecle la direccin perteneciente a la grfica de setpoint de humedad en el panel de control. En este caso, el ndice esta posicionado en la muestra nmero 14 y el valor que arroja el indicador es de 58.52 %.

Fig.3.43 Grfica del setpoint de humedad. En la figura 3.44 muestra que se tecle la direccin perteneciente a la grfica de humedad en el panel de control. En este caso, el ndice esta posicionado tambin en la muestra numero 14 para
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

57

INSTITUTO TECNOLGICO DE CELAYA

comprobar que no es la misma grfica que la del setpoint (se opt por asemejar los valore se SP y de humedad para simular un control de humedad real). El valor que arroja el indicador es de 60.35 grados. Con esto se da por terminado a la documentacin de la prueba nmero 1.

Fig.3.44 Grfica de humedad. 3.2.2 Prueba 2. Para esta prueba se eligi muestrear 16 lecturas (diferentes a las de la prueba anterior) con un tiempo de muestreo de 5 minutos y con direcciones de archivo de informacin tambin diferentes a la de la prueba 1 (el cdigo utilizado para esta prueba se puede apreciar en el apndice C). La imagen 3.45 revela el software Basic Stamp Editor v1.33 utilizado para la escritura del cdigo y la carga del mismo en el PIC.

Fig.3.45 Carga del cdigo en el PIC.


ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

58

INSTITUTO TECNOLGICO DE CELAYA

La figura 3.46 muestra los controles que corroboran el nmero de muestras y el tiempo de muestreo que se enviaron al PIC serialmente.

Fig.3.46 Controles: nmero de muestras, tiempo entre muestras y palabra de inicio. La siguiente figura (Fig.3.47) muestra el switch de inicio, el botn para limpiar las grficas, el control para le eleccin de el tiempo (seg. /no seg.) y las direcciones para archivar la informacin a la que se tendr acceso despus (misma informacin de la que se habl en la prueba 1). Para esta segunda prueba se eligieron las direcciones que se muestran en la parte del panel control que aparece en la figura 3.47.

Fig.3.47 Inicio de programa, controles para limpiar grficas y especificacin de tiempo y direcciones para archivar la informacin de las lecturas. La parte del panel de control encargada de revelar los datos actuales que van obtenindose del PIC se muestra en la figura 3.48 Los indicadores del recuadro del panel de control mostrado en la figura revelan los valores de la lectura recibida nmero once.
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

59

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.48 Datos actuales de la lectura nmero once recibida. Las grficas mostradas en la figura 3.49 muestran los trazos generados por los valores de las variables obtenidos de la lectura nmero once.

Fig.3.49 Grficas que muestran los valores de las variables obtenidos de la lectura nmero once. La figura nmero 3.50 revela que no existieron errores hasta la lectura de la muestra nmero 11 (esto se puede corroborar en el programa utilizado para esta prueba ya que la lectura nmero 11 en el cdigo es la misma que se presenta en la figura). Adems uno de los controles esta igualado a 44 que son el total de caracteres ASCII que son ledos del puerto serial.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

60

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.50 No existen errores de entrada y salida hasta la muestra nmero 11. Adems de que no se tuvieron errores en la recepcin de las lecturas, la figura nmero 3.51 revela que tampoco se obtuvieron errores durante la transmisin de los datos de nmero de muestras y tiempo de muestreo hacia el PIC ni tampoco se obtuvieron errores en la recepcin del bytes o datos de basura que recibi el LabVIEW.

Fig.3.51 De derecha a izquierda: recepcin de datos o bytes indeseables y transmisin de datos de configuracin para el PIC. Despus de haber recibido cada una de las lecturas programadas, el panel de control mostr los siguientes resultados. En la figura 3.52 se puede apreciar que el indicador de luz esta apagado despus de terminar la recepcin de las lecturas.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

61

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.52 Indicador de luz apagado despus de terminada la sesin de recepcin de lecturas. En las siguientes figuras (Fig.3.53 y 3.54) se aprecian los indicadores que revelan la ltima lectura y los resultados de los clculos estadsticos que se obtuvieron de los valores de las muestras recibidas respectivamente en esta prueba.

Fig.3.53 Indicadores de la ltima lectura recibida

Fig.3.54 Resultados estadsticos de los datos obtenidos. Como se puede apreciar en la siguiente figura (Fig.3.55) las grficas revelan el total de los trazos de los valores de cada una de las variables. Ya que el tiempo de muestreo fue de 5 minutos y se tuvieron 16 muestras, el tiempo total de duracin para la recepcin de estas lecturas fue de 75
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

62

INSTITUTO TECNOLGICO DE CELAYA

minutos (de las 1:27 a las 2:42 horas existe un lapso de 75 minutos), este tiempo se comprueba en el eje x (tiempo) de las grficas de la figura 3.55.

Fig.3.55 Total de trazos de los valores obtenidos de las variables. Por medio de la figura 3.56 se puede comprobar que se recibi la ltima lectura sin ningn error.

Fig.3.56 Los indicadores de error muestran que no hubo errores en la recepcin de la ltima lectura. La imagen 3.57 muestra el arreglo que se llen con cada una de las muestras que fueron recibidas. En el arreglo de la derecha aparecen las lecturas junto con el carcter $ que se utiliz para indicar el fin de transmisin. En el arreglo de la izquierda se suprime ya dicho carcter.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

63

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.57 Arreglo con cada una de las muestras recibidas. Adems del arreglo que se observa en la figura de arriba se tiene otro arreglo que muestra las fechas en que fueron recibidas cada una de estas (Fig.3.58).

Fig.3.58 Arreglo de fechas en que se obtuvieron cada una de las muestras. En seguida se puede observar, en la imagen 3.59, que los 5 archivos que contienen informacin de las lecturas se originaron y se guardaron satisfactoriamente en la PC. El archivo que contiene informacin de las fechas se puede abrir utilizando cualquier programa con extensin tipo texto. En este caso se abri el archivo utilizando el block de notas.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

64

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.59 Archivo de fechas abierto con block de notas y cada uno de los dems archivos generados por LabVIEW. Al igual que se hizo con la prueba, en esta segunda prueba tambin se comprobarn las direcciones de archivo que se eligieron para guardar cada una de las cuatro grficas generadas con el IV graficado. En esta figura siguiente (Fig.3.60) se muestra que se tecle la direccin perteneciente a la grfica de setpoint de temperatura en el panel de control. En este caso, el ndice esta posicionado en la muestra nmero 5 y el valor que arroja el indicador es de 29.36 grados.

Fig.3.60 Grfica del setpoint de temperatura. En la figura 3.61 muestra que se tecle la direccin perteneciente a la grfica de temperatura en el panel de control. En este caso, el ndice esta posicionado en la muestra nmero 5 para comprobar
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

65

INSTITUTO TECNOLGICO DE CELAYA

que no es la misma grfica que la del setpoint (se opt por asemejar los valore se SP y de temperatura para simular un control de temperatura real). El valor que arroja el indicador es de 28.25 grados.

Fig.3.61 Grfica de temperatura. Ahora en figura 3.62 se muestra que se tecle la direccin perteneciente a la grfica de setpoint de humedad en el panel de control. En este caso, el ndice esta posicionado en la muestra nmero 12 y el valor que arroja el indicador es de 18.23 %.

Fig.3.62 Grfica del setpoint de humedad. En la figura 3.63 muestra que se tecle la direccin perteneciente a la grfica de humedad en el panel de control. En este caso, el ndice esta posicionado tambin en la muestra nmero 12 para comprobar que no es la misma grfica que la del setpoint (se opt por asemejar los valore se SP y de humedad para simular un control de humedad real). El valor que arroja el indicador es de 15.69 grados.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

66

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.63 Grfica de humedad. Aqu termina la documentacin relacionada a la segunda prueba realizada. Finalmente se presentan unas imgenes que revelan tanto el lugar donde se elabor dentro del rea de robtica en el laboratorio de electrnica y la tarjeta de pruebas donde se encuentra incrustado el producto BS2e. Este ltimo esta energizado y conectado (como se haba mencionado anteriormente) a varios LEDs utilizados para la comprobacin de cada uno de los envos de lectura.

Fig.3.64 Lugar donde se elaboro el proyecto dentro del rea de robtica del laboratorio de electrnica.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

67

INSTITUTO TECNOLGICO DE CELAYA

Fig.3.65 Tarjeta de pruebas BasicStamp.

IV.

CONCLUSIONES

Como conclusin, es valido mencionar que una gran parte del tiempo que se dedic a la elaboracin del proyecto se invirti en el aprendizaje de cada uno de los software de programacin que se utilizaron en el mismo. Precisamente en esta parte se pudo comprobar que ambos software (PBASIC y LabVIEW) son lenguajes muy verstiles, poco complicados y que ofrecen un ambiente de programacin muy amigable capaces de ser utilizados para una infinidad de propsitos y con resultados admirables. Como se mencion anteriormente, la mayora del peso del proyecto se encuentra sobre la funcionalidad del panel de control generado en LabVIEW, ya que ste es el que esta en continua interaccin con el usuario. Para los propsitos especficos del proyecto que se plantearon en un principio, el panel de control resulto muy funcional ya que es bastante sencillo manejarlo.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

68

INSTITUTO TECNOLGICO DE CELAYA

Debido a la interaccin que existe entre el programa en LabVIEW y el PBASIC, el primero esta supeditado a determinadas condiciones inherentes al BS2e y a algunas restricciones que el PBASIC no puede desempear; por ejemplo, el PBASIC no lleva a cabo multiplicaciones con nmeros fraccionales por lo que se impide tener tiempos de muestreo que no estn representados con nmeros enteros; por otro lado, el cdigo de LabVIEW esta adecuado especficamente al nmero de variables que se tienen contempladas en el PIC y a el formato en el que se presentan cada una de las lecturas recibidas. A pesar de esto, modificaciones en el numero de variables y en el formato en el que se pueden presentan (numero de bytes y/o forma en que se reciben serialmente por el LabVIEW) solo causaran pequeos cambios en el cdigo del diagrama a bloques de LabVIEW ya que la idea central del programa se conserva. Tales modificaciones son inevitables dependiendo del sistema en el que se pueda utilizar. Con todo esto y tomando en cuenta los puntos antes mencionados, se puede mencionar que el proyecto puede ser empleado en cualquier sistema de medicin de variables y que este controlado a base de un microcontrolador. Aunque en este proyecto se trabaj con en velocidad 2400 bps por limitaciones del BS2e la velocidad a la que trabaja el LabVIEW puede ser mayor de 9600 bps.

APNDICE

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

69

INSTITUTO TECNOLGICO DE CELAYA

APNDICE A. Principales comandos usados en lenguaje PBASIC. Bifurcaciones IF...THEN Evaluacin para tomar una decisin segn la condicin sea Falso o Verdadera. BRANCH GOTO computado (equivalente. A ON..GOTO). GOTO Salta a una posicin especificada dentro del programa, a travs de una direccin de etiqueta. GOSUB Llama a una subrutina PBASIC en la direccin de etiqueta especificada. Ciclos repetitivos controlados FOR...NEXT Bucle controlado, ejecuta declaraciones en forma repetitiva. Acceso de Datos a la Eeprom DATA Almacena datos en la EEPROM del BS2. READ Lee un BYTE de la EEPROM del BS2. WRITE Graba un BYTE en EEPROM del BS2. Bsqueda de Datos y Tabla de Datos LOOKUP.- Obtiene un valor constante de una tabla.
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

70

INSTITUTO TECNOLGICO DE CELAYA

LOOKDOWN.- Busca un valor en una tabla de constantes. RANDOM.- Genera numero aleatorio (0-65535). Seales Digitales INPUT.- Convierte un pin en entrada. OUTPUT.- Convierte un pin en salida. REVERSE.- Convierte un pin de salida en entrada o uno de entrada en salida. LOW.- Hace bajo la salida de un pin. HIGH.- Hace alto la salida del pin. TOGGLE.- Cambia el estado de un pin si es alto lo convierte en bajo, si es bajo lo convierte alto. PULSIN.- Mide el ancho de pulso en un pin. PULSOUT.- Genera pulso en un pin. BUTTON.- Entrada de pulsadores momentneos, Antirrebote y auto-repeticin de entrada en un pin COUNT.- Cuenta l numero de pulsos en un pin en un tiempo determinado. XOUT.- Salida X10 Formato de control de electrodomsticos y alarmas a travs de la red elctrica 110 AC / 60Hz. Comunicacin Asincrnica SERIN.- Entrada serial asincrnica (RS-232). SEROUT.- Salida serial asincrnica (RS-232). Comunicacin Sincrnica SHIFTIN.- Entrada serial sincrnica (SPI). SHIFTOUT.- Salida serial sincrnica (SPI). Seales Anlogas PWM.- Salida modulada en ancho de pulso a un pin. RCTIME.- Mide capacitores o resistores en funcin del tiempo de carga en un circuito. Funciones de Tiempo PAUSE.- Hace una pause de (0-65535) milisegundos. Funciones de Sonido FREQOUT.- Produce una o dos 2 frecuencias en un pin especificado. DTMFOUT.- Produce tonos DTMF de formato telefnico en un pin especifico. Control de Energa NAP.- Apaga el procesador por un corto periodo de tiempo. SLEEP.- Descansa el procesador por un periodo de tiempo. END.- Detiene la ejecucin e ingresa en modo de baja potencia
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

71

INSTITUTO TECNOLGICO DE CELAYA

Depuracin de Programa DEBUG.- Salida de Datos por el puerto de programacin.

APNDICE B. A continuacin se presenta el programa diseado para cubrir los propsitos del proyecto para la primer prueba.
{$STAMP BS2e} {$PORT COM1} definiendo variables. Rept tiempo muestras x baudmode VAR VAR VAR VAR CON WORD WORD BYTE BYTE fin_transmision 16780 36 es el codigo ASCII en decimal de: $

fin_transmision VAR

fin_transmision = 36

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

72

INSTITUTO TECNOLGICO DE CELAYA

configracin de puertos como salida para comprobacion de transmisin. Inicio: DIRS =%1111111111111111 OUTS =%0000000000000000 PIC recibe datos de: nmero de muestras y tiempo entre muestras. SERIN 16\1,baudmode,[WAIT(OK),DEC2 muestras,DEC1 tiempo] OUTA =%0001 DEBUG GO PAUSE 50 OUTA =%0010 goto envio empieza la comunicacin de datos PIC-LabVIEW envio: SEROUT 16,baudmode,[cls,x] OUTS =%0000000000000100 GOSUB delay SEROUT 16,baudmode,[TEMP=19.63 , SP=22.45,CR,HUM.=60.35 , SP=58.52,x] OUTS =%0000000000001000 GOSUB delay SEROUT 16,baudmode,[TEMP=50.26 , SP=48.35,CR,HUM.=40.12 , SP=39.33,x] OUTS =%0000000000010000 GOSUB delay SEROUT 16,baudmode,[TEMP=35.45 , SP=38.33,CR,HUM.=20.34 , SP=18.12,x] OUTS =%0000000000100000 GOSUB delay SEROUT 16,baudmode,[TEMP=40.58 , SP=39.33,CR,HUM.=10.55 , SP=12.89,x] OUTS =%0000000001000000 GOSUB delay SEROUT 16,baudmode,[TEMP=60.25 , SP=52.36,CR,HUM.=33.25 , SP=30.15,x] OUTS =%0000000010000000 GOSUB delay SEROUT 16,baudmode,[TEMP=10.25 , SP=12.68,CR,HUM.=52.32 , SP=50.25,x] OUTS =%0000000100000000
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

control de bytes indeseables.

SEROUT 16,baudmode,[TEMP=35.45 , SP=38.33,CR,HUM.=20.34 , SP=18.12,x]

73

INSTITUTO TECNOLGICO DE CELAYA

GOSUB delay SEROUT 16,baudmode,[TEMP=70.59 , SP=68.46,CR,HUM.=40.25 , SP=39.33,x] OUTS =%0000001000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=20.01 , SP=22.33,CR,HUM.=35.45 , SP=39.33,x] OUTS =%0000010000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=80.25 , SP=79.33,CR,HUM.=36.45 , SP=38.22,x] OUTS =%0000100000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=33.45 , SP=38.33,CR,HUM.=20.34 , SP=18.12,x] OUTS =%0001000000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=15.26 , SP=13.33,CR,HUM.=50.69 , SP=51.23,x] OUTS =%0010000000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=62.33 , SP=63.25,CR,HUM.=40.12 , SP=39.33,x] OUTS =%0100000000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=19.63 , SP=22.45,CR,HUM.=60.35 , SP=58.52,x] OUTS =%1000000000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=50.26 , SP=48.35,CR,HUM.=40.12 , SP=39.33,x] OUTS =%0000000000000001 GOSUB delay SEROUT 16,baudmode,[TEMP=35.45 , SP=38.33,CR,HUM.=20.34 , SP=18.12,x] OUTS =%0000000000000010 GOSUB delay SEROUT 16,baudmode,[TEMP=60.25 , SP=52.36,CR,HUM.=33.25 , SP=30.15,x] OUTS =%0000000000001000 GOSUB delay SEROUT 16,baudmode,[TEMP=10.25 , SP=12.68,CR,HUM.=52.32 , SP=50.25,x] OUTS =%0000000000010000 GOSUB delay SEROUT 16,baudmode,[TEMP=70.59 , SP=68.46,CR,HUM.=40.25 , SP=39.33,x] OUTS =%0000000000100000 GOSUB delay SEROUT 16,baudmode,[TEMP=63.44 , SP=61.25,CR,HUM.=59.10 , SP=57.25,x]
ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

74

INSTITUTO TECNOLGICO DE CELAYA

OUTS =%0000000001000000 GOSUB delay goto inicio subrutina para el tiempo de muestreo delay: FOR rept= 1 TO tiempo PAUSE 60000 NEXT RETURN

APNDICE C. A continuacin se presenta el programa diseado para llevar a cabo la segunda prueba.
{$STAMP BS2e} {$PORT COM1} definiendo variables. Rep Tiempo Muestras fin_transmision x baudmode fin_transmision = 36 VAR WORD

VAR WORD VAR BYTE VAR BYTE VAR fin_transmision CON 16780 36 es el codigo ASCII en decimal de: $

configuracin de puertos como salida para comprobacin de transmisin. ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

75

INSTITUTO TECNOLGICO DE CELAYA

Inicio: DIRS =%1111111111111111 OUTS =%0000000000000000 PIC recibe datos de: nmero de muestras y tiempo entre muestras. SERIN 16\1,baudmode,[WAIT(OK),DEC2 muestras,DEC1 tiempo] OUTA =%0001 DEBUG GO PAUSE 50 OUTA =%0010 goto envio empieza la comunicacin de datos PIC-LabVIEW envio: SEROUT 16,baudmode,[cls,x] SEROUT 16,baudmode,[TEMP=63.45 , SP=60.33,CR,HUM.=22.34 , SP=26.12,x] OUTS =%0000000000000100 GOSUB delay SEROUT 16,baudmode,[TEMP=56.63 , SP=55.45,CR,HUM.=15.35 , SP=17.52,x] OUTS =%0000000000001000 GOSUB delay SEROUT 16,baudmode,[TEMP=50.26 , SP=48.35,CR,HUM.=40.12 , SP=39.33,x] OUTS =%0000000000010000 GOSUB delay SEROUT 16,baudmode,[TEMP=89.45 , SP=86.33,CR,HUM.=22.34 , SP=20.12,x] OUTS =%0000000000100000 GOSUB delay SEROUT 16,baudmode,[TEMP=40.58 , SP=39.33,CR,HUM.=10.55 , SP=12.89,x] OUTS =%0000000001000000 GOSUB delay SEROUT 16,baudmode,[TEMP=28.25 , SP=29.36,CR,HUM.=44.25 , SP=45.15,x] OUTS =%0000000010000000 GOSUB delay SEROUT 16,baudmode,[TEMP=90.25 , SP=93.68,CR,HUM.=63.32 , SP=62.25,x] OUTS =%0000000100000000 GOSUB delay SEROUT 16,baudmode,[TEMP=70.59 , SP=68.46,CR,HUM.=40.25 , SP=39.33,x] OUTS =%0000001000000000 GOSUB delay ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

76

INSTITUTO TECNOLGICO DE CELAYA

SEROUT 16,baudmode,[TEMP=20.01 , SP=22.33,CR,HUM.=35.45 , SP=39.33,x] OUTS =%0000010000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=80.25 , SP=79.33,CR,HUM.=36.45 , SP=38.22,x] OUTS =%0000100000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=10.45 , SP=13.33,CR,HUM.=20.34 , SP=18.12,x] OUTS =%0001000000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=15.26 , SP=13.33,CR,HUM.=15.69 , SP=18.23,x] OUTS =%0010000000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=63.33 , SP=63.25,CR,HUM.=44.12 , SP=43.33,x] OUTS =%0100000000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=19.63 , SP=22.45,CR,HUM.=60.35 , SP=58.52,x] OUTS =%1000000000000000 GOSUB delay SEROUT 16,baudmode,[TEMP=50.26 , SP=48.35,CR,HUM.=40.12 , SP=39.33,x] OUTS =%0000000000000001 GOSUB delay SEROUT 16,baudmode,[TEMP=11.45 , SP=13.33,CR,HUM.=19.34 , SP=17.12,x] OUTS =%0001000000000000 GOSUB delay goto inicio subrutina para el tiempo de muestreo delay: FOR rept= 1 TO tiempo PAUSE 60000 NEXT RETURN

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

77

INSTITUTO TECNOLGICO DE CELAYA

VI. LabVIEWusermanual7.0 Archivo tipo PDF National Instruments. Learning with LabVIEW Express Robert H. Bishop 2004 by Person Prentice Hall. LabVIEW Programming Data adquisition and analysis Jefrey Y. Beyon 2002 by Prentice Hall. Comunicacin de datos , redes de

BIBLIOGRAFIA.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

78

INSTITUTO TECNOLGICO DE CELAYA

Computadores y sistemas abiertos. Cuarta edicin. Fred Halsall. 1999 Ed. Prentice Hall.

ADQUISICIN, RECOPILACIN Y MUESTREO DE DATOS DE MANERA SERIAL

79

Vous aimerez peut-être aussi