Você está na página 1de 16

Universidade Federal

do Espı́rito Santo

Engenharia Elétrica

Trabalho De Sistemas
Realimentados

Autores:
Bianca Gonçalves de Carvalho
Renato Batista Faria Junior

18 de Junho de 2019
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

Considerações do trabalho:
N =12;
Lugar das Raı́zes utilizados para a escolha dos parâmetros dos controladores bem
como as equações que os geraram;
FT do controlador e FT de malha fechada (planta+controlador) utilizadas para a
simulação;
Comandos do Matlab usados para simulação;
Resultados da simulação no Matlab do controlador+planta, apresentando os gráficos
dos sinais de saı́da, especificando o sobressinal, o tempo de subida e o erro em regime

1 Parte I: Projeto
Seja o sistema de controle da velocidade de atitude de um avião apresentado do
exercı́cio P10.3 no cap. 10 do livro do Dorf, página 480. considere:
1 N
τa
= 10
10
K1 = N
10
ωn = N
0.85
= √
N

Qual controlador você escolheria (P, PD, PI, PID) para que a resposta ao degrau
seja a mais rápida possı́vel, com o menor sobressinal e erro em regime à rampa seja
zero ?
Justifique sua resposta usando o método do Lugar das Raı́zes e projete este contro-
lador escolhido.
Justifique, os motivos para não usar os outros controladores.
RESOLUÇÃO
De acordo com o exercı́cio, a FTMA do sistema é:

1 K1 ωn2 τ ∗ s + K1 ωn2
G= ∗ 2
s s + 2ζωn s + ωn2

1
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

Figura 1: Diagrama de blocos do sistema.

Analisando o sistema no Matlab, temos o LDR:

Figura 2: LDR do sistema original.

Podemos testar todos os tipos de controlador e analisar o sistema resultante:

1.1 Controlador P

A insersão do controlador P não altera o LDR do sistema, apenas posiciona os pólos


em outros lugares. Temos um controlador do tipo: C = kp
Através do Matlab conseguimos um modelo da FTMF com o controlador C = 0.7:

2
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

0.3376s + 0.4051
GM F =
s3 + 0.409s2 + 1.032s + 0.4051

Figura 3: LDR e respostas do sistema com controlador P.

Observamos pelos critérios de estabilidade que, só podemos alterar kp até 0.76 para
manter as raı́zes do sistema no semiplano esquerdo, assim, o controlador P não é
suficiente para atender os critérios.

1.2 Controlador PD

A inserção de um zero no sistema faz com que a saı́da seja mais comportada. Po-
demos observar as oscilações das respostas com a variação de kd para um valor fixo
de kp = 1, escolhido arbitrariamente.
Temos um controlador do tipo: C = kp + kd ∗ s
Através do Matlab conseguimos um modelo da FTMF com o controlador C = 1+20s:

9.645s2 + 12.06s + 0.5787


GM F =
s3 + 10.05s2 + 12.75s + 0.5787

3
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

Figura 4: LDR e respostas do sistema com controlador PD.

A escolha do intervalo de kd foi feita pela tentativa e erro. Apesar do sistema ser
rápido e ter um sobressinal pequeno, o erro em regime é grande. De acordo com a
teoria do valor final, precisarı́amos de um valor de kv infinito para que o erro fosse
zero.

1.3 Controlador PI

A inserção de um pólo na FT para controlar o erro em regime não se mostrou uma


boa solução. Temos um controlador do tipo: C = kp + ksi
Escolhemos kp = 0.5 de modo a não ultrapassar o limite de estabilidade inicial e
devido às respostas do controlador PI.
Através do Matlab conseguimos um modelo da FTMF com o controlador C = 0.5 +
0.09
s
:

0.2411s2 + 0.3328s + 0.05208


GM F =
s4 + 0.409s3 + 0.9356s2 + 0.3328s + 0.05208

4
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

Figura 5: LDR e respostas do sistema com controlador PI.

Pode-se observar que apesar de variarmos ki entre 0.01 e 0.1, o erro em regime
aumentou, o sistema oscila bastante e o sobressinal é alto. Para valores maiores de
ki o sitema oscila absurdamente.

1.4 Controlador PID

Inserindo um pólo próximo a origem e um zero um pouco depois, podemos controlar


novamente a saı́da de modo a reduzir erro em regime e deixar o sistema mais rápido.
ki
Temos um controlador do tipo: C = kp + kd ∗ s + s

Utilizando a ferramente PID tunner do Matlab projetamos o sistema para o mais


rápido possı́vel e modelamos a robustez. Os valores encontrados foram kp = 3.23,
kd = 4.847 e ki = 0.53855.
Através do Matlab conseguimos um modelo da FTMF com o controlador C = 3.23+
4.847s + 0.53855
s
:

2.337s3 + 4.363s2 + 2.129s + 0.3117


GM F =
s4 + 2.746s3 + 5.057s2 + 2.129s + 0.3117

5
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

Figura 6: LDR e respostas do sistema com controlador PID.

Como observado no gráfico de saı́da, a resposta do sistema é comportada igual à


