You are on page 1of 86

Introduccin al Anlisis y Diseo de Sistemas de Control con

MATLAB
Miguel Ataurima Arellano
mataurimaa@uni.pe

12 de julio de 2014

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

ndice
1. Anlisis y diseo de sistemas de control
en el dominio de la frecuencia
1.1. Representacin funcin de transferencia . . . . . . . . . . .
1.1.1. Simplificacin de Modelos en Diagramas de Bloques
1.1.2. Respuesta al escaln unitario . . . . . . . . . . . . .
1.2. Caractersticas del Sistema de Control . . . . . . . . . . . .
1.3. Desempeo del Sistema de Control . . . . . . . . . . . . . .
1.3.1. Especificaciones en el Dominio del Tiempo . . . . . .
1.3.2. Respuesta al impulso . . . . . . . . . . . . . . . . .
1.3.3. Respuesta a una entrada arbitraria conocida . . . . .
1.4. Estabilidad del Sistema de Control . . . . . . . . . . . . . .
1.5. Mtodos de Respuesta en Frecuencia . . . . . . . . . . . . .
1.5.1. Diagrama de Bode . . . . . . . . . . . . . . . . . .
1.6. Estabilidad en el Dominio de la Frecuencia . . . . . . . . . .
1.6.1. Traza de Nyquist . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

3
4
10
25
30
46
47
49
55
60
67
68
71
72

2. Anlisis y diseo de sistemas de control


en el dominio del tiempo
77
2.1. Representacin espacio de estados (state-space) . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.2. Representaciones equivalentes de un modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Anlisis y diseo de sistemas de control


en el dominio de la frecuencia

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.1.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Representacin funcin de transferencia


La funcin de transferencia es una descripcin entrada-salida de un sistema LTI, que relaciona la transformada de Laplace de la variable variable de salida con la transformada de Laplace de la variable de entrada
con condiciones iniciales cero. Considere el sistema LTI descrito mediante la funcin de transferencia G (s)
U (s )

donde
G (s) =

G (s )

Y (s )

a1 sm + a2 sm1 + + am s + am+1
Y (s)
=
U (s)
b1 sn + b2 sn1 + + bn s + bn+1

donde m n, y todos los factores comunes han sido cancelados.


Se denominan ceros a las races del polinomio numerador de G (s)
Se denominan polos a las races del polinomio denominador de G (s)
Se denomina ecuacin caracterstica a la ecuacin resultante de igual a cero el polinomio del denominador
b1 sn + b2 sn1 + + bn s + bn+1 = 0
La respuesta transitoria de un sistema est relacionada directamente con las localizaciones en el plano-s
de los polos y ceros.
EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Considere las funciones de transferencia


G (s) =

6s2 + 1
s3 + 3s2 + 3s + 1

H (s) =

(s + 1) (s + 2)
(s + 2i) (s 2i) (s + 3)

Utilizando un script MATLAB:


1. Calcular los polos y ceros de G (s)
2. RepresenteH (s) con el numerador y denominador expandidos
3. La divisin:

G (s)
H (s)

4. La traza del mapa de polos y ceros de

EXPOSITOR: Miguel Ataurima Arellano

G (s)
en el plano complejo
H (s)

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

 sol001.m


clc; clear;

2
3
4
5
6
7
8
9

% Clculo de los polos y ceros de G(s)


numG = [6 0 1];
denG = [1 3 3 1];
z = roots(numG);
% ceros
p = roots(denG);
% polos
fprintf(Ceros de G(s):\n); disp(z);
fprintf(\nPolos de G(s):\n); disp(p);

10
11
12
13
14
15
16
17
18

% Obtencin de la ecuacin caracterstica de H(s)


n1 = [1 1]; n2 = [1 2];
d1 = [1 2i]; d2 = [1 -2i]; d3 = [1 3];
numH = conv(n1, n2);
denH = conv(d1, conv(d2,d3));
fprintf(\nH(s) expandido:);
printsys(numH, denH);

19
20
21

% Obtencin del cociente G(s)/H(s)


num = conv(numG, denH);

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

22
23
24

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

den = conv(denG, numH);


fprintf(\nCociente G(s)/H(s) :);
printsys(num, den);

25
26
27
28

% Mapa de polos y ceros del cociente G(s)/H(s)


pzmap(num, den);
axis equal;

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida 1 (Ventana de Comandos):





Ceros de G(s):
0.0000 + 0.4082i
0.0000 - 0.4082i
Polos de G(s):
-1.0000 + 0.0000i
-1.0000 + 0.0000i
-1.0000 - 0.0000i
H(s) expandido:
num/den =
s^2 + 3 s + 2
---------------------s^3 + 3 s^2 + 4 s + 12
Cociente G(s)/H(s) :
num/den =

6 s^5 + 18 s^4 + 25 s^3 + 75 s^2 + 4 s + 12


------------------------------------------s^5 + 6 s^4 + 14 s^3 + 16 s^2 + 9 s + 2

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida 2 (Ventana Figura):


PoleZero Map
2

Imaginary Axis (seconds1)

1.5
1
0.5
0
0.5
1
1.5
2

3.5

2.5

1.5

0.5

0.5

Real Axis (seconds )

EXPOSITOR: Miguel Ataurima Arellano

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.1.1.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Simplificacin de Modelos en Diagramas de Bloques

Sistema de Control con Conexin Serial


Sea
U (s )

donde:
T (s) =

G1(s )

Y (s )

G2 (s )

U (s )

T (s )

Y (s)
num
=
;
U (s)
den

G1 (s) =

Y (s )

num1
;
den2

G2 (s) =

num2
den2

en MATLAB:


[num, den] = series(num1, den1, num2, den2)

EXPOSITOR: Miguel Ataurima Arellano

10

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Considere las funciones de transferencia


G1 (s) =

s+1
;
s+2

G2 (s) =

1
500s2

Utilizando un script MATLAB, obtenga el Sistema de Control con Conexin Serial


 sol002.m


