Vous êtes sur la page 1sur 17

Universidad Autónoma de Nuevo León

Facultad de Ciencias Químicas


Ingeniería Química

Control de Procesos y Laboratorio

Práctica No. 3
Identificación De Parámetros En Sistemas De Primer Orden

Equipo No. 5

Nombre Matrícula

Mauricio Mellado Ayala 1720596

David Alberto Palomino Santoyo 1720570

Harly Cruz Guzmán 1621848

Julián Elliud Martínez Martínez 1624716

Dr. Óscar Francisco Huerta Guevara

Monterrey, Nuevo León a martes 14 de mayo de 2019


Resumen
Objetivos: Ajustar al modelo de un tanque donde se requiere controlar el nivel
regulando el flujo de salida con una válvula con un coeficiente 𝐶𝑣, que representa
la apertura de la válvula, de acuerdo con 3 casos. Donde el comportamiento de la
válvula es lineal, donde es no lineal y se resuelve la ecuación diferencial de forma
analítica y donde es no lineal y se linealiza mediante la serie de Taylor. Comprobar
cual de los 3 casos arroja un mejor ajuste a los datos experimentales.
Se realizó el experimento en un tanque con un sensor de nivel ultrasonico, un
rotametro, una bomba y una válvula de apertura manual. Con una tarrjeta lógica y
el ordenador se realiza una curva de calibración para transformar de voltaje a nivel
y se regula el flujo de salida del tanque con la válvula a la salida.
Se enciende el equipo con el tanque vacio y un flujo de entrada definido y se
comienza a tomar lectura de la altura respecto al tiempo mediante Labview hasta
que se alcanza el estado estable. Para el primer caso se obtuvo el valor de ganancia
del proceso y la constante de tiempo (kp; 𝜏). En el segundo y tercer caso, se obtiene
el valor de 𝐶𝑣.
Marco Teórico
En el control de procesos es de interes mantener constante un valor a lo largo del
tiempo, ya sea este una concentración o una temperatura en un reactor, una presión
en un contenedor o cualquier otra variable de interes en el sistema. En el sistema
ha estudiar esta variable de interes es el nivel de un tanque.
El sistema estudiado es un tanque con un sensor ultrasonico en la parte superior,
una entrada con un flujo de agua que es impulsado por una bomba desde un
deposito de agua y una salida regulada por una valvula manual. El sistema descrito
se ilustra en la imagen siguiente, así mismo el sensor emite una señal enviada a
una tarjeta lógica y esta la transmite al ordenador.

Ilustración 1 - Sistema de un tanque de agua empleado modelado como un sistema de primer orden.
Con el fin de analizar el sistema y tener una comparación de datos, se analizó de
acuerdo con 3 casos: considerando un comportamiento de la válvula línea,
considerando un comportamiento no lineal y resolviendo la EDO de manera analítica
y linealizando mediante la serie de Taylor.
Balance de materia en el sistema
Para los 3 casos se parte del mismo balance de materia representado por la
siguiente ecuación considerando una acumulación en el tanque y flujos de entrada
y salida diferentes.

d(Ah)
𝜌 = 𝜌Fi − 𝜌Fo Ec.1
dt

Debido a que en el tanque el área transversal es constante y que se puede tomar la


densidad del agua como constante debido a que no hay variaciones altas de presión
o temperatura, la ecuación 1 se simplifica en la siguiente.

d(h(t))
𝐴 = Fi (t) − Fo (𝑡) Ec.2
dt

Del análisis de los siguientes casos se busca encontrar la ganancia proporcional


del proceso, la constante de tiempo del sistema y el coeficiente experimental de la
válvula.

Para determinar los parámetros iniciales se utilizan métodos numéricos para el


ajuste de datos experimentales. Para obtener los valores iniciales de estos métodos
numéricos se utilizan formulas establecidas para sistemas de primer orden.

Ilustración 2 - Representación de la respuesta de un sistema de primer orden ante un cambio escalón.


