Está en la página 1de 39

~1~

INSTITUTO TECNOLOGICO DE TEHUACAN DEPARTAMENTO DE INGENIERIA ELECTRICA-ELECTRONICA

ALUMNO: BERNABE CORTES CRISOSTOMO.

AREA: ING. ELECTRONICA.

NUMERO DE CONTROL: 09360089

MATERIA: INTERFACES.

ACTIVIDAD: PROYECTO. MONITOREO DE TEMPERATURA CON PIC Y ARDUINO.

TEHUACAN PUEBLA A DE AGOSTO DE 2013

CORTES CRISOSTOMO BERNABE

~2~
NDICE 1. TITULO..4 2. INTRODUCCION.4 3. JUSTIFICACION..4 4. OBJETIVO GENERAL5 5. OBJETIVOS ESPECIFICOS......5 6. ANTECEDENTES O ESTADO DEL TEMA........5 7. HIPOTESIS....6 8. MARCO TEORICO...7 8.1. 8.2. 8.3. 8.4. 8.5. 8.6. Software de Desarrollo de Sistemas NI LabVIEW..7 Qu es LabVIEW?..........................................................................7 Qu es el Arduino?........................................................................8 Descripcin del PIC.9 Descripcin de la pantalla LCD......10 El LM35..11 Paso uno Estudio12
Paso Dos Instalacin del Software y el Hardware...13

9. PROCEDIMIENTO Y ACTIVIDADES REALIZADAS12 9.1. 9.2. 9.3.

Paso Tres Instalacin del Firmware de Comunicacin Entre Labview Interface y Arduino Mega 2560......14 Paso Cuatro - Desarrollo de la Aplicacin (Lectura de Una Entrada Analgica)17

9.4.

9.5. Pasos Cinco Captura de Temperatura.....20 9.6. Paso Seis PIC y Pantalla LCD.23 9.6.1. Diagrama de Flujo...26 9.6.2. Programa...27 9.7. Paso siete Argumento Tcnicos Material29 9.7.1. Material...29 9.7.2. Equipo....29 9.7.3. Costos29 10. RESULTADOS..30
CORTES CRISOSTOMO BERNABE

~3~
11. CRONOGRAMA.31 12. ALCANCES32 13. LIMITACIONES..32 14. CONCLUSIONES......33 15. RECOMENDACIONES.........34 16. ANEXOS......34 16.1. Fotos.........38 17. REFERENCIAS BIBLIOGRFICAS...39 17.1. Libros....39 17.2. Paginas de Internet ...39

CORTES CRISOSTOMO BERNABE

~4~
1. TITULO MONITOREO DE TEMPERATURA CON PIC Y ARDUINO

2. INTRODUCCIN Este proyecto consiste en leer una seal anloga con un microcontrolador PIC16F887 y un Arduino mega 2560, con el PIC se enviara a una pantalla LCD el dato digital equivalente; y con el Arduino se enviaran los mismos datos pero a la computadora con ayuda de Labview, esta ltima se encargar de mostrar en la pantalla (de forma digital) la manera en que la seal vara con el tiempo. Como fuente de seal se usara un sensor de temperatura el LM35 Amplificadamente con salida del orden de los volts. El cual se conecta directamente a un pin del Arduino y cmo tambin del Microcontrolador que se ha configurado como entrada anloga. La forma de enviar los datos mediante el Arduino se ir conociendo en el desarrollo de dicho proyecto. Utilizando como interface la placa antes mencionado (Arduino). Tambin se muestra el dato ledo en una pantalla de cristal lquido, con el fin de comprobar que los datos que se pretende adquirir son totalmente validos y correctos, es decir que se debe mostrar el mismo dato que en la computadora. Por su parte, la computadora tiene un programa en lenguaje C que se sirve para programar el PIC y de mostrarlo en la pantalla LCD, y para el PC y Arduino tambin existe un serie de paqueteras gratuitas que permite hacer la comunicacin directamente desde el solfware llamado (Labview).

3. JUSTIFICACION El proyecto a realizar es especficamente para monitorea el comportamiento de la temperatura del medio ambiente o de algn objeto. Desde una PC y una pantalla LCD, actualmente se usa algn interfaz de computadora para manejar o controlar un sistema ya que resulta una herramienta ms cmodo, eficaz y seguro, por tal motivo en esta ocasin para poder observar la variacin muy a detalle el registro de la temperatura se hace este tipo de interfaz, este tipo de trabajo tambin resulta muy viable para muchas aplicaciones hablando en cuestiones, donde se quiere
CORTES CRISOSTOMO BERNABE

~5~
conocer el estado de un equipo por medio de la computadora del usuario, sin la necesidad de ir hasta donde este situado dicho equipo, como podemos analizar es una alternativa como interesante que puede servir tanto en aplicaciones domesticas como industriales.

4. OBJETIVO GENERAL Se diseara un sistema que permita monitorea el estado de la temperatura, mediante un PIC y Arduino, donde los datos ledos se mandara a mostrar en el PC por medio de Labview y en una pantalla LCD, en la cual la transmisin va ser peridicamente a travs del interfaz microcontrolador arduino y el PIC16F887.