clc; clear;

2
3
4
5
6
7
8

% Sistema de Control con Conexin Serial


num1 = [1 1]; den1 = [1 2];
num2 = 1; den2 = [500 0 0];
[num, den] = series(num1, den1, num2, den2);
fprintf(T(s) = );
printsys(num, den);

EXPOSITOR: Miguel Ataurima Arellano

11

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana de Comandos):




T(s) =
num/den =

s + 1
-----------------500 s^3 + 1000 s^2

EXPOSITOR: Miguel Ataurima Arellano

12

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Sistema de Control con Conexin Paralela


G1(s )
U (s )

Y (s )

G2 (s )

U (s )

donde:
T (s) =

Y (s)
num
=
;
U (s)
den

Y (s )

T (s )

G1 (s) =

num1
;
den2

G2 (s) =

num2
den2

en MATLAB:


[num, den] = parallel(num1, den1, num2, den2)

EXPOSITOR: Miguel Ataurima Arellano

13

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Considere las funciones de transferencia


G1 (s) =

s+1
;
s+2

G2 (s) =

1
500s2

Utilizando un script MATLAB, obtenga el Sistema de Control con Conexin Paralela


 sol003.m


clc; clear;

2
3
4
5
6
7
8

% Sistema de Control con Conexin Paralela


num1 = [1 1]; den1 = [1 2];
num2 = [1]; den2 = [500 0 0];
[num, den] = parallel(num1, den1, num2, den2);
fprintf(T(s) = );
printsys(num, den);

EXPOSITOR: Miguel Ataurima Arellano

14

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana de Comandos):




T(s) =
num/den =

500 s^3 + 500 s^2 + s + 2


-------------------------500 s^3 + 1000 s^2

EXPOSITOR: Miguel Ataurima Arellano

15

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Sistema de Control con Lazo Cerrado positivo/negativo

U (s )

G (s )

U (s )

donde:
T (s) =

Y (s )

T (s )

Y (s)
num
=
;
U (s)
den
(

signo =

Y (s )

G (s) =

numG
;
denG

+1 ; realimentacin positiva
1 ; realimentacin negativa

en MATLAB:


[num, den] = cloop(numG, denG, signo)

EXPOSITOR: Miguel Ataurima Arellano

16

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Considere las funciones de transferencia


G1 (s) =

s+1
;
s+2

G2 (s) =

1
500s2

Utilizando un script MATLAB, obtenga el Sistema de Control con Lazo Cerrado Negativo siguiente
U (s )

G1(s )

G2 (s )

Y (s )

 sol004.m


clc; clear;

2
3
4
5
6
7
8
9

% Sistema de Control con Conexin Paralela


num1 = [1 1]; den1 = [1 2];
num2 = [1]; den2 = [500 0 0];
[num, den] = series(num1, den1, num2, den2);
[numT, denT] = cloop(num, den, -1);
fprintf(T(s) = );
printsys(numT, denT);

EXPOSITOR: Miguel Ataurima Arellano

17

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana de Comandos):




T(s) =
num/den =

s + 1
--------------------------500 s^3 + 1000 s^2 + s + 1

EXPOSITOR: Miguel Ataurima Arellano

18

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Sistema de Control con Lazo de Realimentacin positiva/negativa


U (s )

Y (s )

G1(s )

G2 (s )

U (s )

donde:
T (s) =

Y (s)
num
=
;
U (s)
den
(

signo =

Y (s )

T (s )

G1 (s) =

num1
;
den2

G2 (s) =

num2
;
den2

+1 ; realimentacin positiva
1 ; realimentacin negativa

en MATLAB:


[num, den] = feedback(num1, den1, num2, den2, signo)

EXPOSITOR: Miguel Ataurima Arellano

19

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Considere las funciones de transferencia


G1 (s) =

s+1
;
s+2

G2 (s) =

1
500s2

Utilizando un script MATLAB, obtenga el Sistema de Control con Lazo de Realimentacin Negativo siguiente
U (s )

G2 (s )

Y (s )

G1(s )

 sol005.m

clc; clear;

2
3
4
5
6
7
8

% Sistema de Control con Lazo de Realimentacin Negativa


num1 = [1 1]; den1 = [1 2];
num2 = [1]; den2 = [500 0 0];
[num, den] = feedback(num2, den2, num1, den1, -1);
fprintf(T(s) = );
printsys(num, den);

EXPOSITOR: Miguel Ataurima Arellano

20


mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana de Comandos):




T(s) =
num/den =

s + 2
--------------------------500 s^3 + 1000 s^2 + s + 1

EXPOSITOR: Miguel Ataurima Arellano

21

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Sistema de Control Multilazo


EJEMPLO: Considere el siguiente sistema de control multilazo
H 2 (s )
U (s )

G1(s )

G2 (s )

G3 (s )

G4 (s )

Y (s )

H 1(s )
H 3 (s )

U (s )

donde
G1 (s) =
y

T (s )

Y (s )

1
s2 + 1
s+1
1
; G2 =
; G3 (s) = 2
; G4 (s) =
s + 10
s+1
s + 4s + 4
s+6

s+1
; H2 (s) = 2; H3 (s) = 1
s+2
Utilizando un script MATLAB, obtenga el Sistema de Control Multilazo
H1 (s) =

EXPOSITOR: Miguel Ataurima Arellano

22

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

 sol006.m


clc; clear;

2
3
4
5
6
7
8
9
10

% Sistema de Control con Lazo de Realimentacin Negativa


numG1 = 1; denG1 = [1 10];
numG2 = 1; denG2 = [1 1];
numG3 = [1 0 1]; denG3 = [1 4 4];
numG4 = [1 1]; denG4 = [1 6];
numH1 = [1 1]; denH1 = [1 2];
numH2 = 2; denH2 = 1;
numH3 = 1; denH3 = 1;

11
12
13
14
15
16
17
18
19
20

