Академический Документы
Профессиональный Документы
Культура Документы
𝐾
𝐺 𝑠 =
𝑠 + 3 (𝑠 + 6)
Código Resultados
clc Zero/pole/gain:
clear all
1
K=1;
Gs=zpk([],[-3 -6],K) -----------
Step(feedback(Gs,1)) (s+3) (s+6)
rlocus(Gs)
rlocus(feedback(Gs,1))
a. La ganancia proporcional K.
b. El tiempo de establecimiento.
Para lograr un overshoot del 10% se requiere de una ganancia K=40, el tiempo de
establecimiento ts=0.778 segundos.
El error en régimen permanente:
Código Resultados
K=40; Zero/pole/gain:
Gs2=zpk([],[-3 -6],K) 40
%sisotool(Gs)
%Errores de regimen permanente -----------
Kp=dcgain(Gs2) (s+3) (s+6)
%Error de pocisión
err_pos=1/(1+Kp) Kp = 2.2222
s=tf('s')
Kv=dcgain(s*Gs2)
%Error en Velocidad err_pos =0.3103
err_vel=1/Kv
Ka=dcgain(s^2*Gs2) Transfer function: s
%Erroi en aceleración
err_acel=1/Ka
Kv = 0
err_vel = Inf
Ka =0
err_acel =Inf
Del código anterior observamos que el error de posición del sistema es de 0.3103.
b. El tiempo de establecimiento.
c. El error en régimen permanente.
𝐶𝑃𝐷 𝑠 = 𝐾 ∗ (1 + 𝑇𝑑. 𝑠)
El tiempo de establecimiento:
E= 1 - 0.936 = 0.064
Código Resultados
clc Error = 0.0641
clear all
%TF planta
K=1; Zero/pole/gain:
Gs=zpk([],[-3 -6],K) 11.33 (s+23.21)
%sisotool(Gs) ---------------
%TF Controlador
Kd=11.33; (s+3) (s+6)
Cs=zpk([-23.214],[],Kd)
%Calcular el error
Kp=dcgain(Gs*Cs); Zero/pole/gain:
Error=1/(1+Kp) 11.33 (s+23.21) (s+6) (s+3)
%Sistema en lazo abierto ------------------------------------------
Gss=Gs*Cs (s+3) (s+6) (s^2 + 20.33s + 281)
%Sistema en lazo cerrado
Xss=Gss/(1+Gss)
pzmap(Xss)
Se observa con el mapa de polos y ceros del sistema que se reduce a un sistema
de segundo orden porque dos de los polos se cancelan con dos ceros .
E=0
Código Resultados
clc Zero/pole/gain:
clear all
1
%TF planta ---------------
K=1;
(s+3) (s+6)
Gs=zpk([],[-3 -6],K)
%sisotool(Gs)
%TF Controlador Zero/pole/gain:
Ki=60.7562; 60.7562 (s+1.55)
Cs=zpk([-1.55],[0],Ki) ------------------------
%Calcular el error
Kp=dcgain(Gs*Cs);
s
Error=1/(1+Kp)
%Sistema en lazo abierto Error = 0
Gss=Gs*Cs
%Sistema en lazo cerrado Zero/pole/gain:
Fss=Gss/(1+Gss)
pzmap(Fss) 60.7562 (s+1.55)
------------------------
s (s+3) (s+6)
Zero/pole/gain:
60.7562 s (s+1.55) (s+3) (s+6)
----------------------------------------------------------
s (s+3) (s+6) (s+1.38) (s^2 + 7.62s + 68.24)
60.7562𝑠 𝑠 + 1.55 𝑠 + 3 (𝑠 + 6)
𝐹 𝑠 =
𝑠 𝑠 + 3 𝑠 + 6 𝑠 + 1.38 (𝑠 2 + 7.62𝑠 + 68.24)
60.7562 𝑠 + 1.55
𝐹(𝑠) =
𝑠 + 1.38 (𝑠 2 + 7.62𝑠 + 68.24)
El sistema se puede reducir a uno de segundo orden debido a la cercanía del polo
-1.38 con el cero -1.55; evidenciado en la curva de la respuesta transitoria
Código Resultados
%Overshoot= 10% z =0.5912
%tiempo de asentamiento=0.389
pos=10;
ts=0.389; Pm =58.5931
z=(-log(pos/100))/(sqrt(pi^2+log(pos/100)^2))
Pm=atan(2*z/(sqrt(-2*z^2+sqrt(1+4*z^4))))*(180/pi) Wbw =20.1761
Wbw=(4/(ts*z))*sqrt((1-2*z^2)+sqrt(4*z^4-4*z^2+2))
El margen de fase para obtener un overshoot del 10% debe ser PM>58.5931º y el
ancho de banda necesario para obtener un tiempo de establecimiento de 0.389
segundos debe ser Wbw=20.1761.
La ganancia que se ajustó para lograr este margen de fase es K= 40. El tiempo de
establecimiento es de 0.778 segundos y el overshoot del 10%. No es suficiente
con ajustar la ganancia K para obtener el ts deseado y el %OS.
Código Resultados
% porcentaje de sobrepaso pos =10
pos=10
% tiempo de establecimiento
Ts=0.39 Ts =0.3900
% cálculo de zeta en función del
porcentaje de sobrepaso z = 0.5912
z=(-
log(pos/100))/(sqrt(pi^2+log(pos/100)^2))
% cálculo del margen de fase
Pm = 58.5931
Pm=atan(2*z/(sqrt(-
2*z^2+sqrt(1+4*z^4))))*(180/pi) Wbw =20.1243
% cálculo del ancho de banda
Wbw=(4/(Ts*z))*sqrt((1-2*z^2)+sqrt(4*z^4- wn =17.9006
4*z^2+2))
%cálculo de la frecuencia natural
wn=(-log(0.02*sqrt(1-z^2)))/(Ts*z)
≥se elige una =0.65 y como PM≈100entonces PM=65º, aunque en los
cálculos PM=58.6º. Se toma finalmente para el diseño del compensador un
PM=60º.
La planta cuando tiene una frecuencia de 18 rad/s tiene un PM=28º (Ver Figura
18) por lo tanto se requieren de 32º para lograr el PM=60º.
1−𝛼
sin 32 =
1+𝛼
α= 0.307
1
= 18𝑟𝑎𝑑/𝑠
𝑇 α
T=0.1003 segundos
𝑇. α = 0.0308
-10log α=4.87 dB
(1 + 𝑇𝑠)
𝐶 𝑠 =𝐾∗
(1 + α𝑇𝑠)
Por lo tanto:
(1 + 0.1003𝑠) (𝑠 + 9.97)
𝐶 𝑠 =𝐾∗ = 𝐾/0.307 ∗
(1 + 0.0308𝑠) (𝑠 + 32.46)
E = 1 - 0.858 = 0.142
(1 + 0.1003𝑠) (𝑠 + 9.97)
𝐶 𝑠 = 109.05 ∗ = 355.2117 ∗
(1 + 0.0308𝑠) (𝑠 + 32.46)
(1 + 𝑇𝑠) (𝑠 + 1/𝑇) (𝑠 + 𝑎)
𝐶 𝑠 = = =
𝑇𝑠 𝑠 𝑠
1 18
= 𝑟𝑎𝑑/𝑠
𝑇 10
𝑇 = 0.556 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠
1
𝑎= = 1.7986
𝑇
Por lo tanto el compensador Lag que elimina el error queda de la siguiente forma:
(𝑠 + 1.7986)
𝐶 𝑠 =
𝑠
Se inserta este valor en el editor de compensadores de la sisotool y se ajusta la
ganancia para cumplir con el overshoot y el ts deseado.
(𝑠 + 9.97)
𝐶 𝑠 = 355.2117 ∗ Lead 0.389 8.6 0.142 71.4 11.7
(𝑠 + 32.46)