Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"
Error
  • JUser: :_load: No se ha podido cargar al usuario con 'ID': 77

 

Boletín No 46
1 de enero 2015

 

 

 

IMPLEMENTACIÓN DE SENSOR DE TEMPERATURA AMBIENTAL CON COMUNICACIÓN POR PUERTO PARALELO USANDO CÓDIGO ENSAMBLADOR

 

Isis Tatiana Galván García,
Email: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ,
Roberto Antonio Orozco Vázquez,
Email: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ,
Antonio Guadalupe Cruz Bautista,
Email: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ,
Hind Taud,
Email: htaud @ipn.mx
Juan Carlos Herrera Lozada ,
Email: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Centro de Innovación y Desarrollo Tecnológico en Cómputo. Instituto Politécnico Nacional

Abstract

El presente proyecto muestra la implementación de un sensor de temperatura ambiental, con el fin de tener almacenas la temperatura ambiente en registro usando pocos recursos de hardware y software y con entornos visuales poder acceder a esa base después de días, meses o años de forma compacta y portable. Los datos son mostrados en grados Centígrados y Fahrenheit en un equipo de cómputo con sistema operativo Windows 7 x32 que se comunica por puerto paralelo a un conjunto de dispositivos electrónicos compuesto por un circuito timer 555 en modo astable , un sensor de temperatura LM35, el circuito integrado ADC0804 el cual toma las señales analógicas y las convierte a señales digitales de 8 bits, una barra de leds, un amplificador de señales y dispositivos discretos con la función de ajustar las señales y adaptar la conversión de la energía calorífica a eléctrica adaptándola al sistema electrónico. El programa esta realizado en código ensamblador el cual se encarga de la actualización, conversión y muestra en pantalla de lecturas de la temperatura obtenidas con el timer.

Introducción

El desarrollo de la tecnología conlleva la necesidad de usar medidas específicas e implementar aparatos para su medición, tal es el caso de la temperatura, la cual se define como una magnitud física que refleja la cantidad de calor, en este caso, del ambiente. Para llevar a cabo dicha medición, se inventaron diversos instrumentos, el primero considerado en forma por Galileo en el año 1592. Sin embargo, Galileo no introdujo una escala de temperatura, ésta se introdujo hasta el 1700 donde Isaac Newton desarrollo la escala Newton la cual fue una medida, hasta llegar a los científicos William Thomson, Lord Kelvin y William Rankine quienes desarrollaron las medidas de la temperatura a nivel de energía interna del sistema que sea lo más bajo posible de la energía cinética del átomo (0 K igual 0 R).

Implementando distintas técnicas se buscaba mostrar las temperaturas con apoyo de los sensores que son dispositivos que miden magnitudes físicas y las transforma en variables eléctricas, físicas, etc. Específicamente, El cto. LM35 es un sensor de temperatura con una precisión calibrada de 1ºC. Su rango de medición abarca desde -55°C hasta 150°C. La salida es lineal y cada grado centígrado equivale a 10mV, por lo tanto:

150ºC = 1500mV
-55ºC = -550mV1

La implementación del presente proyecto se divide en 3 partes: Configuración de Hardware, configuración de Software y conversión de datos, como se describe a continuación.

1. Configuración de Hardware

En la protoboard se conectó en primera instancia el LM555 en modo astable, ya que por una salida con forma de onda cuadrada (o rectangular) continua de ancho predefinido por el diseñador del circuito y que se repite en forma continua con cada pulso (ver Figura 1), el cual se puede determinar frecuencia con un potenciómetro o capacitores de diferentes medidas cuya salida se conecta a la entrada del LM35, con lo cual se actualiza la lectura de la temperatura de dicho dispositivo de acuerdo a la frecuencia del pulso del reloj (ver Figura 2).

image001
Figura 1.Configuración del LM555 en modo astable

 

image004
Figura 2.Implementación del LM555 en protoboard

La salida del LM35 está conectada a la entrada del convertidor ADC0804, para la conversión de la señal analógica en digital (binario) (ver Figura 3).

image006
Figura 3.Conexión del LM35 al convertidor ADC0804

La salida del convertidor está conectada a las entradas de la barra de leds y el amplificador, así como a las entradas del cable paralelo que establece la comunicación entre el circuito y el puerto de la computadora (Figura 4).

image008
Figura 4. Circuito en protoboard

Se emplearon los siguientes dispositivos, debido a la facilidad para la obtención de datos, frecuencia en actualización de los mismos y su estabilidad para lograr una conexión adecuada: Computadora con procesador Intel Core i3-2105 a 3.1 GHz, de 4GB de RAM, Windows 7 Service Pack 1, de 32 bits, con puerto paralelo; sensor de temperatura (LM35), reloj (LM555), convertidor Analógico-Digital (ADC0804), barra de LEDS (BARR 10G), potenciómetro 1 KΩ (B1K), protoboard, cable paralelo hembra-hembra, Pines de conexión, fuente de 5.5V, amplificador de señal, 8 Resistencias 330 Ω, 2 capacitores cerámicos de 0.01µF (104), 2 capacitores electrolíticos de 10µF a 16V, 1 capacitor de tantalio de 10 µF 25V; en cuanto al software, se utilizó el debug de Windows para el código en lenguaje ensamblador.

2. Configuración de Software

Para lograr una comunicación bidireccional, es necesario configurar desde el setup de inicio de la pc el puerto paralelo como “Bidireccional” y posteriormente desde el debug de Windows usar el puerto 0378H (ver Figura 5).

image010
Figura 5. Usar el puerto 0378H

Para comprobar que existe la comunicación, se conectan LEDS a las salidas de los pines de conexión del cable paralelo para enviar datos desde la PC a la protoboard. El código para el envío de datos es:

 

Figura 12

 

Comprobando que hay comunicación se obtienen los datos del puerto paralelo y se hace su conversión a la escala Centígrada y Fahrenheit, usando la instrucción aam y la salida en pantalla, así como la variación de temperatura (Figura 6).

image011

Figura 6

El código completo de ensamblador de la conversión a grados Centígrados y grados Fahrenheit y su salida en pantalla se encuentra en el siguiente enlace: https://www.dropbox.com/s/eacltqyqgiq7vpg/Conversion.txt

Para ver el circuito en funcionamiento y la salida en consola, dirigirse a este enlace: http://youtu.be/v7omJrywSfA

Conclusiones

Las lecturas de temperaturas fueron satisfactorias y velocidad inmediata en la obtención de los datos, al aplicar estímulo con una fuente de calor (encendedor, cerillo). El costo de los dispositivos empleados es económico y su durabilidad y resistencia a las pruebas fue notable.

Se implementa una forma de realizar la conversión de hexadecimal a decimal de los datos de la temperatura obtenidos, y posteriormente a grados centígrados y grados Fahrenheit de la comunicación por paralelo. La obtención del conocimiento, tanto en configuración física de sistemas analógicos e interrupciones en lenguaje ensamblador se amplió de manera significativa para una comprensión de las funciones del procesador.

Bibliografía

1.- George Gamow, Biography of Physics, Alianza Editorial S.A. de C.V. , cap. 4, 2001.

2.- http://www.national.com/ds/LM/LM35.pdf Consultada el 6 de julio de 2014.

3.- http://www.unicrom.com/tut_multivibrador_astable_555.asp Consultada el 20 de marzo de 2014.

4.- Peter Abel. Lenguaje Ensamblador para PC IBM y Compatibles. Prentice Hall Hispanoamericana. 3 Ed. Cap. 2, 3, 1996.