P. 1
Trabajo de Grado Final

Trabajo de Grado Final

|Views: 4.309|Likes:
Publicado porObeymar Santana

More info:

Published by: Obeymar Santana on May 12, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/01/2013

pdf

text

original

Sections

  • INDICE DE TABLAS Y FIGURAS
  • GLOSARIO
  • RESUMEN
  • INTRODUCCIÓN
  • PLANTEAMIENTO DEL PROBLEMA
  • OBJETIVOS
  • OBJETIVO GENERAL
  • OBJETIVOS ESPECIFICOS
  • MARCO TEÓRICO
  • TEMPERATURA
  • TÉCNICAS Y ELEMENTOS DE MEDICIÓN DE TEMPERATURA
  • TERMOCUPLA
  • PRINCIPIOS FÍSICOS DE LAS TERMOCUPLAS
  • EFECTO SEEBECK
  • LEY DE LOS CIRCUITOS HOMOGÉNEOS
  • LEY DE METALES INTERMEDIOS
  • TECNOLOGÍA Y TIPOS DE TERMOCUPLAS
  • NORMAS “DIN”
  • CARACTERÍSTICA DE TRANSFERENCIA DE TERMOCUPLAS
  • ENCAPSULADOS PARA TERMOCUPLAS COMERCIALES
  • ACONDICIONAMIENTO PARA TERMOCUPLAS
  • COMPENSACIÓN DE JUNTURA FRÍA
  • COMPENSACIÓN POR HARDWARE
  • COMPENSACIÓN POR SOFTWARE
  • CONVERSIÓN ANÁLOGA DIGITAL
  • JAVA7
  • MySQL8
  • MICROCONTROLADORES9
  • ARQUITECTURA INTERNA DE UN MICROPROCESADOR
  • INTERFACES DE ENTRADA Y SALIDA DE LOS MICROPROCESADORES
  • MICROCONTROLADORES PIC
  • TERMISTOR LM 35
  • CARACTERÍSTICAS DE TRANSFERENCIA: (LM 35)
  • METODOLOGÍA
  • SISTEMA DE ADQUISICIÓN DE DATOS
  • DISEÑO E IMPLEMENTACIÓN DEL PROTOTIPO
  • SOFTWARE
  • Main:
  • main
  • NewJFrame:
  • dataBase:
  • SerialIO:
  • RESULTADOS
  • CONCLUSIONES
  • WEBGRAFÍA

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE COMPENSACIÓN DE JUNTURA FRÍA PARA TERMOCUPLAS, MEDIANTE LA TÉCNICA DE INSERCIÓN DE METAL Y AJUSTE POR SOFTWARE

.

JORGE IVAN GONZÁLEZ LONDOÑO OBEYMAR SANTANA CALDAS

Trabajo de Grado para optar por el título de Ingeniero Electrónico

Asesor: Juan Pablo Urrea Duque. MIng.

UNIVERSIDAD DE ANTIOQUIA FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA MEDELLÍN 2010

DEDICATORIA A mis padres Gabriela y Orlando, a mi esposa Yuli y mi hija Manuela que son lo mejor que me ha pasado en la vida. Jorge González

A mis Padres Angel y Mery, a mi Esposa Johanna Meza y mi Hijo Daniel, no tienen reemplazo. Obeymar Santana

2

AGRADECIMIENTOS Especial agradecimiento al profesor Orlando Carrillo quien desempeñó un papel muy importante en la asesoría y desarrollo de este trabajo. También a mi madre por su gran esfuerzo y dedicación que fue pieza importante en el alcance de este logro y por último a mi esposa y mi hija por los sacrificios realizados para lograr este objetivo. Jorge González Al final de este logro tan representativo para nosotros como estudiantes, debemos gratitud por todo lo vivido y experimentado a lo largo de este proceso; primeramente a Dios que nos permitió culminar de forma exitosa este escalón en la larga ruta y de forma muy especial a los profesores Orlando Carrillo y Juan Pablo Urrea, quienes me ayudaron durante toda la carrera y en este proyecto, a mi esposa Johanna Meza quien tuvo paciencia durante este tiempo, también a mis hermanos y mis padres que me apoyaron moral y económicamente, a pesar de las dificultades, a Freddy Castañeda de quien aprendí a moverme en el medio industrial, y a mis compañeros de carrera sin los cuales no habría podido llegar al final de esta meta. Obeymar Santana

3

......................................................................... 10 OBJETIVOS.......................................... 11 OBJETIVOS ESPECIFICOS ..................... 11 OBJETIVO GENERAL .............................................................................. 25 CONVERSIÓN ANÁLOGA DIGITAL ................................................................................................................................................................. 6 GLOSARIO ....................................................................................................................................................................................................................................................................... 7 RESUMEN .................................. 21 ACONDICIONAMIENTO PARA TERMOCUPLAS ................................................................................................................................................................................................................................................................................... 12 TÉCNICAS Y ELEMENTOS DE MEDICIÓN DE TEMPERATURA ...................................... 15 EFECTO SEEBECK ....................................................................................................................................................................................................................................... 11 MARCO TEÓRICO ........................................................................................................................................................................................... 19 CARACTERÍSTICA DE TRANSFERENCIA DE TERMOCUPLAS .............................................................................................................................. 12 TEMPERATURA............................................................................................................................................................ 25 COMPENSACIÓN POR HARDWARE .. 15 LEY DE LOS CIRCUITOS HOMOGÉNEOS ................................................................................................. 12 TERMOCUPLA ............ 4 INDICE DE TABLAS Y FIGURAS ........................................................................................................... 14 PRINCIPIOS FÍSICOS DE LAS TERMOCUPLAS .................................................................................... 17 LEY DE METALES INTERMEDIOS .................CONTENIDO CONTENIDO ............................................................................................................................................. 18 TECNOLOGÍA Y TIPOS DE TERMOCUPLAS ............................................................................. 18 NORMAS “DIN” .......... 20 ENCAPSULADOS PARA TERMOCUPLAS COMERCIALES ........................ 8 INTRODUCCIÓN ..................... 23 COMPENSACIÓN DE JUNTURA FRÍA .......................................................................................................................................... 25 COMPENSACIÓN POR SOFTWARE............................................... 29 4 . 9 PLANTEAMIENTO DEL PROBLEMA .......................

.......................................................................................................................................................................... 43 NewJFrame: ........ ¡Error! Marcador no definido................................. 32 MICROCONTROLADORES................................................................................................ 35 CARACTERÍSTICAS DE TRANSFERENCIA: (LM 35) ..... 53 ANEXOS .......................................................................................................................................................................................................................................................................................................... 37 DISEÑO E IMPLEMENTACIÓN DEL PROTOTIPO .................................................... 44 SerialIO: ................................................. .................................................................................................................................... 33 INTERFACES DE ENTRADA Y SALIDA DE LOS MICROPROCESADORES ......................................................... 44 RESULTADOS ......... 32 MySQL ........ 41 Main: .................................................................................................................................................................................................................................................................................................................................................................................................................................................... 5 .......................................................... 51 WEBGRAFÍA .................................................................................................................................................. 43 dataBase: ................................................................................ 39 SOFTWARE ..................................................................................................................... 37 SISTEMA DE ADQUISICIÓN DE DATOS............. 34 MICROCONTROLADORES PIC ...................................................................................................................................................................................... 36 METODOLOGÍA........JAVA ............... 49 CONCLUSIONES...................................................... 33 ARQUITECTURA INTERNA DE UN MICROPROCESADOR .................................. 35 TERMISTOR LM 35 ...............

39 Figura 18. 38 Figura 17 Esquemático montado. Conversor analógico digital de seguimiento. 21 Figura 6 Dimensione Encapsulado Termocuplas. Diagrama de flujo del programa.. 34 Figura 15 Esquema General Trabajo realizado. 48 Figura 22. Resultados temperatura contra Tiempo. 18 Figura 5 Curva Característica de termocuplas. Termocupla. 24 Figura 12 Diagrama de voltajes reales de termocuplas. 37 Figura 16 Conexión y Amplificación Termocupla. 15 Figura 20. 41 Figura 2 Efecto Seebeck. Foto Tarjeta Adquisición de Datos. 13 Tabla 2. Normas DIN para termocuplas. 14 Figura 10 Unión Termocupla con Circuito Impreso. 26 Figura 13. Conducción de los metales. 19 Tabla 3 Característica de Transferencia termocupla Tipo J. 40 Figura 19. 22 Figura 9 Encapsulado Expuesto. Resultados temperatur. 21 Figura 7 Encapsulado Aislado. 22 Figura 8 Encapsulado a Masa o Tierra.. 50 Figura 3 Efecto Seebeck. 24 Tabla 1: Algunos sensores de temperatura y sus características. Impreso Tarjeta de Adquisición de Datos. 20 Tabla 5. 46 Figura 21.. Aplicación en ejecución. 16 Figura 4 Ley Metales Intermedios. 23 Figura11 Diagrama eléctrico Unión Termocupla con Circuito Impreso. 50 6 .INDICE DE TABLAS Y FIGURAS Figura 1. 31 Figura 14 Diagrama de Bloques de un procesador digital síncrono.

