Proyecto: Termometro PICAXE28X1

En esta ocasion se presenta un proyecto sencillo, un termometro, el cual muestra la temperatura en formato XXC o XXF, en Celsius o Farengeith.

El hardware del proyecto esta basado en el sensor de temperatura LM35, el cual es un sensor de tres terminales, en cuya salida se tiene 10mV por 1 grado Celsius, osea para una temperatura de 30ºC la salida del sensor entrega un voltaje de 300mVdc.

Teniendo en cuenta el funcionamiento del sensor, la salida de este se lee via el conversor analogo digital del microcontrolador PICAXE28X1, el cual se programa para tomar la lectura en milivoltios y transformarla a su representacion digital y  mostrar la temperatura en tres display (decenas-unidades-letra).

Por medio de un interruptor conectado a una entrada digital de microcontrolador, se puede elegir si la temperatura se muestra en ºC o ºF, la conversion entre escalas se realiza via software.

Ademas el microcontrolador se ha programado, para detectar si la temperatura sensada pasa de 30ºC se active una salida digital, con la caul se activa un led alarma. Esta linea digital tambien puede servir para activar algun otro dispositivo tal como ventilador o sirena.

A continuacion se muestra el esquema del circuito usado:

El programa cargado en el microcontrolador esta escrito en lenguaje Basic para Picaxe, usando el PICAXE Programming Editor.

El programa esta estructurado asi:

1 leer por medio del ADC del micro, el valor del voltaje analogo proveniente del sensor LM35, digitalizar el dato.

2 Conociendo que por cada 10mV leidos sera 1ºC, se calcula el valor real de la temperatura en el sensor, dado que se utilizara la resolucion de 10 bits para el ADC, se tendra que para cada posicion binaria su peso en mV sera de 4.88mV, sabiendo esto se aplica la ecuacion Temp_centigrados = ValordelADC*4.88/10.

3 Si ese valor de temperatura es mayor a 30º se activara la salida 1 del micro, es aqui donde conectamos la indicacion o alarma.

4 Si el interrurtor conectado en la entrada digital esta activo (on=1) se hara la conversion a Farengeith, usando la formula Temp_Real=9/5 Temp_centigrados + 32; si no, Temp_Real=Temp_centigrados

5 Mostrar en los display el valor de la Temp_Real por medio de una subrutina que utiliza el multiplexado para manejar tres display usando un solo bus para los datos de segmento y tres salidas para el encendido y apagado de cada unos de los displays.

6 Volver a tomar una nueva lectura y ejecutar esto infinitamente.

Ver codigo ¡

He aqui algunas imagenes de implementaciones basadas en este proyecto, realizadas por estudiantes de la Universidad Tecnologica de El Salvador.

Comentarios?

2 comentarios

  1. PORFA ENVIA EL PROGRAMA EN BASCOM AVR APOYAME EN ESO …………

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: