Sie sind auf Seite 1von 11

Introduccion a la Mecatronica

Proyecto final

Control de Temperatura con


histeresis
Rodrigo Peraza, Martin Montoya, Francisco Pacheco
Noviembre 11, 2015
Resumen
Este proyecto consiste en un control ON-OFF de temperatura con
histeresis. Las herramientas que se utilizaron fueron una tarjeta launchpad MSP430 de Texas Instruments, un foco de AC de 100watts, un octocoplador y un triac, un pantalla LCD de 16x02, unos amplificadores
operacionales y un sensor de temperatura LM35. El sistema cuenta con
un setpoint a traves del cual se fija la temperatura a cierto nivel deseado.
Por medio del sensor de temperatura el sistema compara la temperatura
real con la deseada. Si la temperatura es mayor a la ideal, se enciende un
ventilador para extraer el calor del sistema, si por el contrario la temperatura es menor, se enciende un foco para aumentar el calor en el sistema.
Este ?hornito? tiene una tolerancia de +-4 grados, lo cual hace que el foco
y el ventilador prendan continuamente manteniendo el sistema a +4 y -4
grados centgrados de lo establecido por el setpoint. Este es un sistema
ideal y sencillo para cuando se necesita un sistema no con una temperatura exacta sino con un rango de temperatura.to por el metodo de mnimos
cuadrados convencionales, como por el metodo recursivo.

Indice
1. Introducci
on

2. Desarrollo

3. Resultados

4. Conclusiones

11

INDICE DE FIGURAS

Indice de figuras
1.
2.
3.
4.
5.
6.
7.
8.

Diagrama de entradas y salidas del Launchpad.


Amplificador inversor. . . . . . . . . . . . . . .
Simulaci
on del circuito amplificador. . . . . . .
Circuito de Moc y TRIAC. . . . . . . . . . . .
Conexiones de LCD al LaunchPad . . . . . . .
LCD funcionando . . . . . . . . . . . . . . . . .
Ventilador funcionando . . . . . . . . . . . . . .
Foco funcionando . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

3
6
6
7
8
9
10
11

Indice de listados
1.

Introducci
on

Este proyecto funciona como un horno, en el que se busca mantener la temperatura dentro de cierto margen, para ello se tiene un setpoint que establece la
temperatura del sistema. Si la temperatura esta 4 grados centgrados por debajo
del setpoint se enciende un foco de corriente alterna para calentar el sistema,
si por el contrario la temperatura es 4 grados superior al deseado, se enciende
un ventilador para extraer el calor. El sistema funciona de forma automatica.
B
asicamente ese es el funcionamiento del horno.
Como controlador se utiliza la tarjeta electronica Launchpad MSP430 de
National Instruments, la cual funciona de forma practicamente igual a las tarjetas arduino. Gracias al software Energa, es posible programar el Launchpad

igual que un arduino. Esta


tarjeta cuenta con entradas y salidas, analogicas y
digitales, adem
as de protocolos de comunicacion serial y libreras para el uso de
LCD?s.
Adem
as de la tarjeta Launchpad, se utilizo un LCD de 16x2 caracteres, un
circuito de moc y triac para controlar el encendido del foco de corriente alterna, un circuito de amplificadores operacionales que multiplicaban la salida del
Launchpad para ajustarla a los 12 volts que requiere el ventilador que utilizamos.

2.

Desarrollo
Para el desarrollo de la practica se utilizaron los siguientes materiales:

-Tarjeta Launchpad MSP430


-Cable Usb de la tarjeta a la computadora
-Voltimetro
-Fuente de cd de -15,15 y 5 volts
-Pinza de punta y de corte
-Resistencias de 220, 100k, 1k y 28.5k ohms
-Cautin

2. Desarrollo

-Esta
no
-Pasta para soldar
-Tarjetas perforadas
-Amplificadores Operacionales TL082
-TRIAC de 4 amperes
-MOC 3011
-LCD 16x02
-Una caje transparente de plastico
-Foco de 100w
-Clavija
-Cable
Para poder programar el Launchpad se uso la siguiente imagen con la cual
vimos cuales eran las salidas y entradas tanto analogicas como digitales.

Figura 1: Diagrama de entradas y salidas del Launchpad.

2. Desarrollo

23456-

1- Calcule el modelo matematico del sistema de la figura.


Calcule el equivalente discreto
Realice una simulaci
on del modelo discreto.
Implementar el algoritmo MMCR (clasico y transformaciones ortogonales).
Identifique el modelo usando el MMCR con los datos obtenidos.
Compone el modelo identificado con el modelo original.

Lo primero a explicar es el codigo que se utilizo para programar el Lanchpad.