num1 = conv(numH2, denG4); den1 = conv(denH2, numG4);


[n2a, d2a] = series(numG3, denG3, numG4, denG4);
[n2, d2] = feedback(n2a, d2a, numH1, denH1, +1);
[n3a, d3a] = series(numG2, denG2, n2, d2);
[n3, d3] = feedback(n3a, d3a, num1, den1);
[n4, d4] = series(numG1, denG1, n3, d3);
[num, den] = feedback(n4, d4, numH3, denH3, -1);
fprintf(T(s) = );
printsys(num, den);

EXPOSITOR: Miguel Ataurima Arellano

23

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana de Comandos):




T(s) =
num/den =

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

EXPOSITOR: Miguel Ataurima Arellano

24

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.1.2.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Respuesta al escaln unitario

Para calcular la respuesta al escaln unitario (unit step response) de un sistema lineal
u(t )

y(t )
G (s )

tf t

Entrada
Escaln

Salida

donde
G (s) =

tf t

num
den

MATLAB provee la funcin step.




[y, x, t] = step(num, den, tsim)

donde:

num es el numerador de la funcin de transferencia G (s)


den es el denominador de la funcin de transferencia G (s)
tsim es el tiempo de simulacin (la simulacin inicia en t = 0)
y es la respuesta de salida en t
x es la respuesta de estados en t
t es el tiempo de simulacin

EXPOSITOR: Miguel Ataurima Arellano

25

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Considere el siguiente diagrama de bloques de un Motor Elctrico de Traccin


G1

G3
d (t )

G2

10

540

Entrada
Escaln

2s

0.5

(t )
Respuesta

G4

0.1

Utilizando un script MATLAB, que permita calcular la funcin de transferencia de lazo cerrado e investigar la
respuesta (t) a una entrada de referencia, d (t), utilizando la funcin step; es decir, la respuesta del sistema
lineal al escaln unitario.
 sol007.m


clc; clear;

2
3
4
5
6
7
8

% Reduccin del Diagrama de Bloques del


% Motor de Traccin Elctrico
num1 = 10; den1 = [1 1];
num2 = 1; den2 = [2 0.5];
num3 = 540; den3 = 1;
num4 = 0.1; den4 = 1;

EXPOSITOR: Miguel Ataurima Arellano

26

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

9
10
11
12
13
14

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

[na, da] = series(num1, den1, num2, den2);


[nb, db] = feedback(na, da, num4, den4, -1);
[nc, dc] = series(num3, den3, nb, db);
[num, den] = cloop(nc, dc, -1);
fprintf(T(s) = );
printsys(num, den);

15
16
17
18
19
20
21
22
23
24
25
26

% Respuesta al Escaln Unitario de la Velocidad de la


% Rueda del Motor de Traccin Elctrico
t = (0:0.001:10);
[y, x, t] = step(num, den, t);
plot(t, y, ...
% Respuesta
[0 0 10], [0 1 1], r--); % Escaln unitario
legend(\omega(t), \omega_d(t));
grid on;
xlabel(tiempo (seg.));
ylabel(Velocidad de la rueda);
title(Respuesta del Sistema Lineal al Escaln Unitario);

Salida 1 (Ventana de Comandos):

T(s) =
num/den =

EXPOSITOR: Miguel Ataurima Arellano

27

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

5400
---------------------2 s^2 + 2.5 s + 5401.5

EXPOSITOR: Miguel Ataurima Arellano

28

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida 2 (Ventana Figura):


Respuesta del Sistema Lineal al Escaln Unitario
2
(t)
d(t)

1.8

Velocidad de la rueda

1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0

EXPOSITOR: Miguel Ataurima Arellano

4
5
6
tiempo (seg.)

29

10

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.2.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Caractersticas del Sistema de Control

Se acostumbra introducir retroalimentacin para


1. Reducir la sensibilidad del sistema ante las variaciones de planta
2. Habilitar el ajuste de la respuesta transitoria del sistema
3. Rechazar las perturbaciones
4. Reducir los errores de seguimiento (tracking errors) de estado estacionario (steady-state)
Las ventajas de la realimentacin se da a costa del costo del incremento del nmero de componentes y la
complejidad del sistema, la reduccin en la ganancia del ssitema de lazo cerrado, y la introduccin de posibles
inestabilidades. Sin embargo, las ventajas de la retroalimentacin superan las desventajas hasta el punto en el
que los sistemas de control con retroalimentacin se encuentran por todos lados.

EXPOSITOR: Miguel Ataurima Arellano

30

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Sistema de Control del Tacmetro de Velocidad


1. Diagrama de Bloques del Sistema de Control del Tacmetro de Velocidad de Lazo Abierto donde Kb es la
constante de fuerza contraelectromotriz
Td (s )
G1(s )
Va (s )

1
Ra

Ia (s )

Km

Tm (s )

(s )

TL (s )

Js

Kb

Solucin:
 sol008.m


clc; clear;

2
3
4
5

% Parmetros del Modelo


Ra = 1;
Km = 10;

EXPOSITOR: Miguel Ataurima Arellano

31

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

6
7
8

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

J = 2;
f = 0.5;
Kb = 0.1;

9
10
11
12
13

% Reduccin del Diagrama de Bloques


num1 = 1; den1 = [J f];
num2 = Km*Kb/Ra; den2 = 1;
[num, den] = feedback(num1, den1, num2, den2);

14
15
16
17
18

% Cambio del signo de la funcin de transferencia dado que


% la perturbacin tiene signo negativo en el diagrama
num = -num;
printsys(num, den);

19
20
21
22
23
24
25
26
27

% Clculo de la respuesta a la perturbacin escaln


[y, x, t] = step(num, den);
plot(t, y, ...
[0 t(end)], [y(end) y(end)], --k);
xlabel(tiempo (seg.)) ;
ylabel(velocidad (rad/seg.));
title(Respuesta a la perturbacin escaln - Lazo Abierto);
grid on;

