You are on page 1of 67

CURSO TALLER DE MATLAB

ACADEMIA DE INGENIERIA ELCTRICA Y ELECTRNICA




INSTITUTO TECNOLOGICO DE LZARO CRDENAS, MICHOACN






































HERRAMIENTAS APLICADAS AL ANALISIS Y DISEO DE SISTEMAS DE
CONTROL



-20 -15 -10 -5 0
-15
-10
-5
0
5
10
15
Real Axis
I
m
a
g

A
x
i
s
Lugar de las races de G=(s+8)/s(s+5)(s+17)(s+23)
rgm/ITLAC/sept2009 1

CURSO TALLER DE MATLAB............................................................................................................ 0
1. REPRESENTACIN DE SISTEMAS DE CONTROL. ......................................................................2
FORMA FUNCION DE TRANSFERENCIA. ..............................................................................................................2
FORMA CERO-POLO-GANANCIA. ...........................................................................................................................2
FORMA EN ESPACIO DE ESTADO. ..........................................................................................................................2
MATRIZ FUNCION DE TRANSFERENCIA..............................................................................................................4
2. REPRESENTACIN DE POLINOMIOS. ...........................................................................................5
RACES. ...........................................................................................................................................................................5
MULTIPLICACIN. ......................................................................................................................................................6
ADICIN. ........................................................................................................................................................................6
DIVISIN.........................................................................................................................................................................7
DERIVADAS....................................................................................................................................................................7
EVALUACIN. ...............................................................................................................................................................8
POLINOMIOS RACIONALES. ....................................................................................................................................9
3. FUNCION DE TRANSFERENCIA. ....................................................................................................11
CONVERSIN A LA FORMA CERO-POLO-GANANCIA....................................................................................12
EXTRACCIN DE DATOS DE OBJETOS LTI. ......................................................................................................13
4. HERRAMIENTAS DE ANALISIS DE SISTEMAS. .........................................................................14
FUNCIN DE TRANSFERENCIA DE LAZO CERRADO. ....................................................................................14
HERRAMIENTAS APLICADAS A DIAGRAMAS DE BLOQUES........................................................................16
CONEXIN EN SERIE. ...............................................................................................................................................16
CONEXIN EN PARALELO......................................................................................................................................17
REDUCCIN DE DIAGRAMAS DE BLOQUES......................................................................................................19
GRFICA DE POLOS Y CEROS. ..............................................................................................................................22
FUNCIN POLE. ..........................................................................................................................................................23
FUNCIN STEP............................................................................................................................................................24
RESPUESTA A UNA ENTRADA TIPO RAMPA. ....................................................................................................26
FUNCIN IMPULSE....................................................................................................................................................28
FUNCIN LSIM. ..........................................................................................................................................................29
DIAGRAMAS DE BODE. ............................................................................................................................................30
FUNCION MARGIN.....................................................................................................................................................33
DIAGRAMAS POLARES. ...........................................................................................................................................35
LUGAR DE LAS RAICES............................................................................................................................................40
ESPACIO DE ESTADO................................................................................................................................................50
DISEO DE UN SISTEMA POR REALIMENTACIN DE ESTADO, METODO DE UBICACIN DE
POLOS............................................................................................................................................................................54
OTRAS HERRAMIENTAS IMPORTANTES EN ESPACIO DE ESTADO. .........................................................64
BIBLIOGRAFIA ...........................................................................................................................................................66
rgm/ITLAC/sept2009 2

1. REPRESENTACIN DE SISTEMAS DE CONTROL.

Los sistemas de control pueden ser representados en forma de funcin de transferencia,
forma cero-polo-ganancia o espacio de estado.


FORMA FUNCION DE TRANSFERENCIA.

