Sunteți pe pagina 1din 9

Pr

actica 4: Dise
no de controladores por m
etodos analticos y
mediante ajuste por tablas
o

Control Automatico, 2 GITT


Esta pr
actica se divide en dos partes: en la primera de ellas se llevar
a a cabo el dise
no de
controladores PI y PID, usando metodos analticos; en la segunda parte, se aplicar
an tecnicas
de dise
no de controladores mediante ajuste por tablas.
En esta pr
actica, se parte directamente de una funci
on de transferencia dada por la expresi
on
siguente:

G(s) =

K wn2 (1 + s/c)
(1 + s/p) (s2 + 2 wn s + wn2 )

(1)

Se trata de una funci


on de transferencia que ser
a estable, con ganancia est
atica K y que, como
puede comprobarse, posee un polo real, que resultar
a ser el elemento m
as dominante respecto
a los dem
as, un cero que ser
a de fase mnima y un par de polos complejos conjugados, que
ser
an menos dominantes que los dem
as elementos (si bien, ninguno de los factores citados ser
a
totalmente despreciable frente a los dem
as).
Cada alumno elegir
a los valores numericos de los par
ametros, a partir de las siguientes relaciones:

K =

135 + 15 D8
90

p =

45 + 7 D7
90

c =

162 + 7 D6
90

45 + 2 D5
90

wn = 8 p
Siendo D8 el dgito menos significativo del DNI, D7 el anterior y as sucesivamente. Por ejemplo,
para el DNI n
umero: 53568447, se tendra D8 = 7, D7 = 4, D6 = 4, D5 = 8, con lo que
resultaran los siguientes valores de los par
ametros:
K = 2.66667

p = 0.81111,

c = 2.11111,

= 0.67778,

wn = 6.48889

1.1

Aproximaci
on por modelo de bajo orden y dise
no analtico de
controlador PI
Aproximaci
on por modelo de bajo orden

En primer lugar, se desea obtener una funci


on de transferencia de orden reducido, que aproxime
el comportamiento del sistema de partida.
Si se simula la respuesta ante escal
on del sistema dado, puede comprobarse que se puede identificar f
acilmente una u
nica constante de tiempo dominante y aproximar al sistema por un modelo
de primer orden, de la forma:
K
1+s

G(s)

(2)

Trabajo previo
Si as lo desea, puede evitar el uso de simulink para el trabajo propuesto en esta pr
actica.
Para ello, basta con familiarizarse con algunos comandos de matlab muy u
tiles, como los que
se explican a continuaci
on. Una descripci
on m
as detallada de comandos genericos de matlab y
de comandos especficos del Toolbox de Control de matlab pueden encontrarse en los tutoriales disponibles en el entorno de Ense
nanza Virtual, apartado Contenido del Curso / Material
Adicional.
Podemos definir una funci
on de transferencia a partir de los polinomios numerador y denominador. Por ejemplo, si queremos introducir la funci
on de transferencia:
G(s) =

s2

3.5
+ 5.8 s + 3

bastara con definir el par de polinomios siguiente:


Num = 3.5;
Den = [1,5.8,3];
Otra posibilidad equivalente consiste en trabajar con un objeto funci
on de transferencia, de la
siguiente forma:
Num = 3.5;
Den = [1,5.8,3];
G = tf (Num,Den);
La funcion step() simula la respuesta ante escal
on unitario de una funci
on de transferencia. La
escala temporal se elige autom
aticamente y se asume que el escal
on se produce en el instante
cero.

step (Num, Den);


o, alternativamente
step (G); grid;
Donde se ha a
nadido el comando grid, que permite visualizar una rejilla sobre el fondo de la
gr
afica.
Si queremos simular la respuesta para una escala temporal dada por nosotros mismos:
t = [0:0.001:10];
step (G, t);
El primer comando genera un vector columna (el operador de trasposici
on, que transforma lo
que inicialmente sera un vector fila en un vector columna, es la comilla simple que aparece a la
derecha del vector definido entre corchetes), conteniendo una secuencia de valores comenzando
en 0 y terminando en 10, con un paso o incremento de 0.001. Esta variable t conformar
a nuestro
vector de instantes de tiempo a emplear en la simulaci
on. Para ello, en la llamada a la funci
on
step(), se le pasa este vector tiempo como u
ltimo par
ametro.
Si se desea representar dos respuestas escal
on en la misma gr
afica, con fines comparativos, puede
hacerse del siguiente modo:
t = [0:0.001:10];
y1 = step (G1, t);
y2 = step (G2, t);
figure(1); plot(t,y1,t,y2); grid;
Como se ve, la funci
on step() puede devolver un vector conteniendo los valores que resulten
para la se
nal de salida en cada instante de la simulaci
on. En este caso, dicha funci
on no realiza
representaci
on gr
afica alguna. El comando plot(), por su parte, permite realizar representaciones
gr
aficas de dos dimensiones. En este caso particular, se est
an representando dos se
nales, las
contenidas en los vectores y1 e y2, frente a la misma escala temporal.
Trabajo en el Centro de C
alculo

Simule la respuesta ante escal


on del sistema original (1). A la vista de esa respuesta,
identifique empricamente los par
ametros de la funci
on de transferencia aproximada (2):
K [p1], [p2].
Nota: Realice la identificaci
on de la constante de tiempo a partir del tiempo de establecimiento observado (95%). Recuerdese que, en la respuesta escal
on de un sistema de primer
orden, el 95% del valor final se alcanza una vez transcurrido un tiempo equivalente a tres
veces la constante de tiempo de dicho sistema: te95% 3
3

Compare la respuesta ante escal


on unitario del sistema original y del reducido. Para realizar esta comparaci
on de forma gr
afica, puede recurrirse a los comandos recien vistos.
Mida el valor de la respuesta del sistema original, transcurrido un intervalo igual al valor
de la constante de tiempo, segundos, despues de producirse el escal
on de entrada [p3],
y an
alogamente para el sistema aproximado en ese mismo instante [p4].
Nota: Si est
a utilizando el comando step() sugerido anteriormente, tenga en cuenta que
puede conseguirse un paso de simulaci
on tan peque
no como se quiera, proporcionando a
dicha funci
on un vector tiempo con el paso o incremento correspondiente.

1.2

Dise
no de controlador PI

A continuaci
on, partiendo del modelo aproximado de primer orden (2), se realizar
a el dise
no
de un controlador PI, por cancelaci
on de din
amica, para conseguir que el sistema controlado
resultante, en bucle cerrado, cumpla una cierta especificaci
on.
Trabajo previo
La funcion de transferencia de un controlador PI tiene la siguiente expresi
on:
C(s) =

Kp (1 + Ti s)
Ti s

Se fija como especificaci


on que el sistema realimentado resultante tenga una respuesta sobreamortiguada, con una constante de tiempo equivalente que este relacionada mediante un factor con
la constante de tiempo de la funcion de transferencia reducia de partida (2). Dicho de otro
modo, se busca una funci
on de transferencia en bucle cerrado tal como:
Gbc (s)

Kbc
1 + bc s

siendo bc =
De forma voluntaria, puede ensayar con diversos valores de entre 1 y 0.25 y comparar
gr
aficamente las respuestas del sistema controlado, verificando si se cumplen las especificaciones.
Existen comandos en matlab que le permiten realizar operaciones de algebra de bloques con
funciones de transferencia. Por ejemplo, si queremos poner en serie dos funciones de transferencia, podemos usar:
Nba = conv(Nc,N);
Dba = conv(Dc,D);
Estas instrucciones proporcionaran el numerador y denominador de lo que sera la funci
on
de transferencia del sistema resultante de poner en serie el controlador (cuyo numerador y
denominador se habran denominado Nc y Dc , respectivamente) y el sistema de partida (cuyo
numerador y denominador seran N y D, respectivamente). El comando series() permite realizar
este mismo producto con una s
ola instrucci
on:
4

[Nba,Dba] = series (Nc,Dc,N,D);


Si ahora deseamos obtener el resultado de poner en realimentaci
on a la funci
on de transferencia
obtenida:
[Nbc,Dbc] = cloop (Nba,Dba,-1);
donde el u
ltimo par
ametro indica que se trata de realimentaci
on negativa (1 sera realimentaci
on
positiva).
Si hacemos uso de objetos funci
on de transferencia, todo resulta m
as directo:
G =
C =
Gba
Gbc

tf(N,D);
tf(Nc,Dc);
= C*G;
= feedback(Gba,1,-1);

El segundo par
ametro de la funci
on feedback() indica la funci
on de transferencia que se asume
en la cadena de realimentaci
on (en este caso, se trata de realimentaci
on unitaria), mientras que
el u
ltimo par
ametro indica realimentaci
on negativa.
Trabajo en el Centro de C
alculo

