Академический Документы
Профессиональный Документы
Культура Документы
Manaus/AM
2016
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
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
Objetivos Especficos
3. REFERENCIAL TERICO
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:
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
==========================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);
===============================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.
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
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
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
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
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
10
-5
-10
-15
-20
-350
-300
-250
-200
-150
-100
-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
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)
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
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
22
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
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
25
2.5193
39.8998
0.6927
1.5334
53.3431
0
1.5334
6.9667
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
K=0.02
K=1
K=1.5
K=2.5
K=3.5
-1
-2
-3
-4
-3
-2
-1
28
==========================Programa============================
clc
clear all
close all
sys1=tf(num_controlador,den_controlador);
sys2=tf(num_servomotor,den_servomotor);
sys3=tf(num_carga,den_carga);
sys4=tf(num_ganho,den_ganho);
29
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
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
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
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
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
2.0250
81.4826
0.4442
1.7324
73.2410
0
1.7324
6.0017
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
(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
-2
-3
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
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)
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
0.5
-0.5
-1
-1.5
-2
-6
-5
-4
-3
-2
Grfico da questo 3.
-1
38
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.
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
42
dos polos dominantes da malha fechada em 0.6. permitida uma pequena modificao
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
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.
44
820 s + 205
-----------------------------------------s^4 + 30.02 s^3 + 200.8 s^2 + 825 s + 20.5
wn =
5.8275
O valor de Wn(frequencia :5.827494 rad/sec
de
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)
===============================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
-3
-3
47
polos =
-1.0000 + 1.0000i
-1.0000 - 1.0000i
v =
-5
-3
-3
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)
-2
-4
-6
-8
-1.8
-2
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-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
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