Ejercicio 6.15 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.15 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.
% Ejemplo 6.15 de Franklin et. al 2006 
% ("Feedback control of dynamic systems, 5a ed.")
% Ignacio Díaz Blanco, 2012
%

% OBJETIVOS DE CONTROL:
% Kp = 9, MF>=25º
%

s = tf('s');
G = 1/((s/0.5+1)*(s+1)*(s/2+1));
K = tf(9,1);


% PRIMERA ITERACIÓN

% Establecemos phimax = 25º-7º+10º
phimax = 28*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   = 2.2;
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 = C*G/(1+C*G);
figure(2);
step(T);



% SEGUNDA ITERACIÓN
% Como vemos que con el procedimiento básico no conseguimos los objetivos
% de MF, forzamos el alpha para conseguir más fase

% 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   = 3;
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 = C*G/(1+C*G);
figure(2);
step(T);

Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Tipos de páginas
Bloques temáticos
Herramientas