Documente Academic
Documente Profesional
Documente Cultură
K
s +2 s+2
2
G p ( s )=
30
s +2 s+2
2
+
R(s)
Gc(
Gp(
Y(s)
Ts
3
Ts de Lazo Abierto.
4
e p=0
Discretizar
Gc (s)
Realizar una comparacin entre los dos controladores diseados (Continuo y Discreto).
WindUp
Umax = 1
Umin = -1
CODIGO MATLAB
Gp_S = tf(30,[1 2 2])
figure(1),step(Gp_S),grid on
System: Gp_S
Peak amplitude: 15.6
Overshoot (%): 4.32
At time (seconds): 3.15
16
Step Response
System: Gp_S
Settling time (seconds): 4.22
System: Gp_S
Final value: 15
14
System: Gp_S
Rise time (seconds): 1.52
12
Amplitude
10
4
Time (seconds)
3
Tsol
4
Ts 3.165 s
CODIGO MATLAB
tsol = 4.22;
ts = 3*tsol/4;
Os = 5;
%
%
%
%
Parmetros de diseo
Tiempo de establecimiento en lazo abierto.
Tiempo de establecimiento en lazo cerrado.
Porcentaje de sobrepaso.
A travs de la herramienta SISOTOOL se pueden mover los polos y ceros del sistema en el
plano de manera que la respuesta mejore su comportamiento
El controlador PID elimina por el error de estado estable, adems se disminuye el tiempo de
establecimiento y porcentaje de sobrepaso acorde a lo requerido, adicionalmente el sistema
responde ms rpido.
Para poder trabajar la funcin de transferencia del controlador diseado se Exporta este a MatLab.
>> C
0.71528 (s+1.402) (s+1.142)
--------------------------s (s+7.107)
C=
>> C =tf(C)
CODIGO MATLAB
num=[0.7153 1.82 1.146];
den=[1 7.107 0];
Gc_S=tf(num,den)
figure(2),step(feedback(Gc_S*Gp_S,1)),grid on
Step Response
1.4
System: untitled1
Peak amplitude: 1.05
Overshoot (%): 5.03
At time (seconds): 0.891
1.2
System: untitled1
Final value: 1
Amplitude
1
System: untitled1
Settling time (seconds): 3.35
0.8
0.6
0.4
0.2
10
12
Time (seconds)
Figura 2_1. Respuesta al escaln del sistema en lazo cerrado con Gc(s) diseado.
>> a = pid(Gc_S)
1
s
K p+ Ki + Kd
s
T f s+1
N=
1
1
=
=7.0922
T f 0.141
>> b = pidstd(Gc_S)
K p (1+
1
s
+T d
)
Ti s
Td
s+ 1
N
DISCRETIZADO
Primero se discretiza el sistema utilizando un retenedor de orden cero (Zoh), y posteriormente se
discretiza el controlador mediante el mtodo de diferencia atrs.
Se establece el tiempo de muestreo teniendo en cuenta
T=
=0.0422 s
20
10
Step Response
16
14
12
Amplitude
10
8
6
4
2
0
Time (seconds)
Obtenidos los parmetros del controlador se discretiza el PID analgico utilizando el mtodo de
diferencia haca atrs.
Gc ( s )=
Gc ( z )=
G c ( z )=
z1 2
+1.82
zT
z 1 2
+ 7.107
zT
( )
( )
0.7153
+1.146
( z1
zT )
( z1
zT )
11
Gc ( z )=
CODIGO MATLAB
% Discretizacin del controlador utilizando diferencia atrs.
num = [1.146*T^2+1.82*T+0.7153, -(1.82*T+1.4306), 0.7153];
den = [7.107*T+1, -(7.107*T+2), 1];
Gc_Z = tf(num,den,T)
figure(4),step(feedback(Gc_Z*Gp_Z,1)),grid on
Gc_Z =
0.7941 z^2 - 1.507 z + 0.7153
------------------------------------1.3 z^2 - 2.3 z + 1
Step Response
1.4
System: untitled1
Peak amplitude: 1.1
Overshoot (%): 9.7
At time (seconds): 0.844
1.2
System: untitled1
Settling time (seconds): 3.35
Amplitude
System: untitled1
Final value: 1
0.8
0.6
0.4
0.2
Time (seconds)
Figura 4. Respuesta Discretizada al escaln del sistema en lazo cerrado con Gc(s) diseado
Al discretizar se encuentra algunas diferecias respecto a la respuesta ya vista; entre ellos se aumenta
al doble el valor del porcentaje de sobrepaso y se aumenta un poco el tiempo de establecimiento.
12
ECUACIN EN DIFERENCIAS
De la funcin de transferencia discretizada del controlador se tiene que,
Se dividide por
z2
y se pasa a terminos de k
ANTI WINDUP
Con la secuencia obtenida para
u(k )
13
a2
b1
b2
b3
=
=
=
=
uk_1
uk_2
ek_1
ek_2
Ik =
0.769;
0.6108;
-1.1592;
0.55;
% Condiciones Iniciales.
= 0;
= 0;
= 0;
= 0;
0;
% Constantes.
Kp = 0.233;
Ti = 1.45;
Td = 0.291;
T = 0.0422;
% Coeficientes.
qi = Kp*T/Ti;
qd = Kp*Td/T;
while(true)
Leer_PV;
Leer_SP;
% Procesamiento.
SP - PV;
Ik + qi*ek;
qd*(ek-ek_1);
Kp*ek + Ik + Dk;
% Anti WindUp.
if( (uk<umin && ek<0) || (uk>umax && ek>0)), Ik = Ik - qi*ek;
end
% Saturacin.
if(uk < umin), uk = umin;
end
if(uk > umax), uk = umax;
end
% Salida.
Salida_U = uk;
% Actualizacin.
uk_2 = uk_1;
uk_1 = uk;
ek_2 = uk_1;
ek_1 = ek;
ek
Ik
Dk
uk
end
% Lectura de datos.
=
=
=
=
COMPARACIN DE MODELOS
14
Para realizar una comparacin de los modelos continuo y discreto se implementa una simulacin en
SIMULINK (sistema en tiempo continuo), junto con STATEFLOW (Algoritmo sistema en tiempo
discreto).
15