Ejercicio 6.16 de Franklin et al, 2006
De ISAwiki
En esta página se incluye una sencilla plantilla (script en Matlab), con comentarios, para la resolución del ejercicio 6.16 del Franklin. Es un punto de partida para que el alumno lo trabaje por su cuenta más a fondo, probando alternativas. Algunas ideas en las que puede trabajar:
- Realizar una simulación en Simulink del sistema de control
- Replantear los objetivos de control (ej. aumentar el MF, imponer un ancho de banda, objetivo de rechazo a perturbaciones...) y rediseñar.
- Realizar tres o cuatro diseños alternativos, dibujar las funciones de sensibilidad (S,T,Su,Si) y hacer un análisis comparativo.
- Hacer un análisis conjunto con el lugar de las raíces mediante Sisotool
- etc.
% Plantilla para el ejercicio 6.16 de Franklin et al. 2006 5a edición % ("Feedback control of dynamic systems") % Ignacio Díaz, 2012 clear; % OBJETIVOS: % Kv = 10, PM = 45º s = tf('s'); G = 10/(s*(s/2.5+1)*(s/6+1)); % La Kv está bien. Dejamos la ganancia proporcional en K=1 K = tf(1,1); L = K*G; % Calculamos la Kv actual (observamos que Kv ya es 10, la respetamos) Kv = dcgain(L*s), % Dibujamos el Bode actual para ver el PM figure(1); bode(L); % PM menor que -4º --> ¡Inestable! % PRIMERA ITERACIÓN % Establecemos phimax = 45º-(-4º)+5º = 54º phimax = 54*pi/180; % Calculamos wmax de la red de adelanto. Debe ser un poco más que la wcg % para compensar la variación de wcg introducida por la ganancia de la red % de adelanto wmax = 7; alpha = (1-sin(phimax))/(1+sin(phimax)); T = 1/sqrt(alpha)/wmax; % Dibujamos el bode resultante figure(1); Clead = (T*s+1)/(alpha*T*s+1); C = K*Clead bode(K*G,Clead,C*G); grid on; % Dibujamos la respuesta al escalón t = linspace(0,10,1000); T = C*G/(1+C*G); figure(2); step(T,t); % SEGUNDA ITERACIÓN % Como vemos que con el procedimiento básico no conseguimos los objetivos % de MF. Con alpha = 0.1 ya está muy forzada. Conviene utilizar una segunda % red de adelanto % Establecemos phimax = 60º phimax = 60*pi/180; % Calculamos wmax de la red de adelanto. Debe ser un poco más que la wcg % para compensar la variación de wcg introducida por la ganancia de la red % de adelanto. Iteraremos si hace falta para encontrar el punto de máximo % aporte ("cresta" de la montaña de fase sobre la wcg final) wmax = 15; alpha = (1-sin(phimax))/(1+sin(phimax)); T = 1/sqrt(alpha)/wmax; % Dibujamos el bode resultante figure(1); Clead2 = (T*s+1)/(alpha*T*s+1); C = K*Clead*Clead2 bode(K*G,Clead,Clead2,C*G); grid on; % Dibujamos la respuesta al escalón T = C*G/(1+C*G); figure(2); step(T,t);