0% encontró este documento útil (0 votos)
90 vistas7 páginas

Método de La Integral Del Error Sintonía Controlador PID

El método de la Integral del Error para la sintonía de controladores PID, propuesto inicialmente por López et al. en 1967, se basa en minimizar el error en régimen permanente utilizando criterios como IAE e ITAE. Este enfoque considera toda la curva del sistema, a diferencia de otros métodos que solo analizan la razón de declino. Además, se presentan ejemplos prácticos y un código en Matlab para implementar la sintonía PID utilizando este método.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
90 vistas7 páginas

Método de La Integral Del Error Sintonía Controlador PID

El método de la Integral del Error para la sintonía de controladores PID, propuesto inicialmente por López et al. en 1967, se basa en minimizar el error en régimen permanente utilizando criterios como IAE e ITAE. Este enfoque considera toda la curva del sistema, a diferencia de otros métodos que solo analizan la razón de declino. Además, se presentan ejemplos prácticos y un código en Matlab para implementar la sintonía PID utilizando este método.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Método de la Integral del Error Sintonía Controlador PID

Inicialmente propuesto en [López et a., 1967] para perturbaciones de carga y


posteriormente fue extendido por [Rovira et al., 1969] para seguimiento de referencias.

El método propone utilizar los criterios de desempeño de la integral del error por un
periodo de tiempo que sea suficiente para eliminar el error en régimen permanente.

La ventaja de este método es que considera toda la curva del sistema, en lugar de
considerar la razón de declino del 1/4 (C/A) de los métodos de Ziegler y Nichols y de
Cohen y Coon.

En la práctica suele usarse principalmente el criterio IAE (Integral del valor absoluto):


T
IAE=∫ |e (t)|dt
0

Y el ITAE (Integral del valor absoluto multiplicado por el tiempo):


T
I T AE=∫ t |e (t)|dt
0

Siendo esta última menos sensible a los errores que suceden después de la


perturbación.
El método de sintonía utiliza la ecuación del controlador PID paralelo clásico:
1
C ( s ) =k c (1+ +τ s)
τi s d

Este método también supone que la dinámica tenga un comportamiento en forma de S,


es decir que pueda ser representado por una función de transferencia de primer orden
con retardo:

K e−θs
G p=
τs+1

SINTONÍA CONTROL PID VÍA INTEGRAL DEL ERROR

En el trabajo de [López et a., 1967] se consideró una perturbación de carga por lo tanto
el principal objetivo del controlador era la de rechazo de disturbios (problema
regulatorio).

Esta propuesta fue resuelta numéricamente por medio de algoritmos de


optimización con el fin de minimizar la integral del error para varias razones entre
tiempo muerto y la constante de tiempo del proceso (factor de incontrolabilidad (θ/ τ)).

θ
El rango de análisis fue de factores de incontrolabilidad entre 0 y 1. [0< <1 ].
τ
Seguidamente fue planteada la siguiente regresión para obtener las ecuaciones de la
sintonía:

Las constantes A, B, C, D, E, F se obtienen a partir de la siguiente tabla para cada tipo


de controlador (PI o PID) y para cada criterio (IAE o ITAE).
En el trabajo de [Rovira et al., 1969] se consideró un disturbio en el setpoint (Tipo
Servo). Y de la misma forma fue resuelto un problema de optimización numéricamente
y después una regresión para obtener las siguientes ecuaciones de sintonía (donde solo
la ecuación para el cálculo del tiempo integral es diferente al anterior).

Las constantes  A∗, B∗, C∗, D∗, E∗, F∗¿ se obtienen a partir de la siguiente tabla para
cada tipo de controlador (PI o PID) y para cada criterio (IAE o ITAE).

Ejemplo de sintonía PID vía Integral del Error


Tenemos el siguiente proceso representado por medio de una función de transferencia
de segundo orden:
2
G ( s )=
(2 s +1)(5 s+1)
El objetivo es identificar un modelo de primer orden con retardo del proceso anterior y
sintonizar un controlador PID usando el método CHR.

Código en Matlab
%% SINTONÍA DE CONTROL VÍA INTEGRAL DEL ERROR
clc
clear
close all

%% Proceso Real
G=tf([2],conv([2 1],[5 1]));
[Link]=1;

%% Identificación del Modelo vía Ziegler y Nichols


%tiempo
dt=0.01;
t=0:dt:35;
%Entrada
u(1:length(t))=1;
%Salida
y=lsim(G,u,t);
dy=diff(y)/dt; %Derivada
dy2=diff(dy)/dt;
%% Encontrar el punto de inflexion y su derivada
% el punto donde la pendiente de la respuesta escalón tiene su valor
máximo (punto de inflexión)
[m,p]=max(dy);
yp=y(p);
tp=t(p);
tm=0:20;
ym=m*(tm-tp)+yp; %Ecuacion de la recta

%Gráfica punto de inflexión


figure
plot([t(1) t(end)],[2 2],'--k',[11 11],[0 2],'--k','linewidth',2);
hold on
plot(t,y,tp,yp,'o',tm,ym,'-r','linewidth',3);
axis([0 35 0 3]);
box off
ylabel('$$c(t)$$','FontSize',20,'Interpreter','latex')
xlabel('$$t$$','FontSize',20,'Interpreter','latex')
set(gca,'FontSize',(20) )

%% Modelo Identificado del Sistema


k = 2; %Ganancia del Sistema
theta=2; %Retardo
tau=9; %Constante de Tiempo
% Modelo
Gm=tf([k],[tau 1]);
[Link]=theta;

%% Comparar Sistema Real vs Modelo


figure
step(G,Gm)
legend('Planta','Modelo')

%% Método 1 López
Controlador = {'PI';'PI';'PID';'PID'};
Criterio = {'IAE';'ITAE';'IAE';'ITAE'};

m = menu('PID via integral del Error','López', 'Rovira');


if m == 1
A = [0.984;0.859;1.435;1.357];
B = [-0.986;-0.977;-0.921;-0.947];
C = [0.608;0.674;0.878;0.842];
D = [-0.707;-0.680;-0.749;-0.738];
E = [0;0;0.482;0.381];
F = [0;0;1.137;0.995];
else
A = [0.758;0.586;1.086;0.965];
B = [-0.861;-0.916;-0.869;-0.850];
C = [1.02;1.03;0.740;0.796];
D = [-0.323;-0.165;-0.130;-0.147];
E = [0;0;0.348;0.308];
F = [0;0;0.914;0.929];
end

T = table(Controlador,Criterio,A,B,C,D,E,F)

% Controlador PI - PID
Kp = zeros(4,1);
Ki = zeros(4,1);
Kd = zeros(4,1);
for i=1:4
Kp(i) = 1/k * ( T.A(i) * (theta/tau)^T.B(i) );
if m == 1
ti = tau / ( T.C(i) * (theta/tau)^T.D(i) );
else
ti = tau / ( T.C(i) + T.D(i) * (theta/tau) );
end
Ki(i) = Kp(i) / ti;
td = tau * ( T.E(i) * (theta/tau)^T.F(i) );
Kd(i) = Kp(i) * td;
end

DIAGRAMA DE BLOQUES EN SIMULINK


LAZO ABIERTO

LAZO CERRADO PI
LAZO CERRADO PID

También podría gustarte