Está en la página 1de 8

UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE

INGENIERA ELECTRNICA EN AUTOMATIZACIN Y


CONTROL
IDENTIFICACIN Y CONTROL ADAPTATIVO

Casaliglla Vernica, Mediavilla Javier, Guachamn Diego


1. Titulo
Diseo e implementacin de un controlador autotuning.
2. Resumen
El presente proyecto tiene como propsito el implementar y analizar el diseo de un
controlador PID en el modelo sldemo_househeat de MATLAB.
3. Objetivos

Implementar un controlador PID en el modelo sldemo_househeat provisto por


Matlab.
Analizar la respuesta obtenida del sistema con el control PID.
Identificar la planta del modelo y en base a ella encontrar los diferentes parmetros
del controlador.
Implementar el control PID con las constantes obtenidas en base del mtodo de
Relay-Autotuning

4. Introduccin
La planta a utilizarse dentro del software MATLAB es la de Modelo trmico de una Casa, la
cual es un demo que muestra cmo se puede utilizar la extensin Simulink para crear el
modelo trmico de una casa. Este sistema modela los siguientes parmetros:

El medio ambiente al aire libre


Las caractersticas trmicas de la casa
El sistema de calefaccin de la casa.

El archivo sldemo_househeat_data.m inicializa los datos en el modelo de espacio de trabajo.


El demo permite realizar cambios dentro de los bloques que este destina para el aprendizaje.
Para realizar estos cambios, se puede editar el modelo de espacio de estados directamente o
editar el archivo de MATLAB (R) y volver a cargar el modelo de espacio de trabajo.
El tiempo se da en unidades de horas

Figura 1. Planta de modelo trmico de una casa

El modelo presentado en la Figura 1, posee subsistemas dentro de su estructura. Para acceder


a estos subsistemas se debe dar doble clic en el bloque al cual se desea acceder.

Figura 2. Subsistema Termostato

Figura 3. Subsistema Casa

Figura 4. Subsistema Calentador

Modelo de inicializacin
Este modelo calcula los costos de calefaccin para una casa genrica. Dentro de las acciones
que este modelo realiza se encuentran:

Define la geometra casa (tamao, nmero de ventanas)


Especifica las propiedades trmicas de los materiales de las casas
Calcula la resistencia trmica de la casa
Proporciona las caractersticas del calefactor (temperatura del aire caliente, caudal)
Define el costo de la electricidad (0,09 $ / kWh)
Especifica la temperatura inicial de la habitacin (20 gr. = 68 grados centgrados.
Fahrenheit)

Componentes del Modelo

Set Point: Es un bloque constante. En l se especifica la temperatura que debe


mantenerse en el interior. Por defecto se encuentra a 70F. Las temperaturas se dan
en grados Fahrenheit, pero luego se convierten en Celsius para realizar los clculos.
Termostato: Es un subsistema que contiene un bloque de rels. El termostato permite
fluctuaciones de 5F por encima o por debajo de la temperatura ambiente deseada. Si
la temperatura del aire desciende por debajo de 65F, el termostato enciende el
calentador.
Calentador: Es un subsistema que tiene una tasa de flujo de aire constante. La seal
de termostato enciende o apaga el calentador. Cuando el calentador est encendido,
el calentador sopla aire caliente a la temperatura (50 grados Celsius = 122 grados
Fahrenheit por defecto) con un caudal constante de Mdot (1kg / sec = 3600kg / h por
defecto).
Calculadora de Costos: "Cost Calculator" es un bloque de ganancia, integra el flujo
de calor a travs del tiempo y lo multiplica por el costo de la energa. El costo de la
calefaccin se representa en el mbito "PlotResults".
Casa: Es un subsistema que calcula las variaciones de temperatura de las
habitaciones. Se tiene en cuenta el flujo de calor desde el calentador y las prdidas
de calor al medio ambiente.

