Você está na página 1de 21

Arthur S.

Czech - 17104142

March 21, 2022

1 Sistema de Controle (EMB5641)


1.1 2ª Etapa do Trabalho Técnico

2 Planta gerada a partir da matrícula


A primeria etapa do trabalho consistiu em utilizar o Programa Gerador de Plantas (PGP), disponi-
bilizado pelo professor, para gerar uma planta de controle e obter a sua resposta ao degrau. A
resposta obtida foi a seguinte:
[5]: pkg load image;
imshow('malha_aberta.png');

1
3 Função de transferência
A partir da resposta obtida, concluiu-se que o a planta trata-se de um sistema de 2ª ordem sub-
amortecido, e utilizando as equações de tempo de acomodação Ts = ζω4n , e tempo de subida
Tr = √π 2 , ζ e ωn foram obtidos. Ts e Tr obtidos da resposta do sistema ao degrau foram
ωn 1−ζ
de aproximadamente 1,205 segundos e 0,475 segundos, respectivamente. Os valores de ζ e ωn
calculados foram ζ = 0, 44856 e ωn = 7, 40035.
A resposta obtida também mostrou que o sistema converge para o valor de 3, portanto, o valor de
K é igual a 3. Desta forma, a função de transferência do sistema em malha aberta é:
164, 295
G(s) =
s2 + 6, 395s + 54, 765

O bloco abaixo mostra a resposta ao degrau da função de transferência G(s). Observa-se que a
resposta é aproximadamente a mesma da obtida no (PGP).

[6]: pkg load control;

K = 3;
wn = 7.400352;
zeta = 0.44856;

G = tf([(K*(wn^2))], [1 2*zeta*wn wn^2])


step(G)

Transfer function 'G' from input 'u1' to output …

164.3
y1: ---------------------
s^2 + 6.639 s + 54.77

Continuous-time model.

2
4 Controlador do tipo Kp ∗ (s + a) e faixa de valores de Kp
A partir da função de transferência G(s) obtida, foi proposto ao aluno que encotrasse um controlador
do tipo C(s) = Kp (s + a) em malha fechada. A nova função de transferência do sistema em malha
fechada tem o seguinte formato (o subíndice mf denota a malha fechada):

G(s)C(s)
Gmf (s) =
1 + G(s)C(s)

Kωn2 Kp (s + a)
Gmf (s) =
(s2 + 2ζωn s + ωn2 ) + Kωn2 Kp (s + a)

Kωn2 Kp (s + a)
Gmf (s) =
s2 + s(2ζωn + Kωn2 Kp ) + ωn2 (1 + KKp a)

3
Com a função de transferência Gmf (s) na forma padrão de um sistema de 2ª ordem, é possível
encontrar os valores de correspondentes a 2ζmf ωnmf e ωn2 mf , que são (2ζωn + Kωn2 Kp ) e ωn2 (1 +
KKp a) respectivamente.
O primeiro requisito abordado foi o de precisão, que dita que o erro em estado estacionário ao
degrau deveria ser menor do que 0,05. O erro em estado estacionário ao degrau para um sistema
de 2ª ordem é: essdegrau = lims→0 s 1s 1+C(s)G(s)
1 1
= ω2 +Kω 2K a.
p
n n

Isolando a, para essdegrau = 0, 05, obtêm-se que para atender ao requisito de precisão

ωn2 − 20
a< (1)
Kωn2 Kp

Outro ponto abordado foi a velocidade de resposta, e para isso foi estipulado que o tempo de
acomodação Tsmf < T2s . O valor encontrado para Ts foi de aproximadamente 1,205 segundos,
portanto Tsmf deve ter um valor de no máximo de 0,6025 segundos. Sabendo que Tsmf = ζmf ω4n ,
mf
e que 2ζmf ωnmf = (2ζωn + Kωn2 Kp ), isolou-se Kp para que este requisito fosse atendido

8 1
Kp = ( − 2ζωn ) (2)
Tsmf Kωn2

O requisito de estabilidade do sistema também foi estudado, e para que o sistema seja estável em
malha fechada, Gmf (s) deve ter a parte real de seus polos menores que zero. Para verificar este
requisito, o Critério de Estabilidade de Routh foi utilizado. Será demonstrado abaixo:

Kωn2 Kp (s + a)
Gmf (s) =
s2 + s(2ζωn + Kωn2 Kp ) + ωn2 (1 + KKp a)

(s2 , s0 ) 1 ωn2 (1 + KKp a)


