% FUNCION DE TRANSFERENCIA IDENTIFICADA % 8.5 % ------------------------- % s^2+3.5s+8.5 % numerador y denominador para la F.T. n = 8.5; d = [1 3.5 8.5]; % grafica de la respuesta del sistema % para una entrada escaln unitario sys = tf(n,d); Gp = tf(n,d); t = 0:0.001:10; y = step(sys,t); plot(t,y,'b','linewidth',2) % axis([0 8 0 1.4]) e = title('\bf respuesta de la planta subamortiguada'); set(e,'fontname','courier','fontsize',14); xlabel('\bf t(seg)'); ylabel('\bf amplitud'); grid % OBTENCION DE LA PENDIENTE MAXIMA % grficamente podemos ver que el % tiempo de establecimiento es: t1 = 0:0.001:10; y = step(sys,t1); % calculo de una pendiente t = t1 - t1(1); y = y - y(1); % BUSQUEDA DE LA MAXIMA PENDIENTE % hallamos la pendiente desde un t = 0 hasta % un t = 0.12 pero escogemos la de mayor pendiente, % realizando una comparacin entre estas. N = length(t1); Pmax = 0; %pendiente (max) = 0 imax = 0; %posicin(max) = 0 % comparacin de pendientes for i = 1:N-1 P = (y(i+1)-y(i))/(t1(i+1)-t1(i)); if P>Pmax; Pmax = P; imax = i; end end % ubicacin de dos puntos para hallar la recta % tangente con pendiente mxima ymax = [y(imax) y(imax+1)]; tmax = [t1(imax) t1(imax+1)]; % OBTENCION DE LOS PARAMETROS K, L y T % obtencin de la respuesta K = median (y(N-3:N)); % trazando recta de mayor pendiente P = polyfit(tmax,ymax,1); R = polyval(P,t1); %calculo del parmetro L L = roots(P); %calculo del parmetro T Tx = roots(P - [0 K]); T = Tx - L; figure plot (t1,y,'b','linewidth',2); hold plot (t1,R,'r--','linewidth',2); % axis([0 10 -0.3 1.4]); h=title('\bf curva teora de reaccion'); set(h,'fontname','courier','fontsize',14) xlabel('\bf t(seg)'); ylabel('\bf amplitud'); grid % CONTROLADOR Ziegler-Nichols Tc = 4*L; m = K*L/T; a = K*L/T; Kc = 2/(m*L); Kp = 0.6/a Ti = T; Td = 0.5*L; Ki = Kp/Ti Kd = Kp*Td