Beruflich Dokumente
Kultur Dokumente
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:
Modelo de inicializacin
Este modelo calcula los costos de calefaccin para una casa genrica. Dentro de las acciones
que este modelo realiza se encuentran:
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.
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.
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
10
12
14
16
18
20
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
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
74
72
70
68
66
64
10
12
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
7. Conclusiones
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