HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

 proyecto: manejo del sensor de temperatura DS18B20 mediante una función en C, la cual regresa un valor de punto flotante.

 

 

DS18B20ANSIC.jpg (81124 bytes)

 

 

(dé click sobre el diagrama para amplificarlo)

LAYOUT EVOLUPIC BOOTLOADER.jpg (49798 bytes)

 

SISTEMA EB88 CON SENSOR DS18B20

El sistema EB88 incluye un novedoso sensor digital de temperatura autocalibrado, fabricado por Dallas Semiconductor (DS18B20), con un encapsulado similar al de un transistor de pequeña señal  y que tiene solo 3 pines, dos de los cuales se conectan a 5v. y tierra respectivamente para alimentarlo.

El sensor DS18B20 cuenta con una salida en su pin 2, a través del cual se comunica con el microcontrolador 16F88, al bit RA3 del puerto A del sistema EB88.

Su rango de temperaturas es de -55 hasta +125 grados centígrados, con una resolución de 0.1 grados. La especificación técnica del circuito se puede obtener aquí: DS18B20.pdf.

 

ds18b20v.jpg (103027 bytes)

 

FUNCIÓN ANSI C PARA LEER EL SENSOR DS18B20

El sensor digital de temperatura DS18B20, es un circuito autocalibrado, con rango de -55 a +125 grados centígrados y con salida en formato digital. Este sensor tiene un versátil protocolo de comunicaciones llamado "Onewire", mediante el cual es posible comunicarse bidireccionalmente con el circuito únicamente a través de uno de sus pines.

En la librería ONEWIRE.h se proporciona una función ANSI C para el compilador CCS que maneja al circuito DS18B20. Dicha función regresa con el valor de la temperatura medida por el sensor, en una variable de punto flotante, en 2 enteros y un decimal. El sensor DS18B20 debe conectarse al pin RA3 del microcontrolador 16F84/F628/F88.

 

EVOLUPIC_Bootloader_16F88_022V.jpg (84273 bytes)

 

PROGRAMA DE PRUEBA EN C PARA SISTEMA EB88

Contamos con el programa de prueba ONEWIRE.c, el cual llama a la función mencionada en el cuadro de arriba y muestra el resultado directamente en el display LCD 16 x 1, como se muestra en la foto. Cargue el programa ejecutable ONEWIRE.hex en el sistema EB88 y observe la temperatura ambiente en el LCD. Los microswitches SW1..SW4 deben estar en la posición "OFF" para realizar esta prueba.

Dado que el resultado se tiene directamente en una variable con formato de punto flotante, es posible desarrollar a partir de esta función numerosas aplicaciones de control de procesos, particularmente el control de temperatura.

 

CONTROLONOFFV.jpg (35554 bytes)

 

El proyecto cuyo video puede observarse dando click a la foto de la izquierda, es un control ON-OFF realizado a través del sensor DS18B20.

Este proyecto es fácilmente realizable mediante programación en C, la cual permite fijar un setpoint de la temperatura y realizar el control comparando con la temperatura medida en el sensor.

Si desea ver los detalles del proyecto, por favor vaya a este link: CONTROLONOFF.htm

Por favor considere que la versión Lite del compilador HiTech no maneja variables de punto flotante.