Você está na página 1de 25

Curso de Engenharia Elétrica – Controle e Automação

PROJETO DE CONTROLADOR PID


(Disciplina de Controle e Automação)

Aluno: Kevin Augusto Teixeira de Almeida RA: C69GEJ-2


29 de Setembro de 2019

Controle e Automação 1/3


15
Curso de Engenharia Elétrica – Controle e Automação

Introdução

Os sistemas de controle são um conjunto de equipamentos (atuadores,


atenuadores, sensores etc) responsáveis por manter o controle de um sistema físico.
Cada um desses sistemas possui características de entrada e saída, por exemplo, para um
ar-condicionado, o usuário deseja atingir uma certa temperatura, para tal, o equipamento
mede a temperatura atual (entrada) e começa a aumenta-la de acordo com o desejado
(saída) e isso é feito por um sistema de controle dentro do ar-condicionado, que a
relaciona saída/entrada com o intuito de atingir a resposta desejada (temperatura) nesta
situação hipotética. A relação exemplifica saída/entrada é chamada de função de
transferência, que é uma relação que mostra todos os parâmetros de um sistema e
permite que ele seja alterado com o intuito de obter a melhor resposta do sistema ou a
melhor resposta que satisfaça as condições de projeto.
Um dos tipos de controle disponível é o proporcional-integral-derivativo, com
ele é possível alterar as saídas do sistema mechando nos polos e zeros da função de
transferência. Com o controle proporcional é possível alterar o ganho do sistema, tal
que, é possível alterar as condições de atuação do sistema (tempo de subida, máximo
sobressinal etc), o controlador integral age eliminando o erro do sistema e o derivativo
atua na estabilização do sistema.
Abaixo serão mostrados dados de um controle P, I, PID de um sistema
hipotético.

Controle e Automação 2/3


15
Curso de Engenharia Elétrica – Controle e Automação

Dados do Sistema
Neste trabalho iremos utilizar o MatLab para projetar controladores para um
sistema hipotético e analisar as suas saídas.
Função de transferência do sistema:

1
2
s + 5 s+ 6

Condições de projeto:

 Máximo sobressinal de ≤10%

 Tempo de subida de ≤ 10

Resposta do Sistema a entrada degrau e o lugar das raízes (sem os


controladores)

Figura 01. Lugar Geométrico das Raízes

Controle e Automação 3/3


15
Curso de Engenharia Elétrica – Controle e Automação

Figura 02. Resposta do sistema com entrada degrau.

*Código para obter os gráficos de resposta degrau e o LGR:

>> num = 1;
>> den = [1 5 6];
>> t = 0:0.01:20;
>> [y, x,t] = step(num,den,t);
>> plot(t,y)
>> grid
>> xlabel('t sec')
>> ylabel('Output')
>> rlocus(num, den)

Cálculo dos Parâmetros do Sistema


Para atingir as condições de projeto é necessário calcular o valor de
amortecimento pela equação de máximo sobressinal:

−πξ
Mp ≤ e √1−ξ ²

Pelas condições de projeto, o valor de amortecimento ξ ≅ 0,59

Controle e Automação 4/3


15
Curso de Engenharia Elétrica – Controle e Automação

Pelo critério dos 2%, o ts é dado por:


4
Ts ≤
ξωn

Dando um valor de ωn=0,4

Para determinar os valores dos controlador PID, será plotado o gráfico do lugar
das raízes e os valores de Kp, Ki, Kd serão dados pela ponto da reta que toca o gráfico
do lugar das raízes. Essa reta é dada por:

X (t) = αt com t variando de (0 a -12)

Onde,

β=cos−1 ( ξ ), β ≅ 53,84 °
α =tan−1 ( β) ,α ≅ 1,37

Logo, a reta que dirá os valores que satisfazem o projeto é:

X (t) = 1,37 t com t variando de (0 a -12)

Controle e Automação 5/3


15
Curso de Engenharia Elétrica – Controle e Automação

Controle Proporcional

O controle proporcional que será montado não irá acrescentar polos ou zeros, ele
irá apenas acrescentar um ganho que irá movimentar os polos da função de transferência
para que as condições de projeto sejam atendidas. Fazendo o LGR (lugar geométrico
das raízes) no matlab (figura 3) e acrescentando a reta obtida anteriormente, é possível
determinar o valor de Kp.

Figura 3. LGR e reta X(t).

