Matlab Control
Matlab Control
Matlab Control
Objetivo:
Usar Matlab y Simulink como herramientas auxiliares para el anlisis y solucin de problemas de Ingenieria de Control
Desglose de temas:
Iniciando problemas de control
Se puede definir como num=[18 360]; den=[1 40.4 391 150]; sys=tf(num,den); Se listan los coeficientes del los polinomios en s, en potencias decrecientes.
Ingeniera Elctrica y Electrnica O bien, directamente en la funcin tf sys=tf([18 360], [1 40.4 391 150]) Resultando, Transfer function:
Podemos definirla como sys=tf([1 0 0], [1 0 2 10]) Resultando, Transfer function: s^2 -------------s^3 + 2 s + 10 Los coeficientes iguales a cero que estan a la derecha de coeficientes distintos de cero deben ser listados.
Ingeniera Elctrica y Electrnica En el estudio de sistemas LTI (linear Time-Invariant), es muy comn el anlisis de sistemas de segundo orden de la forma
n Y (s) = 2 U ( s ) s + 2n s + n 2
2
Estos sistemas pueden ser definidos con la funcin ord2, por ejemplo: >> [num,den]=ord2(10,1) num =1 den = 1 20 100
Ingeniera Elctrica y Electrnica Matlab puede generar funciones de transferencia aleatorias con la funcion rmodel, por ejemplo: >> [num,den]=rmodel(3) num = 0 0 0 1.6154 1.1909 1.1551 0.2360
den = 1.0000
Ingeniera Elctrica y Electrnica Para sistemas con tiempo de retraso, con representacion en s dada por e sT , Matlab no provee un medio exacto para describirlo. Sin embargo la funcion pade puede ser usado para generar una funcion de transferencia que puede aproximar el tiempo de retraso. Por ejemplo: >> [num,den]=pade(5,2) num = den =
0.4800 0.4800
>> sys=tf(num,den) Transfer function: s^2 - 1.2 s + 0.48 -----------------s^2 + 1.2 s + 0.48
Matlab impone una restriccin muy importante a la definicin de sistemas a trves de funciones de transferencia. Esta es que los sistemas deben ser propios, es decir, el orden del numerador debe ser igual o menor al orden del denominador.
Continuous-time model.
Ingeniera Elctrica y Electrnica De manera similar que con funciones de transferencia, podemos usar la funcin ord2 para definir sistemas de segundo orden, especificando n y .
>> wn=2; >> zeta=.707; >> [a1,b1,c1,d1]=ord2(wn,zeta) a1 = 0 1.0000
-4.0000 -2.8280 b1 = 0 1 c1 = d1 = 1 0 0
Ingeniera Elctrica y Electrnica Cambiando de Espacio de Estado a Funcin de Transferencia La funcin ss2tf puede ser usada para cambiar un sistema con definicin en espacio de estado a funcin de transferencia.
>> [numcss,dencss]=ss2tf(a1,b1,c1,d1) numcss = dencss = 0 0 1 2.8280 4.0000
1.0000
Ingeniera Elctrica y Electrnica Cambiando de Funcin de Transferencia a Espacio de Estado La funcin tf2ss puede ser usada para cambiar un sistema definido con funcin de transferencia, a espacio de estado.
>> [actf,bctf,cctf,dctf]=tf2ss(numcss,dencss) actf = -2.8280 -4.0000 1.0000 bctf = 1 0 cctf = dctf = 0 0 1 0
Ingeniera Elctrica y Electrnica Construyendo Sistemas Matlab provee funciones para la construccion de sistemas complejos. Por ejemplo, para las siguientes configuraciones:
SERIE PARALELO
Con realimentacin:
>> sys_realim=feedback(G,H) Transfer function: 4 s^2 + 8 s + 16 ----------------------s^3 + 4 s^2 + 48 s + 10
R(s)
Y(s)
G0(s)
1
G1(s)
G2(s)
G3(s)
2 3
H2(s)
6
H3(s)
7
H1(s)
5
3s 4 + 2 s 3 + 5 s 2 + 4 s + 6 G ( s) = 5 s + 3s 4 + 4 s 3 + 2 s 2 + 7 s + 2
Corremos el siguiente cdigo: >> num=[3 2 5 4 6]; >> den=[1 3 4 2 7 2]; >> [z,p,]=tf2zp(num,den)
Los polos y ceros tambien pueden ser calculados a partir de un sistema descrito en espacio de estado. Por ejemplo:
Resultando
z = 1.0e-005 * 0.8792 -0.4396 + 0.7614i -0.4396 - 0.7614i p= -1.0433 + 1.6215i -1.0433 - 1.6215i 0.1323 + 1.2217i 0.1323 - 1.2217i -0.1781 k = -1
Mapa de polos y ceros Para visualizar el mapa de polos y ceros, Matlab provee la funcin pzmap. Al correr esta funcin se crea una figura mostrando en forma grfica la ubicacin de polos y ceros. Al correr el cdigo, >> pzmap(p,z) Resulta en la siguiente grfica
Es posible definir funciones de transferencia a partir del listado explicto de polos, ceros y ganancia. polocero2ft.m z=[0;0;0;-1]; p=[-1+i 1-i -2 -3.15+2.63i -3.15-2.63i]; k=2; [num,den]=zp2f(z,p,k); tf(num,den)
Transfer function: 2 s^4 + 2 s^3 -------------------------------------------------------------------s^5 + 10.3 s^4 + 48.04 s^3 + 109.2 s^2 + 126.2 s + 67.36
1+i
1-i ], 2);
b=
c= d=
1.4142
poles =
ceros = k=
0.5000
Ingeniera Elctrica y Electrnica La funcin step puede ser invocada con argumentos de salida, >> [y,t]=step(num,den); Donde y es el vector de la respuesta del sistema, y t es el vector del tiempo de simulacin. Ejercicio: Crear un archivo m que obtenga: El valor de pico, tiempo de pico, tiempo de crecimiento, tiempo de establecimiento y frecuencia natural.