EXPOSITOR: Miguel Ataurima Arellano

32

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):


Respuesta a la perturbacin escaln Lazo Abierto
0

0.1

velocidad (rad/seg.)

0.2

0.3

0.4

0.5

0.6

0.7
0

EXPOSITOR: Miguel Ataurima Arellano

6
tiempo (seg.)

33

10

12

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

2. Diagrama de Bloques del Sistema de Control del Tacmetro de Velocidad de Lazo Cerrado
Td (s )
U (s )

Td

Km

Ka

(s )

1
Js

Ra

Kb
Kt

 sol009.m


clc; clear;

2
3
4
5
6
7
8

% Parmetros del Modelo


Ra = 1;
Km = 10;
J = 2;
f = 0.5;
Kb = 0.1;

EXPOSITOR: Miguel Ataurima Arellano

34

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

9
10

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Ka = 54;
Kt = 1;

11
12
13
14
15
16
17
18
19

% % Reduccin del Diagrama de Bloques


num1 = 1; den1 = [J f];
num2 = Ka*Kt; den2 = 1;
num3 = Kb; den3 = 1;
num4 = Km/Ra; den4 =1 ;
[na, da] = parallel(num2, den2, num3, den3);
[nb, db] = series(na, da, num4, den4);
[num, den] = feedback(num1, den1, nb, db);

20
21
22
23
24

% Cambio del signo de la funcin de transferencia dado que


% la perturbacin tiene signo negativo en el diagrama
num = -num;
printsys(num, den);

25
26
27
28
29
30
31

% Clculo de la respuesta a la perturbacin escaln


[y, x, t] = step(num, den);
plot(t, y, ...
[0 t(end)], [y(end) y(end)], --k);
xlabel(tiempo (seg.)) ;
ylabel(velocidad (rad/seg.));

EXPOSITOR: Miguel Ataurima Arellano

35

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

32
33

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

title(Respuesta a la perturbacin escaln - Lazo Cerrado);


grid on;

EXPOSITOR: Miguel Ataurima Arellano

36

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):


3

x 10

Respuesta a la perturbacin escaln Lazo Cerrado

0.2
0.4

velocidad (rad/seg.)

0.6
0.8
1
1.2
1.4
1.6
1.8
2
0

EXPOSITOR: Miguel Ataurima Arellano

0.005

0.01

0.015
0.02
tiempo (seg.)

37

0.025

0.03

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Dado el siguiente Diagrama de Bloques del Sistema de Control de una Mquina Taladradora
perturbacin

D(s )

mquina
taladradora

G (s )
R(s )

E (s )

C (s )

s(s

ngulo
deseado

12)

ngulo

1. Obtenga la respuesta a la entrada escaln con K1 = 100 y K2 = 50


 sol010.m


clc; clear;

2
3
4
5

% Parmetros
K1 = 100;
K2 = 50;

6
7
8
9
10

% Reduccin del Diagrama de Bloques


numG = 1; denG = [1 12 0];
num1 = K1*numG; num2 = K2*numG;
[na, da] = cloop(num1, denG);

EXPOSITOR: Miguel Ataurima Arellano

38

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

11

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

[nb, db] = cloop(num2, denG);

12
13
14
15
16

% Simulacin
t = (0:0.01:2);
[y1, ~, t] = step(na, da, t);
[y2, ~, t] = step(nb, db, t);

17
18
19
20
21
22
23
24

% Grficas
subplot(2,1,1);
plot(t, y1, ...
[0 2], [1 1], :k);
title(Respuesta a la entrada Escaln para K = 100);
xlabel(tiempo (seg.));
ylabel(c(t));

25
26
27
28
29
30
31

subplot(2,1,2);
plot(t, y2, ...
[0 2], [1 1], :k);
title(Respuesta a la entrada Escaln para K = 50);
xlabel(tiempo (seg.));
ylabel(c(t));

32
33

shg;

EXPOSITOR: Miguel Ataurima Arellano

39

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EXPOSITOR: Miguel Ataurima Arellano

40

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):


Respuesta a la entrada Escaln para K = 100
1.5

c(t)

0.5

0.2

0.4

0.6

0.8
1
1.2
tiempo (seg.)

1.4

1.6

1.8

1.8

Respuesta a la entrada Escaln para K = 50


1.5

c(t)

0.5

EXPOSITOR: Miguel Ataurima Arellano

0.2

0.4

0.6

0.8
1
1.2
tiempo (seg.)

41

1.4

1.6

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

2. Obtenga la espuesta a la perturbacin escaln con K1 = 100 y K2 = 50


 sol011.m

clc; clear;

2
3
4
5

% Parmetros
K1 = 100;
K2 = 50;

6
7
8
9
10

% Reduccin del Diagrama de Bloques


numG = 1; denG = [1 12 0];
[na, da] = feedback(numG, denG, K1, 1);
[nb, db] = feedback(numG, denG, K2, 1);

11
12
13
14
15

% Simulacin
t = (0:0.01:2);
[y1, ~, t] = step(na, da, t);
[y2, ~, t] = step(nb, db, t);

16
17
18
19
20

% Grficas
subplot(2,1,1);
plot(t, y1, ...
[0 2], [0.01 0.01], :k);

EXPOSITOR: Miguel Ataurima Arellano

42

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

21
22
23

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

title(Respuesta a la Perturbacin Escaln para K = 100);


xlabel(tiempo (seg.));
ylabel(c(t));

24
25
26
27
28
29
30

subplot(2,1,2);
plot(t, y2, ...
[0 2], [0.02 0.02], :k);
title(Respuesta a la Perturbacin Escaln para K = 50);
xlabel(tiempo (seg.));
ylabel(c(t));

31
32

shg;

EXPOSITOR: Miguel Ataurima Arellano

43

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):

EXPOSITOR: Miguel Ataurima Arellano

44

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Respuesta a la Perturbacin Escaln para K = 100


0.012
0.01

c(t)

0.008
0.006
0.004
0.002
0

0.2

0.4

0.6

0.8
1
1.2
tiempo (seg.)

1.4

1.6

1.8

1.8

Respuesta a la Perturbacin Escaln para K = 50


0.025
0.02

c(t)

0.015
0.01
0.005
0

EXPOSITOR: Miguel Ataurima Arellano

0.2

0.4

0.6

0.8
1
1.2
tiempo (seg.)

45

1.4

1.6

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.3.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Desempeo del Sistema de Control


Las principales preocupaciones en el diseo de sistemas de control son la estabilidad y el desempeo.
El desempeo es un tema de los sistemas estables.
Para disear y analizar sistemas de control, primero debemos establecer unas especificaciones adecuadas
de desempeo.
Las especificaciones de desempeo pueden ser presentadas en el dominio del tiempo o en el dominio de la
frecuencia.
Las especificaciones en el domino del tiempo generalmente toman la forma de tiempo de estabilizacin,
porcentaje de sobreimpulso, tiempo de ascenso, y especificaciones del error del estado estacionario.

EXPOSITOR: Miguel Ataurima Arellano

46

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.3.1.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Especificaciones en el Dominio del Tiempo

Las especificaciones en el dominio del tiempo estan generalmente dadas en trminos de la respuesta transitoria de un sistema ante una seal de entrada dada. Como las seales de entrada actuales son desconocidas,
una seal de entrada de prueba estndar es utilizada. Las seales de prueba son de la forma general
u(t) = tn ,
y la correspondiente transformada de Laplace es
U (s) =

n!
sn+1

cuando n = 1, 2 y 3 tenemos las entradas escaln, rampa, y parablica respectivamente. Una funcin
impulso es tambin utilizada como una seal de prueba.

EXPOSITOR: Miguel Ataurima Arellano

47

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Las medidas de desempeo estndar son usualmente definidas en trminos de la respuesta al escaln y la
respuesta al impulso. Las medidas de desempeo de respuesta al escaln comunes son el porcentaje de
sobreimpulso (P.O.), el tiempo de ascenso (Tr ), tiempo pico (Tp ), y el tiempo de estabilizacin (Ts ), tal
como se muestra a continuacin.
y(t )
sobreimpulso

Mp

error de estado estacionario 2%

1
0.9

0.1
Tr
tiempo de
ascenso

EXPOSITOR: Miguel Ataurima Arellano

Tp

Ts

tiempo
pico

tiempo de
estabilizacin

48

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.3.2.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Respuesta al impulso

La respuesta al impulso es la derivada en el tiempo de la respuesta al escaln.


Para calcular la respuesta al impulse (impulse response) de un sistema lineal
u(t )

y(t )
G (s )

tf t

Entrada
Impulso

Salida

donde
G (s) =

tf t

num
den

MATLAB provee la funcin impulse.




[y, x, t] = impulse(num, den, tsim)

donde:
num es el numerador de la funcin de transferencia G (s)
den es el denominador de la funcin de transferencia G (s)
tsim es el tiempo de simulacin (la simulacin inicia en t = 0)
EXPOSITOR: Miguel Ataurima Arellano

49

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

y es la respuesta de salida en t
x es la respuesta de estados en t
t es el tiempo de simulacin

EXPOSITOR: Miguel Ataurima Arellano

50

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Considere siguiente sistema de segundo orden


2
n

U (s )

s(s

El lazo cerrado de la salida es


Y (s) =

Y (s )
n)

n2
U (s)
s2 + 2n s + n

Considerando n = 1, implemente un script MATLAB que obtenga:


1. La respuesta al escaln unitario para los casos: = 0,1; 0,2; 0,4; 0,7; 1,0; 2,0
2. La respuesta al impulso para los casos: = 0,1; 0,2; 0,4; 0,7; 1,0; 2,0

EXPOSITOR: Miguel Ataurima Arellano

51

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

 sol012.m


clc; clear;

2
3
4
5

% Valores de zeta
zeta = [0.1 0.2 0.4 0.7 1 2];
n = length(zeta);
% cantidad de valores de zeta

6
7
8

% Tiempo de simulacin
tsim = (0:0.1:12);

9
10
11

% Inicializacin
ystep = zeros(length(tsim),n);

12
13
14

% Numerador de la funcin de transferencia


num = 1;

15
16
17
18
19
20
21

% Clculo de la respuesta al escaln unitario


% para cada uno de los valores de zeta
for k = 1:n
den = [1 2*zeta(k) 1];
ystep(:,k) = step(num, den, tsim);
yimpulse(:,k) = impulse(num, den, tsim);

EXPOSITOR: Miguel Ataurima Arellano

52

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

22
23

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

strleyenda{k} = [\zeta = num2str(zeta(k))];


end

24
25
26
27
28
29
30
31
32

% Grficas
subplot(2,1,1);
plot(tsim, ystep);
legend(strleyenda, Location, NorthEastOutside);
xlabel(\omega_n*t);
ylabel(y(t));
title(Respuesta al escaln unitario);
grid on;

33
34
35
36
37
38
39
40

subplot(2,1,2);
plot(tsim, yimpulse);
legend(strleyenda, Location, NorthEastOutside);
xlabel(\omega_n*t);
ylabel(g(t)/\omega_n);
title(Respuesta al impulso);
grid on;

41
42

shg;

EXPOSITOR: Miguel Ataurima Arellano

53

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):


Respuesta al escaln unitario
2

= 0.1
= 0.2
= 0.4
= 0.7
=1
=2

y(t)

1.5

0.5

6
n*t

10

12

Respuesta al impulso
1

= 0.1
= 0.2
= 0.4
= 0.7
=1
=2

g(t)/n

0.5

0.5

1
0

EXPOSITOR: Miguel Ataurima Arellano

6
n*t

54

10

12

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.3.3.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Respuesta a una entrada arbitraria conocida

Para calcular la respuesta a una entrada arbitraria conocida al sistema lineal