Si se fija como especificaci


on que el sistema en bucle cerrado sea igual de r
apido que el
sistema aproximado de partida (es decir, se toma un valor = 1), indique los par
ametros
del controlador PI resultante: Kp [p5], Ti [p6].
Si se fija como especificaci
on que el sistema en bucle cerrado sea el doble de r
apido que el
sistema de partida (esto es, = 0.5), indique los par
ametros del controlador PI resultante:
Kp [p7], Ti [p8].
Partiendo del dise
no del punto anterior ( = 0.5), se desea comprobar la eficacia del
controlador aplicado al sistema original (1), ante una referencia en escal
on unitario. Para
ello, realice la simulaci
on correspondiente e indique el valor de la respuesta transcurrido
un tiempo bc segundos, despues del citado escal
on en referencia [p9].

Dise
no analtico de controlador PID

En este apartado, se trabajar


a con una funci
on de transferencia similar a la dada en (1), con la
diferencia de que el polo que originalmente resultaba m
as dominante ahora ser
a bastante poco
significativo. Para ello, se modifica el valor original del polo por un valor 20 veces superior:

G(s) =

K wn2 (1 + s/c)
;
(1 + s/p2 ) (s2 + 2 wn s + wn2 )
5

p2 = 20 p

(3)

A partir de dicha funci


on de transferencia, se desea realizar el dise
no de un controlador PID, de
forma analtica, empleando nuevamente cancelaci
on de din
amica. A efectos del dise
no, el polo
p2 puede ser despreciado, pudiendo realizar dicho dise
no a partir de la funci
on de transferencia
aproximada:

G(s)

K wn2 (1 + s/c)
+ 2 wn s + wn2 )