Caso 1. Comportamiento lineal de la válvula de salida
En el caso 1 se estudia relacionando el flujo de salida con la altura y la apertura de
la válvula de la siguiente manera.
1
Fo (𝑡) = ℎ(𝑡) Ec.3
𝑅

Combinando la ecuación 2 y la ecuación 3 y reacomodando obtenemos la ecuación


4, a la cual le aplicamos la transformada de Laplace.

d(h(t)) 1
𝐴 + 𝑅 ℎ(𝑡) = Fi (t) Ec. 4
dt

Una vez en el dominio de Laplace, el término H (0) es despreciado debido a que se


comienza a estudiar el comportamiento del sistema cuando el nivel en el tanque es
0.
H(s)
A(s H(s) − H(0)) + = 𝐹(s) Ec. 5
R

Una vez eliminado este término la ecuación 5 se reacomoda para obtener la función
de transferencia del sistema.

H(s) R
= (AR)s+1 Ec.6
𝐹(s)

Y la ecuación que representa el cambio escalón del sistema es


𝑀
𝐹(s) = Ec. 7
𝑠

Combinando la ecuación 6 y 7 y transformando la ecuación resultante de nuevo al


dominio del tiempo obtenemos
−𝑡⁄
ℎ(𝑡) = 𝑘𝑝 𝑀 (1 − 𝑒 𝜏 )Ec. 8
Donde
𝐾𝑝 = 𝑅, 𝑙𝑎 𝑐𝑢𝑎𝑙 𝑟𝑒𝑝𝑟𝑒𝑠𝑒𝑛𝑡𝑎 𝑙𝑎 𝑔𝑎𝑛𝑎𝑛𝑐𝑖𝑎 𝑝𝑟𝑜𝑝𝑜𝑟𝑐𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑙 𝑝𝑟𝑜𝑐𝑒𝑠𝑜
𝑀, 𝑙𝑎 𝑐𝑢𝑎𝑙 𝑟𝑒𝑝𝑟𝑒𝑠𝑒𝑛𝑡𝑎 𝑒𝑙 𝑐𝑎𝑚𝑏𝑖𝑜 𝑒𝑠𝑐𝑎𝑙𝑜𝑛 𝑒𝑛 𝑒𝑙 𝑝𝑟𝑜𝑐𝑒𝑠𝑜
𝜏 = 𝐴𝑅, 𝑙𝑎 𝑐𝑢𝑎𝑙 𝑒𝑠 𝑙𝑎 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑑𝑒 𝑡𝑖𝑒𝑚𝑝𝑜
Caso 2. Comportamiento no lineal de la válvula de salida, solución analítica
de la ecuación diferencial
Para el caso 2, el termino del flujo de salida se relaciona con el coeficiente de la
válvula de la siguiente manera
F𝑜 = 𝐶𝑣 √ℎ(𝑡) Ec. 9
Juntando la ecuación 9 con el balance de materia obtenemos la ecuación
d(h(t))
𝐴 + 𝐶𝑣 √ℎ(𝑡) = Fi (t) Ec. 10
dt

A la cual aplicando un cambio de variable y resolviendo por sustitución de la


siguiente manera
𝑥 = √h Ec. 11
𝑑𝑥 𝑑ℎ
2𝑥 𝑑𝑡 = Ec. 12
𝑑𝑡
𝑑𝑥 1
= (2𝐴𝑥) (Fi − 𝐶𝑣 x) Ec. 13
𝑑𝑡
(𝑥) 1
(F𝑖 −𝐶𝑣 x)
𝑑𝑥 = (2𝐴) 𝑑𝑡 Ec. 14

E Integrando ambos lados y escribiendo y en términos de h obtenemos


(Fi −𝐶𝑣 x) F 𝑡
− 𝐶 2i ln(Fi − 𝐶𝑣 x) = (2𝐴) + 𝐶 Ec. 15
𝐶𝑣2 𝑣

(Fi −𝐶𝑣 √h) F 𝑡


− 𝐶 2i ln(Fi − 𝐶𝑣 √h) = (2𝐴) + 𝐶 Ec. 16
𝐶𝑣2 𝑣

