Está en la página 1de 22

TERCERA PRACTICA DOMICILIARIA

En la figura 01 se muestra un sistema de control de nivel del líquido h(t) de un


recipiente cilíndrico de área Ah, altura H y resistencia hidráulica Rh en el caudal de
salida. El caudal de entrada qe(t) es gobernado por una electroválvula que consiste de un
impulsor hidráulico (de desplazamiento x(t), masa M, fricción B, resorte de constante K
y sección de presión Ap) y un conversor voltaje / presión. El sensor de nivel consiste en
flotador el cual está unido a una cremallera de carrera vertical que al desplazarse hace
girar a un potenciómetro rotatorio de 3 vuelta y radio R.

Figura 01 Sistema de control de nivel de un tanque

Las ecuaciones físicas adicionales del sistema son:

p ( t ) =Cec ( t ); f ( t )= A p p ( t ); τ q q̇e ( t ) +q e ( t )=k q x (t); e h (t )=k ϑ θ (t )

Datos de los parámetros:

H = 2m; Ah = 4m2; Rh = 60seg/m2; Ap = 0.0025m2; M = 0.25kg; B = 0.075 Nseg/m;


K = 0.2N/m; C = 8 NV/m2; kq= 0.05m2; τq =2seg; R = 0.10611m; kθ = 5/3π vol/rad
Usando el diagrama de la figura 01 se pide:

a) Determinar las ecuaciones diferenciales en tiempo continuo usando los


parámetros literales del sistema.

En el Tanque:

dh ( t )
Ah =q e ( t )−q s (t )
dt

h (t )
Rh = .
q s (t )

Entonces:

dh ( t ) q e ( t ) h( t)
= − ........(1)
dt A h Rh A h

En la Electroválvula - Conversor:

-Conversor:
f ( t )= A p p ( t ).........(2)
p ( t ) =Cec ( t )..........(3)
e h (t )=K θ θ(t ) ……(4)

-Electroválvula:

d2 x ( t ) dx ( t )
f ( t )=M +B + kx(t).......(5)
dt
2
dt

Las ecuaciones (2), (3) en (5) y acomodando:


2
d x (t ) dx ( t )
A p Cec (t )=M +B + kx ( t )......(6)
dt
2
dt

Además, se presenta la siguiente ecuación:

τ q q̇e ( t ) +q e ( t )=k q x (t) … (7)

b) Representar la dinámica del sistema mediante variables de estado de tiempo


continuo literal y numéricamente empleando como variables de estado:
T T
X =( x 1 x 2 x 3 x 4 ) =( h q e x ẋ )
Con ec(t) como señal de control u(t) y h(t) como variable de salida y(t).

Entonces de la ecuación (1):

dh ( t ) q e ( t ) h( t) q e ( t ) h(t )
= − ḣ( t)= −
dt A h Rh A h A h Rh A h

−1 1
ẋ 1 (t)= x 1 (t)+ x 2 (t)
Rh A h Ah

De la ecuación (6):

d2 x ( t ) dx ( t )
A p Cec (t )=M +B + kx ( t ) A p Cec (t )=M ẍ ( t ) +B ẋ ( t ) + kx ( t )
dt
2
dt

−B K A pC
ẍ ( t )= ẋ ( t )− x (t ) + e ( t ) ; e c ( t )=u( t)
M M M c

−K B Ap C
ẋ 4 (t )= x 3 (t)− x 4 (t )+ u (t)
M M M

Ahora de la ecuación (7):

−1 k
τ q q̇e ( t ) +q e ( t )=k q x (t ) q̇ e ( t )= q e ( t )+ q x (t)
τq τq

−1 kq
ẋ 2 (t)= x 2 (t)+ x3 (t )
τq τq

Por último tenemos:


x 3=x (t ) y x 4 = ẋ (t)

ẋ 3 (t)=x 4 (t)

Representando la dinámica del sistema mediante variables de estado de tiempo


continuo:
[ ][]
x1 0
x
y ( t ) =[ 1 0 0 0 ] 2 + 0 u(t )
x3 0
x4 0

Reemplazando los valores de las constantes tenemos el siguiente espacio de estados:

