You are on page 1of 17

Control Digital, Gua 2 1

Facultad: Ingeniera
Escuela: Electrnica
Asignatura: Control Digital

Tema: La caja de herramientas de Sistemas de Control de Matlab

Contenidos

Funciones de transferencia
Ganancia polos y ceros
Fracciones parciales
Respuesta en el tiempo
Modelado en lazo abierto y lazo cerrado
La transformada y antitransformada Z
Grficas de flujo de seal

Objetivos Especficos

Utilizar uno de los programas ms popular para el anlisis y diseo de Sistemas de


Control Automtico discretos.
Operar de manera bsica el programa para obtener funciones de transferencia y la
respuesta en el tiempo de sistemas de control de tiempo discreto.

Material y Equipo

1 Computadora con sistema operativo Linux o Windows


1 Programa MATLAB 2008a o superior.

Introduccin Terica

En aos recientes, el anlisis y diseo de sistemas de control han sido afectados


dramticamente por la proliferacin del uso de las computadoras, especialmente de las
computadoras personales. Las computadoras personales se han hecho tan poderosas y
avanzadas que pueden resolver problemas de sistemas de control con facilidad. Uno de los
programas tiles en el campo del control automtico es
MATLAB.

MATLAB puede considerarse como un lenguaje de programacin, como Fortran o C, aunque


sera difcil describirlo en unas cuantas palabras. He aqu algunas de sus caractersticas
notables:

La programacin es mucho ms sencilla


2 Control Digital, Gua 2
Hay continuidad entre valores enteros, reales y complejos
La amplitud de intervalo y la exactitud de los nmeros son mayores
Cuenta con una biblioteca matemtica amplia
Abundantes herramientas grficas, incluidas funciones de interfaz grfica con el usuario
Capacidad de vincularse con los lenguajes de programacin tradicionales
Transportabilidad de los programas MATLAB.
Capacidad de vincularse con los lenguajes de programacin tradicionales.

Una caracterstica notable de los nmeros en MATLAB es que no hay distincin entre reales,
complejos, enteros, de precisin sencilla y de doble precisin. En MATLAB, todos estos
nmeros estn conectados continuamente, como debe ser. Esto significa que en MATLAB
cualquier variable puede contener nmeros de cualquier tipo sin una declaracin especial
durante la programacin, con lo cual esta ltima se hace ms rpida y productiva. En Fortran
se requiere una subrutina distinta para cada variable sencilla o doble, real o compleja, o
entera, mientras que en MATLAB no hay necesidad de separarlas.

La biblioteca matemtica de MATLAB facilita los anlisis matemticos. Adems, el usuario


puede crear rutinas matemticas adicionales con mucha mayor facilidad que en otros
lenguajes de programacin, gracias a la continuidad entre las variables reales y complejas.
Entre las numerosas funciones matemticas, los solucionadores de lgebra lineal
desempean un papel crucial; de hecho, todo el sistema MATLAB se basa en estos
solucionadores.

IMPORTANCIA DE LAS GRFICAS

El anlisis visual de los problemas matemticos ayuda a comprender las matemticas y a


hacerlas ms asequibles. Aunque esta ventaja es bien conocida, la presentacin de
resultados calculados con grficos de computadora sola requerir un esfuerzo adicional
considerable. Con MATLAB, en cambio, bastan unos cuantos comandos para producir
presentaciones grficas del material matemtico. Es posible crear objetos grficos cientficos
e incluso artsticos en la pantalla mediante expresiones matemticas.

Procedimiento

Parte I. Tutorial.
Funciones de transferencia:
La sintaxis es: SYS = TF(NUM,DEN,Ts)
Se desea crear la siguiente funcin de transferencia de un sistema SISO en MATLAB:

..
= , con un tiempo de muestreo de 1s.
..
Para crearla se tiene que escribir lo siguiente:

>> H1=tf([0,-3.4,1.5],[1,-1.6,0.8],1)
Control Digital, Gua 2 3
Transfer function:
-3.4 z + 1.5
-----------------
z^2 - 1.6 z + 0.8
Sampling time: 1