5. OBJETIVOS ESPECIFICOS Adquisicin de de datos Arduino+Labview+PIC Investigar sobre la comunicacin de Arduino con Labview Investigar la programacin del Arduino y el PIC para la visualizacin de datos Acoplamiento del sensor Diseo grafico en panel de Labview

6. ANTECEDENTES O ESTADO DEL TEMA En ocasiones es necesario que un sistema con microcontroladores recoja informacin que luego ha de ser procesada, por ejemplo temperaturas, potencias consumidas, etc. siendo el sistema ms usual es en un PC. En otros casos puede ser necesario controlar mediante un PC las entradas y salidas de un dispositivo. En cualquier caso la forma ms simple de comunicar un dispositivo con microcontroladores con un PC es a travs del puerto serie o USB utilizando el estndar en el caso del RS232 (EIA 232). Y para el USB el estndar seria el EIA/TIA-568B.
CORTES CRISOSTOMO BERNABE

~6~
Los ordenadores fijos anteriores suelen contar con un puerto serie si bien se tiende a que desaparezca y muchos equipos nuevos ya no lo incorporan. Adems hace tiempo que no se incluye en los ordenadores porttiles. Y tal razn actualmente la que es muy utilizada es la comunicacin a travs de puerto USB. Aunque a pesar de lo anterior en pocas ocasiones todava sigue siendo til. Si fuera el caso al no disponer de ningn puerto podemos utilizar un conversor USB/RS232.

7. HIPOTESIS

1. Elaborar una propuesta para la implementacin de un sistema de control mediante un interfaz centralizado en la manipulacin y monitoreo de

temperatura. Donde el sistema deber abastecer los protocolos existentes, la conexin en su momento tendr una fuente transmisora de seal.

2. Hacer un anlisis sobre los dispositivos disponibles actualmente en el

mercado y sus principales caractersticas, se realizar bsicamente ingresando a los sitios web de los principales distribuidores de este tipo de componentes, que generalmente brindan informacin explcita sobre los aspectos ms relevantes del material en cuestin de manejo, conexin, ventajas y desventajas.
3. La comunicacin directa del sensor y la computadora se consigue mediante

el modulo de Arduino un microcontrolador y un entorno de desarrollo. Para comprender este efecto, se considera esta investigacin de la forma en que se construyen la programacin y los procesos internos que permiten la interaccin de un dispositivo y el ordenador.

8. MARCO TEORICO 8.1. Software de Desarrollo de Sistemas NI LabVIEW


CORTES CRISOSTOMO BERNABE

~7~
El software LabVIEW es ideal para cualquier sistema de medidas y control y el corazn de la plataforma de diseo de NI. Al integrar todas las herramientas que los ingenieros y cientficos necesitan para construir una amplia variedad de aplicaciones en mucho menos tiempo, NI LabVIEW es un entorno de desarrollo para resolver problemas, productividad acelerada y constante innovacin 8.2. Qu es LabVIEW?

LabVIEW (Laboratory Virtual Instrument Engineering Workbench ) es un lenguaje de programacin grfica desarrollado por National Instruments el cul utiliza iconos en lugar de lneas de texto para crear aplicaciones. En contraste con los lenguajes de programacin basados en texto, donde las instrucciones determinan la ejecucin del programa, LabVIEW utiliza programacin de flujo de datos, donde el flujo de datos determina la ejecucin. La naturaleza de la programacin grfica hace de LabVIEW una opcin ideal para la creacin de aplicaciones de prueba, medicin, automatizacin, control de instrumentos, adquisicin y anlisis de datos.

Los programas creados en LabVIEW son llamados instrumentos virtuales o VI (virtual instrument) ya que su apariencia y operacin imita a la de un instrumento real, como lo son osciloscopios y multmetros. Cada VI utiliza funciones para manipular la entrada de datos as como la salida y la forma de mostrar en pantalla la informacin contenida por los mismos. Todo VI contiene los elementos del panel frontal, diagrama de bloques e icono. Figura 8.2. Logo de Labview

CORTES CRISOSTOMO BERNABE

~8~
Figura 8.2. Logo de Labview

8.3.

Qu es el Arduino?

Es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseada para facilitar el uso de la electrnica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores ms usados son el Atmega2560, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo costo que permiten el desarrollo de mltiples diseos. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programacin Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa. Desde octubre de 2012, Arduino se usa tambin con microcontroladoras CortexM3 de ARM de 32 bits, que coexistirn con las ms limitadas, pero tambin econmicas AVR de 8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios en las dos plataformas. Eso s, las microcontroladoras CortexM3 usan 3.3V, a diferencia de la mayora de las placas con AVR que usan mayormente 5V. Sin embargo ya anteriormente se lanzaron placas Arduino con Atmel AVR a 3.3V como la Arduino Fio y existen clnicos de Arduino Nano y Pro como Meduino en que se puede conmutar el voltaje. Arduino se puede utilizar para desarrollar objetos interactivos autnomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente.

CORTES CRISOSTOMO BERNABE

~9~
Al ser open-hardware, tanto su diseo como su distribucin es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia. Figura 8.3. Placa del Arduino

Figura 8.3. Placa del Arduino

8.4.

Descripcin del PIC