ẋ ( t )= Ax ( t ) +Bu(t )
y ( t ) =Cx ( t ) + Du(t)

[ ][ ][ ] [ ]
ẋ 1 −0.00417 0.25 0 0 x1 0
ẋ 2 0 −0.5 0.025 0 x2
= + 0 u(t )
ẋ 3 0 0 0 1 x3 0
ẋ 4 0 0 −0.8 −0.3 x 4 0.08

[ ][]
x1 0
x
y ( t ) =[ 1 0 0 0 ] 2 + 0 u(t )
x3 0
x4 0

c)Dibuje un diagrama de bloques de estado desarrollado del sistema completo en lazo


abierto.

Sabemos que el diagrama de bloques de un sistema de control lineal en tiempo continuo


es:
d) Si se colocan muestreadores δ T (t ) en eh(t) y en ec(t), y un retenedor de orden cero
después del muestreador en ec(t), realizar la conversión de tiempo continuo a tiempo
discreto del espacio de estado representado en la parte (b) y representarlo en un
diagrama de bloques de estado en tiempo discreto con un periodo de muestreo T.
La representación en el espacio de estado de un sistema lineal en tiempo discreto e
invariante en el tiempo de orden n, con r entradas y m salidas se pude dar mediante:

x (k +1)=G. x (k )+H . u(k )


y (k )=C 1 . x (k )+ D1 .u( k )

Realizando la conversión de tiempo continuo a tiempo discreto del espacio de estado


representado:

Para mi número de orden N0 es 14.


Calculo de T:

0.5 N 0+ 6
T= =0.8125 seg
16

Con T= 0.8125 seg, como periodo de muestreo se obtiene la matriz G y H como sigue:
A partir de las matrices:

A = [-0.00417 0.25 0 0; 0 -0.5 0.025 0; 0 0 0 1; 0 0 -0.8 -0.3];


B = [0 0 0 0.08];
C = [1 0 0 0];
D = [0];

Utilizando el siguiente comando en MATLAB y discretizando la planta con una


aproximación ‘tustin’:

clc,clear all,close all;


A=[-0.00417 0.25 0 0;0 -0.5 0.025 0;0 0 0 1;0 0 -0.8 -0.3];
B=[0;0;0;0.08];
C=[1 0 0 0];
D=[0];
T=0.8125;
[G,H,C1,D1]=c2dm(A,B,C,D,T,'tustin');

G=

0.9966 0.1685 0.0015 0.0006


0 0.6623 0.0151 0.0055
0 0 0.7894 0.6480
0 0 -0.5184 0.5950

H=

0.0000
0.0002
0.0211
0.0518

C1 =
0.9983 0.0843 0.0008 0.0003

D1 =

0.0000090122

La ecuación en el espacio de estado de tiempo discreto:

x (k +1)=G. x (k )+H . u(k )


y (k )=C 1 x (k )+D1 . u(k )

Se debe observar que para discretización trapezoidal G, H, C1 y D1 dependen de T,


Finalmente se obtiene el diagrama:
e) Determinar la matriz de transferencia de pulso del sistema en lazo abierto.

La representación en el espacio de estado de un sistema lineal en tiempo discreto e


invariante en el tiempo de orden n, con r entradas y m salidas se pude dar mediante:

x (k +1)=G. x (k )+H . u(k )


y (k )=C 1 x (k )+D1 . u(k )

Al tomar la transformada z de las ecuaciones anteriores se obtiene:

z. X ( z)−z. x( 0)=G . X ( z)+H .U (z )


Y ( z)=C 1 . X ( z)+D1 . U ( z)

Observe que la definición de FTP exige que la suposición de condiciones iniciales cero.
Entonces x (0) =0. Entonces obtenemos:
−1
F( z )=C1 .( z . I−G ) . H +D1

Mediante un código de Matlab se halla la matriz de función de transferencia.

clc,clear all,close all;


A= [-0.00417 0.25 0 0;0 -0.5 0.025 0;0 0 0 1;0 0 -0.8 -0.3];
B= [0;0;0;0.08];
C= [1 0 0 0];
D= [0];
T=0.8125;
[G, H, C1, D1] =c2dm(A,B,C,D,T,'tustin');
G
H
C1
D1
[num, den] =ss2tf(G,H,C1,D1)
tf(num,den,T)

