Está en la página 1de 15

TRABAJO COMPLEMENTARIO – PARCIAL CONTROL DIGITAL

Tema: Controlador de temperatura ON/OFF

MANUEL ALEJANDRO TOVAR PARRA


CRISTIAN CELIS
EDWIN ALONSO MACA

Docente:

JUAN CAMILO VASQUEZ

CORPORACION UNIFICADA NACIONAL DE EDUCACION SUPERIOR


CUN
Noviembre 2014
Introduccion

El control automático ha jugado un papel importante en el avance de la ingeniería. Además de


su importancia en vehículos espaciales, en control de proyectiles, etc., el control automático se
ha convertido en parte importante en los procesos industriales.
El control automático resulta esencial en operaciones industriales como de control de presión,
temperatura o humedad en las industrias de procesos; en el maquinado, manejo y armado de
piezas en las industrias de fabricación, etc.
Como ejemplos de sistemas automáticos podríamos citar desde un simple tostador de pan,
pasando por una lavadora, el control de velocidad de un motor,, un sistema de defensa
antiaérea el control de temperatura y presión de una central nuclear, etc. Para este informe
especificaremos el metodo de elaboracion de un control de temperatura que podria ser usado
en cualquier ambiente.
Objetivo general

• Elaborar un sistema on/off el cual nos permita seleccionar y mantener estable la


temperatura de una un ambiente, o planta generadora de calor.

Objetivos especificos

• Diseñar circuito electronico que permita la medicion e impresion de niveles de


temperatura
• Determinar el diagrama de flujo para la recoleccion de los datos
• Diseñar el algoritmo de programación que permitira el funcionamiento del dispositivo
Marco teorico

A continuacion se relaciona las definiciones de la terminologia empleada en este informe

• Planta: Conjunto de componentes y piezas que van a tener un determinado objetivo.


• Proceso: Conjunto de operaciones que se van a suceder y que van a tener un fin
determinado.
• Sistema: Combinación de componentes que actúan juntos para realizar el control.
• Perturbaciones: Todas las señales indeseadas que intervienen de forma ad-versa en el
funcionamiento de un sistema. Pueden ser internas si se generan dentro del sistema, o
externas si se generan fuera del sistema y constituyen una entrada.
• Entrada de mando: Señal excitadora del sistema que es independiente de la salida del
mismo.
• Selector de referencia: Elemento que se coloca para tener una referencia. Unidad que
establece el valor de la entrada de referencia. Se calibra en función del valor deseado en
la salida del sistema.
• Entrada de referencia: Señal producida por el selector de referencia.
• Unidad de control: Unidad que reacciona con una señal activa para producir la salida
deseada. Realiza el trabajo de gobernar la salida.
• Salida: Cantidad que debe mantenerse en un valor fijado de antemano. Se considera la
variable gobernada.
• Elemento de realimentación: Unidad que facilita medios para aumentar o disminuir la
señal de salida.
• Señal activa: Señal que es la diferencia entre la señal de entrada de rete-cia y la salida
realimentada.
• Sistema de control de bucle cerrado: Sistema en el que la salida afecta a la entrada,
de tal manera que mantenga el valor de salida deseado.
• Sensor: es un dispositivo capaz de detectar magnitudes físicas o químicas,
llamadas variables de instrumentación, y transformarlas en variables eléctricas.
Las variables de instrumentación pueden ser por ejemplo: temperatura,
intensidad lumínica, distancia, aceleración, inclinación, desplazamiento, presión,
fuerza, torsión, humedad, movimiento, pH, etc
Ficha tecnica de los elementos utilizados

Debido a que este sistema podria estar sujeto a modificaciones, se debe tener punto de
referencia de los componentes usados, por tal razon, a continuacion se realiza brevemente la
descripcion de los elementos utilizados en esta practica

LM 35

Es el sensor de temperatura por medio del cual se recolectaran los datos para ser conmutados
en el Microcontrolador.

Configuracion de pines lm35

En la siguiente grafica se observa que la corriente obtenida a la salida del sensor es


directamente proporcional a la temperatura recibida
Telcado matricial 4X4

Es el segundo elemento de entrada despues del sensor, que nos permite configurar los
paramentros del sistema. La configuracion de los pines se describe en la grafica. Cabe resaltar
que el pin 4 se desabilita para esta practica, por tratarse de la columna de teclas A,B,C,D
innecesarias para la configuracion de los parametros del sistema. ( ver, plano esquematico del
sistema)

