You are on page 1of 20

CARRERA DE INGENIERA EN ELECTRNICA EN

AUTOMATIZACIN Y CONTROL



CONTROL INTELIGENTE NRC: 2055




TEMA:

Diseo de controlador neuronal para la unidad Air Flow Temperature
Control System




Profesor:
Ing. Vctor Proao


Elaborado por:
Alexis Gngora
Jorge Guilln

2
Patricio Rivera
Ricardo Salcedo

03/07/2014 Sangolqu


3
1. Objetivos.

Objetivo General

Disear un controlador mediante redes neuronales artificiales que mejore el control del
desempeo del comportamiento del sistema de temperatura Air Flow System.

Objetivo Especficos
Realizar la identificacin de la planta de temperatura mediante un modelo de segundo orden.
Comparar el desempeo las respuestas tanto del modelo de la planta como del sistema real.

2. Integrantes y dignidades.

Nombre Dignidad
Patricio Rivera Ing. Lder del proyecto
Ricardo Salcedo Ing. de Software
Alexis Gngora Ing. de Control
Jorge Guilln Ing. Electrnico

3. Descripcin del modelo matemtico del sistema presentado en la tesis.


Elemento primario y de medicin: consta de un sensor-transmisor de temperatura tipo termistor.
Toma la temperatura a la salida del calentador (20 70 [C]), y enva una seal analgica de voltaje (0
5 [V]) hacia el controlador.

Conducto de flujo: mediante un ventilador, renueva el aire que se encuentra en su interior.

Niquelina: se encuentra en la entrada del conducto, es la encargada de calentar el aire que ingresa
mediante una seal de voltaje de 0 a 10 [V]
Placa Metlica: posee cuatro orificios, que determinan la cantidad de aire que ingresar al proceso.













4


El flujo de calor en el sistema de temperatura se da por conveccin, es decir, se transfiere energa entre
una superficie, que es la niquelina, y un fluido que se mueve sobre esta que en este caso es el aire.

Mediante el ventilador se fuerza al aire a fluir a travs de la niquelina y el conducto, a esto se lo
denomina conveccin interna forzada y la transferencia de calor viene descrita por la ley de Newton del
enfriamiento:
Donde:

h = Coeficiente de de transferencia de calor por conveccin
As = rea superficial a travs de la cual tiene lugar la transferencia de calor.
T = Temperatura de la niquelina
T = Temperatura del Aire



La transferencia de calor del sistema es en rgimen transitorio, es decir, la temperatura no cambia slo
con la posicin dentro del cilindro, sino que tambin cambia con el tiempo.
m = Masa del fluido
Cp = Calor especifico del fluido (aire)
T = Temperatura del fluido
= tiempo
Componentes de la
Planta de Temperatura
Elemento primario y
de medicin
Conducto de flujo Niquelina Placa Metlica

5



4. Resultados del experimento:

Realizar el experimento de control con red neuronal inversa y control con modelo de referencia y
presentar resultados (grficas de variacin de la temperatura durante 1 minuto) para tres distintos
valores de referencia en el rango de 30 a 50C, analice las respuestas obtenidas en trminos de error de
estado estable y velocidad de respuesta.

Al construir nuestro proyecto de Simulink se ve las siguientes instrucciones para llegar a conexin de la
tarjeta fsica y el esquema de control inverso.





6
Se desplegara un mensaje al completarse la construccion del modelo. Se ingresa el valor de u0
representa el valor en voltaje y se ingresa el valor de Ta que representa la temperatura ambiente.



Visualizamos la simulacin del sistema y la planta para la implementacin.



7

Al poner el control en funcionamiento se obtuvo un error de 2 C el tiempo de respuesta del sistema fue
de 40 segundos para llegar a estabilizar el sistema es importante recalcar que la red de control inverso
es muy estable a perturbaciones.



Al poner Set Point de 56.4 el control presento un error en estado estacionario de 2C su tiempo de
estabilizarse se dio en 25 segundos al ser perturbado el sistema el controlador actu rpidamente para
mantener la temperatura estable.



8
Se realiz una captura con mayor tiempo donde se visualiz claramente el comportamiento del control
inverso con similitud a la simulacin realizada.



5. Mejoras al desempeo del controlador neuronal