B
asicamente en el c
odigo lo primero que se hace es que se incluye la librera del
LCD, despues se declaran lo pines a utilizar para el LCD, son 6 en total. Se
establecen las entradas analogicas del sensor y del setpoint. Posteriormente se
establecen las variables foco, ventilador, estado, minivolts y temperatura.
A continuaci
on se establece que ventilador y foco son salidas digitales. Luego
sigue la parte de la lectura de la se
nal analogica y su conversion a valores en
grados sentigrados. Para el caso del LM35 es necesario acondicionar su salida
que aumenta 10 milivots por cada grado centgrado, primero se introduce a la
variable milivots y despues a la variable temperatura ya con una escala del 0 al
100C. En el caso del setpoint, este tiene un total de voltaje de 3.5 que de distribuyen en los 1023 valores del ADC interno de la tarjeta, una vez establecida esta
relaci
on se multiplica por 100 para obtener otra escala del 0 al 100 grados. Lo
que sigue es establecer los valores maximos y minimos de la temperatura, para
ello se crea crean variables que son igual al setpoint, pero agregandole o restandoles 40 milivolts (equivalentes a 4 grados celcius). Estas variables son temp ref
alta y temp ref baja. La parte mas importantes son las condiciones a traves de
estructuras if, donde se dice que si la temperatura es 4 grados mayor al setpoint
se prende el ventilador y se apaga el foco. Por el contrario si la temperatura es
4 grados menor al setpoint se prende el foco y se apaga el ventilador. Con este
margen de temperatura evitamos que el sistema este prendiendo y apagando el
foco y el ventilador r
apidamente sin control. A continuacion se deja el codigo
completo.
#i n c l u d e <L i q u i d C r y s t a l . h>
L i q u i d C r y s t a l l c d ( P1 0 , P1 1 , P1 2 , P1 3 , P1 4
c o n s t i n t s e n s o r P i n = A7 ;
c o n s t i n t s e t p o i n t = A6 ;

, P1 5 ) ;

i n t s e n s o r=A7 ;
// Entrada d e l s e n s o r LM35
i n t f o c o=P2 4 ;
// S a l i d a d e l f o c o p a r a c a l e n t a r
i n t v e n t i l a d o r=P2 1 ;
// S a l i d a d e l v e n t i l a d o r p a r a e n f r i a r
i n t e s t a d o =0;
long miliVolts ;
long temperatura ;

// i n t

// Estado d e l s i s t e m a
// Almacenar l o s mV d e l LM35
// Almacenar l o s g r a d o s C

v a l o r s e r i a l = analogRead ( P1 3 ) ;

void setup ()
{

2. Desarrollo

// S e r i a l . b e g i n ( 9 6 0 0 ) ; // I n i c i a n d o c o m u n i c a c i
on
pinMode ( f o c o , OUTPUT) ;
pinMode ( v e n t i l a d o r , OUTPUT) ;

serial

}
void loop ()
{
m i l i V o l t s = ( analogRead ( s e n s o r ) 3300L ) / 1 0 2 3 ;
temperatura = m i l i V o l t s /10;
int
int

r e f e r e n c i a = analogRead ( s e t p o i n t ) ;
ref = ( referencia /1023.0)100;

// V a l o r en m i l i V o l t s d e l LM35
// V a l o r de t e m p e r a t u r a

// V a l o r de t e m p e r a t u r a

i n t t e m p r e f a l t a =( r e f e r e n c i a ) + 4 0 ;
i n t t e m p r e f b a j a =( r e f e r e n c i a ) 10;
// i n t t e m p r e f a l t a =280;
// i n t t e m p r e f b a j a =240;

i f ( m i l i V o l t s <= t e m p r e f b a j a && e s t a d o == 0 ) / / S i l a temp . e s menor que 22C y cumple e s a s


&& f o c o==LOW
{
// c o n d i c i o n e s e n c i e n d e e l f o c o
d i g i t a l W r i t e ( f o c o , HIGH ) ;
d i g i t a l W r i t e ( v e n t i l a d o r ,LOW) ;
estado = 1;
}
i f ( m i l i V o l t s >= t e m p r e f a l t a && e s t a d o == 1)//&& f o c o==HIGH
{
d i g i t a l W r i t e ( f o c o ,LOW) ;
d i g i t a l W r i t e ( v e n t i l a d o r , HIGH ) ;
estado = 0;
}
lcd . begin (16 , 2 ) ;
lcd . setCursor (0 ,0);
l c d . w r i t e ( Temperatura :
lcd . setCursor (12 ,0);
l c d . print ( t e m p e r a t u r a ) ;
// l c d . s e t C u r s o r ( 1 4 , 0 ) ;
// l c d . w r i t e ( ( c h a r ) 2 2 3 ) ;
lcd . setCursor (15 ,0);
l c d . w r i t e ( C ) ;
lcd
lcd
lcd
lcd
lcd
lcd
lcd
lcd

);

. setCursor (0 ,1);
. write ( SetPoint : ) ;
. setCursor (12 ,1);
. print ( r e f ) ;
. setCursor (14 ,1);
. write ( ( char ) 2 2 3 ) ;
. setCursor (15 ,1);
. w r i t e ( C ) ;

d e l a y ( 1 0 0 ) ; / / put your main c o d e h e r e , t o run r e p e a t e d l y :


}

