You are on page 1of 10

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON

PIC18F4550
Sedny Garrido Peaherrera

Resumen
El campo de utilizacin de los PIC (Peripheral Interface Controller) es bastante amplio
debido a una de sus principales caractersticas. Como ya sabemos a lo largo de estos
ltimos 15 aos por medio de la programacin se ha logrado crear aplicaciones que hoy en
da son importantes para el diario vivir, gracias a esta importante cualidad los pics son muy
utilizados para crear importante circuitos electrnicos. El uso de los pics ha reducido el
tamao de los circuitos y ha simplificado la elaboracin de los mismos.
Palabras clave: PIC, circuitos electrnicos, programacin.

Abstract
The field of use of the PIC (Peripheral Interface Controller) is quite broad due to one of its
main features. As we know over the last 15 years through the programming has been
successful in creating applications which today are important for daily life, thanks to this
important quality the pics are very important used to create electronic circuits. The pics
usage has reduced the size of circuits and has simplified the development thereof.
Keywords: Pic, electronic circuits, programation.

Introduccin
Entre la gran cantidad de controladores de interfaz perifrico, en esta asignatura nos hemos
concentrado en los PIC18F4550 que es uno de los ms utilizados.
Estos controladores se presentan en forma de integrados y tienen 40 pines. Cada pin tiene
diferentes aplicaciones o se los puede usar de diferente manera segn la programacin.
Existen una amplia gama de programadores, que vienen con simulador y el software
ensamblador. El software que hemos usado para el proyecto es el PIC C Compiler de CCS,
bajo un lenguaje de programacin C y el emulador es el Proteus Isis, que es uno de los
emuladores ms usado.

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550
Objetivos
Desarrollar el software que utilizara un circuito sensor de temperatura con una alarma
programable, con pic y un sensor de temperatura.
Anlisis de requerimientos
Para la elaboracin de este software necesitaremos un pic capaz de leer seales analgicas,
que tenga un reloj interno y que tenga suficientes pines para las salidas que van hacia los
display, por esta razn escogimos el PIC18f4550.
Necesitamos un dispositivo capaz de medir la temperatura a su alrededor y que enve un
voltaje que vare segn la temperatura captada, el LM35 es un sensor de temperatura que
cumple con estas caractersticas.
Para la visualizacin de la temperatura y la fcil programacin de la alarma se utilizara 4
display de ctodo o nodo comn, esto es a eleccin del programador.
Adems se necesitar de 4 pulsadores con sus respectivas resistencias para tener un control
de encendido y apagado y tambin para poder programar la alarma.
El parlante ser el emisor del sonido de la alarma de precaucin.

Figura 1. PIC18f4550

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550

Figura 2. Sensor de

temperatura LM35.

Figura 3. Display de 7 segmentos.


Metodologa
Implementacin
Para la programacin del pic se utilizara una herramienta que nos ayuda a realizar una
programacin fcil y grfica llamada Project Wizard en el software antes mencionado.
El pic trabajara a una frecuencia de 4Mhz, sin clockout, aadiremos un timer interno que
nos ayudar a generar un sonido de alarma y aadiremos un canal lector de seal analgica
que ser el que reciba el voltaje de salida del sensor de temperatura.
Definimos una variable para cada pin que va conectado al display por medio de la siguiente
instruccin:
define dig 1 pin b 3

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550
define dig 2 pin b 4
define dig 3 pin b 5
define dig 4 pin c5
Para poder mostrar los nmeros en los display vamos a utilizar la multiplexacin, para esto
creamos un arreglo llamado dgitos que contendr en cdigo binario los nmeros del 1 al 9,
un guion y el smbolo de grados al final. La multiplexacin se basa en utilizar dos o mas
canales de informacin y presentarlos en un solo medio.