Software: Conjunto de listas de instrucciones que forman un programa informático. 7 . Hardware: Conjunto de elementos físicos que constituyen determinado sistema.m: Fuerza electromotriz. Compensación: Acción de nivelar un sistema. f. también se le conoce como tensión eléctrica y se mide en voltios. Característica de Transferencia: Capacidad que tienen los elementos adicionar o sustraer una cantidad suficiente para electrónicos de producir una salida de acuerdo a una entrada en particular.e. Acondicionamiento de una Señal: Conjunto de elementos físicos o informáticos que permiten a una señal de información. ser leída correctamente.GLOSARIO Temperatura Ambiente: medida de la energía cinética de las moléculas circundantes en determinado espacio físico. Sensor: Elemento que traduce o transforma un tipo o forma de energía en otra. para este caso. elementos electrónicos. en determinado instante.

RESUMEN Al realizar mediciones de temperatura en procesos industriales se usan diversos métodos y elementos. Luego de esto se llevan los datos muestreados a través de un conversor análogo-digital. Hay diversas formas de realizar esta compensación y una de ellas es la técnica de metal intermedio la cual consiste en poner entre uno de los extremos de la termocupla y el elemento trasmisor un fragmento de metal del mismo que tiene la termocupla en el otro extremo para evitar cambios en la fuerza electromotriz generada por ésta. para realizar la compensación que se denomina. y consiste en que la fuerza electromotriz generada se referencia desde cero grado centígrado. Desde sus comienzos las termocuplas han traído consigo un problema. los cuales a su vez conllevan a un proceso de manipulación de los datos obtenidos. De ahí se desprende la compensación de punta fría la cual consiste en adicionarle a la medida de la temperatura con respecto a cero grado. adicionalmente una reducción del hardware utilizado en este proceso. por medio de la cual se obtienen menos errores en la medición y un mejor resultado que el tradicional. mediante equipos electrónicos. pero los elementos de medida “nunca” están a esa temperatura. hasta un computador. entre estos elementos de medida están los sensores tipo termopares o termocuplas. 8 . la cual es cambiante. por el contrario están a temperatura “ambiente”. “compensación por software” En el presente trabajo se utilizó la compensación por software. la medida de la temperatura ambiente. quedando así errónea la medida realizada. para así visualizarlos en algún tipo de display o proceder a controlar el proceso industrial. donde se le aplican métodos numéricos.

la media de la temperatura ambiente. y el otro extremo está a cero grado centígrado. que son un par de diferentes metales unidos entre sí y conectados a un sistema electrónico que detecta el cambio de voltaje en sus extremos. en el extremo contrario para alterar la medida. que consiste en adicionar a la medida arrojada por el termopar. lo cual nos es cierto para sistemas abiertos. es decir. entre los elementos de medida o sensores más conocidos están las termocuplas o termopares. debido al cambio de temperatura en la unión. lo cual consiste en insertar una porción de uno de los metales que conforman el termopar. Se conocen diversos métodos para medir. 9 . Dando así lugar a lo que se llama “compensación de punta fría”. En el funcionamiento de los termopares hay un inconveniente que se debe tener en cuenta a la hora de emplearlos. ya sea para estar al tanto de la medida actual o para controlar el calentamiento directo de elementos del proceso. Hay varios métodos para efectuar la compensación de punta fría. y luego se lleva ésta medida a un sistema de adquisición de datos donde se le hace la corrección definitiva. por lo que se hace indispensable conocer su estado. Finalmente los datos que arroja el sistema de adquisición de datos están listos para ser visualizados o para pasar a controlar el proceso.INTRODUCCIÓN Muchos procesos industriales dependen parcial o completamente de la variable temperatura. que el elemento sensor está a temperatura del proceso. entre ellos el que emplea la ley de metal intermedio y ajuste por software. visualizar y posteriormente controlar la variable física temperatura. y es que la medida de temperatura que estos sensores indican está referenciada con respecto a cero grado centígrado.

10 . linealidad y una buena característica de transferencia. obtener resultados que permitan una correcta visualización y manipulación de la variable temperatura. y ajuste por software. se corre con el riesgo de tener procesos con resultados nefastos y por lo tanto pérdidas no deseadas de dinero. ya sea para visualizarlo o para controlar el proceso. Los termopares son unos de los elementos más utilizados para la medición de temperatura en ambientes industriales. usando termocuplas. De lo cual se deriva el inconveniente de más elementos para poder procesar esta información. Pero su acople con los elementos que procesan la medición es costoso y complicado debido a la cantidad de hardware requerido.PLANTEAMIENTO DEL PROBLEMA Siempre que se desea implementar la medición y el posterior control de temperatura. mediante la técnica de metal intermedio. y cuando no se hace. por lo que terminamos haciendo realmente dos mediciones de la variable física. sensores. los elementos de corrección lo que hacen es una segunda medida. Como se puede notar. es necesario utilizar las herramientas adecuadas para obtener excelentes resultados. que incluye varios (mínimo dos). una toma de una temperatura que se supone sencillo se convierte en un proceso largo y tedioso. compararla y realizar los respectivos ajustes y así obtener el valor deseado. y con ellos gran cantidad de elementos acondicionadores de la señal. Como en la medida de un sensor de temperatura (termopar) se supone que el extremo del elemento sensor está a 0°C y en la realidad éste se encuentra a temperatura ambiente. Se pretende a final del proyecto. ya que tienen mayor rango. robustez. ésta es cambiante de acuerdo a la hora del día y las condiciones del clima. elevando así los costos del proceso.

qué tipo de elementos serían los más adecuados para tener en cuenta en el proceso de diseño de la solución. Diseñar un sistema de adquisición de datos simple. donde intervenga un sensor. en el que los datos puedan ser leídos por un computador. usando software para realizar el ajuste y así reducir el hardware. una o varias termocuplas.OBJETIVOS OBJETIVO GENERAL Diseñar e implementar un sistema que realice la medición de la variable temperatura. 11 . mediante la técnica de inserción de metal intermedio. OBJETIVOS ESPECIFICOS Identificar de acuerdo con las necesidades planteadas en el proyecto. compensación de punta fría de éstas. Diseñar e implementar un software que tome los datos enviados por el hardware y haga las correcciones necesarias para luego imprimirlos en pantalla y enviarlos a una base de datos. donde se emplee como elemento sensor. un sistema inteligente como un microcontrolador y un conversor análogo-digital.