Es un circuito electrnico de muy alta escala de integracin, capaz de realizar una infinidad de tareas de forma repetitiva a velocidades muy altas. Esto se logra por medio de la lgica dictada por un conjunto de instrucciones que el microprocesador interpreta y ejecuta y que recibe el nombre de programa. Desde su aparicin en 1971 el microprocesador ha sufrido una gran cantidad de cambios, todos ellos hacia el lado de aumentar su capacidad y velocidad de procesamiento. Para poder utilizar todo el potencial que encierra un microprocesador, es necesario conocer y comprender su lenguaje natural, esto es: el lenguaje ensamblador. Un dispositivo electrnico encargado de, valga la redundancia, controlar uno o ms procesos. Por ejemplo, el controlador del aire acondicionado, recoger la informacin de los sensores de temperatura, la procesar y actuar en consecuencia. Figura 8.4 Circuito Integrado PIC16F887

CORTES CRISOSTOMO BERNABE

~ 10 ~

Figura 8.4 Circuito Integrado PIC16F887

8.5.

Descripcin de la pantalla LCD

La definicin ms clara de un LCD es: una pantalla de cristal lquido que visualiza unos ciertos caracteres. Para poder hacer funcionar un LCD, debe de estar conectado a un circuito impreso en el que estn integrados los controladores del display y los pines para la conexin del display. Sobre el circuito impreso se encuentra el LCD en s, rodeado por una estructura metlica que lo protege. En total se pueden visualizar 2 lneas de 16 caracteres cada una, es decir, 2x16=32 caracteres. A pesar de que el display slo puede visualizar 16 caracteres por lnea, puede almacenar en total 40 por lnea. El usuario es el que especifica qu 16 caracteres son los que se van a visualizar. Tiene un consumo de energa de menos de 5mA y son ideales para dispositivos que requieran una visualizacin pequea o media. El manejo de una pantalla LCD til a la hora de mostrar datos realizados por el microcontrolador o tambin para poder interactuar con este de una manera ms fcil. Figura 8.5 La pantalla LCD.

CORTES CRISOSTOMO BERNABE

~ 11 ~

Figura 8.5 La pantalla LCD. 8.6. El LM35

Es un sensor de temperatura con una precisin calibrada de 1C. Su rango de medicin abarca desde -55C hasta 150C. La salida es lineal y cada grado centgrado equivale a 10mV, por lo tanto: 150C = 1500mV -40C = -400mV Sus caractersticas ms relevantes son:

Esta calibrado directamente en grados Celsius. La tensin de salida es proporcional a la temperatura. Tiene una precisin garantizada de 0.5C a 25C. Opera entre 4 y 30 voltios de alimentacin. Baja impedancia de salida. Baja corriente de alimentacin (60uA). Bajo costo.

El LM35. Figura 8.6 no requiere de circuitos adicionales para calibrarlo externamente. La baja impedancia de salida, su salida lineal y su precisa

CORTES CRISOSTOMO BERNABE

~ 12 ~
calibracin hace posible que este integrado sea instalado fcilmente en un circuito de control. Debido a su baja corriente de alimentacin se produce un efecto de auto calentamiento muy reducido. Se encuentra en diferentes tipos de encapsulado, el ms comn es el TO-92, utilizada por transistores de baja potencia.

Figura 8.6. El LM35

9. PROCEDIMIENTO Y ACTIVIDADES REALIZADAS 9.1. Paso uno Estudio

La interfaz de LabVIEW para Arduino (LIFA) Toolkit es una herramienta gratuita que se puede descargar desde el servidor de NI (National Instruments) y que permite a los usuarios de Arduino adquirir datos del microcontrolador Arduino y procesarlos en el entorno de programacin grfica de LabVIEW. Para utilizar la aplicacin LIFA no es necesario disponer de una versin comercial de LabVIEW basta con adquirir el software LabVIEW Student Edition que se distribuye por destinos medios a un precio muy accesible (Sparkfun Electronics lo distribuye junto con la tarjeta Arduino Mega a un precio de unos 450 pesos).

Este trabajo pretende ser una respuesta a la necesidad que existe en el mbito acadmico universitario de poder disponer de un entorno de Diseo y Prototipo de Aplicaciones de Medida, Control y Automatizacin de Procesos y Espacios Fsicos. La plataforma Open Hardware Arduino ha demostrado en su corta, pero
CORTES CRISOSTOMO BERNABE

~ 13 ~
intensa vida, ser una opcin muy interesante para incluir en unos Laboratorios de Prototipo. Son muchas sus ventajas, entre las que destacamos su costo, su libre difusin y exencin de costos de patentes por desarrollo as como la gran comunidad de usuarios que se ha creado y que est generando una cantidad de aplicaciones increble.

La participacin de una empresa como NI National Instruments en este proyecto de desarrollo de aplicaciones Software para Arduino pone de manifiesto el gran inters de la herramienta. No solo se ha sumado esta empresa al proyecto sino tambin Google con sus aplicaciones escritas en lenguaje Android, Telefnica con el desarrollo de una tarjeta para programar desde telefona mvil, y otras compaas. Para que quien lo desee pueda experimentar con esta herramienta Software que por otra parte funciona soportada con una simple Licencia de estudiante de LabVIEW. Paso Dos Instalacin del Software y el Hardware

9.2.

