You are on page 1of 12

TPO Sistema de Regulacin de Temperatura Grupo #2

INTRODUCCION

El proyecto consiste bsicamente en ejercer un control automtico sobre la velocidad de un


motor DC, funcionando en modo de extractor de calor, para as poder mantener una
temperatura deseada en un determinado entorno de trabajo, y controlando dicha temperatura
constantemente a travs de un sensor.
El control se realiza mediante un microcontrolador INTEL 8051, el cual recibe mediante una
entrada por teclado un valor que es tomado como temperatura de referencia; la temperatura
real es obtenida por medio de un sensor del tipo LM35, componente escogido por su alta
fiabilidad y bajo costo. Cuando el sensor esta en la temperatura deseada o menor, el motor se
detiene completamente, y cuando aumenta la temperatura sobre el nivel de referencia, el motor
empieza a variar su velocidad para tratar de mantener la temperatura preestablecida. La
temperatura sensada y la de referencia son visualizadas con tres displays de LED 7
segmentos.
Adicionalmente el controlador podr ser conectado a una PC con la cual, a travs del
correspondiente software, podr ir comunicando los valores de temperatura obtenidos cada
intervalo de tiempo para luego observar el estado de trabajo del extractor de calor como as
tambin el valor mximo y/o mnimo de temperatura registrado, rgimen de trabajo actual del
motor.

DESARROLLO

El sistema de control de temperatura de un ambiente cerrado consta bsicamente de 6 partes o


componentes:
Controlador 8051.
Sensor de temperatura LM35.
Visualizacin en displays de 7 segmentos (TIL 322 ctodo comn) y LEDs de alerta.
Teclado 4x3.
Generador de PWM y circuito de potencia.
Software de comunicacin con la PC a travs de puerto serie.

CONTROLADOR

El funcionamiento del controlador es el siguiente:


El microcontrolador se encarga de leer en el puerto P0 el valor de temperatura digitalizado
que enva el conversor A/D conectado al sensor; tambin se sabe el valor de referencia de
temperatura que ingresa el usuario a travs del teclado matricial de 4x3 o a travs de una PC
utilizando la UART del controlador.
El programa de control almacenado en la memoria ROM del microcontrolador realiza la
diferencia entre el valor de temperatura sensado y el de referencia, si el resultado es positivo,
significa que la temperatura del ambiente es mayor que la de referencia y se debe extraer
mayor cantidad de aire caliente, para ello comienza a generar un onda de pulsos acorde para
aumentar la velocidad del motor extractor de aire (la onda generada en tal caso podr ser para
baja, media o mxima potencia como se detallar luego); por el contrario si la diferencia es
negativa, indica que la temperatura del ambiente es menor que la de referencia por lo que
detendr la generacin de onda para disminuir la velocidad del motor y extraer menos aire.
Este proceso se repite constantemente, si cada vez la diferencia es positiva se sigue
generando la determinada onda con lo que se consigue la mayor velocidad del extractor y se
mantiene en este valor hasta que la temperatura llegue a un valor menor o igual al de
referencia, pero si la diferencia es negativa, se detiene la generacin de las ondas con lo que
se apaga el motor y se mantiene en este valor hasta que la temperatura vuelva a superar el
valor de referencia.

1
TPO Sistema de Regulacin de Temperatura Grupo #2

SENSADO DE LA TEMPERATURA

La temperatura del ambiente se obtiene a travs del sensor LM35, este dispositivo genera
una tensin de salida linealmente proporcional a la escala Celsius de temperatura: por cada
grado Celsius la tensin de salida del integrado varia en 10mV, siempre que se mantenga en el
rango de temperatura de operacin del dispositivo (de 2 C a 150 C en caso de alimentacin
simple positiva).

En el caso de querer contar con la posibilidad de sensar temperaturas menores a 2C pero no


disponer de una alimentacin simtrica (+5VDC y -5VDC) se puede ajustar el circuito
adicionando al sensor 2 diodos 1N914 (diodos 1N4148 son una alternativa) y un resistor de
18K tal como muestra la figura:

La seal de salida del sensor (OUTPUT en la figura de arriba) es un voltaje anlogo que
demando el uso de un conversor A/D para que el microcontrolador pudiera adquirir el dato.
Dicha salida analgica se digitaliza por medio del conversor CA3162 de la marca Intersil que
se muestra en la figura:

2
TPO Sistema de Regulacin de Temperatura Grupo #2

