Você está na página 1de 32

1

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO


CENTRO DE ENGENHARIAS
BACHARELADO EM ENGENHARIA ELÉTRICA

CONTROLE DE SISTEMA DE TANQUES ACOPLADOS DA QUANSER (1ª E 2ª


CONFIGURAÇÃO) UTILIZANDO UM CONTROLADOR PID

PÂMELLA GRANGEIRO ANDRADE

SAVIO RAGGY MENEZES DE SOUZA

MOSSORÓ - RN

2021
2

PÂMELLA GRANGEIRO ANDRADE

SAVIO RAGGY MENEZES DE SOUZA

CONTROLE DE SISTEMA DE TANQUES ACOPLADOS DA QUANSER (1ª E 2ª


CONFIGURAÇÃO) UTILIZANDO UM CONTROLADOR PID

Relatório apresentado como


requisito à obtenção da nota da III Unidade
da Disciplina de Controle Digital,
obrigatória ao curso de Bacharelado em
Engenharia Elétrica, ministrada pelo Prof.
Dr. Marcelo Roberto Bastos Guerra Vale.

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.

O projeto de um controlador PID compõe-se em escolher de forma apropriada os


parâmetros 𝐾𝑝 (constante proporcional), 𝐾𝑖 (constante integral) e 𝐾𝑑 (constante derivativa). De
acordo com Muniz (2017), o controlador proporcional de ganho 𝐾𝑝 tem o efeito de reduzir o
tempo de resposta, quando comparado a um controle simples do tipo ligado-desligado, e irá
também reduzir, mas nunca eliminar, o erro de estado estacionário. O controlador integral
(ganho 𝐾𝑖 ) irá eliminar completamente o erro de estado estacionário, mas poderá tornar a
resposta do sistema mais lenta e aumentar o overshoot numa resposta transiente, e o controlador
derivativo (ganho 𝐾𝑑 ) é tipicamente utilizado para aumentar a agilidade (diminuir um pouco o
tempo de resposta) e a estabilidade do sistema, reduzindo o overshoot na resposta transiente,
mas tender a ser problemático em sistemas com sensores com algo nível de ruído, devido a
sensibilidade da derivada nestes casos.

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

Este trabalho tem o objetivo de abordar o desenvolvimento de dois sistemas


controlados, cada um com sua configuração. A primeira configuração possui dois tanques, que
funcionará da seguinte forma: a bomba alimentará um tanque 1, com o intuito de controlar o
seu nível (𝐿1 ), sem utilizar o segundo tanque. Já segunda configuração utilizará os dois tanques.
Assim, a bomba alimentará o tanque 1, que por sua vez, alimentará o tanque 2, ou seja, o
objetivo é controlar o nível do tanque 2 (𝐿2 ), sendo as duas configurações controladas através
de um controlador PID.

3. FUNDAMENTAÇÃO TEÓRICA

Controladores PID são algoritmos bastante utilizados no meio industrial, assim é


notório que sua utilização vem em um crescente alta seja pela sua praticidade em várias
plataformas comerciais como também, tais processos são de alta confiabilidade seja pelo seu
fácil entendimento em relação aos seus algoritmos ou pela relação de desenvoltura de
resultados satisfatórios durante os processos que são submetidos (FACCIN, 2004).

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).

Assim é possível entender um pouco melhor sobre os conceitos citados anteriormente,


com isso podemos desembraçar alguns conceitos mais a fundo tirando como base os
controladores PID, o primeiro caso vem a ser o controle proporcional (P), seu conceito se refere
ao ganho proporcional (K) que é a relação de entrada e saída de um compensador, controladores
desse modelo não acrescentam nem polos nem zeros ao sistema e assim é um representativo
do ajuste no seu ganho principal, tal modelo é muito limitado, melhorando o regime e piorando
o transitório (MENEGHETTI, 2007).
8

Logo, pode-se expressar o controlador proporcional da seguinte forma:


𝑈 (𝑠) = 𝐾𝐸(𝑠) (1)

Onde um controlador desse tipo é ilustrado na Figura 1:


Figura 1 - Controlador Proporcional (P)

