Sunteți pe pagina 1din 10

INFORME DE LAB 1

Alejandro Navarro Luna Cod: 2160472


Juan Carlos Florez Triana Cod: 2141874
Luis Eduardo Cardenas Lamus Cod: 2144262

1. Diseñar una función de MATLAB que halle los valores de la matriz K , de tal
manera que los valores propios de Acl = A − B K ,sean los polos hallados a partir de
las siguientes condiciones de diseño, ts2% = 4 ySp = 10%.
Donde:

s1,2 =− σ + j ωd

√1 − ζ
2
σ = ζ ωn ωd = ω n

A = [0 1; − 1 − 3] , B = [1 0; 0 1]
K = [− 1 − 4.8615; 0 0]

function​ ​K​ = ​Ksys​(A,B,Sp,Ts)

syms x
eqn = Sp == ​exp​(-x*​pi​/​sqrt​(​1​-x^​2​));
assume(x>=​0​)
Z = solve(eqn,x); %constante de amortiguamiento
syms wn
eqn = Ts == ​4​/(Z*wn);
wn = solve(eqn,wn); ​%frecuencia natural
ro = double(Z*wn);
wd = double(wn*​sqrt​(​1​-Z^​2​));
COEFF2 = poly([-ro+​1​i*wd -ro​-1​i*wd]);

syms L k11 k12 k21 k22


K = [k11 k12;k21 k22];
M = L*​eye​(​2​) - A + B*K;
P = det(M);
C = collect(P,L);
COEFF = coeffs(C,L);
COEFF = ​fliplr​(COEFF);

assume([k11 k12 k21 k22],​'real'​)


eqn = COEFF2 == COEFF;
S = solve(eqn,[k11 k12 k21 k22]);
k11 = double(S.k11);
k12 = double(S.k12);
k21 = double(S.k21);
k22 = double(S.k22);
K = [k11 k12;k21 k22];

Al comparar con la función de matlab, ​place,​ se debe utilizar los polos del sistema
deseado. Estos se encuentran en el polinomio de grado 2 de la variable COEFF2. Con
place se encuentra la matriz K 2 = [1 2.3644; − 2.3644 − 2] . Para verificar que K y K 2
generan una matriz similar para Acl se debe encontrar los valores propios de la matriz
Acl que genera cada matriz K . Al hacer esto se encuentra que los valores propios de
−15
cada Acl que se encuentran difieren al llegar al orden de magnitud de 10 , por lo tanto
K y K 2 generan matrices de Acl similares.

Conclusión:
- El código Ksys genera una de las infinitas posibilidades para la matriz K para que
esta genere una matriz Acl tal que describa un sistema con ciertas
especificaciones. Su diferencia es despreciable al resultado encontrado con la
​ e matlab.
función ​place d

2 . El esquema de control que se debe realizar se muestra en la figura 1.

Figura 1.

1
G(s) = s(s+1) , H (s) = 1

Hallar la respuesta del sistema en lazo abierto a las siguientes entradas.

a) Escalónunitario.
b) Impulso unitario.
c) sen(t)
d) Una señal cuadrada de amplitud unitaria de frecuencia 1[rad/s]
Como se puede observar en la imagen anterior la respuesta del sistema ante el impulso
unitario tiende a un valor distinto de cero, en este caso 1, cuando el tiempo tiende a infinito
lo cual nos permite inferir que el sistema es críticamente estable porque en caso de que el
sistema fuera estable la respuesta del sistema ante el impulso unitario tendería a cero.

La consecuencia de que el sistema sea críticamente estable se ve reflejado en la respuesta


del sistema ante otros tipos de entrada ya que para una entrada de amplitud finita el sistema
responde con una salida la cual tiende al infinito para el caso de las entradas tipo escalón y
tipo señal cuadrada.

En cuanto a la entrada senoidal se observa como la respuesta inicia en cero y después se


estabiliza alrededor de un nivel de dc por así decirlo, sobre el cual se mantiene oscilando la
salida del sistema en forma senoidal.
clc;
clear all;
%% sistema
sys = tf([​0​ ​0​ ​1​],[​1​ ​1​ ​0​]);
[u,t] = gensig(​'sin'​,​1​,​10​);
[u1,t1] = gensig(​'square'​,​1​,​10​,​0.001​);