Este conversor A/D entrega los valores en BCD que componen al dato de temperatura de a
un dgito por vez, es por eso que adicionalmente del conversor se obtienen las lneas de
conmutacin que indican si el valor que esta mostrando en un determinado momento se refiere
al digito mas significativo (MSD), al menos significativo (LSD) o al no significativo (NSD).
Se concluye finalmente que al microcontrolador le estaran llegando del conversor CA3162
siete lneas:
4 lneas que expresan el valor de un determinado digito en BCD (2 3 | 22 | 21 | 20)
3 lneas que van conmutando y que son las encargadas de indicar si la salida BCD se
refiere al digito MSD, NSD o al LSD.

Cabe aclarar que para la construccin del proyecto en su totalidad se debe realizar el ajuste de
ganancia y puesta a cero del conjunto Conversor-Sensor para que llegue el valor correcto al
controlador 8051.

Puesta a punto del conjunto Conversor-Sensor:

Para la puesta a cero se debe quitar el sensor LM35, cortocircuitar a masa el terminal de la
resistencia RLM35 (ver prxima figura) y ajustar el conversor (por medio del potencimetro de
ajuste de cero) hasta que por el display se observe que la temperatura sensada es cero.
Para el ajuste de ganancia se debe conectar el circuito tal cual quedara finalmente; luego con
un voltmetro medir la salida del sensor de temperatura y ajustar el conversor (por medio de
potencimetro de ajuste de ganancia) hasta que el display marque lo mismo que el voltmetro.

3
TPO Sistema de Regulacin de Temperatura Grupo #2

Funciones asociadas en el controlador 8051:

SENSAR_TEMP: La funcin es la encargada de tomar constantemente el estado del


puerto 0 del controlador y enviar el dato a la variable global temp_sensada que es la
que ser consultada por las otras funciones a la hora de saber cual es la temperatura
del ambiente. Esta funcin es llamada de forma cclica dentro del MAIN dentro de una
rutina cerrada de while(1). Como el conversor A/D no entrega el dato de temperatura
de forma completa todo el tiempo el controlador ser el encargado de consultar los
pines P0.4-P0.5-P0.6 para saber si el dato que esta recibiendo como valor de
temperatura por el conversor es el referido a la DECENA, UNIDAD o DECIMA del valor
total. Una vez obtenidas las tres partes solo queda efectuar una suma teniendo en
cuenta el peso de cada uno de los nmeros y teniendo en cuenta adems que para
evitar el uso de valores con punto flotante se considero a cada uno de los nmeros
como el siguiente en peso: la dcima se la considero unidad, la unidad decena y la
decena centena, de modo tal que el valor 10.5 ser 105 para el microcontrolador y
sus funciones asociadas.

CIRCUITO PWM

La salida ms importante del controlador hacia el sistema es la encargada del control de la


extraccin de calor por medio del motor.

4
TPO Sistema de Regulacin de Temperatura Grupo #2

Dicho control se efecta por medio de una regulacin PWM: dependiendo si el motor tiene que
estar detenido o en baja-media-alta potencia se generara una salida con un determinado ancho
de pulso, diferente para cada caso:

Respecto a lo que se refiere a cdigo de programacin del controlador 8051, existe una
maquinaria de timers asociada a la generacin de las distintas seales arriba mencionadas;
dentro de la interrupcin del timer utilizado para esta accin habr una variable para cada uno
de los casos que vencern a distintos tiempos para ir generando los distintos anchos de pulso.
Los cuatro modos de operacin se van seleccionando automticamente en funcin de la
relacin que haya entre la temperatura medida del sensor y la temperatura de referencia
seteada. Los distintos estados son:

DETENIDO (modo 0):


TEMPERATURA < REFERENCIA

BAJA POTENCIA (modo 1):


REFERENCIA TEMPERATURA < (REFERENCIA + 10)

MEDIA POTENCIA (modo 2):


(REFERENCIA + 10) TEMPERATURA < (REFERENCIA + 15)

5
TPO Sistema de Regulacin de Temperatura Grupo #2

ALTA POTENCIA (modo 3):


(REFERENCIA + 15) TEMPERATURA

Se denomina TEMPERATURA a la temperatura sensada y REFERENCIA a la temperatura


de referencia establecida por el usuario.

En la prctica, tanto el circuito PWM externo como el motor con su circuito de potencia estarn
sujetos al tamao del recinto que se desea controlar. Por ese motivo se dejara solamente
especificado de forma esquemtica el diagrama de conexionado y la circuiteria necesaria para
tal caso.
En la seccin de bibliografa se deja indicado un link en el cual se muestra como realizar un
circuito PWM conectado a un regulador (Dimmer) para poder controlar lmparas o motores DC.