(s2

(4)

Trabajo previo
Como es sabido, la forma tpica del controlador PID es:

C(s) =

Kp (Ti Td s2 + Ti s + 1)
Ti s

(5)

En nuestro caso, se intentar


an aprovechar los dos ceros del PID para realizar la cancelaci
on de
los dos polos complejos conjugados de la funci
on de transferencia de partida (4). De acuerdo
con esto, el controlador puede escribirse, en primera instancia, de la siguiente forma:

C(s) =

Kc (s2 + 2 wn s + wn2 )
wn2 s

(6)

El sistema resultante de la compensaci


on en bucle cerrado (asumiendo que se parte del modelo
aproximado (4)) vendr
a dado por una funci
on de transferencia cuyo n
umero de polos sera uno.
Deduzca la forma de obtener la ganancia del controlador a partir de la expresi
on anterior, dada
una especificaci
on de tiempo de establecimiento deseado para el sistema controlado en bucle
cerrado, tebc .
Nota: As
umase de nuevo una relaci
on de uno a tres entre una constante de tiempo de un
sistema estable representado por un u
nico polo y el tiempo de establecimiento a que da lugar
dicho polo en respuesta ante escal
on: tebc 3 bc
Deduzca las expresiones de los par
ametros del controlador PID expresado en la forma tpica (5),
a partir de los par
ametros en la expresi
on alternativa (6).
Trabajo en el Centro de C
alculo

Como se ha dicho anteriormente, el sistema que resultar


a en bucle cerrado tras la cancelaci
on sugerida tendr
a un u
nico polo. Se da como especificaci
on para este sistema realimentado la siguiente: que el tiempo de establecimiento correspondiente a dicho polo sea:
tebc = 3.5 s.
A partir de dicha especificacion, determine la ganancia del controlador PID en la forma
(6): Kc [p10].
A partir del dise
no anterior, deduzca los valores de los par
ametros del PID en su forma
tpica (5): Kp [p11], Ti [p12], Td [p13].
6

Partiendo de los valores nominales de los par


ametros que aparecen en la funci
on de transferencia (3), introduzca una incertidumbre del +10% en dichos par
ametros (salvo en la
ganancia est
atica):
p2 = 1.1 p2nomin
c = 1.1 cnomin
= 1.1 nomin
wn = 1.1 wnnomin
Con el objetivo de verificar si se produce alg
un deterioro en la eficacia del controlador,
se desean comparar las siguientes respuestas ante escal
on unitario en referencia: por un
lado, la respuesta obtenida de aplicar el controlador al sistema nominal (3) y, por otro, la
obtenida de aplicar ese mismo controlador al sistema con incertidumbres. Concretamente,
indique el error en valor absoluto para un escal
on unitario, en el instante de tiempo coincidente con la constante de tiempo fijada para el polo en BC: | ynomin (bc ) yincert+10% (bc ) |
[p14].
Nota: Recuerde que, en el momento de llevar a cabo la implementaci
on de un PID, se
requiere introducir una modificaci
on en su estructura que lo transforme en una funci
on de
transferencia propia. Para ello, y simplemente a efectos de las simulaciones (no del dise
no
descrito en el trabajo previo), emplee la siguiente estructura:
C(s) =

Kp (Ti Td s2 + Ti s + 1)
;
Ti s (1 + TNd s)

N = 30

(7)

Realice el mismo estudio para una incertidumbre del 10%:


p2 = 0.9 p2nomin
c = 0.9 cnomin
= 0.9 nomin
wn = 0.9 wnnomin
| ynomin (bc ) yincert10% (bc ) | [p15].

Dise
no de controladores mediante ajuste por tablas

En este apartado, se trabajar


a con una funci
on de transferencia similar a la dada en (1), en la
que ahora se eliminar
a el cero. Es decir, que la funci
on de transferencia a considerar ser
a:

G(s) =

K wn2
(1 + s/p) (s2 + 2 wn s + wn2 )

(8)

A partir de dicha funci


on de transferencia, se desea realizar el dise
no de controladores PI y PID,
siguiendo las reglas de ajuste por tablas, de acuerdo con el metodo de Ziegler-Nichols en bucle
cerrado.
7

Trabajo previo
Si as lo desea, puede evitar el uso de simulink tambien para este apartado, haciendo uso de
los comandos de matlab vistos con anterioridad. Por ejemplo, para simular el efecto de un
controlador proporcional aplicado al sistema, podra usarse:
Kp = 0.5;
Nba = Kp*N;
Dba = D;
[Nbc,Dbc] = cloop(Nba,Dba,-1);
t = [0:0.001:10];
step(Nbc,Dbc,t); grid;
Donde se asumen definidos el numerador y denominador de la funci
on de transferencia a tratar.
De forma an
aloga, asumiendo definido el objeto la funci
on de transferencia, podra usarse:
Kp = 0.5;
Gba = Kp*G;
Gbc = feedback(Gba,1,-1);
t = [0:0.001:10];
step(Gbc,t); grid;
En cualquiera de los dos grupos de comandos anteriores, es recomendable especificar, en la
llamada a la funci
on step(), un vector tiempo con un incremento suficientemente peque
no, como
el ilustrado.
Trabajo en el Centro de C
alculo

En primer lugar, ajuste el valor adecuado de ganancia de un controlador proporcional, Kp ,


para que el sistema en bucle cerrado sea un oscilador: Kpcrit [p16].
Mida el periodo de oscilaci
on de la respuesta conseguida: Pcrit [p17], en segundos.
A partir de los valores anteriores, determine los par
ametros de un controlador PI, de
acuerdo con las tablas de Ziegler-Nichols: Kp [p18], Ti [p19].
Analogamente para un controlador PID: Kp [p20], Ti [p21], Td [p22].
Para el dise
no anterior del PID, simule la respuesta ante escal
on unitario en referencia.
Identifique en dicha respuesta el tiempo de pico tp [p23], y el valor de la salida en ese
instante y(tp ) [p24].
Nota: Para todas estas simulaciones, tenga en cuenta lo dicho anteriormente, en referencia
a la forma propia del controlador PID (7).

Instrucciones para entregar las respuestas en Goodle

La entrega de la pr
actica a traves del servidor de docencia consiste en rellenar una plantilla o
formulario de texto, siguiendo las siguientes instrucciones:

Cada respuesta correspondiente a una cuesti


on de trabajo en el centro de c
alculo tiene
asignado un nombre. En el enunciado de la pr
actica se indica con una etiqueta entre
corchetes cada respuesta que hay que entregar.
Para cada respuesta simple (un u
nico n
umero) hay que escribir una lnea con el siguiente
formato:
nombre = valor;
Los decimales se separan utilizando el punto, no la coma. Por ejemplo, para responder
que el valor de una constante de tiempo es 17.3, hay que escribir la siguiente lnea:
p6 = 17.3;
Si desconoce alguno de los valores solicitados, evite dar respuestas que provoquen error de
sintaxis como las siguientes:
p5 = ;
p6 =
En lugar de esto, introduzca en la respuesta alg
un valor, preferentemente un valor nulo:
p5 = 0;
p6 = 0;

S-ar putea să vă placă și