Apenas olhando não é possível determinar o valor de Kp, mas com o seguinte
código no MatLab o Kp é calculado.
*Código para calcular o valor de Kp:
Parte 01 Parte 02 Parte 03
>> num = 1; >> [Kp,pol] = rlocfind(num,den) >> sisma = tf(Kp*num, den)
>> den = [1 5 6] Select a point in the graphics sisma =
>> printsys(num, den) window 11.95
>> rlocus(num, den), hold selected_point = -------------
Current plot held -2.5000 + 3.4212i s^2 + 5 s + 6
>> alfa = acos(0.59); Kp = Continuous-time transfer
>> a = tan(alfa); 11.9545 function.
>> im = 0:0.1:12; pol = >> sismf = feedback(sisma, 1)
>> re=-1/a*im; -2.5000 + 3.4212i sismf =
>> plot(re,im) -2.5000 - 3.4212i 11.95
>> zoom -----------------
>> plot(re,im) s^2 + 5 s + 17.95
Continuous-time transfer
function.

Controle e Automação 6/3


15
Curso de Engenharia Elétrica – Controle e Automação

O código mostrado acima determinou o valor de Kp e ainda forneceu a função


de transferência de malha aberta e de malha fechada.

Kp ≅ 11,95

11,95
FT ( malha aberta )=
s ²+5 s +6

11,95
FT ( malha fechada )=
s ²+5 s+17,95
Abaixo o gráfico do novo lugar das raízes, o de resposta degrau e o de
comparação com o sistema sem controle.

Figura 04. Lugar das raízes com o controlador proporcional.

É possível notar visualmente que os polos da função de transferência do sistema


foram movidos para o ponto desejado pelos requisitos de projeto, que é aquela reta que
foi mostrada no início deste trabalho.

Controle e Automação 7/3


15
Curso de Engenharia Elétrica – Controle e Automação

Figura 05. Resposta degrau do sistema com o controlador proporcional.

Figura 06. Comparativos entres as respostas degrau do sistema não controlado e do


sistema controlado.

Controle e Automação 8/3


15
Curso de Engenharia Elétrica – Controle e Automação

Apesar do sistema controlado atingir as especificações de projeto MP, ts etc, ele


gera um erro na resposta com entrada degrau, como é possível observar na figura 6.
Esse erro pode ser calculado por:
1
ess=lim ⁡ s G ( s )
s→ 0 s

Figura 07. Diagrama de blocos em malha fechada com controlador P.

*Código para encontrar os gráficos de lugar das raízes, entrada degrau e


comparação:
>> num = 11.95;
>> den = [1 5 17.95];
>> rlocus(num,den)
>> t = 0:0.01:20;
>> [y,x,t]=step(num,den,t);
>> plot(t,y), hold
Current plot held
>> xlabel('t Sec')
>> ylabel('Output')
>> num = 1;
>> den = [1 5 6];
>> [y,x,t] = step(num,den,t);
>> plot(t,y)

Controle e Automação 9/3


15
Curso de Engenharia Elétrica – Controle e Automação

Controle Integral

O controle integral diferente do proporcional acrescenta um polo ao sistema


aumentando a ordem deste sistema. A vantagem do controlador integral é que ele zera o
erro do sistema, mas limita o ganho e aumenta o tempo de estabilização do sistema, pois
ao aumentar o ganho o sistema se torna mais oscilatório e tende a se tornar um sistema
instável.

Figura 08. LGR para sistema com controle integral.


Como dito acima o controlador proporcional acrescenta um polo na origem do
sistema, contudo, se o ganho aumentar um pouco o sistema se torna instável.

Figura 09. Resposta degrau com controle integral.

Controle e Automação 10/


31
Curso de Engenharia Elétrica – Controle e Automação

*Código para gerar os gráficos e calcular o valor de Ki:


>> G = zpk([],[-2 -3],1);
>> rltool(G)
>> C
C=
4.1516
------
s
Name: C
Continuous-time zero/pole/gain model.
>> pid(C)
ans =
1
Ki * ---
s
with Ki = 4.15
Name: C
Continuous-time I-only controller.

Assim:
4,15
Gc ( s )=
s

4,15
FT ( malha aberta )=
s +5 s 2+ 6 s
3

4,15
FT ( malha fechada )= 3 2
s +5 s +6 s +4,15

Figura 10. Sistema de malha fechada com controlador integral.

Controle e Automação 11/


31
Curso de Engenharia Elétrica – Controle e Automação