LCD 16X2 retroiluminada

Es el elemento de salida que permite la visualizacion de los datos del sistema. Aunque esta es la
forma de conexión de este tipo de pantallas, para nuestra practica se omiten los pines (D0 a D3)
Microcontrolador Pic16f877a

Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology
Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de
General Instrument. El nombre actual no es un acrónimo. En realidad, el nombre completo es
PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de
interfaz periférico).

Configuracion de pines

Triac – SCR - Relevo

Es el elemento actuador que nos permite controlar un circuito, externo independiente. Para el
caso de nuestra practica se utiliza el BTB-06-400 especificado a continuacion y que debe ser
complementado con el optocoplador MOC3021
Conexion del MOC 3021 – Triac

DESARROLLO DE LA PRACTICA

Esta práctica nos permite la detección de temperatura a través del sensor LM35, que
posteriormente es muestreada con el PIC 16F877A, mediante el uso de teclado se ingresan los
limites para la temperatura y se podrán observar a través de una pantalla LCD 16x2, además la
practica cuenta con LED´s que funcionan como indicadores al momento que la temperatura
suministrada por el sensor exceda los límites establecidos.
Plano esquematico del sistema

En la siguiente figura de describen las conexiones del sistema, realizadas mediante el simulador
Proteus de ISIS, se debe resaltar que el teclado usado en este plano es un teclado 3X4 distinto
al usado en la practica que es un 4X4 sin embargo los resultados son los mismos. (ver, Ficha
tecnica de los elementos utilizados)
DIAGRAMA DE BLOQUE
ALGORITMO DE PROGRAMACION

#include <16F877a.h>
#device adc=10 //10 bits de resolucion para la conversion
#fuses XT,NOWDT,NOPROTECT,NOLVP //bits de configuracion
#use delay(clock=4000000) //reloj de 4 MHz
#define use_portb_kbd TRUE //definimos puerto b para el teclado
#define use_portd_lcd TRUE //definimos puerto c para la LCD
#include <lcd.c>
#include <kbd.c> //libreria teclado 3x4
#include <internal_eeprom.c> //libreria de la memoria eeprom interna
#byte port_c=0x07

void main () //Menu principal


