% DISEÑO DE CONTROLADORES CON LUGAR DE LAS RAICES - Tema 9 % clear all close all clc %% Ejemplo 1 % Determinar SO y ts para un controlador proporcional P=K=1.38 G=tf([5],conv([1 2],[1 1])) K1=1.38; figure(1) rlocus(G) % Mirando la gráfica se deduce que los polos tienen Re= -1.5 y Im= 2.57 % Los polos complejos tienen la forma -d*wn + i*wn*sqrt(1-d^2) y -d*wn - i*wn*sqrt(1-d^2) % Planteamos el sistema de ecuaciones % d*wn = 1.5 --> wn=1.5/d % wn*sqrt(1-d^2) = 2.57 --> 3.9355*d^2=1 --> d = 0.5041 d = 0.5041 wn=1.5/d SO=exp(-((pi*d)/sqrt(1-d^2))) SO=SO*100 alpha=acos(d) ts= (pi-alpha)/(wn*sqrt(1-d^2)) G_lc=feedback(K1*G,1) figure(2) step(G_lc) %% Ejemplo 2 clear all close all clc G=tf([5],conv([1 2],[1 1])) figure(1) rlocus(G) ylim([-4 4]) % Determinar K tal que SO<20% y ts pequeño % Siendo SO=exp(-((pi*d)/sqrt(1-d^2))), entonces % d = sqrt(log(SO)^2/(pi^2+log(SO)^2)) SO=0.2; d = sqrt(log(SO)^2/(pi^2+log(SO)^2)) alpha=acos(d) % Del lugar de las raices se deduce que Re=-1.5 wn=1.5/d A= -d*wn + (wn*sqrt(1-d^2))*i figure(1) hold on plot(real(A),-imag(A),'x') % por el criterio swl módulo 1+K*G(A)=0 ==> K=|1/G(A)| % Escribimos G(s) en simbolico syms s Gs= 5/(s^2 + 3*s + 2) s=A; G_A=eval(Gs) K=1/abs(G_A) G_lc=feedback(K*G,1) figure(2) hold on step(G_lc) datos = stepinfo(G_lc,'RiseTimeLimits',[0 1]); fprintf('ts = %.4f \nSO = %.4f \n', datos.RiseTime, datos.Overshoot) % tomo un d mayor para tener menos SO d = 1.05*d alpha=acos(d) % Del lugar de las raices se deduce que Re=-1.5 wn=1.5/d A= -d*wn + (wn*sqrt(1-d^2))*i figure(1) hold on plot(real(A),imag(A),'x') % por el criterio swl módulo 1+K*G(A)=0 ==> K=|1/G(A)| % Escribimos G(s) en simbolico syms s Gs= 5/(s^2 + 3*s + 2) s=A; G_A=eval(Gs) K=1/abs(G_A) G_lc=feedback(K*G,1) figure(2) step(G_lc) datos = stepinfo(G_lc,'RiseTimeLimits',[0 1]); fprintf('ts = %.4f \nSO = %.4f \n', datos.RiseTime, datos.Overshoot)