Otra forma de lograr lo mismo es:


z=tf('z',1); H1 = (-3.4*z+1.5)/(z^2-1.6*z+0.8)
Transfer function:
-3.4 z + 1.5
-----------------
z^2 - 1.6 z + 0.8
Sampling time: 1

Para escribir la funcin de transferencia de sistemas MIMO con NY salidas y NU entradas


como el siguiente de dos salidas y una entrada (SIMO):

3 + 2

+ 2 + 5
=
3 + 5 + 2 + 1

Se puede hacer de la siguiente manera:

>> H=tf({[3,2];[1,0,2,5]},{[3,5,2,1];[3,5,2,1]},1)
Transfer function from input to output...
3 z + 2
#1: -----------------------
3 z^3 + 5 z^2 + 2 z + 1
z^3 + 2 z + 5
#2 -----------------------
3 z^3 + 5 z^2 + 2 z + 1
Sampling time: 1

Ganancia-Polos-Ceros

La sintaxis es: SYS = ZPK(Z,P,K,Ts), si no hay ceros se puede poner Z=[].

Se desea crear la siguiente funcin de transferencia de un sistema SISO en MATLAB:

3 + 8
=
+ 4 + 5

Para crearla se tiene que escribir lo siguiente:

>> Z=[-8];
>> P=[-4 -5];
>> K=3;
>> Ts=1;
4 Control Digital, Gua 2
>> H2=zpk(Z,P,K,Ts)
Zero/pole/gain:
3 (s+8)
-----------
(s+4) (s+5)

Otra forma de realizar lo mismo es:


>> z=zpk('z',1); H2=3*(z+8)/((z+4)*(z+5))
Zero/pole/gain:
3 (s+8)
-----------
(s+4) (s+5)

Tambin se pueden representar sistemas MIMO con NY salidas y NU entradas.

Por ejemplo se desea representar el siguiente sistema de dos salidas y una entrada:


= , = , Ts = 1s.

>> H = ZPK({[];[2 3]},{1;[0 -1]},[-5;1],1)
Zero/pole/gain from input to output...
-5
#1: -----
(z-1)
(z-2) (z-3)
#2: -----------
z (z+1)
Sampling time: 1

Fracciones Parciales
Para encontrar la expansin en fracciones parciales o viceversa se puede utilizar el comando
residue:

Encuentre la expansin en fracciones parciales de la siguiente funcin de transferencia:

3.4 z + 1.5
H (z) = 2
z 1.6 z + 0.8

>> num=[-3.4 1.5];


>> den=[1 -1.6 0.8];
>> [R,P,K]=residue(num,den)

R =

-1.7000 + 1.5250i
-1.7000 - 1.5250i
Control Digital, Gua 2 5

P =

0.8000 + 0.4000i
0.8000 - 0.4000i

K =

[]

La solucin es:
r (1) r ( 2) -1.7000 + 1.5250j -1.7000 - 1.5250j
H (z) = + = +
z p (1) z p ( 2) z 0.8000 - 0.4000j z 0.8000 + 0.4000j

Se vuelve a obtener la funcin original de la siguiente forma:

>> [n,d]=residue(R,P,K)

n =

-3.4000 1.5000

d =

1.0000 -1.6000 0.8000

Conversin de modelos

Los comandos para la conversin de modelos son:

residue: Expansin en fracciones parciales.

tf(SYS): Convierte el modelo SYS al formato de funcin de transferencia.

zpk(SYS): Convierte el modelo SYS al formato de ceros, polos y ganancia.

Funciones de Anlisis:

Respuesta en el tiempo.

impulse: Respuesta al impulso unitario.


step: Respuesta al escaln unitario.
lsim: Simula la respuesta en el tiempo de modelos LTI ante entradas arbitrarias.
Encuentre la respuesta en el tiempo ante un impulso de entrada de la siguiente funcin de
transferencia:

3.4 z + 1.5
H (z) = 2
, Ts=1s
z 1.6 z + 0.8
6 Control Digital, Gua 2
En MATLAB se escribira lo siguiente:

>> H1=tf([0,-3.4,1.5],[1,-1.6,0.8],1);
>> impulse(H1)

Esto da una salida usando un retenedor de orden cero, si queremos la salida nicamente con
las muestras podemos usar

>> stem(impulse(H1))

Encuentre la respuesta en el tiempo del sistema anterior ante una entrada impulso unitario en
el intervalo de 0 a 15 segundos.

>> impulse(H1,15)

Encuentre la respuesta del sistema anterior ante una entrada escaln unitario y adala en la
misma grfica de la respuesta al impulso en el intervalo de 0 a 15 segundos:

>> [Yi,T]=impulse(H1,15);
>> [Ye,T]=step(H1,15);
>> stem(T,Yi,'r')
>> hold on
>> stem(T,Ye,'b')
>> hold off

Se pueden usar las funciones de MATLAB para encontrar las respuestas en frecuencia
similarmente a como se hace con la del tiempo con los comandos, bode, bodemag, nichols,
nyquist, rlocus.

Pruebe estos comandos para obtener la respuesta en frecuencia.

La respuesta al impulso aparecer de color rojo y la respuesta al escaln de color azul.

Propiedades del modelo:


damp: Factores de amortiguamiento y frecuencias naturales
dcgain: Ganancia de estado estable (D.C.) de sistemas continuos.

Encuentre los factores de amortiguamiento y frecuencias naturales del siguiente sistema ante
una entrada escaln unitario:

5
H (z) = 2
, Ts = 1s
z + 0.4 z + 1000

La solucin sera:
Control Digital, Gua 2 7
z=tf('z',1); H=5/(z^2+0.4*z+1000)*z/(z-1)

Transfer function:
5 z
----------------------
z^3 + 0.4 z^2 + 1000 z

Sampling time: 1

>> damp(H)

Eigenvalue Magnitude Equiv. Damping Equiv. Freq.


(rad/s)

-2.00e-001 + 3.16e+001i 3.16e+001 -9.10e-001 3.80e+000


-2.00e-001 - 3.16e+001i 3.16e+001 -9.10e-001 3.80e+000
0.00e+000 0.00e+000 NaN NaN

Ya que el amortiguamiento de este sistema es muy pequeo, la respuesta en el tiempo ser


muy oscilatoria.

Modelado de sistemas de lazo abierto y de lazo cerrado.

parallel: Conexin en paralelo de sistemas.


series: Conexin en cascada de sistemas.
feedback: Conexin de sistemas en retroalimentacin.

Encuentre la funcin de transferencia simplificada del siguiente sistema usando MATLAB:

z+3 4(z+2)
G1= G2=
(z+1)(z+4) (z2+4z+5)

Solucin:

>> z=zpk('z',1); G1=(z+3)/((z+1)*(z+4)); G2=4*(z+2)/(z^2+4*z+5);


>> G=series(G1,G2)

Zero/pole/gain:
4 (z+2) (z+3)
---------------------------
(z+4) (z+1) (z^2 + 4z + 5)
Sampling time: 1

>> tf(G)
8 Control Digital, Gua 2
Transfer function:
4 z^2 + 20 z + 24
--------------------------------
z^4 + 9 z^3 + 29 z^2 + 41 z + 20

Sampling time: 1

Si la funcin de respuesta anterior se retroalimenta negativamente con una funcin H(s) = 1.


Encuentre la funcin de transferencia de lazo cerrado GCL.

Solucin:

>> H=1;
>> Gcl=feedback(G,H,-1)

Zero/pole/gain:
4 (z+3) (z+2)
------------------------------------------
(z+3.59) (z+1.673) (z^2 + 3.737z + 7.326)
Sampling time: 1

>> tf(Gcl)

Transfer function:
4 z^2 + 20 z + 24
--------------------------------
z^4 + 9 z^3 + 33 z^2 + 61 z + 44
Sampling time: 1

Encuentre la funcin de transferencia Gsum si G1 y G2 se colocan en paralelo.

>> Gsum=parallel(G1,G2)

Zero/pole/gain:

5 (z+3.826) (z+1.834) (z+1.339)


-------------------------------
(z+1) (z+4) (z^2 + 4z + 5)
Sampling time: 1

>> tf(Gsum)

Transfer function:
5 z^3 + 35 z^2 + 73 z + 47
--------------------------------
z^4 + 9 z^3 + 29 z^2 + 41 z + 20
Sampling time: 1
Control Digital, Gua 2 9
La transformada y Antitransformada Z

La caja de herramientas de matemtica simblica de MATLAB posee la funcin ztrans e iztrans


para transformar una funcin en el tiempo al dominio de la frecuencia compleja discreta y
viceversa.

Ejemplo: Encontrar la respuesta en el tiempo de la siguiente funcin de transferencia cuando a


la entrada se presenta una seal rampa unitaria discreta con un tiempo de muestreo de 1
segundo.

10 z + 5
G (z) = 2
z 1.2 z + 0.2

Solucin:

>> syms z t
>> G=(10*z+5)/(z^2-1.2*z+0.2);
>> g=iztrans(G*z/(z-1)^2);
>> pretty(g)

875 325 2 875 n


--- - --- n + 75/8 n - --- (1/5)
64 16 64
>> ezplot(g,[0,15])

Ejemplo:

Encuentre la transformada Z de la siguiente funcin:


g ( n ) = ( n sin ( an ) + e an ) u ( n ) , Ts = 1s.

Donde a es una constante real positiva.


Solucin:

>> syms a n z
>> g=n*sin(a*n)+exp(-n*t);
>> G=ztrans(g);
>> pretty(G)

2
z sin(a) (z - 1) z
---------------------- + ---------------------
2 2 / z \
(z - 2 z cos(a) + 1) exp(-t) |------- - 1|
\exp(-t) /
10 Control Digital, Gua 2

Programa en MATLAB que resuelve las grficas de flujo de seales por medio de la regla
de Mason.

Este programa resuelve las grficas de flujo de seales para generar una ecuacin simblica
equivalente que relaciona el nodo de salida y el nodo de entrada. Por ejemplo:
1 s21 2
*------>------*------------.
| | |
| | |
s11 v ^ s22 v R2
| | |
| | |
*------<------*------------'
3 s12 4

Hay cuatro nodos 1,2,3 y 4 y hay cinco coeficientes S11,S21,S12,S22 y R2. Si colocamos el
nodo 1 como el nodo de entrada independiente y escogemos el nodo 3 como un nodo
dependiente obtenemos la siguiente simplificacin:

1
a ---> *
|
| R2
v b/a= s11+s21* -------- *s12
| 1-s22*R2
|
b <--- *
3

Si colocamos al nodo 1 como el nodo de entrada independiente y el nodo 2 como el nodo de


salida dependiente obtenemos:

1 2
a ---> *------>------* ---> b

s21
b/a = --------
1-s22*R2
Este programa genera estas ecuaciones.
Especificando la red.
Se usa un archivo descriptor para especificar la topologa del diagrama de flujo. A cada nodo
se le asigna un nmero y cada rama se define como un nmero coeficiente. Cada rama se
define como una lnea en el archivo, descrita como sigue:

[# Coeficiente] [# Nodo de Inicio] [# Nodo Final] [Nombre del


Coeficiente]
Control Digital, Gua 2 11
Los nmeros de los coeficientes deben estar en orden. Por ejemplo, para describir el siguiente
diagrama (donde el nmero del coeficiente est entre parntesis),

1 (1) s21 2
*------>------*------------.
| | |
| | |
(4) s11 v ^ (2) s22 v (5) R2
| | |
| | |
*------<------*------------'
3 (3) s12 4

podemos usar este archivo (donde los espacios en blanco son tabulaciones, pero cualquier
espacio en blanco es aceptable):

1 1 2 s21
2 4 2 s22
3 4 3 s12
4 1 3 s11
5 2 4 R2

Este se guarda como 'example.net' en la carpeta donde est el programa.

El nombre del coeficiente puede ser cualquier expresin simblica vlida usada en maple. Si la
expresin tiene mltiples trminos, ellos deben encerrase entre parntesis. Por ejemplo:

(-D*z^(-1)) or (1+B)

Usando el programa
Una vez se ha hecho el archivo de la red, corra mason.m desde MATLAB. Se le preguntar
por el nombre del archivo de la red, y los nmeros de los nodos de Inicio y Final. Es importante
que las lneas en el archivo de red estn ordenadas de modo que los nmeros de los
coeficientes se incrementen a partir de 1. No use 0 como nmero de coeficiente o nodo.

El archivo mason.m se utilizar para resolver el siguiente problema:

Encuentre la relacin entre y 7 / y 2 en la figura 1.1, que representa la dependencia de y 7 sobre


y 2 donde este ltimo no es la entrada.
12 Control Digital, Gua 2

Figura 1.1. Grafica de flujo para el ejemplo del mtodo de Mason.

Solucin:

Primero creamos el archivo queue define la configuracin de la red y lo guardamos con un


nombre, por ejemplo, ejemplo.red. (Debe tener cuatro columnas)

1 1 2 1
2 2 3 G1
3 3 2 -H1
4 5 2 -H3
5 3 6 G5
6 3 4 G2
7 4 5 G3
8 5 4 -H2
9 5 6 G4
10 6 6 -H4
11 6 7 1

Notamos que como debemos encontrar y 7 / y 2 , primero hallaremos y 7 / y1 , luego y 2 / y1 para


y y /y
finalmente hallar 7 = 7 1 .
y 2 y 2 / y1

Primero corremos en MATLAB la funcin de la siguiente manera para crear y 7 / y1 :