Fonte: MADEIRA (2014)

Dessa forma, observa-se a resposta do Controlador Proporcional em um sistema de


malha fechada, dada pela Figura 2.
Figura 2 - Resposta CP

Fonte: Muniz (2017)

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

adicionado polos ao processo e tendendo assim a uma desestabilização e aumentando dessa


forma o tempo de acomodação (MENEGHETTI, 2007).

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:

Figura 3 - Controlador Proporcional Integral (PI)

Fonte: MADEIRA (2014)

De forma similar ao sistema anterior pode-se observar também as respostas desse


controlador em um sistema, com valores aleatórios:
Figura 4 - Respostas (PI)

Fonte: MANOEL (2000)


10

Dando continuidade podemos falar um pouco sobre o controlador proporcional +


Derivativo (PD), analisando algumas teorias podemos ver que um sistema de controlador
totalmente derivativo não é viável em pratica, porém com o acréscimo do proporcional ao
sistema é visto o acréscimo de um zero ao sistema, e assim beneficia o regime transitório e
aumentando a estabilidade relativa do sistema e dessa forma reduzindo o tempo de
acomodação, apesar das vantagens enunciadas anteriormente podemos ver que esse sistema
possui algumas desvantagens como por exemplo por não atua em regime permanente ele não
corrige o erro de estado estacionário (MENEGHETTI, 2007).

Esses sistemas de controladores digitais podem ser definidos por:


𝑑 (4)
𝑢(𝑡) = 𝐾𝑝 (𝑒(𝑡) + 𝑇𝑑 ) 𝑒(𝑡)
𝑑𝑡
𝑢(𝑠) = (𝐾𝑝 + 𝐾𝑑𝑠)𝐸(𝑠) (5)

Seu modelo definido:

Figura 5 - Controlador Proporcional Derivativo (PD)

Fonte: MENEGHETTI (2007)


11

E sua resposta ao sistema mostrada na Figura 6:


Figura 6 – Resposta Controlador PD

Fonte: Muniz (2017)


Em sequência podemos ver os controladores do tipo PID, onde o mesmo tem ações
proporcionais, integrais e derivativas atuando assim em todas as ações tanto em regime
transitório como no permanente (OGATA, 2010).

Suas definições estão em conjunto com os controladores que foram enunciados


anteriormente, portanto, pode ser definida da seguinte forma:

𝑈 (𝑠) (𝐾𝑑 𝑠 2 + 𝐾𝑝 𝑠 + 𝐾𝑖 ) (6)


=
𝐸(𝑠) 𝑠
Como mostrado anteriormente tanto nas equações como no modelo de controlador, o
PID é uma junção dos controladores (MADEIRA, 2016).
12

Dessa forma, poderá ser definido como:

Figura 7 - Controlador Proporcional Integral Derivativo (PID)

Fonte: MADEIRA (2016)

A resposta do controlador PID é ilustrada na Figura 8.


Figura 8 - Resposta do Controlador PID

Fonte: MUNIZ (2017)

4. METODOLOGIA

4.1 Modelagem do Sistema de Tanques Acoplados

O Sistema de Dois Tanques da Quanser é um protótipo de simulação de processos, usa


dois tanques interligados em cascata. O fluxo contínuo é regulado por uma bomba e não tem
válvulas de controle. A água é bombeada para um ou para os dois tanques, conforme a
configuração feita, por meio de tubos com dimensão especifica. Os dois tanques deste sistema
13

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).

As configurações assumidas para o sistema foram 1 e 2, ilustradas na Figura 1. Logo,


na primeira (sistema SISO), a bomba alimentará um tanque 1, com o intuito de controlar o seu
nível (𝐿1 ), sem utilizar o segundo tanque. Na segunda (SISO com estados acoplados), tem-se
que a bomba alimenta o tanque 1 (𝐿1 ), que por sua vez alimenta o tanque 2 (𝐿2 ), ou seja, o
tanque 2 é alimentado pelo fluxo de saída do tanque 1. Dessa forma, o objetivo é controlar o
nível do tanque 2 (𝐿2 ).

Figura 9 - Configurações do Sistema de Tanques