num =
1.0e-04 *[ 0.0901 0.3605 0.5407 0.3605 0.0901]

den =

[1.0000 -3.0434 3.7624 -2.2503 0.5318]

9.012∗10−6 z 4 +3.605∗10−5 z 3 +5.407∗10−5 z 2+3.605∗10−5 z+ 9.012∗10−5


F ( z )= 4 3 2
z −3.043 z + 3.762 z −2.25 z +0.5318

f) Diseñar un sistema de control de seguimiento con realimentación de estado de


ganancia K y control integral de ganancia KI usando el método de la ubicación de polos
en tiempo discreto según la figura (02), para llenarlo al tanque sin desbordamiento en un
tiempo de establecimiento ts.

Sea el sistema de control.

Figura 02. Sistema de control de seguimeinto con realimentación de estado y control integral.
K= matriz de ganancia de realimentación de estado.
Ki= ganancia integral del error

Hallando los polos en s:

N 0 +19 14+19
t s= = ∗60=990 seg
2 2

De las condiciones que nos plantean podemos hacer lo siguiente:

4
t s= =990 seg
ε ωn

Como en la respuesta no puede haber sobre impulso (desbordamiento), es decir:


ξ >1 (Sobre amortiguado); tomaremos el valor de ξ=1.1
−3
¿> ωn=3.673∗10 rad / seg

Donde:
s1,2=−ε ω n ± √ ε −1 ω n
2

Entonces:
s1=−0.002357 ; s 2=−0.0057236

Debido a que se tienen cinco polos debemos asumir dos polos más, pero estos estará lo
suficientemente alejado de los polos dominantes como para que su contribución no
tenga efecto sobre nuestro sistema:

s3=−3; s 4=−4 y s 5=−10

Pasando a tiempo discreto mediante la transformación z = e TS mediante el siguiente


código en Matlab:

s=[-3 -4 -0.002357 -0.0057236 -10];


z=exp(0.8125*s)

Z=[ 8.7379e-02 3.8774e-02 9.9809e-01 9.9536e-01 2.9604e-04]

Con estos valores construimos el respectivo polinomio característico P(z).

Luego la ecuación característica de los polos deseados en lazo cerrado en el plano Z


será:

( z−Z 1 ) ( z−Z 2 ) ( z −Z 3 ) ( z −Z 4 )( z−Z 5 )=0

Con Matlab se tiene la ecuación P(z):

s=[-3 -4 -0.002357 -0.0057236 -10];


z=exp(0.8125*s)
poly(z)

P= [1.0000 -2.1199 1.2490 -0.1325 0.0034 -0.000001]


5 4 3 2
P ( z )=z −2.1199 z +1.2490 z −0.1325 z +0.0034 z−0.000001

De la figura 02 obtenemos las siguientes ecuaciones:

e ( k )=r ( k )−k m y ( k ) …(1)

Como:

x ( k +1 )=Gx ( k )+ Hu ( k ) …(2)
y ( k )=Cx ( k ) + Du ( k ) …(3)

De la gráfica también se obtiene:

u ( k ) =−Kx ( k ) + k I v ( k ) …( 4)

Sea el integrador en atraso:

T z−1
Integrador=
1−z−1

V ( z) T z−1
= → zV ( z ) −V ( z ) =T E ( z ) → v ( k +1 )−v ( k )=T e( k )
E(z ) 1−z−1

Entonces:

v ( k +1 )=v ( k ) +T e ( k )
De (1):
v ( k +1 )=v ( k ) +T r ( k )−T k m y ( k )
De (3):
v ( k +1 )=v ( k ) +T r ( k )−T k m [ Cx ( k ) + Du ( k ) ] …(3)

De (2), (3) y (4) obtenemos:

Ecuación de estado:

( xv (k(k ++1)1))=(−TGk C 01)( xv (( k)k))+(−THk D )u ( k ) +(T0 )r ( k ) … (5)


m m

