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

1

UNIVERSIDADE ESTADUAL DO AMAZONAS


ESCOLA SUPERIOR DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA DE CONTROLE E AUTOMAO

ANDR DA COSTA NETO


KAIQUE CORREA DA MOTA

MATLAB LUGAR DAS RAIZES


EXERCICIOS PROPOSTOS

Manaus/AM
2016

ANDR DA COSTA NETO


KAIQUE CORREA DA MOTA

MATLAB LUGAR DAS RAIZES


EXERCICIOS PROPOSTOS

Relatrio solicitado aos acadmicos do curso de


Engenharia de Controle e Automao da Escola
Superior de Tecnologia - EST, como requisito
parcial para obteno de nota parcial, na disciplina
de Laboratrio de Controle e Automao I.

Orientador: Prof. Msc. Eng. Almir Kimura Junior.

Manaus/AM
2016

SUMRIO

1. INTRODUO ................................................................................................... 4
2. OBJETIVOS ...................................................................................................... 5
2.1 Objetivos Gerais .......................................................................................... 5
2.2 Objetivos Especficos ................................................................................. 5
3. REFERENCIAL TERICO ................................................................................ 6
3.1

Espao de estados ..................................................................................... 6

4. EXERCCIOS PROPOSTOS ............................................................................. 8


5. CONCLUSO .................................................................................................. 49
REFERNCIAS ........................................................................................................ 50

1. INTRODUO
Na anlise de projeto de sistemas de controle, devemos obter uma base de comparao
de desempenho da vrios sistemas de controle. Essa base de comparao pode ser
estabelecida detalhando-se sinais de entrada como testes especficos e em seguida, analisando
as respostas atravs de grficos especficos para a definio de controle desses sinais. Um
grfico de anlise a resposta de entrada o grfico lugar das razes do sistema. O mtodo do
Lugar das razes permite que as razes da equao caracterstica sejam representadas
graficamente para todos os valores do ganho k e assim permitindo o estudo do sistema para
definio de sua planta de controle.

2. OBJETIVOS
2.1

Objetivos Gerais

O objetivo deste trabalho realizar a programao de todas as questes dada pelo


professor e fazer uma anlise dos sistemas estudados nas aulas de Controle e Automao I,
visando o estudo aprofundado do mtodo lugar das razes atravs do software acadmico
Matlab.
2.2

Objetivos Especficos

Familiarizar com o ambiente do laboratrio de controle e automao;


Aprender a realizar e mostrar em MatLab os grficos sobre o estudo do mtodo

do Lugar das Razes.


Aprender a realizar em MatLab o estudo e analise de sistemas mais complexos
de controle e automao.

3. REFERENCIAL TERICO

O lugar geomtrico das razes um grfico construdo a partir do conhecimento de um


sistema em malha aberta. Tomando o ganho como parmetro, o lugar geomtrico das razes
o conjunto dos pontos do plano complexo que corresponde aos polos do sistema em malha
fechada.

Consideremos, ento, o sistema em malha fechada representado pelo diagrama de


blocos acima. Conforme j foi visto, sua funo de transferncia em malha fechada :

E portanto, os polos do sistema em malha fechada (que, naturalmente, determinam as


caractersticas da resposta do sistema) so as razes da equao:

A forma complexa foi usada para enfatizar que se trata de uma igualdade de nmeros
complexos. Por esta razo a equao desdobra-se em uma condio de fase:

E uma condio de mdulo (ou de ganho):

Obs.: K no ganho DC pois no est na forma de constante de tempo, onde z1,


z2, ..., zm so os zeros em malha aberta; p1, p2, ... pn so os polos em malha aberta; e K o
ganho, que por simplicidade vamos supor sendo positivo (K > 0). Antes de prosseguir, note
que os polos do sistema em malha fechada so as razes de 1+G(s)H(s) = 0 , isto , as razes
do polinmio caracterstico:

E que, em geral, impossvel calcul-las analiticamente para n 5. Voltando ao


problema, a condio de fase pode ser reescrita como:

Esta , pois, a condio geomtrica que permite determinar se um dado ponto do plano
complexo pertence ou no ao LGR. Observe que esta condio independente do valor do
ganho K, pois K sendo positivo, sua fase nula.
Considere, ento, um ponto s particular no plano complexo para o qual a condio de
fase satisfeita. A condio de ganho permite determinar o valor de K associado a este
ponto s em particular, pois:

Em resumo, a condio de fase permite, em tese, traar o Lugar Geomtrico das Razes
e a condio de ganho, parametriz-lo em termos do ganho K.

4. EXERCCIOS PROPOSTOS
2. Para o sistema de controle da figura abaixo utilizando um controlador
proporcional-derivativo, com J=1 e B=3, pede-se:
A funo de transferncia de malha aberta e equao caracterstica

Determinar o lugar das


razes para este controlador e verificar o
comportamento da estabilidade do sistema.
Obter e anotar na tabela 1 mostrada abaixo os parmetros de resposta
temporria para alguns valores de ganho selecionado

==========================Programa============================
clc
clear all
close all

k=[20 40 60 80 100]
kp=[10 20 30 40 50];

for i=1:5
fprintf('Para k=%d\n',k(i));
num_controlador=[kp(i) k(i)];
den_controlador=[1];
num_servomotor=[1 0];
den_servomotor=[1 3 0];
num_carga=1;
den_carga=[1 1];
num_ganho=2;
den_ganho=[1];