Funciones asociadas en el controlador 8051:

SET_MODO: Esta funcin es la encargada de tomar la relacin entre la temperatura


sensada del ambiente temp_sensada y el valor seteado por el usuario temp_max tal
como se indico mas arriba y en funcin de la distancia entre ambos valores indicar el
modo de funcionamiento del PWM a la funcin de interrupcin asociada, en este caso
la funcin de interrupcin del timer 0, ISR_T0.
ISR_T0: Ms all que esta funcin esta vinculada a muchas otras funciones que
necesitan de una temporizacion, es adems la encargada de generar el pulso en el pin
correspondiente al PWM (P3.4) tomando como punto de inicio el modo que le indica la
funcin SET_MODO. Dentro de la funcin se haya la maquinaria asociada que consta
de un switch-case el cual filtra las acciones de subir o bajar el estado del pin P3.4 cada
un cierto tiempo dependiendo si se trata del modo 0, 1, 2 o 3 recibido de SET_MODO.

DISPLAY

Para una rpida interpretacin del estado del sistema de regulacin de temperatura se
adicionara al proyecto de un conjunto de 3 displays de LED 7 segmentos ctodo comn
(nombre comercial TIL322A) encargados de mostrar en tiempo real el valor de temperatura
captado por el sensor y que le es llegado al controlador por el conversor A/D. Adems ayudara
al seteado de la temperatura de referencia ya que durante este proceso la temperatura
ingresada por teclado podr ser visualizada en el display posteriormente a su ingreso para
poder revisar que el valor tomado por el controlador sea realmente el deseado.

El dato a mostrar en los displays viene a travs del Bus (puerto 2 del controlador 8051)
mientras que los Enable encargados de ir excitando correspondientemente cada uno de los
displays saldrn por los pines P0.7 (BIT ms significativo), P3.2 (BIT menos significativo) y P1.0
(BIT no significativo).
Vale aclarar que el conexionado de la lnea de Enables que se muestra en la figura es solo a
titulo ilustrativo; el conexionado real deber incorporar un transistor por lnea de Enable para
poder manejar la corriente demandada por cada conjunto de 7 segmentos.

6
TPO Sistema de Regulacin de Temperatura Grupo #2

Adems de los displays de 7 segmentos se conectaran dos LEDs de alerta (uno verde y otro
rojo) con el fin de indicar el estado actual del programa de forma continua. Dichos LEDs se
ubicaran en las salidas P3.4 y P3.5 respectivamente.

Funciones asociadas en el controlador 8051:

displaySW1 / displaySW2: Son las funciones encargadas de convertir a cdigo 7


segmentos los valores de temperatura sensada y seteada correspondientemente. La
funcin displaySW1 se encarga de la temperatura sensada y la guarda en un vector de
3 posiciones denominado digitos1[] con el valor ya separado para los 3 displays de
LED. Anlogamente la funcin displaySW2 realiza lo mismo pero para la temperatura
mxima indicada por el usuario y la guarda en un vector de tres posiciones
denominado digitos2[].
barrido_display1 / barrido_display2: Son llamadas por la interrupcin del timer0 (cada
2.5ms) y son las encargadas de barrer los 3 displays de LED para que el usuario pueda
observar tanto el valor de temperatura del ambiente (barrido_display1) como el valor
que acaba de indicar como valor mximo de referencia (barrido_display2). En la misma
parte de la funcin de interrupcin del timer0 donde se sita la llamada a estas dos
funciones tambin se indica el estado de los LEDs rojo y verde.

TECLADO

Se proveer al sistema con un teclado del tipo matricial 4x3 a travs del cual el operario podr
comunicarse con el controlador y setear valores de temperatura sin necesidad una
computadora y sin conocer el funcionamiento interno del controlador

7
TPO Sistema de Regulacin de Temperatura Grupo #2

El conexionado en el controlador 8051 es:


Scan 1 = P1.1
Scan 2 = P1.2
Scan 3 = P1.3
Scan 4 = P1.4
Ret 1 = P1.5
Ret 2 = P1.6
Ret 3 = P1.7

Funciones asociadas en el controlador 8051:

Get_key: funcin utilizada para recibir de forma segura el valor ingresado por teclado
(de a un botn por vez ya que devuelve un unsigned char por cada vez que es
llamada). Se dice que recibe de forma segura porque tiene asociadas a otras
funciones que se encargan de analizar el teclado continuamente y de proteger el
ingreso de datos de posibles ruidos externos o ingresos invlidos por parte del usuario.
Barrido_teclado: Se encarga de analizar el teclado matricial fila a fila por cada
interrupcin del timer0 de modo de detectar rpidamente si una tecla ha sido
presionada.
Debounce: funcin de proteccin que es utilizada para filtrar los casos de rebote en los
teclados matriciales y as poder enviar informacin segura del botn presionado a la
funcin analizar_teclado.
Analizar_teclado: Es la funcin que une los procesos de analizar el teclado y filtrar los
rebotes producidos al presionar una tecla. Es llamada continuamente dentro de la
interrupcin del timer0 y su procedimiento es llamar a barrido_display para que le
entregue la tecla presionada para luego analizarla con la funcin debounce y
finalmente (si el proceso fue satisfactorio) guardar el dato de la tecla en una variable
global buffer denominada Teclado_Key. La funcin get_key solo consulta a esta
variable buffer y se encarga de prepararla para el prximo ingreso por teclado.

COMUNICACIN SERIE

El microcontrolador podr ser conectado va puerto serie a una computadora:

8
TPO Sistema de Regulacin de Temperatura Grupo #2

Las ventajas que ofrece este componente son las de registrar todos los valores que vaya
obteniendo el controlador provenientes del sensor de temperatura para luego poder hacer una
estadstica de los cambios de temperatura e ir modificando en la medida de las necesidades
ciertos parmetros que aumenten el rendimiento del sistema durante su funcionamiento.
Es necesario por lo tanto la creacin de un software especifico que sea capaz de interpretar los
datos que le lleguen desde el C, que se asegure que el dato que le llego no este corrupto
debido a ruidos en la lnea de comunicacin y que reconozca si el dato que le es enviado se
refiere a valores de temperatura actuales o es otro tipo de informacin (como por ejemplo un
aviso que la temperatura mxima ha sido superada).

Funciones asociadas en el controlador 8051:

ISR_Serie: funcin de interrupcin de la UART. Si el flag de recepcin se activa llamar


a la funcin Rx_Serie detallada mas abajo. En cambio, si se activa el flag de
transmisin llamar a alguna de las tres funciones de transmisin dependiendo del
estado de la temperatura: si a temperatura del ambiente es menor a 200C llama a
TX_Serie1, si la temperatura esta entre 200 C y 250 C llama a Tx_Serie2 y en el caso
que exceda los 250 C llamara a TX_Serie3.
Rx_Serie: funcin encargada de analizar la recepcin serie y tomar la informacin que
viene por ella (temperatura de seteo) para luego aplicarla al funcionamiento del
regulador de temperatura. Consta de una pequea mquina de estados la cual
empieza por esperar la llegada del header de la trama (en este caso es el valor ASCII
h o H), luego espera la recepcin del nuevo valor de seteo para la temperatura
mxima (3 dgitos) y en el caso de haber recibido estos 3 dgitos pasa a un ultimo
estado de confirmacin: espera el valor ascii correspondiente al ENTER para
empezar la conversin del dato de temperatura mxima a cdigo 7 segmentos y el
reemplazo en el vector digitos2[].
Tx_Serie1: Se activa siempre y cuando la temperatura actual no supere los 200 C. La
funcin se encarga de ir enviando a travs de la UART los valores registrados de la
temperatura en el ambiente para que sean recibidos en una PC.
Tx_Serie2: Se activa cuando la temperatura del ambiente supera los 200 C pero se
mantiene por debajo de los 250 C. Su funcin es la de enviar una cadena por la UART
(LA TEMPERATURA ES CRITICA) de modo que se advierta al operario que la
temperatura est alcanzando valores muy altos.
Tx_Serie3: Se activa cuando la temperatura supera los 250 C. Su funcin es la de
enviar un valor va serie de modo que la PC o el dispositivo conectado va UART se
encargue de desconectar todo el sistema para evitar cualquier desperfecto por exceso
de calor.

SOFTWARE DE COMUNICACION CON LA PC

Junto con el hardware del regulador se proporciona tambin el software necesario para la
lectura de los datos provenientes del controlador 8051 como tambin la transmisin de la

9
TPO Sistema de Regulacin de Temperatura Grupo #2

temperatura mxima, en el caso que se la desee proporcionar va PC y no por el teclado


