Vous êtes sur la page 1sur 38

PRCTICA No.

1
ANALISIS DE LAS RESPUETAS DE SISTEMAS CON MATLAB. SISITOOL

1. OBJETIVO
Implementar la FT de un sistema y analizar las graficas de lugar geomtrico de races,
respuesta en el tiempo y diagramas de bode
Adicin de polos y ceros (diferentes valores) a un sistema y obtener conclusiones de las
diferentes respuestas

2. FUNDAMENTO TEORICO
Conocer los conceptos de lugar geomtrico de races, respuesta en el tiempo y diagramas de
bode
Conocer los comandos del Matlab para la obtencin de las respuestas a obtener
Conocer la utilizacin del Sisotool

3. TRABAJO PREPARATORIO
a. Dado el sistema cuya funcin de transferencia de lazo abierto est dada por:
()

( )

A, B y C nmeros reales (proponerse valores aleatorios)
b. Graficar el LGR, respuesta en el tiempo (entrada escaln, rampa, impulso) y los diagramas
de bode para el sistema
()



()
()

()
()




Respuesta en el tiempo:
Entrada impulso unitario:


Entrada escaln unitario:


Entrada rampa:


Lugar de races:


Diagrama de bode:



c. Aadir un polo al sistemas y repetir el punto b
Aadiendo el polo
()



()



()
()

()
()



Respuesta en el tiempo:
Entrada impulso unitario:


Entrada escaln unitario:


Entrada rampa:


Lugar de races:


Diagrama de bode:


d. Aadir un segundo polo al sistemas y repetir el punto b
Aadiendo el polo
()



()



()
()

()
()



Respuesta en el tiempo:
Entrada impulso unitario:


Entrada escaln unitario:


Entrada rampa:


Lugar de races:


Diagrama de bode:



e. Aadir un cero al sistemas y repetir el punto b
Aadiendo el cero
()


( )
()



()
()

()
()




Respuesta en el tiempo:
Entrada impulso unitario:


Entrada escaln unitario:


Entrada rampa:


Lugar de races:


Diagrama de bode:



f. Aadir un segundo cero al sistemas y repetir el punto b
Aadiendo el cero
()


( )
()



()
()

()
()




Respuesta en el tiempo:
Entrada impulso unitario:


Entrada escaln unitario:


Entrada rampa:


Lugar de races:


Diagrama de bode:




g. Aadir un cero y un polo al sistema y repetir el punto b
Aadiendo el polo y el cero
()




()



()
()

()
()



Respuesta en el tiempo:
Entrada impulso unitario:


Entrada escaln unitario:


Entrada rampa:


Lugar de races:


Diagrama de bode:



h. Aadir un segundo cero y un segundo polo al sistema y repetir el punto b
Aadiendo el polo y el cero
()




()



()
()

()
()



Respuesta en el tiempo:
Entrada impulso unitario:


Entrada escaln unitario:


Entrada rampa:


Lugar de races:


Diagrama de bode:


4. TRABAJO EXPERIMENTAL
a. Para cada uno de los casos realizados en el punto 3 obtener las conclusiones respecto a los
parmetros respectivos de las graficas.
Se tiene a continuacin las grficas comparativas
*Respuesta en el tiempo:
Entrada impulso unitario:
-Aumentando polos y

-Aumentando ceros y

-Aumentando polos y ceros a la vez:
[polo: , cero: ] y [polo: , cero: ]


Entrada escaln unitario:
-Aumentando polos y

-Aumentando ceros y

-Aumentando polos y ceros a la vez:
[polo: , cero: ] y [polo: , cero: ]


Entrada rampa:
-Aumentando polos y

-Aumentando ceros y

-Aumentando polos y ceros a la vez:
[polo: , cero: ] y [polo: , cero: ]


*Lugar de races:
-Aumentando polos y

-Aumentando ceros y

-Aumentando polos y ceros a la vez:
[polo: , cero: ] y [polo: , cero: ]