{
double vari1; //variables a usar de 16 bits
double vari2;
char p; //definimos el literal p para usar en el teclado
char M[4]; //matriz para almacenar 4 datos
int x,z,a,b,c,d,i=0,q,r; // la variable X es un entero de 8 bits
set_tris_c(0); //declaro el puerto c como salidas
port_c=0; //declaro salidas en estado bajo para el puerto c
setup_adc_ports(a_analog); //Configuracion
setup_adc(adc_clock_internal); // de conversion
set_adc_channel(0); // Analogo a digital
delay_us(20); // Cada 20uS el Pic actualiza los datos de los puertos
analogos.
lcd_init(); //iniciando LCD
//kbd_init(); //iniciando Teclado
port_b_pullups(TRUE); //activo las resistencias internas del puerto
write_eeprom(i,0); //Mantengo el control de la memoria
i++; //eeprom en ceros para cuando
write_eeprom(i,0); //inicia
i++;
write_eeprom(i,0);
i++;
write_eeprom(i,0);

Inicio:
lcd_gotoxy(2,1);
printf(lcd_putc,"Sense Temperat");
delay_ms(1500);
lcd_gotoxy(2,2);
printf(lcd_putc,"CelisTovarMaca");
delay_ms(1500);
lcd_gotoxy(2,1);
printf(lcd_putc,"CelisTovarMaca");
lcd_gotoxy(2,2);
printf(lcd_putc,"config Tmin-Tmax");
delay_ms(1500);
lcd_gotoxy(1,1);
printf(lcd_putc,"config Tmin-Tmax");
lcd_gotoxy(1,2);
printf(lcd_putc,"luego oprima # ");
delay_ms(2000);
lcd_gotoxy(1,1);
printf(lcd_putc," ");
delay_ms(50);

while(TRUE) //funcion de trabajo continuo


{
lcd_gotoxy(1,1);//posicion de T Min
printf(lcd_putc,"TMin: "); //primer dato
lcd_gotoxy(10,1);//posicion de T max
printf(lcd_putc,"TMax: ");/ /primer dato

x=0; //posicion en el registro


while(x<=3) //Funcion que me permite leer los datos de temperatura en solo 4
{
p=kbd_getc();//la variable K toma los valores del teclado
z=p-48;//declarando que el caracter se vuelve entero

if(p!=0) //si k es distinto de 0


{
if(p=='#') //funcion que me envia al control
{goto Condicion; //etiqueta de control
}

else //si no la condicion anterior lee datos


M[x]=z;//la matriz de datos de temperatura es igual a lo leido en el teclado matricial
x++;//incremento a 1 la variable x
write_eeprom(00,M[0]); //escritura del registro 00 en la memoria eeprom
write_eeprom(01,M[1]); //escritura del registro 01 en la memoria eeprom
write_eeprom(02,M[2]); //escritura del registro 02 en la memoria eeprom
write_eeprom(03,M[3]); //escritura del registro 03 en la memoria eeprom
a=read_eeprom(00); //lectura del registro 00
b=read_eeprom(01); //lectura del registro 01
c=read_eeprom(02); //lectura del registro 02
d=read_eeprom(03); //lectura del registro 03
q=(a*10)+b; //formula de equivalencia de los dos primeros datos para
obtener el numero real de temperatura deseada.
r=(c*10)+d; //formula de equivalencia de los dos siguientes datos para
obtener el numero real de temperatura deseada.
}
lcd_gotoxy(6,1); //posicion en la lcd de la variable a y b
printf(lcd_putc,"%d",a); //escritura de la variable a
printf(lcd_putc,"%d",b); //escritura de la variable b
lcd_gotoxy(15,1); //posicion en la lcd de la variable c y d
printf(lcd_putc,"%d",c); //escritura de la variable c
printf(lcd_putc,"%d",d); //escritura de la variable d
}

Condicion: //etiqueta de control

while(true)
{
vari1=read_adc(); //tomamos el valor convertido y almacenamos en vari1
vari2=vari1*(0.488758553); //convertimos a valor de temperatura almacenando en vari2
lcd_gotoxy(1,2); //posicion del caracter temperatura en la fila 1, columna 2
printf(lcd_putc,"TActual: 'C "); //se escribe el indicador de la temperatura actual
lcd_gotoxy(10,2);
printf(lcd_putc,"%2.1f",vari2); //se muestra la temperatura actual en fila 8 columna 2
delay_ms(500); //tiempo de muestreo
lcd_gotoxy(10,2); //se posiciona en el mismo lugar para borrar
printf(lcd_putc," "); //y actualizar la lectura

if(vari2<q) //indicador cuando se llega a la temperatura minima


{output_high(PIN_C0);
}
else if(vari2>r) //indicador cuando se llega a la temperatura maxima
{output_high(PIN_C1);
}
else / /se apagan los indicadores si no se exceden los limites
{output_low(PIN_C0);
output_low(PIN_C1);
}
}
}

Fin
MODO DE PROGRAMACION

Al suministrar alimentacion al sistema, y este entra al modo de programacion de paramentros, la


pantalla mostrara en su linea 1 lo siguiente:

• Oprima “0” hasta que los numeros se comviertan en 0, luego reinicie

• Mediante el teclado numerico, ingrese los datos deseados para configurar los
marametros de Tmin (temperatura minima) y Tmax (temperatura maxima). Por ejemplo
supondremos que se quiere configurar 21 grados como Tmin y 30 grados como Tmax.

• Oprima “#” para confirmar los datos ingresados, el sistema iniciara mostrando el la linea
1 los valores Tmin y Tmax que se han ingresado, y el la segunda linea de la pantalla, el
sistema mostrara la temperatura actual.

Nota: cuando la temperatura actual caiga por debajo de la Tmin, el indicador amarillo
encendera, si por el contrario, la temperatura supera la Tmax, se encendera un indicador por
rojo.
Conclusion

Las pruebas de calibracion se realizaron con un sistema de aire acondicionado usualmente


utilizado en las oficinas, se determino un error de 0,8 grados centrigrados por encima de la
normal, sin embrago esto no repercute negativamente al momento de controlar y mantener la
temperatura de algun elemento deseado.

También podría gustarte