Fonte: 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):

𝑣𝑜𝑢𝑡 = √2𝑔𝐿1 (8)


14

Onde g é a aceleração da gravidade em [𝑐𝑚/𝑠²] e 𝐿1 é o nível de água no tanque 1 em


[𝑐𝑚]. Assim, a vazão de saída do tanque 1 pode ser dada por:

𝐹1 𝑜𝑢𝑡 = 𝑎1 𝑣𝑜𝑢𝑡 = 𝑎1 √2𝑔𝐿1 (9)

Onde 𝑎1 é a área do orifício de saída do tanque 1 em [𝑐𝑚²]. Desse modo, podemos


definir a variação volumétrica como:

𝐹1 𝑖𝑛 − 𝐹1 𝑜𝑢𝑡 = 𝑉 ′ = 𝐾𝑚 𝑉𝑝 − 𝑎1 √2𝑔𝐿1 (10)

Para achar a variação do nível, utilizaremos a Equação 11:


𝑉′ (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):

𝐹2 𝑖𝑛 = 𝐹1 𝑜𝑢𝑡 = 𝑎1 𝑣𝑜𝑢𝑡 = 𝑎1 𝑣𝑜𝑢𝑡 = 𝑎1 √2𝑔𝐿1 (13)

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 𝑜𝑢𝑡 = 𝑎2 √2𝑔𝐿2 (14)

Onde 𝑎2 é a área do orifício de saída do tanque 2 em [𝑐𝑚²]. A taxa de variação do nível


do tanque 2 (𝐿′2 ), é 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

modelagem, alguns parâmetros foram adotados de acordo com as especificações do fabricante,


de acordo com a Tabela 1:

Tabela 1 - Especificações do Fabricante

Variável Valor Unidade


𝐴 15,5179 𝑐𝑚²
𝑎1 = 𝑎2 0,178139 𝑐𝑚²
𝐿10 = 𝐿20 15 𝑐𝑚
𝐾𝑚 4,6 (𝑐𝑚3 /𝑠)/𝑉
𝑔 981 𝑐𝑚2 /𝑠
𝑉𝑝 15 𝑉

Fonte: QUANSER (ano).

Substituindo os parâmetros na Equação 6, para o sistema da primeira configuração,


tem-se que:

𝐿′1 = −0.0656𝐿1 + 0,2964𝑉𝑝 (16)

Para a segunda configuração:

𝐿′1 = −0.0656𝐿1 + 0,2964𝑉𝑝 (17)


𝐿′2 = −0.0656𝐿2 + 0.0656𝐿1 (18)
Dessa forma, aplicando a transformada de Laplace nas Equações 10 e 12, obtém-se as
funções de transferência do sistema (de malha aberta), para a configuração 1 (Eq. 19) e 2 (Eq.
20), de acordo com as especificações do fabricante.

𝐿1 0,0264 (19)
=
𝑉𝑝 𝑠 + 0,0656

𝐿2 0,01945 0,01945 (20)


= =
𝑉𝑝 (𝑠 + 0,0656)² 𝑠² + 0.1312𝑠 + 0.0043
Ziegler e Nichols propuseram regras para a determinação de valores do ganho
proporcional 𝐾𝑝 , do tempo integral 𝑇𝑖 e do tempo derivativo 𝑇𝑑 baseadas nas características da
16

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

Fonte: OGATA (ano).

Para a primeira e a segunda configuração, a partir da obtenção da função de


transferência, foi possível obter através do software MATLAB a resposta em degrau unitário
de cada uma das configurações, ilustradas nas Figuras 10 e 11, a primeira e a segunda
configuração, respectivamente.
17

Figura 10 - Resposta ao Degrau (Config. 1)

Fonte: Autores (MATLAB)

Figura 11 - Resposta ao Degrau (Config. 2)

Fonte: Autores (MATLAB)


A curva com o formato em S pode ser caracterizada por duas constantes, o atraso L e a
constante de tempo T, onde para a primeira configuração, 𝐿 = 0,7; 𝑇 = 32.3 − 0,7 = 31,6 e
para a segunda configuração, 𝐿 = 2,17; 𝑇 = 52,7 − 2,17 = 50,5. Diante disso, a partir da
utilização das fórmulas presentes na Tabela 2, os valores obtidos para o ganho proporcional
𝐾𝑝 , integral 𝐾𝑖 e derivativo 𝐾𝑑 serão expostas na Tabela 3, de acordo com cada configuração.
18

Tabela 3 – Ganhos

Configuração 𝐾𝑝 𝐾𝑖 𝐾𝑑
1 54 38,57 18,9
2 28 6,4 30,3
Fonte: Autores (2021)

As funções de transferências obtidas nas Equações 19 e 20 são referentes ao nível da


água de cada configuração. Por conseguinte, para avaliar o desempenho do sistema, pode-se
utilizar o erro médio quadrático, dado pela Equação 21:

𝑁 (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:

𝐿1 (𝑘) = 0.9935𝐿1 (𝑘 − 1) + 0.02955𝑉𝑝 (𝑘 − 1) (22)


𝐿2 (𝑘) = 0.9935𝐿2 (𝑘 − 1) + 0.0652𝐿1 (𝑘 − 1) (23)

5. RESULTADOS E DISCUSSÕES

Após a finalização da modelagem, é necessário realizar alguns testes com a finalidade


de verificar a eficácia/desempenho do controle PID desenvolvido. O controle do sistema de
tanques acoplados foi realizado através de dois métodos, como solicitado, sendo o PID simples,
e o PID escalonado. No tópico anterior, as Figuras 10 e 11 apresentam a resposta ao degrau do
sistema de primeira e segunda ordem, com finalidade de obter as variáveis necessárias para o
cálculo dos ganhos. A Figura 12 ilustra a resposta ao degrau unitário de malha fechada do
sistema de segunda ordem sem a presença do controlador, mostrando que, como não atinge o
valor de referência (nesse caso, 1), necessita da presença de um compensador.
19

Figura 12 - Sistema de Segunda Ordem (Malha Fechada)

Fonte: Autores (MATLAB)

Em seguida, realizou-se a simulação para o controlador PID convencional para os


sistemas, onde o ganho (proporcional, integral e derivativo) foram obtidos através do primeiro
método de Ziegler-Nichols, baseada na resposta ao degrau da planta, de acordo com as Tabelas
2 e 3. Em seguida, como solicitado, quatro setpoints foram escolhidos e simulados, levando em
consideração cada região com 30 segundos, da forma mostrada na Tabela 4.

Tabela 4 – Setpoints

𝐿1 𝑒 𝐿2 (𝑐𝑚) 𝑇𝑒𝑚𝑝𝑜 (𝑠)


6 0 − 30
12 30 − 60
18 60 − 90
24 90 − 120

Fonte: Autores (2021)


20

Tabela 5 – Setpoints em tempo discreto

𝐿2 (𝑐𝑚) 𝑇𝑒𝑚𝑝𝑜 (𝑠)


6 0 − 1000
12 1000 − 2000
18 2000 − 3000
24 3000 − 4000

Fonte: Autores (2021)

Figura 13 - Controlador PID (Ziegler-Nichols)

Fonte: Autores (MATLAB)

Na Figura 13, obteve-se o controlador PID através do método de Ziegler-Nichols. Como


pode ser visto, há uma oscilação considerável no sistema, ou seja, um alto overshoot. Desse
modo, para reduzir o overshoot, é necessário procurar por soluções que atuem na estabilidade
do sistema. Assim, realizou-se um ajuste nos ganhos obtidos, ilustrada pela Figura 14.
21

Figura 14 - Ajuste no Controlador PID

Fonte: Autores (MATLAB)

A diante, faz-se necessário analisar a variação de tensão na bomba. Assim, é preciso


realizar a simulação de tempo contínuo para discreto. Dessa forma, a Figura 15 mostra a
resposta do controlador com a variação da tensão na bomba, para o sistema de primeira ordem,
e a Figura 16, para a segunda ordem, utilizando os mesmos setpoints de acordo com a Tabela
4.
22

5.1 PID Convencional

Figura 15 - PID Discreto – Tensão

Fonte: Autores (MATLAB)

Figura 16 - PID Convencional (2ª Ordem)

Fonte: Autores (MATLAB)


23

5.2 PID Escalonado

Figura 17 - PID Escalonado de 1ª Ordem

Fonte: Autores (MATLAB)

Figura 18 - PID Escalonado de 2ª Ordem

Fonte: Autores (MATLAB)


24

6. CONCLUSÃO

A Tabela 6 apresenta uma representação do desempenho dos controladores. Logo, é


possível ver que o tanque de primeira ordem teve um baixo erro quadrático médio. Porém, o
PID apresentou um melhor controle do sistema, visto que há apenas 1 polo na planta do sistema.
Com relação ao sistema de segunda ordem, obteve-se um erro quadrático médio um pouco mais
elevado. Assim, pode ser observado que o controlador PID escalonado expôs uma resposta
mais satisfatória, além de apresentar um overshoot mais limitado.

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

𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑑𝑜𝑟 1ª 𝑂𝑟𝑑𝑒𝑚 2ª 𝑂𝑟𝑑𝑒𝑚


𝑃𝐼𝐷 𝐶𝑜𝑛𝑣𝑒𝑛𝑐𝑖𝑜𝑛𝑎𝑙 0.2105 2.3285
𝑃𝐼𝐷 𝐸𝑠𝑐𝑎𝑙𝑜𝑛𝑎𝑑𝑜 0.2047 1.6837

Fonte: Autores (MATLAB)

Figura 19 - Erros

Fonte: Autores (MATLAB)


25

REFERÊNCIAS

DANIEL, MADEIRA. Controlador proporcional, Disponível em:


https://www.embarcados.com.br/controlador-proporcional/. acesso em : 15 out.2021

DORF, R. C.; BISHOP, R. H. Sistemas de controle modernos. 12a. Edição, Editora LTC,
2009.

FACCIN, F. Abordagem Inovadora no Projeto de Controladores PID. Dissertação de


Mestrado. Porto Alegre, 2004.

FRANKLIN, G. F.; POWELL, J. D.; EMAMI-NAEINI, A. Sistemas de Controle para


Engenharia. 6. Ed. Bookman, 2013. Disponível em:
https://www.academia.edu/36639452/Sistemas_de_Controle_para_Engenharia_Franklin.
Acesso em: 15 out. 2021.

MANOEL, JOÃO, GOMES DA SILVA. O controlador Proporcional-Integral (PI).


Disponível em: http://www.ece.ufrgs.br/~jmgomes/pid/Apostila/apostila/node28.html. Acesso
em: 16 out. 2021.

MENEGHETTI, FÁBIO, UGULINO DE ARAÚJO. Sistemas de controle. Guia de


laboratório. Natal, 2007.

MUNIZ, S. R. Resumo sobre controladores PID. 2017. Disponível em:


https://edisciplinas.usp.br/pluginfile.php/4132451/mod_resource/content/0/Resumo_controla
dores_PID.pdf. Acesso em: 15 out. 2021.

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).

Quanser (2004). Coupled Water Tank Experiments, Quanser, EUA.


26

ANEXOS

Códigos – MATLAB

Resposta ao Degrau da Configuração 1

% - 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)')

Resposta ao Degrau da Configuração 2

% - 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)')

PID Convencional – 1ª Ordem


Vbomba(1)=15;
L1(1)=0;
L2(1)=0;

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

PID Escalonado – 1ª Ordem


Vbomba(1)=15;
L1(1)=0;
L2(1)=0;
VMAX=15;
ymax=30;

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

Sistema de Malha Fechada, PID – Ziegler-Nichols, PID Ajustado

G = (tf(0.0194, [1 0.1312 0.0043]));


[y2,t2] = step(G);
Continuo_para_discreto=c2d(G,0.1,'zoh')

[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

PID Convencional – 2ª Ordem

PID 2 ORDEM – Convencional

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

PID Escalonado – 2 ordem


31

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

%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 Escalonado');
xlabel('Tempo discreto');
ylabel('Nível');
grid on
legend
MSE = mse/k

Você também pode gostar