Escolar Documentos
Profissional Documentos
Cultura Documentos
MOSSORÓ - RN
2021
2
MOSSORÓ - RN
2021
3
LISTA DE FIGURAS
Figura 1 - Controlador Proporcional (P) ............................................................................... 8
Figura 2 - Resposta CP......................................................................................................... 8
Figura 3 - Controlador Proporcional Integral (PI) ................................................................. 9
Figura 4 - Respostas (PI) ...................................................................................................... 9
Figura 5 - Controlador Proporcional Derivativo (PD) ......................................................... 10
Figura 6 – Resposta Controlador PD .................................................................................. 11
Figura 7 - Controlador Proporcional Integral Derivativo (PID) ........................................... 12
Figura 8 - Resposta do Controlador PID ............................................................................. 12
Figura 9 - Configurações do Sistema de Tanques ............................................................... 13
Figura 10 - Resposta ao Degrau (Config. 1)........................................................................ 17
Figura 11 - Resposta ao Degrau (Config. 2)........................................................................ 17
Figura 12 - Sistema de Segunda Ordem (Malha Fechada) ................................................... 19
Figura 13 - Controlador PID (Ziegler-Nichols) ................................................................... 20
Figura 14 - Ajuste no Controlador PID ............................................................................... 21
Figura 15 - PID Discreto – Tensão ..................................................................................... 22
Figura 16 - PID Convencional (2ª Ordem) .......................................................................... 22
Figura 17 - PID Escalonado de 1ª Ordem ........................................................................... 23
Figura 18 - PID Escalonado de 2ª Ordem ........................................................................... 23
Figura 19 - Erros ................................................................................................................ 24
4
LISTA DE TABELAS
Tabela 1 - Especificações do Fabricante ............................................................................. 15
Tabela 2 - Tabela de Sintonia de Ziegler-Nichols baseada na resposta ao degrau da planta . 16
Tabela 3 – Ganhos .............................................................................................................. 18
Tabela 4 – Setpoints ........................................................................................................... 19
Tabela 5 – Setpoints em tempo discreto .............................................................................. 20
Tabela 6 - Erros .................................................................................................................. 24
5
SUMÁRIO
1. INTRODUÇÃO ............................................................................................................ 6
2. OBJETIVO................................................................................................................... 7
3. FUNDAMENTAÇÃO TEÓRICA ............................................................................... 7
4. METODOLOGIA ......................................................................................................... 12
4.1 Modelagem do Sistema de Tanques Acoplados ...................................................... 12
5. RESULTADOS E DISCUSSÕES ................................................................................. 18
5.1 PID Convencional .................................................................................................... 22
5.2 PID Escalonado ........................................................................................................ 23
6. CONCLUSÃO ............................................................................................................... 24
REFERÊNCIAS ................................................................................................................ 25
ANEXOS ........................................................................................................................... 26
6
1. INTRODUÇÃO
Nos últimos tempos, o emprego do controle digital a sistemas industriais vem crescendo
em um ritmo bem acelerado. Diante disso, o controlador PID (Proporcional, Integral e
Derivativo) ganhou destaque na indústria, devido à sua capacidade de proporcionar tanto uma
melhoria na otimização dos sistemas, quanto um controle mais fiel. Conforme Franklin (2013),
os primeiros engenheiros descobriram a ação de controle integral como forma de eliminar o
erro em regime permanente. Entretanto, encontravam, em muitos casos, uma resposta dinâmica
pobre; assim, um termo de “antecipação” baseado na derivada foi adicionado.
A união dos três modos básicos (modo proporcional, integral e derivativo) de controle
contínuo produz um dos mais eficientes algoritmos de controle já desenvolvidos, o controlador
PID, pois ele concilia simplicidade e atendimento às necessidades de controle para a maioria
dos casos industriais. Contudo, a maneira como ocorre esta combinação pode variar
significativamente, repercutindo em alteração no algoritmo dos controladores PID de
diferentes fabricantes (RHINEHART, 1999).
A utilidade dos controles PID está na sua aplicabilidade geral à maioria dos sistemas de
controle. Em particular, quando o modelo matemático da planta não é conhecido e, portanto,
métodos de projeto analítico não podem ser utilizados, controles PID se mostram os mais úteis.
Na área dos sistemas de controle de processos, sabe-se que os esquemas básicos de controle
PID e os controles PID modificados provaram sua utilidade conferindo um controle satisfatório
(OGATA, 2010).
7
Dessa forma, de acordo com Dorf e Bishop (2009) é de grande contribuição científica
à sociedade os resultados das aplicações na engenharia dos sistemas de controle digital. Como
consequência disso tem-se a obtenção de produtos, máquinas, operações e processos,
fornecendo produtos úteis e econômicos.
2. OBJETIVO
3. FUNDAMENTAÇÃO TEÓRICA
Dessa forma podemos ver alguns conceitos e podemos citar o de controle, que é toda
ação que tem a capacidade de se fazer com que um sistema físico atenda as especificações de
desempenho de determinadas a priori, já o de controlador vem atrelado aos equipamentos que
tem a utilidade de obter um controle sobre um sistema físico e por fim uma relação entre os
conceitos anteriores, que podemos definir de sistema de controle, que é um conjunto formado
pelo sistema a ser controlado e o controlador (MENEGHETTI, 2007).
Outro ponto bastante importante é o controlador proporcional + integral (PI) onde temos
que a ação integral pode ser correspondida a uma taxa de variação do sinal de saída em relação
a entrada, assim tal processo beneficia na resposta em que o regime permanente está inserido,
onde se tem uma tendência de eliminar o erro estacionário que se tem, entretanto é visto em
algumas teorias que tal sistema mostrado é prejudicial ao regime transitório pois se é
9
Contudo é importante salientar que controladores (PI) se tem uma tendência onde
corresponde a soma de ações proporcionais com integrais, melhorando assim a resposta
transitória com contribuição da ação proporcional, e em relação a ação integral é visto que a
mesma corrige o erro de estado estacionário (MENEGHETTI, 2007).
Assim, as ações que se referem a esse controlador estão relacionadas com as seguintes
equações:
1 𝑡 (2)
𝑢(𝑡) = 𝐾𝑝(𝑒(𝑡) + ∫ 𝐸 (𝑡) 𝑑𝑡)
𝑡𝑖 0
(𝐾𝑝 𝑠 + 𝐾𝑖) (3)
𝑈 (𝑠 ) = 𝐸(𝑠)
𝑠
O modelo desse sistema é descrito da seguinte forma:
4. METODOLOGIA
são montados de forma que o fluxo de saída do primeiro tanque flui para dentro do segundo
tanque, e o fluxo de saída do segundo tanque flui para dentro do reservatório (Quanser, 2004).
O Sistema de Tanques fornece informações da planta, para que possa ser modelada de
acordo com a configuração escolhida. Na configuração 1, de acordo com Meneghetti (2007), a
vazão fornecida pela bomba, que é acionada por um motor DC, é diretamente proporcional a
tensão que alimenta este motor. Nesta configuração, toda a vazão da bomba passa apenas para
o tanque 1, sendo assim, esta vazão é chamada de vazão de entrada (𝐹1 𝑖𝑛 ) do tanque 1. A
relação entre a tensão de alimentação da bomba (𝑉𝑝 ) e a vazão de entrada no tanque 1 é dada
pela Equação 7:
𝐹1 𝑖𝑛 = 𝐾𝑚 𝑉𝑝 (7)
A velocidade com que o líquido escoa pelo orifício de saída do tanque 1, é dada pela
equação de Bernoulli para pequenos orifícios (com relação ao escoamento de água):
′
𝑉′ (11)
𝐿 = → 𝑉 ′ = 𝐿′ 𝐴
𝐴
Portanto, a taxa de variação do nível do tanque 1 (𝐿′1 ) é dada pela Equação 12:
𝑎1 𝐾𝑚 (12)
𝐿′1 = − [ √2𝑔] √𝐿1 + 𝑉
𝐴 𝐴 𝑝
Onde 𝐾𝑚 é a constante de fluxo, 𝐴 é a área de secção transversal do tanque 𝐴1 = 𝐴2 =
𝐴, 𝑉𝑝 é a tensão aplicada à bomba e, 𝑎1 é a área do orifício de saída do primeiro tanque.
Para o modelo de segunda ordem, toda a vazão da bomba passa apenas para o tanque 1.
Por sua vez, o liquido transportado até o tanque 1 flui, sob o efeito da gravidade, pelo seu
orifício de saída chegando até o tanque 2, de onde conclui-se que a vazão de entrada do tanque
2 é exatamente a vazão de saída do tanque 1 (MENEGHETTI, 2007):
A vazão de saída do tanque 2, de forma análoga ao que foi determinado para o tanque
1, pode ser dada por:
𝑎2 𝑎1 (15)
𝐿′2 = − [ √2𝑔] √𝐿2 + [ √2𝑔] √𝐿1
𝐴 𝐴
Como visto anteriormente, Onde 𝐾𝑚 é a constante de fluxo, 𝐴 é a área de secção
transversal do tanque 𝐴1 = 𝐴2 = 𝐴, 𝑉𝑝 é a tensão aplicada à bomba e, 𝑎1 e 𝑎2 são as áreas dos
orifícios de saída do primeiro e do segundo tanque. Nesse caso, para a realização da
15
𝐿1 0,0264 (19)
=
𝑉𝑝 𝑠 + 0,0656
resposta transitória de dada planta. Essa determinação dos parâmetros dos controladores PID
ou de sintonia dos controladores PID pode ser feita por engenheiros de campo, por meio de
experimentos com a planta (OGATA, 2010). Nesse caso, existem dois tipos de métodos para
determinar os parâmetros, que são denominados regras de sintonia de Ziegler-Nichols, no qual
será utilizado o primeiro método. Assim, pode-se obter de forma experimental a resposta da
planta em degrau unitário.
Conforme Ogata (2010), se a planta não possui integradores ou polos complexos
conjugados dominantes, então essa curva de resposta ao degrau unitário pode ter o aspecto de
um S. Esse método se aplica se a curva de resposta ao degrau de entrada tiver o aspecto de um
S. Essa curva de resposta ao degrau pode ser gerada experimentalmente ou a partir de uma
simulação dinâmica da planta. A curva com o formato em S pode ser caracterizada por duas
constantes, o atraso L e a constante de tempo T. Ziegler e Nichols sugeriram escolher os valores
de 𝐾𝑝 , 𝑇𝑖 e 𝑇𝑑 de acordo com a fórmula que aparece na Tabela 2.
Tabela 2 - Tabela de Sintonia de Ziegler-Nichols baseada na resposta ao degrau da planta
Tabela 3 – Ganhos
Configuração 𝐾𝑝 𝐾𝑖 𝐾𝑑
1 54 38,57 18,9
2 28 6,4 30,3
Fonte: Autores (2021)
𝑁 (21)
1
𝐸𝑄𝑀 = ∑ 𝑒 2 (𝑘)
𝑁
𝑘=1
Caso seja necessária uma implantação real, torna-se essencial a utilização das equações
em tempo discreto do nível, dadas através das equações diferenciais discretizadas pelo método
de ordem zero, mostradas nas Equações 22 e 23:
5. RESULTADOS E DISCUSSÕES
Tabela 4 – Setpoints
6. CONCLUSÃO
A Figura 19 ilustra os erros para os sistemas de primeira e segunda ordem para os dois
tipos de controlador PID (convencional e escalonado). É possível observar que os dois
compensadores obtiveram um desempenho razoável, todavia, o PID escalonado apresentou
uma melhor resposta do sistema, visto que seu erro necessita de menos interações para ser
sanado.
Tabela 6 - Erros
Figura 19 - Erros
REFERÊNCIAS
DORF, R. C.; BISHOP, R. H. Sistemas de controle modernos. 12a. Edição, Editora LTC,
2009.
OGATA, K. Engenharia de Controle Moderno. 5ª Ed. São Paulo: Pearson Prentice Hall,
2010.
RHINEHART, R. R. Control Modes – PID Variations. In: LIPTÁK, B. G. (Edit.) Instrument
Engineers’ Handbook: Process Control. 3ª ed. Boca Raton: CRC (1999).
ANEXOS
Códigos – MATLAB
% - Inserindo as variáveis -
num=[0 0 0.2964];
den=[0 1 0.0656];
% - Comando de resposta ao degrau -
step (num, den)
% - Inserir grade e título do gráfico -
grid
title('Resposta ao Degrau Unitário de Gc(s)=0.2964/(s+0.0656)')
xlabel('Tempo (s)')
ylabel('Nível do Tanque (cm)')
% - Inserindo as variáveis -
num=[0 0 0.01945];
den=[1 0.1312 0.0043];
% - Comando de resposta ao degrau -
step (num, den)
% - Inserir grade e título do gráfico -
grid
title('Resposta ao Degrau Unitário de Gc(s)=0.01945/(s²+0.1312s+0.0043)')
xlabel('Tempo (s)')
ylabel('Nível do Tanque (cm)')
VMAX=15;
ymax=30;
mse =0;
for k = 2:1:4000
L1(k)=0.9935*L1(k-1)+0.02955*Vbomba(k-1);
L = 0.7; T = 31.6;
kp = (1.2*(T/L))*1;
ti = 2*L;
ki = (kp/ti)*1;
td = 0.5*L;
kd = kp*td*1;
if k<1000
setPoint = 6;
end
if (k >= 1000) && (k<2000)
setPoint = 12;
end
if (k >= 2000) && (k<3000)
setPoint = 18;
end
27
if (k >= 3000)
setPoint = 24;
end
setPoints(k)=setPoint;
erro(k) = setPoint - L1(k);
somaerro = erro(k-1) + erro(k);
mse = mse+erro(k)^2;
Vbomba(k) = kp*erro(k)+ki*somaerro+kd*(erro(k)-erro(k-1));
if (Vbomba(k) > VMAX)
Vbomba(k) = VMAX;
elseif (Vbomba(k) < 0)
Vbomba(k) = 0;
end
Vbomba(k)= round(Vbomba(k));
t(k) = k;
end
plot(t,L1,'linewidth',2,'DisplayName','Nivel do tanque 1');
hold on
plot(t,Vbomba,'DisplayName','Tensão na Bomba');
plot(t,setPoints,'linewidth',2,'DisplayName','Setpoint');
title('PID Convencional – 1ª Ordem');
xlabel('Tempo discreto');
ylabel('Nível');
grid on
legend
MSE=mse/k
L = 0.7; T = 31.6;
kp = (1.2*(T/L));
ti = 2*L;
ki = (kp/ti);
td = 0.5*L;
kd = kp*td;
mse =0;
for k = 2:1:4000
L1(k)=0.9935*L1(k-1)+0.02955*Vbomba(k-1);
L = 3; T = 45;
kp = (1.2*(T/L));
ti = 2*L;
ki = (kp/ti);
td = 0.5*L;
kd = kp*td*1.9;
if k<1000
setPoint = 6;
kp = kp*1;
ki = ki*1.1;
kd = kd*1.1;
end
if (k >= 1000) && (k<2000)
setPoint = 12;
28
kp = kp*0.9;
ki = ki*1;
kd = kd*1;
end
if (k >= 2000) && (k<3000)
setPoint = 18;
kp = kp*1;
ki = ki*1.5;
kd = kd*1.3;
end
if (k >= 3000)
setPoint = 24;
kp = kp*1.3
ki = ki*1.5
kd = kd*1.1
end
setPoints(k)=setPoint;
erro(k) = setPoint - L1(k);
somaerro = erro(k-1) + erro(k);
Vbomba(k) = kp*erro(k)+ki*somaerro+kd*(erro(k)-erro(k-1));
mse =mse+erro(k)^2;
%Limita tensão da bomba
if (Vbomba(k) > VMAX)
Vbomba(k) = VMAX;
elseif (Vbomba(k) < 0)
Vbomba(k) = 0;
end
Vbomba(k)= round(Vbomba(k));
t(k) = k;
end
plot(t,L1,'linewidth',2,'DisplayName','Nivel do tanque 1');
hold on
plot(t,Vbomba,'DisplayName','Tensão na Bomba');
plot(t,setPoints,'linewidth',2,'DisplayName','Setpoint');
title('PID Escalonado – Primeira Ordem');
xlabel('Tempo discreto');
ylabel('Nível');
grid on
legend
MSE=mse/k
[yfecha,tfechad] = step(feedback(G,1));
figure(6)
plot(yfecha,'linewidth',2);
title('Nível x Tempo – Sistema em M.F');
xlabel('Tempo');
ylabel('Nível');
grid on
T0 = 0;
Tf = 120;
Np = 4000;
t = linspace(T0,Tf,Np);
29
setpoint = [];
for k = 0:0.03:119.97
if k<30
setpoint = [setpoint,ones(size(k))*6];
end
if (k >= 30) && (k<60)
setpoint =[setpoint, ones(size(k))*12];
end
if (k >= 60) && (k<90)
setpoint =[setpoint, ones(size(k))*18];
end
if (k >= 90)
setpoint =[setpoint, ones(size(k))*24];
end
end
L = 3; T = 45;
%determinação de kp,kd e ki.
kp = (1.2*(T/L));
ti = 2*L;
ki = (kp/ti);
td = 0.5*L;
kd = kp*td;
pid = tf([kd kp ki],[1 0]);
y = lsim((feedback(pid*G,1)),setpoint,t);
figure(3)
plot(t,y,'linewidth',2,'DisplayName','Nivel do tanque 2'), hold on
plot(t,setpoint,'linewidth',2,'DisplayName','Set point');
title('PID por Ziegler-Nichols');
xlabel('Tempo');
ylabel('Nível');
grid on
legend
% determinação de kp,kd e ki.
kp = (1.2*(T/L));
ti = 2*L;
ki = (kp/ti);
td = 0.5*L;
kd = kp*td*1.9;
pid = tf([kd kp ki],[1 0]);
y = lsim((feedback(pid*G,1)),setpoint,t);
figure(4)
plot(t,y,'linewidth',2,'DisplayName','Nivel do tanque 2'), hold on
plot(t,setpoint,'linewidth',2,'DisplayName','Set point');
title('PID por Ziegler-Nichols - Ajuste');
xlabel('Tempo');
ylabel('Nível');
grid on
Vbomba(1)=15;
L1(1)=0;
L2(1)=0;
30
VMAX=15;
ymax=30;
mse =0;
for k = 2:1:4000
%L1 Tanque 1 e L2 tanque2
L1(k)=0.9935*L1(k-1)+0.02955*Vbomba(k-1);
L2(k)=0.9935*L2(k-1)+0.006522*L1(k-1);
L = 2.17; T = 50;
kp = (1.2*(T/L))*2;
ti = 2*L;
ki = (kp/ti)*2;
td = 0.5*L;
kd = kp*td*30;
if k<1000
setPoint = 6;
end
if (k >= 1000) && (k<2000)
setPoint = 12;
end
if (k >= 2000) && (k<3000)
setPoint = 18;
end
if (k >= 3000)
setPoint = 24;
end
setPoints(k)=setPoint;
erro(k) = setPoint - L2(k);
somaerro = erro(k-1) + erro(k);
mse=mse+erro(k)^2;
Vbomba(k) = kp*erro(k)+ki*somaerro+kd*(erro(k)-erro(k-1));
%Limita tensão da bomba
if (Vbomba(k) > VMAX)
Vbomba(k) = VMAX;
elseif (Vbomba(k) < 0)
Vbomba(k) = 0;
end
%transforma tensão para inteiro
Vbomba(k)= round(Vbomba(k));
t(k) = k;
end
plot(t,L2,'linewidth',2,'DisplayName','Nivel do tanque 2');
hold on
plot(t,Vbomba,'DisplayName','Tensão na Bomba');
plot(t,setPoints,'linewidth',2,'DisplayName','Setpoint');
title('PID Discreto, Tensão na bomba (2ª Ordem)');
xlabel('Tempo discreto');
ylabel('Nível');
grid on
legend
MSE = mse/k
clc
Vbomba(1)=15;
L1(1)=0;
L2(1)=0;
VMAX=15;
ymax=30;
L = 3;
T = 50;
kp = (1.2*(T/L));
ti = 2*L; ki = (kp/ti);
td = 0.5*L;
kd = kp*td;
mse =0;
for k = 2:1:4000
%L1 Tanque 1 e L2 tanque2
L1(k)=0.9935*L1(k-1)+0.02955*Vbomba(k-1);
L2(k)=0.9935*L2(k-1)+0.00652*L1(k-1);
L = 3;
T = 50;
kp = (1.2*(T/L));
ti = 2*L;
ki = (kp/ti);
td = 0.5*L;
kd = kp*td*1.9;
if k<1000
setPoint = 6;
kp = kp*0.5;
ki = ki*1.3;
kd = kd*15;
end
if (k >= 1000) && (k<2000)
setPoint = 12;
kp = kp*0.6;
ki = ki*1.5;
kd = kd*10;
end
if (k >= 2000) && (k<3000)
setPoint = 18;
kp = kp*1.4;
ki = ki*1.1;
kd = kd*20;
end
if (k >= 3000)
setPoint = 24;
kp = kp*1.3
ki = ki*1.1
kd = kd*30
end
setPoints(k)=setPoint;
erro(k) = setPoint - L2(k);
%soma o erro
somaerro = erro(k-1) + erro(k);
% atualiza tensao na bomba
Vbomba(k) = kp*erro(k)+ki*somaerro+kd*(erro(k)-erro(k-1));
%MSE
mse =mse+erro(k)^2;
%Limita tensão da bomba
if (Vbomba(k) > VMAX)
Vbomba(k) = VMAX;
elseif (Vbomba(k) < 0)
Vbomba(k) = 0;
end
32