𝑲 ∗ (𝒔 + 𝟏)
𝑫𝒄 =
(𝒔 + 𝟏𝟑)
𝒔𝟐 + 𝟖𝟏
𝑮(𝒔) =
𝒔𝟐 (𝒔𝟐 + 𝟏𝟎𝟎)
Función multiplicada y retroalimentada.
𝒀 𝑲(𝒔𝟑 + 𝒔𝟐 + 𝟖𝟏 ∗ 𝒔 + 𝟖𝟏)
= 𝟓
𝑹 𝒔 + 𝟏𝟑 ∗ 𝒔𝟒 + (𝒌 + 𝟏𝟎𝟎) ∗ 𝒔𝟑 + (𝒌 + 𝟏𝟑𝟎𝟎) ∗ 𝒔𝟐 + 𝟖𝟏 ∗ 𝒌 ∗ 𝒔 + 𝟖𝟏 ∗ 𝒌
Polos = 5
Ceros = 3
𝟖𝟏 ∗ 𝑲 > 𝟎 Con esto podemos ver que para
que el sistema sea estable la
𝑲>𝟎 variable K debe ser mayo
estrictamente a 0(cero).
A. Grafica Matlab (rlocus) en el cual se muestra la ubicación de
los polos y ceros, teniendo 3 ceros y 5 polos.
B. Tenemos una ganancia de 16.5 para el polo dominante obteniendo
un damping o factor de amortiguamiento de 0.5, sin embargo,
los dos polos resonantes nos dan un damping máximo de 0.16 con
una ganancia de 148. Con lo cual se concluye que no hay una K
que haga que el factor de amortiguamiento sea igual 0.5.
C. Para obtener un zeta o factor de amortiguamiento igual a 0.707
obtenemos una ganancia de 32.2, vista en e grafico de Matlab.
D. Respuesta a una entrada impulso unitaria con una K=32.2
Para este apartado se pueden apreciar las diferentes respuestas del
sistema al variar la K y además se muestra que sucede al momento de
ingresar una K negativa haciendo así el sistema inmediatamente
inestable.
A.
Ecuaciones de estado Diagrama de las ecuaciones de
estado
𝑿𝟏 = −𝟓 ∗ 𝑿𝟏 + 𝑿𝟐 + 𝑿𝟑
𝑿𝟐 = 𝟎 ∗ 𝑿𝟏 − 𝟑 ∗ 𝑿 𝟐 − 𝟐 ∗ 𝑿𝟑 + 𝒖
𝑿𝟑 = 𝟎 ∗ 𝑿𝟏 + 𝟎 ∗ 𝑿𝟐 − −𝟒 ∗ 𝑿𝟑 + 𝒖
𝒚 = 𝑿𝟏 + 𝑿𝟑
Resultados del código
Código Matlab
A=[-5 1 1;
0 -3 -2;
0 0 -4];
B=[0;
1;
1];
C=[1 0 1];
D=[0];
[b,a] = ss2tf(A,B,C,D);
Mc=ctrb(A,B);->controlabilidad
Det=det(Mc);->determinante
Obs=obsv(A,Mc);->observabilidad
DetO=det(Obs);->determinante
Función de transferencia obtenida usando el comando ss2tf en Matlab,
el cual transforma un espacio de estados en una función de
transferencia
𝒀 𝒔𝟐 + 𝟏𝟎 ∗ 𝒔 + 𝟐𝟎)
= 𝟑
𝑼 (𝒔 + 𝟏𝟐 ∗ 𝒔𝟐 + 𝟒𝟕 ∗ 𝒔 + 𝟔𝟎
B. Nuevo diagrama de ecuaciones de estado
C.
Se puede apreciar que el
determinante al no ser 0 (cero)
nos da a entender que nuestro
sistema de ecuaciones o la
función de transferencia
obtenida de las ecuaciones,
puede ser controlado.
Además, al ser la matriz de
diferente dimensión no puede
ser observable.
En la imagen adyacente se
aprecia la matriz de
controlabilidad (Mc) y la
matriz de observabilidad (Obs).
s=tf('s');
Kv=100;
G=1/(0.01*s^3 + 0.25*s^2 + s);
K=Kv/dcgain(s*G)
Mfd=45;
teta=7
Mfc=-28.3;
G1=K*G;
figure(1)
bode(G1),grid
[MGc,MFc,Wcg,Wcf] = margin(G1);
fi_m=Mfd-Mfc+teta;
fi_m= deg2rad(fi_m);
alfa=(1-sin(fi_m))/(1+sin(fi_m))
Gwm=20*log10(alfa);%10*log10(alfa);
wm=111;%47.8;
T=1/(wm*sqrt(alfa))
z=9.41;
p=1308;
kc=13900;
C=zpk(-z,-p,kc)
L=C*G;
figure(2)
bode(G,L);
T=feedback(G,1);
Tc=feedback(L,1);
figure(3)
bode(T,Tc)
A. Diagrama de bloques SIMULINK
Comando MATLAB
A=[0.174 0 0 0 0;
0.157 0.645 0 0 0;
0 1 0 0 0;
0 0 1 0 0;
0 0 0 1 0];
B=[-0.207;
-0.005;
0;
0;
0];
Mc=ctrb(A,B); -> controlabilidad
Det=det(Mc); -> determinante
Obs=obsv(A,Mc); -> observabilidad
DetO=det(Obs); -> determinante
B.
Teorema 1: Controlabilidad
Un sistema lineal descrito por ecuaciones de estado es controlable
si y sólo si la matriz de controlabilidad tiene rango n.
Código Matlab Mc=ctrb(A,B)
Al tener un determinante diferente a 0 (cero), se puede concluir que
el sistema es controlable
C.
Teorema 2: Observabilidad
Un sistema lineal descrito por ecuaciones de estado es observable
si y sólo si la matriz de observabilidad tiene rango n.
Código Matlab Obs=obsv(A,Mc);
De acuerdo a la matriz de observabilidad que nos entrega Matlab
podemos deducir que el tamaño de la matriz no es admisible para
obtener un determinante, por lo tanto, el sistema no es observable