%% Graficas
subplot(​2​,​2​,​1​)
impulse(sys,​10​)
subplot(​2​,​2​,​2​)
step(sys,​10​)
subplot(​2​,​2​,​3​)
lsim(sys,u,t)
subplot(​2​,​2​,​4​)
lsim(sys,u1,t1)

3. Teniendo en cuenta el sistema anterior, se debe generar un script en MATLAB,que a


partir de G(s) y H (s) halle: los polos, ceros, ecuación característica, LGR, respuesta al
escalón y al impulso del sistema en lazo cerrado

En la figura anterior se puede observar la función de transferencia en lazo cerrado “close


loop-cl” obtenida con la ayuda del comando freedback; el cual recibe los parámetros de
ganancia en trayectoria directa y ganancia en trayectoria cerrada “G y H”.

A continuación de esto se observan los polos de la función de transferencia de lazo cerrado


los cuales cuentan con una parte real negativa esto quiere decir que el sistema es estable
en lazo cerrado; y no cuenta con ceros finitos ya que la función de transferencia tiene como
numerador una constante igual a 1.

La ecuación característica es el denominador de la función de transferencia de lazo cerrado,


en este caso se muestra en forma de vector.
LGR Sistema Continuo

Respuesta al escalón del sistema Continuo

Se puede apreciar que la respuesta al escalón del sistema continuo en lazo cerrado es
bastante suave ya que el máximo sobrepico es de 1.16 un 16% del valor final o valor
estable; el tiempo que toma para llegar a este sobrepico es de alrededor de 4 segundos “un
cambio no abrupto” y por último el tiempo de establecimiento es de aproximadamente 10
segundos. Esto quiere decir que el sistema es lento para llegar a su valor final.
Respuesta al escalón del sistema Continuo

En la respuesta al impulso se observan aspectos muy similares a la respuesta al impulso ya


que cuenta con una forma muy parecida y con un tiempo de establecimiento muy cercano;
la excepción es que se presenta una oscilación que tarda aproximadamente 4 segundos la
cual muestra un sobrepico que excede en en 5.2 veces más del valor final.

a) Variar las funciones de transferencia del sistema tanto como se desee (valores y
cantidades de polos y ceros, ganancia de lazo abierto) y analizar los resultados.

1. VARIACIÓN DE GANANCIA K:

RAÍCES CON K=-0.001

-1.0010
0.0010

RAÍCES CON K=0.0001

-0.9999
-0.0001

Según el criterio de routh hurwitz el polinomio caracteristico en este caso el denominador de


la función de transferencia de lazo cerrado “1 + K*G(s)” no debe existir un cambio de signo
en así que si el valor de K es negativo inmediatamente el sistema se vuelve inestable.
2. UN POLO AGREGADO:

-1.4656 + 0.0000i
0.2328 + 0.7926i
0.2328 - 0.7926i

Si a la ganancia de lazo abierto se le agrega un polo; al momento de cerrar el lazo se


observa que el sistema se vuelve inestable ya que van a existir dos raíces al lado derecho
del plano s.

b) Discretizar G(s) de la figura 1 a un periodo de muestreo Ts= ts2%/40 para obtener


a Gd (z) y realizar las mismas actividades propuestas en a). Usar H d (z) = 1 .

G(s) Discretizada

LGR de G(s) Discretizada

Al momento de realizar el LGR de la version discreta de G(s) se observa que es marginalmente


estable ya que cuenta con una raiz en 1.
2. VARIACIÓN DE GANANCIA K:
Teniendo el sistema discretizado y con una ganancia unitaria se obtienen las siguientes
raices:
1.0000
0.9048
Ahora bien si se añade una ganancia negativa igual a -1 se observa que el sistema pasa de
ser marginalmente estable a inestable ya que existe un polo que supera la circunferencia
unitaria.

RAÍCES 1 + k*Gd(z)

1.0623
0.8473

2. UN POLO AGREGADO:
Al agregar un polo a la versión discretizada de G(s) y cerrar el lazo se obtiene
1.0214 + 0.0802i
1.0214 - 0.0802i
0.8618 + 0.0000i
El sistema se vuelve inestable ya que existen dos polos que superan la circunferencia unitaria.

clc, clear all, close all


s=tf(​'s'​);

NUM=[​1​];
DEN=[​1​ ​1​ ​0​];

G = tf(NUM,DEN); ​%%% FUNCION DE TRANSFERENCIA G(S)


