Agregar a favoritos      Ayuda      Português      Ingles     

Sistema de control de temperatura

Enviado por Josele



Partes: 1, 2



Monografias.com
SISTEMA DE CONTROL DE TEMPERATURA DE UN CLIMATIZADOR: Para esta aplicación se utilizan 2 microinterruptores de 8 bits, una placa con el sensor de temperatura LM35, un display LCD 16x2 y una placa con diodos led. Los microinterruptores los conectaremos al PORTC y al PORTD. El bus de datos del LCD al PORTB y los bits de control E W S a los pines RE0 RE1 RE2 respectivamente. El LM35 a la patilla RA0 y dos de los leds de la placa de diodos a las patillas RA1 y RA2. FUNCIONAMIENTO DEL SISTEMA: El usuario introduce la temperatura máxima y mínima deseadas mediante los microinterruptores conectados al PORTD y PORTC respectivamente. Si el sistema supera la temperatura máxima del rango, se activara una alarma visual con el texto “FRIO” en el LCD y se apagara* el led conectado a la patilla RA2. ACTUAL:28 FRIO MAX:27 MIN:24 Cuando el sistema no alcance la temperatura mínima del rango, se activará la alarma visual “CALOR” en el LCD y se producirá un cambio de nivel de tensión en la patilla RA1 apagándose* el led conectado a esta. ACTUAL:23 CALOR MAX:27 MIN:24 *Los leds se apagaran debido a que por defecto estarán encendidos al alimentar la placa de leds utilizada. De esta forma podremos visualizar mejor los cambios de nivel. Si por algún casual, el usuario introduce un valor de temperatura mínima mayor que el valor de temperatura máxima, se activará una alarma visual con el texto “ERROR”, y por supuesto no se producirá ningún cambio de nivel en RA1 ni en RA2. ACTUAL:28 ERROR MAX:22 MIN:24 Siempre que el usuario introduzca correctamente las temperaturas máxima y mínima y la temperatura ambiente permanezca dentro del intervalo impuesto, visualizaremos únicamente en el LCD la temperatura actual y la mínima y máxima elegidas. ACTUAL:26 MAX:27 MIN:24 En las líneas 2 y 3 de la página 6 podemos activar la función prueba2( ) y desactivar rango( ), de esta manera veríamos en la segunda línea del LCD la temperatura máxima y mínima alcanzadas por el sensor. 1

Monografias.com
ESQUEMA DEL CIRCUITO: 2

Monografias.com
PROGRAMA EN C: //PROGRAMA DE UN SISTEMA Q MIDE LA TEMPERATURA ACTUAL, //ADEMÁS MIDE LA MAXIMA Y MINIMA (O LIMITA LA TEMPERATURA A //UN RANGO IMPUESTO POR EL USUARIO). // SI EL SISTEMA SUPERA LA TEMPERATURA MAXIMA DEL RANGO, SE //ACTIVARA LA ALARMA "FRIO" Y SE APAGARA EL LED CONECTADO A LA //PATILLA RA2. //SI POR EL CONTRARIO, EL SISTEMA NO SUPERA LA TEMPERATURA //MINIMA DEL RANGO, SE ACTIVARA LA ALARMA "CALOR" Y SE //APAGARA EL LED CONECTADO A LA PATILLA RA1. //LOS LEDS SE APAGARAN DEBIDO A QUE POR DEFECTO LOS LEDS //ESTARAN ENCENDIDOS AL ALIMENTAR LA PLACA DE LEDS //EN PORTC SE INDICARA LA TEMPERATURA MINIMA DEL RANGO //MEDIANTE MICROINTERRUPTORES. //EN PORTD SE INDICARA LA TEMPERATURA MAXIMA DEL RANGO //MEDIANTE MICROINTERRUPTORES. //SI PORTC>PORTD VISUALIZAREMOS LA ALARMA "ERROR". //********************************************************************* //**CABECERA Y DECLARACION DE VARIABLES Y FUNCIONES*********** #include unsigned char x=1; unsigned int temp,tempmin,tempmax,t; //para el switch (inicializa y actualiza max y min) //variables en hexadec y t (retardo conversor). unsigned int templcd,tempminlcd,tempmaxlcd; //variables en decimal para enviar al lcd. unsigned int rangmin,rangmax; unsigned char hexadec (unsigned char hex); void iniciar_lcd(void); void lcd_control(unsigned int valor); void prueba(void); void prueba2(void); void rango(void); void prueba3(void); void prueba4(void); void error(void); void lcd_dato(unsigned int dato); unsigned int i; //variables en Hexadecimal para enviar al lcd. //de los interruptores. //Pasa a decimal. //Inicia el LCD. //Control del LCD (Instrucciones). //Texto y datos a enviar al LCD. //Texto y datos a enviar al LCD. //Texto y datos a enviar al LCD. //Texto y datos a enviar al LCD. //Texto y datos a enviar al LCD. //Texto y datos a enviar al LCD. //Envia al LCD. //para el retardo de las funciones. 3

