Está en la página 1de 16

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

ELECTRÓNICA AUTOMATIZACIÓN Y CONTROL

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

CONTROL DIGITAL (3738)

ENTREGABLE No 2.2

DISEÑO DE CONTROLADORES DIGITALES POR UBICACIÓN DE POLOS

ESTUDIANTES:

LUDWIG RADRIGAN
FERNANDO GARCÍA
NICOLAS JÁCOME

DOCENTE:

DR. RODOLFO XAVIER GORDILLO ORQUERA

FECHA: 06 DE DICIEMBRE DE 2019

PERIODO:

SEPTIEMBRE 2019 – FEBRERO 2020


1. Introducción

El método de ajuste de un controlador PID por el método de Ziegler-NIchols resulta aplicable


cuando se conoce y también cuando se conoce la función de transferencia del proceso a
controlar. Sin embargo, cuando los requisitos de desempeño son exigentes en cuando a tiempo
de establecimiento y overshoot el método recomendado debe ser la ubicación de polos, que
conduce a lograr las especificaciones de diseño deseadas. En esta actividad se revisan la
ubicación de polos para un controlador PID tanto en tiempo continuo como en discreto y su
realización digital.

2. Ejercicios

Considere la función de transferencia de un micro-servo motor dada por:

360000
G ( s )=
( s +60 ) ( s+ 600 )

y se desea controlar la misma a través de un hardware de control cuya tasa de adquisición de datos es
de 5 kHz. Se desea ubicar los polos dominantes de lazo del sistema de manera que el índice de
amortiguamiento ξ = 0,8 y la frecuencia natural no amortiguada ωn = 800 rad/s. Como polo auxiliar se
selecciona un valor de p = −1300.

2.1. Ejercicio 1
Diseñe un controlador PID1 en su forma paralela mediante la ubicación de polos en tiempo continuo.
Realice su implementación digital como PID tipo A y PID tipo C si se digitalizan tanto la acción derivativa
y la acción integral por el método de Euler en atraso.
t
de
u ( t )=Kp∙ e ( t ) + Ki ∫ e ( τ ) d τ + Kd
0 dt

1
u ( t )=Kp∙ e ( t ) + Ki ∙ ∙ e ( t ) + Kd ∙ e ( t ) ∙ s
s

1
[
C ( s ) =k ∙ 1+
s ∙Ti
+s ∙ Td ]
Ki
C ( s ) =Kp+ + s ∙ Kd
s
rad
ξ=0.8 ωn=800 p=−1300
s

∆ pc=s ∙ ( s 2+ 660 s+ 36000 ) +360000∙ ( s2 Kd+ sKp+ Ki )

rad
Se tiene que ξ=0.8 ωn=800 p=−1300
s

( s2 +1280 ∙ s+ 640000 ) ∙( s+ 1300)

s3 +2580 s 2 +641300 s+ 832∙ 106

s3=¿1=1

s2=¿ 660+ 360000∙ Kd=2580 Kd=0.00533

s1=¿ 36000+360000 ∙ Kd=641300 Kp=1.68139

s0=¿360000 ∙ Ki=832∙ 106 Ki=2311.11


Ki
u ( t )=Kp∙ e ( t ) + ∙ e ( t ) + Kd ∙ e ( t ) ∙ s
s

Por Euler en atraso

z−1 1−z−1
s= =¿
z∙T T

Ki z−1
u ( t )=Kp∙ e ( t ) + ∙ e ( t )+ Kd ∙ e ( t ) ∙
z−1 z∙T
z∙T

2
Kp∙ e ( t ) ∙ ( 1−z −1 ) ∙ T + Ki ∙ T 2 ∙ e ( t )−Kd ∙ e ( t ) ∙ ( 1−z−1 )
( 1−z−1 ) ∙ T

Kd
u ( k ) −u ( k−1 ) =Kp∙ ( e ( k )−e ( k−1 )) + Ki (e ( k ) + ∙ ( e ( k )−e ( k−1 ) ) + e(k−2))
T

−1 −2
U ( z) ( S¿ ¿ 0+S 1 ∙ z + S 2 ∙ z )
= ¿
E(z) (1−z )
−1

Kd
u ( k ) =u ( k ) ∙ z−1 + Ki ∙Te ( k )+ Kc [ e ( k ) −e ( k ) ∙ z−1 ]+
T

Tipo A

T =0.2 ms
Kd
S0=Ki ∙T + Kp+ =28.8103
T

2 Kd
S1=−K p− =.−55.01472
T

Kd
S2 = =26.6666
T

Tipo C

Por tener 2 variables

Kd
U ( z )=z−1 ∙ u ( z )+ Ki ∙ T ∙ E ( z )−Kc [ y ( Z )−z−1 y ( z ) ]− [ Y ( z ) −2 z −1 y ( Z ) + z−2 y (z )]
T

E ( z )=s ∙ P ( z )−Y (z )