>> [y7,y1]=mason('ejemplo.red',
[y7,y1]=mason('ejemplo.red',1,7)

-- Network Info --
Net File : ejemplo.red
Start Node : 1
Stop Node : 7

----- Paths -----


P1 : 1 2 5 11
P2 : 1 2 6 7 9 11
Control Digital, Gua 2 13
- Order 1 Loops -
L11 : 2 3
L12 : 2 6 7 4
L13 : 7 8
L14 : 10

- Order 2 Loops -
L21 : 2 3 7 8
L22 : 2 3 10
L23 : 2 6 7 4 10
L24 : 7 8 10

- Order 3 Loops -
L31 : 2 3 7 8 10

The variables returned are strings describing


the numerator and Denominator of the transfer equation.
If you have the symbolic toolbox, use Denominator=sym(Denominator)
and Numerator=sym(Numerator) to make these symbolic equations.
You can now use simple(Numerator/Denominator) to boil the whole
thing down. You could also use simple(Numerator) to simplify the
Numerator on it' own.

y7 =

1*G1*G5*1*(1-(G3*-H2)+0-0)+1*G1*G2*G3*G4*1*(1-0+0-0)

y1 =

1-(G1*-H1+G1*G2*G3*-H3+G3*-H2+-H4)+(G1*-H1*G3*-H2+G1*-H1*-H4+G1*G2*G3*-H3*-
H4+G3*-H2*-H4)-(G1*-H1*G3*-H2*-H4)

Luego obtenemos y 2 / y1 :

>> [y2,y1]=mason('ejemplo.red',1,2)

-- Network Info --
Net File : ejemplo.red
Start Node : 1
Stop Node : 2

----- Paths -----


P1 : 1

- Order 1 Loops -
L11 : 2 3
L12 : 2 6 7 4
L13 : 7 8
L14 : 10
14 Control Digital, Gua 2
- Order 2 Loops -
L21 : 2 3 7 8
L22 : 2 3 10
L23 : 2 6 7 4 10
L24 : 7 8 10

- Order 3 Loops -
L31 : 2 3 7 8 10

The variables returned are strings describing


the numerator and Denominator of the transfer equation.
If you have the symbolic toolbox, use Denominator=sym(Denominator)
and Numerator=sym(Numerator) to make these symbolic equations.
You can now use simple(Numerator/Denominator) to boil the whole
thing down. You could also use simple(Numerator) to simplify the
Numerator on it' own.

y2 =

1*(1-(G3*-H2+-H4)+(G3*-H2*-H4)-0)

y1 =

1-(G1*-H1+G1*G2*G3*-H3+G3*-H2+-H4)+(G1*-H1*G3*-H2+G1*-H1*-H4+G1*G2*G3*-H3*-
H4+G3*-H2*-H4)-(G1*-H1*G3*-H2*-H4)

Para obtener una mejor forma en la respuesta se puede realizar lo siguiente:

>> syms G1 G2 G3 G4 G5 H1 H2 H3 H4

>> y7=sym(1*G1*G5*1*(1-(G3*-H2)+0-0)+1*G1*G2*G3*G4*1*(1-0+0-0))

y7 =

G1*G5*(1+G3*H2)+G1*G2*G3*G4

>> y2=sym(1*(1-(G3*-H2+-H4)+(G3*-H2*-H4)-0))

y2 =

1+G3*H2+H4+G3*H2*H4

Finalmente la respuesta es:

>> R=y7/y2;
>> pretty(R)

G1 G5 (1 + G3 H2) + G1 G2 G3 G4
-------------------------------
1 + G3 H2 + H4 + G3 H2 H4
Control Digital, Gua 2 15
Anlisis de Resultados

Al resolver los problemas que siguen, siempre prepare sus respuestas con MATLAB.

1. Encuentre la transformada Z de las siguientes funciones:


(a) = sin3u (b) g ( n ) = ( n sin 2n + e 2 n ) u ( n )

2. Encuentre la antitransformada Z de la siguiente funcin:


5(z + 4 )z
(a) G (z ) =
( )
( z 0. 8 ) z 2 1. 6 z + 0. 9
3. Para la planta que aparece en la siguiente figura, muestre que Y ( z ) / U ( z ) es:
Y (z) G1G2G3
=
U (z) H1G2G3 + H 3G1G2G3 + G1G2 H 2 + 1

H2
-
U + + G2
Y
+ G1 + G3

- -
H1

H3

C (s )
4. Encuentre T (s ) = para el sistema representado por el grfico de flujo siguiente:
R (s )
G7 G8

R(s) C(s)
G1 G2 G3 G4 G5 G6

1
-H2
-H4
-H1

-H3
16 Control Digital, Gua 2
5. Encuentre C (s ) y C ( z ) para el sistema de control digital representado por el diagrama de bloques
siguiente:

R(s) C(s)
G1(s) G2(s)
+ T + T

- -

C*(s)
H1(s)
T

C*(s)
H2(s)
T

Investigacin Complementaria

1. Investigue cmo encontrar el lugar de las races de un sistema de control de tiempo


discreto por medio de Matlab.

Bibliografa

 Anlisis numrico y visualizacin grfica con MATLAB


Shoichiro Nakamura, Prentice-Hall Hispanoamrica, S.A.
 MATLAB Getting Started with MATLAB The Math Works Inc.
 Ogata, Katsuhiko. Ingeniera de Control Moderna, Segunda Edicin Edit. Prentice Hall.
1993. Mxico.
Control Digital, Gua 2 17

Hoja de cotejo: 2

Gua 1: La caja de herramientas de sistemas de control de Matlab

Alumno: Mesa No:

Docente: Hctor Rubn Caras Jurez GL: 01 Fecha:

EVALUACIO

% 1-4 5- 8-10
ota
7
CO
OCIMIE
TO 25% Conocimiento Conocimiento Conocimiento
deficiente y explicacin completo y
de los incompleta de explicacin
fundamentos los clara de los
tericos fundamento fundamentos
s tericos tericos

APLICACI
DEL 60% Reporte Reporte Reporte
CO
OCIMIE
TO Incompleto del parcialmente completo con
anlisis de completo del el correcto
resultados anlisis de anlisis de
(40%) resultados los resultados
proporcional e
Investigacin
a las partes investigacin
complementaria
realizadas complementaria
(20%).

ACTITUD 15% No tiene Actitud Tiene actitud


actitud propositiva y proactiva y
proactiva y con sus propuestas
es propuestas no son concretas.
desordenad aplicables al
o. contenido

TOTAL 100%

You might also like