pero que tiene sus orígenes a nivel microscópico.e. líquidos y gases). Intensidad de radiación total emitida por el cuerpo (pirómetros de radiación). creada en la unión de dos metales distintos (termopares). Los instrumentos de temperatura utilizan diversos fenómenos que son influidos por la temperatura y entre los cuales figuran: a. ya que ésta es la mediad de la energía cinética promedio de cada partícula que interviene en el sistema. b.MARCO TEÓRICO TEMPERATURA Desde el punto de vista del principio cero de la termodinámica se puede desarrollar el concepto de temperatura. Variación en volumen o en estado de los cuerpos (sólidos. e. registrador o controlador necesarios. Quedando la definición de Temperatura como: Fenómeno o propiedad que poseen los sistemas físicos.1 TÉCNICAS Y ELEMENTOS DE MEDICIÓN DE TEMPERATURA La medida de la temperatura es una de las mediciones más comunes y más importantes que se efectúan en los procesos industriales. Variación de resistencia de un conductor (sondas de resistencia). c. y por el tipo de instrumento indicador. por la distancia entre el elemento de medida y el aparato receptor.m. 1 Tomás Gómez-Acebo(2001). d. Los sistemas de medida tienen sus limitaciones en cada tipo de aplicación debido a la precisión. el cual la define como una propiedad inherente a un sistema físico o región espacial. que se percibe a nivel macroscópico. Universidad de Navarra. Capítulo 1 . TECNUN Ediciones. f. la velocidad de captación de la temperatura. 12 . Termodinámica Básica. Variación de resistencia de un semiconductor (termistores).

termómetros de resistencia.F. termómetros bimetálicos. Alfaomega 13 . 2 Antonio Creus Solé (1998). termómetros de cristal de cuarzo. México D. Capitulo 6. termómetros ultrasónicos. gas o vapor. termopares. pirómetros de radiación. Como se puede notar para medir la temperatura se usan varios tipos de elementos.2 En la tabla siguiente se muestran algunos tipos de termómetros y sensores de temperatura usuales junto a algunas de sus características más notables. elementos primarios de bulbo y capilar rellenos de líquido.. Tabla 1: Algunos sensores de temperatura y sus características.De este modo se emplean los instrumentos siguientes: Termómetros de vidrio. Instrumentación industrial. en el caso de este proyecto se profundizará en el estudio de los termopares o termocuplas. Sexta edición.

Termocupla En el ámbito industrial son muy usadas debido a cualidades como: Exactitud intrínseca elevada. Confiabilidad. Figura 1.TERMOCUPLA Tipo de elemento que permite la medición o sensado de la temperatura. Rápida respuesta en el tiempo Robustez mecánica. 14 . Amplio rango de temperatura de trabajo. Al estudiar el comportamiento de las termocuplas se han logrado establecer una serie de leyes importantes en el funcionamiento de las termocuplas. Este tipo de sensor consiste en dos hilos de diferentes metales unidos en uno de sus extremos. de las temperaturas del proceso y ambiente. que dependerá de la naturaleza de los metales. y las puntas del otro extremo están a temperatura ambiente (Figura 1). ésta diferencia de temperatura hace que se genere una tensión eléctrica en sus extremos. el cual está a la temperatura del proceso.

aparecerá entre los dos hilos una tensión “VT”. al calentarse uno de los extremos. los electrones de los últimos niveles de conducción tienden a difundirse hacia el extremo frió. si se juntan los extremos libres tendremos una corriente continua “IT” circulando. debido a la aparición de una fuerza electromotriz (f.m). Por el contrario. por consiguiente 15 . Esto con los conductores separados entre sí. cuya polaridad y magnitud dependerá de la naturaleza de los conductores y de la diferencia de temperatura (Tp – Tm). la cual es de origen termo eléctrico. producto de la aparición del efecto SEEBECK EFECTO SEEBECK Si dos conductores de naturaleza diferente se ponen en contacto eléctrico por uno de sus extremos.e.PRINCIPIOS FÍSICOS DE LAS TERMOCUPLAS Este tipo de transductor genera una tensión eléctrica. proporcional a la diferencia de temperatura entre sus extremos. Figura 2 Efecto Seebeck Se sabe que los electrones en un conductor (DE LOS NIVELES DE CONDUCCIÓN). el cual se halla a una temperatura “T p” y los extremos libres “Tm”. siempre que exista una diferencia de temperatura entre el punto de contacto.

Figura 3 Efecto Seebeck.este tenderá a cargarse negativamente con respecto al extremo caliente. dicha fuerza electromotriz está dada por: T2 T1 VT Q m dT En donde: VT: Fuerza electromotriz (Voltios) T1. Conducción de los metales Por tanto tendremos una relación lineal: 16 . independiente de la temperatura.T2: Temperatura en los extremos (°K) Qm: Constante de transporte térmico.

3 LEY DE LOS CIRCUITOS HOMOGÉNEOS La cual dice que si los conductores de las termocuplas son homogéneos. lo cual hace que resulte un poco tedioso instalarlos. 17 . en lugar de la señal original de temperatura. de esta ley depende que los cables extensores en los termopares sean de los mismos materiales que lo constituyen. mientras que la otra es Tm. El efecto Seebeck es pues una forma de conversión directa de energía “Térmica” a energía “Eléctrica”. térmica que se desarrolla es independiente y permanece inalterada por cualquier distribución de temperatura a lo largo de los alambres Ta y Tb. y se opte por instalar trasmisores de corriente para llevar las señales a los tableros de control.e. la longitud de los conductores no interfiere en la medida de la temperatura final. deberá haber del otro lado consumo de energía térmica. Universidad de Antioquia. Es de notar que si se tiene generación de energía eléctrica. Es decir.VT (T 2 T1 ) α = Coeficiente de SEEBECK (Factor constante Volts/°K) αVARIA TIP: 10 – 60 uV/°C. la f. 3 Carrillo Orlando (2010). no son afectados por las temperaturas intermedias.m. Notas sobre termocuplas para el curso de Acondicionamiento de Señales. Si la juntura de dos elementos distintos se mantiene a Tp.

Figura 4 Ley Metales Intermedios TECNOLOGÍA Y TIPOS DE TERMOCUPLAS Mediante la escala termométrica es posible comparar las propiedades termométricas de los diferentes metales.LEY DE METALES INTERMEDIOS Esta ley estipula que se puede introducir un tercer metal en el circuito sin crear errores. es normalmente necesario introducir metales adicionales en el circuito. si las junturas del tercer metal con los conductores de la termocupla se encuentran a la misma temperatura. y los terminales de entrada son de un metal diferente (normalmente bronce o cobre) y cuando la juntura está soldada. en ésta se indica la magnitud de la termo tensión que desarrollan algunos de ellos. Cuando se usan termocuplas. Sin embargo. Esto sucede cuando se emplea un instrumento para medir la salida de la termocupla. no se generará ninguna señal de error. 18 . parecería que la introducción de un tercer metal cambiaría la salida de la termocupla e introduciría una señal de error. en tanto que la juntura del tercer metal con los otros dos metales esté a la misma temperatura.

dando lugar a tratamientos electrónicos para su correcta manipulación. sin embargo.org/wiki/Termopar 19 . los cuales son difíciles de manipular.wikipedia. Los distintos tipos de termocuplas actualmente estandarizados son construidos con materiales específicos de acuerdo con la aplicación y sensibilidad requerida: NORMAS “DIN” TIPO J T K E S MATERIALES Fe – Constantano Cu – Constantano CR -.Cuando se forma un termopar (dos metales) se puede medir la tensión generada entre los dos metales. ésta situación requerirá de un tratamiento especial con la finalidad de anular dicho efecto parásito el cual se constituye en un factor de error en la medida. Normas DIN para termocuplas Siendo el Constantano una aleación de 60% de cobre (Cu) y 40% de níquel (Ni)4 4 http://es. hay unos tipos normalizados y de uso comercial.Constantano RANGO . existe gran variedad en estos sensores. De acuerdo a los metales empleados en la construcción de cada tipo de termocupla. resultando valores en milivoltios. Y a realizar estas funciones hace forzoso el contacto con el cobre “Cu” de un circuito impreso.AL CR -.TEMPERATURA -190°C -200°C -190°C -100°C 0°C +170°C +371°C +1260°C +1260°C +1482°C Pt – 10%Rodium – Pt Tabla 2.

J hay una desviación de 14uV.CARACTERÍSTICA DE TRANSFERENCIA DE TERMOCUPLAS Se le denota de esta forma a la capacidad de inherente de cada tipo de termocupla para generar tensiones de acuerdo a la temperatura a la que está expuesta. es decir.tipo “J” TEMPERATURA 0.0 500.0 50uV/°C Tabla 3 Característica de Transferencia termocupla Tipo J Como se ve entre 0°C y 751°C máxima temperatura de operación de una ¢ .000 0. se tendrá. 20 .347 VTH mV ∆T = 1°C ∆V = 50uV ∆T = 1°C ∆V = 54uV ∆T = 1°C ∆V = 56uV ∆T = 1°C ∆V = 64uV 64uv/°C 56uv/°C 54Uv/°C CARCATERÍSTICA DE TRANSFERENCIA 0.0 750. Para una termocupla tipo J.0 501. Sin embargo se puede tomar como característica de transferencia el valor promedio 56uV/°C/¢ .000 100.268 5.0 751.050 5.283 42.000 1.322 27.388 27. ¢ .0 101.444 42.J. en que rango de temperaturas puede trabajar y cuál es la magnitud en voltios de la tensión generada en sus extremos fríos.

esto dependiendo del tipo de proceso a controlar y el tiempo de respuesta. Figura 6 Dimensiones Encapsulado Termocuplas 21 .En la siguiente gráfica se puede ver la relación tensión contra temperatura para los diferentes tipos de termocuplas. existe una amplia gama de termo elementos normalizados. Figura 5 Curva Característica de termocuplas ENCAPSULADOS PARA TERMOCUPLAS COMERCIALES Para aplicaciones dentro de los rangos normales de operación característica.

EXPUESTA AISLADA Figura 7 Encapsulado Aislado Estas son empleadas en mediciones de flujo de gases y líquidos corrosivos o aceites críticamente eléctricos.El largo (A) del termo elemento esta normalizado a 30cm y el diámetro del tubo de protección (B) varía entre 0. A MASA Figura 8 Encapsulado a Masa o Tierra Son empleadas en ambientes corrosivos y de altas presiones.25mm – 1cm. en los que se requiera respuestas rápidas en el tiempo.0 seg. Comercialmente se tienen tres tipos de junturas: 1. AISLADA 2. ts = 2 segundos 22 . A MASA O TIERRA. Tiempo de respuesta 2. pero el medio deberá ser bajo eléctrico. 3.5 – 5.

EXPUESTA

Figura 9 Encapsulado Expuesto

Es la que ofrece el mejor tiempo de respuesta: tS = 0.2 – 0.3 segundos pero su uso queda restringido a ambientes no corrosivos.

ACONDICIONAMIENTO PARA TERMOCUPLAS De acuerdo con la escala termométrica debemos tener tfef < Tmed. Según las normas DIN como temperaturas de referencia son internacionalmente aceptadas:

0°C

20°C

50°C

Sin embargo y gracias a los desarrollos de integración desarrollados se empleó de manera generalizada la simulación de 0°C. En montajes reales la cabeza de conexión estará relativamente cerca del punto de medición del proceso, lo cual por simple conducción térmica hará que esta (la cabeza de conexión) esté a una temperatura próxima a la de medición, como consecuencia sus bornes no podrán servir como juntura de referencia; por lo cual de este punto no podrían hacerse conexiones con líneas de cobre, para llevar la termo tensión a la electrónica de amplificación requerida, ya que se tendría nuevos

23

pares de termocuplas adicionales, lo que se constituye en nuevas fuentes de error, haciéndose necesario usar líneas de extensión un poco más lejanas al punto de medición, y posteriormente la conexión a las tarjetas de circuitos impresos, donde se generarán tensiones debidas a las uniones con el metal del impreso, pero estando estas últimas a la temperatura de referencia

Figura 10 Unión Termocupla con Circuito Impreso Y su equivalente eléctrico:

Figura11 Diagrama eléctrico Unión Termocupla con Circuito Impreso

Aplicando leyes de circuitos eléctricos:

Donde se puede notar que para efectuar la compensación se adiciona una fuente de voltaje que anule el efecto de V1- V2, si la temperatura ambiente es constante muy fácilmente se corrige el problema, pero como ésta es variable es necesario emplear electrónica que siga el cambio de dicha temperatura y vaya realizando la compensación. Dicho procedimiento se denomina “simulación de cero grado centígrado” o “compensación de juntura fría”.

24

COMPENSACIÓN DE JUNTURA FRÍA Industrialmente dos tipos de técnicas de compensación de puta fría son utilizados: compensación por hardware y compensación por software.

COMPENSACIÓN POR HARDWARE Esta técnica de compensación se logra introduciendo una fuente de voltaje variable dentro del circuito para cancelar los voltajes termo-eléctricos parásitos.

Esta fuente genera un voltaje de compensación proporcional a la temperatura ambiente, el cual será el voltaje de corrección para cancelar las señales termoeléctricas inducidas.

La gran desventaja de este método de compensación es que cada termocupla debe tener un circuito de compensación dedicado lo cual genera un incremento en los costos.

COMPENSACIÓN POR SOFTWARE Luego de efectuar una medida directa de la temperatura de la juntura de referencia, mediante software es posible adicionar un valor de voltaje apropiado con el fin de eliminar los efectos parásitos presentes en la juntura de referencia.

Cualquiera que sea el método o estrategia elegida es necesario implementar la técnica de adición de metal intermedio, que se vale de la ley de metal intermedio de termocuplas para realizar parte del trabajo de la compensación, esta consiste en adicionar al Terminal positivo del termopar, un trozo del terminal negativo a así anular parte del efecto del termopar formado por la unión termopar-impreso; como lo muestra el esquema.

25

Figura 12 Diagrama de voltajes reales de termocuplas En el circuito: V M V J1 VJ2 VJ3 V4 puesto que las junturas J1 y J4 están hechas con los mismos metales y se encuentran a la misma temperatura: VJ4 V J1 VM VJ3 VJ2 VM V J 3 (T P ) V J 2 (T ref ) También tenemos que las junturas J3 y J2 están hechas con los mismos metales por tanto podemos decir que: V J 2 (T ref ) V J 3 (Tref ) Si V J 3 ==> V n V PCtte V TC (Tref ) V TC (Tp ) 26 .

Después de realizar una medida directa de la temperatura de la juntura de referencia. Esta técnica la podemos dividir en dos métodos: 27 . VM y conociendo la función de transferencia (V/T) de la termocupla empelada es posible conocer la temperatura Tm Tc Actualmente están desarrollados y ampliamente difundidos métodos para determinar el temperatura Tc (punto caliente) en una termocupla. Para hacer la compensación por software. debemos utilizar los polinomios de conversión temperatura – voltaje y voltaje – temperatura. mediante software es posible adicionar un valor de voltaje apropiado con el fin de eliminar los efectos parásitos. T = a0 + a1V + a2V2 + … + aNVN Este polinomio toma el valor anteriormente convertido a voltaje. acá se toma el valor medido desde el proceso y se multiplica por los coeficientes dados por la NIST. Los polinomios son: V = C0 + C1T + C2T2 + … + CNTN Polinomio de conversión temperatura a voltaje.Bajo estas condiciones si se conocen T ref y en el punto de medición. esto a partir del voltaje medido en el extremo frío VM y la temperatura en el mismo Tref. y lo devuelve a temperatura.

COMPENSACIÓN POR SOFTWARE MÉTODO I: Este primer método hace uso de los pasos de conversión Voltaje – Temperatura y requiere de los siguientes pasos: 1. Para la termocupla elegida convertir esta temperatura en un voltaje equivalente VTe(Tref) 3. se podrá asumir que las curvas Voltaje vs 5 http://srdata. con el cual se obtiene el verdadero voltaje de circuito abierto a una temperatura de referencia 0°C 4. Medir Tref 2. el voltaje VTc es una función de la temperatura referenciada a 0°C. Adicionar este voltaje resultado a VM. Bajo estas condiciones para pequeñas desviaciones de temperatura es posible hacer uso de la expresión: VTc(T1) – VTc(T2) = VTc(T1 – T2) Esta suposición es válida si T1 es próxima a T2.gov/its90/download/allcoeff.nist.tab 28 . Convertir este voltaje resultado en su temperatura resultado TC COMPENSACIÓN POR SOFTWARE MÉTODO II: Este método más simplificado hace uso del hecho de que los voltajes de salida de las “termocuplas” son aproximadamente lineales sobre pequeñas desviaciones en temperatura. Si se asume linealidad y haciendo uso de la ecuación anterior (A). Así también si la temperatura de la termocupla Tc es próxima a Tref podremos: VM = VTc(Tc) – VTc(Tref) = VTc(Tc + Tref) (A) se usan las tablas NIST5 de referencia para termocuplas.

compresión. 29 . con referencia a 0°C. Los pasos a seguir con éste método simplificado son los siguientes: 1.Temperatura.) y hacer la señal resultante (la digital) más inmune al ruido y otras interferencias a las que son más sensibles las señales analógicas.Tref) o sea: ∑ [ ( Tc − Tref ) + Tref ) ] 3. con el propósito de facilitar su procesamiento (codificación. este resultado será la temperatura Tc de la termocupla Este método ahorra un paso de computación con respecto al primer método descrito pero es más exacto. Medir la temperatura en la juntura de referencia “Tref”. CONVERSIÓN ANÁLOGA DIGITAL La conversión analógica-digital (A/D) consiste en la trascripción de señales analógicas en señales digitales. son idénticas a las curvas referenciadas a “Tref”. Convertir el voltaje medido “Vm” en temperatura usando las relaciones Voltaje-Temp de la termocupla en cuestión NOTA: Esta temperatura es aproximadamente la diferencia (Tc . Así ésta temperatura será la diferencia entre las temperaturas TTc-Tref. 2. Adicionar la temperatura Tref a éste valor. etc.

El conversor analógico digital más sencillo consiste en una serie de circuitos comparadores ajustados cada uno de ellos a niveles de tensión de referencia sucesivamente cada vez más elevado. Al aplicar una tensión a la entrada del conversor. Sin embargo. hace que a este tipo de conversores se les conozca como conversores flash. La gran velocidad de muestreo y el hecho de que la conversión se haga en un solo pulso de reloj. 30 . Y son estas características las que harán la diferencia a la hora de elegir uno u otro tipo. El problema de necesitar muchos elementos de precisión para realizar un conversor análogo digital ha llevado a realizar otra familia que solo requieren una referencia de tensión estable: son los conversores de rampa o de integración basados en cargar un capacitor mediante una corriente proporcional a la tensión de entrada. por las condiciones de diseño. especialmente el inducido por la red de suministro eléctrico. conmutan todos los comparadores cuya tensión de referencia sea menor a la de la entrada. entre otras. el número de bits de la señal digital.Existe un variado número de conversores analógico-digitales con diferentes características tales como la de velocidad de conversión. Estos conversores. obtenidos mediante un divisor resistivo de una misma fuente de alta estabilidad. Un circuito lógico codifica la salida de los comparadores en el formato binario deseado. difícilmente pueden hacer más de unas pocas muestras por segundo (modelos de 12 bits y superiores). presentan una excelente linealidad y elevada precisión. Una cualidad intrínseca de estos conversores es su gran capacidad de rechazo al ruido. pudiéndose alcanzar fácilmente 16 bits a bajo costo.

según sea mayor o menor se incrementa o decrementa un contador asociado al conversor digital analógico.6 6 http://www.Figura 13.volcanesdecanarias. se incrementa o decrementa el valor del contador (conversor de seguimiento). Según el comparador indique un valor superior o inferior. Además.com/interna/Educacion/download/Instrumentacion /04_SISTEMAS%20DE%20CONVERSION%20ANALOGICA%20DIGITAL. Cuando la señal varía más rápidamente que la velocidad del conversor. La salida de un conversor digital analógico se compara con la señal de entrada. Conversor analógico digital de seguimiento. los datos leídos quedan sistemáticamente por encima o por debajo de valor correcto. este tipo de conversor tiene que invertir un tiempo considerable hasta que el contador alcanza el valor correcto.pdf 31 .

la plataforma de Java ha atraído a más de 6. entre los que encontramos teléfonos móviles y de mano. etc. equipos y redes. Salida de datos serie o paralelo 6.Criterios de selección de un modelo de conversor analógico digital: 1. Precio JAVA7 Hasta la fecha. Facilidad y seguridad de suministro 2.java. Condiciones de operación 3. sistemas de navegación para automóviles.5 millones de desarrolladores de software. impresoras. juegos. tarjetas inteligentes. sintonizadores.500 millones de dispositivos utilizan la tecnología Java.com/es/ http://www. Resolución 5. Consumo 8. Señales necesarias para su operación 7. dispositivos médicos.com 32 . MySQL8 MySQL es el software de bases de datos de fuente abierta más popular del mundo con más de 100 millones de copias descargadas o distribuidas a lo largo de su 7 8 http://www. cámaras web. Se utiliza en los principales sectores de la industria en todo el mundo y está presente en un gran número de dispositivos. Velocidad de muestreo 4. Más de 4.mysql.

Web 2. Gracias a su tamaño. resultan apropiados para innumerables aplicaciones. Las clases son por decirlo así el molde de donde salen los objetos. estas clases para mayor comodidad las escribimos en un archivo que lleva su mismo nombre. Además poseen mecanismos de seguridad de funcionamiento y proporcionan protección del equipo electrónico contra copias y modificaciones del programa no autorizados. SaaS e ISV. Microcontroladores PIC. MARCOMBO Ediciones Técnicas. los microcontroladores permiten empotrar un procesador programable en diversidad de productos industriales. Enrique (2007).historia.0. MICROCONTROLADORES9. Cuando se habla de programación orientada a objetos hablamos de Clases. Se suele denominar también microcomputador integrado o embebido (Embedded Processor) y está especialmente orientado a tareas de control y comunicaciones a pequeña escala. Por su bajo costo y reducido consumo de energía y velocidad adaptable. Está formada por una unidad de control 9 Mandado Pérez. Barcelona (España) 33 . Con su velocidad. Sistema integrado para el Autoaprendizaje. Primera Edición. fiabilidad y facilidad de uso MySQL se ha convertido en la opción preferida para la Web. Un microcontrolador es un circuito integrado digital monolítico que contiene todos los elementos de un procesador digital secuencial síncrono programable de arquitectura Hardvard o Princeton (Von Neumann). ARQUITECTURA INTERNA DE UN MICROPROCESADOR Esta se define como el conjunto de atributos que tienen impacto directo en la ejecución del proceso que llevan a cabo.

Diagrama de Bloques de un procesador digital síncrono INTERFACES DE ENTRADA Y SALIDA DE LOS MICROPROCESADORES Entre las tareas más comunes de control y comunicaciones que realizan los microprocesadores. I2C. 34 . y realizar tareas como conversión análoga-digital de datos tanto entrantes como salientes. Figura 14.y una unidad operativa. entre otros. SCI. También se usan en procesos de contaje y temporización. lo cual hace que tengan gran cantidad de terminales dedicados a este fin. se almacenan en la memoria y se van pasando de manera secuencial a la ALU. Los datos ingresan del exterior. que los procesa y devuelve a la memoria según sea el caso. UART. están la entrada y salida de datos. La forma como trabaja la unidad control es lo que se conoce como las diferentes arquitecturas de procesadores digitales síncronos. debido a órdenes de la unidad de control. la cual está conformada por dos partes una unidad de memoria y unidad aritmético-lógica (ALU). Puede manejar estándares como: USB. entre ellas Hardvard y Princeton. como se puede ver en la figura 19. pueden operar tanto en serie como en paralelo.

1oC en lugar sin movimiento de aire. media. número de bits a procesar y un tipo de encapsulado. Es así como se conocen las familias PIC12CXX. PIC17CXX. los cuales han invadido los mercados mundiales. así como la precisa calibración inherente hacen que la interface o la circuitería de control sea especialmente simple. es así como los hay de gama baja. la linealidad de la salida. Opera en el rango de temperatura comprendido entre los –55 oC a los +150 oC . PIC18FXX. cuya tensión de salida es linealmente proporcional a la temperatura en grados Centígrados. El LM 35 no requiere de ninguna calibración externa para obtener una precisión típica de ± 0.25oC en la temperatura de una habitación y ± 0. El LM 35. tiene una ventaja respecto a los sensores lineales calibrados en grados Kelvin: el usuario no necesita sustraer un voltaje constante de su salida para obtener un conveniente escalado en grados centígrados. alta y mejorada. De acuerdo a los requerimientos de cada aplicación.75oC en el rango –55oC a +150oC. también es de anotar que son “open Source”. cubriendo así todos los flancos de los posibles usuarios. La baja impedancia de salida.Tiene su propio juego de instrucciones de programación también llamado “instruction Set” MICROCONTROLADORES PIC La marca fabricante de microprocesadores “Microchip” creó su propio grupo de circuitos integrados llamados PIC. Microchip ofrece un tipo de PIC. y PIC18VTXX. PIC16FXX. y llenado todas las expectativas. por tanto. El sensor apenas sufre calentamiento: menos de 0. Cada una con un número de instrucciones en particular. lo cual constituye el factor detonante que lleva a su amplio uso. debido a que solo consume 60 µA de su fuente. 35 . PIC16CXX. gracias a su versatilidad y amplia gama. TERMISTOR LM 35 El LM 35 es un tipo de sensor de temperatura de precisión.

25oC • Baja impedancia de salida.net.5 oC de precisión a 25oC • Apropiado para el rango –55oC a +150oC • Conveniente para aplicaciones a distancia • Opera en el rango de voltaje de 4 a 30 V • Consume menos de 60µA de corriente • Poco calentamiento: 0.08oC en un ambiente en calma • Desviación típica de ± 0.0 mV/oC • 0.etb.CARACTERÍSTICAS DE TRANSFERENCIA: (LM 35) • Calibrado directamente en grados Celsius (Centígrados) • Factor de escala lineal +10.10 10 http://pwp.co/SAIDPINZON/sensores.html#LM35 36 .

ésta a su vez es sustentada en la ley de metales intermedios de termocuplas. para realizar la conversión análoga-digital y enviar los datos al pc. y se construyó un sistema de adquisición de datos simple.METODOLOGÍA Para solucionar el problema planteado. se decidió usar la compensación de juntura fría por software. Para acondicionar y amplificar la señal se usó amplificador tipo PGA204. Esquema General SISTEMA DE ADQUISICIÓN DE DATOS Se seleccionó un rango de operación para la termocupla tipo J. una termocupla tipo J. Lo que lleva a usar la técnica de inserción de metal intermedio. se usó un microcontrolador de la familia PIC18F4455. que hace las veces de conversor análogo-digital y trasmisor. El esquema general lo muestra la figura un Figura 15. del fabricante Microchip. Fe-Constantano. como software se empleó java y MySQL. Para saber la temperatura de referencia o temperatura ambiente se usó un termistor LM35 el cual también va conectado al PIC 18F4455. con valores que se pueden ver en la tabla XX 37 .

Figura 16.164mV TABLA 4. Uno de los inconvenientes y donde más problemas ocurren en este tipo de aplicaciones.095 a 42. ya que la señal proveniente de la termocupla es muy débil en promedio 56uV/°C. fue el rango de trabajo de los componentes de acondicionamiento y adquisición de datos. por otro puerto analógico se conectó el sensor LM35. 38 .6mV/°C. Conexión y Amplificación Termocupla Luego la señal pasa al conversor A/D. el cual tiene dentro de sus características el acondicionamiento apropiado para termocuplas.Rango de Operación(°C) -200 a 750 Valor Usado (°C) Rango de Operación (mV) Valor Usado (mV) 0 a 450 -8. por lo cual se seleccionó un amplificador de ganancia programable PGA204. quedando 5. que ya es una señal que puede leer el A/D. Como este amplificador tiene ganancia programable se seleccionó una ganancia de 100. es en el acondicionamiento de la señal. las dos lecturas se digitalizan en este paso y luego el mismo PIC realiza la transmisión vía conexión serial con el computador. Rango de operación Usado El criterio de selección que se tuvo en cuenta para emplear estos valores.919 0 a 25. que en este caso particular es el PIC18F4455. configurándole una de sus entradas analógicas para su correcto uso.

Esquemático montado DISEÑO E IMPLEMENTACIÓN DEL PROTOTIPO Para llevar a cabo pruebas se diseñó un prototipo teniendo en cuenta las respectivas técnicas de acondicionamiento de señales. en la figura XX se muestra la tarjeta de desarrollo que se diseñó con el software EAGLE. 39 .En el siguiente esquema se muestra todo el circuito realizado. grandes puestas a tierra. Figura 17. desacople de los integrados. las señales analógicas recorren pequeñas distancias para evitar señales parásitas. como lo son.

mediante una conexión USB entre el PC y el PIC. el cual se polariza con +vcc y entrega a la salida –vcc. se perforó y se le soldaron los componentes.Figura 18. Impreso Tarjeta de Adquisición de Datos Se tuvo en cuenta que la conexión señal de la termocupla y la del LM35 estuvieran a una corta distancia. para la PGA que necesita voltaje negativo se usó un integrado TC7660. Finalmente se usó la técnica de planchado para imprimir el diseño en la placa de fibra de vidrio recubierta de cobre. para que los valores de referencia en la compensación estén lo más cercano posible. Por otra parte para la comunicación serial se emuló un puerto COM. Como fuente de alimentación para polarizar los integrados se usó el voltaje USB que entrega el PC. que es un conversor DC/DC. 40 .

programación del PIC y el algoritmo de compensación.A. México DF 41 . Alfaomega Grupo Editor S. 11 García Breijo Eduardo (2008). Foto Tarjeta Adquisición de Datos SOFTWARE Se divide en. Programación del PIC Para programar el PIC se usó el “C CCS PIC Compiler” de la empresa microchip11.Figura 19. como del LM35. Primera Edición. También se emuló una comunicación serial a través da una interfaz USB. Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC. con el cual se implementó el conversor análogo digital para procesar las señales provenientes tanto del amplificador de la termocupla. entre el PIC y el PC.

jar que es un archivo que contiene de forma comprimida todos los archivos . la combinamos con el motor de bases de datos MySQL que hace parte de los motores de bases de datos libres que en la actualidad existen en el mercado. podemos crear pequeños pedazos de código que hacen tareas específicas y luego podemos entrelazarlos para poder realizar tareas más complejas. adicionalmente es uno de los más rápido. Para hacer más fácil el uso de la aplicación. es decir.class que son los que ejecutan la Máquina Virtual de Java ó JVM (Java Virtual Machine) por sus iniciales en inglés.Algoritmo de Compensación Como lenguaje de programación se seleccionó Java por los grandes beneficios que éste presta.class de nuestro programa. esta se puede empaquetar en un archivo de extensión . 3. estos mismos módulos los podemos copiar y utilizar en otras aplicaciones sin ningún inconveniente. Dentro de estos encontramos: 1. Es un lenguaje orientado a objetos: esto nos permite crear programas modulares y códigos reutilizables. 2. Es libre: para utilizarlo no necesitamos pagar licencias a ninguna persona o empresa. Es multiplataforma: cuando realizamos una aplicación en Java. por lo que independiente del ordenador en el que ha sido creada la aplicación esta funcionará en cualquier otro del mercado ya que la JVM es quien hace la interpretación del código fuente. 42 . se crean unos archivos de extensión . Para darle un poco más de robustez a la aplicación. Existen diferentes versiones de JVM’s para distintos Sistemas Operativos.

los botones. para más orden y para conservar la estructura de Programación Orientada a Objetos (POO) creamos una serie de clases y cada clase va en un archivo diferente cuyo nombre es exactamente el mismo de la clase. donde están contenidos los demás elementos jMenuBar1: barra ubicada en la parte superior con los elementos del menú jPanel1: en este panel se encuentran las etiquetas. y la gráfica de la temperatura calculada mediante los algoritmos de la NITS expuestos anteriormente. los paneles. las gráficas y los elementos de menú que se pueden utilizar en la aplicación. En esta clase se encuentran los siguientes elementos: JFrame: es el marco principal. Esta es la lista de clases empleadas en la aplicación: Main: Ésta clase es la principal. es con la que se inicia el programa y tiene el siguiente método: main Aquí se crea una instancia de la clase NewJFrame para iniciar el entorno gráfico. 43 . los campos de texto.Cuando desarrollamos una aplicación en Java. campos y botones que conforman el formulario de acceso a la aplicación jPanel2: este es el panel principal ya que aquí se visualizan los datos que llegan del microcontrolador y posteriormente procesados como lo son el voltaje de la termocupla y la temperatura del sensor LM35. NewJFrame: Es la encargada de todo el entorno gráfico.

desconectar: gestiona la desconexión de la base de datos. la inserción. Los métodos son: serialEvent: captura y procesa los eventos del puerto serial. SerialIO: Esta clase es la encargada de manejar la conexión con el puerto serial de la máquina y también la encargada de mandarle a la clase Control los datos recibidos. actualización y eliminación de datos. Los métodos son: jbInit: inicializa y configura la gráfica del termómetro. obtenerDatos: ejecuta sentencias de consulta a la base de datos. conectar: gestiona la conexión con la base de datos. 44 . guardarDatos: ejecuta sentencias de inserción o actualización a la base de datos.dataBase: Es quien gestiona todo lo relacionado con la base de datos tal como la conexión y la desconexión a esta. Los métodos son: dataBase: el constructor de la clase. adicionalmente hace una conversión de los datos y los envía al método Calcular de la clase Control. setValue: establece el valor de la temperatura que muestra el termómetro en un instante dado.

Los métodos son: Control: es el constructor de la clase y quien genera una instancia de la clase serialIO para que se inicie la captura de los datos. también hace visible la gráfica del termómetro. Calcular: implementa el algoritmo de corrección de punta fría. ajusta el valor en el termómetro e inserta la información en la base de datos. Termómetro: Crea una gráfica de un termómetro utilizando la librería jfree chart. en éste termómetro vamos a imprimir el valor de la temperatura luego de implementar los algoritmos de corrección. En este caso particular se tienen las siguientes clases: 45 . guarda la información en la base de datos y envía el valor final de la temperatura a la gráfica del termómetro.Control: Es quien implementa los algoritmos de corrección de punta fría.

Diagrama de flujo del Algoritmo. Como se puede ver en el diagrama de flujo de la Figura 22. lo primero que hace el programa es solicitar un nombre de usuario y una contraseña que se encuentran 46 .Figura 20.

se toma este evento como disparador de las siguientes acciones que son: Separar los datos que vienen juntos en una trama en el voltaje de la termocupla y el voltaje del LM35. Con estos valores se aplican las ecuaciones de corrección. como estos datos son enviados al PC cada segundo. Cuando se validan los datos de acceso se procede a tomar los datos del puerto USB al que se ha conectado el sistema de adquisición de datos. Se guardan estos valores en la base de datos Los anteriores pasos son realizados por la aplicación cada segundo cuando hay disponibles datos en el puerto COM y se hacen indefinidamente hasta que se cierra la ventana de la aplicación. Hacer los cálculos para convertirlos a los valores reales sensados. Se imprime el valor calculado de la temperatura en un termómetro creado con la clase jfree chart Se imprimen los valores en la gráfica temperatura contra tempo. Si estos datos son incorrectos se vuelven a solicitar hasta que se ingresen los solicitados.almacenados en la base de datos. 47 .

Figura 21. sin compensar y la referencia del LM35. Aplicación en ejecución Como lo muestra la figura 24 el programa muestra los valores de Temperatura medida en el en proceso compensada. 48 .

981 80.1 termómetro 49 .828 24.793 23.828 57.183 26.113 71.219 24.219 24.219 23. y se almacenaron los datos de la termocupla sin compensar.1 25.828 23.023 60. los resultados se muestran a continuación.9 24.828 23.828 23.219 23.057 48.793 23.811 26.179 75.086 3. LM35°C Termocupla Compensada 23.219 23.793 23.8 23.315 24.8 23.8 23.001 3.828 23.219 24.3 65.429 86.001 -0.98 85.8 77.998 73.8 23.6 74.828 23.8 80.828 24.062 62.811 23.3 27.001 2.001 -0.898 54.001 -0.8 75.958 52.815 Termocupla sin Compensar -0.153 83.793 24.086 3.8 23.708 78.828 23.428 49.538 23.75 50. compensada.086 -0.219 23.828 24.RESULTADOS Se tomaron muestras de temperatura en procesos estables de valores en promedio constantes y en procesos de temperatura variable.793 26.2 86 85.828 23.3 75.828 24.5 46.8 23.219 24.001 -0. la de referencia del LM35 y se tomó la temperatura con un termómetro comercial.811 26.291 63.

521 68.2 55.3 64.219 23.828 24. Gráfica Resultados temperatura contra Tiempo 50 .9 55.219 72.9 63.3 67.42 39.1 Tabla 5.943 34.828 23.69 34.219 24.006 59.828 24.051 62.7 62.066 57.651 39.219 24.9 58 57.195 32.868 66.929 36.828 23.6 66.8 58.238 54.182 58.765 49.198 71.436 35.1 69.828 23.474 61.5 61 59.137 41.828 23.219 23.584 45. Resultados 100 90 80 70 60 50 40 30 20 10 0 -10 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 Termocupla Compensada Termocupla sin Compensar termómetro LM35°C Figura 22.363 43.24.33 56.42 37.828 23.828 23.331 66.061 47.137 65.828 24.357 70.9 71.917 59.219 23.474 62.697 31.88 43.

trae muchas facilidades. resultados históricos. lo cual constituye una gran ventaja al momento de medir la temperatura en procesos industriales. y la distribución correcta de los componentes del montaje. También se notó que para el diseño de los impresos trabajar con la herramienta EAGLE. ya que en sus librerías tiene la mayoría de los componentes de uso común.CONCLUSIONES  Durante el proceso se observó que para la construcción de prototipos de circuitos electrónicos.54°C.  Al implementar este tipo de algoritmos en un programa libre como JAVA. lo que facilita la construcción de los prototipos. es indispensable tener en cuenta el acondicionamiento de las señales. Además como se manejan los datos desde una terminal de cómputo. de ahí que se necesite una mayor amplificación en este punto. se obtienen múltiples beneficios como. Razón por la cual se 51 .  Se corroboró que en el método de compensación por software se alcanza un de error de 1. el cual es de costos muy elevados.1% dentro del rango de medida seleccionado.  Se pudo notar que en situaciones donde la temperatura de proceso es menor que la temperatura ambiente se puede presentar ligeras perturbaciones. gráficas en tiempo real y posibilidad de consultar los datos remotamente. Y finalmente para placas base de impresos es más versátil trabajar con fibra de vidrio que con baquelita tradicional. ya que la señal de voltaje entregada por la termocupla es muy cercana a cero y muy débil. reduciéndose así los gastos del proyecto. lo que hace que se requiera mayor acondicionamiento y más procesamiento de cómputo. que equivale a un porcentaje 0. ya que es más resistente y de mejor textura. se cuenta con el valor agregado de no adquirir licencias de software industrial.

hacer promedios. se pueden manipular los datos para. lo cual permitiría tener un control más exacto del proceso que se está monitoreando. 52 .  Finalmente se concluye que el método de compensación de punta fría para termocuplas mediante software. con estos valores es posible realizar la compensación de manera simultánea. comparar.  Se observó que mediante este método se puede llegar a tener de los datos de varias termocuplas en un solo sistema de adquisición de datos. sumatorias.recomienda usar esta técnica en procesos de calentamiento donde la temperatura sea mayor que la del ambiente. y donde se necesite almacenar los datos para su posterior uso. es práctico para procesos que requieren de varias mediciones y además donde se necesite monitorear en línea el estado del proceso. y llevar registros.

Capítulo 1. Notas sobre termocuplas para el curso de Acondicionamiento de Señales. Antonio (1998). Alfaomega Grupo Editor S.com [6] http://pwp.java.gov/its90/download/allcoeff.com/interna/Educacion/download/Instrumentacio n/04_SISTEMAS%20DE%20CONVERSION%20ANALOGICA%20DIGITAL. TECNUN Ediciones. México DF [4] Gómez-Acebo.wikipedia.nist.A. Compilador C CCS y Simulador PROTEUS para Microcontroladores PIC. Universidad de Antioquia.com/es/ [5] http://www. Tomás (2001).pdf [4] http://www.BIBLIOGRAFÍA [1] Carrillo Orlando (2010). Universidad de Navarra.co/SAIDPINZON/sensores.org/wiki/Termopar [2] http://srdata. Primera Edición. Capitulo 6. México D. Enrique (2007). Sistema integrado para el Autoaprendizaje. [5] Mandado Pérez.. Barcelona (España) WEBGRAFÍA [1] http://es.tab [3]http://www. Primera Edición. Termodinámica Básica. Sexta edición.html#LM35 53 . Microcontroladores PIC.etb. [2] Creus Solé.F. Alfaomega [3] García Breijo Eduardo (2008).mysql.volcanesdecanarias.net. Instrumentación industrial. MARCOMBO Ediciones Técnicas.

ÍNDICE DE ANEXOS TABLAS DE POLINOMIOS Y COEFICIENTES NIST PROGRAMACIÓN DEL PIC ALGORITMO EN JAVA 59 56 55 54 .

E. and t90 is in °C.118343200000x10-3 a2 = 0. a1 .118597600000x100 a1 = . For type K thermocouples above 0 °C.126968600000x103 55 . as a function of t90 for all except type K thermocouples is: where E is in mV and t90 is in °C.TABLAS DE POLINOMIOS Y COEFICIENTES NIST Reference Function Coefficients Definitions: The general form for the emf. E is in mV. The constants a0 . there is an additional term to account for a magnetic ordering effect: where e is the natural logarithm constant. and a2 have the values: a0 = 0.0.

int datof=0.nomclr #use delay(clock=48000000) // #use standard_io(a) #define usb_con_sense_pin pin_D7 #include <usb_cdc. } else{ contador++.cpudiv1.NOPROTECT.PROGRAMACIÓN DEL PIC include <18f4455.nowdt.pll5.nodebug. //int dato=0.h> #device adc=8 #fuses Hspll. int dato2=0.h> int contador=0. int16 dato1=0. } 56 . enviar=1.usbdiv.vregen.nolvp. #INT_RTCC void tiempo(){ if(contador==20){ contador=0. int1 enviar=0. int i=0.

//set_adc_channel((dato&0x07)). //} //datof=(int)(dato1>>2).RTCC_DIV_2 ). USB_INIT(). SET_TRIS_D(0b10111111). SETUP_ADC_PORTS(AN0_TO_AN1|VSS_VREF). SETUP_ADC(ADC_CLOCK_DIV_16). if(usb_enumerated()){ //if( usb_cdc_kbhit()==1){ //dato= usb_cdc_getc(). ENABLE_INTERRUPTS(INT_RTCC). 57 . set_adc_channel(0). //usb_cdc_putc(read_adc()).} void main(){ SET_TRIS_A(0XFF). do{ usb_task(). // SET_TRIS_C(0X00). ENABLE_INTERRUPTS(GLOBAL). USB_CDC_INIT(). SET_TRIS_B(0X00). SETUP_COUNTERS(RTCC_INTERNAL.

if(enviar==1){ enviar = 0. dato1 = 0. delay_ms(1). } 58 . usb_cdc_putc(datof).i<=3. usb_cdc_putc(dato2). set_adc_channel(0). delay_ms(1). for(i=0. dato2=read_adc().i++){ dato1=dato1+read_adc(). } datof=(int)(dato1>>2). set_adc_channel(1). delay_us(10). delay_ms(1). } } } while(true).

InputStream.IOException.util.comm.comm. 59 .io. import javax. import javax.SerialPort. import javax. import java.io.0 */ public class serialIO implements SerialPortEventListener { public Control controlar. public InputStream entrada.util. static SerialPort sPort. import java.Enumeration.comm. import javax.comm.comm. /** * Realiza la conexión mediante el puerto serial entre el sistema embebido y el PC * @author Jorge González * @author Obeymar Santana * @version 1. static CommPortIdentifier idPort.SerialPortEventListener.ALGORITMO EN JAVA package correctorpf. import javax.NoSuchPortException. import javax.io.CommPortIdentifier.PortInUseException.OutputStream. static OutputStream salida.SerialPortEvent. import java. import java.comm. import java.TooManyListenersException.

sPort. public int Contador = 0. entrada = sPort. public double TLM35.addEventListener(this). try { sPort = (SerialPort) idPort. try { salida = sPort.setFlowControlMode(sPort.PARITY_NONE). } catch (TooManyListenersException e) { } } catch (IOException e) { 60 . static Enumeration enumpuertos.notifyOnDataAvailable(true). sPort.setInputBufferSize(3). try { sPort. sPort. try { idPort = CommPortIdentifier.open("Puerto COM11". public double VTermoCupla.FLOWCONTROL_NONE).getPortIdentifier("COM1"). 4000). sPort.static String datos. sPort. sPort.DATABITS_8.getInputStream().setSerialPortParams(19200.getOutputStream(). sPort.STOPBITS_1. public serialIO(Control controlador) { controlar = controlador.

} } /** * Captura los eventos del puerto serial y procesa la información tomada de este * @param event evento del puerto serial */ public void serialEvent(SerialPortEvent event) { int numBytes = 0.PE: case SerialPortEvent.err.println("ERROR de I/O" + e).out.BI: case SerialPortEvent.println("ERROR al identificar puerto " + e).err.err. byte[] bufferLectura = new byte[8].System.CD: System.println("Error al abrir el puerto! STATUS: " + e).getEventType()) { case SerialPortEvent.OE: case SerialPortEvent. } } catch (NoSuchPortException e) { System. if (event.FE: case SerialPortEvent. } catch (Exception e) { System.print("CD pasa a "). switch (event.getNewValue()) { 61 . } } catch (PortInUseException e) { System.err.println("ERROR al abrir puerto " + e).

out. } else { System.println("cierto").out.println("falso").println("falso").println("cierto").System. if (event. } break.out.print("RI pasa a ").out. case SerialPortEvent.CTS: System.DSR: System.out. } else { System.out. if (event.out. case SerialPortEvent. 62 .getNewValue()) { System.println("falso").getNewValue()) { System.RI: System. } break.out. case SerialPortEvent.print("DSR pasa a "). if (event.println("cierto"). } break.println("cierto").print("CTS pasa a ").getNewValue()) { System.out.println("falso"). } else { System.out.out. } break. } else { System.

read(bufferLectura). = = VTermoCupla TLM35 = arrayDatos[0].charAt(0). 63 .out. break. arrayDatos = new char[2].0) / 256.case SerialPortEvent. VTermoCupla = (VTermoCupla * 1.available() > 0) { numBytes = entrada.println("Datos: " + DatosLeidos). = arrayDatos[1].DATA_AVAILABLE: // System.println("Datos disponibles").0) / 256.OUTPUT_BUFFER_EMPTY: System.out.out. arrayDatos[0] DatosLeidos. System.out. char arrayDatos[]. case SerialPortEvent. arrayDatos[1] DatosLeidos. } String DatosLeidos = new String(bufferLectura). try { while (entrada. if (numBytes == 2) { Contador = 0.println("Bytes: " + numBytes). TLM35 = (TLM35 * 1. VTermoCupla = VTermoCupla / 100. // // System.println("Buffer vacio").charAt(1).

TLM35 = (TLM35 * 1. } else if (Contador == 2) { arrayDatos[0] = DatosLeidos. TLM35).charAt(0). } catch (Exception e) { 64 . VTermoCupla = VTermoCupla / 100. VTermoCupla = arrayDatos[0]. } } } catch (IOException e) { System. } else if (numBytes == 1) { Contador++.0) / 256. if (Contador == 1) { arrayDatos[0] = DatosLeidos. VTermoCupla = (VTermoCupla * 1. TLM35 = TLM35 * 100. TLM35 = arrayDatos[0].Calcular(VTermoCupla. controlar.Calcular(VTermoCupla.out.charAt(0). controlar. TLM35).println("Error IO durante la lectura: " + e). Contador = 0.0) / 256.TLM35 = TLM35 * 100.

} } } 65 . // salida.out. } break.println("Error IO durante la escritura: " + e). System. } catch (Exception e) { System.write(datos.out.out.getBytes()).flush(). } catch (IOException e) { System. salida.System.println("Error durante la escritura: " + e).out. } } /** * Envía los bytes de datos al sistema embebido * @param dato String con información para enviar al micro del sistema embebido */ public void enviarMicro(String dato) { try { datos = new String(dato).println("Error durante la lectura: " + e).println(datos).

978425E+01. 66 . final double C2 = 0.Millisecond. final double C1 = 0.0. import org.data. final double C5 = -0. final double C3 = -0. final double C4 = 0.132281952950E-09. final double A1 = 1. final double C7 = -0.SQLException. final double C8 = 0.304758369300E-04. import java. /** *Realiza el control principal de la aplicación * @author Jorge González * @author Obeymar Santana */ public class Control { /** * Las constantes C son válidas para termocuplas tipo J desde -210 a 760 °C * Las constantes A son válidas para termocuplas tipo J desde 0 a 760 °C */ final double C0 = 0.swing.jfree.503811878150E-01. import org.JLabel. final double C6 = 0.209480906970E-15.156317256970E-22.0. import javax.RefineryUtilities.time.package correctorpf.jfree.856810657200E-07.sql.125383953360E-18.170529583370E-12.ui. final double A0 = 0.

344285E-08. 0). compensada"). final double A6 = -5. double temperaturaS = 0. RefineryUtilities. serie = new serieTiempo("Gráfica de temperaturas contra el tiempo"). panel = mainPanel.positionFrameOnScreen(serie.549687E-04. NewJFrame panel.585153E-06. /** * Constructor de la clase * @param panel */ public Control(NewJFrame mainPanel) { termo_c = new Termometro(). final double A4 = -2.thermo1. 67 . final double A3 = 1.addSubtitle("Temp. sin compensar"). double V_LM. termo_c. serieTiempo serie. int contadorSQL = 0. Termometro termo_c. termo_s = new Termometro().addSubtitle("Temp. 0.final double A2 = -2. V_TOTAL. Termometro termo_s. final double A7 = 5. double temperaturaC = 0.001204E-01. T_TOTAL. final double A5 = 3.036969E-02.pack().099890E-10.thermo1. int acumuladorTemp = 0. termo_s. serie. T_MEDIDA.

