INGENIERÍA DE CONTROL I – COMANDOS DE MATLAB

Anuncio
INGENIERÍA DE CONTROL I – COMANDOS DE MATLAB
Antes de empezar hay que especificar el directorio en el que se encuentra la Control System
Toolbox. Se puede hacer tecleando el siguiente texto en la ventana de comandos:
» path(path,'q:\control')
O bien seleccionar el directorio Q:\CONTROL a través del menú de la ventana de Matlab:
File > Set Path… > Add Folder…
Cálculo de las raíces de una ecuación característica
Para calcular las raíces de un polinomio se define un vector con todos coeficientes del mismo, desde
el de mayor orden hasta el término independiente, y se aplica el comando roots a dicho vector.
s 3 + 5s 2 + 8s + 3 = 0
» p=[1 5 8 3]
» roots(p)
También se puede hacer lo mismo directamente, sin definir ningún vector:
» roots([1 5 8 3])
Respuesta temporal de una función de transferencia
Para obtener la respuesta temporal de una función de transferencia ante una entrada impulso se
emplea el comando impulse, definiendo los vectores de los polinomios numerador y denominador.
G ( s) =
3
s+5
» n=[3]
» d=[1 5]
» impulse(n,d)
Para obtener la respuesta ante una entrada escalón unitario se emplea el comando step.
» step(n,d)
Si la entrada es un escalón de valor 5 y se desea ver la salida hasta un tiempo de 5 segundos:
» step(5*n,d,0:0.1:5)
Los productos de polinomios se obtienen aplicando el comando conv.
G ( s) =
»
»
»
»
( s + 10)
( s + 7)( s + 15s + 35)( s + 2) s
2
n=[1 10]
temp=conv([1 7],[1 15 35])
d=conv(temp,[1 2 0])
step(n,d)
Las cuatro líneas anteriores se pueden poner en una única orden:
» step([1 10],conv(conv([1 7],[1 15 35]),[1 2 0]))
Lugar de las raíces
El comando rlocus dibuja el lugar de las raíces de un sistema, dando como parámetros el numerador
y el denominador de la función de transferencia en lazo abierto. El comando rlocfind permite
señalar un punto del lugar de las raíces y calcula la ganancia que sitúa los polos en lazo cerrado en
dicho punto. Además devuelve la posición de todos los polos en lazo cerrado para esa ganancia.
» rlocus(n,d)
» [k,p]=rlocfind(n,d)
Diagrama de Bode
El comando bode dibuja el diagrama de Bode de una función de transferencia. El comando margin
dibuja el diagrama de Bode y calcula los valores de los márgenes de fase y ganancia y las
frecuencias de cruce de fases y ganancias.
» bode(n,d)
» margin(n,d)
Respuesta temporal de un sistema compensado
Para obtener la respuesta temporal de un sistema compensado, es decir, dentro de un lazo de
realimentación negativa, se puede emplear el comando feedback para definir la función de
transferencia en lazo cerrado. Los parámetros de este comando son el numerador y denominador de
la función de transferencia directa y el numerador y denominador de la función de transferencia de
realimentación H(s). Por ejemplo:
R +
−
»
»
»
»
»
»
5.6
s+3
s + 5.4
4
s ( s + 2)
C
n=[4]
d=[1 2 0]
nc=5.6*[1 3]
dc=[1 5.4]
[nlc,dlc]=feedback(conv(nc,n),conv(dc,d),1,1)
step(nlc,dlc)
En cambio, el lugar de las raíces del sistema compensado se debe calcular con la función de
transferencia en lazo abierto:
» rlocus(conv(nc,n),conv(dc,d))
Definición de funciones de transferencia
Si se posee la Control System Toolbox versión 5.2 o superior, es posible definir las funciones de
transferencia con el comando tf. Después se pueden emplear todos los comandos aprendidos.
»
»
»
»
»
»
G=tf([4],[1 2 0])
impulse(G)
step(G)
rlocus(G)
bode(G)
margin(G)
La principal ventaja es que se pueden multiplicar directamente las funciones de transferencia:
» Gc=tf(5.6*[1 3],[1 5.4])
» rlocus(Gc*G)
» step(feedback(G*Gc,1))
Descargar