Deduccin de los posibles problemas causantes de que el controlador con modelo de referencia
lineal tenga tan pobre desempeo. (Sugerencia: analice y mejore el modelo dinmico del sistema,
para ello consulte el manual del sistema elaborado por DEGEM Systems. Desarrolle y simule un
controlador basado en este nuevo modelo y verifique si el nuevo controlador mejora el desempeo
del sistema.) Este tem es el componente principal del trabajo y ser el de mayor ponderacin.

Modelo mejorado de la planta
Se ha podido confirmar mediante el documento de la tesis que el modelamiento del sistema se lo
realiz mediante una planta de primer orden (un polo) con retardo.
Para mejorar el desempeo del nuevo controlador se ha optado por una planta de segundo orden (dos
polos) con retardo, como lo expone la siguiente expresin:

()

)(

)


Utilizando la expresin anterior podemos graficar y verificar la respuesta del sistema ante una entrada
escaln, para ello debemos determinar la respuesta final:

9

Trabajando en el dominio del tiempo tenemos que la respuesta del sistema seria:

() () ()
{

() ( )
() ( )
()



Para obtener la funcin de transferencia debemos eliminar todas las condiciones iniciales, es decir no
consideramos la temperatura del ambiente. Y despus aplicar la transformada de Laplace.

() () ()

()

)(

)(

)
]



()

)
]


Una vez realizadas todas las operaciones se pude realizar la transformada inversa de Laplace, teniendo
como resultado:

()

] (

)

Utilizando el teorema del valor final en el dominio de tiempo:

()

] (

()

()



Con estas ecuaciones podemos realizar dos aspectos importantes:
I. Comprobar la respuesta de la planta de manera terica y tambin mediante simulacin.
II. Encontrar una relacin importante entre el voltaje de excitacin de la planta y la temperatura
final que alcanzara la planta, es decir, una conversin de voltios a grados Centgrados, que
utilizaremos en programa para desarrollar el controlador.

Paso 1: Adquisicin de datos
Utilizando la herramienta de software de MatLab se pudo obtener cinco arreglos (de 2000 muestras
cada una a un tiempo de muestreo de 10 muestras/segundo) de la respuesta de la planta de temperatura
Air Flow System de DEGEM Systems ante diferentes estmulos de voltaje y graficarlos estos arreglos
con colores en funcin del tiempo como se muestra en la siguiente figura:

10


La siguiente tabla explica el significado de las curvas de la figura anterior.

Voltaje
de entrada
Temperatura
del ambiente
Color
representivo
Negro
Azul
Amarillo
Rojo
Magenta


Cdigo utilizado:
clear all; clc;
% Carga de datos 'vgp#_T#'
load 'vgp25'
tiempo(:,1) = y.time;
temperatura(:,1) = y.signals.values;
voltaje(:,1) = ones(length(tiempo(:,1)),1)*2.5;
ambiente(1) = temperatura(1,1);

load 'vgp30_T025v'

11
tiempo(:,2) = y.time;
temperatura(:,2) = y.signals.values;
voltaje(:,2) = ones(length(tiempo(:,2)),1)*3;
ambiente(2) = temperatura(1,2);

load 'vgp35_T025v'
tiempo(:,3) = y.time;
temperatura(:,3) = y.signals.values;
voltaje(:,3) = ones(length(tiempo(:,3)),1)*3.5;
ambiente(3) = temperatura(1,3);

load 'vgp40_T025v'
tiempo(:,4) = y.time;
temperatura(:,4) = y.signals.values;
voltaje(:,4) = ones(length(tiempo(:,4)),1)*4;
ambiente(4) = temperatura(1,4);

load 'vgp45_T025v'
tiempo(:,5) = y.time;
temperatura(:,5) = y.signals.values;
voltaje(:,5) = ones(length(tiempo(:,5)),1)*4.5;
ambiente(5) = temperatura(1,5);

% Grafico de datos 'vgp#_T#'
figure(1);
plot(tiempo(:,5), temperatura(:,5), 'm'); hold on; %Planta con V = 4,5[V]

figure(1);
plot(tiempo(:,4), temperatura(:,4), 'r'); hold on; %Planta con V = 4[V]

figure(1);
plot(tiempo(:,3), temperatura(:,3), 'y'); hold on; %Planta con V = 3,5[V]

figure(1);
plot(tiempo(:,2), temperatura(:,2), 'b'); hold on; %Planta con V = 3[V]

figure(1);
plot(tiempo(:,1), temperatura(:,1), 'k'); hold on; %Planta con V = 2,5[V]

%Configuracion del los graficos
legend1 = legend( 'Magenta: 4,5[V]','Rojo: 4[V]',
'Amarillo: 3,5[V]','Azul: 3[V]','Negro: 2,5[V]' );
set(legend1,'Location','NorthWest');
title('Planta de Temperatura: Air Flow System');
xlabel('Tiempo [s]');ylabel('Temperatura [C]');
grid on;

% Identificacion de los datos
% Generamos las plantas como objetos para manipularlos en matlab mediante iddata

planta1 = iddata(temperatura(:,1), voltaje(:,1), 0.1); %Planta con V = 2,5[V]
planta2 = iddata(temperatura(:,2), voltaje(:,2), 0.1); %Planta con V = 3[V]
planta3 = iddata(temperatura(:,3), voltaje(:,3), 0.1); %Planta con V = 3,5[V]
planta4 = iddata(temperatura(:,4), voltaje(:,4), 0.1); %Planta con V = 4[V]
planta5 = iddata(temperatura(:,5), voltaje(:,5), 0.1); %Planta con V = 4,5[V]





12
Paso 2: Identificacin
Una vez que obtuvimos los datos de la planta se procedi a utilizar la herramienta ident
1
de MatLab
para que calcule los valores de las constantes (Kp, Tp1, Tp2 y Td) del modelo mejorado de la planta de
segundo orden, con lo cual se pudo generar 5 funciones de transferencia.

Una vez abierto ident nos aparecer la siguiente pantalla:


Hacemos clic en la pestaa File > Open session


1
La herramienta ident de MatLab sirve para obtener un modelo matemtico de un conjunto de datos, curiosamente esta
herramienta utiliza redes neuronales artificiales para el ajuste de la curva.

13

Se nos abrir la siguiente ventana:


En el campo Object escribimos el nombre de la planta con
los datos que deseamos importar.

En el campo Data name,Starting time, Sampling interval
escribimos el nombre de que deseamos para el modelo, el
tiempo de inicio y el intervalo de intempo entre muestras.

Despues de esto hacemos clic en Import.

Nota: Este procedimiento lo debemos repetir para todas las
plantas que deseemos importar.

Una vez que hayamos importado todo lo requerido tenemos:


Procedemos a hacer clic en la planta que desemos modelar y en la lista de operaciones escogemos
Process models con esto se abrir la siguiente ventana:

14


Podemos configurar el modelo que deseamos, ajustando el nmero de polos y el retardo y finalmente
haciendo clic en Estimate.



15
Despus de esto aparecer el modelo de nuestra planta en el lado derecho de la ventana, despus de lo
cual podemos hacer clic en Model output para conocer ms detalles del modelo, como se ve en la
siguiente ventana:



Finalmente podremos observar cuanto se aproxima el modelo a la planta real:



16
Y para finalizar podemos exportar el modelo al Workspace de MatLab para poder utilizarlo en otras
aplicaciones

Cdigo utilizado:
%% Obtencin de las constantes (Kp,Td,Tp1,Tp2) con ident
Kp(1) = modelo1.Kp.value; Tp1(1) = modelo1.Tp1.value;
Tp2(1) = modelo1.Tp2.value; Td(1) = modelo1.Td.value;

Kp(2) = modelo2.Kp.value; Tp1(2) = modelo2.Tp1.value;
Tp2(2) = modelo2.Tp2.value; Td(2) = modelo2.Td.value;

Kp(3) = modelo3.Kp.value; Tp1(3) = modelo3.Tp1.value;
Tp2(3) = modelo3.Tp2.value; Td(3) = modelo3.Td.value;

Kp(4) = modelo4.Kp.value; Tp1(4) = modelo4.Tp1.value;
Tp2(4) = modelo4.Tp2.value; Td(4) = modelo4.Td.value;

Kp(5) = modelo5.Kp.value; Tp1(5) = modelo5.Tp1.value;
Tp2(5) = modelo5.Tp2.value; Td(5) = modelo5.Td.value;

% Generamos las funciones de transferencia para utilizer major estos datos

modelo_planta1 = tf(Kp(1),[(Tp1(1)*Tp2(1)) (Tp1(1)+Tp2(1)) 1],'InputDelay',
Td(1));
modelo_planta2 = tf(Kp(2),[(Tp1(2)*Tp2(2)) (Tp1(2)+Tp2(2)) 1],'InputDelay',
Td(2));
modelo_planta3 = tf(Kp(3),[(Tp1(3)*Tp2(3)) (Tp1(3)+Tp2(3)) 1],'InputDelay',
Td(3));
modelo_planta4 = tf(Kp(4),[(Tp1(4)*Tp2(4)) (Tp1(4)+Tp2(4)) 1],'InputDelay',
Td(4));
modelo_planta5 = tf(Kp(5),[(Tp1(5)*Tp2(5)) (Tp1(5)+Tp2(5)) 1],'InputDelay',
Td(5));

Paso 3: Simulaciones con el modelo de segundo orden
Antes de finalizar podemos comprobar el funcionamiento del controlador neuronal mediante Simulink,
utilizando el modelo matemtico de la planta.

El cdigo que aparece debajo de este prrafo, primeramente carga las funciones de transferencia que
habamos calculado mediante la herramienta de identificacin de MatLab ident, despus se genera
una matriz de patrones mediante la combinacin de dos variables: la temperatura ambiental y el nivel
de voltaje aplicado a la planta, as mismo mediante algunas iteraciones y simulaciones se obtiene el
vector de targets finalmente reasignamos estas variables para obtener el entrenamiento del controlador
inverso, que ser el que utilizaremos para la simulacin.

Cdigo utilizado:
%% DATOS
%Universidad de las Fuerzas Armadas - ESPE
%Ingeniera Electrnica Automatizacin y Control
%Proyecto 2do Parcial de Control Inteligente

%% Inicio

load 'modelo_plantas'; %Se cargan las funciones de transferencia de las
%plantas.

vect_Ta = [15:0.1:25]; %Vector de Temperaturas Ambientales
vect_u0 = [2.5:0.1:5.5]; %Vector de Voltajes Iniciales

17

Pm = combvec(vect_u0,vect_Ta); %Combinamos los vectores

vect_Tsim = [];
vect_dT = [];
Pm1 = [];

%Obtenemos los targets
for i=1:length(Pm)
u0 = Pm(1,i);
Ta = Pm(2,i);

sim('PlantaSIM',[0 2]);

vect_Tsim = [vect_Tsim Tsim];

dT = Tsim - Ta;
vect_dT = [vect_dT dT];
i
end

% Reasignacion para obtener el inverso de la planta
%Entradas
Pm1 (1,:) = Pm(1,:)*modelo_planta1{1}(3); %Voltaje*Kp = Temparatura Set
Point
Pm1 (2,:) = vect_Tsim; %Temperatura de la planta
Pm1 (3,:) = vect_dT; %Delta de temperatura
Pm1 (4,:) = Pm(2,:); %Temperatura del Ambiente
%Salidas
Tm1 = Pm(1,:); %Voltaje

P = Pm1;
T = Tm1;

%Entrenamos la red neuronal con
net = newff(minmax(P),[8 1],{'tansig' 'purelin'});
net.trainParam.epochs = 500;
net.trainParam.goal = 1e-7;
net = train(net, P, T);
Y = sim(net, P);

%Generamos el bloque de la red neuronal con timestep = 1/10 seg
gensim(net, 0.1);



18
Al poner en marcha este cdigo deberemos esperar que termine de realizar las 3131 iteraciones, como
indica la siguiente figura:


Una vez finalizadas las iteraciones el programa comienza a reasignar los patrones y los targets para
despus entrenar la red, como lo indica la siguiente figura:





19
Posteriormente se genera el bloque de la red neuronal como muestra en la siguiente figura:


Copiamos el controlador hacia la simulacin como lo indica la siguiente figura:





20
Configuramos la temperatura ambiente y el voltaje de excitacin de la planta en el workspace de
MatLab como indica la siguiente figura:


Ponemos iniciar o RUN en el simulink y analizar los resultados de la simulacin como lo indica la
siguiente figura:



Aunque el resultado parece que es inesperado porque se asemeja a un controlador ON/OFF podemos
comprobar este controlador ya en la planta real.

You might also like