Вы находитесь на странице: 1из 10

Ctedra Control de Procesos I Facultad de Ingeniera Universidad Nacional de La Plata

Introduccin sobre Matlab


Matlab es un programa de clculo tcnico y cientfico, integra anlisis numrico, clculo matricial, procesamiento de seales, de datos y grficos. Matlab fcil de usar; los problemas y las soluciones son expresados como se escriben matemticamente, sin la programacin tradicional. Los usos y aplicaciones tpicos de Matlab son: Matemticas y clculo. Desarrollo de algoritmos. Adquisicin de datos. Modelado, simulacin. Anlisis y procesado de datos. Grficos cientficos y de ingeniera. Desarrollo de aplicaciones.

Control System Toolbox


El control system toolbox es un componente opcional en la instalacin de Matlab que consta de una serie de funciones, objetos, bloques Simulink y herramientas destinadas en el anlisis y diseo de sistemas de control. El objeto fundamental con el que trabajamos es la funcin de transferencia. Consideremos el siguiente sistema retroalimentado. r(t) + e G1(s) m G3(s) u G2(s) Y(t)

Dicho sistema esta formado por tres bloques independientes: G1(s), G2(s) y G3(s). Los valores de las tres funciones son:

G1( s ) =
G 2( s ) = G3( s ) =

1 s + 0.5
2

3 S + 2s + 1 40 s + 5s + 40
2

Supongamos que deseamos calcular la funcin de transferencia del lazo cerrado de dicho sistema. Para definir la funcin de transferencia en el entorno Matlab debemos definir los polinomios. Un polinomio en s se representa en Matlab como un vector cuyos elementos son los coeficientes del polinomio por orden de exponente descendente: por ejemplo s 2 + 2 s + 1 se define en Matlab como un vector [1 2 1]. Por lo tanto para definir una funcin de transferencia en Matlab necesitamos dos vectores. A partir de ellos, con la funcin tf construiremos la funcin de transferencia del lazo cerrado del ejemplo.

>> G1=tf([1] , [1 0.5]); >> G2=tf([3] , [1 2 1]); >>G3=tf([40] , [1 5 40]); Lo ms interesante de estos objetos es la posibilidad de realizar operaciones matemticas entre ellos. La funcin de transferencia del sistema retroalimentado cerrado, queda:

G (s) =

Y ( s) G1( s ) * G 2( s ) = R( s ) 1 + G1( s ) * G 2( s )* G3( s )

Si tecleamos en Matlab: G=G1*G2/1+G1*G2*G3 Nos da el resultado de la funcin de transferencia: 3 s^5 + 22.5 s^4 + 163.5 s^3 + 331.5 s^2 + 247.5 s + 60 -------------------------------------------------------------------------s^8 + 10 s^7 + 75.25 s^6 + 262.3 s^5 + 471.5 s^4 + 594.5 s^3 + 570.3 s^2 + 321.3 s + 70

Este resultado nos muestra la estructura de lazo cerrado de la funcin de transferencia G(s).

Operacin con polinomios:


El control sistem Toolbox nos permite realizar ciertas operaciones con polinomios almacenadas en forma de vector. Por ejemplo podramos calcular el producto de dos polinomios en s mediante la funcin conv y a partir de ellos calcular el producto de dos funciones de transferencia. Donde G1= num1/ den1, G2=num2/den2, >> num1=[1]; den1=[1 0 0.5] >> num2=[3]; den2=[1 2 1] La funcin conv es la que realiza la operacin entre numeradores y denominadores. >> num_producto=conv(num1, num2) >> den_producto=conv(den1, den2) G12=tf(num_producto, den_producto) En este caso el resultado del clculo sera igual al producto de las funciones G1(s) y G2(s). Que tambin se obtendra escribiendo: >>G12=G1*G2 Para encontrar las races de un polinomio por ej: S 2 + 2 S 1 ,definido en Matlab se usa la funcin roots: (Recordar quedebemos escribir en sentido decreciente los coeficientes del polinomio) >>roots([1 2 -1]) Ans= -2.4142 0.4142

Funciones de anlisis de sistemas continuos del Control System Toolbox.


Son un conjunto de instrucciones que facilitan el anlisis de la respuesta temporal, frecuencia y lugar de las races de un sistema de control. 1- Respuesta temporal: Se usa para obtener caractersticas temporales del rgimen transitorio y del permanente o estacionario, de la respuesta de un sistema de entradas diversas.

Las funciones del control system toolbox de Matlab utilizadas para generar respuestas temporales ante entradas variadas, son las siguientes: Step: respuesta escaln Impulse: Respuesta a un impulso. Lsim: Entrada aleatoria. Ginput: Averiguar valores de un determinado punto de la grfica. Damp: Permite obtener wn y . Dcgain: Permite obtener la ganancia esttica de una funcin de transferencia. Nota: las funciones step e impulse generan automticamente una grfica de la respuesta temporal para un valor de entrada unitario. Ejemplos: Dada la funcin H(s)= 1 / s+1 Si escribimos en Matlab los siguientes comandos, obtendremos: >> impulse([1 ], [1 1])