12)).awt.MAX_VALUE).grafica. jLabel1.SwingConstants. jLabel1. jLabel1.createParallelGroup(org. 148.setBackground(new java. JLabel jLabel1 = new JLabel().setFont(new java.MAX_VALUE))).jdesktop.awt.// serie.createSequentialGroup().setHorizontalGroup( graficaLayout. Short.jdesktop.setText("Panel de Control del Sistema Embebido"). 153.setVerticalGroup( graficaLayout.GroupLayout. /** * Termómetro compensado */ org. jLabel1. org. jLabel1. 255)). graficaLayout.GroupLayout. graficaLayout.layout.addContainerGap(). 1.jdesktop.Font("BankGothic Md BT".addCo ntainerGap(183.setOpaque(true).GroupLayout.add(termo_c.layout. Short.Color(255.LEADING).jdesktop.Color(102.createSequentialGroup().DEFAULT_SIZE.CENTER).ad d(graficaLayout.GroupLayout(panel.add(termo_c).ad d(graficaLayout.setForeground(new java. jLabel1. panel.layout.setHorizontalAlignment(javax. /** 68 .LEADING). 255)).addContainerGap())).createParallelGroup(org.GroupLayout graficaLayout = new org.jdesktop. 255.addContainerGap().awt.swing.layout.layout.setVisible(true).grafica).setLayout(graficaLayout).

