Reporte Práctica 3 LCP
-
Upload
francisco-celestino -
Category
Documents
-
view
31 -
download
4
Transcript of Reporte Práctica 3 LCP
UNIVERSIDAD AUTÓNOMA DE
NUEVO LEÓN
Facultad de Ciencias Químicas
Ingeniería Química
LABORATORIO DE CONTROL DE PROCESOS
Práctica No. 3
Identificación 1er. orden y Linealización
Grupo 1
Equipo No. 1
Nombre Matrícula
Belén del Consuelo Alvarado Guerrero 1397767
Mario Alberto Galván García 1355876
Daniel Simón Olivo Alanís 1501436
Mauro Agustín Vanegas Cerda 1389988
Monterrey, N.L., Jueves 4 de Octubre de 2012.
Resumen
Objetivo: A partir de tres modelos (lineal, no lineal y la comparación de estos en simulink)
determinar los parámetros en un sistema de primer orden.
En esta práctica se obtuvieron lecturas de altura de un flujo de agua contra tiempo al llenar o
vaciar el tanque mediante un sensor de nivel conectado a una tarjeta de adquisición de datos y
este a su vez a la computadora. Los datos se obtuvieron hasta llegar a un estado estable. A partir
de estos datos se ajustaron a modelos lineal, no lineal y linealizado mediante diferentes
programas para determinar los parámetros en el sistema de primer orden. Los materiales que se
utilizaron fueron el tanque donde se depositó el agua, una bomba, una válvula solenoide, válvula
de flujo de entrada, válvula de salida y una computadora junto con la tarjeta para poder realizar
las lecturas de voltaje.
Teoría
La linealización es el proceso por el cual los sistemas no lineales son aproximados por los lineales.
Considerar la siguiente ecuación diferencial no lineal, el modelado de un proceso dado
Ampliar la función no lineal f(x) en serie de Taylor alrededor del punto xo y tomar
(
)
(
)
(
)
La aproximación lineal depende de la localización del punto xo alrededor de la cual hacemos la
expansión en serie de Taylor. La aproximación sólo es exacta en el punto de linealización.
(
)
Esta ecuación es la aproximación linealizada del sistema dinámico inicial dada por la ecuación.
Sistemas de primer orden
Un sistema de primer orden es uno cuya salida y(t) se modela mediante una ecuación diferencial
de primer orden. Así, en el caso de sistema lineal (o linealizado), tenemos
donde f (t) es la entrada (función de fuerza). Si ao = 0, entonces se obtiene
Definir
y tomar
τp es conocida como la constante de tiempo del proceso y Kp se denomina ganancia de estado
estacionario o ganancia estática o simplemente la ganancia del proceso.
Si y (t) y f (t) son términos de variables de desviación alrededor de un estado estacionario, las
condiciones iniciales son y(0) = 0 and f(0) = 0
De la ecuación 2 que se encuentra fácilmente que la función de transferencia de un proceso de
primer orden está dada por
Un proceso de primer orden con una función de transferencia dada por la ecuación anterior es
también conocida como retardo de primer orden, retardo lineal, o de retardo de transferencia
exponencial.
Si, por otro lado, ao = 0, entonces:
lo que da una función de transferencia
En tal caso, el proceso se llama puramente capacitivo o de puramente integrador.
Los procesos de primer orden se caracterizan por:
1. Su capacidad para almacenar material, energía o impulso
2. La resistencia asociada con el flujo de masa, energía o impulso en alcanzar la capacidad
Así, la respuesta dinámica de tanques que tienen la capacidad de almacenar líquidos o gases
puede ser modelado como de primer orden. La resistencia se asocia a las bombas, válvulas,
vertederos, y los tubos que están unidos a los líquidos que afluyen o fluye hacia o gases. Un
proceso que posee una capacidad para almacenar masa o energía y por lo tanto actuar como un
amortiguador entre el flujo de entrada y efluente corrientes se modela como un sistema de primer
orden.
Procedimiento experimental.
El procedimiento experimental llevado a cabo en esta práctica fue el siguiente.
Antes que nada empezamos por revisar el equipo proporcionado para esta práctica y analizar un
el funcionamiento de las diferentes partes de este y después se realizaron los siguientes pasos.
1. Se inicio la práctica observando el valor que teníamos en el voltaje al nivel de 0 cm
2. Después se procedió a abrir las válvulas de flujo de entrada, la válvula solenoide y
encender la bomba.
3. Se espero a que en el tanque alcanzáramos el nivel máximo de llenado y se registro el
valor de voltaje mostrado en el voltímetro.
1) Al contar con es Teniendo estas dos lecturas, procedemos a hacer una regresión que nos
permita conocer el nivel por medio del sensor el cual proporciona una intensidad de
corriente que se convierte a volts por medio de una resistencia usando la Ley de Ohm.
4. Al contar con estas dos lecturas procedimos a hacer una regresión que nos permita
conocer el nivel por medio del sensor el cual proporciona una intensidad de corriente que
se convierte a volts por medio de una resistencia usando la Ley de Ohm.
5. Después de esto seguimos tomando mas mediciones del voltaje en relación al nivel del
tanque de esta manera confirmar que nuestra relación era correcta.
6. Se procedió después a conectar la tarjeta en los canales mostrados en el programa de
verificación de esta tarjeta.
7. Después de haber conectado la tarjeta se verifico que tuviéramos lectura y después de
esto pasamos a abrir el programa de Labview.
8. En el programa de Labview procedimos a realizar nuestro arreglo para medir las lecturas
registradas de volts.
9. Al tener el programa listo, realizamos una tomas de datos para verificar que estos
coincidieran con los datos registrados por el voltímetro.
10. Se procedió a tomar varias series de datos con el programa y tener la certeza de que los
valores fueran los correctos.
11. Después procedimos a tratar de tener flujo estable en el tanque manipulando la válvula de
salida y de esta manera tener una serie de datos de Flujo vs Tiempo.
12. En el primer intento para mantener el flujo estable, giramos la válvula de salida más de 1
vuelta pero al final el flujo no se mantenía estable.
13. Después de varios intentos pudimos obtener un flujo estable en el tanque girando la
válvula de salida media vuelta.
14. Al tener ya el flujo estable procedimos a correr de nuevo el programa realizado en
Labview ya con nuestra regresión integrada a él, para que de esta manera nos arrojara los
datos del nivel del tanque con respecto al tiempo elegido.
15. Registramos una serie de datos en un archivo de texto y se guardaron para su uso
posterior.
16. Finalmente al ya contar con los datos de Flujo vs Tiempo se procedió a cerrar la válvula de
flujo de entrada y apagar la bomba del equipo.
Resultados y discusiones
Datos de constantes:
Área = 207cm2 hss = 8.4cm Altura total = 14 cm M = Fo = 25 cm3/s
0
1
2
3
4
5
6
7
8
9
0 50 100 150 200 250 300
h(cm)
t(seg)
t(seg) h(cm)
0 0.00512358
10 0.07301056
20 0.33890136
30 0.58782024
40 1.47600852
50 1.834301
60 2.38305424
70 3.19486944
80 3.19486944
90 3.73607962
100 4.34800548
110 4.83170044
120 5.22393634
130 5.89337756
140 6.03480892
150 6.19698338
160 6.3912156
170 7.0276563
180 6.88433928
190 6.9211114
200 7.26621644
210 7.42554946
220 7.5820668
230 7.74612706
240 7.98656026
250 8.2203933
260 8.03841836
270 8.13364874
280 8.1091339
290 8.3296122
300 8.44385458
Para a Ecuación lineal
teKMth
s
K
sAR
R
siF
sH
LaPlaceUtilizando
R
h
iFF
iF
dt
dV
1)(
11*
0
El valor de K y de se calculó en Matlab, dando los siguientes resultados:
K =0.421seg/cm2
= 138 seg
Para la Ecuación no lineal
A
t
C
h
hCF
F
R
F
Quedando
hCFFFdt
dV
vvi
ii
vii
2ln
:
2
0
Para el cálculo del valor de Cv se utilizó Matlab.
Cv = 8.5 cm2.5/seg
Ecuación Linealizada
√
√
√
√
[
√
](
√
⁄
) [ √
](
√
⁄
)
Cv = 7.848 cm2.5/seg K=0.7386 seg/cm2
=152.89 seg
Comparación de los tres modelos en Simulink
Figura1: Los tres casos presentados en SimuLink. .
Figura 2: Diagrama de bloques en SimuLink.
Conclusiones
Analizando nuestro sistema, suponiendo un comportamiento lineal podemos apreciar una
semejanza cercana con algunos datos experimentales obtenidos, pero como era de esperarse no
se tiene un comportamiento lineal.
Al analizar nuestro sistema con comportamiento no lineal se llega a un acercamiento mejor hacia
los datos experimentales obtenidos y el comportamiento de nuestro sistema.
La comparación de estos dos modelos, lineal y no lineal nos muestra una diferencia entre uno y
otro, además una diferencia más grande con respecto a la linealizada.
Concluimos que el modelo no lineal se ajusta mejor al comportamiento de nuestro sistema de
llenado de tanque.
√
[
√
]
(
√
⁄
)
[ √
]
(
√
⁄
)
Códigos de Matlab
Ecuación Lineal
syms k tao m=25 datos = [0.0051235 0 0.07301056 10 0.33890136 20 1.28782024 30 1.67600852 40 2.43430100 50 2.98305424 60 3.19486944 70 3.19486944 80 3.73607962 90 4.34800548 100 4.83170044 110 5.22393634 120 5.89337756 130 6.03480892 140 6.19698338 150 6.39121560 160 7.02765630 170 6.88433928 180 6.92111140 190 7.26621644 200 7.42554946 210 7.58206680 220 7.74612706 230 8.03841836 240 7.89784713 250 8.16597513 260 7.99876134 270 8.03659771 280 8.23659748 290 7.71976542 300 8.35648791 310 8.03264971 320 7.87947193 330 7.59751324 340 8.12346796 350]; t = datos(:,2); h = datos(:,1); e=0; for i=1:32; he(i)= m*k*(1-exp(-t(i)/tao)); e = e + (h(i)-he(i))^2; end
grad_e= transpose (jacobian(e,[k,tao])); hess_e=jacobian(grad_e,[k,tao]);
x0=[0.18; 38];
b=1; while b>0.01 xa=x0; grad_e_x0= subs(grad_e, {k, tao}, {x0(1),x0(2)}); hess_e_x0= subs(hess_e, {k, tao}, {x0(1),x0(2)}); x0=x0-hess_e_x0^(-1)*grad_e_x0; b=abs(x0-xa); end
k=x0(1) tao=x0(2) e=0; for i=1:15; he(i)= m*k*(1-exp(-t(i)/tao)); e = e + (h(i)-he(i))^2; end
fprintf('el valor de la ganancia es: \n'); disp (k) fprintf('el valor de la constante de tiempo es: \n'); disp(tao)
plot(t,h,'o') hold on h=m*k*(1-exp(-t/tao)); plot(t,h)
Ecuación No Lineal
clc clear all syms Cv Fi=25;%cm3/seg A=207;%cm2 data =[0.0051235 0 0.07301056 10 0.33890136 20 1.28782024 30 1.67600852 40 2.43430100 50 2.98305424 60 3.19486944 70 3.19486944 80 3.73607962 90 4.34800548 100 4.83170044 110 5.22393634 120
5.89337756 130 6.19698338 140 6.39121560 150 7.02765630 160 7.27917897 170 7.46621644 180 7.52554946 190 7.98206680 200];
t=data(:,2); h=data(:,1); err=0; for i=1:20; err=err+(Fi/(Cv^2))*log(Fi/(Fi-Cv*h(i)^(1/2)))-h(i)^(1/2)/Cv-t(i)/(2*A);%
ecn igualada a cero end %**Newton-Raphson** co=12; dCv=diff(err,Cv); Cvi=8; while co>=.0001; Cvn=subs(Cvi-err/dCv,{Cv},{Cvi}); co=abs(Cvn-Cvi); Cvi=Cvn; end Cv=abs(Cvi); disp('Valor de Cv') disp(Cv)
Ecuación Linealizada
clc clear all syms Cv A=207; hs=8.4; M=25;%cm3/seg datos =[0.0051235 0 0.07301056 10 0.33890136 20 1.28782024 30 1.67600852 40 2.43430100 50 2.98305424 60 3.19486944 70 3.19486944 80 3.73607962 90 4.34800548 100 4.83170044 110 5.22393634 120 5.89337756 130 6.19698338 140 6.39121560 150 7.02765630 160 7.47917897 170
7.46621644 180 7.52554946 190 7.98206680 200];
t=datos(:,2); y=datos(:,1); err=0; for i=1:20; ye(i)=((2*hs^.5/Cv)*M-hs)*(1-exp(-t(i)/(2*hs^.5*A/Cv))); err=err+(y(i)-ye(i))^2; end co=12; grad_e=transpose(jacobian(err,[Cv])); hess_e=jacobian(grad_e,[Cv]); x0=8; for i=1:20 grad_e_x0=subs(grad_e,{Cv},{x0}); hess_e_x0=subs(hess_e,{Cv},{x0}); x0=x0-hess_e_x0^(-1)*grad_e_x0;
end Cv=abs(x0); disp('Valor de Cv') disp(Cv)