Evaluando la ecuación 16 con las condiciones iniciales 𝑡 = 0, ℎ = 0


F F
𝐶 = 𝐶 2i − 𝐶 2i ln(Fi ) Ec. 17
𝑣 𝑣

Y despejando para el tiempo la ecuación 17


2𝐴 F
𝑡 = 𝐶 2 (Fi ln (F −𝐶𝑣i ) − 𝐶𝑣 √h) Ec. 18
𝑣 i √h

Caso 3. Comportamiento no lineal de la válvula de salida, linealizando


mediante la serie de Taylor
Linealizando el término no lineal de la ecuación 10 mediante la serie de Taylor
truncada hasta el primer termino y reescribiendo la ecuación 10 se obtiene
dh 𝐶𝑣
A dt = Fi − (Cv √hs + (ℎ − ℎ𝑠)) Ec. 19
2√hs

Y aplicando la transformada de Laplace


𝐶𝑣
A{sH(s) − H(0)} = Fi (𝑠) − 𝐻(𝑠) Ec.20
2√hs
Realizando a la ecuación 20 la misma simplificación que a la ecuación 5 y
reescribiendo en forma de una función de transferencia de primer orden obtenemos:
H(s) 𝑀 𝐾𝑝
= Ec. 21
F (𝑠)
i 𝑠 τS+1

Y transformando la ecuación resultante de nuevo al dominio del tiempo obtenemos


−𝑡⁄
ℎ(𝑡) = 𝑘𝑝 𝑀 (1 − 𝑒 𝜏) Ec. 22
Donde
2√hs
𝐾𝑝 = Ec. 23
Cv

2𝐴√hs
τ= Ec. 24
Cv

Procedimiento Experimental
1. Verificar que los cables que adquieren los datos de voltaje estén conectados
a la tarjeta de datos, así como los cables que envían el voltaje de salida para
regular el encendido y apagado de la bomba.
2. Encender la computadora.
3. Generar una curva que relacione el voltaje con el nivel de agua en el tanque
definiendo una apertura de la válvula manual.
4. Con el programa LabVIEW escribir un código usando la ecuación de la curva
generada para poder visualizar el nivel en el tanque.
5. Una vez escrito el código, introducir un cambio escalón en el sistema, en
nuestro caso de 2 L/min.
6. Esperar a que el sistema alcance un estado estable.
7. Recopilar mediante LabVIEW los datos de nivel contra tiempo del sistema.

Resultados y discusiones
Se obtuvieron los siguientes datos experimentales
Tabla 1 - Datos experimentales recopilados mediante Labview

Datos experimentales
Tiempo (s) Nivel (cm) Tiempo (s) Nivel (cm)
0 0 1750 7.293538
50 1.489284 1950 7.344987
100 2.819748 2150 7.319746
125 3.338572 2350 7.51872
150 3.795868 2550 7.603806
350 5.877547 2750 7.730895
550 6.62669 2950 7.741389
750 6.788742 3150 7.755087
950 6.990174 3350 7.815594
1150 7.03679 3421 7.764311
1350 7.08233 3422 7.774915
1550 7.240432

A continuación, se muestra la gráfica de los valores experimentales:


Nivel de tanque vs tiempo
9
8
7
6
H (cm)

5
4
3
2
1
0
0 500 1000 1500 2000 2500 3000 3500 4000
tiempo (s)

Ilustración 3 - Datos Experimentales

Haciendo uso de dichos datos, se estimaron los valores iniciales de Kp y 𝜏. Se sabe


que a tiempos muy largos:
∆𝑌
𝐾𝑝 = ∆𝑈 Ec. 25
Además, de la gráfica, encontramos el valor de 𝜏 cuando Y(𝜏) = 0.632∆𝑌, esto
quiere decir, cuando el nivel está al 63% del valor final, se encuentra 𝜏.
Los resultados se muestran a continuación:
Tabla 2 -Valores iniciales caso 1

Caso 1
Valores iniciales