Monografias.com
//********************************************************************* //****************************MAIN************************************ void main(void){ TRISB=0x00; TRISE=0x00; TRISC=0xFF; TRISD=0xFF; TRISA=0x01; PORTA=0x00; PORTC=0x00; PORTD=0x00; PORTE=0x00; PORTB=0x00; OPTION=0x80; INTCON=0xC0; ADCON1=0x8E; ADCON0=0x81; templcd=tempminlcd=tempmaxlcd=37; //SALIDA //SALIDA //ENTRADA DIGITAL //ENTRADA DIGITAL //salida digital. RA0 IN ANALOG //PORTA SALIDAS DIGITALES A 0 //TEMP MINIMA DEL RANGO //TEMP MÁXIMA DEL RANGO //INICIALIZO A 0 //justificado a derecha //37dec=25hex temperatura por defecto ADIE=1; ADGO=1; //HABILITO INTERRUPCION. //PONGO EN MARCHA LA CONVERSIÓN. while(1); }//MAIN //*************************FIN DEL MAIN******************************* //********************************************************************* 4

Monografias.com
//***************INTERRUPCION CONVERSOR A/D*********************** void interrupt convertir (void){ if(ADIF){ //SI HA TERMINADO LA CONVERSION ADIF=0; temp=(ADRESH1; templcd=hexadec(temp); rangmin=PORTC; rangmax=PORTD; iniciar_lcd(); lcd_control(0x80); prueba(); //divido entre 2 para buscar paridad de la escala. //PASO A DECIMAL. //temp mínima introducida interruptores. //temp mínima introducida interruptores. //fija mensaje en la primera fila. // envia al lcd. //Si queremos visualizar la temperatura minima y maxima q alcanza el termometro: //*****Inicializa y Actualiza la temperatura mínima y máxima******************** //La idea es q si la primera vez q conectamos el sistema y: // 1)la temp actual(28 por ej) es mayor a la mi
Partes: 1, 2

Página siguiente 

Comentarios


Trabajos relacionados

  • Tecnología

    Prehistoria. Edad Antigua. Edad Media. Edad Moderna. Edad Contemporánea. Arado, Escritura, Fuego, Rueda, Herramientas d...

  • El nuevo milenio

    El progreso técnico y científico. La revolución de las comunicaciones. Un Mundo Global. Los problemas del comienzo del n...

  • Recipientes de almacenamiento

    Almacenamiento de líquidos. Almacenamiento de gases. Tanques atmosféricos. Tanques elevados, abiertos. Tejados flotantes...

Ver mas trabajos de Tecnologia

 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Iniciar sesión

Ingrese el e-mail y contraseña con el que está registrado en Monografias.com

   
 

Regístrese gratis

¿Olvidó su contraseña?

Ayuda