*Diagrama de bode:
-Aumentando polos y

-Aumentando ceros y

-Aumentando polos y ceros a la vez:
[polo: , cero: ] y [polo: , cero: ]


5. CONCLUSIONES Y RECOMENDACIONES
* No es prctico en la vida diaria modificar la planta para ciertas especificaciones de desempeo, es
por lo tanto necesario disear para la planta un compensador, al cual se le puede modificar los
parmetros y as tener control de la planta con las especificaciones personalizadas.
* El mtodo de lugar de races permite determinar las ubicaciones de los polos en lazo cerrado a
partir de los polos y ceros en lazo abierto.
* La adicin de polos a la funcin de transferencia en lazo abierto: frente a la entrada escaln
disminuye el sobreimpulso pero aumenta el tiempo de establecimiento; frente a la entrada rampa
aumenta el error en estado estacionario y por el mtodo geomtrico del lugar de races se puede
decir que lo atrae hacia la derecha, hacindolo tender a la inestabilidad del sistema.
* La adicin de ceros a la funcin de transferencia en lazo abierto: frente a la entrada escaln
aumenta el sobreimpulso pero disminuye el tiempo de establecimiento; frente a la entrada rampa
disminuye el error en estado estacionario y por el mtodo geomtrico del lugar de races se puede
decir que lo atrae hacia la izquierda, hacindolo ms estable al sistema.

*Mediante el siguiente programa mfile en Matlab se obtubieron los resultados:
num1=input('ingrese el numerador como vector ft original ');
den1=input('ingrese el denominador como vector ft original ');

k=input('ingrese los polos y ceros en orden matricial')

num2=num1;den2=conv(den1,k(1,:));
num3=num1;den3=conv(den1,k(2,:));
num4=conv(num1,k(3,:));den4=den1;
num5=conv(num1,k(4,:));den5=den1;
num6=conv(num1,k(6,:));den6=conv(den1,k(5,:));
num7=conv(num1,k(8,:));den7=conv(den1,k(7,:));

%num2=num1;den2=conv(den1,k(1,:));
%num3=num2;den3=conv(den2,k(2,:));
%num4=conv(num3,k(3,:));den4=den3;
%num5=conv(num4,k(4,:));den5=den4;
%num6=conv(num5,k(6,:));den6=conv(den5,k(5,:));
%num7=conv(num6,k(8,:));den7=conv(den6,k(7,:));

G1=tf(num1,den1);
G2=tf(num2,den2);
G3=tf(num3,den3);
G4=tf(num4,den4);
G5=tf(num5,den5);
G6=tf(num6,den6);
G7=tf(num7,den7);

%================================
disp('Generando la respuesta en el tiempo')

F1=G1/(1+G1);
F2=G2/(1+G2);
F3=G3/(1+G3);
F4=G4/(1+G4);
F5=G5/(1+G5);
F6=G6/(1+G6);
F7=G7/(1+G7);

figure;
impulse(F1), grid on,axis([0 10 0 2]),
hold on, impulse(F2), grid on,axis([0 10 0 2]),
hold on, impulse(F3), grid on,axis([0 10 0 2]),
figure;
impulse(F1), grid on,axis([0 10 0 2]),
hold on, impulse(F4), grid on,axis([0 10 0 2]),
hold on, impulse(F5), grid on,axis([0 10 0 2]),
figure;
impulse(F1), grid on,axis([0 10 0 2]),
hold on, impulse(F6), grid on,axis([0 10 0 2]),
hold on, impulse(F7), grid on,axis([0 10 0 2]),

figure;
v=0:0.01:7;
y1=step(F1,v);
y2=step(F2,v);
y3=step(F3,v);
y4=step(F4,v);
y5=step(F5,v);
y6=step(F6,v);
y7=step(F7,v);
plot(v,y1,v,y2,v,y3),grid on,xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response')
figure;
plot(v,y1,v,y4,v,y5),grid on,xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response')
figure;
plot(v,y1,v,y6,v,y7),grid on,xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response')
%hold on, plot(v,y2),
%hold on, plot(v,y3),
%hold on, plot(v,y4),
%hold on, plot(v,y5),
%hold on, plot(v,y6),
%hold on, plot(v,y7),