sys1=tf(num_controlador,den_controlador);
sys2=tf(num_servomotor,den_servomotor);
sys3=tf(num_carga,den_carga);
sys4=tf(num_ganho,den_ganho);

fprintf('\n===Funo de transferncia em malha aberta para Kp= %d e Kd=


%f===\n',kp(i),k(i))
sys5=series(sys1,sys2);
sys6=series(sys5,sys3);
sys7=series(sys6,sys4)
fprintf('\n=A equao caracteristica dada em malha fechada pelo seu
denominador=\n')
sys8=feedback(sys6,sys4)

fprintf('\n==Valores de tempo acomodao,Pico,MP e tempos de subida


para Kp= %d e Kd= %f==\n',kp(i),k(i))
stepinfo(sys8)
%calculando o erro estcionario
erro=(1/(k(i)));
fprintf('\n========O valor do erro estacionrio : %f =======\n',erro)
%Grfico em reposta transitria
figure(1),hold on,step(sys8,50)
legend('(Kd=20) e (Kp=10)','(Kd=40) e (Kp=20)','(Kd=60) e
(Kp=30)','(Kd=80) e (Kp=40)','(Kd=100) e (Kp=50)')
%Grfico das razes
figure(2),hold on,rlocus(sys8)
title('Lugar das Razes')
legend('(Kd=20) e (Kp=10)','(Kd=40) e (Kp=20)','(Kd=60) e
(Kp=30)','(Kd=80) e (Kp=40)','(Kd=100) e (Kp=50)')
%verificando a estabilidade do sistema:
fprintf('\n===========Verificando a estabilidade do
sistema:===========\n')
[Gm,Pm,Wgm,Wpm] = margin(sys8)
end

===============================Resultado============================
k =
20

40

60

80

100

20

30

40

50

kp =
10
Para k=20
===Funo de
20.000000===

transferncia

em

malha

aberta

para

Kp=

10

Kd=

sys7 =
20 s^2 + 40 s
----------------s^3 + 4 s^2 + 3 s
Continuous-time transfer function.

=A equao caracteristica dada em malha fechada pelo seu denominador=


sys8 =

10

10 s^2 + 20 s
------------------s^3 + 24 s^2 + 43 s
Continuous-time transfer function.
==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 10 e
Kd= 20.000000==
ans =

RiseTime: 0.1095
SettlingTime: 0.2564
SettlingMin: 0.4190
SettlingMax: 0.4643
Overshoot: 0
Undershoot: 0
Peak: 0.4643
PeakTime: 1.4181
===========O valor do erro estacionrio : 0.050000 ===========
Warning: Ignoring extra legend entries.
> In legendHGUsingMATLABClasses>set_children_and_strings (line 650)
In legendHGUsingMATLABClasses>make_legend (line 313)
In legendHGUsingMATLABClasses (line 241)
In legend (line 118)
In untitled24 (line 47)
Warning: Ignoring extra legend entries.
> In legendHGUsingMATLABClasses>set_children_and_strings (line 650)
In legendHGUsingMATLABClasses>make_legend (line 313)
In legendHGUsingMATLABClasses (line 241)
In legend (line 118)
In untitled24 (line 52)

11

===========Verificando a estabilidade do sistema:===========


Warning: The closed-loop system is unstable.
> In ctrlMsgUtils.warning (line 25)
In DynamicSystem/margin (line 65)
In untitled24 (line 57)

Gm =
Inf
Pm =
Inf
Wgm =
NaN
Wpm =
NaN
Para k=40
===Funo de
40.000000===

transferncia

em

malha

aberta

para

Kp=

20

Kd=

sys7 =
40 s^2 + 80 s
----------------s^3 + 4 s^2 + 3 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=

sys8 =
20 s^2 + 40 s
------------------s^3 + 44 s^2 + 83 s

12

Continuous-time transfer function.


==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 20 e
Kd= 40.000000==
ans =
RiseTime: 0.0549
SettlingTime: 0.1106
SettlingMin: 0.4349
SettlingMax: 0.4793
Overshoot: 0
Undershoot: 0
Peak: 0.4793
PeakTime: 0.4372
===========O valor do erro estacionrio : 0.025000 ===========
===========Verificando a estabilidade do sistema:===========
Warning: The closed-loop system is unstable.
> In ctrlMsgUtils.warning (line 25)
In DynamicSystem/margin (line 65)
In untitled24 (line 57)
Gm =
Inf
Pm =
Inf
Wgm =
NaN
Wpm =
NaN
Para k=60
===Funo de
60.000000===
sys7 =

transferncia

em

malha

aberta

para

Kp=

30

Kd=

13

60 s^2 + 120 s
----------------s^3 + 4 s^2 + 3 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
30 s^2 + 60 s
-------------------s^3 + 64 s^2 + 123 s
Continuous-time transfer function.
==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 30 e
Kd= 60.000000==
ans =
RiseTime: 0.0366
SettlingTime: 0.0705
SettlingMin: 0.4398
SettlingMax: 0.4847
Overshoot: 0
Undershoot: 0
Peak: 0.4847
PeakTime: 0.1626
===========O valor do erro estacionrio : 0.016667 ==========
===========Verificando a estabilidade do sistema:===========
Warning: The closed-loop system is unstable.
> In ctrlMsgUtils.warning (line 25)
In DynamicSystem/margin (line 65)
In untitled24 (line 57)
Gm =
Inf
Pm =

14

Inf
Wgm =
NaN
Wpm =
NaN
Para k=80
===Funo de
80.000000===

transferncia

em

malha

aberta

para

Kp=

40

Kd=

sys7 =
80 s^2 + 160 s
----------------s^3 + 4 s^2 + 3 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
40 s^2 + 80 s
-------------------s^3 + 84 s^2 + 163 s
Continuous-time transfer function.
==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 40 e
Kd= 80.000000==
ans =
RiseTime: 0.0275
SettlingTime: 0.0518
SettlingMin: 0.4434
SettlingMax: 0.4883
Overshoot: 0
Undershoot: 0
Peak: 0.4883

15

PeakTime: 0.1230
===========O valor do erro estacionrio : 0.012500 ===========
===========Verificando a estabilidade do sistema:===========
Warning: The closed-loop system is unstable.
> In ctrlMsgUtils.warning (line 25)
In DynamicSystem/margin (line 65)
In untitled24 (line 57)
Gm =
Inf
Pm =
Inf
Wgm =
NaN
Wpm =
NaN
Para k=100
===Funo de
100.000000===

transferncia

em

malha

aberta

para

Kp=

50

Kd=

sys7 =
100 s^2 + 200 s
----------------s^3 + 4 s^2 + 3 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=

sys8 =
50 s^2 + 100 s
--------------------s^3 + 104 s^2 + 203 s

16

Continuous-time transfer function.


==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 50 e
Kd= 100.000000==
ans =
RiseTime: 0.0220
SettlingTime: 0.0409
SettlingMin: 0.4434
SettlingMax: 0.4905
Overshoot: 0
Undershoot: 0
Peak: 0.4905
PeakTime: 0.0989
===========O valor do erro estacionrio : 0.010000 ===========
===========Verificando a estabilidade do sistema:===========
Warning: The closed-loop system is unstable.
> In ctrlMsgUtils.warning (line 25)
In DynamicSystem/margin (line 65)
In untitled24 (line 57)
Gm =
Inf
Pm =
Inf
Wgm =
NaN
Wpm =
NaN

Valor
Ganho

Tempo de
Subida(s)

Tempo de
Pico(s)

10

0.1095

1.4182

Valor de
Sobressinal
(%)
0

Tempo de
acomodao
(2%)(s)
0.2564

Tempo de
acomoda
o (5%)(s)
0.4643

Erro
Estacionrio
0.0500

17

20

0.0549

0.4793

0.4349

0.4793

0.0250

30

0.0366

0.1626

0.4398

0.4847

0.0166

40

0.0275

0.1230

0.4434

0.4883

0.0125

50

0.0220

0.0989

0.4434

0.4905

0.0100

Lugar das Razes

20

(Kd=20) e (Kp=10)
(Kd=40) e (Kp=20)
(Kd=60) e (Kp=30)
(Kd=80) e (Kp=40)
(Kd=100) e (Kp=50)

15

Imaginary Axis (seconds-1 )

10

-5

-10

-15

-20
-350

-300

-250

-200

-150

-100

Real Axis (seconds -1 )

-50

50

18

Step Response

0.5

(Kd=20) e (Kp=10)
(Kd=40) e (Kp=20)
(Kd=60) e (Kp=30)
(Kd=80) e (Kp=40)
(Kd=100) e (Kp=50)

0.45
0.4
0.35

Amplitude

0.3
0.25
0.2
0.15
0.1
0.05
0

10

15

20

25

30

Time (seconds)

35

40

45

50

3. Para o sistema de controle da figura abaixo utilizando um controlador


proporcional, com J=10 e B=5, pede-se:
A funo de transferncia de malha aberta e equao caracterstica
Determinar o lugar das
razes para este controlador e verificar o
comportamento da estabilidade do sistema.
Obter e anotar na tabela 1 mostrada abaixo os parmetros de resposta
temporria para alguns valores de ganho selecionado

19

==========================Programa============================
clc
clear
k=[0.02 1 1.5 2.5 3.5]
for i=1:5
fprintf('Para k=%d\n',k(i));
num_controlador=k(i);
den_controlador=[1];
num_servomotor=[1];
den_servomotor=[10 5 0];
num_carga=1;
den_carga=[1 1];
num_ganho=1;
den_ganho=[1];
sys1=tf(num_controlador,den_controlador);
sys2=tf(num_servomotor,den_servomotor);
sys3=tf(num_carga,den_carga);
sys4=tf(num_ganho,den_ganho);
fprintf('\n=======Funo de transferncia em malha aberta para k=
%d======\n',k(i))
sys5=series(sys1,sys2);
sys6=series(sys5,sys3);
sys7=series(sys6,sys4)
fprintf('\n=A equao caracteristica dada em malha fechada pelo seu
denominador=\n')
sys8=feedback(sys6,sys4)
fprintf('\n========Valores de tempo acomodao,Pico,MP e tempos de
subida=========\n')
stepinfo(sys8)

%calculando o erro estcionario


erro=(1/(1+k(i)));
fprintf('\n===========O valor do erro estacionrio : %f
===========\n',erro)
%Grfico em reposta transitria
figure(1),hold on,step(sys8,50)
legend('K=0.02','K=1','K=1.5','K=2.5','K=3.5')
%Grfico das razes
figure(2),hold on,rlocus(sys8)
title('Lugar das Razes')
legend('K=0.02','K=1','K=1.5','K=2.5','K=3.5')

%verificando a estabilidade do sistema:


fprintf('\n===========Verificando a estabilidade do
sistema:===========\n')
[Gm,Pm,Wgm,Wpm] = margin(sys8)

end

20

===============================Resultado============================
k =
0.0200

1.0000

1.5000

2.5000

3.5000

Para k=2.000000e-02
====Funo de transferncia em malha aberta para k=2.000000e-02======-sys7 =
0.02
--------------------10 s^3 + 15 s^2 + 5 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
0.02
---------------------------10 s^3 + 15 s^2 + 5 s + 0.02
Continuous-time transfer function.
========Valores de tempo acomodao,Pico,MP e tempos de subida=========
ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

542.6385
969.2413
0.9033
1.0000
0
0
1.0000
2.6045e+03

===========O valor do erro estacionrio : 0.980392 ===========


Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES01 at 42
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES01 at 47

===========Verificando a estabilidade do sistema:===========

21

Gm =
374.0019
Pm =
-180
Wgm =
0.7071
Wpm =
0
Para k=1
===========Funo de transferncia em malha aberta para k=1===========
sys7 =
1
--------------------10 s^3 + 15 s^2 + 5 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
1
------------------------10 s^3 + 15 s^2 + 5 s + 1
Continuous-time transfer function.
========Valores de tempo acomodao,Pico,MP e tempos de subida========
ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

6.6198
21.0516
0.9126
1.0849
8.4944
0
1.0849
14.4945

===========O valor do erro estacionrio : 0.500000 ===========


Warning: Ignoring extra legend entries.

22

> In legend at 286


In RAIZES01 at 42
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES01 at 47
===========Verificando a estabilidade do sistema:===========
Gm =
6.5018
Pm =
114.7168
Wgm =
0.7072
Wpm =
0.1970
Para k=1.500000e+00
======Funo de transferncia em malha aberta para k=1.500000e+00======

sys7 =
1.5
--------------------10 s^3 + 15 s^2 + 5 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
1.5
--------------------------10 s^3 + 15 s^2 + 5 s + 1.5
Continuous-time transfer function.
=======Valores de tempo acomodao,Pico,MP e tempos de subida=========
ans =
RiseTime: 4.5858
SettlingTime: 24.3306
SettlingMin: 0.9211

23

SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

1.2011
20.1122
0
1.2011
10.8135

===========O valor do erro estacionrio : 0.400000 ===========


Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES01 at 42
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES01 at 47
===========Verificando a estabilidade do sistema:===========
Gm =
4.0045
Pm =
64.2012
Wgm =
0.7074
Wpm =
0.3788
Para k=2.500000e+00
======Funo de transferncia em malha aberta para k=2.500000e+00======
sys7 =
2.5
--------------------10 s^3 + 15 s^2 + 5 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
2.5
--------------------------10 s^3 + 15 s^2 + 5 s + 2.5
Continuous-time transfer function.
=======Valores de tempo acomodao,Pico,MP e tempos de subida=========

24

ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

3.1308
32.0207
0.8379
1.3894
38.9421
0
1.3894
8.1825

===========O valor do erro estacionrio : 0.285714 ===========


Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES01 at 42
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES01 at 47
===========Verificando a estabilidade do sistema:===========
Gm =
2.0018
Pm =
24.1643
Wgm =
0.7073
Wpm =
0.5646
Para k=3.500000e+00
======Funo de transferncia em malha aberta para k=3.500000e+00======
sys7 =
3.5
--------------------10 s^3 + 15 s^2 + 5 s
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
3.5
---------------------------

25

10 s^3 + 15 s^2 + 5 s + 3.5


Continuous-time transfer function.
========Valores de tempo acomodao,Pico,MP e tempos de subida=========
ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

2.5193
39.8998
0.6927
1.5334
53.3431
0
1.5334
6.9667

===========O valor do erro estacionrio : 0.222222 ===========


===========Verificando a estabilidade do sistema:===========
Gm =
1.1429
Pm =
3.7848
Wgm =
0.7071
Wpm =
0.6828

Valor
Ganho

Tempo de
Subida(s)

Tempo de
Pico(s)

Valor de
Sobressinal

Tempo de
acomodao

Tempo de
acomoda

Erro
Estacionrio

26

(%)

(2%)(s)

o (5%)(s)

0.02

542.6385

2.6045e+03

0.9033

1.0000

0.980392

6.6198

14.4945

8.4944

0.9126

1.0849

0.500000

1.5

2.7756

7.4809

46.5714

0.7669

1.4657

0.25000

2.5

2.0415

5.9946

70.0167

0.4647

1.7002

0.166667

3.5

1.6988

5.2224

86.8691

0.1673

1.8687

0.125000

Step Response

1.6

K=0.02
K=1
K=1.5
K=2.5
K=3.5

1.4

1.2

Amplitude

0.8

0.6

0.4

0.2

10

15

20

25

30

Time (seconds)

35

40

45

50

27

Lugar das Razes

K=0.02
K=1
K=1.5
K=2.5
K=3.5

Imaginary Axis (seconds-1 )

-1

-2

-3
-4

-3

-2

-1

Real Axis (seconds -1 )

4. Para o sistema de controle da figura acima utilizando um Controlador


Proporciona-Integral, com J=10 e B=5, pede-se:
A funo de transferncia de malha aberta e equao caracterstica.
Determinar o Lugar de Razes para este controlador e verificar o
comportamento da estabilidade do sistema.
Obter e anotar na tabela e mostrar os novos valores de respostas temporrios
para alguns valores de ganho selecionado.

28

==========================Programa============================
clc
clear all
close all

k=[0.01 0.02 0.03 0.04 0.05]


kp=[1 2 3 4 5]
for i=1:5
fprintf('Para k=%d\n',k(i));
num_controlador=[kp(i) k(i)];
den_controlador=[1 0];
num_servomotor=[1];
den_servomotor=[10 5 0];
num_carga=1;
den_carga=[1 1];
num_ganho=1;
den_ganho=[1];

sys1=tf(num_controlador,den_controlador);
sys2=tf(num_servomotor,den_servomotor);
sys3=tf(num_carga,den_carga);
sys4=tf(num_ganho,den_ganho);

fprintf('\n===Funo de transferncia em malha aberta para Kp= %d e Ki=


%f===\n',kp(i),k(i))
sys5=series(sys1,sys2);
sys6=series(sys5,sys3);
sys7=series(sys6,sys4)
fprintf('\n=A equao caracteristica dada em malha fechada pelo seu
denominador=\n')
sys8=feedback(sys6,sys4)
fprintf('\n==Valores de tempo acomodao,Pico,MP e tempos de subida
para Kp= %d e Ki= %f==\n',kp(i),k(i))
stepinfo(sys8)

%calculando o erro estcionario


erro=(1/(k(i)));

fprintf('\n===========O valor do erro estacionrio : %f


===========\n',erro)
%Grfico em reposta transitria
figure(1),hold on,step(sys8,50)
legend('(Ki=0.01) e (Kp=1)','(Ki=0.02) e (Kp=2)','(Ki=0.03) e
(Kp=3)','(Ki=0.05) e (Kp=5)','(Ki=0.05) e (Kp=5)')
%Grfico das razes
figure(2),hold on,rlocus(sys8)
title('Lugar das Razes')

29

legend('(Ki=0.01) e (Kp=1)','(Ki=0.02) e (Kp=2)','(Ki=0.03) e


(Kp=3)','(Ki=0.05) e (Kp=5)','(Ki=0.05) e (Kp=5)')

%verificando a estabilidade do sistema:


fprintf('\n===========Verificando a estabilidade do
sistema:===========\n')
[Gm,Pm,Wgm,Wpm] = margin(sys8)

end

===============================Resultado============================
k =
0.0100

0.0200

0.0300

0.0400

0.0500

kp =
1

Para k=1.000000e-02
===Funo de transferncia em malha aberta para Kp= 1 e Ki= 0.010000===

sys7 =
s + 0.01
----------------------10 s^4 + 15 s^3 + 5 s^2
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
s + 0.01
---------------------------------10 s^4 + 15 s^3 + 5 s^2 + s + 0.01
Continuous-time transfer function.
==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 1 e
Ki= 0.010000==
ans =
RiseTime: 6.3013
SettlingTime: 98.9408

30

SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

0.9192
1.1389
13.8928
0
1.1389
14.6291

===========O valor do erro estacionrio : 100.000000 ===========


Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES02 at 46
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES02 at 51
===========Verificando a estabilidade do sistema:===========
Gm =
6.2774
Pm =
100.4247
Wgm =
0.6965
Wpm =
0.2274
Para k=2.000000e-02
===Funo de transferncia em malha aberta para Kp= 2 e Ki= 0.020000===
sys7 =
2 s + 0.02
----------------------10 s^4 + 15 s^3 + 5 s^2
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
2 s + 0.02
-----------------------------------10 s^4 + 15 s^3 + 5 s^2 + 2 s + 0.02
Continuous-time transfer function.
==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 2 e
Ki= 0.020000==

31

ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

3.5955
43.8938
0.9117
1.3428
34.2786
0
1.3428
9.2563

===========O valor do erro estacionrio : 50.000000 ===========


Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES02 at 46
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES02 at 51
===========Verificando a estabilidade do sistema:===========
Gm =
2.6384
Pm =
37.0218
Wgm =
0.6965
Wpm =
0.4880
Para k=3.000000e-02
===Funo de transferncia em malha aberta para Kp= 3 e Ki= 0.030000===
sys7 =
3 s + 0.03
----------------------10 s^4 + 15 s^3 + 5 s^2
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
3 s + 0.03
-----------------------------------10 s^4 + 15 s^3 + 5 s^2 + 3 s + 0.03
Continuous-time transfer function.
===Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 3 e
Ki= 0.030000==

32

ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

2.7408
37.4773
0.7651
1.5019
50.1902
0
1.5019
7.4892

===========O valor do erro estacionrio : 33.333333 ===========


Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES02 at 46
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES02 at 51
===========Verificando a estabilidade do sistema:===========
Gm =
1.4250
Pm =
10.7694
Wgm =
0.6964
Wpm =
0.6292
Para k=4.000000e-02
===Funo de transferncia em malha aberta para Kp= 4 e Ki= 0.040000===
sys7 =
4 s + 0.04
----------------------10 s^4 + 15 s^3 + 5 s^2
Continuous-time transfer function.
=A equao caracteristica dada em malha fechada pelo seu denominador=
sys8 =
4 s + 0.04
-----------------------------------10 s^4 + 15 s^3 + 5 s^2 + 4 s + 0.04
Continuous-time transfer function.
==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 4 e
Ki= 0.040000==

33

ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

2.3011
55.2534
0.6046
1.6280
62.8029
0
1.6280
6.5613

===========O valor do erro estacionrio : 25.000000 ===========


Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES02 at 46
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES02 at 51
===========Verificando a estabilidade do sistema:===========
Warning: The closed-loop system is unstable.
> In warning at 26
In DynamicSystem.margin at 63
In RAIZES02 at 55

Gm =
0.8188
Pm =
-4.9886
Wgm =
0.6964
Wpm =
0.7298
Para k=5.000000e-02
===Funo de transferncia em malha aberta para Kp= 5 e Ki= 0.050000===
sys7 =
5 s + 0.05
----------------------10 s^4 + 15 s^3 + 5 s^2
Continuous-time transfer function.

34

=A equao caracteristica dada em malha fechada pelo seu denominador=


sys8 =
5 s + 0.05
-----------------------------------10 s^4 + 15 s^3 + 5 s^2 + 5 s + 0.05
Continuous-time transfer function.
==Valores de tempo acomodao,Pico,MP e tempos de subida para Kp= 5 e
Ki= 0.050000==
ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:

2.0250
81.4826
0.4442
1.7324
73.2410
0
1.7324
6.0017

===========O valor do erro estacionrio : 20.000000 ===========

===========Verificando a estabilidade do sistema:===========


Warning: The closed-loop system is unstable.
> In warning at 26
In DynamicSystem.margin at 63
In RAIZES02 at 55
Gm =
0.4550
Pm =
-15.9766
Wgm =
0.6964
Wpm =
0.8094

35

Valor
Ganho

Valor de
Ganho (Ki)

Tempo de
Subida(s)

Tempo de
Pico(s)

0.0100

6.3013

14.6291

Valor de
Sobressinal
(%)
13.8928

Tempo de
Tempo de
acomodao acomodao
(2%)(s)
(5%)(s)
0.9192
1.1389

0.0200

3.5955

9.2563

34.2786

0.9117

1.3428

0.0300

2.7408

7.4892

50.1902

0.7651

1.5019

0.0400

2.3011

6.5613

62.8029

0.6046

1.6280

25

0.0500

2.0250

6.0017

73.2410

0.4442

1.7324

20

Step Response

1.8

(Ki=0.01) e (Kp=1)
(Ki=0.02) e (Kp=2)
(Ki=0.03) e (Kp=3)
(Ki=0.05) e (Kp=5)
(Ki=0.05) e (Kp=5)

1.6
1.4

Amplitude

1.2
1
0.8
0.6
0.4
0.2
0

10

15

20

25

30

Time (seconds)

35

40

45

50

10

36

Lugar das Razes

(Ki=0.01) e (Kp=1)
(Ki=0.02) e (Kp=2)
(Ki=0.03) e (Kp=3)
(Ki=0.05) e (Kp=5)
(Ki=0.05) e (Kp=5)

Imaginary Axis (seconds-1 )

-1

-2

-3
-3.5

-3

-2.5

-2

-1.5

-1

-0.5

Real Axis (seconds -1 )

0.5

1.5

4. Um tocador de disco compacto para uso porttil requer boa rejeio de perturbaes e uma
posio exata do sensor ptico de leitura. O sistema de posio retroao unitria e uma
funo de transferncia de processo a controlar.

G ( s )=

10
s ( s+1 ) (s+ p)

O parmetro p pode ser escolhido selecionando-se o motor CC apropriado. Esboar o


lugar das razes em funo de p. Selecionar P de modo que o das razes complexas da
equao caractersticas seja aproximadamente 1/

37

==========================Programa============================
clc
num=[1 1 0];
den=[1 1 0 10];
sys=tf(num,den);
%Para obter Zeta=1/sqrt(2) para as razes complexas da equao
%caracterstica, observamos que essa condio corresponde a magnitude da
%parte real e imaginria sendo iguais, do grfico do lugar das razes,
%isso ir acontecer quando s=-(1+-1i)/2
P=rlocfind(sys,-0.5-0.5i)%Valor encontrado para P
rlocus(sys)
text(-0.5,-0.5,'\leftarrow Ponto')

===============================Resultado============================
P=
20.5061

Root Locus

1.5

Imaginary Axis (seconds-1 )

0.5

-0.5

-1

-1.5

-2
-6

-5

-4

-3

-2

Real Axis (seconds -1 )

Grfico da questo 3.

-1

38

5. O sistema de controle automtico de um aeroplano um exemplo que requer mtodos de


retroao multivariaveis. Neste sistema, a atitude de uma aeronave controlada por meio de
trs conjuntos de superfcies: profundores, leme e elerons, como est mostrado na figura
abaixo.

Manipulando estas superfcies, um piloto pode colocar o avio em um trajetria de


voo desejada. Um piloto automtico, que ser considerado aqui, um sistema de controle
automtico que controla o ngulo de rolamento ajustando as superfcies dos eleron. A
deflexo das superfcies dos elerons de um ngulo gera um torque devido a presso do ar
sobre estas superfcies. Isto ocasiona um movimento de rolamento de aeronave. As superfcies
dos elerons so controladas por um atuador hidrulico com funo de transferncia 1/s. O
ngulo real de rolamento medido e comparado com a entrada. A diferena entre o ngulo
de rolamento desejado d e o ngulo real ser acionar o atuador hidrulico, que por sua
vez ajusta a deflexo da superfcie do eleron. Adota-se um modelo simplificado no qual o
movimento de rolamento pode ser considerado independente
dos outros movimentos, e
seu diagrama de blocos est mostrado na figura abaixo.

Admitir que K1=1 e que a velocidade de rolamento enviada como retroao


usando-se um girmetro. A resposta a um degrau desejada possui uma ultrapassagem inferior
a 10% e um tempo de assentamento (critrio 2%) menor que 9 segundos. Selecionar
os
parmetros Ka e K2.

39

==========================Programa============================
clc
clear all
close all
ka=[0.1 0.2 0.31 0.52];
k2=[1 1.5 2 3];
for i=1:4
num_amplificador=ka(i);
den_amplificador=1;
num_atuador=1;
den_atuador=[1 0];
num_G1=1;
den_G1=[1 1];
num_G2=1;
den_G2=[1 0];
num_girometro=k2(i);
den_girometro=1;
num_giroscopio=1;
den_giroscopio=1;
sys1=series(series(tf(num_amplificador,den_amplificador),tf(num_atuador,den
_atuador)),tf(num_G1,den_G1));
sys2=feedback(sys1,tf(num_girometro,den_girometro));
sys3=series(sys2,tf(num_G2,den_G2));
fprintf('\nPara valor de ka= %f e k2= %f temos que a malha fechada
:\n',ka(i),k2(i))
sys=feedback(sys3,tf(num_giroscopio,den_giroscopio))
%plotando o grfico com todas as tentativas:
hold on,step(sys,20)
legend('(Ka=0.1) e (K2=1)','(Ka=0.2) e (K2=1.5)','(Ka=0.31) e
(K2=2)','(Ka=3) e (K2=0.52)')
end

===============================Resultado============================
Para valor de ka= 0.100000 e k2= 1.000000 temos que a malha fechada
:
sys =
0.1
----------------------s^3 + s^2 + 0.1 s + 0.1
Continuous-time transfer function.
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES04 at 32
Para valor de ka= 0.200000 e k2= 1.500000 temos que a malha fechada :

40

sys =
0.2
----------------------s^3 + s^2 + 0.3 s + 0.2
Continuous-time transfer function.
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES04 at 32
Para valor de ka= 0.310000 e k2= 2.000000 temos que a malha fechada :
sys =
0.31
------------------------s^3 + s^2 + 0.62 s + 0.31
Continuous-time transfer function.
Warning: Ignoring extra legend entries.
> In legend at 286
In RAIZES04 at 32
Para valor de ka= 0.520000 e k2= 3.000000 temos que a malha fechada :
sys =
0.52
------------------------s^3 + s^2 + 1.56 s + 0.52
Continuous-time transfer function.

41

Step Response

(Ka=0.1) e (K2=1)
(Ka=0.2) e (K2=1.5)
(Ka=0.31) e (K2=2)
(Ka=3) e (K2=0.52)

1.8
1.6
1.4

Amplitude

1.2
1
0.8
0.6
0.4
0.2
0

10

12

Time (seconds)

14

16

18

20

Grfico da questo 4.

6. Considere o sistema de posicionamento angular mostrado na figura abaixo.

Os polos dominantes de malha fechada esto localizados em s=-3.60 j 4.80 . O


coeficiente de amortecimento

dos polos dominantes de malha fechada 0.6. A constante


1

de erro esttico de velocidade Kv=4.1 s

, o que significa que para um entrada em rampa, o

erro esttico de acompanhamento da rampa :


ev=

i
360
=
=87,8
KV 4.1 s1
Deseja-se diminuir para um dcimo do valor atual ou aumentar o valor da constante de
1

erro esttico Kv para 41 s

. Deseja-se tambm manter o coeficiente de amortecimento

42

dos polos dominantes da malha fechada em 0.6. permitida uma pequena modificao

na frequncia natural no amortecida

dos polos dominantes de malha fechada. Projete

um compensador por atraso de fase apropriado para aumentar a constante de erro esttico de
velocidade conforme desejado.
==========================Programa============================
clc
clear all
numg=[820];dumg=[1 30 200 0];
numh1=[1];dumh1=[1];
sys1=tf(numg,dumg)
sys2=tf(numh1,dumh1);
b=minreal(sys1)
sys3=feedback(sys1,sys2)
fprintf('\ncomo a funo de transferncia: s+30s+300s+820\n')
fprintf('\nos polos dessa Eq. Caracteristica so:\n')
eqc=[1 30 200 820];
polos=roots(eqc)
fprintf('\nsabendo que o valor do erro de 41sec^-1,temos que o valor
T=4:\n')
ng=[4 1];dg=[40 1];
sys4=tf(ng,dg);
sys5=series(10,sys4);
a=minreal(sys5)
fprintf('\nTemos,ento, que a funo Gc(s)*G(s) dada por:\n')
sys6=series(sys3,a)
fprintf('\nOs valores dos polos dessa equao caracteristica:\n')
eqc2=[1 30.02 200.8 825 20.5];
polos2=roots(eqc2)

wn=sqrt((3.4862^2)+(4.6697^2))
fprintf('\nO valor de Wn(frequencia :%f rad/sec\n',wn)

===============================Resultado===========================
sys1 =
820
--------------------

43

s^3 + 30 s^2 + 200 s


Continuous-time transfer function.

b =
820
-------------------s^3 + 30 s^2 + 200 s
Continuous-time transfer function.
sys3 =
820
-------------------------s^3 + 30 s^2 + 200 s + 820
Continuous-time transfer function.

Como a funo de transferncia: s+30s+300s+820 os polos dessa Eq.


Caracteristica so:
polos =
-22.8073 + 0.0000i
-3.5964 + 4.7979i
-3.5964 - 4.7979i

Sabendo que o valor do erro de 41sec^-1,temos que o valor T=4:


a =
s + 0.25
--------s + 0.025
Continuous-time transfer function.

Temos, ento, que a funo Gc(s)*G(s) dada por:


sys6 =

44

820 s + 205
-----------------------------------------s^4 + 30.02 s^3 + 200.8 s^2 + 825 s + 20.5

Os valores dos polos dessa equao caracterstica:


polos2 =
-22.7977 + 0.0000i
-3.5986 + 4.7977i
-3.5986 - 4.7977i
-0.0250 + 0.0000i

wn =
5.8275
O valor de Wn(frequencia :5.827494 rad/sec

7. Considere o sistema mostrado na figura abaixo.

Determine os valores do ganho K e o do coeficiente de realimentao

de

velocidade Kh para que os polos estejam em s=1 j 3 . Em seguida, utilizando o


valor encontrado de Kh, construa o grfico do lugar das razes.
==========================Programa============================
clc
clear all
%plotando os valores K para encontrar o valor desejado pela questo: -1?3j

45

k=[0.5 1 2 4];
kh=[2.5 2 1 0.5];
%usando os valores de K para encontramos os valores para preencher o
%primeira funo de transferncia e encontrar o lugar de raizes:
for i=1:4
ng1=[k(i)];dg1=[1 0];
ng2=[1];dg2=[1 0];
nh1=[kh(i)];dh1=[1];
nh2=[1];dh2=[1];
sys1=tf(ng1,dg1);
sys2=tf(ng2,dg2);
sys3=tf(nh1,dh1);
sys4=tf(nh2,dh2);
sys5=feedback(sys1,nh1,-1);
sys6=series(sys5,sys2);
fprintf('\npara o valor de k= %f e kh= %f\n',k(i),kh(i))
sys7=feedback(sys6,sys4,-1)

fprintf('\npolos para quando K=%f e kh=%f\n',k(i),kh(i))


polos=pole(sys7)
%plotando o grfico com os valores que encontramos:
hold on,rlocus(sys7)
v=[-5 1 -3 3]
legend('(K=0.5) e (K2=2.5)','(K=1) e (Kh=2)','(K=2) e (Kh=1)','(K=4) e
(Kh=0.5)')
end
%Agora, anlise sobre a funo carateristica percemos que:
fprintf('\nsabendo que os valores da funo caracteristica fica:
s+0.5Ks+k, temos que:\n')
numg=[0 0.5 1];
deng=[1 0 0];
%plotando em outra imagem referente a funo caracteristica temos que:
figure(2)
rlocus(numg,deng)
v=[-5 1 -3 3];axis(v);axis('square')
grid
title('Lugar de raiz')

===============================Resultado============================
para o valor de k= 0.500000 e kh= 2.500000
sys7 =
0.5
-----------------s^2 + 1.25 s + 0.5
Continuous-time transfer function.

46

polos para quando K=0.500000 e kh=2.500000


polos =
-0.6250 + 0.3307i
-0.6250 - 0.3307i
v =
-5

-3

Warning: Ignoring extra legend entries.


> In legend at 286
In RAIZES06 at 36
para o valor de k= 1.000000 e kh= 2.000000
sys7 =
1
------------s^2 + 2 s + 1
Continuous-time transfer function.

polos para quando K=1.000000 e kh=2.000000


polos =
-1
-1
v =
-5

-3

Warning: Ignoring extra legend entries.


> In legend at 286
In RAIZES06 at 36
para o valor de k= 2.000000 e kh= 1.000000
sys7 =
2
------------s^2 + 2 s + 2
Continuous-time transfer function.
polos para quando K=2.000000 e kh=1.000000

47

polos =
-1.0000 + 1.0000i
-1.0000 - 1.0000i
v =
-5

-3

Warning: Ignoring extra legend entries.


> In legend at 286
In RAIZES06 at 36
para o valor de k= 4.000000 e kh= 0.500000
sys7 =
4
------------s^2 + 2 s + 4
Continuous-time transfer function.

polos para quando K=4.000000 e kh=0.500000


polos =
-1.0000 + 1.7321i
-1.0000 - 1.7321i
v =
-5

-3

Sabendo que os valores da funo caracteristica fica: s+0.5Ks+k, temos


que:

48

Root Locus

(K=0.5) e (K2=2.5)
(K=1) e (Kh=2)
(K=2) e (Kh=1)
(K=4) e (Kh=0.5)

Imaginary Axis (seconds-1 )

-2

-4

-6

-8
-1.8

Imaginary Axis (seconds-1 )

-2

-1.4

-1.2

-1

-0.8

-0.6

-0.4

Real Axis (seconds -1 )

-0.2

0.2

Lugar de raiz
0.86

0.76

0.64

0.5

0.34

0.16

0.94

0.985

5
0

-1

-1.6

0.985

0.94

-3 0.86
-5

0.76
-4

0.64
-3

0.5
-2

Real Axis (seconds -1 )

0.34
-1

0.16
0

49

5. CONCLUSO

Por fim, conclumos que este trabalho foi bastante satisfatrio levando em
considerao o aprendizado adquirido sobre o mtodo do lugar das razes, mais
especificamente as analises de respostas ao controle do sistema, pois observamos
claramente como a partir desse mtodo podemos projetar controladores ao sistema,
levando em considerao as especificaes do projeto, por exemplo, uma resposta
com baixo overshoot atravs do controlador PD ou uma resposta com baixo erro
estacionrio atravs do controlador PI. Assim, conclumos que os resultados obtidos
em experimentao laboratorial na plataforma MATLAB so coerentes com a teoria
vista em sala de aula.

50

REFERNCIAS

OGATA, K.: Engenharia de Controle Moderno 3a Edio, 2005, Prentice-Hall.


http://www.feg.unesp.br/~falotufo/Disciplinas/Sel3023/Apostila/Capitulo7_12.pdf

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