saı́da com controlador PD, porém com sobressinal pouco maior. A diferença é que
com o controlador PID, garantimos que o erro em regime seja zero.
Assim, o controlador PID é a melhor solução para atender os critérios do projeto.
Os parâmetros encontrados são:
1. Tempo de subida: 0.49s
2. Máximo sobressinal: 16%
3. Erro em regime: 0

2 Parte II: Projeto


Seja o sistema de controle do braço de um robô apresentado no exercı́cio P10.16 pag.
483 do livro do Dorf. Considere que o modelo do robô seja dado pela FTMA:

1
GM A = 20
(s + N )(s + (40 − N ))(s + N
)

Qual controlador você escolheria (P, PD, PI, PID) para que a resposta ao degrau
seja a mais rápida possı́vel, com o menor sobressinal e que o efeito da perturbação
de carga (D(s) = 1/s) seja igual a zero?
Justifique sua resposta usando o método do Lugar das Raı́zes. Justifique, os motivos
para não usar os outros controladores.

6
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

RESOLUÇÃO
Podemos analisar o sistema e testar os controladores encontrados. De acordo com o
livro, o diagrama de blocos do sistema é da seguinte forma:

Figura 7: Diagrama de blocos do sistema.

Diferentemente do exercı́cio do livro, temos que a entrada é degrau e queremos que


o efeito do distúrbio seja zero.
Abaixo temos a equação caracterı́stica do sistema e o LDR que representa a planta
do sistema:

Figura 8: LDR do sistema original.

Com N=12, teremos a seguinte função de transferência:

1
GM A =
s3 + 41.67s2 + 402.7s + 560

7
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

Antes de escolhermos o sistema de controle, vamos analisar a influência do disturbio


e como podemos eliminá-lo. Sabemos que a saı́da do sistema é dada por:

Gc (s)GM A (s) GM A (s)


Y (s) = ∗ R(s) + ∗ D(s)
1 + Gc (s)GM A (s)H(s) 1 + Gc (s)GM A (s)H(s)

E o erro do sistema é do tipo:

1 GM A (s)
E(s) = ∗ R(s) − ∗ D(s)
1 + Gc (s)GM A (s)H(s) 1 + Gc (s)GM A (s)H(s)

De onde podemos calcular ess = limx→0 s ∗ E(s).

 1 GM A (s) 
lim s ∗ E(s) = s ∗ ∗ R(s) − ∗ D(s)
x→0 1 + Gc (s)GM A (s)H(s) 1 + Gc (s)GM A (s)H(s)
1
lim s ∗ E(s) = 0 − s ∗ ∗ D(s)
x→0 1 + Gc (s)GM A (s)H(s)

Como o distúrbio é 1s , ele cancela o s do cálculo do limite, resultando em:

1
lim s ∗ E(s) =
x→0 1 + Gc (s)GM A (s)H(s)

Onde só teremos erro zero se o numerador da fração tender a zero.


A situação desejada pode ser obtida com um controlador que tenha um pólo na
origem, ou seja, tenha o fator integrativo.
Através do PID tunner do Matlab projetamos controladores e observamos as saı́das
para escolher a melhor opção.

8
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

2.1 Controlador PI

Figura 9: LDR do sistema com controlador PI.

Com um controlador no formato C = kp + ksi = 1636 + 3556.5


s
, a FTMF do sistema é
da seguinte forma:

3557s4 + 1.498 ∗ 05 s3 + 1.5 ∗ 106 s2 + 2.65 ∗ 106 s + 916160


GM F =
s6 + 83.33s5 + 6098s4 + 1.845 ∗ 105 s3 + 1.709 ∗ 106 s2 + 3.101 ∗ 106s + 1.23 ∗ 106
s3 + 41.67s2 + 402.7s + 560
+ 6
s + 83.33s5 + 6098s4 + 1.845 ∗ 105 s3 + 1.709 ∗ 106 s2 + 3.101 ∗ 106s + 1.23 ∗ 106
Obtivemos a seguinte saı́da:

Figura 10: Resposta do sistema com controlador PI.

9
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

E a supressão do distúrbio da seguinte forma:

Figura 11: Supressão do distúrbio com controlador PI.

Apesar da saı́da com o controlador PI ser boa e o efeito do distúrbio ser anulado,
decidimos tentar o controlador PID para comparar o tempo de subida do sistema e
o sobressinal.

2.2 Controlador PID

Figura 12: LDR do sistema com controlador PID.

10
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

ki 15052
Com um controlador no formato C = kp + kd ∗ s + s
= 6773.4 + 677.34 ∗ s + s
,
a FTMF do sistema é da seguinte forma:

677.3s6 + 3.5 ∗ 104 s5 + 5.7 ∗ 100 5s4 + 3.734 ∗ 106 s3 + 9.854 ∗ 106 s2 + 8.429 ∗ 106 s
s8 + 83.3s7 + 3219s6 + 6.97 ∗ 104 s5 + 7.8 ∗ 105 s4 + 4.2 ∗ 106 s3 + 107 s2 + 8.4 ∗ 106 s
s4 + 41.67s3 + 402.7s2 + 560s
+ 7
s + 83.33s6 + 3219s5 + 6.97 ∗ 104 s4 + 7.8 ∗ 105 s3 + 4.1 ∗ 106 s2 + 107 + 8.4 ∗ 106