v=0:0.01:7;
ramp=v;

figure
lsim(F1,ramp,v),grid on
hold on, lsim(F2,ramp,v) ,grid on
hold on, lsim(F3,ramp,v),grid on
figure
lsim(F1,ramp,v),grid on
hold on, lsim(F4,ramp,v),grid on
hold on, lsim(F5,ramp,v),grid on
figure
lsim(F1,ramp,v),grid on
hold on, lsim(F6,ramp,v),grid on
hold on, lsim(F7,ramp,v),grid on

%================================
disp('Generando lugar de raices')
%GH=tf(num,den)

figure;
rlocus(num1,den1),grid on
%figure;
hold on
rlocus(num2,den2),grid on
%figure;
hold on
rlocus(num3,den3),grid on

figure;
rlocus(num1,den1),grid on
hold on
rlocus(num4,den4),grid on
%figure;
hold on
rlocus(num5,den5),grid on

figure;
rlocus(num1,den1),grid on
hold on
rlocus(num6,den6),grid on
%figure;
hold on
rlocus(num7,den7),grid on


%=========================================
disp('Generando el diagrama de Bode')
figure;
bode(num1,den1),grid on
hold on
bode(num2,den2),grid on
hold on
bode(num3,den3),grid on

figure;
bode(num1,den1),grid on
hold on
bode(num4,den4),grid on
hold on
bode(num5,den5),grid on

figure;
bode(num1,den1),grid on
hold on
bode(num6,den6),grid on
hold on
bode(num7,den7),grid on


%=========================================

Ejecutandoo el programa se muestra:

>>>Las graficas generadas se distribuyeron en el informe.

>> control_acumulado2
ingrese el numerador como vector ft original [2]
ingrese el denominador como vector ft original [1 1]
ingrese los polos y ceros en orden matricial[1 2;1 6;1 3;1 5;1 10;1 12;1
20;1 18]

k =

1 2
1 6
1 3
1 5
1 10
1 12
1 20
1 18

Generando lugar de raices
Generando la respuesta en el tiempo
Generando el diagrama de Bode
>> G1

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

>> G2

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

>> F1

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

>> G3

Transfer function:
2
-------------
s^2 + 7 s + 6

>> G4

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

>> G5

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

>> G6

Transfer function:
2 s + 24
---------------
s^2 + 11 s + 10

>> G7

Transfer function:
2 s + 36
---------------
s^2 + 21 s + 20

>> F1

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

>> facto(F1)
??? Undefined function or method 'facto' for input arguments
of type 'tf'.

>> fact(F1)
??? Undefined function or method 'fact' for input arguments
of type 'tf'.

>> impulse(F1), grid on,axis([0 10 0 2]),
??? Error using ==> lti.impulse at 96
Error using ==> wrfc.plot.check_hold at 39
Plots must be of the same type and size to be superimposed.

>> F1

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

>> impulse(F1), grid on,axis([0 10 0 2]),
??? Error using ==> lti.impulse at 96
Error using ==> wrfc.plot.check_hold at 39
Plots must be of the same type and size to be superimposed.

>> impulse(F1)
??? Error using ==> lti.impulse at 96
Error using ==> wrfc.plot.check_hold at 39
Plots must be of the same type and size to be superimposed.