Fo (L/min) 2

Kp (s/cm2) 0.2332

0.632DY 4.9137

Tao (s) 234

Para los casos 2 y 3 Se calculó Cv despejando a partir de F𝑜 = 𝐶𝑣 √ℎ(𝑡) Ec.26


Tabla 3 - Valores iniciales caso 2

Caso 2 y 3
Valore inicial

Cv (cm2.5/s) 11.9545

Caso 1.

Ilustración 4 - Resultados del caso 1

En la figura anterior se ven los resultados, que son la línea verde, del modelo
lineal que se consideró para la válvula de salida. Se puede ver que el modelo
alcanza el estado estable a 700 s aproximadamente, y por la gráfica, cuando el
sistema llega al 63.2% de la respuesta final se puede ver que la Tao es similar a la
obtenida en el programa.
Kp = 0.2236 Tao = 221.5818

Caso 2.
Ilustración 5 - Resultados del caso 2

Para el caso 2 se consideró la válvula de salida como un modelo no lineal que


arrojó lo siguientes resultados. Se ve que este modelo, similar al pasado, entra al
estado estable al mismo tiempo, a 700 s. Para obtener el Cv inicial de la válvula se
tuvo que igualar los flujos de entrada y salida del sistema en el estado estacionario
y despejar.

Cv=11.5064

Caso 3.
Ilustración 6 - Resultados del caso 3

En este modelo linealizado se obtuvieron los resultados que tuvieron la peor


convergencia con respecto a los datos experimentales. Se ve que este modelo llega
al estado estable a los 100 s y que tiene una máxima repuesta de 6 cm. Para obtener
los valores iniciales del Cv y Tao se hicieron procedimientos similares a los de los
otros casos.
Cv = 27.5688 Kp = 0.20228 Tao = 41.87266

Tabla 4 - Resultados de nivel de los diferentes casos

Datos experimentales Caso 1 Caso 2 Caso 3


Nivel Nivel Nivel
Tiempo calculado calculado calculado
(s) Nivel (cm) (cm) Error (cm) Error (cm) Error
0 0 0 0 0 0 0 0
50 1.48928 1.50535 1.07853 2.4575 65.01218 4.69982 215.57592
100 2.81975 2.70661 4.01240 3.4605 22.72373 6.12376 117.17409
125 3.33857 3.21292 3.76364 3.9532 18.40991 6.40202 91.75926
150 3.79587 3.66521 3.44206 4.194 10.48856 6.55518 72.69262
235 4.94175 4.87171 1.41711 5.0619 2.43143 6.71808 35.94554
350 5.87755 5.91647 0.66219 5.7745 1.75323 6.74113 14.69295
550 6.62669 6.82938 3.05872 6.3795 3.73022 6.74270 1.75063
750 6.78874 7.19958 6.05177 6.6248 2.41491 6.74271 0.67804
950 6.99017 7.34970 5.14333 6.7255 3.78637 6.74271 3.54014
1150 7.03679 7.41058 5.31191 6.7675 3.82689 6.74271 4.17915
1350 7.08233 7.43526 4.98330 6.7682 4.43540 6.74271 4.79529
1550 7.24043 7.44527 2.82915 6.7925 6.18654 6.74271 6.87418
1750 7.29354 7.44933 2.13608 6.7955 6.82848 6.74271 7.55225
1950 7.34499 7.45098 1.44307 6.7968 7.46342 6.74271 8.19981
2150 7.31975 7.45165 1.80200 6.7974 7.13612 6.74271 7.88325
2350 7.51872 7.45192 0.88847 6.7976 9.59099 6.74271 10.32101
2550 7.60381 7.45203 1.99608 6.7977 10.60135 6.74271 11.32451
2750 7.73090 7.45207 3.60660 6.7978 12.06969 6.74271 12.78226
2950 7.74139 7.45209 3.73704 6.79782 12.18863 6.74271 12.90049
3150 7.75509 7.45210 3.90697 6.79783 12.34360 6.74271 13.05434
3350 7.81559 7.45210 4.65087 6.79784 13.02209 6.74271 13.72745
3421 7.76431 7.45210 4.02109 6.79785 12.44748 6.74271 13.15763
3422 7.77492 7.45210 4.15199 6.79785 12.56689 6.74271 13.27607
Error Total 3.22149 Error Total 261.45812 Error Total 30.16682

