Escolar Documentos
Profissional Documentos
Cultura Documentos
1 INTRODUO
O controlador Proporcional Integral Derivativo (PID) um mecanismo de controle
com realimentao amplamente utilizado em sistemas de controle industrial. O controlador
PID visa corrigir o erro entre a varivel do processo medida (sada) e um valor de referncia,
calculando e ajustando o processo com um fator de correo apropriado.
Apesar de o controlador ter apenas trs parmetros, no fcil encontrar bons valores
sem um procedimento sistemtico. Existem diversos mtodos para se projetar um controlador
PID que sero abordados e utilizados neste trabalho.
1.1 OBJETIVOS
O objetivo deste trabalho obter um modelo aproximado de primeira e segunda ordem
com atraso para a matriz G2 de funes de transferncia do processo definido, utilizando o
mtodo da curva de reao e as regras de aproximao half rule do artigo e, a partir dos
modelos reduzidos, projetar os diversos controladores PID utilizando os mtodos das Tabelas
e o mtodo SIMC descritos no artigo.
7
2 APROXIMAO DOS MODELOS
Cada sistema pode ser aproximado por um modelo de primeira ou segunda ordem,
usando controladores PI e PID, respectivamente. A reduo da ordem do sistema deve
retornar uma equao da forma:
( )
( ) ( )
s
e
s s
k
s g
u
t t
+ +
=
1 1
2 1
(1)
Onde:
- k - Ganho da planta;
-
1
t - Constante de atraso de tempo dominante;
-
2
t - Constante de atraso de tempo de segunda ordem;
- u - Atraso de tempo efetivo (tempo morto).
Note que se
(3)
De acordo com o procedimento half rule descrito no artigo, possvel aproximar o
modelo do processo a uma funo de primeira ordem do tipo mostrado em (2), onde:
2
20
10 1
t
t t + =
,
,
2
h
T
2
j
inv
0 j
3 i
0 i
20
0
+ + + + =
>
E de segunda ordem, onde:
10 1
t t =
2
30
20 2
t
t t + =
>
+ + + + =
4
0 0
30
0
2 2
i j
inv
j i
h
T t
t
u u
(2)
(4)
(5)
(6)
(7)
(8)
(9)
9
3 PROJETO DOS CONTROLADORES
A partir das aproximaes obtidas, ser determinado os parmetros, utilizando vrios
mtodos de sintonia, para um controlador PID em srie com uma funo de transferncia da
forma:
( ) ( ) 1
1
+
|
|
.
|
\
| +
= s
s
s
K s c
D
I
I
C
t
t
t
Onde:
- k c Ganho do controlador;
-
()
[
( )
( )( )
( )( )( )
( )
( )
( )( )
( )
( )
(18)
5.1 APROXIMAO DE 1 ORDEM
()
()()
a)
Observando a resposta ao degrau da funo e aplicando o procedimento da curva de
reao, determinou-se L = 4.22, T = 2 e K = 0.5. Assim, a aproximao de primeira ordem
pelo mtodo da curva de reao dado:
()
Analisando funo de transferncia original, possvel identificar os seguintes
parmetros:
, ,
. Assim,
aplicando o procedimento do mtodo half-rule de primeira ordem dados em (3) e (4) obtm-
se: ,
e .
O modelo de 1 ordem pelo mtodo half-rule obtido :
()
( )
(20)
(19)
16
()()()
b)
Observando a resposta ao degrau da funo e aplicando o procedimento da curva de
reao, determinou-se L = 3.13, T = 12.07 e K = 7. Assim, a aproximao de primeira ordem
pelo mtodo da curva de reao dado:
()
Analisando funo de transferncia original, possvel identificar os seguintes
parmetros:
, e
e
O modelo de 1 ordem pelo mtodo half-rule obtido :
()
()
()()
c)
Observando a resposta ao degrau da funo e aplicando o procedimento da curva de
reao, determinou-se L = 4.29, T = 17.51 e K = 0.75. Assim, a aproximao de primeira
ordem pelo mtodo da curva de reao dado:
()
Como a funo original possui uma constante de tempo positiva no numerador, para
ser feito a reduo pelo mtodo half-rule necessrio aplicar a regra T3 do artigo e fazer a
seguinte aproximao:
(21)
(22)
(23)
17
Assim, os seguintes parmetros da funo so identificados:
, e
e .
O modelo de 1 ordem pelo mtodo half-rule obtido :
()
()
d)
Observando a resposta ao degrau da funo e aplicando o procedimento da curva de
reao, determinou-se L = 2.48, T = 8.42 e K = 5. Assim, a aproximao de primeira ordem
pelo mtodo da curva de reao dado:
()
Analisando funo de transferncia original, possvel identificar os seguintes
parmetros:
, ,
. Assim, aplicando o
procedimento do mtodo half-rule de primeira ordem dados em (4), (5) e (6) obtm-se: ,
e .
O modelo de 1 ordem pelo mtodo half-rule obtido :
As figuras 2, 3 e 4 mostram, respectivamente, as respostas ao degrau, os diagramas de
Bode e os diagramas de Nyquist das funes originais da matriz 18, assim como das
aproximaes de primeira ordem pelo mtodo da curva de reao e pelo mtodo half-rule de
primeira ordem.
(24)
(25)
(26)
(27)
18
Figura 2: Respostas ao degrau das funes da matriz e aproximaes de 1 ordem
Figura 3: Diagramas de Bode das funes da matriz e aproximaes de 1 ordem
19
Figura 4: Diagramas de Nyquist das funes da matriz e aproximaes de 1 ordem
5.2 APROXIMAO DE 2 ORDEM
()
()()
a)
Os seguintes parmetros so identificados:
,
,
e .
O modelo de 2 ordem pelo mtodo half-rule obtido :
()()
()()()
b)
Os seguintes parmetros so identificados:
, e
e
(28)
20
O modelo de 2 ordem pelo mtodo half-rule obtido :
()()
()
()
()()
c)
Os seguintes parmetros da funo so identificados:
, e
e .
O modelo de 2 ordem pelo mtodo half-rule obtido :
()()
()
()
d)
Os seguintes parmetros so identificados:
, ,
e .
O modelo de 2 ordem pelo mtodo half-rule obtido :
()()
As figuras 5, 6 e 7 mostram, respectivamente, as respostas ao degrau, os diagramas de
Bode e os diagramas de Nyquist das funes originais da matriz 18, assim como da
aproximao de segunda ordem pelo mtodo half-rule.
(29)
(30)
(31)
21
Figura 5: Respostas ao degrau e aproximaes de 2 ordem
Figura 6: Diagramas de Bode das funes da matriz e aproximaes de 2 ordem
22
Figura 7: Diagramas de Nyquist das funes da matriz e aproximaes de 2 ordem
A partir da anlise das respostas ao degrau e dos diagrams de Bode e Nyquist, foi
possvel observar um resultado satisfatrio das aproximaes. De acordo com os resultados,
uma melhor aproximao foi obtida pelo mtodo da curva de reao e, ainda melhor, pelo
mtodo half-rule de segunda ordem.
23
6 MALHA FECHADA
Para este projeto, ser feito o controle da funo
da matriz de funes de
transferncia (18). Sero calculados os parmetros dos diversos controladores PID, atravs
dos mtodos de sintonia abordados at aqui, e, a realizao da anlise do sistema em malha
fechada.
6.1 PROJETO DO CONTROLADOR PID - ZN
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 1. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 8 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
Figura 8: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha efchada
(32)
24
A figura 9 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
Figura 9: Respostas a entrada senoidal da malha efchada
6.2 PROJETO DO CONTROLADOR PID CC
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 2. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 10 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
(33)
25
Figura 10: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 11 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
Figura 11: Respostas a entrada senoidal da malha fechada
26
6.3 PROJETO DO CONTROLADOR PID CHR COM SINTONIA
VOLTADA PARA PERTURBAO DE CARGA COM 0% DE
SOBRESINAL
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 3. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 12 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
Figura 12: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 13 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
(34)
27
Figura 13: Respostas a entrada senoidal da malha fechada
6.4 PROJETO DO CONTROLADOR PID CHR COM SINTONIA
VOLTADA PARA PERTURBAO DE CARGA COM 20% DE
SOBRESSINAL
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 3. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 14 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
(35)
28
Figura 14: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 15 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
Figura 15: Respostas a entrada senoidal da malha fechada
6.5 PROJETO DO CONTROLADOR PID CHR COM SINTONIA
VOLTADA PARA SINAL DE REFERNCIA COM 0% DE SOBRESINAL
29
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 4. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 16 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
Figura 16: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 17 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
(36)
30
Figura 17: Respostas a entrada senoidal da malha fechada
6.6 PROJETO DO CONTROLADOR PID CHR COM SINTONIA
VOLTADA PARA SINAL DE REFERNCIA COM 20% DE SOBRESINAL
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 4. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 18 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
(37)
31
Figura 18: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 19 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
Figura 19: Respostas a entrada senoidal da malha fechada
6.7 PROJETO DO CONTROLADOR PID MTODO DE OTIMIZAO
IAE PARA PERTURBAO DE CARGA
32
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 5. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 20 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
Figura 20: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 21 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
(38)
33
Figura 21: Respostas a entrada senoidal da malha fechada
A partir da resposta ao degrau em malha fechada, foi possvel verificar a instabilidade
do sistema, obtendo uma resposta crescente e oscilatria.
6.8 PROJETO DO CONTROLADOR PID MTODO DE OTIMIZAO
ITAE PARA PERTURBAO DE CARGA
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 5. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 22 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
(40)
34
Figura 22: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 23 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
Figura 23: Respostas a entrada senoidal da malha fechada
6.9 PROJETO DO CONTROLADOR PID MTODO DE OTIMIZAO
IAE PARA VARIAO NO SINAL DE REFERNCIA
35
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 6. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 24 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
Figura 24: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 25 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
(41)
36
Figura 25: Respostas a entrada senoidal da malha fechada
6.10 PROJETO DO CONTROLADOR PID MTODO DE OTIMIZAO
ITAE PARA VARIAO NO SINAL DE REFERNCIA
Com base no modelo de primeira ordem aproximado (19), os parmetros do
controlador podem ser determinados de acordo com a tabela 6. Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
()
A figura 26 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
(42)
37
Figura 26: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 27 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
Figura 27: Respostas a entrada senoidal da malha fechada
6.11 PROJETO DO CONTROLADOR PID SINC
Com base no modelo de segunda ordem aproximado (28), os parmetros do
controlador podem ser determinados de acordo com as equaes (17). Assim, obtm-se:
.
A partir de (10) determina-se o modelo do controlador PID:
38
()
A figura 28 mostra a resposta ao degrau, o diagrama de Bode e o diagrama de Nyquist
para o sistema em malha fechada com controle PID calculado.
Figura 28: Resposta ao degrau, diagrama de bode e diagramde de Nyquist da malha fechada
A figura 29 mostra a resposta do sistema em malha fechada para uma entrada senoidal
de amplitude unitria e frequncia correspondente a maior constante de tempo do sistema e a
menor constante de tempo do sistema, respectivamente.
Figura 29: Respostas a entrada senoidal da malha fechada
(43)
39
A partir da resposta ao degrau em malha fechada, foi possvel verificar a estabilidade
do sistema, obtendo uma resposta lenta e oscilatria dos controladores (32), (37) e (40). Os
controladores (34) e (35), obtiveram uma resposta lenta, oscilatria, estvel e sem sobressinal.
Os controladores (36) e (42), obtiveram uma resposta estvel mais rpida com pequena
oscilao. Foi verificada a instabilidade dos controladores (33) e (38), obtendo uma resposta
oscilatria e crescente. O controlador (43) foi o que obteve melhor resultado visual, com uma
resposta estvel rpida, sem oscilao e sem sobressinal. As respostas a uma entrada senoidal
mostra que, para a frequncia igual a maior constante de tempo do sistema, o sinal segue a
referncia defasada, atenuada ou amplificada. Para frequncia da senoide igual a menor
constante de tempo, as respostas dos sistemas so atenuadas para um valor muito pequeno,
pois os sistemas em malha fechada comportam-se como um filtro passa-baixa, bloqueando
assim as altas frequncias do sistema.
40
7 CLCULO DOS NDICES DE DESEMPENHO
A partir das malhas fechadas determinadas, os ndices de desempenho abordados na
seo 4 sero calculados a partir de algoritmos implementados no MATLAB, que esto no
anexo deste relatrio. Os ndices so mostrados na tabela 7.
Tabela 7 ndices de desempenho
Controlador
Margem
de Ganho
Gm (dB)
Margem de
Fase (Pm)
Ms IAE
Tempo de
Subida (s)
Tempo de
acomodao
(s)
Sobressinal
(%)
PID - ZN 1.0656 103,2717 8,6796 18,4123 1,6247 91,4876 16,7345
PID - CC -0.0544 -9,0094 158,1229 175,644 1514,8 - -
PID CHR COM SINTONIA
VOLTADA PARA PERTURBAO
DE CARGA COM 0% DE
SOBRESINAL
4.1429 102,7678 2,6364 22,4506 54,1679 98,3935 0
PID CHR Com Sintonia
voltada Para Perturbao De
Carga Com 20% De Sobresinal
2.0897 101,6673 4,682 14,7052 2,021 67,764 3,5506
PID CHR Com Sintonia
voltada Para Sinal de
Referncia Com 0% de
Sobresinal
5.2258 66,2832 2,2156 7,0328 3,2852 18,3065 0
PID CHR Com Sintonia
voltada Para Sinal de
Referncia Com 20% de
Sobresinal
2.6021 66,1147 3,8606 9,0838 1,8616 35,3356 29,2029
PID Mtodo De Otimizao
IAE Para Perturbao De Carga
-1.7125 -132,6697 4,6041 23166000000 29,5836 - -
PID Mtodo De Otimizao
ITAE Para Perturbao De
Carga
0.8058 64,3396 11,2776 23,8123 1,4167 120,3719 60,789
PID Mtodo De Otimizao
IAE Para Variao no Sinal de
Referncia
2.8291 75,5822 3,5964 8,9648 2,0684 35,9772 18,6548
PID Mtodo De Otimizao
ITAE Para Variao no Sinal de
Referncia
4.0520 75,5588 2,6845 8,1058 2,7238 28,0974 3,6828
PID SINC 8.9342 60,9396 1,6521 9,0351 7,5775 22,2146 2,7085
41
8 CONCLUSO
O artigo de Skogestad apresenta uma alternativa simples para a obteno dos
parmetros e sintonia de controladores PID. Atravs da reduo de ordem do sistema,
possvel obter boa resposta para sistemas em malha fechada com controlador.
Analisando os ndices de desempenho, possvel verificar a instabilidade dos
controladores (33) e (38) pelo valor negativo da margem de ganho e de fase. O nico
controlador que possui uma margem de ganho satisfatria ( Ms > 6 dB) o PID-SIMC, este
tambm possui a menor margem de fase, o menor pico de sensibilidade, razovel tempo de
acomodao e baixo sobressinal. Assim, em comparao aos outros controladores, o que
possui os melhores ndices de desempenho o SIMC-PID.
42
BIBLIOGRAFIA
[1] SKOGESTAD, Sigurd. Simple analytic rules for model reduction and PID controller tuning. Journal
of Process Control, 13th ed, 2003. p.291.
[2] ASTROM, Karl J. Computer Controlled Systems, Theory and Design.
43
ANEXO A CDIGOS MATLAB
%Cdigo para verificar a resposta ao degrau das funes e determinar a
%aproximao de primeira ordem pelo mtodo da curva de reao
s = tf('s');
G11 = exp(-0.8*s)*0.5*(-2*s+1)/((1.5*s+1)*(0.6*s+1)^4);
G12 = 7*exp(-s)/((3*s+1)*(1.5*s+1)*(5*s+1));
G21 = 1.5*(0.6*s+1)*exp(-3*s)/((9*s+1)^2+(5*s+1)*(0.2*s+1)^2);
G22 = 5*(-3*s+1)*exp(-0.3*s)/((2*s+1)^3);
%Respostas ao degrau das funes
figure(1)
subplot(2,2,1)
hold on
step(G11,'r')
title('Resposta ao degrau de G11')
grid
subplot(2,2,2)
step(G12,'r')
hold on
title('Resposta ao degrau de G12')
grid
subplot(2,2,3)
step(G21,'r')
hold on
title('Resposta ao degrau de G21')
grid
subplot(2,2,4)
step(G22,'r')
hold on
title('Resposta ao degrau de G22')
grid
%Cdigo para verificar as respostas ao degrau, diagrams de Bode e de
%Nyquist das funes originais e aproximadas de 1 grau
k1 = [0.5 7; 0.75 5];
teta1 = [4.22 3.13; 4.29 4.87];
tau1 = [2 12.07; 17.51 3.96];
k2 = [0.5 7; 1.5 5];
teta2 = [4.9 4; 13.9 6.3];
tau2 = [1.8 6.5; 13.5 3];
s = tf('s');
G = [exp(-0.8*s)*0.5*(-2*s+1)/((1.5*s+1)*(0.6*s+1)^4) 7*exp(-
s)/((3*s+1)*(1.5*s+1)*(5*s+1))
1.5*(0.6*s+1)*exp(-3*s)/((9*s+1)^2+(5*s+1)*(0.2*s+1)^2) 5*(-
3*s+1)*exp(-0.3*s)/((2*s+1)^3)];
n = 1;
44
for i=1:1:2
for j=1:1:2
Gapx1(i,j) = k1(i,j)*exp(-teta1(i,j)*s)/(tau1(i,j)*s+1);
Gapx2(i,j) = k2(i,j)*exp(-teta2(i,j)*s)/(tau2(i,j)*s+1);
figure(1)
subplot(2,2,n)
hold on
step(G(i,j),'r')
step(Gapx1(i,j), 'g')
step(Gapx2(i,j), 'b')
title('Resposta ao degrau')
legend({'Original','Mtodo da curva de reao', 'Mtodo Half-
Rule'})
grid
figure(2)
subplot(2,2,n)
hold on
bode(G(i,j),'r')
bode(Gapx1(i,j),'g')
bode(Gapx2(i,j), 'b')
title('Diagrama de bode do sistema real e do modelo aproximado')
legend({'Original','Mtodo da curva de reao', 'Mtodo Half-
Rule'})
grid
figure(3)
subplot(2,2,n)
hold on
nyquist(G(i,j),'r')
nyquist(Gapx1(i,j),'g')
nyquist(Gapx2(i,j), 'b')
title('Diagrama de Nyquist do sistema real e do modelo aproximado')
legend({'Original','Mtodo da curva de reao', 'Mtodo Half-
Rule'})
grid
n = n+1;
end
end
%Cdigo para verificar as respostas ao degrau, diagramas de Bode e de
%Nyquist das funes originais e aproximadas de 2 grau
k = [0.5 7; 1.5 5];
teta = [4.3 1.75; 6.9 4.3];
tau1 = [1.5 5; 9 2];
tau2 = [0.9 3.75; 11.5 3];
s = tf('s');
G = [exp(-0.8*s)*0.5*(-2*s+1)/((1.5*s+1)*(0.6*s+1)^4) 7*exp(-
s)/((3*s+1)*(1.5*s+1)*(5*s+1))
1.5*(0.6*s+1)*exp(-3*s)/((9*s+1)^2+(5*s+1)*(0.2*s+1)^2) 5*(-
3*s+1)*exp(-0.3*s)/((2*s+1)^3)];
n = 1;
for i=1:1:2
for j=1:1:2
Gapx(i,j) = k(i,j)*exp(-
teta(i,j)*s)/((tau1(i,j)*s+1)*(tau2(i,j)*s+1));
figure(1)
45
subplot(2,2,n)
hold on
step(G(i,j),'r')
step(Gapx(i,j), 'g')
title('Resposta ao degrau')
legend({'Original', 'Mtodo Half-Rule de 2 Ordem'})
grid
figure(2)
subplot(2,2,n)
hold on
bode(G(i,j),'r')
bode(Gapx(i,j),'g')
title('Diagrama de bode do sistema real e do modelo aproximado')
legend({'Original', 'Mtodo Half-Rule de 2 Orden'})
grid
figure(3)
subplot(2,2,n)
hold on
nyquist(G(i,j),'r')
nyquist(Gapx(i,j),'g')
title('Diagrama de Nyquist do sistema real e do modelo aproximado')
legend({'Original', 'Mtodo Half-Rule de 2 Ordem'})
grid
n = n+1;
end
end
%Cdigo para projeto dos controladores, anlise em malha fechada e clculo
%dos ndices de desempenho
clc
s = tf('s');
G = exp(-0.8*s)*0.5*(-2*s+1)/((1.5*s+1)*(0.6*s+1)^4);
%Parametros do Controlador PID pelo mtodo de sintonia Ziegler_Nichols
k = 1.137;
Ti = 8.44;
Td = 2.11;
%Calculo da funo do Controlador
C = k*((Ti*s + 1)/(Ti*s))*(Td*s + 1);
%Funo de transferencia de malha fechada
ftmf = (G*ss(C))/(G*ss(C)+1);
figure(1)
subplot(2,2,1)
step(ftmf)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf)
title('Diagrama de Nyquist do sistema de malha fechada')
t = 0:0.05:200;
u = sin(1/0.609*t);
u2 = sin(1/0.118*t);
figure(2)
subplot(1,2,1)
46
lsim(ftmf,'r',u,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf,'r',u2,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S1 = stepinfo(ftmf)
%Parametros do Controlador PID pelo mtodo de sintonia Cohen-Coon
k2 = 1.7796;
Ti2 = 6.4037;
Td2 = 1.1146;
%Calculo da funo do Controlador
C2 = k2*((Ti2*s + 1)/(Ti2*s))*(Td2*s + 1);
%Funo de transferencia de malha fechada
ftmf2 = (G*ss(C2))/(G*ss(C2)+1);
figure(3)
subplot(2,2,1)
step(ftmf2)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf2)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf2)
title('Diagrama de Nyquist do sistema de malha fechada')
u3 = sin(1/0.803*t);
u4 = sin(1/0.156*t);
figure(4)
subplot(1,2,1)
lsim(ftmf2,'r',u3,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf2,'r',u4,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S2 = stepinfo(ftmf2)
%Parametros do Controlador CHR 0% de sobresinal
k3 = 0.9005;
Ti3 = 10.128;
Td3 = 1.7724;
%Calculo da funo do Controlador
C3 = k3*((Ti3*s + 1)/(Ti3*s))*(Td3*s + 1);
%Funo de transferencia de malha fechada
ftmf3 = (G*ss(C3))/(G*ss(C3)+1);
figure(5)
subplot(2,2,1)
step(ftmf3)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf3)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf3)
title('Diagrama de Nyquist do sistema de malha fechada')
u5 = sin(1/0.508*t);
47
u6 = sin(1/0.099*t);
figure(6)
subplot(1,2,1)
lsim(ftmf3,'r',u5,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf3,'r',u6,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S3 = stepinfo(ftmf3)
%Parametros do Controlador CHR 20% de sobresinal
k4 = 1.1374;
Ti4 = 8.44;
Td4 = 1.7724;
%Calculo da funo do Controlador
C4 = k4*((Ti4*s + 1)/(Ti4*s))*(Td4*s + 1);
%Funo de transferencia de malha fechada
ftmf4 = (G*ss(C4))/(G*ss(C4)+1);
figure(7)
subplot(2,2,1)
step(ftmf4)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf4)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf4)
title('Diagrama de Nyquist do sistema de malha fechada')
u7 = sin(1/0.609*t);
u8 = sin(1/0.118*t);
figure(8)
subplot(1,2,1)
lsim(ftmf4,'r',u7,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf4,'r',u8,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S4 = stepinfo(ftmf4)
%Parametros do Controlador CHR 0% de sobresinal
k5 = 0.5687;
Ti5 = 2;
Td5 = 2.11;
%Calculo da funo do Controlador
C5 = k5*((Ti5*s + 1)/(Ti5*s))*(Td5*s + 1);
%Funo de transferencia de malha fechada
ftmf5 = (G*ss(C5))/(G*ss(C5)+1);
figure(9)
subplot(2,2,1)
step(ftmf5)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf5)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
48
nyquist(ftmf5)
title('Diagrama de Nyquist do sistema de malha fechada')
u9 = sin(1/2.572*t);
u10 = sin(1/0.5*t);
figure(10)
subplot(1,2,1)
lsim(ftmf5,'r',u9,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf5,'r',u10,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S5 = stepinfo(ftmf5)
%Parametros do Controlador CHR 20% de sobresinal
k6 = 0.9005;
Ti6 = 2.8;
Td6 = 1.9834;
%Calculo da funo do Controlador
C6 = k6*((Ti6*s + 1)/(Ti6*s))*(Td6*s + 1);
%Funo de transferencia de malha fechada
ftmf6 = (G*ss(C6))/(G*ss(C6)+1);
figure(11)
subplot(2,2,1)
step(ftmf6)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf6)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf6)
title('Diagrama de Nyquist do sistema de malha fechada')
u11 = sin(1/1.837*t);
u12 = sin(1/0.357*t);
figure(12)
subplot(1,2,1)
lsim(ftmf6,'r',u11,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf6,'r',u12,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S6 = stepinfo(ftmf6)
%Parametros do Controlador Lopez IAE
k7 = 1.4428;
Ti7 = 3.985;
Td7 = 2.2531;
%Calculo da funo do Controlador
C7 = k7*((Ti7*s + 1)/(Ti7*s))*(Td7*s + 1);
%Funo de transferencia de malha fechada
ftmf7 = (G*ss(C7))/(G*ss(C7)+1);
figure(13)
subplot(2,2,1)
step(ftmf7)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf7)
49
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf7)
title('Diagrama de Nyquist do sistema de malha fechada')
u13 = sin(1/1.291*t);
u14 = sin(1/0.251*t);
figure(14)
subplot(1,2,1)
lsim(ftmf7,'r',u13,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf7,'r',u14,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S7 = stepinfo(ftmf7)
%Parametros do Controlador Lopez ITAE
k8 = 1.3382;
Ti8 = 4.1213;
Td8 = 1.6018;
%Calculo da funo do Controlador
C8 = k8*((Ti8*s + 1)/(Ti8*s))*(Td8*s + 1);
%Funo de transferencia de malha fechada
ftmf8 = (G*ss(C8))/(G*ss(C8)+1);
figure(15)
subplot(2,2,1)
step(ftmf8)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf8)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf8)
title('Diagrama de Nyquist do sistema de malha fechada')
u15 = sin(1/1.248*t);
u16 = sin(1/0.243*t);
figure(16)
subplot(1,2,1)
lsim(ftmf8,'r',u15,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf8,'r',u16,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S8 = stepinfo(ftmf8)
%Parametros do Controlador Rovira IAE
k9 = 1.1352;
Ti9 = 4.2946;
Td9 = 1.3927;
%Calculo da funo do Controlador
C9 = k9*((Ti9*s + 1)/(Ti9*s))*(Td9*s + 1);
%Funo de transferencia de malha fechada
ftmf9 = (G*ss(C9))/(G*ss(C9)+1);
figure(17)
subplot(2,2,1)
step(ftmf9)
title('Resposta ao degrau do sistema de malha fechada')
grid
50
subplot(2,2,2)
bode(ftmf9)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf9)
title('Diagrama de Nyquist do sistema de malha fechada')
u17 = sin(1/1.198*t);
u18 = sin(1/0.233*t);
figure(18)
subplot(1,2,1)
lsim(ftmf9,'r',u17,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf9,'r',u18,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S9 = stepinfo(ftmf9)
%Parametros do Controlador Rovira ITAE
k10 = 1.0231;
Ti10 = 4.1167;
Td10 = 1.2326;
%Calculo da funo do Controlador
C10 = k10*((Ti10*s + 1)/(Ti10*s))*(Td10*s + 1);
%Funo de transferencia de malha fechada
ftmf10 = (G*ss(C10))/(G*ss(C10)+1);
figure(19)
subplot(2,2,1)
step(ftmf10)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf10)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf10)
title('Diagrama de Nyquist do sistema de malha fechada')
u19 = sin(1/1.249*t);
u20 = sin(1/0.243*t);
figure(20)
subplot(1,2,1)
lsim(ftmf10,'r',u19,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf10,'r',u20,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S10 = stepinfo(ftmf10)
%Parametros do Controlador SINC
k11 = 0.3488;
Ti11 = 1.5;
Td11 = 0.9;
%Calculo da funo do Controlador
C11 = k11*((Ti11*s + 1)/(Ti11*s))*(Td11*s + 1);
%Funo de transferencia de malha fechada
ftmf11 = (G*ss(C11))/(G*ss(C11)+1);
figure(21)
51
subplot(2,2,1)
step(ftmf11)
title('Resposta ao degrau do sistema de malha fechada')
grid
subplot(2,2,2)
bode(ftmf11)
grid
title('Diagrama de Bode do sistema de malha fechada')
subplot(2,2,3)
nyquist(ftmf11)
title('Diagrama de Nyquist do sistema de malha fechada')
u21 = sin(1/3.429*t);
u22 = sin(1/0.667*t);
figure(22)
subplot(1,2,1)
lsim(ftmf11,'r',u21,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
subplot(1,2,2)
lsim(ftmf11,'r',u22,t)
title('Resposta a um sinal senoidal do sistema de malha fechada')
S11 = stepinfo(ftmf11)
%Determinao de ndices de desempenho
ftma = G*ss(C);
ftma2 = G*ss(C2);
ftma3 = G*ss(C3);
ftma4 = G*ss(C4);
ftma5 = G*ss(C5);
ftma6 = G*ss(C6);
ftma7 = G*ss(C7);
ftma8 = G*ss(C8);
ftma9 = G*ss(C9);
ftma10 = G*ss(C10);
ftma11 = G*ss(C11);
[Gm1,Pm1,Wcg1,Wcp1] = margin(ftma);
[Gm2,Pm2,Wcg2,Wcp2] = margin(ftma2);
[Gm3,Pm3,Wcg3,Wcp3] = margin(ftma3);
[Gm4,Pm4,Wcg4,Wcp4] = margin(ftma4);
[Gm5,Pm5,Wcg5,Wcp5] = margin(ftma5);
[Gm6,Pm6,Wcg6,Wcp6] = margin(ftma6);
[Gm7,Pm7,Wcg7,Wcp7] = margin(ftma7);
[Gm8,Pm8,Wcg8,Wcp8] = margin(ftma8);
[Gm9,Pm9,Wcg9,Wcp9] = margin(ftma9);
[Gm10,Pm10,Wcg10,Wcp10] = margin(ftma10);
[Gm11,Pm11,Wcg11,Wcp11] = margin(ftma11);
figure(23)
bode(ftma)
grid
title('Diagrama de bode do sistema de malha aberta')
%Margem de ganho: o comportamento dinmico de um sistema pode vir a ser
%considerado satisfatrio se a margem de ganho for maior ou igual a 6dB.
Gm1,Gm2,Gm3,Gm4,Gm5,Gm6,Gm7,Gm8,Gm9,Gm10,Gm11
%Margem de ganho em dB
Gm1_db = 20*log10(Gm1)
Gm2_db = 20*log10(Gm2)
Gm3_db = 20*log10(Gm3)
Gm4_db = 20*log10(Gm4)
Gm5_db = 20*log10(Gm5)
Gm6_db = 20*log10(Gm6)
52
Gm7_db = 20*log10(Gm7)
Gm8_db = 20*log10(Gm8)
Gm9_db = 20*log10(Gm9)
Gm10_db = 20*log10(Gm10)
Gm11_db = 20*log10(Gm11)
%Margem de fase: deve ser positiva para um sistema estvel.
Pm1,Pm2,Pm3,Pm4,Pm5,Pm6,Pm7,Pm8,Pm9,Pm10,Pm11
%Pico de sensibilidade: um ndice que indica quanto os erros nas medies
%ou perturbaes em geral influenciam o processo pela realimentao. Quanto
%menor esse ndice, melhor.
S = 1/(1+ ftma);
[g,ph,w] = bode(S);
Ms1 = max(g)
S = 1/(1+ ftma2);
[g,ph,w] = bode(S);
Ms2 = max(g)
S = 1/(1+ ftma3);
[g,ph,w] = bode(S);
Ms3 = max(g)
S = 1/(1+ ftma4);
[g,ph,w] = bode(S);
Ms4 = max(g)
S = 1/(1+ ftma5);
[g,ph,w] = bode(S);
Ms5 = max(g)
S = 1/(1+ ftma6);
[g,ph,w] = bode(S);
Ms6 = max(g)
S = 1/(1+ ftma7);
[g,ph,w] = bode(S);
Ms7 = max(g)
S = 1/(1+ ftma8);
[g,ph,w] = bode(S);
Ms8 = max(g)
S = 1/(1+ ftma9);
[g,ph,w] = bode(S);
Ms9 = max(g)
S = 1/(1+ ftma10);
[g,ph,w] = bode(S);
Ms10 = max(g)
S = 1/(1+ ftma11);
[g,ph,w] = bode(S);
Ms11 = max(g)
%IAE: este parmetro indica a performance do controle do sistema,
%calculando a integral do sinal de erro, quanto menor, melhor tbm.
[y,t] = step(ftmf);
Erro = y-1;
Erro_abs = abs(Erro);
53
IAE1 = trapz(t,Erro_abs)
[y,t] = step(ftmf2);
Erro = y-1;
Erro_abs = abs(Erro);
IAE2 = trapz(t,Erro_abs)
[y,t] = step(ftmf3);
Erro = y-1;
Erro_abs = abs(Erro);
IAE3 = trapz(t,Erro_abs)
[y,t] = step(ftmf4);
Erro = y-1;
Erro_abs = abs(Erro);
IAE4 = trapz(t,Erro_abs)
[y,t] = step(ftmf5);
Erro = y-1;
Erro_abs = abs(Erro);
IAE5 = trapz(t,Erro_abs)
[y,t] = step(ftmf6);
Erro = y-1;
Erro_abs = abs(Erro);
IAE6 = trapz(t,Erro_abs)
[y,t] = step(ftmf7);
Erro = y-1;
Erro_abs = abs(Erro);
IAE7 = trapz(t,Erro_abs)
[y,t] = step(ftmf8);
Erro = y-1;
Erro_abs = abs(Erro);
IAE8 = trapz(t,Erro_abs)
[y,t] = step(ftmf9);
Erro = y-1;
Erro_abs = abs(Erro);
IAE9 = trapz(t,Erro_abs)
[y,t] = step(ftmf10);
Erro = y-1;
Erro_abs = abs(Erro);
IAE10 = trapz(t,Erro_abs)
[y,t] = step(ftmf11);
Erro = y-1;
Erro_abs = abs(Erro);
IAE11 = trapz(t,Erro_abs)