Una vez que se tiene el codigo completo, se procede a armar los circuitos
electr
onicos, los cuales son el ventilador, el foco y el LCD. Para el caso de la
salida del ventilador, sabemos que se encuentra en el pin P2.1, y se sabe igual
que la salida del Launchpad es de 3.5 volts. Entonces se utilizo un circuito de
amplificadores operaciones, en total fueron dos amplificadores inversores.

2. Desarrollo

Figura 2: Amplificador inversor.


Como se ve en la imagen el voltaje de salida es igual a la relacion entre R2
y R1 multiplicado por el voltaje de entrada, todo esto con el signo cambiado.
Para obtener la raz
on de multiplicacion se divide 12/3.5, lo cual da un resultado
de 3.4. En otras palabras la division entre R2 y R1 debe dar como resultado
3.4. Se escogieron las resistencias 98.6K para R2 y 29K para R1, lo cual nos
da el resultado deseado. Haciendo pasar la entrada de 3.5v por un amplificador
operacional con las caractersticas mencionadas, a la salida se obtiene -12v.
Ahora lo que sigue es hacer pasar esos -12volts por otro amplificador inversor,
pero en este caso R2 y R1 tienen el mismo valor para que la ganancia sea 1.
Ahora se ver
a el sistema en una simulacion de livewere.

Figura 3: Simulacion del circuito amplificador.

2. Desarrollo

Por medio de este circuito solucionamos el problema de controlar el ventilador con la salida digital del Launchpad P2-1. Cuando en el circuito de amplificadores operaciones le llega la entrada de 3.5 volts, esta se
nal queda convertida
a 12 volts, la cual se conecta al ventilador. Por el contrario cuando la se
nal de
3.5 volts se vuelve 0, la salida de los amplifcadores operacionales es 0 igual y
por tanto el ventilador deja de girar.
Ahora el siguiente problema es el de controlar el encendido de un foco de
corriente alterna por medio de la salida P2-0. Para ello recurrimos a un circuito
que utiliza un MOC 3011 y un TRIAC de 4 amperes. Basicamente el MOC
protege a la tarjeta del Launchpad de tener contacto con la corriente alterna,
pues esta lo quemara. Al MOC le entra la se
nal de 3.5v proveniente del pin P20, el cual a su vez manda una se
nal al TRIAC y esta se
nal hace que se cierre el
circuito de CD, cuando esto pasa el foco se apaga. Si por el contrario se detiene
la se
nal de 3.5v y se vuelve cero, el foco se apaga. Este es un control ON-OFF.
A continuaci
on se incluye la imagen del circuito del MOC y el TRIAC.

Figura 4: Circuito de Moc y TRIAC.

3. Resultados

El u
ltimo circuito es que se usa para la conexion de la pantalla LCD, la cual
es b
asicamente unir los pines correspondientes al Launchpad. Como se muestra
en la figura siguiente:

Figura 5: Conexiones de LCD al LaunchPad

3.

Resultados

A continuaci
on se va a mostrar el proceso de como se fue armando el hornito
y su funcionamiento. Lo primero que se armo fueron los cables y los circuitos
electricos, despues se le conecta la fuente. Una vez todo encendido se checa el
c
omo funciona. Primero checamos el LCD para ver el Setpoint y la temperatura.

3. Resultados

Figura 6: LCD funcionando


Como la temperatura es mayor que el setpoint se enciende el ventilador.

3. Resultados

Figura 7: Ventilador funcionando


Cuando baja la temperatura lo suficiente se enciende el foco.

10

4. Conclusiones

Figura 8: Foco funcionando

4.

Conclusiones

Como conclusi
on se encontro que el Launchpad es una herramienta u
til y
sencilla, con el problema que el software Energa no se encuentra plenamente
desarrollado, lo cual provoca errores que no provienen de una mala sintaxis en
el c
odigo fuente sino de problemas internos del programa. Aun as el lenguaje
de programaci
on es accesible. Para este proyecto usamos conocimientos que
adquirimos tanto en la parte de electronica analogica como de electronica digital,
y de introducci
on a la mecatronica con el uso de sensores y la programacion tipo
Arduino.
Hay que mencionar igual que se desarrollaron habilidades como las de realizar conexiones electr
onicas, soldadura, uso de voltimetro y la utilizacion de
softwares de simulaci
on como el LiveWere. Al final del proyecto nos llevamos
mucho aprendizaje y sobre todo ganas de seguir adelante en el uso de estas
herramientas para realizar controles cada vez mejores.

11

Das könnte Ihnen auch gefallen