Kd Kd Kd −2
[
u ( z )=z−1 ∙ u ( z )+ Ki ∙ T ∙ SP ( z ) +Y ( z ) −Ki ∙ T −Kc−
T
− 2∙ (
T
+ Kc ∙ z−1−
T )
∙z
]
So S1 S2

u ( z )=z−1 ∙ u ( z )+ Ki ∙ T ∙ SP ( z )−S 0 ∙ y ( z )−S1 ∙ z −1 ∙ y ( z )−S2 ∙ z −2 ∙ y ( z )

u ( z ) ( 1−z−1 )=Ki ∙ T ∙ SP ( z )−( S0 + S1 ∙ z −1+ S2 ∙ z −2) ∙ y (z)

Ki ∙T S0 + S1 z−1+ S 2 ∙ z −2
u ( z )=
( 1−z
−1)SP( z)− ( 1−z
−1
∙ y (z))
2.2. Ejercicio 2
Diseñe un controlador PID en su forma discreta sin filtro de la acción derivativa ahora por ubicación de
polos en tiempo discreto (diseño digital directo) e implemente su realización en arquitecturas de uno y
dos grados de libertad.

0.006893 z +0.006596 b1 z +b 2
G ( z) = 2
= 2
z −1.875 z +0.8763 z + a1 z +a 2
S 0 z2 + S1 z+ S 2
C ( z )=
z (z−1)

Δ 0 ( z )=z ( z−1 ) ( z 2+ a1 z +a 2) +(b 1 z +b2 )(So z 2+ S 1 z+ S 2)

Δ 0 ( z )=z 4+ ( a1−1+ b1 S0 ) z 3 + ( a 2−a1 +b1 S 1 +b2 S 0 ) z2 + (−a2 +b1 S 2+ b2 S 1 ) z +b 2 S2

Δ 1 ( z )=( z 3+ d 1 z 2+ d 2 z +d 3 )( z+ α )

Δ 1 ( z )=z 4 + ( α + d1 ) z 3 + ( α d 1 +d 2 ) z 2+ ( α d 2 +d 3 ) z+ d 3 α

z4 → 1=1

z3 → a 1+b 1 S0 −1=α +d 1

z2 → a 2−a1 +b1 S 1 +b2 S 0=α d 1+ d 2

z1 → −a 2+ b1 S2 +b 2 S1=α d 2 +d 3

z0 → b 2 S2=d3 α

b1 0 0 −1 S0 1+ d 1−a1

[ b2 b1 0
0 b2 b1
0 0 b2
−d 1
−d 2
−d 3
][ ] [ ]
S1
S2
α
d +a −a
= 2 1 2
d 3 +a 2
0

0.0069 0 0 −1 S0 0.3523

[ 0.0066 0.0069
0
0
0 2.5227
0.0066 0.0069 −2.1247
0 0.0066 0.5969
][ ] [ ]
S 1 −06266
S2
α
=
0.2794
0

P ∙C=D

C=P−1 ∙ D
Resolviendo el Sistema de ecuaciones mediante software matemático Matlab:

S0=22.4339

S1=−40.0189

S2=17.8919

α =−0.1977
Siendo el controlador PID discretizado:

S 0 z2 + S1 z+ S 2 22.4339 z 2−40.0189 z+ 17.8919


C ( z )= =
z ( z−1) z 2−z

2.3. Ejercicio 3
Diseñe un controlador PID en su forma discreta con filtro de la acción derivativa ahora por ubicación de
polos en tiempo discreto (diseño digital directo) e implemente su realización en arquitecturas de uno y
dos grados de libertad.

Euler en atraso
z−1
s=
Tz

1 sTd
C ( s ) =K 1+
[ sTi
+
sT
1+ d
N
z−1
]
[ ]
T
1 Tz d
C ( z )=K 1+ +
z−1 z −1
T T
Tz i Tz d
1+
N

Tz ( z−1 ) T d N
C ( z )=K 1+
[ +
( z−1 ) T i NTz+ ( z−1 ) T d ]
Tz ( z−1 ) T d N
C ( z )=K 1+
[ +
( z−1 ) T i ( NT +T d ) z−T d ]
( z−1 ) T d N 1

C ( z )=K 1+
[ Tz
( z−1 ) T i
+
z

( NT +T d ) z−T d ( NT +T d )

( NT +T d )
]
( z−1 ) T d N

C ( z )=K 1+

Si solo si
[ Tz
( z−1 ) T i
+
z−
( NT + T d )
Td
( NT +T d )
]
−T d
r=
( NT +T d )
Entonces:
(Tz /T i) ( z −1 ) Nr
C ( z )=K 1+
[ ( z−1 )

z +r ]
( TzT ) ( z +r )−( z−1 )( z−1) Nr
C ( z )=K [ ( z−1 ) ( z +r )+
i

( z−1 ) ( z +r ) ]
T 2 Tr