Simulación en xcos

Ilustración 7 - Simulación en Xcos


Ilustración 8 - Resultados de los modelos

Para la simulación primero se alimentaron los datos experimentales con el módulo


From workspace, y para los tres casos se le alimentó un cambio escalón y se
pusieron los módulo que representan las operaciones correspondientes de cada
uno con sus respectivos parámetros.

Conclusión
Para nuestro sistema con comportamiento de primer orden el modelo lineal es el
que mejor se le aproxima, pero esto puede cambiar dependiendo del sistema del
que se esté hablando, ya que los parámetros encontrados y sus comportamientos
son específicos para este caso. El modelo no linear tuvo un buen ajuste,
acercándose al modelo linear pero representa mayor complejidad a la hora de hacer
los cálculos.
Apéndice
Códigos
Caso 1
clc
clear

//DATOS EXPERIMENTALES
datos= [0 0
50 1.489284
100 2.819748
125 3.338572
150 3.795868
235 4.941745
350 5.877547
550 6.62669
750 6.788742
950 6.990174
1150 7.03679
1350 7.08233
1550 7.240432
1750 7.293538
1950 7.344987
2150 7.319746
2350 7.51872
2550 7.603806
2750 7.730895
2950 7.741389
3150 7.755087
3350 7.815594
3421 7.764311
3422 7.774915]

t=datos(:,1) //tiempo (s)


y=datos(:,2) //nivel del tanque (cm)
plot(t,y, 'ko','thickness',3)

//CONDICIONES DE OPERACION

q=33.3333// [cm3/s]
A=207 //cm2

//VALORES INICIALES
x = [0.2332;234] // valores iniciales
// Kp=x(1) y Tao=x(2)

function e=F(x, t, y)
e=0
for i = 1:length(y)
yest(i)=(q*x(1))*(1-exp(-t(i)/x(2)))
e = e + (y(i)-yest(i))^2
end
endfunction

[J,H] = numderivative (F,x,[],[],"blockmat")


err = 100 // valor cualquiera de error para iniciar el método
tol=0.000005
xo=x
while err>tol
xn = xo - H^(-1)*J'
[J,H] = numderivative (F,xn,[],[],"blockmat")
errorKp=abs((xn(1)-xo(1))/xn(1))
errorTao=abs((xn(2)-xo(2))/xn(2))
err=errorKp + errorTao
xo=xn
end

x=xn

mprintf(' Kp = %2.4f \n', x(1))


mprintf('Tao = %2.4f \n', x(2))

R=(x(1))
Tao=(x(2))

printf('R = %2.5f \n', R)


printf('Tao = %2.5f \n', Tao)
t1 = datos(:,1)
for i = 1:length(t1)
y1(i)=(q*x(1))*(1-exp(-t1(i)/x(2)))
end

plot(t1,y1,'r','thickness',3)
xgrid
xlabel('tiempo[seg]')
ylabel('Nivel[cm]')
legend(['Datos experimentales';'Modelo válvula lineal'])

Caso 2
clear
clc

//DATOS EXPERIMENTALES
datos= [0 0
50 1.489284
100 2.819748
125 3.338572
150 3.795868
235 4.941745
350 5.877547
550 6.62669
750 6.788742
950 6.990174
1150 7.03679
1350 7.08233
1550 7.240432
1750 7.293538
1950 7.344987
2150 7.319746
2350 7.51872
2550 7.603806
2750 7.730895
2950 7.741389
3150 7.755087
3350 7.815594
3421 7.764311
3422 7.774915]

t=datos(:,1) //tiempo (s)


h=datos(:,2) //nivel del tanque (cm)
plot(t,h, 'ko','thickness',3)

//CONDICIONES DE OPERACION

q1=25// [cm3/s]
A=207 //cm2
hf=7.774915 //cm

//VALORES INICIALES

Cv0=q1/(hf^0.5) // cm2.5/seg
x = [Cv0] // valor inicial

//METODO DE NEWTON

function e=F(x, h, t)
e=0
for i = 1:length(h)
//test(i)=(2*A/(x^2))*(q*log(q/(q-x*(y(i)^(1/2))))-x*(y(i)^(1/2)))
test(i)=((2*A)/(x^2))*((-x*(h(i)^0.5))+(q1*(log(q1/(q1-(x*(h(i)^0.5)))))))
e = e + (t(i)-test(i))^2
end
endfunction

[J,H] = numderivative (F,x,[],[],"blockmat")


err = 100 // valor cualquiera de error para iniciar el método
tol=0.000005
xo=x
while err>tol
xn = xo - H^(-1)*J'
[J,H] = numderivative (F,xn,[],[],"blockmat")
err=abs((xn-xo)/xn)
xo=xn
end

x=xn

mprintf(' Cv = %2.4f \n', x)

h1 = [0:0.001:7.775]
t1=((2.*A)/(x.^2)).*((-x.*(h1.^0.5))+(q1.*(log(q1./(q1-(x.*(h1.^0.5)))))))

plot(t1,h1,'r','thickness',3)
xgrid
xlabel('tiempo[seg]')
ylabel('Nivel[cm]')
legend(['Datos experimentales';'Modelo válvula lineal'])

Caso 3
clc
clear

//DATOS EXPERIMENTALES
datos= [0 0
50 1.489284
100 2.819748
125 3.338572
150 3.795868
235 4.941745
350 5.877547
550 6.62669
750 6.788742
950 6.990174
1150 7.03679
1350 7.08233
1550 7.240432
1750 7.293538
1950 7.344987
2150 7.319746
2350 7.51872
2550 7.603806
2750 7.730895
2950 7.741389
3150 7.755087
3350 7.815594
3421 7.764311
3422 7.774915]
t=datos(:,1) //tiempo (s)
y=datos(:,2) //nivel del tanque (cm)
plot(t,y, 'ko','thickness',3)

//CONDICIONES DE OPERACION

q1=33.333// [cm3/s]
A=207 //cm2
hs=7.774915

//VALORES INICIALES
Cv0=q1/(hs^0.5) // cm2.5/seg
x = [Cv0] // valor inicial

function e=F(x, t, y)
e=0
for i = 1:length(t)
yest(i)=(2*(hs^(1/2))/x)*q1*(1-exp(-t(i)/(A*2*(hs^(1/2))/x)))
e = e + (y(i)-yest(i))^2
end
endfunction

[J,H] = numderivative (F,x,[],[],"blockmat")


err = 100 // valor cualquiera de error para iniciar el método
tol=0.000005
xo=x
while err>tol
xn = xo - H^(-1)*J'
[J,H] = numderivative (F,xn,[],[],"blockmat")
err=abs((xn-xo)/xn)
xo=xn
end

x=xn

mprintf(' Cv = %2.4f \n', x)

R=2*(hs^(1/2))/x
Tao=A*R

printf('R = %2.5f \n', R)


printf('Tao = %2.5f \n', Tao)

t1 = datos(:,1)
for i = 1:length(t1)
y1(i)=(2*(hs^(1/2))/x)*q1*(1-exp(-t1(i)/(A*2*(hs^(1/2))/x)))
end

plot(t1,y1,'r','thickness',3)
xgrid
xlabel('tiempo[seg]')
ylabel('Nivel[cm]')
legend(['Datos experimentales';'Modelo válvula lineal'])

Referencias
1. LeBlanc, S., & Coughanowr, D. (2009). Process systems analysis and control.
Boston: McGraw-Hill Higher Education.
2. Smith, C., & Corripio, A. (1991). Control automático de procesos. D.F,:
LIMUSA.

Vous aimerez peut-être aussi