H = tf(​1​);
cl = feedback(G,H) ​%%%% FUNCION DE TRANSFERENCIA DE LAZO CERRADO
den = get(cl,​'den'​); ​%%%% DENOMINADOR "ECUACION CARACTERISTICA" FIGURA
1
den = den{:}; ​%%%% FORMA DE VECTOR DE LO ANTERIOR

num = get(cl,​'num'​); ​%%% NUMERADOR FIGURA 1


num = num{:};

disp​(​'polos FT realimentada'​) ​%%% RAICES DE LA ECUACION CARACTERISTICA


roots(den)

disp​(​'ceros FT realimentada'​)
roots(num)
disp​(​'Ecuación Caracteristica'​)
disp​(den)

figure
subplot(​2​,​2​,​1​)
title(​'LGR FUNCION DE LAZO ABIERTO'​)
rlocus(G) ​%LGR

subplot(​2​,​2​,​2​)​%%% RESPUESTA AL ESCALON


step(cl)

subplot(​2​,​2​,​3​) ​%%% RESPUESTA AL IMPULSO


impulse(cl)

%%%%%%%%%%%%%%%%%%%%%%%% (A) %%%%%%%%%%%%%%%%%%%%%%%%%%

%%% VARIACION DE GANANCIA %%%

​ 0.001​;
K= -
K2 = ​0.0001​;

cl2 = feedback(K*G,H) ​%%%% FUNCION DE TRANSFERENCIA DE LAZO CERRADO


den2 = get(cl2,​'den'​); ​%%%% DENOMINADOR "ECUACION CARACTERISTICA"
FIGURA 1
den2 = den2{:}; ​%%%% FORMA DE VECTOR DE LO ANTERIO

cl3 = feedback(K2*G,H) ​ %%% FUNCION DE TRANSFERENCIA DE LAZO CERRADO


%
den3 = get(cl3,​'den'​); ​%%%% DENOMINADOR "ECUACION CARACTERISTICA"
FIGURA 1
den3 = den3{:}; ​%%%% FORMA DE VECTOR DE LO ANTERIOR

disp​(​'RAICES CON K=-0.001'​)


roots(den2)

disp​(​'RAICES CON K=0.0001'​)


roots(den3)

%%% VARIACION DE # DE POLOS %%%%%%%%%%%%%%%%%%%%%


NUM2=[​1​];
DEN2=[​1​ ​1​ ​0​ ​0​]; ​%%% SE AGREGA UN POLO EN CERO "UN INTEGRADOR"
G2 = tf(NUM2,DEN2); ​%%% FUNCION DE TRANSFERENCIA G(S)

clp = feedback(G2,H) ​ %%% FUNCION DE TRANSFERENCIA DE LAZO CERRADO CON


%
POLO AGREGADO
denp = get(clp,​'den'​); %​ %%% DENOMINADOR "ECUACION CARACTERISTICA"
FIGURA 1
denp = denp{:}; ​%%%% FORMA DE VECTOR DE LO ANTERIOR
disp​(​'RAICES DE LAZO CERRADO CON POLO AGREGADO'​)
roots(denp)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% B %%%%%%%%%%%%%%
%%% DISCRETIZACION DE G(S)%%%
KD = ​-1​;
ts = ​4​;
TS = ts/​40​;
[Nz,Dz] = c2dm (NUM,DEN,TS,​'zoh'​);
% figure
Y = dstep (Nz,Dz);
% plot (Y,'.');
disp​(​'RAICES G(S) DISCRETIZADA'​)
[ze,p] = tf2zp(Nz,Dz) ​%%% polos y ceros discretos de g(s)

%%%% VARIACION DE GANANCIA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%


disp​(​'RAICES 1 + k*G(z)*H(z)'​)
[zeR,pR] = tf2zp(KD*Nz,(Dz + KD*Nz)) ​%% RAICES DEL SISTEMA CERRADO
DISCRETIZADO CON GANANCIA NEGATIVA

%%% VARIACION DEL NUMERO DE POLOS %%%%%%%%%%%%%

[Nzp,Dzp] = c2dm (NUM2,DEN2,TS,​'zoh'​);


Y = dstep (Nz,Dz);
% plot (Y,'.');
disp​(​'RAICES G(S) DISCRETIZADA CON POLO AGREGADO'​)
[zeP,pP] = tf2zp(Nzp,(Dzp + Nzp)) ​%% RAICES DEL SISTEMA DISCRETIZADO CON
POLO AGREGADO
% sisotool(sys)

S-ar putea să vă placă și