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.
Variables principales:
caudal q, altura en los tanques H1 y H2
Entradas:
caudales, aperturas de las válvulas
Estados del sistema: las
alturas de los tanques
Parámetros: dimensiones
de los tanques, dimensión de la válvula, gravedad
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.
1)
ap1=0.5, ap2= 0.5
2)
ap1=1, ap2= 0.5
3)
ap1=0.5, ap2= 1
4)
ap1=1, ap2= 1
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.
H1iniV=[1:2:25];
H2iniV=[1:2:25];
ap1V=[0.5:0.1:1]
ap2V=[0.5:0.1:1]
qV=[10:10:40];
%Combinacion
de valores de vectores : combvec
Pm=combvec(H1iniV,ap1V,H2iniV,ap2V,qV);
dh1V=[]
dh2V=[]
for i=1:length(Pm)
%verificar
que el modelo de simulink tenga estas variables de entrada
H1ini=Pm(1,i);
ap1=Pm(2,i);
H2ini=Pm(3,i);
ap2=Pm(4,i);
sim('two_tank_1',[0 1])%simula el Sistema
tanque 1 seg y entrega H1,H2
%
verificar en modelo que H1 y H2 entreguen un solo valor y tipo array
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
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).
1) q0=40, ap1=0.9, ap2=0.7, H1in= 15,
H2in=10
2) q0=20, ap1=0.5, ap2=1, H1in= 15,
H2in=10
3) q0=15, ap1=1, ap2=1, H1in= 15,
H2in=10