Abaixo é mostrado o gráfico que mostra o que acontece na saída do sistema ao


aumentar o ganho.

Figura 11. Aumento de ganho em controlador proporcional.


Para um pequeno aumento no valor de ganho o sistema aumentou muito suas
oscilações, se continuar aumentando o ganho o sistema irá para a instabilidade.

Controle e Automação 12/


31
Curso de Engenharia Elétrica – Controle e Automação

Controle Proporcional Integral

O controlador proporcional integral junta as vantagens dos dois controles ele


diminui o tempo de estabilização e zera o erro do sistema. Assim, o controle
proporcional muda os polos do sistema de lugar e o integral acrescenta um polo ao
sistema.

Figura 12. LGR com controlador PI.

O LGR do controlador PI é parecido com o do controlador integral, mas foi


acrescentado um zero, permitindo que o ganho possa ser maior que o do controlador
integral, sem que o sistema se torne instável.

Controle e Automação 13/


31
Curso de Engenharia Elétrica – Controle e Automação

Figura 13. Resposta degrau do sistema com controlador PI.


O tempo de estabilização do controle PI em relação ao proporcional diminuiu
quase pela metade, comparando as respostas dos dois.

Assim:
Gc ( s )=¿ ¿

Kp = 11,8
Ki = 16,6
*Código para gerar o controlador PI:
>> G = zpk([],[-2 -3],1) Name: C
G= Continuous-time zero/pole/gain model.
1 >> pid(C)
----------- ans =
(s+2) (s+3) 1
Continuous-time zero/pole/gain model. Kp + Ki * ---
>> rltool(G) s
>> C with Kp = 11.8, Ki = 16.6
C = 11.769 (s+1.414) Name: C
---------------- Continuous-time PI controller in parallel
s form.

Controle e Automação 14/


31
Curso de Engenharia Elétrica – Controle e Automação

Figura 14. Sistema de malha fechada do controlador PI.

Controle e Automação 15/


31
Curso de Engenharia Elétrica – Controle e Automação

Controle P x I x PI

As vantagens entre cada um dos sistemas já foram ditas anteriormente, nesta


parte do trabalho será feita uma análise da resposta degrau de cada um dos controles e
mostradas suas vantagens.

Figura 15. Comparação das entradas para cada um dos controles.

Na figura acima tem-se a resposta degrau do sistema com os seguintes controles


(P, I, PI e PID), é claramente notável que existe vantagem teórica em se utilizar um
controle PID em um sistema de primeira ordem, pois a diferença entre as saídas do PI e
do PID existem, contudo o controle PI já atinge as condições do projeto, mas com o
desempenho transitório do PID é melhor pois possui ação derivativa.
Além disso, pode notar-se pelos gráficos que o controle proporcional possui um
erro grande em relação aos outros controladores e o integral demora um tempo muito
grande para estabilizar o sistema. Logo, para o projeto proposto neste trabalho o melhor
controle é o PI.

Controle e Automação 16/


31
Curso de Engenharia Elétrica – Controle e Automação

Controle Proporcional Integral por Ziegler-Nichols

Nesta seção será utilizado o Simulink para e o método de sintonia de Ziegler-


Nichols para montar um controlador PI.

Tipo do Controlador Kp Ti Td
P 0,5Kcr Infinito 0
PI 0,45Kcr Pcr/1,2 0
PID 0,6Kcr 0,5Pcr 0,125Pcr

Para o sistema proposto neste trabalho, foram utilizados valores de ganho K


entre 1 e 5000 no simulink para que o sistema ficasse em oscilação constante, no
entanto, para os valores de K testados o sistema não entrou em oscilação permanente
no formato senoidal, assim, não foi possível determinar os parâmetros do controlador
pelo método de Ziegler Nichols.

Figura 16. Ganho de valor 100 no simulink.

Controle e Automação 17/


31
Curso de Engenharia Elétrica – Controle e Automação

Figura 17. Valor do ganho que gerou a saída da figura 16.

Figura 18. Saída para ganho K de 5000.

Controle e Automação 18/


31
Curso de Engenharia Elétrica – Controle e Automação

Figura 19. Valor do ganho K utilizado na figura 18.

Como não foi possível determinar por Ziegler Nichols, foi utilizado o método de
tune do MatLab e por ele foi possível gerar um controlador PID e um PI que serão
mostrados abaixo.

Figura 20. Controlador PI.

Controle e Automação 19/


31
Curso de Engenharia Elétrica – Controle e Automação