u(t )

y(t )
G (s )

tf t

Entrada
Impulso

Salida

donde
G (s) =

tf t

num
den

MATLAB provee la funcin lsim.




[y, x] = lsim(num, den, u, tsim)

donde:

num es el numerador de la funcin de transferencia G (s)


den es el denominador de la funcin de transferencia G (s)
u es la entrada en t
tsim es el tiempo de simulacin (la simulacin inicia en t = 0)
y es la respuesta de salida en t
x es la respuesta de estados en t

EXPOSITOR: Miguel Ataurima Arellano

55

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Considere el siguiente diagrama de bloques de un sistema de control de direccin de un robot mvil
2
n

U (s )

s(s

Y (s )
n)

Suponga que el controlador de la direccin, G1 (s), es


G1 (s) = K1 +

K2
s

1
Considerando K1 = 1, K2 = 2, K = 1 y =
, obtenga la simulacin de la respuesta del sistema de lazo
10
cerrado a una entrada rampa usando la funcin lsim.

EXPOSITOR: Miguel Ataurima Arellano

56

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

 sol013.m


clc; clear;

2
3
4
5
6
7

% Parmetros
K1 = 1;
K2 = 2;
K = 1;
tau = 1/10;

8
9
10
11
12
13

% Reduccin del Diagrama de Bloques


numG1 = [K1 K2]; denG1 = [1 0];
numG = K; denG = [tau 1];
[na, da] = series(numG1, denG1, numG, denG);
[num, den] = cloop(na, da);

14
15
16
17
18

% Simulacin
tsim = (0:0.1:8.2);
u = [ 0:0.1:2 2:-0.1:-2 -2:0.1:0 ];
y = lsim(num, den, u, tsim);

19
20
21

% Grfica
h = plot(tsim, y, ...

EXPOSITOR: Miguel Ataurima Arellano

57

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

22
23
24
25
26
27

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

tsim, u, --r);
legend(y(t): salida, u(t): entrada);
title(Respuesta a una entrada arbitraria conocida);
xlabel(tiempo (seg.));
ylabel(\theta (rad.));
grid on;

28
29
30

set(h, LineWidth, 1);


shg;

EXPOSITOR: Miguel Ataurima Arellano

58

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):


Respuesta a una entrada arbitraria conocida
2
y(t): salida
u(t): entrada

1.5
1

(rad.)

0.5
0
0.5
1
1.5
2
0

EXPOSITOR: Miguel Ataurima Arellano

4
5
tiempo (seg.)

59

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.4.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Estabilidad del Sistema de Control


La estabilidad relativa de un sistema de control est relacionada con la ubicacin de las races de la ecuacin
caracterstica de lazo cerrado.
La respuesta transitoria (esto es, tiempo de ascenso, sobreimpulso, etc.) de un sistema de control esta
tambin relacionado con la ubicacin de los polos y ceros de la funcin de transferencia de lazo cerrado.
La estabilidad relativa del sistema de lazo cerrado y su desempeo puede a menudo ser ajustado mediante
el cambio de un parmetro, tal como una ganancia de control.
El mtodo del lugar de races provee una representacin grfica de la ubicacin de las races de la ecuacin
caracterstica como un parmetro es variado.
La representacin grfica es llamada la traza del ubicacin de las races (lugar geomtrico de las races)
Obtencin de la traza de la ubicacin de las races

EXPOSITOR: Miguel Ataurima Arellano

60

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Considere el siguiente sistema de control de lazo cerrado


U (s )

K (s 1)
s(s 2)

G (s )

H (s )

Y (s )

1
s

cuya funcin de transferencia de lazo cerrado es


T (s) =

Y (s)
K (s + 1) (s + 3)
=
U (s)
s (s + 2) (s + 3) + K (s + 1)

La ecuacin caracterstica puede ser escrita como


1+K

s+1
=0
s (s + 1) (s + 3)

La forma de esta ecuacin es necesaria para usar la funcin rlocus y generar las trazas de ubicacin de
races. La forma general de la ecuacin caracterstica necesaria para la aplicacin de la funcin rlocus es
1+k

p (s)
=0
q (s)

(1)

donde k es el parmetro de inters a ser variado en 0 k .


EXPOSITOR: Miguel Ataurima Arellano

61

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

MATLAB provee la funcin rlocus




[r, k] = rlocus(p, q)

donde:
p es el numerador de la ecuacin caracterstica
q es el denominador de la ecuacin caracterstica
r son las ubicaciones de las races complejas
k es el vector de ganancia
Los pasos para obtener la traza de la ubicacin de las raices con MATLAB son los siguientes:
1. Obtener la ecuacin caracteristica en la forma dada por (1) conde k es el parmetro de inters, y
2. Usar la funcin rlocus para generar las trazas.

EXPOSITOR: Miguel Ataurima Arellano

62

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Obtener la traza de la ubicacin de las raices de la siguiente ecuacin caracterstica


1+K

s+1
=0
s (s + 2) (s + 3)

Expandiendo los polinomios


1+K

s3

s+1
+ 5s2 + 6s

identificamos que p (s) = s + 1 y q (s) = s3 + 5s2 + 6s.

EXPOSITOR: Miguel Ataurima Arellano

63

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

 sol014.m


clc; clear;

2
3
4
5

% Ecuacin Caracterstica
p = [1 1];
q = [1 5 6 0];

6
7
8
9

% Grfica de la ubicacin de las races


rlocus(p,q);
shg;

EXPOSITOR: Miguel Ataurima Arellano

64

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):


Root Locus
8

Imaginary Axis (seconds1)

6
4
2
0
2
4
6
8
3.5

2.5

1.5

0.5

0.5

Real Axis (seconds )

EXPOSITOR: Miguel Ataurima Arellano

65

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Comentarios:
Como se observa, conformeK se incrementa, las dos ramas de lugar de las races se separan respecto al eje
real. Esto significa que para algunos valores de K, la ecuacin caracterstica del sistema de lazo cerrado
tendr dos races complejas.
Para hallar los valores de K correspondiente a un par de races complejas se hace uso de la funcin rlocfind,
siempre que las ubicaciones de las races hallan sido previamente encontradas mediante el uso de la funcin
rlocus.
Al ejecutar la funcin rlocfind se obtendr un marcador en aspa sobre la traza de la ubicacin de las races.
Luego, se puede mover el marcador en aspa a la posicin sobre la ubicacin de interes y presionar la tecla
enter.
El valor de K y el punto seleccionado sern visualizados en la ventana de comandos.

EXPOSITOR: Miguel Ataurima Arellano

66

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.5.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Mtodos de Respuesta en Frecuencia


La respuesta en frecuencia de una sistema es la respuesta salida de estado estacionario debido a una seal
de entrada sinusoidal.
Aqu se estudian las respuestas de los sistemas ante entradas sinusoidales.
Los mtodos de respuesta de frecuencia se basan en la consideracin de la respuesta de los sistemas lineales
ante seales de prueba de entrada sinusoidales conforme vara la frecuencia de la seal de prueba sinusoidal.
Un sistema, lineal, invariante en el tiempo tiene la caracterstica que en el estado estacionario, la respuesta
salida debida a una entrada sinusoidal difiere de la entrada solo en magnitud y fase.
La funcin de trasferencia que describe el comportamiendo sinusoidal del sistema es obtenida reemplazando
s con j en la funcin de transferencia del sistema G (s). Entonces, para un fijo, G (j) es un nmero
complejo con una magnitud y fase. La magnitud y fase de G (j) puede ser representada grficamente
conforme vara.
Este tipo de representacin grfica es conocida como un diagrama de Bode.
Es posible implementar las especificaciones de desempeo de un sistemas de control en el dominio de la
frecuencia de manera que pueda ser usada la metodologa de diseo usando el diagrama de Bode.

EXPOSITOR: Miguel Ataurima Arellano

67

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.5.1.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Diagrama de Bode

Dada una funcin de transferencia

num
den
El diagrama de Bode consiste de la ganancia logaritmica en dB versus en una traza y la fase () versus en
una segunda traza.
Para obtener el diagrama de bode MATLAB provee la funcin bode
G (s) =

[mag, fase, w] = bode(num, den, w)

donde:
num es el numerador de la funcin de transferencia
den es el denominador de la funcin de transferencia
mag es la ganancia logartmica en DB
fase es la fase en grados sexagesimales (escala logartmica)
w es un vector conteniendo valores de frecuencia (en rad/seg.) en los cuales el diagrama de Bode ser
calculado

EXPOSITOR: Miguel Ataurima Arellano

68

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Obtener el diagrama de bode de la siguiente funcin de transferencia


G (s) =

5 (1 + 0,1s)


s (1 + 0,5s) 1 +

0,6
50 s

1 2
s
502

 sol016.m

clc; clear;

2
3
4
5
6
7

% Funcin de Transferencia
num = 5*[0.1 1];
d1 = [1 0];
d2 = [0.5 1];
d3 = [1/2500 0.6/50 1];

8
9
10

% Expandimos el denominador
den = conv(d1, conv(d2, d3));

11
12
13
14

% Grfica del Diagrama de Bode


bode(num, den);
grid on;

Salida (Ventana Figura):


EXPOSITOR: Miguel Ataurima Arellano

69

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Bode Diagram

Magnitude (dB)

50
0
50
100

Phase (deg)

150
90
135
180
225
270
1
10

EXPOSITOR: Miguel Ataurima Arellano

10

10
Frequency (rad/s)

70

10

10

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.6.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Estabilidad en el Dominio de la Frecuencia


La estabilidad de un sistema de control puede ser determinado con los mtodos de resepuesta en frecuencia
El fundamento para el anlisis de la estabilidad en el dominio de la frecuencia es el criterio de estabilidad
de Nyquist.
Las cuestiones de estabilidad absoluta, as como de estabilidad relativa pueden ser abordados en el dominio
de la frecuencia.
Los mtodos grficos juegan un rol importante en el diseo y anlisis en el dominio de la frecuencia de
sistemas de control.

EXPOSITOR: Miguel Ataurima Arellano

71

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

1.6.1.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Traza de Nyquist

El criterio de estabilidad de Nyquist est basado en el teorema de Cauchy, el cual est relacionado con el
mapeo de contornos en el plano-s complejo.
Considere la funcin de transferencia de lazo cerrado
U (s )

Ea (s )

G (s )

Y (s )

H (s )

cuya funcin de transferencia es


T (s) =

G(S)
1 + G(s)H(s)

y la ecuacin caracterstica es
F (s) = 1 + G(s)H(s) = 0
Todos los ceros de F (s) deben caer en el lado izquierdo del plano-s para la estabilidad.
Elegimos un contorno, s , en el plano-s el cual encierre toda el lado derecho del plano-s, y traze F en el
plano-F (s) y determine el nmero de circunvalaciones del origen.

EXPOSITOR: Miguel Ataurima Arellano

72

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Equivalentemente, puede trazar P en el plano-P (s) y determinar el nmero de circunvalaciones del punto
1, donde P (s) = F (s) 1.
El criterio de estabilidad de Nyquist puede ser establecido como sigue:
Un sistema de control es estable si y solo si, para los contornos P , el nmero de circunvalaciones en
sentido horario del punto (1, 0) es igual al nmero de polos de P (s) con las partes reales positivas.
La grfica de P es la traza de Nyquist.
Para generar la traza e Nyquist, MATLAB provee la funcin nyquist


[re, im, w] = bode(num, den, w)

donde:
num es el numerador de la funcin de transferencia
den es el denominador de la funcin de transferencia
mag es la ganancia logartmica en DB
fase es la fase en grados sexagesimales (escala logartmica)
w es un vector conteniendo valores de frecuencia (en rad/seg.) en los cuales el diagrama de Bode ser
calculado