matricial conectado al controlador.
El software posee una librera (Serial.h) encargada de comunicarse con el puerto serie a travs
de la API de Windows. Para completar el programa se incluye un main.c encargado de
manipular las funciones proporcionadas por la librera Serial.h las cuales se encargan de enviar
los datos introducidos por el usuario (seteo de temperatura mxima, refresco de la imagen,
etc.) como tambin de la lectura de los datos que el controlador ha enviado por medio de su
UART (temperatura actual del ambiente, aviso de temperatura critica, aviso de desconexin del
regulador).
Para que la comunicacin se realice satisfactoriamente se le debe indicar al programa el puerto
por el cual se esta recibiendo la informacin del controlador. Si este parmetro se introduce
correctamente se empezara a recibir en la PC los valores de temperatura medidos por el
sensor y captados por el controlador a travs del conversor A/D.
Si se desea refrescar la pantalla para borrar todos los datos recibidos basta con presionar la
tecla BACKSPACE en el teclado de la PC.
Si en cualquier momento de la operacin se presiona la tecla H en el teclado, la recepcin se
detendr por un periodo de tiempo a la espera del nuevo valor de temperatura mxima. Si el
ingreso es correcto se mostrara en el display de LED el nuevo valor tal cual hubiese sido
ingresado por teclado del controlador; en caso de ingreso invalido el dato ser descartado y se
preservar el valor vigente del temperatura mxima

CONCLUSIONES

El uso de dispositivos con un mnimo nmero de recursos (en nuestro caso display de 7
segmentos, teclado y sensor) ahorra significativamente el nmero de puertos a emplear, pero
hace que el programa en el C sea un poco mas complejo y extenso, aunque tal sacrificio tiene
sus beneficios.
El microcontrolador brinda mediante los pines de interrupcin una va de fcil acceso para dar
prioridad a ciertos eventos, como lo es la entrada de datos de un perifrico.
Es necesaria la implementacin de lgica digital externa para poder conectar de manera
eficiente un teclado y as utilizar la menor cantidad de pines en los puertos.
Los microcontroladores son muy tiles en el manejo de interfaces con displays y conversores
A/D.
Un factor fundamental a tener presente son los tiempos de multiplexado de los displays y en el
barrido del teclado en comparacin con los tiempos en los que se realiza cada lectura del
conversor A/D. Si estos son demasiado cortos es muy probable que no se logre visualizar
ciertos valores que cambian constantemente y si sobrepasamos estos tiempos con retardos
extensos quizs las lecturas visualizadas correspondan a valores pasados no presentes a la
salida del conversor A/D o al perifrico de entrada presente. Las expresiones manejadas en
este proyecto llegan en algunas ocasiones a valores decimales, por lo que se hizo necesario
hallar una expresin que result ser muy aproximada al modelo real con lo que siempre
obtendramos un valor entero de temperatura a partir del voltaje de salida del sensor convertido
a binario. Para poder determinar exactamente la eficiencia del sistema de control de
temperatura, es necesario contar con el modulo que simule lo ms cercano a la realidad un
ambiente cerrado.
Los microcontroladores de la familia 8051 por su versatilidad y gran set de instrucciones es un
elemento muy apropiado para el diseo de sistemas de control especficos de bajo costo.

10
TPO Sistema de Regulacin de Temperatura Grupo #2

BIBLIOGRAFA

Hojas de datos:

http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/DS005516.PDF
(Sensor LM35)
http://www.datasheetcatalog.org/datasheet/intersil/fn1080.pdf (Conversor CA3162)
http://www.datasheetcatalog.com/datasheets_pdf/8/0/5/1/8051.shtml (Controlador 8051)
http://www.datasheetarchive.com/pdf-datasheets/Databooks-5/X139-35.pdf (TIL322A)
http://www.datasheetarchive.com/pdf-datasheets/Datasheets-115/DSAP002366.pdf
(Transistor BC388)
http://www.nxp.com/documents/data_sheet/1N4148_1N4448.pdf (Diodo 1N4148)
http://www.datasheetcatalog.com/datasheets_pdf/L/C/5/0/LC503MHR1-06Q.shtml (LED
5mm)

Informacin PWM

http://www.forosdeelectronica.com/attachment.php?attachmentid=13838&d=1231793540
(Lamp Dimmer for the PIC12C508)

11
TPO Sistema de Regulacin de Temperatura Grupo #2

Hojas de Datos

12

You might also like