C ( z )=K [ z 2+ ( r−1 ) z−r +


Ti
z + z−Nrz2 +2 Nrz−Nr
Ti
( z−1 ) ( z +r ) ]
T Tr
(
[ T ) ( )
]
2
1−Nr+ z + r−1+ +2 Nr z−Nr−r
Ti i
C ( z )=K
( z−1 )( z +r )
Igualando a la ecuación general de
s z2 + s1 z+ s 2
C ( z )= 0
( z−1 )( z +r )
Donde:
T
(
s0=K 1−Nr +
Ti )
Tr
(
s1=K r−1+ + 2 Nr
Ti )
s2=K (−Nr−r )

∆ 0 ( z )=( z 2+ p 1 z+ p 2)( z 2 +m 1 z +m 2)

∆ 0 ( z )=( z 4 +d 1 z3 + d2 z 2+ d 3 z +d 4 )

∆ 1 ( z )=( z2 +a 1 z +a2 ) ( z 2 + ( r−1 ) z−r ) +(s0 z 2+ s 1 z +s 2)( b1 z +b 2)

∆ 1 ( z )=( z 4 + ( r −1+ a1 +s 0 b1 ) z3 +(−r +a 1 r −a1 +a2 + s0 b2 + s1 b1 )z 2 +(−a1 r + a2 r−a 2+ s1 b2 + s2 b1 ) z +(−a2 r+ s 2 b 2))

z 4 →1=1

z 3 → d 1=r −1+a1 + s0 b1

z 2 → d 2=−r + a1 r −a1 +a 2+ s 0 b 2+ s 1 b 1
z 1 → d 3=−a1 r + a2 r −a2 + s1 b2 + s2 b1

z 0 → d 4 =−a 2 r + s2 b2 ¿ ¿

b1 0 0 1 s0 d 1 +1−a1

[ ][ ] [ ]
b2 b1 0 a 1−1
0 b2 b1 a1−a 2
0 0 b2 −a2
s1
s2
r
d −a +a
= 2 2 1
d 3 +a2
d4

PC D
Donde

C=P−1 D
Resolviendo el Sistema de ecuaciones mediante software matemático Matlab:

S0=8.1908

S1=−14.7485

S2=6.6453

r =−0.4752

Resultados de los controladores de los ejercicios 2 y 3

Diseño de un Controlador PID+F Discreto/Ubicación de polos


Obtención del modelo discreto de la planta y polos en T. discreto.......................................................11
PID con filtro de acción derivativa.........................................................................................................11
PID sin filtro de la acción derivativa.......................................................................................................12
Obtención del modelo discreto de la planta y polos en T. discreto
gs=tf(360000,[1 660 36000]); %Planta continuo.
f=5000;
T=1/f;
gz=c2d(gs,T); %Planta digitalizada.
[n,d]=tfdata(gz,'v');
b1=n(2);b2=n(3);a1=d(2);a2=d(3); %Extraer coeficientes para matriz P.
si=0.8; wn=800; %Especificaciones de desempeño.
x1=-si*wn+j*wn*sqrt(1-si^2); %Polo 1 dominante.
x2=conj(x1);%Polo 2
x3=-1300; x4=x3;
polosc=[x1 x2 x3 x4];
polosd=exp(polosc*T);
PID con filtro de acción derivativa.
ec=poly(polosd)
d1=ec(2);d2=ec(3);d3=ec(4);d4=ec(5); %Extraer coeficientes para matriz D.
P=[b1 0 0 1;b2 b1 0 a1-1;0 b2 b1 a2-a1;0 0 b2 -a2];
D=[d1+1-a1;d2-a2+a1;d3+a2;d4];
C1=inv(P)*D;
cz=tf(C1(1:3)',[1,-C1(4)-1,C1(4)],T);
% PID1DOF y PID2DOF
figure(1)
step(feedback(gz*cz,1),0.03)
hold on
Go=sum(C1(1:3)); %s0+s1+s2
c2z=tf([Go 0 0],cz.den{1},T);
step(c2z*feedback(gz,cz),0.03)
title('Controlador con Filtro');
hold off

ec =

1.0000 -3.2937 4.0698 -2.2352 0.4602


PID sin filtro de la acción derivativa
ec=poly(polosd(1:3));
d1=ec(2);d2=ec(3);d3=ec(4);
P=[b1 0 0 -1;b2 b1 0 -d1;0 b2 b1 -d2;0 0 b2 -d3];
D=[d1-a1+1;d2-a2+a1;d3+a2;0];
C=inv(P)*D;
c2=tf(C(1:3)',[1 -1 0],T)
% PID1DOF y PID2DOF
figure(2)
step(feedback(gz*c2,1),0.01)
hold on
Go=sum(C(1:3)); %s0+s1+s2
c2z=tf([Go 0 0],c2.den{1},T);
step(c2z*feedback(gz,c2),0.01)
title('Controlador sin Filtro');
hold off

c2 =

22.43 z^2 - 40.02 z + 17.89


---------------------------
z^2 - z

Sample time: 0.0002 seconds


Discrete-time transfer function.
Published with MATLAB® R2018a

2.4.Ejercicio 4
Realice una tabla comparativa del performance de los controladores diseñados e implemente mediante
rutina de software (Matlab function) el controlador con mejor desempeño.

También podría gustarte