PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL ...€¦ · engenheiros projetar sistemas...
Transcript of PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL ...€¦ · engenheiros projetar sistemas...
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL
FACULDADE DE ENGENHARIA
CONTROLE PID DE NÍVEL DE TANQUE EM PROTÓTIPO DE
BANCADA DIDÁTICA
Porto Alegre, 07 de dezembro de 2017.
Autor: Jéssica Franke
Pontifícia Universidade Católica do Rio Grande do Sul
Curso de Engenharia de Controle e Automação
Av. Ipiranga 6681, - Prédio 30 - CEP: 90619-900 - Porto Alegre - RS - Brasil
Email: [email protected]
Orientador: Prof. Rubem da Cunha Reis
Pontifícia Universidade Católica do Rio Grande do Sul
Av. Ipiranga 6681, - Prédio 30 - CEP: 90619-900 - Porto Alegre - RS- Brasil
Email: [email protected]
RESUMO
O trabalho consiste em montar um protótipo de bancada, para fins didáticos, para estudar o controle PID de nível de líquido (neste caso, água) em um tanque, para que este se mantenha em um nível pré-determinado. Foi utilizado um tanque superior, que será controlado, e um reservatório inferior de onde a água é bombeada para o tanque superior. Além do tanque e reservatório, o sistema é composto de uma bomba hidráulica, uma válvula de drenagem manual e um sensor ultrassônico. O algoritmo PID foi projetado e implementado em um microcontrolador Arduino, agindo de forma satisfatória sobre o protótipo, sem a ocorrência de sobressinal.
Palavras-chave: Controle PID. Sistemas de controle. Controle de nível.
Microcontrolador Arduino.
2
ABSTRACT
The work consists in assembling a bench prototype for didactic purposes to study the liquid level PID control (in this case, water) in a tank, so that it remains at a predetermined level. An upper tank was used, which will be controlled, and a lower reservoir from which water is pumped into the upper tank. In addition to the tank and reservoir, the system is composed of a hydraulic pump, a manual drain valve and an ultrasonic sensor. The PID algorithm was designed and implemented in an Arduino microcontroller, acting in a satisfactory way on the prototype, without the occurrence of overshoot. Keywords: PID control. Control system. Level control. Arduino microcontroller.
1 INTRODUÇÃO
Em um mercado competitivo como nos dias atuais, os sistemas automáticos tornam-se
extremamente importantes para o sucesso de qualquer indústria, isto porque estes sistemas
proporcionam maior qualidade, confiabilidade, precisão, rapidez, segurança e eficiência aos
processos, garantindo alta produtividade. Os sistemas de controle fazem parte destes sistemas
automáticos. Para Ogata (2010), controlar nada mais é do que corrigir ou limitar desvios da
variável controlada, para que esta atinja um valor pre-definido, através da aplicação de um
sinal de controle no sitema.
Há diversas técnicas de controle, entre elas o controlador PID (Proporcional-Integral-
Derivativo), que por sua simplicidade de ajuste, sua estrutura versátil e sua grande
aplicabilidade aos sistemas de controle é um dos mais utilizados nos processos,
especialmente quando o modelo matemático do objeto a ser controlado é desconhecido e o
método analítico não pode ser utilizado.
Como ponto de partida da análise dos sistemas de controle, obtem-se um modelo
matemático que represente este sistema, através de técnicas de identificação de parâmetros.
Com este modelo em mãos, faz-se possível a análise, o estudo, os testes, ajustes e verificação
do comportamento do sistema, em ambiente virtual, empregando-se diferentes tipos de
controladores, para então implementar o sistema real.
Neste trabalho, propõe-se modelar, projetar e aplicar um controlador PID em um
sistema de reservatórios em bancada didatica, com o objetivo de controlar o nível do
reservatório superior, para que este permaneça dentro de um limite desejado. Com isto,
3
espera-se compreender na prática processos industriais que possuem as mesma características,
como de indústrias petroquímicas, químicas e ambientais, por exemplo.
Este trabalho está organizado em partes, começando pelo capítulo 2, onde apresenta-se
uma revisão bibliográfica que fundamenta o tema abordado, seguido pelo capítulo 3 que
apresenta a metodologia que descreve todo o projeto, sendo profundamente detalhada no
caítulo 4. No capítulo 5 é apresentada uma conclusão do trabalho, e, por fim, as referências
bibliográficas no capítulo 6.
2 REFERENCIAL TEÓRICO
2.1 Sistemas de Controle
Durante a década de 1940, métodos de resposta em frequencia tornaram possível aos
engenheiros projetar sistemas de controle linear de malha fechada que satisfizessem o
desempenho requerido. Muitos sistemas de controle industrial das décadas de 1940 e 1950
usavam controladores PID no controle de pressão, temperatura etc (OGATA, 2010).
Podemos chamar o sistema a ser controlado de planta ou processo. A saída do
processo é denominada variável controlada, e é a variável a ser medida e controlada. O sinal
de entrada, que pode ser modificado pelo controlador, é chamado de variável manipulada ou
sinal de controle. Distúrbios podem afetar o sinal de saída do sistema. Estes distúrbios podem
ser internos, quando gerados dentro do sistema, ou externos, quando gerados fora do sistema.
Para diminuir a diferença entre a saída e a entrada de referência em sistemas com distúrbios,
utiliza-se o controle com realimentação. Sistemas de controle com realimentação são sistemas
que comparam o sinal de entrada de referência com o sinal de saída, e utilizam a diferença
como meio de controle.
Os sistemas de controle com realimentação são também chamados de sistemas de
controle de malha fechada. O objetivo deste tipo de sistema é manter a variável do processo
em um valor desejado, compensando os distúrbios e as perturbações externas do sistema,
através de uma comparação entre o valor medido e o valor desejado (CAMPOS, 2010). Além
disso, é possível obter-se alguns ganhos com o controle de malha-fechada, como, por
exemplo, aumento na precisão do controle do sistema e um aumento na robustez do mesmo.
4
Figura 1 - Diagrama de blocos de malha fechada
Fonte: autoria própria
Os sistemas de controle de malha aberta são aqueles onde não há realimentação, ou
seja, não existe uma comparação entre o sinal de entrada e o sinal de saída do sistema, logo,
este tipo de sistema só pode ser utilizado se as variáveis de entrada e saída forem conhecidas,
e se não houver presença de distúrbios internos ou externos, pois estes comprometeriam a
execução da tarefa desejada.
Segundo Ogata (2010), os sitemas de controle de malha aberta são mais fáceis de
serem construídos, porém são os mais adequados apenas para sistemas isentos de perturbações
e onde se conhece previamente as entradas, pois este tipo de sistema é incapaz de rejeitar
perturbações. Nos sistemas onde existem perturbações e possíveis alterações nos componentes
do sistema, torna-se mais adequado o uso do controle de malha fechada.
Figura 2 - Diagrama de blocos de malha aberta
Fonte: autoria própria
2.1.1 Resposta Transitória e Regime Permanente
O primeiro passo para que possamos analisar um sistema de controle, é gerar um
modelo matemático do mesmo. A partir disto, podemos analisar o desempenho do sistema por
meio dos vários métodos disponíveis (OGATA, 2010).
Em geral, a variável de entrada do processo não é conhecida. Nestes casos, é comum o
uso de sinais de teste na entrada do processo, como rampa, degrau e impulso, por exemplo,
por serem funções de tempo muito simples, que servem como base de comparação de
desempenho dos sistemas de controle.
5
O que determina qual tipo de sinal de teste deve ser utilizado em cada sistema é o tipo
de sinal que o mesmo irá receber com mais frequência em condições normais de operação.
Conforme Ogata (2010), o sinal do tipo rampa é a melhor opção quando os sinais de entrada
do sistema de controle são funções de tempo que variam gradualmente. Já a função degrau é
adequada quando o sistema tende a receber um sinal de entrada com mudanças bruscas. No
caso de um sistema sujeito a entradas de impacto, o sinal de teste do tipo impulso é o mais
indicado.
O uso destes sinais de teste no projeto do controlador permite a comparação do
desempenho de vários sistemas em relação a mesma base, e gera resultados bastante
satisfatórios quanto as entradas reais destes sistemas.
2.1.2 Sistemas de Primeira Ordem
Em Ogata (2010), vemos que a relação entrada-saída para um sistema de
primeira ordem pode ser descrito pela equação 2.1:
�(�)�(�) =
1� + 1
Equação 2.1
Aplicando uma função degrau ao sistema, substituindo R(s) por sua
transformada de Laplace e expandindo em frações parciais, chegaremos na equação 2.2:
�(�) = 1� −
1� + �1�
Equação 2.2
Considerando a inversa de Laplace na equação, obtemos:
�(�) = 1 − ��� �⁄ , para t ≥ 0
Equação 2.3
Assim, é fácil perceber que quanto menor o valor da constante de tempo T, mais
rápida será a resposta do sistema.
6
Figura 3 - Resposta ao degrau de um sistema de 1ª ordem
Fonte: Ogata [2010]
Já para uma rampa unitária, que tem sua transformada de Laplace igual a 1/s2,
obtemos a equação 2.4:
�(�) = 1�� −
�� +
���� + 1
Equação 2.4
Aplicando a transformada inversa de Laplace:
�(�) = � − � + ���� �⁄ , para t ≥ 0
Equação 2.5
Logo, o sinal de erro e(t) será:
�(�) = �(�) − g(�) = �(� − ��� �⁄ ) Equação 2.6
Com isto fica claro que quanto menor a constante de tempo T, menor o erro
estacionário do sistema.
Em se tratando de um sinal de impulso, R(s) será igual a 1, e teremos a seguinte
resposta do sistema:
�(�) = 1�� + 1
Equação 2.7
7
Com a aplicação da transformada inversa de Laplace na equação 2.7, teremos:
�(�) = �� ��� �⁄ , para t ≥ 0
Equação 2.8
2.1.3 Sistemas de Segunda Ordem
A função de transferência de um sistema de segunda ordem é dada pela equação 2.9:
�(�) = ����� + 2ξω#s + ���
Equação 2.9
Onde a constante ω# é a frequência natural não amortecida e a constante ξ é chamada
de coeficiente de amortecimento, que indica como será a resposta transitória do sistema:
• Para ξ > 1, o sistema possui dois polos reais e distintos e o sistema é considerado
superamortecido, podendo ser mais lento que nos demais casos;
• Para 0 ≤ ξ < 1, o sistema possui polos complexos conjugados, o sistema é dito
subamortecido e apresenta ultrapassagem (overshoot);
• Para ξ = 1, o sistema possui duas raízes reais iguais, e o sistema tem amortecimento
crítico, tendendo a ser mais rápido que no sistema superamortecido.
Figura 4 - Resposta ao degrau de um sistema de 2ª ordem.
Fonte: Ogata [2010]
8
2.2 Controlador PID
O controlador proporcional-integral-derivativo (PID) é um dos mais populares
no meio industrial, sendo utilizado em mais de 90% das malhas de controle de diversas
plantas. Isto se dá pelo fato de seus parâmetros serem facilmente ajustados, tornando o PID
um controlador bastante simples e robusto.
Basicamente, o controlador PID é a união da ação proporcional, que minimiza
o sinal de erro do sistema, a ação integral, que zera o erro, e a ação derivativa, que antecipa a
correção do erro.
2.2.1 Controlador Proporcional
Conforme Campos (2010), o controlador proporcional (P) gera a sua saída
proporcionalmente ao erro (e(t)). Quanto maior o valor do ganho proporcional Kp, maior será
a ação do controlador para um mesmo sinal de erro na variável de processo, fazendo com que
o sistema responda com mais agilidade. Porém, um ganho muito alto acaba gerando um sinal
de saída muito alto, podendo desestabilizar o sistema, assim como um ganho muito baixo
pode falhar em aplicar a ação necessária para corrigir o erro do sistema.
A ação proporcional jamais anulará totalmente o erro do sistema. Isto só será
possível com a junção da ação proporcional à ação integral.
2.2.2 Controlador Integral
Em um controlador integral, a sua saída é diretamente proporcional à integral do sinal
de erro, ou seja, à magnitude e à duração do erro. Quanto maior o tempo integral Ti do
sistema, mais lentamente o sistema alcançará o valor de referência. De forma contrária,
quanto maior for o ganho Ki (1/Ti) do sistema, mais rapidamente ele chegará ao valor de
referência. Um ganho integral muito alto pode tornar o sistema instável, e um ganho integral
muito baixo pode tornar o sistema muito lento.
9
2.2.3 Controlador Derivativo
No controlador derivativo, a saída do sistema será proporcional a derivada do sinal de
erro, isto é, à velocidade de variação do erro. A característica da ação derivativa é antecipar a
correção do erro, tornando a resposta do sistema mais rápida e menos oscilatória, melhorando
a sua estabilidade.
A utilização da ação derivativa é indicada em processo lentos e com pouco ruído, já
que este parâmetro é inversamente proporcional a variável controlada do processo, e a ação
derivativa poderia "confundir" o sinal da variável controlada com o sinal de ruído.
2.2.4 Controlador Proporcional-Integral-Derivativo
A união das três ações descritas acima resulta no controlador proporcional-integral-
derivativo, gerando uma saída proporcional ao erro, proporcional à integral do erro e
proporcional à derivada do erro. O objetivo desta união é que cada ação possa suprir as
características indesejadas da outra.
Conforme Campos (2010), o sinal de controle gerado pelo controlador PID pode ser
expresso pela equação 2.10:
%(�) = &' ∙ �(�) + &' ∙ 1�) ∙ * �(�)+� + &' ∙ �, ∙ +�+� (�) + %- Equação 2.10
3 METODOLOGIA
Neste capítulo será apresentado um fluxograma que demonstra as etapas de todo o
trabalho e uma breve descrição destas etapas. Além disso, serão descritos os componentes
utilizados para o desenvolvimento deste projeto.
10
Definição da
Proposta
Elaboração
do
Referencial
Teórico
Construção
do Protótipo
Modelagem
do Sistema
Projeto e
Simulação do
Controlador
Análise dos
Resultados
3.1 Fluxograma que Descreve a Metodologia
Fonte: autoria própria
3.2 Breve Descrição da Metodologia
A fim de reproduzir um controle PID de nível, foi construído um protótipo com dois
tanques de acrílico, um sensor ultrassônico, uma bomba hidráulica, uma válvula de drenagem
manual, um driver de motor DC L6206 e um microcontrolador Arduino para a implementação
do algoritmo PID. O sistema é alimentado por uma fonte de tensão externa.
A bomba hidráulica é responsável por deslocar a água do primeiro tanque, utilizado
como reservatório, para o segundo tanque, localizado mais acima. O sensor ultrassônico é
responsável por captar o nível da água no segundo tanque e enviar esta informação ao
microcontrolador já implementado com o controlador PID projetado. De acordo com a
informação recebida do sensor, o microcontrolador envia um sinal PWM (Pulse-Width
Modulation) para o driver de motor DC que converte este sinal em tensão, que então é
recebido pela bomba. O microcontrolador, em conjunto com o driver, atua sobre a bomba
alterando a tensão de alimentação da mesma, variando, desta forma, a intensidade do
bombeamento para que o líquido do tanque fique sempre em um nível pré-determinado.
O controlador PID será modelado e simulado com a ajuda do software Matlab e
Simulink. Após a simulação e validação do modelo, o controle será implementado no
protótipo através do microcontrolador Arduino.
Figura 5 - Fluxograma descritivo da metodologia
11
Figura 6 - Disposição do protótipo
Fonte: autoria própria
3.3 Componentes Físicos do Projeto
3.3.1 Microcontrolador Arduino MEGA 2560
O Arduino é uma placa de prototipagem eletrônica composta basicamente por um
microcontrolador Atmel e circuitos de entrada e saída. Sua programação é simples, baseada
em linguagem Wiring e o seu código é aberto. Basta conectá-lo com um cabo USB a um
computador e programá-lo via ambiente de desenvolvimento integrado (IDE). Possui uma
série de funcionalidades que podem ser expandidas através do uso das Shields (placas
encaixáveis que podem conter display LCD e sensores, por exemplo) e permite que o usuário
o utilize em diferentes projetos de automação e controle.
Existem vários modelos de Arduino no mercado, que se diferenciam por sua
complexidade. Neste trabalho será utilizado o Arduino MEGA 2560, que corresponde às
necessidades do projeto. Ele possui 54 pinos de entradas/saídas digitais das quais 15 podem
ser PWM, 16 entradas analógicas, cada uma com 10 bits de resolução, 4 UARTs (Universal
Asynchronous Receiver/Transmitter), um oscilador de cristal de 16 MHz, uma conexão USB,
uma entrada de alimentação, uma conexão ICSP e um botão de reset. Opera sob uma tensão
de 5V e a tensão de alimentação recomendada é entre 7V e 12V, com um limite de 20V.
12
Figura 7 - Placa Arduino
Fonte: Arduino
3.3.2 Sensor Ultrassônico
O sensor ultrassônico é um dispositivo que faz uso de ultrassons para medir variáveis
como curvatura, enchimento e altura sem a necessidade de contato e independentemente do
acabamento superficial ou da cor do produto em questão, por isso é um dos sensores mais
usados na industria quando se deseja medir distâncias, detectar a posição de materiais ou
medir o nível de uma certa substância em um reservatório. Ele é capaz de medir distâncias
entre 20mm a 20m com um erro de apenas 1%, portanto, se trata de um sensor preciso e
confiável (CITISYSTEMS, 2017).
Este sensor é composto de um emissor (Trigger) e um receptor (ECHO) de ondas
sonoras. A frequência das ondas emitidas por ele são na faixa dos 40.000 Hz, ou seja, muito
acima do que o ouvido humanos é capaz de perceber. O princípio de funcionamento do sensor
ultrassônico se dá quando o sinal emitido colide com qualquer obstáculo e reflete de volta
para o sensor. Durante este processo, o sensor cronometra o tempo de emissão e reflexão do
sinal para então calcular a distância entre o sensor e o obstáculo em questão, conforme a
equação 3.1 (FAZEDORES, 2014).
./��012/0 = 3%4�5�61í8�404�5 ∙ 8�452/+0+�+5�56(3406/�)/2
Equação 3.1
Os pinos Vcc, Trigger, ECHO e GND são utilizados para a ligação do sensor ao
microcontrolador.
13
Neste projeto é utilizado o sensor ultrassônico modelo HC-SRO4, fabricado pela
empresa ElecFreaks, e o programa do Arduino utiliza a biblioteca Ultrasonic.
Figura 8 - Sensor ultrassônico HC-SRO4
Fonte: Mecânica Industrial
3.3.3 Driver Motor DC L6206
O X-NUCLEO-IHM04A1 é uma placa de expansão de movimentação de motor CC
(corrente contínua) de dupla escova baseada no L6206 (driver de ponte total dupla DMOS)
que permite projetar facilmente um sistema de controle para motores CC DC unipolares ou
quad bipolares duplos. É compatível com o conector Arduino e suporta a adição de outras
placas de expansão com uma única placa de Núcleo STM32 (ST, 2017).
As portas ENA e ENB controlam o estado das saídas de tensão A e B. Quando cada
um dos dois pinos está em um nível lógico baixo, todas as saídas correspondente (A ou B)
estão desligadas. São os pinos que recebem o sinal em PWM do Arduino. IN1A, IN2A, IN1B
e IN2B são as portas que determinam as saídas de tensão de A+ e A-, B+ e B-.
A tensão de operação deste driver é entre 8V e 50V. O dispositivo L6206 possui
desligamento térmico e uma detecção de sobrecorrente não dissipativa nos MOSFETs de
potência de lado alto além de uma saída de diagnóstico que pode ser facilmente usada para
implementar a proteção de sobrecorrente (ST, 2017).
14
Figura 9 - Driver de Motor DC L6206
Fonte: ST [2017]
3.3.4 Bomba hidráulica
Neste projeto será utilizado o conjunto de reservatório e bomba comercial empregado
em sistemas de limpadores de para-brisas automotivos para fazer o bombeamento da água do
reservatório para o segundo tanque. Este tipo de bomba tem vazão máxima de 85,61 mL/s e
funciona com uma tensão de até 12V e 3A de corrente, sendo possível variar a intensidade do
bombeamento conforme a tensão de alimentação é alterada. O seu principio de funcionamento
se dá quando o líquido entra no centro do rotor plástico que possui canais em alta rotação. A
rotação destes canais é impulsionada pelo motor elétrico, movimentando o líquido e gerando a
força centrípeta que acaba se transformando em energia de pressão (ABC Engenharia, 2010).
Figura 10 - Bomba de limpador de para-brisas
Fonte: Anunciante do Mercado Livre [2017]
15
4 APLICAÇÃO DA METODOLOGIA
O presente capítulo apresentará de forma detalhada a aplicação da metodologia
descrita anteriormente. Para tanto, o capítulo se divide em quatro seções: Seção 4.1 que se
refere à Montagem do Protótipo, seção 4.2 sobre o procedimento de Identificação do Modelo
do Sistema, Seção 4.2 que apresenta o Projeto do Controlador PI utilizado, e Seção 4.3 sobre
a Aplicação do Controle no Protótipo.
4.1 Montagem do Protótipo
O protótipo é composto por dois tanques de acrílico que foram desenhados no
software SolidWorks e cortados com laser no Laboratório de Fabricação (LABFAB) da
PUCRS. Tais desenhos, feitos pela própria autora, encontram-se nos apêndices. O tanque
inferior é chamado de reservatório, e foi projetado para suportar um volume maior de água do
que o tanque superior, que é o controlado, para que não haja o risco da água do reservatório
acabar antes que se atinja o nível definido para o tanque superior.
Acoplado ao reservatório encontra-se a bomba, que é alimentada pelas saídas positiva
e negativa do driver de motor DC conectado ao microcontrolador, que por sua vez é
alimentado com 12V por uma fonte de tensão externa. A água enviada da bomba para o
tanque superior passa por uma mangueira de nível. O tanque superior possui uma torneira que
permite a vazão da água de volta para o reservatório. É também no topo deste tanque que se
encontra o sensor ultrassônico que coleta o nível de água em centímetros e envia os dados ao
Arduino.
A montagem e disposição do protótipo real pode ser vista na figura 11.
16
Figura 11 - Disposição do protótipo real
Fonte: autoria própria
4.2 Identificação do Modelo do Sistema
O sistema foi identificado através do método de resposta ao degrau, caracterizado pela
aplicação de um degrau na variável manipulada do sistema, que neste caso é a bomba. Este
degrau é aplicado na bomba que envia água do reservatório para o tanque superior que se
encontra com a torneira aberta, até o momento que o sistema estabiliza, ou seja, o volume de
água enviado pela bomba é o mesmo que sai pela torneira. Com o sistema em regime
permanente, aplica-se outro degrau e aguarda-se o sistema estabilizar novamente.
Vários testes foram feitos até se chegar ao valor mínimo de tensão necessária em cada
degrau para a estabilização do sistema. Estes valores foram inseridos no formato Duty Cycle
(ciclo de trabalho) no Arduino e convertidos em tensão pelo driver de motor DC acoplado no
Arduino e alimentado por uma fonte de tensão externa de 12V. Inicialmente foi aplicado um
degrau com Duty Cycle de 39%, que equivale a 4,7V, considerando que um Duty Cycle de
100% corresponde a tensão máxima de 12V. Com este degrau o sistema entrou em regime
permanente no nível de 9 cm. Após, aumentou-se o valor para um Duty Cycle de 47%, que
equivale a 5,75V, até o sistema entrar novamente em regime permanente, no nível de 17 cm.
17
Portanto, a variação de Duty Cycle entre um degrau e outro foi de 8%, equivalente a 0,9V, a
variação do nível foi de 8cm, e o tempo contabilizado entre a aplicação do segundo degrau e a
total estabilização do sistema foi de 500 segundos.
Os valores de nível foram coletados a cada 0,5 segundos pelo sensor ultrassônico
presente no tanque. Estes dados foram plotados no software Matlab para obter-se a curva a
partir do momento em que o sistema entra em regime permanente e o segundo degrau é
aplicado. Pelo fato do sensor apresentar muito ruído na medição, percebeu-se a necessidade
da aplicação de um filtro passa-baixas no sinal, que permite a passagem de baixas frequências
e reduz a amplitude das frequências maiores que a frequência de corte. A curva com e sem o
filtro pode ser vista na figura 12.
Figura 12 - Curva de identificação do sistema
Fonte: autoria própria
Com os dados de entrada em PWM e os dados de saída coletados pelo sensor e
filtrados, foi possível modelar a função de transferência do sistema G(z) em tempo discreto
através da função System Identification Toolbox do Matlab, conforme equação 4.1. O
resultado da identificação pode ser visto na figura 13, onde a linha preta representa o sistema
real, e a linha azul representa o modelo com 93% de adequação.
18
�(=) = 0,000003694=² − 1,967= + 0,9675
Equação 4.1
Figura 13 - Resultado da identificação do sistema
Fonte: autoria própria
4.3 Projeto do Controlador PI
A partir da função de transferência em tempo discreto do sistema, foi possível aplicar
o método de sintonia Autotuning PID do Matlab, que permite a implantação de um algoritmo
de afinação automático para ajustar um controlador que se adeque à planta. Em conjunto com
este método, foi utilizada a técnica do Lugar Geométrico das Raízes, que permite visualizar
de forma gráfica as tendências de variação dos polos conforme o parâmetro variável na
função de laço aumenta ou diminui, pois preferiu-se o sistema sem sobressinal, mesmo que
isso o torne mais lento.
De acordo com as características do sistema, optou-se por utilizar um controlador do
tipo PI, que tem ação de controle proporcional ao erro e também à integral do erro, conforme
apresentado anteriormente. A sua função de transferência C(z) é dada pela equação 4.2.
D(=) = 35,96496= − 35,674922= − 2
Equação 4.2
19
Após projetar o controlador PI, este foi simulado com a ajuda do ambiente de
simulação Simulink. Na figura 14 é possível visualizar o diagrama de blocos de malha
fechada, enquanto a figura 15 apresenta a resposta do sistema a um degrau de 20. Percebe-se
que não há sobressinal e o tempo de acomodação é de aproximadamente 500 amostras, o que
corresponde a 250 segundos.
Figura 14 - Diagrama de blocos do sistema
Fonte: autoria própria
Figura O - Resposta ao degrau do sistema
Fonte: autoria própria
4.4 Aplicação do Controle no Protótipo
Para a aplicação do controlador PI no protótipo foi implementada uma rotina em
linguagem Wiring no Arduino. A ação de controle é descrita por uma equação de recorrência,
que relaciona uma variável com o seu valor anterior, conforme equação 4.3, onde u(k)
representa o valor em PWM que deverá ser enviado à bomba, u(k-1) representa o valor
anterior de u(k), e(k) representa o erro do sistema, que é a diferença entre o valor de referência
definido e o nível medido pelo sensor, e(k-1) representa o valor anterior a e(k), e, conforme
20
projeto do controlador PI, d1 = 2, d2 = -2, n1 = 35,96496 e n2 = -35,67492. O tempo de
amostragem foi de 0,5 segundos.
%(E) = 1+1 ∙ (−+2 ∙ %(E − 1) + 11 ∙ �(E) + 12 ∙ �(E − 1)) Equação 4.3
A listagem 1 apresenta o trecho do código em que o controlador é implementado, e a
figura 16 ilustra a resposta do sistema real ao controle, definindo um valor de referência de
9cm. O ruído presente no sinal se deve a medição muito variável do sensor ultrassônico. O
código completo pode ser visto nos apêndices.
Listagem 16 - Rotina que implementa o controlador PI
Fonte: autoria própria
Figura 16 - Controle aplicado no protótipo
Fonte: autoria própria
21
5 CONCLUSÃO
O presente trabalho teve como objetivo apresentar o resultado prático de um controle
PI de nível de um tanque. Para tanto, mostrou-se a construção do protótipo e os métodos para
modelar o sistema, projetar o controlador e implementá-lo no protótipo.
Para se chegar ao modelo, foram necessárias algumas semanas onde todo o protótipo
foi construído e vários testes foram realizados, ajustando o melhor sinal PWM para o
acionamento da bomba e estabilização do sistema. Com a função de transferência, pode-se
projetar o controlador e percebeu-se que o algoritmo PI foi eficaz quando aplicado ao sistema
real, mantendo o nível estável no valor de referência pré-determinado, sem a ocorrência de
sobressinal.
Com este projeto foi possível ter uma compreensão de processos industriais que
possuem as mesmas características do sistema avaliado e aplicar na prática os conhecimentos
teóricos adquiridos ao longo do curso em cadeiras como Tópicos I e II , Sistemas de Controle
Digital, Processadores, Análise e Projeto de Sistemas de Controle Digitais, entre outras.
Considerando o sistema e o controle em si, pode-se dizer que o projeto foi concluído com
êxito.
6 REFERÊNCIAS
ABC Engenharia. Bomba de esquicho. Disponível em
<http://abc-engenharia.blogspot.com.br/2010/05/bomba-de-esguicho.html> Acesso em: 08 de
out. de 2017.
ALMEIDA, Luís Borges de. Resposta no tempo de sistemas de primeira e de segunda
ordem só com polos.
Disponível em <http://users.isr.ist.utl.pt/~aguiar/respostas%20no%20tempo.pdf> Acesso em:
09 de set. de 2017.
ALPI, Lucas Brol lo; UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL,
Inst i tuto de Informát ica. Desenvolvimento de uma Planta Didática para o Controle
de Nível de Tanques Acoplados, 2016. 73p, (Monografia).
22
ARDUINO. Arduino MEGA 2560. Disponível em <https://store.arduino.cc/usa/arduino-
mega-2560-rev3> Acesso em: 01 de dezembro de 2017.
CAMPOS, Mario Cesar M. Massa de; TEIXEIRA, Herbert C. G. Controles típicos de
equipamento e processos 2. ed. São Paulo: Blucher, 2010.
CITISYSTEMS. 10 Aplicações para o Sensor Ultrassônico na Indústria. Disponível em
<https://www.citisystems.com.br/sensor-ultrassonico/> Acesso em: 08 de out. de 2017.
DORF, Richard C.; BISHOP, Robert H.. Sistemas de Controle Modernos 8. ed. Rio de
Janeiro: LTC - Livros Técnicos e Científicos S.A., 2001.
FAZEDORES. Sensor Ultrassônico com Arduino. Disponível em
<http://blog.fazedores.com/sensor-ultrassonico-com-arduino/> Acesso em: 07 de out. de
2017.
MECÂNICA INDUSTRIAL. O que é um sensor ultrassônico. Disponível em
<https://www.mecanicaindustrial.com.br/598-o-que-e-um-sensor-ultrassonico/> Acesso em:
28 de out. de 2017.
OGATA, Katsuhiko. Engenharia de Controle Moderno 5. ed. São Paulo: Pearson Prentice
Hall, 2010
ST. Dual brush DC motor driver expansion board based on L6206 for STM32 Nucleo.
Disponível em <http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-
development-environment/stm32-nucleo-expansion-boards/stm32-ode-move-actuate-hw/x-
nucleo-ihm04a1.html> Acesso em: 01 de dezembro de 2017.
23
APENDICE A - DESENHO DOD TANQUES DO PROTÓTIPO
24
25
APENDICE B - PROGRAMAÇÃO NO MATLAB
Programa que aplica o filtro passa-baixas no sinal de identificação do sistema:
Programa que define as funções de transferência do sistema G(z) e do controlador
C(z):
26
APÊNDICE C - CÓDIGO FONTE DO PROGRAMA
27