s1 2
(2ζωn + Kωn Kp ) 0
s0 f1
2 K )∗ω 2 (1+KK a)−1∗0
(2ζωn +Kωn
f1 = p n
(2ζωn +Kωn 2K )
p
p
—-> f1 = ωn2 (1 + KKp a)
Para que não exista mudança de sinal, e consequentemente nenhum polo positivo
−1
a> (3)
KKp

Para que o requisito de sobressinal, que não deveria ultrapassar 25%, fosse atendido, foi necessário
encontrar o valor de ζmf que atendesse esta necessidade. O sobressinal é definido por:
−πζmf

1−ζ 2
mf
Pss = 100e (4)

Portanto, o valor máximo de ζmf deve ser de 0,403712, para que o sobressinal não ultrapasse de
25%. Sabe-se também, que:
2ζωn + KKp ωn
ζmf = p (5)
2ωn 1 + KKp a

4
Manipulando a equação com o fim de obter Kp , obtêm-se:
q
ζmf 2 1 + ωnω−20
2
2
n
Kp = (6)
K

As simulações demonstraram que, apesar de todos os requisitos serem alcançáveis, estes não podem
ser atingidos ao mesmo tempo. Os requisitos de tempo de acomodação e de sobressinal, espe-
cialmente, não ocorrem ao mesmo tempo. Isto se dá pela forma como o valor do ganho Kp foi
equacionado, com um valor para atender o requisito de tempo de acomodação e outro para atender
o requisito de sobressinal. A partir destas equações de Kp , notasse que a equação (2), que supre
o requisito de tempo de acomodação, é sempre menor que a equação (6), que supre o requisito de
sobressinal, pois na equação (2), o denominador é igual a Kωn2 , enquanto que na equação (6) o
denominador é igual a K.
As simulações demonstraram que, para que o requisito de tempo de acomodação seja alcançado, o
valor de Kp deve ser menor que o demonstrado pela equação (2), e para que o requisito de sobressinal
seja alcançado, Kp deve ser maior que o demonstrado pela equação (6), e como foi apresentado
acima, a equação (2) é sempre menor que a equação (6). As simulações também demonstraram
que quando Kp usa o valor da equação (2), o valor de sobressinal é igual a 25,567%, e quando Kp
assume o valor da equação (6), o tempo de acomodação do sistema é de 1,047 segundos. Analisando
estes resultados, percebe-se que quando se utiliza a equação (2), o sobressinal não é atendido por
apenas 0,567%, enquanto que quando a equação (6) é utilizada, o tempo de acomodação em malha
fechada é cerca de 13% menor que o tempo de acomodação em malha aberta, porém este valor
deveria ser no mínimo 50% menor. Com estes fatores em vista, decidiu-se utilizar a equação (2)
como valor máximo de Kp , visto que apesar de não atingir o requisito de sobressinal, este não é
extrapolado de maneira absurda.
Portanto, o intervalo de valores para Kp e a, presumindo apenas valores pertencentes ao conjunto
dos números reais maiores que zero, é:

8 1
0 < Kp < ( − 2ζωn )
Tsmf Kωn2

ωn2 − 20
0<a<
Kωn2 Kp

Abaixo, as simulações utilizadas para determinar o intervalo de valores de Kp e a:

[7]: %% Simulação utilizando Kp com a equacao (2)

Ts = 4/(zeta*wn);

Ts_mf = Ts/2

Kp = (8/Ts_mf -2*zeta*wn)/(K*wn^2);

a = (wn^2 - 20)/(K*Kp*wn^2);

5
zeta_mf = (2*zeta*wn + K*wn*Kp)/(2*wn*sqrt(1 + K*Kp*a));

wn_mf = wn*sqrt(1 + K*Kp*a);

PSS = 100*exp((-zeta_mf*pi)/(sqrt(1 - zeta_mf^2)))

Gmf = tf([Kp*K*wn^2 Kp*a*K*wn^2], [1 (2*zeta*wn + Kp*K*wn^2) (1 + K*Kp*a)*wn^2])


step(Gmf)
pole(Gmf)

Ts_mf = 0.60250
PSS = 25.567

Transfer function 'Gmf' from input 'u1' to output …

6.639 s + 34.77
y1: ---------------------
s^2 + 13.28 s + 89.53

Continuous-time model.
ans =

-6.6390 + 6.7420i
-6.6390 - 6.7420i

6
[4]: %% Simulação utilizando Kp com a equacao (6)

Ts = 4/(zeta*wn);

Kp = (0.403721*2*sqrt(1 + (wn^2 - 20)/wn^2) - 2*zeta)/K;

a = (wn^2 - 20)/(K*Kp*wn^2);

zeta_mf = (2*zeta*wn + K*wn*Kp)/(2*wn*sqrt(1 + K*Kp*a));

wn_mf = wn*sqrt(1 + K*Kp*a);

Ts_mf = 4/(zeta_mf*wn_mf)

PSS = 100*exp((-zeta_mf*pi)/(sqrt(1 - zeta_mf^2)))

Gmf = tf([Kp*K*wn^2 Kp*a*K*wn^2], [1 (2*zeta*wn + Kp*K*wn^2) (1 + K*Kp*a)*wn^2])


step(Gmf)
pole(Gmf)

Ts_mf = 1.0471

7
PSS = 24.999

Transfer function 'Gmf' from input 'u1' to output …

7.408 s + 34.77
y1: ---------------------
s^2 + 14.05 s + 89.53

Continuous-time model.
ans =

-7.0236 + 6.3403i
-7.0236 - 6.3403i

5 Controlador C(s) = Kp
Quando este controlador é adicionado ao sistema, a função de transferência em malha fechada é
igual a:
164, 295 ∗ Kp
Gmf (s) = 2
s + 6, 395s + 54, 765

8
Desta forma, o Diagrama de lugar das raízes para este sistema é demonstrado abaixo:
[8]: rlocus(G)

Ao analisar apenas o diagrama de lugar das raízes, é possível observar que o sistema não possui
nenhum zero, pois os polos tendem ao infinito em busca dos zeros, formando uma assíntota vertical.

6 Comparação entre os Diagramas de Bode


O Diagrama de Bode produzido pelo PGP é demonstrado abaixo:
[9]: imshow('diagrama_bode_geraplanta.png')

9
Diagramas de Bode de sistemas de segunda ordem são caracterizados por partirem do módulo de
ganho estático do sistema em dB. Isto pode ser confirmado calculando o ganho estático do sistema
em dB, a partir da equação
KdB = 20log10 K
Substituíndo K para o valor gerado no PGP, que é igual a 3, KdB = 9, 542. Portanto, é evidente
que o sitema gerado pelo PGP é de fato, um sistema de segunda ordem. Abaixo, é apresentado o
diagrama de Bode para a função de transferência obtida a partir dos resultados do PGP:
[10]: bode(G)

10
Ao serem analizados de forma conjunta, é possível observar que os diagramas são extremamente
similares, com o pico de ressonância surgindo no mesmo local nos dois diagramas. É possível
concluir que a função de transferência obtida a partir dos dados gerados pelo PGP foi extremamente
próxima da planta original.

7 Função de Transferência a partir do Diagrama de Bode


[11]: imshow('diagrama_bode_geraplanta.png')

11
Analizando o diagrama gerado no PGP é possível observar que o ganho estático da planta é de
aproximadamente 10dB. A partir deste valor, obtêm-se o valor linear do ganho estático com a
seguinte equação:
KdB
K = 10 20

O resultado é de aproximadamente K = 3, 162. Na sequência, o pico de ressonância foi analizado. É


sabido que este pico é característico de sistemas de segunda ordem subamortecidos. Este pico ocorre
na frequência de aproximadamente 4 rad s . Portanto, utilizado a imagem mostrada na sequência, o
valor de ζ foi definido como 0,5.
[12]: imshow('zeta.png')

12
O valor de ωn pode ser obtida a partir da equação da frequência de ressonância, que quando isolada
para ωn é:
ωr
ωn = p
1 − 2ζ 2
Substituindo os valores:
4 rad
ωn = p = 5.656
1 − 2(0.5)2 s
A partir destes valores, é possível escrever a função de transferência:
101, 153
Gbode (s) =
s2 + 5.656s + 31, 991

A seguir, a função obtida no início deste trabalho:


164, 295
G(s) =
s2 + 6, 395s + 54, 765

Analizando as duas funções de maneira conjunta, é possível concluir que, apesar de terem sido
empregados métodos diferentes para suas analises, os resultados obtidos foram similares.

13
8 Margens de fase e ganho do sistema
[13]: margin(G)

Utilizando a função margin(), é possível observar uma margem de fase de 33,9541° na frequência
de 13,8219 rad
s . Não existe margem de ganho neste sistema pois não há nenhum valor de ganho
que o torne instável em malha fechada.

9 Resposta ao degrau unitário em malha aberta com o Contro-


lador PID
[14]: imshow('deg_uni_maberta.png')

14
Ao analisar o gráfico gerado no PGP nota-se que em malha aberta, a resposta é um sistema
sobreamortecido, diferente do obtido nas análises anteriores. Porém, a convergência do sistema
continua sendo em 3.

10 Valores de K, T e L
Os valores de K, T e L que devem ser encontrados representam respectivamente, o valor de con-
vergência, o valor de tempo em que a reta tangente ao ponto de inflexão e a reta do valor de
convergência se encontram, e o valor de tempo em que a reta tangente ao ponto de inflexão e o
eixo temporal se encontram. Tais valores foram obtidos com o código a seguir:
[15]: degAb = csvread('dados_malhaAb.csv');
degAb_tempo = degAb(:, 1);
degAb_resposta = degAb(:, 2);
K = degAb(end);
inflexao = lookup(gradient(gradient(degAb_resposta)), 0);
tangente = ((degAb_resposta(inflexao + 1) - degAb_resposta(inflexao - 1))/
,→(degAb_tempo(inflexao + 1) - degAb_tempo(inflexao - 1))) * (degAb_tempo -␣

,→degAb_tempo(inflexao)) + degAb_resposta(inflexao);

L = degAb_tempo(lookup(tangente, 0));
T = degAb_tempo(lookup(tangente, 6)) - L;

15
hold on
grid();
plot(degAb_tempo, degAb_resposta, color='b', "linewidth", 6);
plot(degAb_tempo, tangente, color='y', "linewidth", 6, "linestyle", '-');
plot([0 2.5], [K K], color='g', "linewidth", 6, "linestyle", '-');
plot(degAb_tempo(inflexao), degAb_resposta(inflexao), '.m', 'MarkerSize', 20)
ylim([0 6.1]);
hold off
K
T
L

K = 2.9828
T = 1.0187
L = 0.083730

16
11 Ganhos do controlador PID pelo primeiro método de sintonia
de Ziegler-Nichols
O formato do controlador PID utilizado foi:
 
1
GP ID (s) = Kp 1 + + Td s
Ti s

Onde Kp , Ti e Td são dados pelas seguintes equações:

T
Kp =
KL
Ti = 2L
Td = 0, 5L
Portanto, o controlador foi implementado em código:
[16]: Kp_1 = 1.2*T/(K*L)
Ti_1 = 2*L;
Td_1 = 0.5*L;

Ki_1 = Kp_1/Ti_1
Kd_1 = Kp_1*Td_1

G_pid1 = tf([Kp_1*Ti_1*Td_1 Kp_1*Ti_1 Kp_1],[Ti_1 0])

Kp_1 = 4.8948
Ki_1 = 29.230
Kd_1 = 0.20492

Transfer function 'G_pid1' from input 'u1' to output …

0.03432 s^2 + 0.8197 s + 4.895


y1: ------------------------------
0.1675 s

Continuous-time model.

[17]: imshow('malha_fechada_PID.png');

17
Utilizando o primeiro método de Ziegler-Nichols, é possível observar que o sistema tende a convergir
após um determinado período de tempo, pois é notável a diminuição da amplitude na oscilação.

12 Kcr e Pcr pelo segundo método de Ziegler-Nichols


Para que o segundo método de Ziegler-Nichols pudesse ser aplicado, os ganhos Ki e Kd foram
zerados, e o valor de Kp foi escolhido até que o sistema entrasse em oscilação. O valor encon-
trado para Kcr foi de aproximadamente 4,8. Pcr é o período desta oscilação, e teve um valor de
aproximadamente 0,3 segundos.
[18]: imshow('segundo_metodo_zignic.png')

18
Com os valores de Kcr e Pcr obtidos, as seguintes equações foram utilizadas para implementar o
controlador PID:
Kp = 0, 6Kcr
Pcr
Ti =
2
Td = 0, 125Pcr
Então o controlador foi implementado em código:
[19]: Kcr = 4.8;
Pcr = 0.3;
Kp_2 = 0.6*Kcr
Ti_2 = Pcr/2;
Td_2 = 0.125*Pcr;

Ki_2 = Kp_2/Ti_2
Kd_2 = Kp_2*Td_2

G_pid2 = tf([Kp_2*Ti_2*Td_2 Kp_2*Ti_2 Kp_2],[Ti_2 0])

Kp_2 = 2.8800
Ki_2 = 19.200

19
Kd_2 = 0.10800

Transfer function 'G_pid2' from input 'u1' to output …

0.0162 s^2 + 0.432 s + 2.88


y1: ---------------------------
0.15 s

Continuous-time model.

13 Comparação entre os controladores


Para analizar os controladores obtidos até o momento, é preciso vizualizar a resposta ao degrau do
controlador obtido pelo segundo método de Ziegler-Nichols:
[20]: imshow('segundo_metodo_zignic_pid.png')

[21]: step(Gmf)

20
O controlador obtido pelo primeiro méodo de Ziegler-Nichols pode ser descartado como uma opção
neste projeto por apresentar um sobressinal e tempo de acomodação muito elevados quando com-
parado com os outros controladores desenvolvidos para a planta deste trabalho. No controlador
obtido pelo segundo método de Ziegler-Nichols, quando comparado ao primeiro controlador obtido,
o do tipo C(s) = Kp (s+a), o tempo de acomodação é maior, assim como a oscilação e o sobressinal.
Entretanto, o controlador obtido pelo segundo método de Ziegler-Nichols converge para um valor
mais próximo da referência, que é o degrau unitário. Já o do tipo C(s) = Kp (s + a) converge para
aproximadamente 0,4. Isto deve ser levado em consideração no momento de escolha de contro-
lador para o projeto da planta em questão, além de outros fatores, como tempo de acomodação e
sobressinal, por exemplo.

21

Você também pode gostar