Ecuación de salida:
y ( k )= (C 0) ( )
x (k )
v (k )
+ Du ( k ) …( 6)

Ecuación de control:

u ( k ) =−( K −k I )
( xv (k(k )))… (7)
Definiendo:

( )
^x ( k )= x (k )
v( k )
^=
G
( G 0 ^
−T k m C 1
H=
H
) (
−T k m D ) ()
H̆= 0
T
C= D=D ^
^ ( C 0) ^ K= [ K −k I ]

Luego las ecuaciones (5), (6) y (7) se pueden expresar como:

^x (k +1)=G
( )
^ x(k ) + ^
v (k)
H u ( k ) + H̆ r ( k ) …(8)

^
y ( k ) =C ( xv (k)
(k ) )
+^
Du ( k ) …(9)

u ( k ) =− ^
K ^x ( k ) …(10)

Si definimos:

δ ^x (k) = ^x (k) - ^x ( ) ; δu(k) = u (k) - u( )

r(k+1) = r (k) = r( ) = r

Restando las ecuaciones se obtiene:

^ δ ^x (k) + ^
δ ^x (k+1) = G H δu (k)

δu (k) = - ^
K δ ^x (k)

Finalmente:
^ -^
δ ^x (k+1) = ( G H ^
K ) δ ^x (k)

Finalmente se obtiene:
|z I^ −G+
^ ^ ^|=0 …(11)
HK

Donde:
Km es constante de conversión, de la ecuación (1):

r (∞ )
km=
y (∞)

Pero:
y ( ∞ )=h (∞) =2
e r ( ∞ )=eh=K θ θ ( ∞ )=r (∞)
5 Vol
K θ=
3 π rad
θ ( ∞ )=6 π

Entonces:
r (∞ ) 10
km= = =5
y (∞) 2

Definamos las matrices ampliadas:

^=
G
[ G 0
−T K m C 1 ]
^
H=
[ H
−T K m D ]
^ [ C 0]
C=

^
D= [ D ]

^
K= [ K −K I ]

Calculando las matrices ampliadas con Matlab:

clc,clear all,close all;


A=[-0.00417 0.25 0 0;0 -0.5 0.025 0;0 0 0 1;0 0 -0.8 -0.3];
B=[0;0;0;0.08];
C=[1 0 0 0];
D=[0];
T=0.8125;
[G,H,C1,D1]=c2dm(A,B,C,D,T,'tustin');
G
H
C1
D1
Km=5
Ga=[G zeros(4,1);-TKm*C1 1]
Ha = [H;-TKm*D1]
Ca = [C1 0]
Da = [D1]

^
G=¿
0.9966 0.1685 0.0015 0.0006 0
0 0.6623 0.0151 0.0055 0
0 0 0.7894 0.6480 0
0 0 -0.5184 0.5950 0
-4.9915 -0.4214 -0.0038 -0.0014 1.0000

^
H=¿
0.0000
0.0002
0.0211
0.0518
- 0.000045

^
C=¿
0.9983 0.0843 0.0008 0.0003 0

^
D=¿
0.0000090122

Utilizaremos el método algorítmico para hallar k .Verificando que el sistema es de


estado completamente controlable, ya que en otro caso no se puede calcular la matriz k .

Con Matlab:

Ma=[Ha Ga*Ha (Ga^2)*Ha (Ga^3)*Ha (Ga^4)*Ha ]


r = rank(Ma)
det(Ma)

^
M =¿
0.000018024 0.00010893 0.00031777 0.00061584 0.00091421
0.00017777 0.00071940 0.0013440 0.0016065 0.0013568
0.021059 0.050214 0.052552 0.032302 0.0023826
0.051838 0.019928 -0.014173 -0.035675 -0.037972
-0.000045061 -0.00036244 -0.0014292 -0.0037632 -0.0075884

Rango ( ^
M ) =5

Det ( ^
M ) = -1.1094e-13

Determinante, diferente de cero y Rango = 5 el sistema es completamente controlable


Identificamos los coeficientes ai del polinomio característico original. Con Matlab:

Pa=poly(Ga)

Pa =

1.0000 -4.0434 6.8058 -6.0127 2.7821 -0.53178

