Documentos de Académico
Documentos de Profesional
Documentos de Cultura
All All: %%QUIZ %%teodoro Rios %% CC:1098814291
All All: %%QUIZ %%teodoro Rios %% CC:1098814291
%%TEODORO RIOS
%% CC:1098814291
clc
clear all
close all
%%CONDICIONES INCIALES
syms x;
M1 = 2500;
M2 = 320;
K1 = 80000;
K2 = 500000;
b1 = 350;
b2 = 15020;
s = tf('s');
%%MATRIZ DE ESTADO
A=[0 1 0 0
-(b1*b2)/(M1*M2) 0 ((b1/M1)*((b1/M1)+(b1/M2)+(b2/M2)))-(K1/M1) -(b1/M1)
b2/M2 0 -((b1/M1)+(b1/M2)+(b2/M2)) 1
K2/M2 0 -((K1/M1)+(K1/M2)+(K2/M2)) 0];
B=[0 0
1/M1 (b1*b2)/(M1*M2)
0 -(b2/M2)
(1/M1)+(1/M2) -(K2/M2)];
c=[0 0 1 0];
D=[0 0];
%%BLOQUE DE FUNCIONES G1 Y G2
nump=[(M1+M2) b2 K2];
denp=[(M1*M2) (M1*(b1+b2))+(M2*b1) (M1*(K1+K2))+(M2*K1)+(b1*b2) (b1*K2)+(b2*K1) K1*K2];
G1=tf(nump,denp)
G1 =
G2 =
1
numf=num1;
denf=nump;
F=tf(numf,denf)
F =
step(G1)
step(0.1*G2)
2
%%PID CONTROL
Kd = 208025;
Kp = 832100;
Ki = 624075;
C = pid(Kp,Ki,Kd);
sys_cl=F*feedback(G1,C);
3
%%LUGAR GEOMETRICO DE LAS RAICES PID
z1=1;
z2=3;
p1=0;
s = tf('s');
C = ((s+z1)*(s+z2))/(s+p1);
rlocus(C*G1)
title('root locus with PID controller')
4
%%GANANCIA PARA EL CONTROL PID
Kd=2*Kd;
Kp=2*Kp;
Ki=2*Ki;
C=pid(Kp,Ki,Kd);
sys_cl=F*feedback(G1,C);
step(0.1*sys_cl,t)
title('Response to a 0.1-m Step w/ High-Gain PID')
axis([0 5 -.01 .01])
5
%%LUGAR GEOMETRICO DE LAS RAICES
R = roots(denp)
R = 4×1 complex
-23.9758 +35.1869i
-23.9758 -35.1869i
-0.1098 + 5.2504i
-0.1098 - 5.2504i
rlocus(G1)
z=-log(0.05)/sqrt(pi^2+(log(0.05)^2))
z = 0.6901
sgrid(z,0)
6
%%AGREGANDO UN FILTRO DE CAMPANILLA CON POLOS EN 3+-5i CON ANGULOS DE 30 Y 60
z1=3+3.5i;
z2=3-3.5i;
p1=30;
p2=60;
numc=conv([1 z1],[1 z2]);
denc=conv([1 p1],[1 p2]);
C=tf(numc,denc);
rlocus(C*G1)
z = 0.6901
sgrid(z,0)
[k,poles]=rlocfind(C*G1)
7
selected_point = -14.5739 + 3.5732i
k = 1.3598e+06
poles = 6×1 complex
-55.3402 +78.6729i
-55.3402 -78.6729i
-13.0729 +15.8509i
-13.0729 -15.8509i
-0.6726 + 5.2168i
-0.6726 - 5.2168i
8
%%CONTROL CON ESPACIOS DE ESTADO
sys=ss(A,B,c,D);
K = 1×5
0 2300000 500000000 0 8000000
t = 0:0.01:3;
sys_cl = ss(Aa-Ba(:,1)*K,-0.1*Ba,Ca,Da);
step(sys_cl*[0;1],t)
title('Closed-Loop Response to a 0.1-m Step')
9
%%CONTROL PID DISEÑADO POR EL USUARIO
syms x;
t = 0:0.01:2;
[b1,a1]=ss2tf(A,B,c,D,1);
[b2,a2]=ss2tf(A,B,c,D,2);
g11=tf(b1(1,:),a1);
g21=tf(b2(1,:),a2);
G=[g11;g21]
G =
d1 =
10
D1=diff(d1,x)
D1 =
D11 =
D11=simplify(D11)
D11 =
Z1 = 2×1 complex
-2.6638 +13.0464i
-2.6638 -13.0464i
P1 = 4×1 complex
-5.5777 +20.4687i
-5.5777 -20.4687i
-0.4436 + 1.6064i
-0.4436 - 1.6064i
R1 = 5×1 complex
27.8435 + 0.0000i
0.9284 +17.7095i
0.9284 -17.7095i
-14.5408 + 0.0000i
-0.4532 + 0.0000i
x=R1(5,1)
11
x = -0.4532
K = -7.4462e+03
syms k;
r=((1721+k*0.1878)/(48.17))*(((1721+k*0.1878)/(48.17))-1851-0.003525*k)+5000 +0.625*k;
r=simplify(r)
r =
k = 2×1
106 ×
4.4288
-0.0093
w=sqrt((1721+k*0.1878)/(48.17))
w = 2×1 complex
102 ×
1.3154 + 0.0000i
0.0000 + 0.0066i
p=(2*pi)/w
p = 1×2
0.0478 0
kp=0.6*k(1,1)
kp = 2.6573e+06
ki=kp/(0.5*p(1,1))
ki = 1.1126e+08
kd=(0.125*p(1,1))*(kp)
kd = 1.5866e+04
C1= pid(kp,ki,kd);
sys_cl=F*feedback(G1,C1);
12
%%GANANCIA PARA EL CONTROL PID
kd=2*kd;
kp=2*kp;
ki=2*ki;
C1=pid(kp,ki,kd);
sys_cl=F*feedback(G1,C1);
t=0:0.05:5;
step(0.1*sys_cl,t)
title('Response to a 0.1-m Step w/ High-Gain PID')
axis([0 5 -.01 .01])
13
%%CONTROL LUGAR GEOMETRICO DE LAS RAICES USARIO
RA=0.9;
MP=exp(-(RA*pi)/sqrt(1-0.9^(2)))
MP = 0.0015
Ts=0.22;
WN=4/(RA*Ts);
x=-RA*WN+WN*sqrt(1-0.9^(2))*i
x = -18.1818 + 8.8059i
Ang1 = 37.0943
Mag2=x+1;
Ang2=radtodeg(angle(x+1))
Ang2 = 152.8644
Angt=-180+Ang1+Ang2;
14
p=((WN*sqrt(1-0.9^(2)))/tand(Angt))+RA*WN
p = 68.3335
Mag3=x+p;
Ang3=radtodeg(angle(x+p));
ANGT=radtodeg(angle(((Mag2/Mag3)*Mag1)))
ANGT = 180
kc=1/abs(((Mag2/Mag3)*Mag1))
kc = 1.4959e+06
Bs = 3.6545
ADELANTO =
s + 1
---------
s + 68.33
ATRASO=tf([1,1/10],[1,1/(10*Bs)])
ATRASO =
s + 0.1
-----------
s + 0.02736
sys_cl=F*feedback(G1,kc*ADELANTO*ATRASO);
t=0:0.01:2;
step(0.1*sys_cl,t)
title('Closed-Loop Step Response w/ Notch Filter USER')
15
%%CONTROL ESPACIOS DE ESTADO SIN INTEGRADOR DEL USUARIO (OPTIMO CUADRATICO)
Rang=rank(A)
Rang = 4
Dete=det(A)
Dete = 50000
P=5*WN*RA;
K = 2×4
0.0003 0.0003 -0.0015 0.0000
0.4142 1.3652 -13.5190 -0.5652
P = 4×4
1.9308 0.4320 -0.7389 0.0237
0.4320 0.4241 -0.7360 0.0230
-0.7389 -0.7360 11.4047 -0.3370
0.0237 0.0230 -0.3370 0.0106
E = 4×1 complex
103 ×
-0.0016 + 0.0000i
16
-0.0053 + 0.0010i
-0.0053 - 0.0010i
-1.5628 + 0.0000i
k1=k(1,1);
t = 0:0.01:5;
AA = A-B*K;
BB = B*k1;
CC = c;
DD = D;
XO=[1;1;1;1];
sys = ss(AA,BB,CC,DD);
[y,x,t] = step (AA,BB,CC,DD,1,t);
plot(t,x)
grid
title('Curvas de respuesta x1, x2, x3,x4 respecto de t USUARIO')
xlabel('t Seg')
ylabel('x1,x2,x3,x4')
text(0.17,579.8,'x1')
text(0.58,486.8,'x2')
text(1.15,427.1,'x3')
text(0.8,68.95,'x4')
step(sys*[0;1],t)
title('Closed-Loop Response to a 0.1-m Step')
17
%%CONTROL ESPACIOS DE ESTADOS CON INTEGRADOR USER
K = 2×5
104 ×
0.0503 0.8037 -3.2097 0.0998 0.0607
0.0383 0.6119 -5.9735 -0.3665 -0.0795
P = 5×5
108 ×
0.0639 0.0102 -0.0076 0.0003 0.0002
0.0102 0.1627 -0.1215 0.0043 0.0245
-0.0076 -0.1215 2.5551 -0.0773 0.0386
0.0003 0.0043 -0.0773 0.0023 -0.0011
0.0002 0.0245 0.0386 -0.0011 0.8089
E = 5×1 complex
106 ×
18
-0.0000 + 0.0000i
-0.0000 + 0.0000i
-0.0000 + 0.0000i
-0.0000 - 0.0000i
-8.5700 + 0.0000i
19