Obtivemos a seguinte saı́da:

Figura 13: Resposta do sistema com controlador PID.

E a supressão do distúrbio da seguinte forma:

11
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

Figura 14: Supressão do distúrbio com controlador PID.

É facilmente observável que a resposta do sistema com o controlador PID é muito


mais rápida e o sobressinal menor. Assim, ele é o mais adequado para os requisitos
do sistema.

12
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

Anexo

trabalho.m

1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %%%%%%%%%%%% TRABALHO DE SISTEMAS REALIMENTADOS %%%%%%%%%%%%%%%%
3 %%%%%%%%%%%%%%%% BIANCA GONCALVES DE CARVALHO %%%%%%%%%%%%%%%%%%
4 %%%%%%%%%%%%%%%%% RENATO BATISTA FARIA JUNIOR %%%%%%%%%%%%%%%%%%
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6
7 clc; clear all; close all;
8 %% EXERCICIO 1
9 N = 12;
10 tau = 10/N;
11 K1 = 10/N;
12 wn = 10/N;
13 zeta = 0.85/sqrt(N);
14
15 s = tf('s');
16 G = 1/s*(K1*(wnˆ2)*(tau)*s + K1*(wnˆ2))/(sˆ2+2*zeta*wn*s+wnˆ2);
17
18
19 % Controlador P
20 kp = 0.7;
21 %Plote em um mesmo grafico a resposta ao degrau para sete diferentes
22 %valores de Kp
23 tsub = [];
24 Mp = [];
25 error = [];
26 i = 1;
27
28 for kp = 0.1:.1:0.7
29 c = kp;
30 A = c*G;
31
32 [y,t] = step(feedback(A,1));
33 plot(t,y);
34

35 info = stepinfo(feedback(A,1));
36 tsub(i) = info.RiseTime;
37 Mp(i) = max(y)−1;
38 error(i) = abs(1−y(end));
39
40 i = i+1;
41 hold on
42 end

13
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

43
44 title('Resposta ao degrau com controlador P');
45 legend('Kp = 0.1','Kp = 0.2','Kp = 0.3','Kp = 0.4','Kp = ...
0.5','Kp = 0.6');
46 xlabel('tempo');
47 xlim([0 10]);
48 ylabel('Amplitude');
49

50 %%
51 %Controlador PD
52 kp = 1;
53 ki=0;
54 %Plote em um mesmo grafico a resposta ao degrau para sete diferentes
55 %valores de Kd
56 tsub = [];
57 Mp = [];
58 error = [];
59 i = 1;
60
61 for kd = 4:4:20
62 c = pid(kp,ki,kd)
63 A = c*G;
64
65 [y,t] = step(feedback(A,1));
66 plot(t,y);
67

68 info = stepinfo(feedback(A,1));
69 tsub(i) = info.RiseTime;
70 Mp(i) = max(y)−1;
71 error(i) = abs(1−y(end));
72
73 i = i+1;
74 hold on
75 end
76
77 title('Resposta ao degrau com controlador PD');
78 legend('Kd = 4','Kd = 8','Kd = 12','Kd = 16','Kd = 20');
79 xlabel('tempo');
80 xlim([0 10]);
81 ylabel('Amplitude');
82
83 %% Controle PI
84

85 %Controlador PD
86 kp = 0.5;
87 kd=0;
88 %Plote em um mesmo grafico a resposta ao degrau para sete diferentes
89 %valores de Kd
90 tsub = [];

14
Trabalho De Sistemas Realimentados Bianca Gonçalves e Renato Batista

91 Mp = [];
92 error = [];
93 i = 1;
94
95 for ki = 0.01:0.02:0.1
96 c = pid(kp,ki,kd)
97 A = c*G;
98

99 [y,t] = step(feedback(A,1));
100 plot(t,y);
101
102 info = stepinfo(feedback(A,1));
103 tsub(i) = info.RiseTime;
104 Mp(i) = max(y)−1;
105 error(i) = abs(1−y(end));
106
107 i = i+1;
108 hold on
109 end
110

111 title('Resposta ao degrau com controlador PI');


112 legend('Ki = 0.01','Ki = 0.03','Ki = 0.05','Ki = 0.07','Ki = 0.09');
113 xlabel('tempo');
114 xlim([0 20]);
115 ylabel('Amplitude');
116

117 %% Controlador PID


118 kp = 3.23;
119 kd = 4.847;
120 ki = 0.53855;
121
122 c = pid(kp,ki,kd)
123 A = c*G;
124
125 [y,t] = step(feedback(A,1));
126 step(feedback(A,1));
127
128 info = stepinfo(feedback(A,1));
129 tsub = info.RiseTime;
130 Mp = max(y)−1;
131 error = abs(1−y(end));
132
133 title('Controlador PID');
134 xlabel('tempo');
135 xlim([0 20]);
136 ylabel('Amplitude');

15

Você também pode gostar