|ZI −G
^ |=z 5−4.0434 z 4 +6.8058 z 3−6.0127 z 2 +2.7821 z−0.53178

Identificando los ai tenemos: a0=1

a1 = -4.0434; a2 = 6.8058; a3 = -6.0127; a4 = 2.7821 a5= -0.53178


Determinemos la matriz de cambio de base T, que transforma las ecuaciones de estado
del sistema a la forma controlable.

T= ^
M∗W

Donde M es la matriz de controlabilidad y W es una matriz simétrica que se expresan


respectivamente como:

W=
2.7821 -6.0127 6.8058 -4.0434 1.0000
-6.0127 6.8058 -4.0434 1.0000 0.0000
6.8058 -4.0434 1.0000 0.0000 0.0000
-4.0434 1.0000 0.0000 0.0000 0.0000
1.0000 0.0000 0.0000 0.0000 0.0000

En Matlab:

T=Ma*W

T=

-1.8029e-05 -3.6053e-05 -1.9466e-09 3.6049e-05 1.8024e-05


1.7718e-04 -6.1165e-07 -3.5496e-04 5.9755e-07 1.7777e-04
-1.3900e-02 3.4937e-02 -7.1587e-03 -3.4937e-02 2.1059e-02
3.4219e-02 -1.5443e-01 2.5805e-01 -1.8967e-01 5.1838e-02
-4.5018e-05 -1.8022e-04 -2.7036e-04 -1.8024e-04 -4.5061e-05

De la expresión:

P ( z )=z 5−2.1199 z 4 +1.2490 z 3 −0.1325 z 2 +0.0034 z−0.000001

Identificando los coeficientes αi:

α1= -2.1199; α2=1.2490; α3= -0.1325; α4=0.0034; α5= 0.000001


a1 = -4.0434; a2 = 6.8058; a3 = -6.0127; a4 = 2.7821 a5= -0.53178

K=[ K −KI ]
Obtenemos:
−1 −1
K=[ α 5 −a5 α 4 −a4 α 3 −a3 α 2−a2 α 1 −a1 ].T =Ka. T

De las ecuaciones (I) y (II) tenemos:

Ka = [0.53178 -2.7787 5.8802 -5.5568 1.9235]

Entonces:
−1
Utilizando los siguientes comandos del MATLAB para hallar T
Ti = inv(T)

Ti =

1.0e+04 *

-1.3905 0.2416 -0.0015 0.0001 -0.1387


-0.6935 -0.0159 0.0008 -0.0001 -0.1387
0.0011 -0.0690 -0.0001 0.0001 -0.1387
0.6933 0.0130 -0.0006 -0.0001 -0.1387
1.3833 0.1839 0.0014 0.0001 -0.1387

Utilizando los siguientes comandos del MATLAB para hallar K

K =Ka*inv(T)

Entonces la matriz K es la siguiente:

K = [41.777 488.51 27.553 24.219 -5.2114]

KI= 5.2114

g) Si er(t)=r(k) determinar las funciones de transferencia Y(z)/R(z)

El sistema de control representado por las siguientes ecuaciones

x(k +1)=G. x(k )+H . u(k )


y (k )=C . x (k )+D .u (k )
u(k )=−K . x( k )+K I . v(k )
v(k+1)=v (k )+r(k +1 )− y(k )

Podemos llevarlo al siguiente espacio de estado:

[ x ( k +1 ) ¿ ] ¿ ¿ ¿
¿
Recordemos que el sistema ampliado se expresa mediante:
¿ ¿ ¿ ¿ ¿
x (k +1)=G x (k )+H u (k )+H 1 r (k )
¿ ¿ ¿ ¿
y (k )=C x (k )+ D. u(k ) u (k )=−K x ( k )

Aplicando la transformada Zeta,


¿ ¿ ¿ ¿ ¿
z X ( z )=G X ( z)+H U ( z )+H 1 R ( z )
¿ ¿ ¿ ¿ ¿ ¿ ¿
z X ( z )=G X ( z)−H K X ( z )+H 1 R( z )

Obtenemos:

[ zI−G +H K ] X ( z)=H 1 R( z)
¿ ¿ ¿ ¿ ¿