1
1
2 1
1
1
2 1
....
....
) (
) (
) (
+

+ + + +
+ + + +
= =
n n
n n
m m
m m
D s D s D s D
N s N s N s N
s D
s N
s H m n

La funcin de transferencia es descrita como una razn de polinomios, y es descrita en
MATLAB por vectores fila (arrays definidos por una fila y n columnas) constituidos por sus
coeficientes.




FORMA CERO-POLO-GANANCIA.

) )....( )( (
) )....( )( (
) (
) (
) (
2 1
2 1
n
m
p s p s p s
z s z s z s
K
s D
s N
s H


= = m n

La forma cero-polo-ganancia est asociada con la funcin de transferencia, pero en este
caso, el polinomio numerador y denominador se expresan como una funcin de sus races y
de la ganancia total del sistema definidos en MATLAB como arreglos.



FORMA EN ESPACIO DE ESTADO.

Du Cx y
Bu Ax x
+ =
+ =
.



La representacin en espacio de estado, resulta la forma ms natural para MATLAB, aqu se
presenta un sistema de control en la forma de n ecuaciones diferenciales de primer orden
que en forma matricial quedan descritas por las matrices de coeficientes A, B, C y D. Aqu
cada uno de los elementos descritos en la representacin matricial quedan definidos como:
rgm/ITLAC/sept2009 3
Vector de Variables de Estado.


(
(
(
(
(
(

=
n
x
x
x
t x
.
. ) (
2
1
n x 1;
Vector de Entradas de Forzamiento.


(
(
(
(
(
(

=
p
u
u
u
t u
.
. ) (
2
1
p x 1

Vector de Salidas.


(
(
(
(
(
(

=
q
y
y
y
t y
.
. ) (
2
1
q x 1

Matrices de Coeficientes.

A n x n

B n x p

C q x n

D q x p



En la representacin en variables de estado, MATLAB puede manejar indistintamente
sistemas SISO tanto como sistema MIMO, todo depende de las dimensiones de las matrices
A, B, C y D.

rgm/ITLAC/sept2009 4
MATRIZ FUNCION DE TRANSFERENCIA.

Los sistemas MIMO expresados como funcin de transferencia quedan definidos a partir de
la Matriz Funcin de Transferencia, la cual es un arreglo matricial de n x n funciones de
transferencia tal como:


num={10,[1 10];-1,[3 0]}; %celda de arreglos

den={[1 10],[1 6 10];[1 10],[1 3 3]}; %celda de arreglos

tf(num,den) %determina la funcin de transferencia entre
num y den


Transfer function from input 1 to output...
10
#1: ------
s + 10

-1
#2: ------
s + 10

Transfer function from input 2 to output...

s + 10
#1: --------------
s^2 + 6 s + 10

3 s
#2: -------------
s^2 + 3 s + 3

estas funciones de transferencia representan al sistema MIMO de 2 x 2 dado por la siguiente
ecuacin matricial:


(

(
(
(

+ + +

+ +
+
+
=
(

) (
) (
3 3
3
10
1
10 6
10
10
10
) (
) (
2
1
2
2
2
1
s u
s u
s s
s
s
s s
s
s
s y
s y




rgm/ITLAC/sept2009 5
2. REPRESENTACIN DE POLINOMIOS.


Considere los siguientes polinomios:

4 3 2 ) (
2 3
+ + + = x x x x a
16 9 4 ) (
2 3
+ + + = x x x x b

En MATLAB un polinomio es representado por un vector fila formado por los coeficientes del
polinomio en orden descendente.

a=[1, 2, 3, 4]

a =
1 2 3 4

b=[1, 4, 9, 16]

b =
1 4 9 16

Los elementos del vector estn separados por un espacio o por una coma; cada elemento
constituye una columna del vector. Note que los elementos con coeficientes cero deben ser
incluidos, ejemplo:

116 25 12 ) (
3 4
+ + = x x x x p

p=[1, -12, 0, 25, 116]

p =
1 -12 0 25 116

RACES.

En MATLAB se adopta la convencin de que los polinomios son vectores fila y las races del
polinomio son vectores columna; para obtener las races de un polinomio se utiliza la funcin
roots.

r=roots(a) %extrae las races del polinomio a

r =
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
rgm/ITLAC/sept2009 6

size(r) % obtiene la dimensin de la matriz r

ans =
3 1

r es un vector columna de tamao 3x1.

MULTIPLICACIN.

En MATLAB la multiplicacin de polinomios es soportada por la funcin conv (que realiza la
convolucin de dos arrays). Para los polinomios a y b, tenemos:

c=conv(a,b)

c =
1 6 20 50 75 84 64

El vector c expresa al polinomio:

64 84 75 50 20 6 ) (
2 3 4 5 6
+ + + + + + = x x x x x x x c

La multiplicacin de ms de dos polinomios requiere el uso repetido de la funcin conv.


ADICIN.

MATLAB no proporciona una funcin directa que permita la suma de polinomios. La funcin
estndar para la adicin de arrays funciona correctamente siempre y cuando ambos vectores
sean del mismo tamao. Ejemplo, sumar los polinomios a y b :

d=a+b

d =
2 6 12 20

este vector corresponde al polinomio:

20 12 6 2 ) (
2 3
+ + + = x x x x d

Cuando dos polinomios son de diferente orden, el de orden inferior deber completarse con
ceros para tener el mismo orden efectivo que el polinomio de mayor orden. Considere la
adicin de los polinomios c y d:

rgm/ITLAC/sept2009 7
e=c+[0,0,0,d] %el polinomio d se completa con ceros para tener el mismo orden %que
c.

e =

1 6 20 52 81 96 84

el vector e representa al polinomio:

84 96 81 52 20 6 ) (
2 3 4 5 6
+ + + + + + = x x x x x x x e


DIVISIN.

En algunos casos especiales es necesario hacer la divisin de un polinomio entre otro. En
MATLAB esto se realiza usando la funcin dconv. Usando los polinomios b y c definidos
anteriormente:

[q,r]=deconv(c,b) %expresa la divisin de c/b = q + r/b

q = %polinomio resultante de la divisin
1 2 3 4


r = %polinomio residuo, en este caso nulo
0 0 0 0 0 0 0

el polinomio resultante de la divisin es q y el remanente es r. De manera inversa, el vector c
puede ser obtenido de nueva cuenta mediante la ecuacin: c = conv(b,q) + r, en MATLAB
esto queda como:

c=conv(b,q)+r

c =
1 6 20 50 75 84 64


DERIVADAS.

Debido a que diferenciacin de un polinomio es simple de expresar, MATLAB ofrece la
funcin polyder para la diferenciacin de polinomios. Sea el polinomio g:

44 72 69 48 20 6 ) (
2 3 4 5 6
+ + + + + + = x x x x x x x g

rgm/ITLAC/sept2009 8
La diferenciacin de g en MATLAB queda como:

g=[1, 6, 20, 48, 69, 72, 44]

g =

1 6 20 48 69 72 44

h=polyder(g) %obtiene la primera derivada del polinomio g

h =
6 30 80 144 138 72

el vector h representa al polinomio:

72 138 144 80 30 6 ) (
2 3 4 5
+ + + + + = x x x x x x h

EVALUACIN.

En MATLAB es posible realizar la evaluacin de un polinomio mediante el uso de la funcin
polyval, tal como se muestra a continuacin.

x=linspace(-1,3,10); %genera un vector fila con 10 elementos espaciados %linealmente
p=[1, 4, -7, -10]; %introduce el polinomio p
v=polyval(p,x); %evala p para cada valor x y guarda el resultado en el
%vector v de orden 1x10

plot(x,v),title('x^3 + 4*x^2 -7*x -10'),xlabel('x') %grfica de v contra x

















-1 -0.5 0 0.5 1 1.5 2 2.5 3
-15
-10
-5
0
5
10
15
20
25
30
35
x
3
+ 4*x
2
-7*x -10
x
rgm/ITLAC/sept2009 9
POLINOMIOS RACIONALES.

Definimos una funcin racional como la funcin que se puede expresar como el cociente de
dos funciones polinomiales. Por ejemplo:

4
1 3 10
) (
) (
) (
2
2 4

+ +
= =
x
x x x
x Q
x P
x H

Al introducir estos polinomios a MATLAB y efectuando la divisin correspondiente obtenemos
el siguiente cociente y residuo:

p=[1, 0, -10, 3, 1]; %polinomio numerador

q=[1, 0, -4]; %polinomio denominador

[d,r]=deconv(p,q)

d =
1 0 -6

r =
0 0 0 3 -23

el polinomio resultante de la divisin queda como:

4
23 3
6
4
1 3 10
) (
) (
) (
2
2
2
2 4

+ =

+ +
= =
x
x
x
x
x x x
x Q
x P
x H

Si el grado del numerador es mayor que el grado del denominador, tenemos una fraccin
impropia y en este caso dividimos el numerador entre el denominador hasta obtener una
fraccin propia, en la cual el grado del numerador sea menor que el grado del denominador.
En la expansin por fracciones parciales, buscamos expresar el cociente
) (
) (
x Q
x P
como una
suma de las fracciones parciales. Los denominadores de tales fracciones parciales se
obtienen al factorizar Q(x) como un producto de factores lineales y cuadrticos. Ya que, por
teorema, cualquier polinomio con coeficientes reales se puede expresar como un producto de
factores lineales y cuadrticos, de tal forma que cada uno de los factores tenga coeficientes
reales.
Despus de que Q(x) ha sido factorizado en productos de factores lineales y cuadrticos, el
mtodo para determinar las fracciones parciales depende de la naturaleza de dichos
factores.

En MATLAB la expansin a fracciones parciales se realiza considerando dos polinomios
separados.

rgm/ITLAC/sept2009 10
Por ejemplo:

p=[1, 0, -10, 3, 1];
q=[1, 0, -4];
[c,f,k]=residue(p,q)

c = %coeficientes
-4.2500
7.2500

f = %polos de Q(x)
2
-2

k = %trmino polinomial directo
1 0 -6

la funcin residue retorna los coeficientes c, los polos f de los factores del polinomio Q(x) y
el trmino polinomial directo k, de la expansin por fracciones parciales del polinomio
racional
) (
) (
x Q
x P
. El resultado de la expansin queda como:

6
2
25 . 7
2
25 . 4
) (
) (
2
+
+
+

= x
x x x Q
x P



En forma inversa, a partir de la informacin aportada por c,f y k podemos obtener los
polinomios originales usando de nueva cuenta la funcin residue:

[num,den]=residue(c,f,k)

num =
1 0 -10 3 1

den =
1 0 -4

rgm/ITLAC/sept2009 11
3. FUNCION DE TRANSFERENCIA.

En MATLAB podemos introducir una funcin de transferencia en trminos de sus
correspondientes polinomios numerador y denominador expresados como arreglos, MATLAB
encapsula esta funcin de transferencia en forma de un objeto LTI (time-invariant object)
para hacer ms fcil el rastreo de este. Mediante el uso de la funcin tf, podemos generar
un objeto LTI correspondiente a una funcin de transferencia.

SYS = TF(NUM,DEN)

Ejemplo, sea el caso en el cual deseamos controlar la velocidad de un accionamiento
electromecnico compuesto principalmente por carga inercial y friccin viscosa, cuya funcin
de transferencia est dada por:

Bs Js
s Gp
+
=
2
1
) (

B=1.8; % coeficiente de friccin viscosa, N-m/rad/seg
J=3.5; % inercia, kg-m2
Gp=tf(1,[J,B,0])

Transfer function: % objeto LTI
1
---------------
3.5 s^2 + 1.8 s

aqu, Gp se ha convertido en un elemento tipo LTI que puede ser rastreado como una
funcin de transferencia para cualquier propsito futuro, dentro de la sesin actual.

La funcin de transferencia del controlador est definida por:


|

\
|
+ =
Tis
Kp s Gc
1
1 ) (


Kp=1.2; % ganancia proporcional, %/%
Ti=0.5; % tiempo integral, minutos/repeticin
Gc=tf([Kp*Ti,Kp],[Ti,0])

Transfer function:
0.6 s + 1.2
-----------
0.5 s

rgm/ITLAC/sept2009 12
Por ltimo, vamos a introducir un elemento de retroalimentacin unitario H, cuya funcin de
transferencia queda como:

H=tf(1)

Transfer function:
1

El lazo de control cerrado se observa en la siguiente figura.









CONVERSIN A LA FORMA CERO-POLO-GANANCIA.

Para convertir cualquier funcin de transferencia a la forma cero-polo-ganancia, se utiliza la
funcin zpk, tal como se muestra a continuacin:

SYS = ZPK(SYS)

zpkt=zpk(Gp) % conversin de FT a ZPK

Zero/pole/gain:
0.28571
------------
s (s+0.5143)

como resultado obtenemos la representacin de Gp(s) en la forma cero-polo-ganancia y que
corresponde a la ecuacin:

) 5143 . 0 (
28571 . 0
) (
+
=
s s
s Gp

el polinomio denominador esta expresado en trminos de factores lineales obtenidos de las
races de tal polinomio.

|

\
|
+
Tis
Kp
1
1
Bs Js +
2
1

rgm/ITLAC/sept2009 13

EXTRACCIN DE DATOS DE OBJETOS LTI.

Una vez que un objeto LTI ha sido creado, los datos contenidos en el pueden ser extrados
usando las funciones tfdata (funcin de transferencia), zpkdata (forma cero-polo-
ganancia) y ssdata (espacio de estado).

Ejemplo, obtener el polinomio numerador y denominador del objeto LTI correspondiente a la
funcin de transferencia de Gc(s) y Gp(s) construidos anteriormente.

[NUM,DEN] = TFDATA(SYS,'v')

[num,den]=tfdata(Gc,'v')

num = % polinomio numerador, 2 . 1 6 . 0 + s
0.6000 1.2000

den = % polinomio denominador, s 5 . 0
0.5000 0

para Gp(s), obtenemos:

[num,den]=tfdata(Gp,'v')

num = % polinomio numerador, 1
0 0 1

den = % polinomio denominador, s s 8 . 1 5 . 3
2
+
3.5000 1.8000 0



Para la forma ZPK correspondiente a Gp(s), obtenemos:

[Z,P,K] = ZPKDATA(SYS,'v')

[z,p,k]=zpkdata(zpkt,'v')

z = % no existen ceros
Empty matrix: 0-by-1

p = % polos en : s y s+0.5143
0
-0.5143

rgm/ITLAC/sept2009 14
k = % ganancia global
0.2857

El uso de la funcin ssdata, se ver ms adelante.




4. HERRAMIENTAS DE ANALISIS DE SISTEMAS.

FUNCIN DE TRANSFERENCIA DE LAZO CERRADO.

Mediante el uso de objetos LTI podemos realizar aritmtica de bloques tal como si se tratara
de expresiones algebraicas convencionales.
Ejemplo, sea el sistema de lazo cerrado mostrada en la siguiente figura:









Asignando valores, la funcin de transferencia queda como:

Kp=0.8; % ganancia esttica del proceso
E=1; % factor de amortiguamiento
Wn=3.5; % frecuencia natural de oscilacin

% funcin de transferencia del proceso.
%
Gp=tf(Kp,[1,2*E*Wn,Wn^2])

Transfer function:
0.8
-----------------
s^2 + 7 s + 12.25

% funcin de transferencia del lazo cerrado
%
%
G=Gp/(1+Gp)

2 2
2
n n
s s
Kp
+ +

rgm/ITLAC/sept2009 15

Transfer function:
0.8 s^2 + 5.6 s + 9.8
-----------------------------------------
s^4 + 14 s^3 + 74.3 s^2 + 177.1 s + 159.9

% simplificacin por eliminacin de polos y ceros
%
%
G=minreal(G) %mnima realizacin y cancelacin de polos y ceros : MSYS =
MINREAL(SYS)

Transfer function:
0.8
-----------------
s^2 + 7 s + 13.05

Este mismo resultado puede ser obtenido al utilizar la funcin feedback. La funcin
feedback automticamente calcula la funcin de transferencia de lazo cerrado con
retroalimentacin H(s). Si se omite el signo se considera por default negativa.

SYS = FEEDBACK(SYS1,SYS2,+1)

G1=feedback(Gp,1) % H(s) = 1

Transfer function:
0.8
-----------------
s^2 + 7 s + 13.05

se puede observar que la funcin feedback automticamente realiza la reduccin por
eliminacin de polos y ceros para entregar la funcin de transferencia ms condensada.


rgm/ITLAC/sept2009 16
HERRAMIENTAS APLICADAS A DIAGRAMAS DE BLOQUES.

Dadas las siguientes funciones de transferencia:

s s
s G
18 20
5
) (
2
1
+
= ;
1 8 . 3
1
) (
2
+
=
s
s G


CONEXIN EN SERIE.

Analizaremos primero la conexin de dos bloques en serie, tal como se muestra a
continuacin:







En MATLAB la funcin de transferencia resultante de la conexin serie anterior puede
encontrarse usando la funcin series o utilizando la operacin aritmtica convencional de
producto algebraico * .

SYS = SERIES(SYS1,SYS2,OUTPUTS1,INPUTS2)

OUTPUTS1 e INPUTS2 aplican para sistemas con mltiples entradas y mltiples salidas; en
caso de ser omitidas, series conecta en cascada SYS1 y SYS2 retornando el producto:

SYS = SYS2 * SYS1

G1=tf(5, [20, 18, 0]) % funcin de transferencia G1

Transfer function:
5
-------------
20 s^2 + 18 s

G2=tf(1, [3.8, 1]) % funcin de transferencia G2

Transfer function:
1
---------
3.8 s + 1


G1 G2

OUT=G1*G2
s s 18 20
5
2
+

1 8 . 3
1
+ s
rgm/ITLAC/sept2009 17
G=series(G1,G2) % G representa la conexin en cascada de G1 y G2
Transfer function:
5
------------------------
76 s^3 + 88.4 s^2 + 18 s

Esto resulta ser lo mismo que si usamos el producto algebraico *, ya que tanto G1 como G2
son ahora objetos LTI.

G=G1*G2 % G representa la conexin en cascada de G1 y G2

Transfer function:
5
------------------------
76 s^3 + 88.4 s^2 + 18 s



CONEXIN EN PARALELO.

Para la conexin en paralelo (suma o resta), MATLAB utiliza la funcin parallel.

SYS = PARALLEL(SYS1,SYS2,IN1,IN2,OUT1,OUT2)

IN1 e IN2 son entradas a los bloques de transferencia SYS1 y SYS2, estas entradas se
conectan en paralelo. OUT1 y OUT2, salidas de SYS1 y SYS2 respectivamente, se suman;
esto aplica para sistemas con mltiple entradas y salidas. En caso de omitir IN1, IN2, OUT1
y OUT2, la funcin parallel realiza una conexin en paralelo estndar:

SYS = SYS2 + SYS1

Sea el sistema descrito por el
siguiente arreglo de bloques:









G=parallel(G1,G2) %
conexin en paralelo de G1 y G2


G1




OUT=G1+G2
G2


s s 18 20
5
2
+

1 8 . 3
1
+ s
rgm/ITLAC/sept2009 18
Transfer function:
20 s^2 + 37 s + 5
------------------------
76 s^3 + 88.4 s^2 + 18 s

Esto es equivalente a la suma algebraica G1 + G2, tal como se indica a continuacin:

G1+G2 % suma algebraica de los objetos G1 y G2

Transfer function:
20 s^2 + 37 s + 5
------------------------
76 s^3 + 88.4 s^2 + 18 s


La conexin en paralelo de G1 y G2, o la resta algebraica se realizan de la misma forma
que el caso anterior solo que asignando signo negativo a G2.


parallel(G1, -G2) % conexin en paralelo de G1 y G2

Transfer function:
-20 s^2 + s + 5
------------------------
76 s^3 + 88.4 s^2 + 18 s

G1-G2 % resta algebraica de G1 y G2

Transfer function:
-20 s^2 + s + 5
------------------------
76 s^3 + 88.4 s^2 + 18 s















rgm/ITLAC/sept2009 19
REDUCCIN DE DIAGRAMAS DE BLOQUES.

A partir del conocimiento de las funciones feedback, series, parallel y de la aritmtica de
objetos LTI, el siguiente paso es ensayar la reduccin de diagramas de bloques de sistemas
de control y proceso. Como un ejemplo, vamos a calcular la funcin de transferencia de lazo
cerrado Y(s)/R(s) del sistema que se muestra a continuacin.















Las funciones de trasferencia son:

G1=tf(1,[1, 10])

Transfer function:
1
------
s + 10

G2=tf(1,[1, 1])

Transfer function:
1
-----
s + 1

G3=tf([1, 0, 1],[1, 4, 4])

Transfer function:
s^2 + 1
-------------
s^2 + 4 s + 4

G4=tf([1, 1], [1, 6])

) (
1
s G
) (
2
s G
) (
2
s H
) (
3
s G ) (
4
s G
) (
1
s H
) (
3
s H
R(s) Y(s)
rgm/ITLAC/sept2009 20
Transfer function:
s + 1
-----
s + 6


H1=tf([1, 1], [1, 2])

Transfer function:
s + 1
-----
s + 2

H2=tf(2)

Transfer function:
2

H3=tf(1)

Transfer function:
1


El primer paso es mover H2 a la salida de G4 y obtener las funciones de trasferencia
equivalentes G34=G3*G4 y G24=H2/G4=H2*inv(G4):

G34=series(G3,G4)

Transfer function:
s^3 + s^2 + s + 1
------------------------
s^3 + 10 s^2 + 28 s + 24

G24=H2/G4

Transfer function:
2 s + 12
--------
s + 1

El segundo paso es realizar el lazo cerrado con retroalimentacin positiva G5=G34-H1:

G5=feedback(G34,H1,+1)

Transfer function:

rgm/ITLAC/sept2009 21
s^4 + 3 s^3 + 3 s^2 + 3 s + 2
-----------------------------
10 s^3 + 46 s^2 + 78 s + 47



El tercer paso es la conexin serie G25=G2-G5:

G25=series(G2,G5)

Transfer function:
s^4 + 3 s^3 + 3 s^2 + 3 s + 2
--------------------------------------
10 s^4 + 56 s^3 + 124 s^2 + 125 s + 47

El cuarto paso es realizar el lazo cerrado G6=G25-G24:

G6=feedback(G25,G24)

Transfer function:
s^5 + 4 s^4 + 6 s^3 + 6 s^2 + 5 s + 2
------------------------------------------------
12 s^5 + 84 s^4 + 222 s^3 + 291 s^2 + 212 s + 71

El quinto paso es la conexin serie G16=G1-G6:

G16=series(G1,G6)

Transfer function:
s^5 + 4 s^4 + 6 s^3 + 6 s^2 + 5 s + 2
----------------------------------------------------------------
12 s^6 + 204 s^5 + 1062 s^4 + 2511 s^3 + 3122 s^2 + 2191 s + 710

Por ltimo, la funcin de transferencia de lazo cerrado Y(s)/R(s) queda:

G=feedback(G16,H3)

Transfer function:

s^5 + 4 s^4 + 6 s^3 + 6 s^2 + 5 s + 2
----------------------------------------------------------------
12 s^6 + 205 s^5 + 1066 s^4 + 2517 s^3 + 3128 s^2 + 2196 s + 712





rgm/ITLAC/sept2009 22
GRFICA DE POLOS Y CEROS.

En MATLAB utilizamos la funcin pzmap para obtener una grfica de localizacin de polos y
ceros en el plano complejo. Los polos son graficados con xs y los ceros con os.

[P,Z] = PZMAP(SYS)

P y Z son vectores columna que contienen los polos y ceros de la funcin de transferencia.
Si no se utilizan los argumentos del lado izquierdo se genera la grfica de ubicacin de polo y
ceros de manera automtica.
Utilizaremos como ejemplo la funcin de transferencia G anterior, transformndola a la forma
zpk, obtenemos:

pzkG=zpk(G)

Zero/pole/gain:
0.083333 (s+2) (s+1)^2 (s^2 + 1)
---------------------------------------------------------
(s+10.12) (s+2.44) (s+2.349) (s+1) (s^2 + 1.176s + 1.023)

Obtenemos primeramente los polos y ceros de la funcin de transferencia:

[p,z]=pzmap(G)

p =
-10.1174
-2.4403
-2.3493
-0.5882 + 0.8228i
-0.5882 - 0.8228i
-1.0000

z =
-2.0000
0.0000 + 1.0000i
0.0000 - 1.0000i
-1.0000
-1.0000

La grfica de polos y ceros:

pzmap(G)




Real Axis
I
m
a
g

A
x
i
s
Pole-zero map
-12 -10 -8 -6 -4 -2 0 2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

rgm/ITLAC/sept2009 23
FUNCIN POLE.

La funcin pole de MATLAB obtiene o calcula los polos de la ecuacin caracterstica de un
determinado objeto LTI. El resultado es un vector columna; en caso de que el modelo se
encuentre en espacio de estado SS, pole obtiene los eigenvalores de la matriz A.


P = POLE(SYS)


Ejemplo, para la funcin de transferencia G anterior.


G=tf([1, 4, 6, 6, 5, 2], [12, 205, 1066, 2517, 3128, 2196, 712])

Transfer function:

s^5 + 4 s^4 + 6 s^3 + 6 s^2 + 5 s + 2
----------------------------------------------------------------
12 s^6 + 205 s^5 + 1066 s^4 + 2517 s^3 + 3128 s^2 + 2196 s + 712


Los polos estn determinados por:


P=pole(G)

P =

-10.1174
-2.4403
-2.3493
-0.5882 + 0.8228i
-0.5882 - 0.8228i
-1.0000


Como se observar, corresponden exactamente a los polos encontrados anteriormente con
la funcin pzmap para la misma funcin de transferencia G.
rgm/ITLAC/sept2009 24
FUNCIN STEP.
La funcin step grafca la respuesta temporal de un objeto LTI ante una entrada excitatriz
tipo escaln, ya sea de tipo TF, ZPK o SS. El rango de tiempo y nmero de puntos es
seleccionado automticamente o definido por el usuario.

STEP(SYS)

STEP(SYS,TFINAL)

En este caso la simulacin se realiza desde t=0 hasta t=TFINAL, donde TFINAL est dado en
segundos. Para graficar la respuesta de mltiples modelos LTI en un solo cuadrante, la
funcin step tiene la variante descrita por:

STEP(SYS1,SYS2,...,T)

Ejemplo, sea la funcin de trasferencia G definida anteriormente:

G=tf([1, 4, 6, 6, 5, 2], [12, 205, 1066, 2517, 3128, 2196, 712])

Transfer function:

s^5 + 4 s^4 + 6 s^3 + 6 s^2 + 5 s + 2
----------------------------------------------------------------
12 s^6 + 205 s^5 + 1066 s^4 + 2517 s^3 + 3128 s^2 + 2196 s + 712

La respuesta temporal de esta funcin de transferencia a una funcin excitatriz tipo escaln
analizada durante un periodo de 10 segundos queda definida por:

step(G,10)
















Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 1 2 3 4 5 6 7 8 9 10
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x 10
-3 From: U(1)
T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 25
Analizaremos ahora el uso de la funcin step para mltiples funciones de transferencia.
Generemos tres de funciones de transferencia que quedan como:

G1=tf(1, [1, 0.2, 1])

Transfer function:
1
---------------
s^2 + 0.2 s + 1

G2=tf([0.8, 1], [1, 1, 1])

Transfer function:
0.8 s + 1
-----------
s^2 + s + 1

G3=tf(1, [1, 1, 1])

Transfer function:
1
-----------
s^2 + s + 1

step(G1,'r',G2,'g',G3,'b',10) % grafica la respuesta de G1,G2 y G3
grid on % activa la rejilla en la grfica
% grid tambin se puede activar directamente del grfico
% usando botn izquierdo del ratn
title('Respuesta a un salto unitario, sistemas G1,G2 y G3')
ylabel('Salidas c1,c2 y c3')
text(3.55,1.68,'G1') % etiqueta de G1
text(2.69,1.3,'G2') % etiqueta de G2
text(2.2,0.8,'G3') % etiqueta de G3














Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Respuesta a un salto unitario, sistemas G1,G2 y G3
S
a
lid
a
s

c
1
,
c
2

y

c
3
G1
G2
G3
rgm/ITLAC/sept2009 26
RESPUESTA A UNA ENTRADA TIPO RAMPA.

Dada la funcin de transferencia de una funcin excitatriz tipo rampa
2
1
) (
s
s F = , la
respuesta de una funcin a una entrada de este tipo la podemos encontrar como la respuesta
de
s
s G ) (
a una entrada tipo escaln
s
s F
1
) ( = unitario.

Dadas las siguientes funciones de transferencia:

G

Transfer function:
1
-
s

G1
Transfer function:
1
---------------
s^2 + 0.2 s + 1

G2
Transfer function:
0.8 s + 1
-----------
s^2 + s + 1

G3
Transfer function:
1
-----------
s^2 + s + 1

Obtenemos primeramente
s
s G ) (
, como sigue:

G1=series(G,G1)
Transfer function:
1
-----------------
s^3 + 0.2 s^2 + s

G2=series(G,G2)
Transfer function:

rgm/ITLAC/sept2009 27
0.8 s + 1
-------------
s^3 + s^2 + s

G3=series(G,G3)

Transfer function:
1
-------------
s^3 + s^2 + s

Despus, obtenemos la respuesta de las funciones de trasferencia resultantes ante una
entrada tipo escaln unitario.

step(G1,'o',G2,'x',G3,'*',G,'-',10)
title('Respuesta a una entrada tipo rampa unitaria, sistemas G1,G2 y G3')
ylabel('Salidas c1,c2 y c3')
grid on
text(1,8,'G1 oooo');text(1,7,'G2 xxxx');text(1,6,'G3 ***')



















Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
Respuesta a una entrada tipo rampa unitaria, sistemas G1,G2 y G3
S
a
l
i
d
a
s

c
1
,
c
2

y

c
3
G1 oooo
G2 xxxx
G3 ***
rgm/ITLAC/sept2009 28
FUNCIN IMPULSE.

Al igual que la funcin step, la funcin impulse grafica la respuesta de un sistema de
control ante una entrada excitatriz tipo impulso. El sistema de control puede estar definido en
cualquiera de los modelos LTI vistos anteriormente: TF, ZPK o SS.

IMPULSE(SYS)

IMPULSE(SYS,TFINAL)

En este caso la simulacin se realiza desde t=0 hasta t=TFINAL, donde TFINAL est dado en
segundos. Para graficar la respuesta de mltiples modelos LTI en un solo cuadrante, la
funcin impulse tiene la variante descrita por:

IMPULSE(SYS1,SYS2,...,T)

Ejemplo, sea la funcin de trasferencia G definida anteriormente:

G=tf([1, 4, 6, 6, 5, 2], [12, 205, 1066, 2517, 3128, 2196, 712])

Transfer function:
s^5 + 4 s^4 + 6 s^3 + 6 s^2 + 5 s + 2
----------------------------------------------------------------
12 s^6 + 205 s^5 + 1066 s^4 + 2517 s^3 + 3128 s^2 + 2196 s + 712

La respuesta temporal de esta funcin de transferencia a una funcin excitatriz tipo impulso
queda definida por:

impulse(G)















Time (sec.)
A
m
p
l
i
t
u
d
e
Impulse Response
0 0.5 1 1.5 2 2.5
-0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
From: U(1)
T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 29
FUNCIN LSIM.

La funcin lsim simula la respuesta en el dominio temporal de objetos LTI ante entradas de
forzamiento arbitrarias definidas por el usuario. Como ejemplo, la funcin step es un caso
particular de la funcion lsim.

LSIM(SYS,U,T,X0) , U seal de entrada, T vector que especifica el tiempo de muestreo en
intervalos espaciados regularmente, X0 condiciones iniciales requerido solamente en
simulacin de sistema en espacio de estado. U es una matriz que tiene tantas columna como
elementos hay en el vector T; la matriz U se forma con el producto de la funcin matemtica
de entrada y el vector T.

Como un ejemplo, vamos a obtener la respuesta, en el domino temporal, de las funciones de
transferencia siguientes ante una entrada rampa unitaria.

G1=tf(1,[1,0.2,1])

Transfer function:
1
---------------
s^2 + 0.2 s + 1

G2=tf([0.8,1],[1,1,1])

Transfer function:
0.8 s + 1
-----------
s^2 + s + 1

G3=tf(1,[1,1,1])

Transfer function:
1
-----------
s^2 + s + 1

t=0:0.1:10; %Vector de muestreo que indica la duracin en segundos
u=1*t; %Rampa unitaria
lsim(G1,'o',G2,'x',G3,'*',u,t) %Funcin de simulacin
title('Respuesta a una entrada tipo rampa unitaria, sistemas G1,G2 y G3')
ylabel('Salidas c1,c2 y c3')
grid on
text(1,8,'G1 oooo');text(1,7,'G2 xxxx');text(1,6,'G3 ***')

Se podr observar que se obtuvo la misma grfica que en la seccin anterior de
RESPUESTA ANTE UNA ENTRADA TIPO RAMPA, construida a partir de la funcin step.
rgm/ITLAC/sept2009 30




























DIAGRAMAS DE BODE.

Una funcin de transferencia se puede presentar en dos diagramas separados, uno que
aporta la magnitud respecto de la frecuencia y otro de aporta el ngulo de fase con respecto
a la frecuencia. El diagrama de Bode, por tanto, consiste de dos grficas. La primera es el
logaritmo de la magnitud de una funcin de transferencia sinusoidal:

) ( log 20 j G G = ;
donde:

) ( j G ; Representa el mdulo de la funcin de transferencia evaluada para j s =
G; Ganancia en db de la funcin de transferencia

La segunda es una grfica del ngulo de fase contra la frecuencia . Ambas se
representan en una escala logartmica para la frecuencia.

Time (sec.)
S
a
l
i
d
a
s

c
1
,
c
2

y

c
3
Respuesta a una entrada tipo rampa unitaria, sistemas G1,G2 y G3
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10

T
o
:

Y
(
1
)
G1 oooo
G2 xxxx
G3 ***
rgm/ITLAC/sept2009 31

Margen de fase y margen de ganancia.

El margen de fase es la cantidad de retardo de fase adicional al retraso propio de la funcin
de trasferencia analizada, correspondiente a la frecuencia a la cual el mdulo de la funcin
de transferencia en lazo abierto ) ( j G , vale la unidad. Este retraso de fase adicional
pondra al sistema al borde de la inestabilidad:

o
180 =

Mrgenes de fase negativos indican inestabilidad.

El margen de ganancia es el reciproco de ) ( j G en la frecuencia donde el ngulo de fase
es 180. El margen de ganancia es la ganancia ad icional requerida para obtener un
producto de ganancias de lazo abierto igual a la unidad.


) (
1
j G
K
g
=

Expresada en decibelios tenemos

) ( log 20 log 20 j G K K
g g
= = , db

El margen de ganancia, expresado en db, es positivo si
g
K es mayor que la unidad y
negativo si
g
K es menor que la unidad. Un margen de ganancia positivo, en decibelios,
significa que el sistema es estable y un margen de ganancia negativo que es inestable.
Debe observarse que ni el margen de ganancia ni el margen de fase por si solos no dan una
condicin suficiente de inestabilidad relativa. Ambos deben darse conjuntamente para la
determinacin de la inestabilidad relativa.
En MATLAB la funcin bode grafica el diagrama de bode de modelos LTI y tiene la siguiente
forma:

BODE(SYS)

Aqu el rango de frecuencias y el nmero de puntos es seleccionado automticamente. El
usuario puede suministrar un vector conteniendo las frecuencias en donde se desea graficar
el diagrama de bode y la funcin queda como sigue:

BODE(SYS,W)

Se puede usar la funcin logspace para generar un vector de frecuencias logartmicamente
espaciadas.
Para graficar la respuesta de mltiples modelos LTI en un solo cuadrante se usa la funcin:
rgm/ITLAC/sept2009 32

BODE(sys1,'r',sys2,'y--',sys3,'gx',W), el vector W es opcional.


Ejemplo, obtener el diagrama de bode del sistema siguiente:

G=tf([20,20,10],[1,11,10,0])

Transfer function:
20 s^2 + 20 s + 10
-------------------
s^3 + 11 s^2 + 10 s

bode(G)
title('Diagrama de bode de la funcin G(s)=20(s^2+s+0.5)/s(s+1)(s+10)')
grid






















Agregamos ahora una funcin de trasferencia adicional y graficamos el diagrama de bode
para ambas de manera simultanea:

G1=tf([10, 10],[1, 7, 10])

Transfer function:
10 s + 10
--------------
s^2 + 7 s + 10
s s s
s s
10 11
10 20 20
2 3
2
+ +
+ +

Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Diagrama de bode de la funcin G(s)=20(s
2
+s+0.5)/s(s+1)(s+10)
-20
-10
0
10
20
30
40
From: U(1)
10
-2
10
-1
10
0
10
1
10
2
-100
-80
-60
-40
-20
0
T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 33

bode(G,G1)
title('Diagrama de bode de G=20(s^2+s+0.5)/s(s+1)(s+10), G1=10s+10/s^2+7s+10')
grid
text(10^-1,25,'G(s)') % el texto se puede agregar directamente a la grfica usando la
funcin %Add text del men de figura de MATLAB
text(10^-1,-10,'G1(s)')





























FUNCION MARGIN.

La funcin margin genera el diagrama de bode de un modelo LTI mostrando adems el
margen de fase y el margen de ganancia.

[Gm,Pm,Wcg,Wcp] = MARGIN(SYS)

donde:
Gm = margen de ganancia, dB
Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Diagrama de bode de G=20(s
2
+s+0.5)/s(s+1)(s+10), G1=10s+10/s
2
+7s+10
-40
-20
0
20
40
From: U(1)
G(s)
G1(s)
10
-2
10
-1
10
0
10
1
10
2
-100
-50
0
50
T
o
:

Y
(
1
)
G(s)
G1(s)
rgm/ITLAC/sept2009 34
Pm = margen de fase, grados
Wcg = frecuencia asociada con el margen de ganancia, rad/sec
Wcp = frecuencia asociada con el margen de fase, rad/sec
El margen de ganancia Gm es definido como
G
Gm
1
= donde G es la ganancia de lazo
abierto para un retraso de fase de 180.
Cuando se invoca esta funcin sin los argumentos del lado izquierdo: MARGIN(SYS), la
funcin margin dibuja el diagrama de bode mostrando el margen de fase y margen de
ganancia con lneas verticales.

G=tf([280],[1, 15, 50, 100])

Transfer function:
280
-------------------------
s^3 + 15 s^2 + 50 s + 100
margin(G)
title('Diagrama de bode de la funcin G(s)=280/s^3+15s^2+50s+100')


























En el diagrama de bode anterior se puede observar que el sistema es estable ya que
tenemos mrgenes de ganancia y fase positivos.

Frequency (rad/sec)
P
h
a
s
e

(
d
e
g
)
;

M
a
g
n
i
t
u
d
e

(
d
B
)
Diagrama de bode de la funcin G(s)=280/s
3
+15s
2
+50s+100
-80
-60
-40
-20
0
20
Gm=7.3151 dB (at 7.0711 rad/sec), Pm=27.437 deg. (at 4.8201 rad/sec)
10
-1
10
0
10
1
10
2
-300
-250
-200
-150
-100
-50
0
rgm/ITLAC/sept2009 35

DIAGRAMAS POLARES.

Los diagramas de Nyquist son diagramas polares de una funcin de transferencia ) ( j G que
relaciona la amplitud de ) ( j G en funcin del ngulo de fase de ) ( j G en coordenadas
polares al variar desde cero a infinito. Entonces el diagrama polar es el lugar de los
vectores ) ( ) ( j G j G al variar desde cero a infinito. En los diagramas polares se mide el
ngulo de fase positivo en sentido antihorario a partir del eje positivo real.

Dado el sistema de control de lazo cerrado siguiente:







Donde la funcin de transferencia de lazo cerrado esta dada por:

) ( ) ( 1
) (
) (
) (
s H s G
s G
s R
s C
+
=

El criterio de estabilidad de Nyquist relaciona la respuesta en frecuencia de lazo abierto
) ( ) ( j H j G a la cantidad de ceros y polos de 1+ ) ( ) ( j H j G que hay en el semiplano
derecho de s.

El criterio de estabilidad de Nyquist tiene tres posibilidades:

1. No se encierra el punto 1+j0. Esto implica que el sistema es estable si no hay polos
de ) ( ) ( j H j G en el semiplano derecho de s; en caso contrario el sistema es
inestable.
2. Hay uno o varios rodeos antihorarios de del punto 1+j0. En este caso el sistema es
estable si la cantidad de rodeos antihorarios es igual a nmero de polos de
) ( ) ( j H j G en el semiplano derecho de s; en caso contrario el sistema es inestable.
3. Hay uno o varios rodeos del punto 1+j0 en sentido horario. En este caso el sistema
es inestable.

En MATLAB la funcin nyquist grafica el diagrama el diagrama de Nyquist de modelos LTI y
tiene la siguiente forma:

NYQUIST(SYS)

G
H
rgm/ITLAC/sept2009 36
El rango de frecuencias y el nmero de puntos es seleccionado automticamente. El usuario
puede suministrar un vector conteniendo las frecuencias en donde se desea graficar el
diagrama de bode y la funcin queda como sigue:

NYQUIST(SYS,W)
Se puede usar la funcin logspace para generar un vector de frecuencias logaritmicamente
espaciadas.
Para graficar la respuesta de mltiples modelos LTI en un solo cuadrante se usa la funcin:

NYQUIST(SYS1,SYS2,...,W) o nyquist(sys1,'r',sys2,'y--',sys3,'gx',W), el vector W es
opcional.

Ejemplo, sea un sistema de control que tiene la siguiente funcin de transferencia de lazo
abierto:
100 50 15
280
) (
2 3
+ + +
=
s s s
s G , obtenga el diagrama de Nyquist correspondiente.

G=tf([280],[1, 15, 50, 100])

Transfer function:
280
-------------------------
s^3 + 15 s^2 + 50 s + 100

nyquist(G)
grid
title('Diagrama de Nyquist de G(s)=280/s^3+15s^2+50s+100')



















Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
Nyquist Diagrams
-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3
-3
-2
-1
0
1
2
3
Diagrama de Nyquist de G(s)=280/s^3+15s^2+50s+100
T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 37

Del diagrama de Nyquist anterior se observa que la grfica no rodea el punto 1+j0 en
ningn momento, por tanto el sistema es estable.


Ejemplo:

Obtenga el diagrama de Nyquist de la siguiente funcin de transferencia de lazo abierto y
determine si el sistema de lazo cerrado es estable o inestable.

G=tf([1,8,0],[1,0.5,2,10])

Transfer function:
s^2 + 8 s
------------------------
s^3 + 0.5 s^2 + 2 s + 10

nyquist(G)
title('Diagrama de Nyquist de G(s)=s^2+8s/s^3+0.5s^2+2s+50')
grid

























Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
Diagrama de Nyquist de G(s)=s
2
+8s/s
3
+0.5s
2
+2s+50
-1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
From: U(1)
T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 38
El diagrama de Nyquist rodea al punto 1+j0 dos veces en sentido antihoratio.
Aparentemente el sistema es inestable pero necesitamos descartar otras posibilidades.
Vamos a determinar los polos de lazo abierto:


pole(G)

ans =

0.7500 + 2.1065i
0.7500 - 2.1065i
-2.0000

Como se podr observar, existen dos polos de lazo abierto ubicados en el semiplano
derecho, pero tambin se observ que el diagrama de Nyquist de G(s) rodea al punto 1+j0
dos veces en sentido antihorario, por tanto el sistema es estable.

pzmap(G)
title('Mapa de polos y ceros de G(s)=s^2+8s/s^3+0.5s^2+2s+50')



























Real Axis
I
m
a
g

A
x
i
s
Mapa de polos y ceros de G(s)=s
2
+8s/s
3
+0.5s
2
+2s+50
-8 -7 -6 -5 -4 -3 -2 -1 0 1
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5

rgm/ITLAC/sept2009 39
Para comprobar el resultado, cerramos el lazo de control mediante retroalimentacin unitaria
y probamos el sistema con una seal excitatriz tipo escaln unitario.

G1=feedback(G,1)


Transfer function:
s^2 + 8 s
-------------------------
s^3 + 1.5 s^2 + 10 s + 10

step(G1)

























Se comprueba con esto, que el sistema de lazo cerrado tiende a la estabilidad en rgimen
permanente.

Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 5 10 15 20 25
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
From: U(1)
T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 40

LUGAR DE LAS RAICES.

Las caractersticas bsicas de respuesta transitoria de un sistema de lazo cerrado son
determinadas por los polos de lazo cerrado. Por tanto en problemas de anlisis es
importante ubicar los polos de lazo cerrado en el plano s.

Los polos de lazo cerrado son las races de la ecuacin caracterstica. Para hallarlos hay
que descomponer en factores (forma zpk) el polinomio caracterstico; ver funcin ZPK de
MATLAB.

La idea bsica en el mtodo del lugar de las races, es que los valores de s que hacen a la
funcin de transferencia alrededor del lazo ) ( ) ( j H j G igual a 1, deben satisfacer la
ecuacin caracterstica del sistema. El lugar de las races de la ecuacin caracterstica del
sistema de lazo cerrado al variar la ganancia K desde cero a infinito (0 K < << < ), da su
nombre al mtodo.
El mtodo del lugar de las races, permite encontrar los polos de lazo cerrado, partiendo de
los polos y ceros de lazo abierto tomando a la ganancia K como parmetro.

Considere el sistema de control de lazo cerrado cuya funcin de transferencia es:

) ( ) ( 1
) (
) (
) (
s H s G
s G
s R
s C
+
=

La ecuacin caracterstica de este sistema de lazo cerrado es:

0 ) ( ) ( 1 = + s H s G 1 ) ( ) ( = s H s G

Esta ltima ecuacin, al ser una cantidad compleja, puede ser expresando en forma polar
como.

Condicin de ngulo:

) 1 2 ( 180 ) ( ) ( + = l s H s G
o
donde l = 0,1,2,

Condicin de amplitud o modular:

1 ) ( ) ( = s H s G

Los valores de s que satisfacen las condiciones de amplitud y ngulo, son las races de la
ecuacin caracterstica, o los polos de lazo cerrado.

Expresando la ecuacin caracterstica de la siguiente forma:

rgm/ITLAC/sept2009 41
0
) (
) (
1 ) ( ) ( 1 = + = +
s D
s KN
s H s G
o

1
) (
) (
=
s D
s KN


La condicin de amplitud o modular se puede expresar como:

1
) (
) (
) ( ) ( = =
s D
s KN
s H s G
o
) (
) (
s N
s D
K =

La condicin de ngulo se puede expresar como:

0 , 180 2
0 , 180 ) 1 2 (
) (
) (

+
=
(

K l
K l
s D
s N


La grfica de los puntos del plano complejo que satisfacen la condicin de ngulo
nicamente es el lugar de las races, al variar K desde cero a infinito. Una vez que se dibujo
el lugar de las races, los valores de K sobre el lugar de las races se determina mediante el
empleo de la condicin de magnitud.

Mrgenes de estabilidad.

Si se desea que un sistema de lazo cerrado sea estable es suficiente, en rigor, evitar que las
races de sus ecuacin caracterstica caigan sobre el eje imaginario o a su derecha. En la
prctica es necesario prohibir adems una cierta regin a la izquierda del eje imaginario con
lo cual imponemos un margen de estabilidad. La parte del plano complejo, a la izquierda del
eje imaginario que debemos evitar, se establece por consideraciones de orden prctico.

MRGEN DE GANANCIA:

d
cr
K
K
MG =

donde
d
K es el valor escogido de K para disear el sistema y
cr
K es el valor de K en el
cruce del eje imaginario.



rgm/ITLAC/sept2009 42
MRGEN DE FASE:

[ ] ) ( ) ( 180 j H j G + =



donde es el valor de la frecuencia a la cual 1 ) ( ) ( = j H j G .


En MATLAB utilizamos la funcin rlocus para graficar el lugar de las races de una funcin
de transferencia de lazo abierto G(s)H(s), para una entrada y una salida simple. Esta funcin
es utilizada para analizar la respuesta de un lazo cerrado con retroalimentacin negativa.

RLOCUS(SYS)

La grfica del lugar de las races muestra las trayectorias de los polos de lazo cerrado,
mientras la ganancia K vara desde cero a infinito.
Nota: rlocus funciona solamente para modelos LTI SISO (una entrada una
salida).

[R,K] = RLOCUS(SYS) or R = RLOCUS(SYS,K)

El comando anterior regresa un vector R que contiene las races complejas para los valores
de ganancia K. R tiene una longitud de K columnas.

[K,POLES] = RLOCFIND(SYS)

El comando rlocfind, busca sobre un punto especfico del lugar de las races el valor de la
ganancia y los correspondientes polos. Este comando regresa el control al grfico del lugar
de las races para seleccionar un punto de bsqueda. Tiene la siguiente variante:

[K,POLES] = RLOCFIND(SYS,P)

donde P es un vector de polos donde se desea conocer el lugar de las races.



EJEMPLO: Considere el sistema cuya funcin de transferencia de lazo abierto es:



) 5 )( 4 )( 4 )( 2 (
) 3 (
) ( ) (
+ + + + +
+
=
s j s j s s
s K
s H s G , con K>0


Dibuje el lugar de las races de la ecuacin caracterstica de lazo cerrado. Determine el valor
de la frecuencia a la cual cruza la rama del lugar el eje imaginario y el valor de K
correspondiente a ese punto.
rgm/ITLAC/sept2009 43


% PROGRAMA PARA GRAFICAR EL LUGAR DE LAS RACES DE UNA FUNCIN DE
% TRANSFERENCIA EN LA FORMA ZPK. PROGRAMA RLOC.M
tex1='Funcin de Transferencia: ';
tex2='Polos de lazo abierto: ';
tex3='Ceros de lazo abierto: ';
tex4='Frecuencia del cruce del eje imaginario, rad/s: ';
tex5='Ganancia K en el punto de cruce del eje imaginario: ';

%FUNCIN DE TRANSFERENCIA:
k=1; %Ganancia de lazo abierto
z=-3; %Cero de lazo abierto
p=[-2,-4-i,-4+i,-5]; %Polos de lazo abierto
disp(tex1) %Despliega el texto tex1
G=zpk(z,p,k) %Genera el objeto LTI
disp(tex2)
P=pole(G); %Calcula los polos de G
disp(P)
disp(tex3)
Z=zero(G); %Calcula los ceros de G
disp(Z)
rlocus(G); %Genera el grfico del lugar de las races de G

%Secuencia para encontrar el punto de cruce de las ramas correspondientes a los polos
%que tienden al infinito y cruzan el eje imaginario desestabilizando al sistema.

loop=1:0.01:10; %Vector de muestreo de polos
j=1;
for m=1:length(loop);
[K(:,m),P(:,m)]=rlocfind(G,j*i);
j=j+0.01;
end

% El vector P contiene las races o polos ms prximos a j*i en forma de una
% matriz de 4xj.
% K contiene las ganancias correspondientes a las j-esimas races.
% Vamos a tomar la fila 2 de P para extraer la parte real y la imaginaria y detectar
% el cruce por el eje imaginario, en ese punto la parte real es cero.
% En el punto 0+jw tenemos la respuesta de la funcin de transferencia solamente a la
% frecuencia compleja.

sel=P(2,:); % selecciona la fila 2 y todas las columnas de P.
X=real(sel); % extrae la parte real del vector sel
Y=imag(sel); % extrae la parte imaginaria del vector sel
Y1=interp1(X,Y,0); % interpolacin de primer orden, buscando el punto 0+Y1i
disp(tex4)
rgm/ITLAC/sept2009 44
disp(Y1)

%Ganancia de lazo abierto K correspondiente al punto de cruce con eje imaginario

K=rlocfind(G,Y1*i); %Calcula la ganancia K correspondiente a Y1
disp(tex5)
disp(K) %Despliega el valor de K para Y1

Al correr el programa rloc.m anterior, MATLAB presentar la siguiente informacin:

rloc
Funcin de Transferencia:
Zero/pole/gain:
(s+3)
---------------------------
(s+2) (s+5) (s^2 + 8s + 17)

Polos de lazo abierto:
-2.0000
-4.0000 - 1.0000i
-4.0000 + 1.0000i
-5.0000

Ceros de lazo abierto: -3
Frecuencia del cruce del eje imaginario, rad/s: 6.8609
Ganancia K en el punto de cruce del eje imaginario: 507.0701




















-7 -6 -5 -4 -3 -2 -1 0 1 2
-4
-3
-2
-1
0
1
2
3
4
Real Axis
I
m
a
g

A
x
i
s
Lugar de las raices de G(s)=K(s+3)/(s+2)(s+5)(s+4+i)(s+4-i)
rgm/ITLAC/sept2009 45
En caso de usar un controlador con accin proporcional solamente, este tendra que tener
una ganancia de 507.0701 para hacer que el lazo cerrado cayera en una condicin de
inestabilidad.


EJEMPLO. Disear un controlador proporcional en FEEDBACK usando el mtodo del
lugar de las races, para la funcin de transferencia de proceso que se muestra a
continuacin. El lazo de control cerrado se supone tiene retroalimentacin unitaria.

Criterio de diseo:

Mximo sobre impulso: 10%
Tiempo de crecimiento: 2 segundos


) 23 )( 17 )( 5 (
) 8 (
) (
+ + +
+
=
s s s s
s K
s G

El mximo sobre impulso porcentual queda definido por la ecuacin:

\
|
=
d
e Mp * 100
, %

Donde:
2
1 =
n d
, frecuencia natural amortiguada, rad/seg

n
=
El tiempo de crecimiento est dado por:
d
r
t


=
, segundos
Donde:

d
tan
1
=

DESARROLLO:

Para cumplir con el criterio de diseo, asignamos los siguientes valores: = 0.6, =
n
1.3

wn= 1.3 % Frecuencia natural de oscilacin, rad/seg
E= 0.6 % Factor de amortiguamiento
tr = % Tiempo de crecimiento
2.1291
Mp = %Sobrepaso mximo
9.4780

Estos pueden ser calculados mediante el siguiente programa criterio.m de MATLAB.

wn=input('wn= ');
Z=input('Z= ');
rgm/ITLAC/sept2009 46
sigma=Z*wn;
wd=wn*sqrt(1-Z^2);
B=atan(wd/sigma);
tr=(3.1416-B)/wd
Mp=100*(exp(-(sigma/wd)*3.1416))
Crear el siguiente programa rlk.m e introducir el texto que aparece abajo:


%PROGRAMA PARA GRAFICAR EL LUGAR DE LAS RAICES DE UN SISTEMA DE
%CONTROL RETROALIMENTADO EN EL QUE SE INCLUYE LA GRFICA DE
%AMORTIGUAMIENTO Y FRECUENCIA NATURAL CONSTANTE
%INTRODUCIR EL FACTOR DE AMORTIGUAMIENTO Y FRECUENCIA NATURAL DE
%OSCILACIN DE ACUERDO CON EL CRITERIO DE DESEMPEO EN TERMINOS DE
%SOBREPASO MAXIMO Y TIEMPO DE CRECIMIENTO DESEADOS.
%DESPUES DE GRFICAR EL LUGAR DE LAS RACES, USAR LA FUNCIN
%rlocfind(SYS), PARA UBICAR LOS POLOS EN UN PUNTO DESEADO DE LAS %RAMAS
Y CALCULAR EL CORRESPONDIENTE VALOR DE K.

%PROGRAMA rlk.m

%DATOS DE ENTRADA:
zeta=input('Factor de amortiguamiento= ');
wn=input('Frecuencia natural de oscilacin= ');

%TEXTOS
tex1='Funcin de transferencia de lazo abierto: ';

%FUNCIN DE TRANSFERENCIA DE LAZO ABIERTO SIN INCLUIR AL CONTROLADOR
k=1; %Ganancia de lazo abierto
z=-8; %Ceros de lazo abierto
p=[0 -5 -17 -23]; %Polos de lazo abierto
disp(tex1)
G=zpk(z,p,k) %Genera el objeto LTI
rlocus(G)
axis([-22 3 -15 15])
sgrid(zeta,wn) %Dibuja lneas de amortiguamiento constante y %frecuencia natural
constante sobre el grfico del %lugar de las races
title('Lugar de las races de G=(s+8)/s(s+5)(s+17)(s+23)')


Al correr el programa rlk.m se obtiene el lugar de las races que se muestra a continuacin.





rgm/ITLAC/sept2009 47
























En la grfica anterior, las lneas punteadas con una inclinacin de aproximadamente 45
corresponden a la ubicacin de polos con un amortiguamiento =0.6. La seleccin de polos
en medio de estas lneas, generar un sistema con un amortiguamiento >0.6; afuera de
estas lneas, el amortiguamiento del sistema es <0.6. El semicrculo en el origen indica la
localizacin de polos con una frecuencia natural =
n
1.3 rad/seg; dentro del circulo
n
<1.3 y
fuera del circulo
n
>1.3 rad/seg.

Despus de esto, teclear directamente en el escritorio de trabajo de MATLAB la siguiente
instruccin:

[K,P]=rlocfind(G)

MATLAB responder con el siguiente mensaje:

Select a point in the graphics window


Sobre el grfico del lugar de las races, seleccione un punto sobre alguna de las ramas que
cruzan las lneas de amortiguamiento constante y obtendr como resultado los polos y
ganancia K correspondientes a esa seleccin. El punto seleccionado (y su complemento), se
muestran con una + sobre el grfico del lugar de las races.

-20 -15 -10 -5 0
-15
-10
-5
0
5
10
15
Real Axis
I
m
a
g

A
x
i
s
Lugar de las races de G=(s+8)/s(s+5)(s+17)(s+23)
rgm/ITLAC/sept2009 48
selected_point =
-2.9332 + 2.2807i

K =
592.3384
P =
-25.3764
-13.8966
-2.8635 + 2.2887i
-2.8635 - 2.2887i

El valor K=592.3384, corresponde a la ganancia proporcional que deber tener el controlador
el controlador para que el tiempo de crecimiento sea de aproximadamente de 2 segundos y
el sobrepaso mximo de aproximadamente 10%.



























Para comprobar los resultados, obtenemos la respuesta del sistema de lazo cerrado ante una
entrada escaln unitario:

G1=G*K %Funcin de transferencia de paso directo Gc(s)Gp(s)


-20 -15 -10 -5 0
-15
-10
-5
0
5
10
15
Real Axis
I
m
a
g

A
x
i
s
Lugar de las races de G=(s+8)/s(s+5)(s+17)(s+23)
rgm/ITLAC/sept2009 49
Zero/pole/gain:
592.3384 (s+8)
---------------------
s (s+5) (s+17) (s+23)

Gloop=feedback(G1,1) %Funcin de transferencia de lazo cerrado

Zero/pole/gain:
592.3384 (s+8)
-----------------------------------------
(s+25.38) (s+13.9) (s^2 + 5.727s + 13.44)

step(Gloop,3.5) %Respuesta dinmica ante una entrada escaln, durante 3.5
segundos



























Time (sec.)
A
m
p
l
i
t
u
d
e
Step Response
0 0.5 1 1.5 2 2.5 3 3.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
From: U(1)
T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 50
ESPACIO DE ESTADO.

El primer paso en el trabajo de sistemas de control en espacio de estado es introducir el
sistema modelado en trminos de las matrices de coeficientes A, B, C y D. En MATLAB un
objeto LTI en espacio de estado es creado usando la expresin:

SYS=ss(A,B,C,D)

Ejemplo: El siguiente modelo en espacio de estado corresponde a un motor de corriente
directa que mueve una carga inercial. Deseamos simular el comportamiento del sistema en
el dominio temporal ante una funcin escaln unitario.

Ecuaciones dinmicas:

i
l m l m
b e
J n J R
nk
x
x
J n J R
kk
x
x
(
(

+
+
(

(
(

=
(
(

) (
0
) (
0
1 0
2
2
1
2
2
1


Ecuaciones de salida:

(

=
(

2
1
2
1
1 0
0 1
x
x
y
y


Donde:

=
1
x Desplazamiento angular de la carga inercial, rad.
=
2
x Velocidad angular de la carga inercial, rad/seg.
=
i
e Voltaje de armadura, volts.
R= Resistencia del devanado de armadura, ohms.
k= Constante de torque del motor, lb-ft/amperio.
kb= Constante de fuerza contra-elctro-motriz, volts-seg/rad.
n= Relacin de engranes.
Jm= Momento de inercia del motor, lb-ft-s2.
Jl= Momento de inercia de la carga, lb-ft-s2.



El siguiente programa motorcd.m de MATLAB realiza la captura de datos propios del modelo,
genera el objeto LTI en espacio de estado y simula el comportamiento de la carga ante una
entrada tipo escaln unitario.



rgm/ITLAC/sept2009 51
%programa para construir un modelo en espacio de estado de un motor %de CD
sistema lineales III

%INTRODUCE DATOS
k=input('Constante de Torque del motor, k= '); % lb-ft/amperio
kb=input('Constante fcem kb= '); % volts-seg/rad
R=input('Resistencia de armadura R= '); % ohms
n=input('Relacin de engranes n= '); % n
Jm=input('Inercia del motor Jm= '); % lb-ft-s2
Jl=input('Inercia de la carga Jl= '); % lb-ft-s2
tex1=' MATRIZ A: ';
tex2=' MATRIZ B: ';
tex3=' MATRIZ C: ';
tex4=' MATRIZ D: ';
tex5=' SISTEMA EN ESPACIO DE ESTADO ';

%OBTENCIN DEL MODELO EN ESPACIO DE ESTADO
ka=(-k*kb)/(R*(Jm+n^2*Jl));% elemento 2-2 de la matriz A

kb=(n*k)/(R*(Jm+n^2*Jl)); % elemento 2-1 matriz B

A=[0,1;0,ka]; % matriz A del sistema en espacio de estado
disp(tex1)
disp(A)
B=[0;kb]; % matriz B del sistema en espacio de estado
disp(tex2)
disp(B)
C=eye(2); % genera una matriz identidad de 2x2
disp(tex3)
disp(C)
D=0; % genera una matriz cero
disp(tex4)
disp(D)
disp(tex5)
G=ss(A,B,C,D) % realiza la representacin en espacio de estado del sistema
A,B,C

%RESPUESTA DINMICA ANTE UNA ENTRADA ESCALN UNITARIO

step(G);
title('Respuesta del modelo en espacio de estado, motor de CD, con carga inercial');



Al ejecutar el programa motorcd.m inicialmente el programa solicitar los parmetros del
modelo y despus responder con las matrices del sistema y la grfica de respuesta
temporal .



rgm/ITLAC/sept2009 52

motorcd
Constante de Torque del motor, k= 10
Constante fcem kb= 5.5e-2
Resistencia de armadura R= 0.2
Relacin de engranes n= 10
Inercia del motor Jm= 4e-3
Inercia de la carga Jl=6e-2
MATRIZ A:
0 1.0000
0 -0.4580

MATRIZ B:
0
83.2778

MATRIZ C:
1 0
0 1

MATRIZ D:
0

SISTEMA EN ESPACIO DE ESTADO

a =
x1 x2
x1 0 1
x2 0 -0.45803

b =
u1
x1 0
x2 83.278

c =
x1 x2
y1 1 0
y2 0 1

d =
u1
y1 0
y2 0
Continuous-time model.
rgm/ITLAC/sept2009 53
































Time (sec.)
A
m
p
l
i
t
u
d
e
Respuesta del modelo en espacio de estado, motor de CD, con carga inercial
0
1000
2000
3000
4000
5000
From: U(1)
T
o
:

Y
(
1
)
0 5 10 15 20 25
0
50
100
150
200
T
o
:

Y
(
2
)
rgm/ITLAC/sept2009 54

DISEO DE UN SISTEMA POR REALIMENTACIN DE ESTADO, METODO DE
UBICACIN DE POLOS.


La siguiente figura muestra el diagrama de un sistema de suspensin magntica de una
esfera. El objetivo del sistema es controlar la posicin de la esfera mediante el ajuste de la
corriente del electroimn a travs del voltaje de entrada e(t)












Ecuaciones del sistema:

) (
) (
2
2
2
t y
ki
Mg
dt
t y d
M =
dt
t di
L t Ri t e
) (
) ( ) ( + =

donde:

e(t)= voltaje de entrada, volts. y(t)= posicin de la esfera, mts.
i(t)= corriente del bobinado, amperes. R= resistencia del bobinado, ohms.
L= inductancia del bobinado, herios. M= masa de la esfera, Kg.
g= aceleracin gravitacional, 9.81 m/s2.

Se definen las siguientes variables de estado:

) (
1
t y x = ,
dt
t dy
x
) (
2
= , ) (
3
t i x =

Las ecuaciones dinmicas quedan como sigue:

) (
) (
2
1
t x
dt
t dx
=

rgm/ITLAC/sept2009 55
) (
) ( ) (
1
3
2
2
t x
t x
M
k
g
dt
t dx
=
) (
1
) (
) (
3
3
t e
L
t x
L
R
dt
t dx
+ =

Se puede observar que la ecuacin dinmica correspondiente a
2
x es no lineal, por lo que el
sistema debe ser linealizado alrededor de un punto de equilibrio constante.

El sistema linealizado se puede describir mediante la ecuacin matricial siguiente. La
linealizacin se realiza mediante la expansin de las ecuaciones no lineales por medio de la
serie de Taylor alrededor de ) ( ) (
0
t x t x = , y descartando los trminos de orden superior; el
estado
0
x corresponde a la entrada
0
r .

u B x A x + =



donde:

0
x x x =
0
u u u =
0

= x x x

(
(
(
(
(
(
(

3
3
2
3
1
3
3
2
2
2
1
2
3
1
2
1
1
1
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
A ;
(
(
(
(
(
(
(

3
3
2
3
1
3
3
2
2
2
1
2
3
1
2
1
1
1
r
f
r
f
r
f
r
f
r
f
r
f
r
f
r
f
r
f
B

Utilizando las ecuaciones anteriores, el sistema se va a linealizar en el punto
0 01
y x = =
constante, por tanto las otras dos variables de estado quedan como:

0
) (
01
02
= =
dt
t dx
x

k
Mgx
t i x
01
0 03
) ( = =

= ) (
0
t i Corriente nominal en el punto de linealizacin.

Las matrices de coeficientes del sistema linealizado quedan como:

rgm/ITLAC/sept2009 56

(
(
(
(
(
(

=
(
(
(
(
(
(

L
R
Mx
kg
x
kg
L
R
Mx
kx
Mx
kx
A
0 0
) ( 2 0
0 1 0
0 0
2
0
0 1 0
2
1
01 01 01
03
2
01
2
03


(
(
(
(

L
B
1
0
0




A continuacin se muestra el programa esfera.m mediante el cual se obtiene el modelo en
espacio de estado correspondiente a las matrices A y B, mostradas arriba.


%PROGRAMA PARA LA CREACIN DE UN MODELO LTI EN ESPACIO DE ESTADO Y
%SIMULACIN EN EN DOMINIO TEMPORAL

%PROGRAMA ESFERA.M

M=input('Masa de la esfera,kg, M= ');
g=9.81;
k=input('Constante proporcional, k= ');
L=input('Inductancia del bobinado, herios, L= ');
R=input('Resistencia del bobinado, ohms, R= ');
x01=input('Punto de equilibrio x01=y0(t), mts, x01= ');
tex1=' Sistema en Espacio de Estado ';
tex2=' Corriente en el punto de equilibrio, amperes: ';
tex3=' Polos del sistema: ';


%SISTEMA EN ESPACIO DE ESTADO, MODELO LTI

%CORRIENTE NOMINAL EN EL PUNTO DE EQUILIBRIO, io(t)
x03=sqrt((M*g*x01)/k);
disp(tex2)
disp(x03)

%MATRIZ A
A=[0,1,0;(k*g)/x01,0,-2*sqrt((k*g)/(M*x01));0,0,-R/L];

%MATRIZ B
B=[0;0;1/L];
rgm/ITLAC/sept2009 57

%MATRIZ C
C=[1,0,0];

%MATRIZ D
D=0;

%CREACIN DEL MODELO LTI EN ESPACIO DE ESTADO
disp(tex1)
G=ss(A,B,C,D)

%POLOS DEL SISTEMA
disp(tex3)
pole(G)

%ANALISIS DE LA RESPUESTA TEMPORAL DEL SISTEMA EN LAZO ABIERTO
t=0:0.001:0.03; %Perodo de simulacin
u=1*ones(size(t)); %Vector de forzamiento
x0=[0,0,0]; %Vector de condiciones iniciales
lsim(G,u,t,x0)



Al correr el programa esfera.m responde como se indica a continuacin:


Masa de la esfera,kg, M= 0.05
Constante proporcional, k= 1
Inductancia del bobinado, herios, L= 0.01
Resistencia del bobinado, ohms, R= 1
Punto de equilibrio x01=y0(t), mts, x01= 0.01
Corriente en el punto de equilibrio, amperes:
0.0700

Sistema en Espacio de Estado

a =
x1 x2 x3
x1 0 1 0
x2 981 0 -280.14
x3 0 0 -100
b =
u1
x1 0
x2 0
x3 100


rgm/ITLAC/sept2009 58

c =
x1 x2 x3
y1 1 0 0

d =
u1
y1 0

Polos del sistema:
ans =
31.3209
-31.3209
-100.0000




























Se puede observar que el sistema tiene un polo en el semiplano derecho y por lo tanto es
inestable en lazo abierto. El lugar de las races del sistema se muestra en la siguiente figura:

A manera de comprobacin, abajo se muestra la respuesta del sistema de lazo abierto ante
una entrada escaln en u(t):
-120 -100 -80 -60 -40 -20 0 20 40 60
-200
-150
-100
-50
0
50
100
150
200
Real Axis
I
m
a
g

A
x
i
s
rgm/ITLAC/sept2009 59

%ANALISIS DE LA RESPUESTA TEMPORAL DEL SISTEMA EN LAZO ABIERTO
t=0:0.001:0.03; %Perodo de simulacin
u=1*ones(size(t)); %Vector de forzamiento
x0=[0,0,0]; %Vector de condiciones iniciales
lsim(G,u,t,x0)
























Se puede observar que la distancia de la bola con respecto al electroimn tiende al infinito
conforme transcurre el tiempo. El sistema por tanto necesita de un control por medio de lazo
cerrado.














Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
0 0.005 0.01 0.015 0.02 0.025 0.03
-6
-5
-4
-3
-2
-1
0
x 10
-4
T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 60
DISEO DEL SISTEMA DE CONTROL MEDIANTE REALIMENTACIN DE ESTADO.

El diagrama esquemtico del sistema con realimentacin de estado se muestra a
continuacin.











El proceso est descrito por la ecuacin:

) ( ) (
) (
t Bu t Ax
dt
t dx
+ = (a

donde x(t) es el vector de estado nx1 y u(t) es una entrada de forzamiento o control escalar.
El control mediante realimentacin de estado est descrito por:

) ( ) ( ) ( t Kx t r t u = (b

donde K es la matriz de realimentacin 1xn con elementos de ganancia constante.
Sustituyendo la ecuacin (b en (a, obtenemos que el sistema de lazo cerrado est descrito
por la ecuacin de estado:

) ( ) ( ) (
) (
t Br t x BK A
dt
t dx
+ = (c

En la ecuacin anterior, la ecuacin caracterstica esta dada por:

0 = + BK A sI (d

Si la matriz de realimentacin K se define como:

] ,...., , [
2 1 n
k k k K = (e

Entonces el polinomio correspondiente a la ecuacin caracterstica (d se puede escribir
como:

0 ) ( ..... ) ( ) (
1 0
2
1 2
1
1
= + + + + + + + = +

k a s k a s k a s BK A sI
n
n n
n
n n
n


Cx y
Bu Ax x
=
+ =


K
y
R
+
-
rgm/ITLAC/sept2009 61
En la ecuacin anterior se puede observar que asignando valores arbitrarios a las ganancias
n
k k k ,..., ,
2 1
, podemos ubicar a voluntad los polos de la ecuacin caracterstica de lazo
cerrado sobre el plano complejo para as obtener la respuesta deseada.


CRITERIO DE DESEMPEO DEL LAZO DE CONTROL:

Tiempo de establecimiento, ts=<0.5 segundos
Mximo sobre impulso, Mp = < 0.5%

El mximo sobre impulso puede ser expresado mediante la siguiente ecuacin:

) 1 / (
2

= e Mp
, por tanto podemos calcular el valor aproximado de amortiguamiento
requerido para cumplir con este requisito.
Por medio de MATLAB podemos solucionar esta ecuacin y encontrar el valor de zeta
correspondiente a un sobreimpulso mximo de 0.5% usando lgica simblica.

syms z %Declara la variable simblica z
y=exp(-(z/sqrt(1-z^2))*pi)-0.05;
temp=solve(y,'z') %Resuelve la ecuacin y, guarda el resultado
simblico en
temp = %la variable temp
log(20)/(log(20)^2+pi^2)^(1/2)

zeta=double(temp) %Convierte a numrico el resultado temp y lo guarda
en
zeta = 0.6901 %zeta

De acuerdo con el resultado, el amortiguamiento requerido es de aproximadamente 0.7, por
tanto podemos usar el criterio de tiempo de establecimiento correspondiente a una banda de
tolerancia de 2% (0<<0.9), (Ver Ogata), por tanto:


n
s
t

4 4
= =

Obtenemos de acuerdo con la ecuacin anterior:

ts=0.5;
sigma=4/ts

sigma = 8

Por tanto, para cumplir con ambos criterios podemos usar un valor de sigma=9 para que el
tiempo de establecimiento sea menor que 0.5 segundos. Los polos dominantes (31.3209 y
31.3209), se reubicarn para establecerse en los siguientes puntos:
rgm/ITLAC/sept2009 62
100
7 8
7 8
3
2
1
=
=
+ =
p
i p
i p


Con esto cumplimos con el criterio de mximo sobre impulso y tiempo de establecimiento.

%PROGRAMA PARA UBICAR POLOS, CALCULAR LA MATRIZ DE REALIMENTACIN K Y
%SIMULAR EL COMPORTAMIENTO DEL SISTEMA EN DOMINIO TEMPORAL.
%ESTE PROGRAMA TRABAJA A PARTIR DE LAS MATRICES A,B,C Y D GENERADAS POR EL
%PROGRAMA ESFERA.M

%PROGRAMA POLESET.M

%UBICACION DE POLOS
P=[-8+7i,-8-7i,-100];
K=place(A,B,P); %CALCULA LA MATRIZ DE REALIMENTACIN
G1=ss(A-B*K,B,C,D) %GENERA EL NUEVO MODELO EN ESPACIO DE ESTADO EN LAZO
CERRADO

%ANALISIS DE LA RESPUESTA TEMPORAL DEL SISTEMA EN LAZO ABIERTO
t=0:0.01:2; %Perodo de simulacin
u=1*ones(size(t)); %Vector de forzamiento
x0=[0.5 0 0]; %Vector de condiciones iniciales
lsim(G1,u,t,x0)





















Time (sec.)
A
m
p
l
i
t
u
d
e
Linear Simulation Results
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1

T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 63
En la figura anterior, se puede observar que el sistema ahora es estable pero existe el
inconveniente de que la posicin final de la esfera no corresponde con el valor de referencia
r(t)=1, es decir, existe un error en estado estable ante la entrada escaln en la referencia.

Para eliminar este problema, se debe escalar la entrada para hacerla igual a K*x en estado
estable. Vamos a llamar a este factor Nbar y utilizaremos la funcin rscale (Esta funcin fue
desarrollada por Yanjie Sun de la Universidad de Michigan bajo la supervisin del Profesor D.
Tilbury), que sirve para encontrar el factor de escalacin que elimina el error en estado
estable.

El diagrama a bloques del sistema con realimentacin de estado para la bola suspendida
magnticamente queda como sigue:













function[Nbar]=rscale(A,B,C,D,K)
%Esta funcin encuentra el factor de escalacin N que eliminar
%el error en estado estable ante una entrada escaln
%Janjie Sun of the University of Michigan under the supervision
%of Prof. D. Tilbury
s=size(A,1); %nmero de filas de A
Z=[zeros(1,s) 1]; %Genera un array de ceros con un 1 como ltimo elemento
N=inv([A,B;C,D])*Z';
Nx=N(1:s); %Extrae los s primeros elementos del vector columna N
Nu=N(1+s); %Extrae el elemento 1+s del vector columna N
Nbar=Nu+K*Nx; %Calcula el factor de correccin que deber multiplicar a %la matriz B

Al ejecutar la funcin rscale, obtenemos el siguiente valor de Nbar:

rscale(A,B,C,D,K)
ans =
-0.4034


Por ltimo, hay que generar de nueva cuenta el objeto LTI en espacio de estado y simular el
comportamiento ante una entrada tipo escaln:

Cx y
Bu Ax x
=
+ =


K
y
R
+
-
N
rgm/ITLAC/sept2009 64
G2=ss(A-B*K,B*Nbar,C,D);
lsim(G2,u,t)
title('Sistema de Control de una Bola Magnticamente Suspendida');
ylabel('Posicin de la Bola');































OTRAS HERRAMIENTAS IMPORTANTES EN ESPACIO DE ESTADO.

TOOLBOX DE MATEMATICA SIMBLICA.

INV(A) Inversa de la Matriz.
DET(A) Determinante
[V,D] = EIG(X), EIG Eigenvalores y eigenvectores.
POLY(A), POLY Convierte las races del polinomio caracterstico y regresa el polinomio
inicial expresado como vector.
POLY2SYM(C), convierte un polinomio expresado como vector en un polinomio simblico.
EXPM(X), EXPM Matriz Exponencial.
Time (sec.)
P
o
s
i
c
i

n

d
e

l
a

B
o
l
a
Sistema de Control de una Bola Magnticamente Suspendida
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.2
0.4
0.6
0.8
1
1.2
1.4

T
o
:

Y
(
1
)
rgm/ITLAC/sept2009 65
S = SYM(A), SYM Construccin de nmeros, variables y objetos simblicos.
SYMS arg1 arg2 ..., SYMS Short-cut para la construccin de objetos simblicos.
L = LAPLACE(F), LAPLACE Transformada de Laplace.
F = ILAPLACE(L), ILAPLACE Transformada Inversa de Laplace.
[V,J] = JORDAN(A), JORDAN Forma canonica de Jordan.
EZPLOT(f) Grafica expresiones simblicas sobre el dominio -2*pi < x < 2*pi.
SIMPLE(S) encuentra la forma simblica ms simple de la expresin S.

TOOLBOX DE CONTROL.

P = POLE(SYS), POLE Calcula los polos de modelos LTI.
Z = ZERO(SYS), ZERO Calcula los ceros de modelos LTI.
K = ACKER(A,B,P), ACKER Calcula la ganancia de la matriz de realimentacin usando la
forma Ackermann.
Nota: acker se utiliza cuando se quiere colocar dos o ms polos en la misma posicin, en
este caso place no funciona.
SIGMA(SYS), SIGMA Genera una grfica individual de respuesta a la frecuencia de modelos
LTI.
LSIM(SYS,U,T), Grafica la respuesta temporal de modelos LTI ante entradas de forzamiento
arbitrarias. La funcin step es un caso particular de lsim.
CO = CTRB(A,B) calcula la matriz de controlabilidad [B AB A^2B ...].
OB = OBSV(A,C) calcula la matriz de observabilidad [C; CA; CA^2 ...].


TOOLBOX DE PROCESAMIENTO DE SEALES.

[NUM,DEN] = SS2TF(A,B,C,D,iu) calcula la matriz funcin de transferencia de Y(s) con
respecto de la i-esima entrada de forzamiento en el vector U(s).

NUM(s) -1
H(s) = -------- = C(sI-A) B + D
DEN(s)

La expresin resultante en trminos del vector numerador y denominador puede ser
convertida a simblica usando poly2sym y simplificarse usando simple o simplify.
rgm/ITLAC/sept2009 66

BIBLIOGRAFIA

The Student Edition of MATLAB, ver 5.
Users Guide
The MATH WORKS Inc.
PRENTICE HALL

Control Tutorials for MATLAB
The University of Michigan
Carnegie Mellon
www.engin.umich.edu/group/ctm

INTRODUCCIN A LA INGENIERA DEL
CONTROL AUTOMICO
Jess E. Rodrguez vila
Mc Graw Hill

Curso de Capacitacin y Actualizacin Docente:
SIMULACIN DE SISTEMAS LINEALES DE
CONTROL UTILIZANDO MATLAB Y SIMNON
Jos Luis Meza Medina
Instituto Tecnolgico de Mexicali

PROBLEMAS DE INGENIERA DE CONTROL
UTILIZANDO MATLAB
Katsuhiko Ogata
Prentice Hall

INGENIERA DE CONTROL MODERNA
Katsuhiko Ogata
Prentice Hall

SISTEMAS DE CONTROL AUTOMTICO
Benjamin C. Kuo
Prentice Hall

You might also like