>> Step( [1],[1 1])

>> ginput(H):

>> lsim(sys, u,t) Sys= Funcin de transferencia U=funcin aleatoria (ejemplo: Sin(t), cos(t)) T=Tiempo inicial, delta de tiempo, tiempo final. (ejemplo: 0:0.01:5) >> lsim(H, sin(t), 0:0.01:5)

Si ahora utilizamos como ejemplo la funcin de transferencia:

G3( s ) =

40 s + 5s + 40
2

Y escribimos el siguiente comando en Matlab, obtendremos: >>damp (G3) Eigenvalue Damping Freq. (rad/s) 3.95e-001 3.95e-001 6.32e+000 6.32e+000

-2.50e+000 + 5.81e+000i -2.50e+000 - 5.81e+000i

Si definimos la siguiente funcin de transferencia:

G 2( s ) =

3 S + 2s + 1
2

Y escribimos el siguiente comando en Matlab, obtendremos: >> dcgain(G2) ans = 3

2- Herramientas numricas y grficas:

Dada una funcin de transferencia, ya sea de lazo abierto o cerrado, existen en el Control Systema Toolbox operaciones numricas y graficas de gran utilidad a la hora de analizar la estabilidad y otras propiedades. Algunas de ellas son: Evalfr: Evala la magnitud y fase de la funcin de transferencia en la frecuencia especificada. Rlocus: Traza el lugar de las races a realimentar negativamente con una ganancia K (variable) la funcin de transferencia dada. Pzmap: Muestra en una grafica del plano complejo la ubicacin de los polos y los ceros de una funcin de transferencia. Rlocfind: Identificacin concreta de algn punto del lugar Sgrid: Red para obtener Wn y en el plano s. Nota: la funcin rlocus abre directamente una ventana de figura nueva y dibuja en ella el lugar de las races del sistema cuya funcin de transferencia se de cmo parmetro. Sin embargo la funcin rlocfind necesita de la ejecucin previa de la anterior para poder operar. Ejemplo: Si deseamos conocer el lugar de trazado de las races del siguiente sistema: + K 1/s^2+1.5s+8 S+13/s+10

Para resolver se ejecuta desde Matlab el siguiente conjunto de comandos: NUMG=[1 1 3] DENG=[1 1 0] NUMH=[1] DENH=[1 1.5 8] N=conv(NUMG, NUMH) D=conv(DENG,DENH) Rlocus (N,D) Sgrid %Numerador de G(s) %Denominador de G(s) %Numerador de H(s) %Denominador de H(s) % Numerador de G(s)H(s) %Denominador de G(s)H(s)

Para obtener las races de la funcin de transferencia para diferentes valores de K usamos

>>Rlocus(N,D,K)* >>sgrid >>[R,K]=rlocus(N,D) Te indica en el plano complejo el lugar de la raz para un valor de Kc Donde en el parmetro R matricial nos muestra el lugar complejo de la raz para la ganancia K. En el primer caso (*) indicamos que valores de ganancias estamos interesados en conocer. Si no definimos dicho parmetro, K varia de 0 a infinito. El sistema puede ser ingresado tambin como rlocus(tf).

3- Estabilidad del sistema:


El valor de Kc que haga el sistema inestable ser aquel que haga que, las races tengan parte real igual a cero y solo parte imaginaria. Para poder obtener dicho valor se utiliza la funcin rlocfind. A. Si ejecutamos el siguiente comando en Matlab: >> rlocfind(N,D) Obteniendo como resultado en la ventana de comandos de MATLAB >> Select a point in the graphics Windows Posicionarse sobre la grafica en el valor que haga el sistema inestable. El valor de dicho punto ser indicado por Matlab como sigue:

>> Selected_point= 0.0482 + 12.6479i El resultado que nos arroja es el valor de K en dicho punto. Correspondiente al Kc mximo. >> ans= 136.2106

B. Si se desea obtener adems el valor que tienen todas las races del sistema en un lazo cerrado para esa K se deber escoger como parmetro de salida de rlocfind un vector que contenga dichos valores de este modo: >>[K, R]=rlocfind(N,D) Select a point in the graphics window selected_point = -2.1303 +16.6628i K= 252.1489 raices = 0.2316 +16.7522i 0.2316 -16.7522i -11.9632

C. Si deseamos buscar el valor de Kc que tenga un coeficiente de amortiguacin = 0.1, debemos escribir en Matlab la funcin Sgrid (, Wn). Podemos variar el periodo ltimo para evaluar las diferencias de comportamiento. >>sgrid(0.1,2), (para el ejemplo el valor de Wn fijado fue sin ningn criterio concreto). Despus llamamos a nuevamente a la funcin: >>rlocfind(N,D) Y se obtiene el valor de K, que ser el que fijemos en el diagrama de bloques de Simulink que nos permitir obtener la respuesta a al escaln del sistema de lazo cerrado.

+ Step -

S+13/s+10 scope 1/s^2+1.5s+8

Вам также может понравиться