−1
X ( z)=[ zI−G +H K ] H 1 R( z)
¿ ¿ ¿ ¿ ¿

Aplicando la transformada Zeta a la expresión de y(k),

[ ]
¿ ¿ ¿ ¿ ¿ ¿ ¿
Y ( z)=C X ( z)−D K X ( z)= C −D K X ( z)
¿ ¿ −1 ¿
[ ][ ]
¿ ¿ ¿
Y ( z)= C −D K zI−G +H K H 1 R( z)

Entonces la función de transferencia será:

−1
Y (z )
[ ][ ]
¿ ¿ ¿ ¿ ¿ ¿
= C −D K zI −G + H K H1
R (z )
−1
En MATLAB,
F( z )=C2 .( z . I−G 2 ) . H 2 +D2

G2=Ga-Ha*K3;
H2=[0;0;0;0;1];
C2=Ca-Da*K3;
D2=[0];
[num,den]=ss2tf(G2,H2,C2,D2)
tf(num,den,0.8125)

Función de transferencia:

Y (z)
=¿
R (z)

4 3 2
4.697e-05 z +0.0001879 z +0.0002818 z +0.0001879 z +4.697e-05
5 4 3 2
z −2.12 z + 1.252 z −0.1324 z +0.003389 z−6.575e-05

h) Graficar las variables de estado x(k), del error e(k), v(k), y(k) y la variable de control
u(k) ante una entrada en r(k)= 1 rad (tipo escalón) usando como vector de condiciones
iniciales x (0) según su buen criterio.

[num,den]=ss2tf(G2,H2,C2,D2)
T = 0.8125;
N = 5000;
figure(1)
Y1 = dstep(10*num,den,N);
k = 0:N-1;
stairs(k*T,Y1)
xlabel('kT (seg)'); %nombre del eje X
title('Respuesta del sistema ante un escalón unitario');
%Titulo de la gráfica

tf(num,den,0.8125)
X0=[0 0.1 0 0.01 0];
R=10*ones(5000,1);
figure(2)
[Y,X]=dlsim(G2,H2,C2,D2,R,X0);
stairs((1:5000)*0.8125,Y);
title('Respuesta del sistema’);
grid on;

figure(3)
stairs((1:5000)*0.8125,X);
grid on;

FIGURA 3
Grafica del vector de estado X en función de k

figure(4)
stairs((1:5000)*0.8125,X(:,1));
xlabel('kT (seg)');
grid on;

X1(t)

figure(5)
stairs((1:5000)*0.8125,X(:,2));
xlabel('kT (seg)'); %nombre del eje X
grid on;
X2(t)

figure(6)
stairs((1:5000)*0.8125,X(:,3));
xlabel('kT (seg)');
grid on;

X3(t)
figure(7)
stairs((1:5000)*0.8125,X(:,4));
xlabel('kT (seg)'); %nombre del eje X
grid on;
X4(t)

figure(8)
stairs((1:5000)*0.8125,X(:,5));
xlabel('kT (seg)'); %nombre del eje X

figure(9)
km=5;
stairs((1:5000)*0.8125,10*ones(5000,1)-km*Y);
xlabel('kT (seg)'); %nombre del eje X
title('Grafica del Error'); %Titulo de la gráfica
i) Interpretar físicamente la dinámica del sistema basándose en las gráficas de
la parte (h).

 En la grafica del error vemos que esta tiende a cero en el tiempo de


establecimiento.

 Para la respuesta del desplazamiento x3(t) con condición inicial igual a 0m;
estableciéndose luego en 0.8m, en un tiempo “ts” sin sobre pico (sobre
amortiguado).

 Para y(t)= h(t), en condiciones iníciales cero, y una entrada escalón, llega a su
máximo de 2m estableciéndose en el tiempo “ts” y no lo sobrepasa, la gráfica es
sobre amortiguada, cumpliendo con el requerimiento, ya que no hay sobre pico
(es decir sin desbordamiento).

 En la respuesta dx(t)/dt es la velocidad del desplazamiento del impulsor


hidráulico; cual luego decae estableciéndose en el tiempo “ts”.

También podría gustarte