>> impulse(F1)
>> impulse(F1), grid on,axis([0 10 0 2]),
>> impulse(F2), grid on,axis([0 10 0 2]),
>> impulse(F3), grid on,axis([0 10 0 2]),
>> impulse(F4), grid on,axis([0 10 0 2]),
>> impulse(F5), grid on,axis([0 10 0 2]),
>> impulse(F6), grid on,axis([0 10 0 2]),
>> impulse(F7), grid on,axis([0 10 0 2]),
>> plot(v,y1)
>> plot(v,y1),grid on
>> plot(v,y1),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response')
>> plot(v,y2),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response')
>> plot(v,y3),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response')
>> plot(v,y3),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([v 0 1.5])
??? Error using ==> axis>LocSetLimits at 234
Vector must have 4, 6, or 8 elements.

Error in ==> axis at 94
LocSetLimits(ax(j),cur_arg);

>> plot(v,y3),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y1),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y1),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0:0.1:1.5])
??? Error using ==> axis>LocSetLimits at 234
Vector must have 4, 6, or 8 elements.

Error in ==> axis at 94
LocSetLimits(ax(j),cur_arg);

>> plot(v,y1),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y2),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y3),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y4),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y4),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y4),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response')
>> plot(v,y4),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y4),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response')
>> plot(v,y4),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y4),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y5),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y6),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> plot(v,y7),grid on, xlabel('Time (sec)'),
ylabel('Amplitude'),title('Step Response'),axis([0 7 0 1.5])
>> lsim(F1,ramp,v)
>> lsim(F1,ramp)
??? Error using ==> lti.lsim at 117
When simulating the response to a specific input signal, the
time vector must be specified for continuous-time models.

>> lsim(F1,ramp,v), grid on
>> lsim(F2,ramp,v), grid on
>> lsim(F3,ramp,v), grid on
>> lsim(F4,ramp,v), grid on
>> lsim(F5,ramp,v), grid on
>> lsim(F6,ramp,v), grid on
>> lsim(F7,ramp,v), grid on
>> rlocus(num1,den1),grid on
>> rlocus(num2,den2),grid on
>> rlocus(num3,den3),grid on
>> rlocus(num4,den4),grid on
>> rlocus(num5,den5),grid on
>> rlocus(num6,den6),grid on
>> rlocus(num7,den7),grid on
>> G7

Transfer function:
2 s + 36
---------------
s^2 + 21 s + 20

>> num7

num7 =

2 36

>> den7

den7 =

1 21 20

>> bode(num1,den1),grid on
>> bode(num2,den2),grid on
>> bode(num3,den3),grid on
>> bode(num4,den4),grid on
>> bode(num5,den5),grid on
>> bode(num6,den6),grid on
>> bode(num7,den7),grid on
>> control_acumulado2
ingrese el numerador como vector ft original [2]
ingrese el denominador como vector ft original [1 1]
ingrese los polos y ceros en orden matricial[1 2;1 6;1 3;1 5;1 10;1 12;1
20;1 18]

k =

1 2
1 6
1 3
1 5
1 10
1 12
1 20
1 18

Generando la respuesta en el tiempo
Generando lugar de raices
Generando el diagrama de Bode
>> control_acumulado2
ingrese el numerador como vector ft original [2]
ingrese el denominador como vector ft original [1 1]
ingrese los polos y ceros en orden matricial[1 2;1 6;1 3;1 5;1 10;1 12;1
20;1 18]

k =

1 2
1 6
1 3
1 5
1 10
1 12
1 20
1 18

Generando la respuesta en el tiempo
Generando lugar de raices
Generando el diagrama de Bode
>> control_acumulado2
ingrese el numerador como vector ft original [2]
ingrese el denominador como vector ft original [1 1]
ingrese los polos y ceros en orden matricial[1 2;1 6;1 3;1 5;1 10;1 12;1
20;1 18]

k =

1 2
1 6
1 3
1 5
1 10
1 12
1 20
1 18

Generando la respuesta en el tiempo
Generando lugar de raices
Generando el diagrama de Bode
==============




6. BIBLIOGRAFIA
- Ingeniera de Control Moderna (Ogata)
- CONTROL ANALOGO (Ing. Javier Eduardo Martinez)

Vous aimerez peut-être aussi