setVisible(true). panel. } /** * Calcula la temperatura real de la termocupla aplicando los polinomios de conversión de punta fría * @param Vt Voltaje de la termocupla * @param T_LM Temperatura en el extremo frío de la termocupla la cual es sensada por el LM35 69 .GroupLayout.GroupLayout.grafica1. panel.jdesktop.GroupLayout grafica1Layout = new org. org.setVisible(true).add ContainerGap(183.grafica1).a dd(grafica1Layout.setVerticalGroup( grafica1Layout.LEADING).layout. grafica1Layout.setLayout(grafica1Layout). panel.jdesktop.LEADING).* Termómetro sin compensar */ org. serialIO serial = new serialIO(this).createParallelGroup(org.addContainerGap())). grafica1Layout. Short.MAX_VALUE))).addContainerGap().MAX_VALUE).GroupLayout.layout.createSequentialGroup().createSequentialGroup().grafica.grafica1.DEFAULT_SIZE. Short.jdesktop.addContainerGap().add(termo_s.layout.createParallelGroup(org.jdesktop.layout.jdesktop.add(termo_s).GroupLayout(panel. 148.a dd(grafica1Layout.layout.setHorizontalGroup( grafica1Layout.

series2.pow(V_TOTAL. V_LM = C0 + C1 * T_LM + C2 * Math. temperaturaC = temperaturaC / 4. temperaturaS = temperaturaS / 4. T_TOTAL = A0 + A1 * V_TOTAL + A2 * Math.datoSerial. 2) + C3 * Math. termo_s. 2) + A3 * Math. 3) + C4 * Math.*/ public void Calcular(double Vt. double T_LM) { double V_T_TEMP. if (acumuladorTemp == 4) { acumuladorTemp = 0. 3) + A4 * Math.pow(T_LM.add(new Millisecond().pow(V_TOTAL.pow(T_LM. serie. acumuladorTemp++. temperaturaS). T_MEDIDA = A0 + A1 * V_T_TEMP + A2 * Math. serie.setValue(temperaturaS). V_T_TEMP = Vt * 1E+03.setValue(temperaturaC). 2) + A3 * Math.pow(T_LM. 4).setText(Vt + " .add(new Millisecond(). temperaturaS += T_MEDIDA. 4). temperaturaC += T_TOTAL. panel. termo_c. 70 .series1. 4). V_TOTAL = (V_LM * 1E-03) + Vt.pow(V_TOTAL.pow(V_T_TEMP. V_TOTAL = V_TOTAL * 1E+03.pow(V_TOTAL. 3) + A4 * Math." + T_LM). temperaturaC).pow(V_T_TEMP.

mysql. '" + T_MEDIDA + "'. '" + T_TOTAL + "'.conectar(). temp_calculada. t_lm35. fecha) VALUES ('" + Vt + "'. } contadorSQL++.guardarDatos("INSERT INTO historial (v_termocupla. if (contadorSQL == 10) { contadorSQL = 0. '" + T_LM + "'. dataBase mysql = new dataBase().temperaturaC = 0. } catch (SQLException e) { } } } } 71 . now())"). mysql. temp_medida. temperaturaS = 0. try { mysql.desconectar().

JPanel.0).Color.chart.MeterPlot.jfree.chart. 72 . import org. import org.text. import org.awt. import java. import java.data.chart.general. /** * Trama del medidor */ private MeterPlot meterplot = new MeterPlot(this.JFreeChart.ChartPanel.plot. import org. import javax.awt. /** * * @author Jorge González * @author Obeymar Santana */ public class Termometro extends JPanel { /** * Conjunto de datos */ private DefaultValueDataset data = new DefaultValueDataset(0. import org.ackage correctorpf.BorderLayout.chart.swing.jfree.JThermometer.DefaultValueDataset.data). import java.jfree.DecimalFormat.jfree.plot.jfree.

DEFAULT_TITLE_FONT. this. /** * Termómetro 1 */ public JThermometer thermo1 = new JThermometer(). /** * Panel 1 */ private JPanel jpanel1 = new JPanel(). JFreeChart. /** * Constructor de la clase */ public Termometro() { 73 .meterchart). false). /** * Panel del medidor */ private ChartPanel panelMeter = new ChartPanel(this./** * Gráfica del medidor */ private JFreeChart meterchart = new JFreeChart("Termómetro".meterplot. /** * Diseño del borde */ private BorderLayout borderLayout1 = new BorderLayout().

0.0).setOutlinePaint(null). 500.thermo1.0. this.thermo1.0). this.setRange(0.thermo1.0.0).jpanel1. add(this. null).0. 500.0.thermo1.thermo1. 500.thermo1. 0. 500.0. 400. 000. this.borderLayout1).thermo1.printStackTrace(). 200.0). 500.thermo1.0). // this.addSubtitle("Temperatura Compensada").setSubrangeInfo(4.setUnits(2). this. 400.thermo1. } catch (Exception e) { e.thermo1. } } /** * Inisializa la clase * @throws java. 300.BLUE). 0.0.CENTER). 100.try { jbInit().setLayout(this.0.thermo1.setValueFormat(new DecimalFormat("0. this. this. 0.setValue(0.add(this.0")).0.thermo1.thermo1. this. this.Exception */ void jbInit() throws Exception { this.lang.setSubrangeInfo(1.0.setSubrangeInfo(3. 500.setForeground(Color.setShowValueLines(true).0. } 74 . this. 100.setSubrangeInfo(2. 300.0.0). this. this.setFollowDataInSubranges(true). this. BorderLayout.0.jpanel1. this. 0.0. 200. 500.0).thermo1.setSubrangeInfo(0. 0. this.0.thermo1.jpanel1.0.

data. } catch (Exception ex) { ex. } catch (Exception e) { System.setValue(value). } } } 75 .thermo1.getValue().println(e.printStackTrace().doubleValue().setValue(new Double(newValue)).getValue() != null) { newValue += this.err./** * Marca la temperatura del termómetro dado * @param value */ public void setValue(final double value) { try { this.data. } this. if (this. } } /** * Marcar el valor de medida * @param value */ public void setMeterValue(final double value) { try { double newValue = value.getMessage()).data.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->