A continuacin describo los pasos que se recomiendan para la puesta en marcha de la herramienta LIFA ( LabVIEW para Arduino): La configuracin de la Interfaz de LabVIEW para Arduino es un proceso de seis pasos que slo tendr que completar una sola vez. Seguir las siguientes instrucciones para comenzar a crear aplicaciones con la interfaz de LabVIEW para Arduino. 1. Instalar LabVIEW Si ha adquirido el paquete de LabVIEW 2. Instalar los controladores VISA NI-. 3. Instalar JKI VI Package Manager (VIPM) Community Edition (gratuito). Todos los sistemas operativos.All Operating Systems. 4. Instalacin de la Interfaz de LabVIEW para Arduino 5. Conectar la placa Arduino a su PC 6. Carga de la interfaz de LabVIEW para firmware Arduino

Y por el otro lado para la programacin del PIC y la pantalla LCD


CORTES CRISOSTOMO BERNABE

~ 14 ~
1. Instalar CCS_PCWHD_4.057, es el PIC C que genera el cdigo para el

PIC
2. Instalar el PICkit 2 v2.61 para poder descarga el cdigo al programador 3. Conectar el LM35 con el PIC 4. Conectar el PIC con el LCD

9.3.

Paso Tres Instalacin del Firmware de Comunicacin Entre Labview Interface y Arduino Mega 2560

Para poder comunicar Labview con Arduino, previamente, debemos instalar en la tarjeta el firmware correspondiente. Partimos ya tenemos instalado en nuestro PC el entorno IDE Arduino. El fichero que debemos cargar en el IDE de Arduino para luego descargar en la tarjeta se encuentra en la carpeta en donde tengamos instalado Labview \National

Instruments\LabVIEW

20XX\vi.lib\LabVIEW

Interface

for

Arduino\Firmware\LVIFA_Base

Ejecutamos el IDE Arduino y cargamos el fichero.

Pasos a seguir:

Abrir el IDE Arduino . Pulsando sobre arduino.exe Con la opcin Fichero->Abrir Buscamos el fichero LVIFA_Base.pde. Tal como se muestra en figura 9.3

CORTES CRISOSTOMO BERNABE

~ 15 ~

Figura 9.3. IDE del Arduino

Seguidamente una vez cargado el fichero en el IDE Arduino seleccionamos la tarjeta con la que trabaremos. Figura 9.3.1

Figura 9.3.1. Configuracin del IDE del Arduino

CORTES CRISOSTOMO BERNABE

~ 16 ~
Seguidamente seleccionamos el puerto con el que realizaremos la descarga del firmaware sobre la tarjeta Arduino. Figura 9.3.2

Figura 9.3.2. Seleccin del puerto en el IDE del Arduino

Una vez realizadas estas operaciones basta con que pulsemos el botn de carga de sketch del IDE para que el fichero se transfiera a la tarjeta y, una vez transferido, ya hemos dejado Arduino listo para comunicarse con LabVIEW. Figura 9.3.3

Figura 9.3.3. Carga de sketch en el IDE del Arduino

CORTES CRISOSTOMO BERNABE

~ 17 ~
9.4. Paso Cuatro - Desarrollo de la Aplicacin (Lectura de Una Entrada Analgica)

Para empezar con el diseo grafico de nuestro proyecto, primero se inicia identificando los componentes las cuales vamos a utilizar, para leer el valor de una entrada analgica de Arduino.

Se trata de realizar un montaje que permita seleccionar el PIN analoga desde la propia pantalla del Panel y que mediante un serie de controles que visualizan la lectura y podamos ver su estado. Es decir leer el valor de una entrada analgica de las 16 que tiene Arduino Mega 2560 que como sabemos sus valores oscilan entre 0 y 5 v. Se montara un Panel como el de la figura 9.4, en el que se muestra un selector para el nmero de canal Seleccin de Entrada Analgica. Una ventana de dato numrico en el que se muestra el valor ledo y un Botn con el que se detiene la aplicacin y se cierra el puerto de comunicaciones.

Figura 9.4. Panel del control de Labview

CORTES CRISOSTOMO BERNABE

~ 18 ~
La construccin de Bloques Funcionales se mostrara en seguida paso por paso, es muy sencilla.

Vemos que se colocan los dos bloques Init y Close que facilitan la configuracin de la tarjeta y el cierre del puerto respectivamente. En el bucle del programa (dentro de un ciclo While Loop se colocara un bloque de lectura de canal analgico Analog Read Pin que recoge el valor de la seal del pin que seleccionemos mediante el bloque de Seleccin de Entrada Analgica La salida de este bloque (valor ledo) se llevara por un lado a la caja de texto que visualiza el valor Voltaje. Para salir del bucle de ejecucin While Loop se utiliza un botn Stop y a la vez tambin se puede salir si se produce un error mediante el bloque Status Para empezar debemos configurar Arduino y lo hacemos poniendo el bloque Init al que le asignamos los parmetros:

Puerto de comunicacin Velocidad de transmisin Tipo de tarjeta Arduino Numero de bits de los paquete de comunicacin Tipo de puerto de comunicacin.

CORTES CRISOSTOMO BERNABE

~ 19 ~
No olvidemos que estos parmetros a excepcin del puerto de comunicacin los asume por defecto el sistema, es decir que si no los ponemos el sistema los toma con esos valores. Para asignar las constantes mencionadas basta ponerse sobre el terminal con la herramienta de edicin en modo wire y pulsando el botn derecho del ratn

podemos seleccionar el control a aadir con la opcin Create (Constant, Control, Indicador).

A continuacin se coloca una estructura de tipo While loop.

Que se ejecutara continuamente hasta que pulsemos el botn Cerrar puerto, viene a ser el equivalente al loop de un programa escrito para Arduino. Dentro de esta estructura pondremos el bloque de configuracin de E/S y el de lectura de valor de Entrada de la tarjeta Arduino.

No debemos olvidar de realizar el cableado de los buses de conexin entre mdulos:

CORTES CRISOSTOMO BERNABE

~ 20 ~
En este bloque Lee el valor del canal analgico 0 (temperatura), especificado como entrada. Y tambin muestra el resultado cada cierto tiempo.

Cierra la conexin con Arduino.

La manera de operar es muy sencillo solamente es ejecutar el diagrama construido y probar su funcionamiento. Pulsando para detener la ejecucin siempre se debe hacer pulsando en el botn del Panel Cerrar

9.5.

Pasos Cinco Captura de Temperatura

Bsicamente en este apartado lo que se hace es capturar una seal de temperatura, mediamente un sensor precisamente de temperatura (LM35), con los pasos y componentes anteriormente detallados. Este sensor va estar alimentado desde el mismo Arduino, y su salida estar conectada a una de sus entradas analgicas, en este caso se ocupara el PIN A0. Como podemos observar el diseo de la pantalla del panel, para la adquisicin de la temperatura del medio ambiente es como se ve en la figura 9.5 siguiente:

CORTES CRISOSTOMO BERNABE

~ 21 ~

Figura 9.5. Diseo del panel

Cuenta con un indicador numrico, figura 9.5.1 que es un donde se estar visualizando el estado de la temperatura, segn la lectura del sensor.

Figura 9.5.1. Indicador numrico de la temperatura Tiene un indicador grafico, figura 9.5.2 que tiene como funcin presentar grficamente el valor de un canal analgico en un grafico. En este caso seria del muestreo de la seal del sensor, con el fin de realizar la lectura del modo que hacen los sistemas de adquisicin de datos reales.

CORTES CRISOSTOMO BERNABE

~ 22 ~
Figura 9.5.2. Indicador grafico de la temperatura. Labview resulta muy prctico porque facilita muchas aplicaciones, debido a que tiene un ambiente agradable para el usuario. En este apartado se incluye un control de temperatura que consiste en. Mediante unos indicadores de leds y una cadena de constantes, indica en qu estado de temperatura nos encontramos. Para esto se logra utilizando un ciclo que Labview lo llama case structure, es un ciclo de casos parecida a la programacin tradicional, es decir se utilizan una serie de comparacin segn sea el caso, ya sea verdadera o falsa, entonces conforme aumenta o disminuye nuestra temperatura, aparecern cuatro letreros diferentes segn en el grado que ande la temperatura. Tal cual que se especifico que cuando la temperatura estuviese en el rango de 0 a 20C, se mandara a prender un Led acompaado de un mensaje de texto como advertencia, que dir FRIO. Si la temperatura estuviese en el rango de 20 a 30C, suceder lo mismo pero el mensaje de advertencia aparecer como TIBIO. Si el caso estuviese de 30 a 40C, el indicador se leer como TEMPERATURA AMBIENTE. Pero si la temperatura rebasa los niveles de rango, es decir que sea superior a los 40C, entonces el dialogo de advertencia dir CALIENTE. As como se observa en la figura 9.5.3

Figura 9.5.3. Control de temperatura.

CORTES CRISOSTOMO BERNABE

~ 23 ~
El diagrama de Bloques Funcional completo es como se muestra en la figura 9.5.4. Siguiente.

Figura 9.5.4. Diagrama de bloques funcional

9.6.

Paso Seis PIC y Pantalla LCD

El proyecto tambin consta de un microcontrolador PIC, que comunica el sensor (LM35). Para que despus la respuesta se mande a exhibir a una pantalla LCD de cristal. La temperatura se enva en grados centgrados con el siguiente formato: ( V) Acta como un termmetro que puede conectarse directamente del PIC a la pantalla LCD, obviamente los puertos del microcontrolador y los pines del el LCD se define, en la construccin del cdigo de programa en el lenguaje C. Para que posteriormente cuando este, se est ejecutando de la manera correcta, se descargara hacia el PIC con ayuda de un programador.

CORTES CRISOSTOMO BERNABE

~ 24 ~
En la figura 9.6 se muestra el diagrama de bloques. Aqu se puede apreciar que el sensor de temperatura se conecta a uno de los canales del convesor A/D del microcontrolador PIC y la pantalla.

Sensor Temperatura

Microcontrolador PIC

Pantalla LCD

Figura 9.6. Diagrama a bloques

El circuito se muestra en la figura 9.6.1. A continuacin:

Figura 9.6.1. Diagrama del circuito.

CORTES CRISOSTOMO BERNABE

~ 25 ~
Se puede emplear cualquier tipo de microcontrolador PIC que disponga de un conversor A/D integrado. En este proyecto se utilizan el microcontrolador PIC16F887. Figura 9.6.2. Este microcotrolador es muy popular, consta de 40 terminales y un conversor A/D integrado de 8 canales de entrada con 10 bits de resolucin. La razn por la cual se escoge a este popular microcontrolador es simplemente para familiarizar al lector con sus caractersticas y potencialidades.

Figura 9.6.2. Integrado del PIC16F997

Para que la seal o en este caso la temperatura pueda procesar el micro, emplearemos un LM35. Figura 9.6.3, se encargara de enviarle la seal directamente.

Figura 9.6.3. Sensor LM35

CORTES CRISOSTOMO BERNABE

~ 26 ~
Este sensor tiene tres pines alimentacin, tierra y la salida anloga. Este dispositivo presenta en su salida una variacin de 10 mV/C, por lo tanto, el valor de la temperatura se puede obtener directamente, sin necesidad de hacer modificaciones al dato obtenido. El LM35 puede trabajar con una fuente de alimentacin positiva puede estar entre 4 y 30 Volts. Adems, su precisin es de 0.5C. Este elemento viene en un encapsulado plstico TO-92 y tiene la misma apariencia de un transistor.

El mdulo de cristal lquido se conecta al microcontrolador utilizando interface de 4 bits. Conectamos la entrada anloga al pin RA0/AN0 del microcontrolador y el voltaje de referencia del convertidor anlogo a digital, se configura para que sea el voltaje de alimentacin del PIC (VDD).

9.6.1. Diagrama de Flujo. El diagrama de flujo del proyecto se muestra en la figura 9.6.1.1 Al principio del programa se configuran los puertos de E/S y el conversor A/D. para mandar a visualiza el texto y la informacin capturada en el LCD, para esto el micro ya est programado para que la salida sea en volts interpretado como la temperatura sensado. Y tambin ya sabe que puertos se conectan a los pines del LCD. Seguidamente el programa entra en un bucle infinito donde se lee la temperatura del sensor, se convierte a digital, se lleva a la escala adecuada y se enva a la pantalla. Finalmente el programa espera durante un tiempo equivalente al intervalo de muestreo y se vuelve a repetir el proceso anterior.

CORTES CRISOSTOMO BERNABE

~ 27 ~

Figura 9.6.1.1. Diagrama de flujo

9.6.2. Programa El listado del programa en PIC C se muestra en la figura 9.6.2.1. Al principio del programa se definen las variables y las direcciones de los registros SFR utilizando la simbologa del encabezado del programa, se le asigna 0 y 1, respectivamente, que indican RB0 y RB1. Luego, se configuran las direcciones (entradas y salidas) del puerto hacia el LCD. Los datos de salida se envan empleando la instruccin SEROUT. De igual modo, los datos de entradas se reciben mediante la instruccin SERIN. Y es desde el cdigo tambin donde se especifica la frecuencia de trabajo. A continuacin, se inicializan al conversor A/D poniendo el bit 2 del registro ADCON0 a 1 lgico. Cuando la conversin finaliza, los dos bits ms significativos de los resultados de 10 bits, se encuentra en el registro ADRESH, y se copian en la variable ADRESL, se copian en la variable Resl. La variable Resl almacena el resultado de la conversin de 10 bits.

CORTES CRISOSTOMO BERNABE

~ 28 ~
El conversor A/D tiene una resolucin de bits. Por lo tanto para poder convertir la lectura en milivoltios se necesita multiplicar el valor ledo del conversor A/D por 5000/1024. Como la salida del sensor de temperatura es de 10mV/C, entonces para llevar el resultado de la conversin a grados centgrados, ser necesario dividir el resultado por 10. De aqu que, la operacin a realizar ser 5000/(1024X10) = 0.48. En el programa, la lectura del conversor A/D se multiplica por 48 y luego se divide por 100 para lograr que el resultado final se muestre en grados centgrados. Todo lo antes mencionado se efecta dentro o parte del cdigo.
EL CODIGO C COMIENZA AQUI #include <16f877a.h> //pic a utilizar #device adc=10 // conversor ADC de 10 bits #fuses XT,NOWDT //ordenes para el programador #use delay (clock=20000000) //Fosc=20Mhz #use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7, bits=8, parity=N) //manejo del RS232 #include<lcd.c> //libreria manejo lcd void main(void) { float medicion,temper; setup_adc_ports(A0); setup_adc(ADC_CLOCK_INTERNAL); lcd_init(); while(true) { set_adc_channel (0); delay_us (20); medicion=read_adc (); temper=(medicion*(0.48875)); printf(lcd_putc, "\f Voltage = %02.1fV", temper); printf("TEMPERTAURA = %01.2fV\r", temper); delay_ms(50); } } EL CODIGO C TERMINA AQUI

Figura 9.6.2.1. Cdigo del programa listado.

CORTES CRISOSTOMO BERNABE

~ 29 ~
9.7. Paso Siete Argumentos Tcnicos Material.

9.7.1. Material

Tarjeta de Arduino Mega 2560 Sensor de Temperatura LM35 Un Protoboard Una Pantalla LCD Un Microcontrolador PIC16F887 Un Potenciomentro Pinzas de Corte

9.7.2. Equipo

Una PC Un programador Fuentes de Alimentacin

9.7.3. Costos

Cantidad 1

Material

Precios en $

Tarjeta Arduino Mega 450.00 2560

1 1 1 1 1 1

Sensor de LM35 Pantalla LCD PIC16F887 Potencimetro programador protoboard

30.00 150.00 120.00 15.00 350.00 80.00

CORTES CRISOSTOMO BERNABE

~ 30 ~
10. RESULTADOS

Los resultados obtenidos en la trasmisin y manipulacin de datos resulta gracias a un herramienta en l NI LabVIEW Interface for Arduino Toolkit que ayuda a establecer interfaz fcilmente con el microcontrolador Arduino usando LabVIEW. Con estas herramientas y LabVIEW, se puede controlar y adquirir datos desde el microcontrolador Arduino. Una vez que la informacin est en LabVIEW, se analizan usando los cientos de bibliotecas integradas de LabVIEW, es decir un desarrollo de algoritmos para el control del hardware Arduino.

Se comprendi a lo lardo del desarrollo del proyecto que el microcontrolador Arduino acta como un motor de E/S que se conecta con los VIs de LabVIEW a travs de una conexin USB. Esto le ayuda a mover informacin rpidamente desde pines Arduino a LabVIEW sin ajustar la comunicacin, la sincronizacin o incluso una sola lnea de cdigo. Al usar Open, Read/Write, Close en LabVIEW, se puede tener acceso a las seales analgicas.

CORTES CRISOSTOMO BERNABE

~ 31 ~
11. CRONOGRAMA

ACTIVIDADES
Investigacin sobre el interfaz Labview. Investigacin sobre Labview+ Arduino Instalacin del software Labview. Instalacin de paqueteras para la comunicacin Labview+Arduino Lectura del Arduino con sensor LM35 Programacin en Labview Instalaciones de software para la programacin del PIC Comunicacin LM35+PIC+LCD Conexin del circuito y acoplamiento de seales Diseo grafico en el panel de Labview Pruebas fsicas

1 P X R X P R P R P R P R P R P R P R P R P R P R

9 10 11 12 13 14 15 16

X X X X X X X X X X X X X X X X X X X X X X

Recoleccin de datos para el informe final

P R

X X

CORTES CRISOSTOMO BERNABE

~ 32 ~
12. ALCANCES

LabVIEW constituye un revolucionario sistema de programacin grfica para aplicaciones que involucren adquisicin, control, anlisis y presentacin de datos. Los alcances que proporciona el empleo de LabVIEW, son las siguientes reduce el tiempo de desarrollo de las aplicaciones al menos de 4 a 10 veces, ya que es muy intuitivo y fcil de aprender. Flexibilidad al sistema, permitiendo cambios y actualizaciones tanto del hardware como del software. Da la posibilidad a los usuarios de crear soluciones completas y complejas. Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.

Para el empleo de LabVIEW no se requiere gran experiencia en programacin, ya que se emplean iconos, trminos e ideas familiares a cientficos e ingenieros, y se apoya sobre smbolos grficos en lugar de lenguaje escrito para construir las aplicaciones. Por ello resulta mucho ms intuitivo que el resto de lenguajes de programacin convencionales. LabVIEW posee extensas libreras de funciones y subrutinas. Adems de las funciones bsicas de todo lenguaje de programacin, LabVIEW incluye libreras especficas para la adquisicin de datos, control de instrumentacin y comunicacin serie, anlisis presentacin y guardado de datos. LabVIEW tambin proporciona potentes herramientas que facilitan la depuracin de los programas.

13. LIMITACIONES

Uno de las limitaciones ms importantes en la investigacin es la falta de informacin de los diferentes tipos de comunicacin de interfaces, con Arduino y Labview. Cabe mencionar que se encuentra informacin especificado solo para la compatibilidad del dispositivo y el software, pero realmente cada usuario disea e implementa su propio interfaz segn sea el caso.

CORTES CRISOSTOMO BERNABE

~ 33 ~
Otra limitacin son las licencias de los software que se trabajan, porque generalmente las que son gratuitas nos generan muchos estragos a la ahora de instalarlos, y obviamente los costos que los dispositivos que se utilizaron, principalmente el microcontrolador Arduino ya que solo se consiguen en mercado libre, no es muy comercial en las tiendas electrnicas.

14. CONCLUSIONES

En este trabajo se realiz el anlisis y diseo de una interfaz de usuario para el monitoreo de la temperatura, se gener el esquema de arquitectura del sistema, y se obtuvieron los diagramas para el caso. La construccin de la interfaz de usuario es un escalable e incremental debido a que el diseo de ste se bas en la arquitectura que manejan los programas que se emplearon. Es factible modificar el cdigo fcilmente al eliminar o agregar estados segn se requiera para cubrir de forma satisfactoria las necesidades que se puedan presentar en un futuro.

La caracterizacin del sensor de temperatura fue la tarea que consumi ms tiempo durante el desarrollo del proyecto debido a las caractersticas y estabilidad de la temperatura ambiente. Esta inestabilidad se detecta al momento de hacer variar la temperatura esto es reflejada en el indicador del panel de Labview y en la pantalla LCD

Y para finalizar mencionamos que durante los distintos escenarios de prueba a los cuales se someti el sistema, se comprob la comunicacin entre el sistema fsico y la aplicacin, quedando demostrado de esta manera que la ejecucin de la interfaz de usuario y el funcionamiento del sistema en general, cumple con los requerimientos y especificaciones del plan de trabajo. Es por ello que al trmino de este trabajo se concluye que las metas y objetivos trazados se cumplieron de acuerdo a lo establecido.

CORTES CRISOSTOMO BERNABE

~ 34 ~
15. RECOMENDACIONES Manejar aplicaciones y versin de programas actuales de software y que sean fciles de comprender de preferencia que este en lenguaje espaol. Verificar que exista compatibilidad el Arduino con el PC y que posteriormente con Labview antes de intentar cualquier comunicacin. Verificar que este instalado todo bien, que no falte ningn controlador y seguir detalladamente las instrucciones. Cabe mencionar un punto muy importante que se de tomar en cuenta es la estructura del programa. Para que nuestros grficos en Labview y cdigos en la programacin del PIC y Arduino, tengan una apariencia ordenada y se facilite la comprensin del mismo con otros programadores, que deseen realizar mejoras a ste, es necesario establecer una estructura que nos permita identificar fcilmente cada una de las partes que lo compone.

16. ANEXOS

CORTES CRISOSTOMO BERNABE

~ 35 ~

POWER The Arduino Mega2560 can be powered via the USB connection or with an external power supply. The power source is selected automatically. External (nonUSB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector. The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts. The Mega2560 differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, itfeatures the Atmega8U2 programmed as a USB-to-serial converter. The power pins are as follows: VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin. 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.

CORTES CRISOSTOMO BERNABE

~ 36 ~
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA. GND. Ground pins. MEMORY The ATmega2560 has 256 KB of flash memory for storing code (of which 8 KB is used for the bootloader), 8 KB of SRAM and 4 KB of EEPROM (which can be read and written with the EEPROM library). INPUT AND UOTPUT Each of the 54 digital pins on the Mega can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions: Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15 (RX) and 14 (TX). Used to receive (RX) and transmit (TX) TTL serial data. Pins 0 and 1 are also connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), and 21 (interrupt 2). These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details. PWM: 0 to 13. Provide 8-bit PWM output with the analogWrite() function. SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Duemilanove and Diecimila. LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off. I2C: 20 (SDA) and 21 (SCL). Support I2C (TWI) communication using the Wire library (documentation on the Wiring website). Note that these pins are not in the same location as the I2C pins on the Duemilanove. The Mega2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and analogReference() function. There are a couple of other pins on the board: AREF. Reference voltage for the analog inputs. Used with analogReference(). Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board. COMMUNICATION
CORTES CRISOSTOMO BERNABE

~ 37 ~
The Arduino Mega2560 has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega2560 provides four hardware UARTs for TTL (5V) serial communication. An ATmega8U2 on the board channels one of these over USB and provides a virtual com port to software on the computer (Windows machines will need a .inf file, but OSX and Linux machines will recognize the board as a COM port automatically. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via the ATmega8U2 chip and USB connection to the computer (but not for serial communication on pins 0 and 1). A SoftwareSerial library allows for serial communication on any of the Mega's digital pins. The ATmega2560 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation on the Wiring website for details. To use the SPI communication, please see the ATmega2560 datasheet.
PROGRAMMING

The Arduino Mega2560 can be programmed with the Arduino software (download). For details, see the reference and tutorials. The Atmega2560 on the Arduino Mega comes preburned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference, C header files). You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header; see these instructions for details.

CORTES CRISOSTOMO BERNABE

~ 38 ~
16.1. Fotos

CORTES CRISOSTOMO BERNABE

~ 39 ~
17. REFERENCIAS BIBLIOGRFICAS 17.1. Libros Aulbach E., R. Zuo y J. Rdel; Laser-assisted High-resolution Loading Dilatometer and Applications. Exp. Mech. 44(1), 71-75 (2004).

Baber J., A. Klimera y F. Raether; In situ measurement of dimensional changes and temperature fields during sintering with a novel thermooptical measuring device. J. Eur. Ceram. Soc. 27, 701705 (2007).

17.2. Pginas de Internet

El paquete LabVIEW Interface for Arduino es totalmente gratuito y se puede descargar en: https://decibel.ni.com/content/groups/labview-interface-for-arduino

Las

instrucciones

para

la

instalacin

se

encuentran

aqu:

https://decibel.ni.com/content/docs/DOC-16204

Si se desea adquirir el Kit NI LabVIEW + Arduino se puede adquirir aqui: http://www.sparkfun.com/products/10812

En el siguiente enlace se pueden encontrar las respuestas a las dudas para utilizar el toolkit de NI LabVIEW para Arduino: https://decibel.ni.com/content/docs/DOC-16024

La gua de usuario para NI LabVIEW y Arduino se puede encontrar aqu: http://nitalk.natinst.com/docs/DOC-39019

Para

utilizar

NI

LabVIEW

Mac

se

puede

encontrar

ayuda

aqu:

https://decibel.ni.com/content/thread/9782

CORTES CRISOSTOMO BERNABE

También podría gustarte