digitos[16]={0 b 00111111, 0 b 00000110, 0 b 01011011, 0 b 01001111,0 b 01100110, 0 b 01101101,0 b 01111


En este caso los segmentos de los displays se apagarn y se prendern muy rpidamente
que ser difcil ver para el ojo humano este parpadeo, solo parecer que estarn encendidos.
Esta funcin se llamara refresca(); y contendr el siguiente cdigo repetido para los 3
display.
output low ( DIG 1 );
output low (DIG 2 );
output low ( DIG 3 );
output low ( DIG 4 ) ;/ apago todos los display
1
digitos ;
output d
output high ( DIG 1 );
output low (DIG 2 );

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550
output low ( DIG 3 );
output low ( DIG 4 ) ;/ apago todos los display
dela y ms( 1) ;
Para leer el canal analgico y convertirlo en un valor digital flotante utilizamos la siguiente
instruccin:
cha
set (0); / se seleccionael canal 0 que corresponde a an 0
delay ms (1);
valor digital =read adc () ;
valor flotante =valordigital ;
convertido=( val flotante 5/255);
El 5 es por el mximo voltaje y los 255 por el nmero total de bits. Este ser el pin que
reciba el voltaje de salida del LM35. Este sensor tiene una variacin de 10mV por grado
centgrado. Para imprimir este valor en los display utilizamos una cadena de caracteres.
1
valor (valor [0 ]0 b 00001111);
2
valor (valor [2]0 b 00001111);
3
valor (valor [3 ]0 b 00001111);
4
valor 15 ;
El valor del digito 4 es el smbolo pregrabado en el arreglo.

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550
Para la programacin de la alarma tenemos que guardar y leer de la memoria eeprom los
valores de cada digito.
2
0 x 22, valor ;
writeeeprom
3
0 x 23, valor ;
writeeeprom
1
0 x 21, valor ;
writeeeprom
write eeprom (0 x 24,alarma);
1
valor read eeprom (0 x 21);
2
valor read eeprom (0 x 22);

3
valor read eeprom (0 x 23);
Para poder grabar el valor de la alarma tuvimos que hacer un clculo ya que en los display
cada nmero se muestra independiente del otro, dado esto usamos este cdigo para
convertir los 3 dgitos en un valor.
1
2
3
valor ;
alarma=( valor 100)+(valor 10)+
Teniendo estos valores se puede proceder hacer la comparacin del voltaje de salida del
sensor con la alarma que el usuario programo.

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550
Si es que el valor del voltaje del sensor es mayor al de la alarma encender una bandera,
para que en reloj interno del pic se ejecute un cdigo que ser el que produzca el sonido de
alarma, caso contrario no prender la bandera y el cdigo de la alarma no se ejecutara.
TIMER 0
void TIMER 0isr (void )
{
contador++ ;

if ( bandera= 1)
{
set timer 0 (214) ;
if ( contador<1500)
{
if ( con tador 2=1)output high ( pinc 1 );
else output low ( pin c 1);
}
else

{
contador=0 ;
}

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550
}
}
Este cdigo hace que por medio de oscilaciones se reproduzca un sonido. Incrementamos
un contador, si el contador es positivo encendemos el pin y si es negativo lo apagamos.

Pruebas
Para las pruebas usamos el emulador ISIS.

Figura 4. Sensor de temperatura en OFF.

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550

Figura 5. Sensor de temperatura en ON.

Reporte de Pruebas
En la primera prueba las conexiones hacia los display estaban mal hechas, por lo tanto los
dgitos salan en orden totalmente equivocado.
Con el pasar de las pruebas se fueron aumentando botones debido a las necesidades de
hacer la programacin de la alarma ms rpida, como por ejemplo el de disminuir la
alarma.
En la segunda prueba, como el sensor de temperatura enva valor en mili voltios de voltaje,
en los display se presentaban valores menores a cero.
En las siguientes pruebas el sonido de la alarma era muy bajo casi imperceptible.
Manual de Usuario
El software est diseado para poder apagar y encender el sensor de temperatura.
Para encender pulsar botn ON.

SENSOR DE TEMPERATURA CON ALARMA PROGRAMABLE CON


PIC18F4550
Para apagar pulsar botn OFF.
Para programar la alarma pulsar botn SET ALARMA.
Para aumentar la cuenta de la alarma pulsar botn AUMENTAR ALARMA, mantenga
pulsado para que la cuenta suba ms rpido.
Para disminuir la cuenta de la alarma pulsar botn DISMINUIR ALARMA.
Si se encuentra programando la alarma y ya selecciono la temperatura mxima antes de que
se dispare la advertencia, presione ON, para mostrar la temperatura, la alarma se quedar
grabada.
Si es que la alarma se dispara apagarla pulsando OFF.
Conclusiones y recomendaciones
Para concluir podemos decir que hemos desarrollado un software capaz de medir y
presentar la temperatura captada por un sensor la cual deber ser menor a la temperatura
programada para que no se dispare una alarma de precaucin.
Verificar que se conecte correctamente los pines de los dgitos segn como se haya definido
en su programacin.
Conectar correctamente los segmentos de los display, de tal modo que el numero binario
que se defini en el arreglo corresponda al nmero que se desea mostrar.
Conectar resistencias a los pulsadores para no generar un corto circuito.
Bibliografa
http://www.ccsinfo.com/content.php?page=compilers
http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf
http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/DS005516.PDF
ftp://ece.buap.mx/pub/IEEE/DataSheets/DA05%20-%20DISPLAY.pdf
http://www.pic16f84a.org/proteus.html

You might also like