Practica No 4 Diseño Controladores
Practica No 4 Diseño Controladores
Practica No 4 Diseño Controladores
actica 4: Dise
no de controladores por m
etodos analticos y
mediante ajuste por tablas
o
G(s) =
K wn2 (1 + s/c)
(1 + s/p) (s2 + 2 wn s + wn2 )
(1)
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
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
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
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
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
Dise
no analtico de controlador PID
G(s) =
K wn2 (1 + s/c)
;
(1 + s/p2 ) (s2 + 2 wn s + wn2 )
5
p2 = 20 p
(3)
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)
C(s) =
Kc (s2 + 2 wn s + wn2 )
wn2 s
(6)
Kp (Ti Td s2 + Ti s + 1)
;
Ti s (1 + TNd s)
N = 30
(7)
Dise
no de controladores mediante ajuste por tablas
G(s) =
K wn2
(1 + s/p) (s2 + 2 wn s + wn2 )
(8)
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
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: