Actividad no15 2do parcial
-
Upload
carlos-mendoza -
Category
Engineering
-
view
124 -
download
7
description
Transcript of Actividad no15 2do parcial
Página 1
UNIVERSIDAD DE FUERZAS ARMADAS “ESPE” DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
ASIGNATURA: CONTROL INTELIGENTE
Actividad No 15 Identificación de sistemas dinámicos.
Fecha: 04 de junio de 2014
Nombre alumno: Dayana Ochoa y Carlos Mendoza NRC: 2055
Introducción. IDENTIFICACIÓN DEL SISTEMA DINÁMICO MULTITANQUE
MEDIANTE RED NEURONAL
Identificación del sistema multitanque INTECO.
Se desea identificar el sistema de dos tanques acoplados que se muestra en la figura. Las señales de entrada que se utilizarán son los valores de anchos de pulso de cada señal pwm que controla
la apertura de las válvulas C1 y C2. El caudal de entrada al tanque superior es constante.
El modelamiento matemático del sistema se lo ha realizado en simulink, a partir de la información del manual del sistema multitanque.
En los esquemas de simulación de cada tanque se ha aumentado un bloque de función que tiene
por objeto transformar el valor de ancho de pulso de la señal pwm de cada válvula a un valor de Constante de válvula C.
Para la válvula C1 del tanque 1 el ancho de pulso de la señal PWM es u2. Para la válvula C2 el ancho de pulso para la señal PWM de control es u3. Se ha asumido una relación lineal entre el
ancho de pulso de la señal PWM y el coeficiente de la válvula C.
1. Analice el modelo matemático del sistema multitanque. Describa las variables principales del modelo. Identifique las entradas, salidas, estados y parámetros del proceso. Determine
las ecuaciones del proceso en variables de estado.
𝒒𝟏 = 𝝁𝟏 ∗ 𝑺√𝟐𝒈𝑯𝟏
𝒒𝟐 = 𝝁𝟐 ∗ 𝑺√𝟐𝒈𝑯𝟐
𝑨𝟏𝒅𝑯𝟏
𝒅𝒕=𝒅𝑽𝟏
𝒅𝒕= 𝒒𝟎 −𝝁𝟏 ∗ 𝑺√𝟐𝒈𝑯𝟏
𝑨𝟏𝒅𝑯𝟏
𝒅𝒕=𝒅𝑽𝟏
𝒅𝒕= 𝒒𝟎 −𝝁𝟏 ∗ 𝑪𝟏√𝑯𝟏
𝑨𝟐𝒅𝑯𝟐
𝒅𝒕=𝒅𝑽𝟐
𝒅𝒕= 𝒒𝟏 −𝝁𝟐 ∗ 𝑺√𝟐𝒈𝑯𝟐
𝒒𝟎
𝒒𝟏
𝒒𝟐
C1
C2
A1
Página 2
2. Deduzca la función β(H2) que aparece en el modelo matemático del tanque 2.
3. Simule el proceso para distintas condiciones de apertura de las válvulas y grafique la
evolución de los niveles en los tanques. Presente cuatro casos de estudio (apertura de válvulas). Tiempo de simulación de 5 minutos.
Condiciones iniciales
a) válvula1= 0.8, válvula2=0.2
C
Hmax
H2
b
𝑨𝟐=𝒄𝒘+xw=β (𝑯𝟐)
𝑯𝟐
𝑯𝒎𝒂𝒙
=𝒙
𝒃
w
x
Página 3
4. Escriba el código requerido para identificar mediante una red neuronal el sistema dinámico
formado por los dos tanques para distintas aperturas de válvulas. Compare gráficamente la salida de la red neuronal y del sistema dinámico.
b) válvula1= 0.6, válvula2=0.3
c) válvula1= 0.2, válvula2=0.7
d) válvula1= 1, válvula2=1
Página 4
Para realizar el entrenamiento de 20 cm3/s se debe realizar el siguiente gráfico en simulink:
Ahora se debe desarrollar el programa en matlab para el entrenamiento de la red neuronal:
deg2rad=pi/180; H1iniV=[5:2:25]; H2iniV=[5:2:25]; ap1V=[0.6:0.1:1]; ap2V=[0.6:0.1:1]; q0V=[20:3:29];
%Combinacion de valores de vectores : combvec Pm=combvec(H1iniV,ap1V,H2iniV,ap2V, q0V); dh1V=[] dh2V=[] for i=1:length(Pm) q0=Pm(5,i); H1ini=Pm(1,i); ap1=Pm(2,i); H2ini=Pm(3,i); ap2=Pm(4,i); sim('two_tank_1',[0 1]) dh1=H1-H1ini; dh2=H2-H2ini; dh1V=[dh1V dh1]; dh2V=[dh2V dh2]; mensaje=sprintf('patron no %d de %d',i,length(Pm)) end Tm=[dh1V;dh2V];
% Aproximacion de funciones P=Pm; T=Tm; net = newff(minmax(P),[8 2],{'tansig' 'purelin'}); Y = sim(net,P); net.trainParam.epochs = 50; net.trainParam.goal=1e-5; net = train(net,P,T); Y = sim(net,P);
close all
figure(1) subplot(211) plot(dh1V,'k') subplot(212) plot(dh2V,'k')
figure(2)
dh1nn= Y(1,:) dh2nn=Y(2,:) subplot(211) plot(dh1nn) subplot(212) plot(dh2nn) hold off
Página 5
Gráfica de entrenamiento
Comparación gráfica de la salida de la red neuronal y del sistema dinámico
Generación de la función de entrenamiento
Si se requiere que el caudal sea dinámico se realiza las siguientes modificaciones en el diagrama de simulink:
Página 6
Ahora se debe desarrollar el programa en matlab para el entrenamiento de la red
neuronal:
deg2rad=pi/180;
H1iniV=[5:2:25];
H2iniV=[5:2:25];
ap1V=[0.6:0.1:1];
ap2V=[0.6:0.1:1];
q0V=[20:3:29];
%Combinacion de valores de vectores : combvec
Pm=combvec(H1iniV,ap1V,H2iniV,ap2V, q0V);
dh1V=[]
dh2V=[]
for i=1:length(Pm)
q0=Pm(5,i);
H1ini=Pm(1,i);
ap1=Pm(2,i);
H2ini=Pm(3,i);
ap2=Pm(4,i);
caudal=Pm(5,i);
sim('two_tank_1',[0 1])
dh1=H1-H1ini;
dh2=H2-H2ini;
dh1V=[dh1V dh1];
dh2V=[dh2V dh2];
mensaje=sprintf('patron no %d de %d',i,length(Pm))
end
Tm=[dh1V;dh2V];
% Aproximacion de funciones
P=Pm;
T=Tm;
net = newff(minmax(P),[8 2],{'tansig' 'purelin'});
Y = sim(net,P);
net.trainParam.epochs = 50;
net.trainParam.goal=1e-5;
net = train(net,P,T);
Y = sim(net,P);
close all
figure(1)
subplot(211)
plot(dh1V,'k')
subplot(212)
plot(dh2V,'k')
figure(2)
dh1nn= Y(1,:)
dh2nn=Y(2,:)
subplot(211)
plot(dh1nn)
subplot(212)
plot(dh2nn)
hold off
Comparación gráfica de la salida de la red neuronal y del sistema dinámico
Página 7
5. Construya un diagrama en simulink que permita la verificación del sistema identificado con red neuronal mediante una comparación con el sistema original. Transcriba el
diagrama de simulink y los resultados obtenidos para varias condiciones iniciales y de condición de apertura de válvulas. (3 casos de estudio)
Diagrama en Simulink
a) caudal= 20; válvula1= 0.6; válvula2=0.6
b) caudal= 23; válvula1= 0.8; válvula2=0.6
Página 8
Nosotros Dayana Ochoa y Carlos Mendoza afirmamos que esta actividad es de nuestra autoría y establecemos que para la elaboración de la misma hemos seguido los lineamientos del Código de
Ética de la Universidad de las Fuerzas Armadas ESPE
c) caudal= 26; válvula1= 0.7; válvula2=0.9
d) caudal= 29; válvula1= 1; válvula2=0.6