5. Implementacin
En el modelo descrito en el apartado 4, se procedi a implementar un controlador PID para
realizar el control de temperatura del subsistema casa.
Para implementar el controlador se utiliza el bloque PID Controller, el cual va seguido de un
switch que permite elegir el modo de control entre ON OFF y PID, tal como se muestra en
la figura 5.

Figura 5 Implementacin PID Controller

Para poder manejar las funciones escritas en scripts de MATLAB es necesario trabajar con
la el bloque Matlab Function en el cual se ingresan, por medio de un Mux, la variable ON OFF, la temperatura entregada por la casa, el reloj, el set point digital, valor de la temperatura
digital; como se muestra en la figura 6.

Figura 6 Implementacin Matlab Fcn

6. Simulacin y anlisis de resultados


Controlador:
Para el caso del control ON OFF se va a trabajar con una seal que vara de 0 a 1.
1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

10

12

14

16

18

20

Figura 7 Control On-Off

El otro mtodo de control es el PID, donde las constantes son encontradas por medio de la
identificacin de la planta y la utilizacin de la funcin ultim.
12

10

10

12

Figura 8 Control PID-identificacin

14

16

18

20

Las constantes del controlador se hallan a travs del mtodo relay autotunning, el cual:
=

Donde d es la entrada del sistema, la seal ON OFF y a la salida del mismo es decir la temperatura
de la casa. Se puede observar en la figura 9 que no existe casi ninguna variacin con respecto a la
figura 8.
12

10

10

12

14

16

18

20

Figura 9 Control PID-Relay autotuning

Respuesta del sistema:


Las respuesta obtenida con el control ON OFF como se observa en la figura 10, tiene un error
bastante grande ya que el sistema no logra llegar a un valor prximo del set point 70.
76

74

72

70

68

66

64

10

12

Figura 10 Control On-Off 70

14

16

18

20

En el caso del controlador PID como se puede observar que en la figura 11, este logra estabilizar al
sistema en el valor del set point, y en caso de existir perturbaciones no son lo suficientemente altas
en ganancia para alterar al sistema y este vuelve a estabilizarse
70.5

70

69.5

69

68.5

68

10

12

14

16

18

20

Figura 11 Control PID 70

7. Conclusiones

Con la utilizacin del control PID se logra estabilizar al sistema.


Con la identificacin de la planta y la utilizacin de la funcin ultim se puede tener una
respuesta al sistema ms rpida.
Al momento de utilizar el mtodo del Relay-Autotuning y colocar como Tu el valor del
periodo de muestreo este hace que el sistema sea mas lento; a diferencia del mtodo
nombrado anteriormente.
El controlador PID presenta variaciones ya que no estabiliza al sistema en los 70 exactos,
presentado pequeas variaciones que en el caso que se desease controlar un proceso bastante
riguroso llegara a presentar problemas.
Las variables globales deben ser iniciadas en el script, ya que sino el bloque de simulink PID
Controller no reconoce ninguna de estas.

8. Anexos
Cdigo Matlab
function m=pid_2ad(x);
global kc ki kd
global teta d1 n1
global invR;
global X;
%vector regresor
lambda=0.98;
onoff=x(1);
temp=x(2);
t=x(3);
y=x(4);
u=x(5);

invR=(1/lambda)*(invRkappa*vectork');
teta=teta+e*kappa';
X=[-y;u];
end
d= teta(1);
n=teta(2);
n1=[0 n];
d1=[1 d];
[ku,Tu]=ultim(n1,d1,0.025)
% Tu=0.025;
% ku=(4*onoff)/(pi*temp)

if t==0
e=1;
invR=1e4*eye(2);
teta=[0 0];
X=[-y;u];

k=0.6*ku;
Ti=0.5*Tu;
Td=Tu/8;
kc=k;
ki=k/Ti;
kd=k*Td;

end
if t>0
e=y-teta*X;
vectork=invR*X;

m=[kc ki kd];

kappa=vectork/(lambda+X'*vect
ork);

Simulink

Figura 12 Bloque Simulink