EXPOSITOR: Miguel Ataurima Arellano

73

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Obtener la traza de Nyquist del siquiente diagrama de bloques de un sistema de control de lazo
cerrado
U (s )

Y (s )

0.5
s3

2s 2

0.5

 sol016.m


clc; clear;

2
3
4

% Funcin de Transferencia
num = 0.5; den = [1 2 1 0.5];

5
6
7
8
9

% Traza de Nyquist
nyquist(num, den);
grid on;
shg;

EXPOSITOR: Miguel Ataurima Arellano

74

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):

EXPOSITOR: Miguel Ataurima Arellano

75

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Nyquist Diagram

1.5
2 dB

0 dB

2 dB
4 dB

1
4 dB
6 dB

6 dB
0.5

10 dB

Imaginary Axis

10 dB
20 dB

20 dB

0.5

1.5
1

0.5

0.5

1.5

Real Axis

EXPOSITOR: Miguel Ataurima Arellano

76

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

2.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Anlisis y diseo de sistemas de control


en el dominio del tiempo

EXPOSITOR: Miguel Ataurima Arellano

77

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

2.1.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Representacin espacio de estados (state-space)


El mtodo de anlisis y diseo de sistemas de control en el dominio del tiempo utiliza una representacin
espacio de estados del modelo del sistema, dado por
x = Ax + Bu
y = Cx + Du
donde:
x es el vector n 1 de estado del sistema.
A es la matriz n n constante del sistema
B es la matriz n m de entrada del sistema
C es la matriz p n de salida del sistema
D es la matriz p m de salida del sistema
u es el vector m 1 de entrada del sistema (m entradas)
y es el vector p 1 de salida del sistema (p salidas)
En el caso de un sistema nica entrada, nica salida, tenemos m = p = 1 y por lo tanto u e y ya no son
variables en negrita.
x = Ax + Bu
y = Cx + Du

EXPOSITOR: Miguel Ataurima Arellano

78

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Los principales elementos de la representacin en espacio de estados son el vector de estados x y las matrices
constantes (A, B, C y D).

EXPOSITOR: Miguel Ataurima Arellano

79

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

2.2.

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Representaciones equivalentes de un modelo


Dada una funcin de transferencia

num
den
podemos obtener una representacin equivalente en espacio de estados,
G(s) =

x = Ax + Bu
y = Cx + Du
y viceversa.
Para realizar esta tarea MATLAB posee dos funciones:
La funcin tf2ss que convierte una representacin en funcin de transferencia a una representacin
en espacio de estados


[A, B, C, D] = tf2ss(num, den)

La funcin ss2tf que convierte una representacin en funcin de transferencia a una representacin
en espacio de estados


[num, den] = ss2tf(A, B, C, D)

EXPOSITOR: Miguel Ataurima Arellano




80

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Convertir la funcin de transferencia del sistema de tercer orden


G(s) =

2s2 + 8s + 6
s3 + 8s2 + 16s + 6

a la representacin en espacio de estados


 sol018.m


clc; clear;

2
3
4

% Representacin en Funcin de Transferencia


num = [2 8 6]; den = [1 8 16 6];

5
6
7

% Conversin a Representacin en Espacio de Estados


[A, B, C, D] = tf2ss(num, den);

8
9
10

% Visualizacin de la Representacin en Espacio de Estados


printsys(A, B, C, D);

EXPOSITOR: Miguel Ataurima Arellano

81

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana de Comandos)




a =
x1
x2
x3

x1
-8.00000
1.00000
0

x1
x2
x3

u1
1.00000
0
0

y1

x1
2.00000

y1

u1
0

x2
-16.00000
0
1.00000

x3
-6.00000
0
0

x2
8.00000

x3
6.00000

b =

c =

d =


EXPOSITOR: Miguel Ataurima Arellano

82

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

EJEMPLO: Una red RLC est descrita por medio de la siguiente representacin en espacio de estados
"

A=

0 2
1 3

"

B=

2
0

C=

1 0

, yH=0

con condiciones iniciales x1 (0) = 1 y x2 (0) = 1; y adems la entrada es u (t) = 0 para todo t.
Implemente un script en MATLAB, haciendo uso de la funcin lsim, que obtenga la respuesta en el tiempo
del sistema con condiciones iniciales diferentes de cero y entrada cero.

EXPOSITOR: Miguel Ataurima Arellano

83

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

 sol018.m


clc; clear;

2
3
4
5
6
7

% Parmetros de la Representacin Espacio de Estados


A = [0 -2; 1 -3];
B = [2; 0];
C = [1 0];
D = 0;

8
9
10
11
12
13

% Simulacin
x0 = [1; 1];
% Condiciones iniciales
t = (0:0.001:1);
u = 0*t;
% Entrada cero
[y, x] = lsim(A, B, C, D, u, t, x0);

14
15
16
17
18

% Grficas
subplot(2,1,1); plot(t, x(:,1));
xlabel(tiempo (seg.));
ylabel(x_1(t));

19
20
21

subplot(2,1,2); plot(t, x(:,2));


xlabel(tiempo (seg.));

EXPOSITOR: Miguel Ataurima Arellano

84

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

22

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

ylabel(x_2(t));

23
24

shg;

EXPOSITOR: Miguel Ataurima Arellano

85

mataurimaa@uni.pe

UNIVERSIDAD NACIONAL DE INGENIERA


Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera


Introduccin al Anlisis y Diseo de Sistemas de Control con MATLAB

Salida (Ventana Figura):

x1(t)

0.5

0.1

0.2

0.3

0.4
0.5
0.6
tiempo (seg.)

0.7

0.8

0.9

0.1

0.2

0.3

0.4
0.5
0.6
tiempo (seg.)

0.7

0.8

0.9

x2(t)

0.5

EXPOSITOR: Miguel Ataurima Arellano

86

mataurimaa@uni.pe

You might also like