Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AREQUIPA-PERU
(1)
(2)
(3)
function [h]=pidmotor(kp,ki,kd)
% Modelo del motor G(s)
J=3.2284e-6;
b=3.5077e-6;
K=0.0274;
R=4;
L=2.75e-6;
num=K;
den=[(J*L) ((J*R)+(L+b)) ((b*R)+K^2) 0];
% TF del controlador PID(s)
kp=kp;
ki=ki;
kd=kd;
numpid=[kd kp ki];
denpid=[1 0];
% TF en lazo abierto F(s)=G(s)*PID(s)
numf=conv(num,numpid);
denf=conv(den,denpid);
[af,bf,cf,df]=tf2ss(numf,denf)
sysf=ss(af,bf,cf,df)
% TF en lazo cerrado H(s)= F(s)/(1+F(s))
h=feedback(sysf,1)
d =
u1
y1 0
Continuous-time model.
a =
x1 x2 x3 x4
x1 -2.159e+006 -8.614e+007 -5.524e+009 0
x2 1 0 0 0
x3 0 1 0 0
x4 0 0 1 0
b =
u1
x1 1
x2 0
x3 0
x4 0
c =
x1 x2 x3 x4
y1 0 0 5.524e+009 0
d =
u1
y1 0
Continuous-time model.
La grafica es mas estable que los anteriores, como se puede observar, se tiene
un porcentaje de sobreimpulso bajo, tiempo de asentamiento muy bueno que es menor
que en los anteriores casos, tiene un tiempo pico y un tiempo de levantamiento.
i) y
for w=[0:0.25:4];
z=0.7
t=0:0.001:5
num=[w.^2]
den=[1 2.*z.*w w.^2]
h=tf(num,den)
hold on
step(h,t)
title('Respuesta del primer sistema')
end
for w=[0:0.25:4];
z=0.7
num=[w.^2]
den=[1 2.*z.*w w.^2]
h=tf(num,den)
hold on
pzmap(h)
title('Respuesta de polos del primer sistema')
end
ii) y
for w=[0:0.25:4];
z=0.5
t=0:0.001:5
num=[w.^2]
den=[1 2.*z.*w w.^2]
h=tf(num,den)
hold on
step(h,t)
title('Respuesta del segundo sistema')
end
for w=[0:0.25:4];
z=0.5
num=[w.^2]
den=[1 2.*z.*w w.^2]
h=tf(num,den)
hold on
pzmap(h)
title('Respuesta de polos del segundo sistema')
end
Respuesta de polos del segundo sistema
4
4
0.4 0.28 0.2 0.14 0.09 0.04 3.5
3
3 0.56
2.5
2
2
1.5
0.8
1
1
0.5
Imaginary Axis
0.5
-1
1
0.8
1.5
-2
2
2.5
-3 0.56
3
0.4 0.28 0.2 0.14 0.09 0.04 3.5
-4
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 40
Real Axis
iii) y
for z=[0:0.25:3]
w=2;
t=0:0.001:5
num=w^2
den=[1 2.*z.*w w^2]
h=tf(num,den)
hold on
step(h,t)
title('Respuesta del tercer sistema')
end
Respuesta del tercer sistema
2
1.8
1.6
1.4
1.2
Amplitude
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time (sec)
for z=[0:0.25:3]
w=2;
num=w^2
den=[1 2.*z.*w w^2]
h=tf(num,den)
hold on
pzmap(h)
title('Respuesta de polos del tercer sistema')
end
Respuesta de polos del tercer sistema
2.5
0.972 0.945 0.89 0.8 0.64 0.4
2
0.988
1.5
1 0.997
0.5
Imaginary Axis
12 10 8 6 4 2
0
-0.5
-1 0.997
-1.5
0.988
-2
0.972 0.945 0.89 0.8 0.64 0.4
-2.5
-12 -10 -8 -6 -4 -2 0
Real Axis
iiii) y
for z=[0:0.25:3]
w=3;
t=0:0.001:5
num=w^2
den=[1 2.*z.*w w^2]
h=tf(num,den)
hold on
step(h,t)
title('Respuesta del cuarto sistema')
end
Respuesta del cuarto sistema
2
1.8
1.6
1.4
1.2
Amplitude
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time (sec)
for z=[0:0.25:3]
w=3;
num=w^2
den=[1 2.*z.*w w^2]
h=tf(num,den)
hold on
pzmap(h)
title('Respuesta de polos del cuarto sistema')
end
Respuesta de polos del cuarto sistema
3
0.982 0.962 0.925 0.86 0.72 0.45
0.992
2
0.998
1
Imaginary Axis
18 16 14 12 10 8 6 4 2
0
-1
0.998
-2
0.992
System: sys
0.8
Rise Time (sec): 1
Amplitude
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7
Time (sec)
, , y
>> t=0:0.001:10;
>> step([2.164^2],[1 2*0.9242*2.164 2.164^2],t)
>>
1.2
System: sys System: sys
Settling Time (sec): 2.3 Final Value: 1
1
System: sys
Peak amplitude: 1
System: sys Overshoot (%): 0.0499
0.8
Rise Time (sec): 1.38
Amplitude
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
Time (sec)
donde:
bx
F
Recomendación: El sistema controlado deberá tener una respuesta rápida ( < 1 s),
un sobrepaso mínimo ( < 25%) y un error en régimen permanente nulo
( ).
Para lograr que los parámetros requeridos sean obtenidos en este caso se optó
por hacer la sintonización probando valores para cada uno de los componentes
del controlador PID, en este problema indicaremos cual es el sistema en espacio de
estados tal como muestra Matlab a diferencia de los problemas anteriores; y los
valores de los componentes del controlador para los cuales se obtiene una respuesta
que está entre los límites de las características requeridas por el sistema.
af =
-7.5000 -12.5000 0
1.0000 0 0
0 1.0000 0
bf =
1
0
0
cf =
1.0e+003 *
df =
a=
x1 x2 x3
x1 -7.5 -12.5 -0
x2 1 0 0
x3 0 1 0
b=
u1
x1 1
x2 0
x3 0
c=
x1 x2 x3
y1 12.5 250 1000
d=
u1
y1 0
Continuous-time model.
a=
x1 x2 x3
x1 -20 -262.5 -1000
x2 1 0 0
x3 0 1 0
b=
u1
x1 1
x2 0
x3 0
c=
x1 x2 x3
y1 12.5 250 1000
d=
u1
y1 0
Continuous-time model.
a=
x1 x2 x3
x1 -20 -262.5 -1000
x2 1 0 0
x3 0 1 0
b=
u1
x1 1
x2 0
x3 0
c=
x1 x2 x3
y1 12.5 250 1000
d=
u1
y1 0
Continuous-time model.
System: h
Tunning del sistema (masa-resorte) con un PID
Peak amplitude: 1.23
1.4
Overshoot (%): 23.2
At time (sec): 0.188
1.2
System: h System: h
Settling Time (sec): 0.544 Final Value: 1
1
System: h
0.8
Rise Time (sec): 0.0775
Amplitude
0.6
0.4
0.2
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time (sec)
Para finalizar este laboratorio podemos concluir que para valores cercanos de la
acción proporcional que están alrededor de 500 se logra un porcentaje de
sobrepaso menor al 25%, mientras que para valores de la acción integral que no
estén tan cerca del valor que elegimos y que es de 2000 en este caso, se obtiene un
error en régimen permanente igual a cero; y finalmente para valores de la acción
derivativa que estén alrededor del valor de 25 se obtiene un tiempo de respuesta
que es menor de 1seg.