Figura 21. Resposta com o controlador PI.

A resposta acima foi obtida com o tune do simulink, ele ajustou os valores de P
e I, ou Kp e Ki, respectivamente. Os valores foram P= 10,61 e I = 15. A função Gc(s)
do controladodor é dada por:

Controle e Automação 20/


31
Curso de Engenharia Elétrica – Controle e Automação

Para o controlador PID feito pelo tune do simulink, os dados foram, P=58,18;
I=96,78; D= 6,918 e N=19,77.

Figura 21. Resposta com o controle PID feito pelo tune do simulink.

Figura 22. Sistema de malha fechada com o controle PID.

A função de controlador PID é dada por Gc(s):

Controle e Automação 21/


31
Curso de Engenharia Elétrica – Controle e Automação

Conclusão

Neste trabalho foram feitos vários controladores e analisadas as suas


características, foi possível mostrar que teoricamente o PID é melhor para um sistema
de primeira ordem, contudo, a simplicidade e a facilidade de fazer um controle PI (em
relação ao PID), pode torna-lo mais vantajoso.
Também foi possível notar as ações dos controladores nas respostas do sistema e
provar a teoria estudada em sala de aula, mostrando o aumento do erro em um
compensador proporcional, a eliminação e o aumento no tempo de estabilidade de um
compensador integral e a limitação nos valores de ganho, a diminuição do tempo de
estabilidade do compensador derivativo e a ação dos três compensadores (PID) em um
sistema.
A análise das saídas em relação ao aumento do ganho, a alocação de polos e
zeros na função de transferência e os seus efeitos, tudo isso facilitando o entendimento
do comportamento das funções e dos controladores através da visualização por
software.
No fim, como dito anteriormente, para o sistema apresentado neste trabalho o
melhor controlador foi o proporcional-integral.

Controle e Automação 22/


31
Curso de Engenharia Elétrica – Controle e Automação

Apêndice
Código completo utilizado no MatLab

>> num = 1;
>> den = [1 5 6];
>> t = 0:0.01:20;
>> [y, x,t] = step(num,den,t);
>> plot(t,y)
>> grid
>> xlabel('t sec')
>> ylabel('Output')
>> rlocus(num, den)
>> num = 1;
>> den = [1 5 6]
>> printsys(num, den)
>> rlocus(num, den), hold
Current plot held
>> alfa = acos(0.59);
>> a = tan(alfa);
>> im = 0:0.1:12;
>> re=-1/a*im;
>> plot(re,im)
>> zoom
>> plot(re,im)
>> [Kp,pol] = rlocfind(num,den)
Select a point in the graphics window
selected_point =
-2.5000 + 3.4212i
Kp =
11.9545
pol =
-2.5000 + 3.4212i
-2.5000 - 3.4212i

Controle e Automação 23/


31
Curso de Engenharia Elétrica – Controle e Automação

>> sisma = tf(Kp*num, den)


sisma =
11.95
-------------
s^2 + 5 s + 6
Continuous-time transfer function.
>> sismf = feedback(sisma, 1)
sismf =
11.95
-----------------
s^2 + 5 s + 17.95
Continuous-time transfer function.
>> num = 11.95;
>> den = [1 5 17.95];
>> rlocus(num,den)
>> t = 0:0.01:20;
>> [y,x,t]=step(num,den,t);
>> plot(t,y), hold
Current plot held
>> xlabel('t Sec')
>> ylabel('Output')
>> num = 1;
>> den = [1 5 6];
>> [y,x,t] = step(num,den,t);
>> plot(t,y)
>> G = zpk([],[-2 -3],1);
>> rltool(G)
>> C
C=
4.1516
------
s
Name: C
Continuous-time zero/pole/gain model.

Controle e Automação 24/


31
Curso de Engenharia Elétrica – Controle e Automação

>> pid(C)
ans =
1
Ki * ---
s
with Ki = 4.15
Name: C
Continuous-time I-only controller.
>> G = zpk([],[-2 -3],1)
G=
1
-----------
(s+2) (s+3)
Continuous-time zero/pole/gain model.
>> rltool(G)
>> C
C = 11.769 (s+1.414)
----------------
s

Continuous-time zero/pole/gain model.


>> pid(C)
ans =
1
Kp + Ki * ---
s
with Kp = 11.8, Ki = 16.6
Name: C
Continuous-time PI controller in parallel form.

Controle e Automação 25/


31

Você também pode gostar