Upload
jhonathancamposresende
View
59
Download
17
Embed Size (px)
DESCRIPTION
Trabalho Final de Curso: Controlador PID para sistemas de irrigação.
Citation preview
UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL-REI
GRADUAÇÃO EM ENGENHARIA ELÉTRICA
CONTROLE PID PARA SISTEMAS DE IRRIGAÇÃO
Autor: Jhonathan Campos Resende
Orientador: Prof. MSc. Samir Angelo Milani Martins
São João del-Rei, 17 de dezembro de 2014
AGRADECIMENTOS
Agradeço em primeiro lugar a Deus que iluminou o meu caminho durante esta
caminhada.
À Universidade Federal de São João del-Rei por me proporcionar uma excelente
formação em Engenharia Elétrica.
Ao meu orientador Prof. MSc. Samir Angelo Milani Martins por seus ensinamentos,
disponibilidade de tempo e material, incentivo e paciência para me orientar neste trabalho.
Ao Prof. MSc. Davidson Lafitte Firmo por seu apoio e imensa boa vontade
demonstrada a cada vez que necessitei de sua ajuda.
Aos técnicos administrativos do Laele (Laboratório de Eletrônica) e do Lacoi
(Laboratório de Controle e Instrumentação), João Daniel Nolasco e Alexandre Tavares,
respectivamente, por todo o auxílio na realização deste projeto.
Aos meus pais Romeu e Rosane, minhas irmãs Izabella e Ana Júlia, minha noiva
Jéssica e a toda minha família pelo amor, incentivo e apoio incondicional.
E a todos que direta ou indiretamente fizeram parte da minha formação, o meu muito
obrigado.
SUMÁRIO
1. INTRODUÇÃO......................................................................................................................5
2. REVISÃO BIBLIOGRÁFICA.................................................................................................7
2.1. Umidade do solo............................................................................................................7
2.2. Sensor de umidade do solo...........................................................................................7
2.3. Controladores PID..........................................................................................................8
2.4. Arduino...........................................................................................................................9
3. METODOLOGIA.................................................................................................................11
3.1. Obtenção da curva de calibração do sensor................................................................11
3.2. Modelagem do sistema................................................................................................11
3.3. Projeto do controlador..................................................................................................14
3.4. Implementação do controlador.....................................................................................14
3.4.1. Software.................................................................................................................14
3.4.2. Hardware...............................................................................................................14
4. RESULTADOS....................................................................................................................17
4.1. Obtenção da curva de calibração do sensor................................................................17
4.2. Modelagem do sistema................................................................................................18
4.3. Projeto do controlador..................................................................................................20
4.4. Implementação do controlador.....................................................................................21
5. CONCLUSÃO.....................................................................................................................22
6. PROPOSTAS DE TRABALHOS FUTUROS......................................................................23
7. REFERÊNCIAS BIBLIOGRÁFICAS...................................................................................24
ANEXO A - CÓDIGO FONTE UTILIZADO NO PROJETO.....................................................26
4
RESUMO
A economia brasileira foi sensivelmente afetada pela grave crise enfrentada pelo
setor agrícola no ano de 2014, causada pela escassez de recursos hídricos. O
aperfeiçoamento dos sistemas de irrigação atualmente utilizados propiciaria economia
hídrica nos cultivos, além de maior eficiência na produção, impulsionando a economia do
país. Dentro desse contexto, o presente trabalho versa acerca do projeto de um controlador
PID para sistemas de irrigação, aplicado tanto ao paisagismo quanto à agricultura.
Basicamente, o sistema é composto por uma placa Arduino UNO, responsável por controlar
e monitorar o processo, uma bomba, um sensor de umidade do solo, além de uma placa de
circuito impresso, projetada para atuar no sistema e realizar a interação com o usuário.
Nesse documento são descritas ainda as etapas do projeto e os resultados obtidos. Por fim,
é feita uma avaliação global do trabalho e são apresentadas as conclusões extraídas do
mesmo.
5
1. INTRODUÇÃO
Durante o ano de 2014 o Brasil passou por uma das maiores crises de escassez de
recursos hídricos de sua história. O consumo irresponsável e sem fundamentação
sustentável no desenvolvimento econômico, além da poluição dos rios e mananciais, são
fatores relevantes na redução da disponibilidade de água potável no planeta.
Um dos setores mais afetados pela escassez de água é a agricultura. Os longos
períodos de estiagem afetaram substancialmente a produção do setor nesse ano, sobretudo
dos pequenos e médios produtores, gerando grande impacto no produto interno bruto do
país.
A atual conjuntura nos desafia a desenvolver meios de produção que explorem de
forma sustentável os recursos naturais, por exemplo, o aperfeiçoamento das estratégias de
controle dos sistemas de irrigação atualmente empregados, proporcionando maior eficiência
na produção do setor agrário, economia hídrica nos cultivos e, por consequência,
impulsionando a economia.
Diante desse contexto, esse trabalho propõe um sistema de irrigação automático
utilizando controlador PID, no intuito de auxiliar o produtor rural a aumentar a produção
irrigada de alimentos, usando a água de forma racional e com baixo custo operacional. Além
disso, o modelo desenvolvido pode ser aplicado no paisagismo, mais especificamente na
irrigação de plantas em ambientes domésticos, auxiliando àquelas pessoas que tem pouco
tempo para cuidar de suas plantas a mantê-las sempre com a quantidade de água
adequada.
O controlador Proporcional-Integral-Derivativo (PID) é o algoritmo de controle mais
utilizado na indústria, devido à sua simplicidade funcional e ao seu desempenho robusto
para diversas condições de funcionamento. Seus três coeficientes, proporcional, integral e
derivativo, são variados para obtenção da resposta ideal.
Entretanto, para que o controle ocorra é necessário realizar o sensoriamento do
sistema. Os sensores fornecem ao controlador informações acerca das grandezas
envolvidas no processo. O dispositivo de controle, por sua vez, estimula os atuadores a
alcançarem o objetivo desejado.
Este documento está dividido em seis capítulos. O primeiro, Introdução, trata da
descrição completa do tema proposto, da motivação do projeto, dos objetivos a serem
alcançados, além desta seção que descreve a organização do texto. O segundo capítulo,
Revisão bibliográfica, traz um estudo dos conceitos teóricos inerentes ao projeto, a fim de
facilitar a compreensão do leitor. O terceiro capítulo, Metodologia, descreve detalhadamente
o trabalho realizado, os métodos analíticos e as técnicas empregadas. No quarto capítulo,
6
Resultados, é feita uma análise dos resultados obtidos, com as observações e comentários
pertinentes. No quinto capítulo, Conclusões, são apresentadas as principais constatações
advindas da discussão dos resultados obtidos com a realização do trabalho. O sexto
capítulo, Propostas de trabalhos futuros, traz novos desenvolvimentos que podem ser
vislumbrados a partir dos resultados alcançados.
7
2. REVISÃO BIBLIOGRÁFICA
A finalidade deste capítulo é facilitar o entendimento do projeto, estudando os
conceitos teóricos pertinentes. Embora alguns dos conceitos citados demandem um
detalhamento mais extenso do tema para sua total compreensão, visando manter o foco
principal, apenas as características mais relevantes ao projeto serão apresentadas.
2.1. Umidade do solo
Segundo o Sistema Brasileiro de Classificação de Solos (SiBCS), (EMBRAPA, 2006),
o solo é uma coleção de corpos naturais, constituídos de partes sólidas, líquidas e gasosas,
tridimensionais, dinâmicos, formados de material orgânico e mineral. Ocupam a maior parte
do manto superficial das extensões continentais do nosso planeta, contém matéria viva e
podem ser vegetados na natureza, onde ocorrem. Ocasionalmente podem ter sido
modificados por atividades humanas.
A umidade do solo (h) é um dos elementos mais relevantes no controle dos
processos hidrológicos, visto que exerce influência na geração do escoamento superficial,
na evaporação do solo, na transpiração das plantas e em uma série de interações
geográficas e pedogênicas (ÁVILA et al., 2010). É definida como a massa de água (Pa)
contida em uma amostra de solo dividida pela massa de solo seco (Ps), sendo expressa em
quilogramas de água por quilogramas de solo. Multiplicando-se o resultado da operação por
100, tem-se o valor da grandeza em porcentagem. Dessa forma, temos que h=Pa
Ps
.
2.2. Sensor de umidade do solo
Segundo FUENTES (2010), sensor é um dispositivo que converte uma grandeza
física de qualquer espécie em outro sinal que possa ser transmitido a um elemento
indicador, para que este mostre o valor da grandeza que está sendo medida ou que seja
inteligível para o elemento de comparação de um sistema de controle.
A figura 1 ilustra o sensor de umidade do solo utilizado no projeto, modelo YL-69,
desenvolvido pela Centenary Materials Co. Este sensor consiste em duas sondas, utilizadas
para passar corrente através do solo e fazer a leitura da resistência do mesmo, com o intuito
de estimar sua umidade. Possui ainda quatro pinos, sendo um Vcc, que pode ser alimentado
com tensões entre 3,3V e 5V, um GND, utilizado como referência de tensão, e duas saídas,
sendo uma digital (D0) e outra analógica (A0). A saída digital assumirá nível lógico alto
quando o solo estiver seco e nível lógico baixo quando o solo estiver úmido. A sensibilidade
8
do sensor pode ser ajustada através do potenciômetro presente nele. Por outro lado, a saída
analógica pode assumir qualquer valor, desde que esteja dentro da sua faixa de operação.
Figura 1 - Sensor de umidade de solo utilizado no projeto. Fonte: Centenary Materials Co.
2.3. Controladores PID
De acordo com OGATA (1993), a introdução de um controlador em um determinado
sistema visa a modificação de sua dinâmica, manipulando a relação entrada/saída através
da atuação sobre um ou mais dos seus parâmetros, com o objetivo de satisfazer certas
especificações com relação à sua resposta.
Segundo a National Instruments, o Proporcional-Integral-Derivativo (PID) é o
algoritmo de controle mais usado na indústria e tem sido utilizado em todo o mundo para
sistemas de controle industrial. A popularidade de controladores PID pode ser atribuída em
parte ao seu desempenho robusto em uma ampla gama de condições de funcionamento e
em parte à sua simplicidade funcional, que permite aos engenheiros operá-los de uma forma
simples e direta. Como o nome sugere, o algoritmo PID é composto por três coeficientes:
proporcional, integral e derivativo, que são variados para obter a resposta ideal.1
Um aumento na componente proporcional diminui o erro de estado estacionário (ess),
porém, em geral, torna o sistema mais oscilatório, podendo instabilizá-lo. Em suma, melhora
o desempenho do sistema em regime permanente, porém piora o transitório.
Por sua vez, o efeito da adição da componente integral é conduzir o erro de regime
permanente para zero. No entanto, como aumenta a ordem do sistema, acrescenta
possibilidades de instabilidade diferentes daquelas apresentadas pelo sistema original.
1 Explicando a teoria PID. National Instruments, 2011. Disponível em: <http://www.ni.com/white-paper/3782/pt/>. Acesso em: 16/10/2014.
9
A componente derivativa avalia a tendência do sistema para ocorrência de erros em
instantes futuros e gera uma ação contrária antes que estes ocorram. Tem a desvantagem
de amplificar os sinais de ruído, o que pode causar um efeito de saturação nos atuadores do
sistema, levando-o à instabilidade.
O controlador PID tem sua ação de controle u(t ) representada pela equação 1.
u (t )=K p e ( t )+K i∫0
t
e (τ )dτ+Kd
de (t)dt
(1)
2.4. Arduino
Um microcontrolador é um sistema computacional completo inserido em um único
circuito integrado. Possui CPU, memória de dados RAM (Random Access Memory) e
programa ROM (Read Only Memory) para manipulação de dados e armazenamento de
instruções, sistema de clock para dar sequência às atividades da CPU, portas de I/O, além
de outros possíveis periféricos, como módulos de temporização, conversores analógico-
digitais e até mesmo, nos mais avançados, conversores USB (Universal Serial Bus) ou
Ethernet (MICROCHIP TECHNOLOGY INC., 2009 apud SOARES, 2013, p.5).
Dentre as plataformas de desenvolvimento que utilizam microcontroladores, o
Arduino, plataforma de prototipagem aberta baseada em hardware e software flexíveis e de
fácil utilização, tem ganhado um grande destaque. O hardware é composto de um
microcontrolador Atmel AVR, um cristal oscilador e um regulador linear de 5 volts. A placa
expõe os pinos de entrada e saída em um encaixe padrão para que se possa conectar
circuitos externos que agregam novas funcionalidades. (MCROBERTS, 2011 apud GOMES
e TAVARES, 2013, p.2).
O ambiente de desenvolvimento do Arduino é um compilador gcc (C e C++) que usa
uma interface gráfica construída em Java. Basicamente se resume a um programa IDE
muito simples de se utilizar e de estender com bibliotecas que podem ser facilmente
encontradas. As funções da IDE do Arduino são, basicamente, permitir o desenvolvimento
de um software e enviá-lo à placa para que possa ser executado. (MCROBERTS, 2011
apud GOMES e TAVARES, 2013, p.2).
Neste trabalho será utilizada a placa Arduino UNO, mostrada na figura 2. De acordo
com DURFEE (2011), as principais características dessa placa são o uso do
microcontrolador ATmega328, 14 pinos de entrada/saída digital, dentre os quais 6 podem
ser utilizados como saídas PWM (Pulse-Width Modulation), 6 pinos de entrada/saída
analógicos, 32 KB de memória flash, 2 KB de SRAM, 1 KB de EEPROM, um oscilador de
10
cristal de 16 MHz, uma conexão USB, um conector ICSP (In-Circuit Serial Programming) de
6 pinos, um botão de reset e um LED configurável.
Figura 2 - Placa Arduino Uno. Fonte: Eletrodex Eletrônica.
11
3. METODOLOGIA
3.1. Obtenção da curva de calibração do sensor
A primeira etapa do projeto consistiu em obter dados para aproximação da curva de
calibração do sensor de umidade do solo, que relaciona a umidade com a tensão de saída
do sensor.
A terra utilizada no experimento foi coletada, peneirada e deixada ao sol por dois
dias, de forma a secá-la completamente. Após a secagem, a terra foi pesada e 1kg dela foi
selecionado para a realização dessa etapa do projeto.
Foram feitos pequenos furos no fundo recipiente onde a terra foi colocada, de forma
a minimizar o risco de encharcamento. Além disso, um recipiente contendo areia foi
colocado embaixo do primeiro, com o objetivo de auxiliar na drenagem do sistema.
O sensor foi alimentado com 5,0V. A cada 20 ml de água adicionada à terra, a
tensão obtida na saída era medida através de um multímetro. As medições foram iniciadas
com a terra completamente seca e realizadas até 500ml de água adicionados a 1kg de terra,
o que representa umidade do solo de 50%. Um borrifador foi utilizado para distribuir a água
o mais uniformemente possível. Porém, observou-se que ainda assim seria impossível obter
umidade homogênea em toda a porção de terra. Assim sendo, o sensor foi posicionado em
três diferentes pontos do recipiente para cada valor de umidade, com o objetivo de
minimizar erros aleatórios. A tensão de saída do sensor foi tomada como a média dessas
três medições.
3.2. Modelagem do sistema
Modelagem matemática é o processo de obtenção de equações ou gráficos que
possam representar, da forma mais fiel possível, as características ou comportamentos de
um sistema real (GARCIA, 1997 apud COTA et al., 2010, p.2). A segunda etapa do projeto
consistiu em obter um modelo matemático para o sistema, por meio da resposta ao trem de
pulsos.
Para aplicar o trem de pulsos ao sistema foi desenvolvido, através do software
LabVIEW, um programa computacional responsável por controlar por quanto tempo a
bomba ficaria ligada, o intervalo de tempo entre os pulsos, necessário para a terra retornar
ao estado original, bem como a amplitude do pulso aplicado. Após alguns testes definiu-se
os valores ótimos para a realização do ensaio: 5V para a amplitude do pulso, que a bomba
seria acionada por 1 segundo e que o intervalo entre os pulsos seria de 11699 segundos, ou
3 horas, 14 minutos e 59 segundos. O tempo de amostragem utilizado foi 1000ms.
12
Entretanto, o CompactRIO, sistema de hardware responsável por receber e executar
as informações de controle e monitoramento advindas do LabVIEW, não dispõe da potência
necessária para acionar a bomba utilizada no projeto. Assim sendo, foi necessário utilizar
um circuito auxiliar de acionamento para a bomba, mostrado na figura 3.
Figura 3 - Circuito utilizado para acionar a bomba no ensaio da resposta ao trem de pulsos. Desenho: software QEletroTech.
O terminal positivo da bomba foi ligado a uma fonte de tensão com potência
necessária para acioná-la. Por outro lado, o terminal negativo foi ligado ao coletor do
transistor. O TIP120, transistor utilizado no ensaio, tem a função de realizar o chaveamento
do circuito, ou seja, ligar ou desligar a bomba, baseado na tensão aplicada pelo
CompactRIO em seu terminal de controle. Nível lógico alto aplicado à base do transistor
aciona a bomba, do contrário a bomba permanecerá desligada.
O cálculo da resistência de base do circuito é feito com base nos dados da carga,
nesse caso, a bomba. A corrente drenada pela bomba, em condições nominais de
operação, é 1,76A. O TIP120 possui β, fator de ganho estático de corrente do transistor na
configuração emissor comum, igual a 1000. Portanto, a corrente de base do transistor será:
IB=ICβ
= 1,761000
=1,76mA (2)
Com o objetivo de garantir que o transistor opere em sua região de corte/saturação,
utiliza-se o chamado fator de forçamento, ou fator de overdrive, usualmente adotado como
10. Dessa forma, temos que:
IBOD=10×IB=10×1,76×10
−3=17,6mA (3)
13
De acordo com o datasheet do TIP120, a tensão entre os terminais base e emissor
do transistor em modo de saturação é 2,5V. Portanto, a resistência de base do circuito será
igual a:
RB=V BB−V BE
I BOD
= 5−2,517,6×10−3
=142Ω (4)
Considerando-se a utilização do fator de overdrive, pode-se admitir que para valores
de resistência de base entre 142Ω e 1,42kΩ o transistor atuará na região de
corte/saturação. Assim sendo, por questões de disponibilidade de componente e
praticidade, optou-se por utilizar um resistor de 1kΩ no circuito.
É importante observar que circuitos indutivos podem causar graves danos aos
transistores devido à variação abrupta da corrente no momento do desligamento. Para
contornar esse problema utilizou-se um diodo 1N5819, chamado “roda livre”.
A figura 4 ilustra um suporte confeccionado para evitar gotejamento, problema
encontrado nos primeiros ensaios. Além disso, objetivando a irrigação de uma porção maior
de terra, foi acoplado um chuveirinho à mangueira de saída de água da bomba, por meio de
cola de secagem rápida.
Figura 4 - Suporte confeccionado para evitar gotejamento.
14
3.3. Projeto do controlador
Para determinação dos parâmetros do controlador adequado ao sistema foi utilizada
a ferramenta sisotool do software Matlab. Essa toolbox permite projetar um compensador de
única entrada e única saída (SISO) utilizando lugar das raízes, diagramas de Bode e
Nyquist, ou ainda, métodos de Ziegler-Nichols. A figura 5 ilustra a arquitetura de controle
padrão do sisotool, onde F representa um pré-filtro, C é o controlador a ser sintonizado, G é
o modelo matemático da planta em questão e H representa um sensor, a realimentação do
sistema.
Figura 5 - Arquitetura de controle padrão do sisotool. Fonte: MathWorks Inc.
3.4. Implementação do controlador
A implementação do controlador pode ser dividida em duas etapas: software e
hardware.
3.4.1. Software
O software nada mais é do que a lógica implementada na placa Arduino UNO. O
ambiente de desenvolvimento do Arduino é um compilador gcc (C e C++) que usa uma
interface gráfica construída em Java. O código fonte utilizado no projeto pode ser
visualizado no anexo A deste documento.
3.4.2. Hardware
O hardware é a parte física da implementação do projeto. É composto por uma placa
Arduino UNO, uma bomba, um sensor de umidade do solo, um transistor TIP122, um display
LCD 16x2, um diodo 1N5819, dois potenciômetros de 10kΩ, dois resistores de 1kΩ e um
dissipador de calor.
3.4.1.1. Montagem na matriz de contatos
A figura 6 mostra o circuito montado na matriz de contatos. O Arduino UNO tem por
função monitorar e controlar o processo, com base nas informações de informações de
entrada e setpoint do sistema, advindas do sensor de umidade do solo e de um
15
potenciômetro de 10kΩ, respectivamente. Por sua vez, o display LCD 16x2 é responsável
pela interface com o usuário, exibindo as informações de umidade atual e desejada. Um
resistor de 1kΩ foi conectado entre o pino 5 do LCD e a referência de tensão do circuito, a
fim de ajustar o brilho do painel. Além disso, um potenciômetro de 10kΩ foi ligado no pino 3
do display, no intuito de ajustar seu contraste. Assim como no ensaio da resposta ao trem
de pulsos, descrito no item III.2 deste documento, o transistor TIP122 tem por função
chavear a tensão aplicada à bomba, baseado na saída PWM do Arduino. Por ser tratar da
mesma carga a ser acionada, o valor da resistência de base é igual ao adotado
anteriormente, ou seja, 1kΩ. O diodo 1N5819 tem por função proteger o transistor contra
variações abruptas de corrente, típicas de circuitos indutivos. Por fim, um dissipador de calor
foi instalado na parte superior do TIP122, visando maximizar a taxa de dissipação térmica
entre o transistor e o ambiente externo.
Figura 6 - Hardware do projeto: montagem na matriz de contatos.
Desenho desenvolvido no software Fritzing.
3.4.1.2. Confecção da placa de circuito impresso
Uma vez testado e comprovado o bom funcionamento de todo software e hardware
na matriz de contatos, a última etapa do projeto foi a confecção da placa de circuito
impresso.
A figura 7 ilustra o layout do circuito, feito através da versão estudantil do software
Eagle, desenvolvido pela empresa CadSoft. É importante ressaltar que a versão gratuita
desse software possui algumas limitações e é restrita a projetos acadêmicos ou sem fins
lucrativos.
16
Figura 7 - Layout da placa de circuito impresso utilizada, desenvolvido no software Eagle.
O layout acima foi impresso em papel fotográfico e transferido para a placa através
de um ferro de passar. A seguir, foi utilizado Percloreto de Ferro (FeCl3 ¿ para corroer o
cobre da região da placa não coberta pelo layout. Finalizando o processo, a placa foi furada
nos locais adequados e os componentes, então, soldados. A figura 8 ilustra o hardware do
projeto dentro de uma caixa de madeira, confeccionada para abrigá-lo.
Figura 8 - Hardware do projeto: placa de circuito impresso.
17
4. RESULTADOS
4.1. Obtenção da curva de calibração do sensor
A tabela 1 mostra as tensões de saída do sensor obtidas nos pontos de medição
adotados, bem como suas respectivas médias, para cada valor da umidade do solo.
Tabela 1 - Dados coletados em laboratório: tensão de saída do sensor versus umidade do solo.
Umidade do solo
(%)
Tensão medida na saída do sensor (V)
1º ponto de
medição
2º ponto de
medição
3º ponto de
medição
Médi
a0 5,013 5,012 5,013 5,012
72 5,011 5,002 5,004 5,005
74 4,984 4,978 4,988 4,983
36 4,977 4,963 4,954 4,964
78 4,966 4,934 4,936 4,945
310 4,944 4,947 4,882 4,924
312 4,865 4,889 4,888 4,880
714 4,790 4,899 4,846 4,845
016 4,865 4,777 4,747 4,796
318 4,730 4,838 4,683 4,750
320 4,524 4,544 4,590 4,552
722 4,502 4,485 4,445 4,477
324 4,435 4,278 4,287 4,333
326 4,083 4,204 4,255 4,180
728 3,834 3,940 3,688 3,820
730 3,525 3,466 3,224 3,405
032 3,117 2,997 2,694 2,936
034 2,212 2,456 2,308 2,325
336 2,053 1,958 1,833 1,948
038 1,650 1,703 1,677 1,676
740 1,639 1,654 1,628 1,640
342 1,641 1,637 1,623 1,633
744 1,640 1,605 1,618 2,621
046 1,606 1,592 1,605 1,601
048 1,582 1,537 1,594 1,571
050 1,536 1,526 1,551 1,537
7
Observou-se que após 38% de umidade do solo, a capacidade da terra absorver
água diminuiu consideravelmente. Além disso, o sensor apresentou um comportamento um
tanto quanto não linear. Por esses motivos, julgou-se necessário aproximar a curva de
calibração por partes.
18
Por meio do software Matlab, obteve-se a curva de calibração do sensor através do
método dos mínimos quadrados, relacionando as variáveis umidade do solo e tensão de
saída do sensor por expressões matemáticas. A figura 9 mostra um gráfico tensão versus
umidade, gerado através dos dados coletados, bem como a curva de calibração do sensor.
Figura 9 - Curva de calibração do sensor de umidade do solo. Gráfico gerado no Matlab.
Tendo em vista o comportamento do sensor, um primeiro intervalo foi tomado para
valores de umidade menores ou iguais a 10%. Para este intervalo a curva de calibração
obtida foi y = -0,0091619x+5,0185, onde x corresponde à umidade do solo e y representa a
tensão de saída do sensor. Do mesmo modo, para o segundo intervalo, compreendido entre
10 e 38% de umidade relativa do solo, incluindo o último valor, a curva de calibração obtida
foi y = -0,0055816x²+0,14976x+3,8943. Por fim, para valores de umidade superiores a 38%
e inferiores ou iguais a 50% a curva de calibração obtida foi y = -0,010506x+2,0739.
4.2. Modelagem do sistema
Os dados referentes à tensão aplicada à bomba e à tensão de saída do sensor
durante o ensaio foram coletados pelo LabVIEW e salvos em arquivos com extensão txt.
Com as devidas modificações, esses arquivos foram carregados no Matlab e um gráfico que
ilustra a resposta do sistema ao trem de pulsos foi gerado. A figura 10 mostra o referido
gráfico.
19
Figura 10 - Resposta do sistema ao trem de pulsos. Gráfico gerado no software Matlab.
O Matlab possui uma toolbox chamada System Identification capaz de identificar
sistemas a partir de seus dados de entrada e saída. Essa ferramenta foi utilizada na
obtenção de um modelo matemático para o sistema em questão.
A toolbox foi aberta digitando-se "Ident" no prompt de comando do Matlab. Os dados
de entrada e saída do sistema foram importados através da opção "Data Object", da aba
"Import Data". O System Identification, através da aba "Estimate", oferece diversas opções
de modelos matemáticos, por exemplo, função de transferência, espaço de estados,
polinomiais, entre outros. O modelo ARX de tempo discreto foi o que melhor representou o
comportamento do sistema e a função matemática correspondente é ilustrada nas equações
5, 6 e 7.
A(z ) y (t )=B(z )u ( t )+e (t) (5)
onde e (t) não foi considerado neste trabalho e:
A ( z )=1−0,2409 z−1−1,7768 z−2+0,08895 z−3−0,07122 z−4 (6)
B (z )=−0,02404 z−1−0,1658 z−2 (7)
A figura 11 mostra a comparação entre os dados medidos e o modelo obtido.
Observa-se que embora a modelagem do sistema não tenha sido ótima, ou seja, capaz de
representá-lo fielmente, o modelo escolhido conseguiu seguir a tendência do sistema, o
suficiente para se projetar um controlador adequado para o mesmo.
20
Figura 11 - Validação do modelo matemático estimado. Gráfico gerado no software Matlab.
4.3. Projeto do controlador
Primeiramente, o modelo matemático do sistema foi exportado da toolbox System
Identification para a área de trabalho do Matlab. A opção "To Workspace" da ferramenta
executou tal tarefa.
A toolbox de projeto de controladores do Matlab foi aberta digitando-se sisotool no
prompt de comando. Com a ferramenta aberta, o modelo matemático estimado foi importado
para a arquitetura do sistema de controle, através da opção "System Data" da aba
"Architeture".
Na aba "Automated Tuning", em "Design Method", a opção "PID Tuning" foi
selecionada e o controlador adequado para o sistema sintonizado. A equação 8 mostra a
função matemática que descreve o controlador PI projetado.
C (W )=−0,016276 ∙(1+1,8 ∙102∙W )
W(8)
onde:
W=(Z−1)T
(9)
O termo T da equação 9 se refere ao tempo de amostragem utilizado na etapa de
modelagem do sistema, ou seja, no ensaio da resposta ao trem de pulsos, e é equivalente a
1 segundo.
21
A equação 10 ilustra a transformada bilinear, utilizada para converter sinais do
domínio Z para o domínio s, e vice-versa.
Z=1+ T ∙ s
2
1−T ∙ s2
(10)
Substituindo-se a equação 9 em 8, utilizando-se a transformada bilinear e
rearranjando-se os termos temos:
C ( s )=1,464840∗(1+ 10,505618 ∙ s ) (11)
e, portanto:
K p=1,464840 (12)
T i=0,505618 (13)
A figura 12 mostra a reposta ao degrau do sistema compensado. Observa-se, a
princípio por simulação, que o desempenho do controlador projetado foi satisfatório,
levando-se em consideração o baixo tempo de acomodação e irrelevante sobressinal
apresentados.
Figura 12 - Resposta ao degrau do sistema compensado. Gráfico gerado no software Matlab.
22
4.4. Implementação do controlador
A placa Arduino UNO é alimentada via USB, conectando-a a um computador portátil.
Essa placa é responsável também por fornecer a alimentação a outros componentes do
circuito, como o sensor de umidade do solo, o display LCD 16x2 e os potenciômetros.
Por outro lado, a bomba é alimentada por uma fonte de tensão contínua, capaz de
lhe fornecer a potência necessária para seu funcionamento. De acordo com a Mabuchi
Motor Co., fabricante da bomba utilizada no projeto, a corrente drenada por ela, em
condições nominais de operação, é 1,76A. Esse valor de corrente é obtido alimentando-a
com 7,2V.
Observou-se durante a realização dos testes no sistema que a bomba apresentou
problemas na partida, dependendo da posição relativa entre rotor e estator de seu motor. A
explicação plausível para o fato é que houve um desgaste de algumas escovas e lâminas do
comutador do motor, ocasionado, provavelmente, por acionamentos e desligamentos
sucessivos.
A bomba utilizada no projeto funciona para valores de tensão entre 3 e 9V. Dessa
forma, se fez necessário limitar o valor mínimo assumido pelo ciclo de trabalho do sinal de
PWM ao correspondente à mínima tensão de funcionamento da mesma.
O funcionamento do controlador projetado foi parcialmente afetado por essa
condição, em especial o sobressinal do sistema, chegando, em algumas ocasiões, a
ultrapassar em 2% o setpoint ajustado. Além disso, em torno do valor de umidade desejado,
o controlador PID apresentou comportamento semelhante a um controlador On-off, ligando a
bomba, quando necessário, fornecendo-a a mínima tensão de operação.
A figura 13 mostra a parte de hardware do projeto em funcionamento. Apesar do
problemas relatados acima, o controlador funcionou satisfatoriamente, executando a função
dele esperada, ou seja, manter a umidade do solo em torno do valor pré-estabelecido.
23
Figura 13 - Hardware do projeto em funcionamento.
5. CONCLUSÃO
Este trabalho apresentou o desenvolvimento teórico e experimental de um
controlador PID aplicado a sistemas de irrigação. Apesar das dificuldades e problemas
encontrados, o funcionamento adequado do modelo proposto demonstrou sua eficácia e
viabilidade para aplicações em agricultura e paisagismo, conforme o propósito do projeto.
A realização deste projeto proporcionou ainda a integração de conteúdos
relacionados com as diversas áreas da Engenharia Elétrica, sobretudo controle e eletrônica,
propiciando a consolidação do conhecimento teórico adquirido durante a graduação.
Por fim, ressalta-se a importância da realização de projetos acadêmicos dessa
natureza, que visam confrontar problemas reais da sociedade, na contribuição para o
desenvolvimento socioambiental sustentável do planeta.
24
6. PROPOSTAS DE TRABALHOS FUTUROS
O modelo matemático obtido foi capaz de seguir a tendência do sistema, porém não
o representou fielmente. Melhorias no projeto podem ser vislumbradas a partir do
aperfeiçoamento do processo de modelagem adotado, ocasionando maior precisão do
controlador implementado e, por consequência, melhores índices de desempenho do
sistema.
Apesar de o controle desenvolvido neste trabalho ter aplicação restrita a sistemas de
irrigação de pequeno porte, a ideia nele contida aborda um assunto amplo e com muitas
possibilidades de crescimento. O modelo construído teve, sobretudo, finalidade acadêmica e
por esta razão a comunicação entre o sensor de umidade do solo e a placa Arduino UNO foi
feita através de fios, algo que seria inviável em um sistema de irrigação de grande porte.
Assim sendo, a expansão do sistema de controle desenvolvido passa, necessariamente,
pelo uso de um meio de comunicação sem fio entre o sensor e o microcontrolador.
A comunicação wireless possibilitaria ainda o uso de diversos sensores,
posicionados em pontos estratégicos das plantações, permitindo um aumento na área
monitorada pelo sistema.
Havendo a necessidade de se utilizar mais de um sistema de irrigação para a área
de cultivo, uma sugestão seria a interligação dos sistemas, de modo que a irrigação seja
sempre ótima, baseada na quantidade de água disponível.
25
7. REFERÊNCIAS BIBLIOGRÁFICAS
EMPRESA BRASILEIRA DE PESQUISA AGROPECUÁRIA - EMBRAPA. Sistema Brasileiro
de Classificação de Solos. Brasília: Centro Nacional de Pesquisas de Solos, 370p. 2006.
Disponível em: <http://www.agrolink.com.br/downloads/sistema-brasileiro-de-classificacao-
dos-solos2006.pdf>. Acesso em: 14/10/2014.
ÁVILA, L. F.; MELLO, C. R.; SILVA, A. M. Continuidade e distribuição espacial da umidade
do solo em bacia hidrográfica da Serra da Mantiqueira. Revista Brasileira de Engenharia
Agrícola e Ambiental. v.14, n.12, p.1257–1266. Campina Grande, PB. 2010. Disponível em:
< http://www.scielo.br/pdf/rbeaa/v14n12/02.pdf>. Acesso em: 14/10/2014.
FUENTES, Rodrigo Cardozo. Apostila de Automação Industrial. Universidade Federal de
Santa Maria. Curso de Eletrotécnica, 2005. Disponível em: <http://w3.ufsm.br/fuentes/index_
arquivos/CA03.pdf>. Acesso em: 16/10/2014.
OGATA, K. Engenharia do controle moderno. 2. ed. São Paulo: Prentice Hall do Brasil,
1993.
26
SOARES, Henrique Nogueira. Desenvolvimento de Protótipo de Veículo Controlado por
Realidade Virtual. Universidade Federal de Ouro Preto. Engenharia de Controle e
Automação, 2013. Disponível em: <http://www.em.ufop.br/cecau/monografias/2013/Henrique
%20Nogueira%20Soares.pdf>. Acesso em: 25/11/2014.
MCROBERTS, M. Arduino Básico. São Paulo: Novatec, 2011.
GOMES, Evandro Luís Brandão; TAVARES, Luís Antônio. Uma solução com Arduino para
controlar e monitorar processos industriais. Instituto Nacional de Telecomunicações. Pós
Graduação em Engenharia de Sistemas Eletrônicos, Automação e Controle Industrial, 2013.
Disponível em: <www.inatel.br/pos/index.php/downloads/doc_download/26-luis-tavares-
arduino>. Acesso em: 25/11/2014.
DURFEE, W. Arduino Microcontroller Guide. University of Minnesota, 2011. Disponível em:
<http://www.me.umn.edu/courses/me2011/arduino/arduinoGuide.pdf>. Acesso em:
25/11/2014.
GARCIA, C. Modelagem e simulação de processos industriais e de sistemas
eletromecânicos. EDUSP. São Paulo, 1997.
COTA, Felipe E. M.; TORRES, André G.; RODRIGUES, Lucas F.; RODRIGUES, Denílson
E.; MOREIRA, Kétia S. Modelagem Matemática do Sistema de Temperatura da Planta
Didática de Automação Industrial SMAR-PD3. Universidade Federal de Viçosa. Curso de
Engenharia Elétrica, 2010. Disponível em: <https://www3.dti.ufv.br/sig_del/consultar/downlo
ad/197>. Acesso em: 28/10/2014.
27
ANEXO A - CÓDIGO FONTE UTILIZADO NO PROJETO
// Universidade Federal de São João del Rei
// Graduação em Engenharia Elétrica
// Trabalho Final de Curso
// Tema: Sistema de irrigação automático para vasos e plantas
// Autor: Jhonathan Campos Resende
// Orientador: Prof. MSc. Samir Angelo Milani Martins
#include <LiquidCrystal.h>
#include <PID_v1.h>
// Declarando as variáveis
int Digital_Sensor = 0;
int Digital_Pot = 0;
float VDD = 5.019;
float Analog_Sensor = 0.0;
float Analog_Pot = 0.0;
double Umidade_Atual = 0;
28
double Umidade_Desejada = 0;
double Duty_Cycle;
float Resolucao = VDD/1023.0;
// Inicializando a biblioteca para trabalhar com o display LCD.
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Inicializando a biblioteca para trabalhar com controle PID.
PID myPID(&Umidade_Atual, &Duty_Cycle, &Umidade_Desejada, 1.464840, 0.505618, 0.0,
DIRECT);
void setup()
lcd.begin(16, 2);
Digital_Sensor = analogRead(0);
Digital_Pot = analogRead(3);
myPID.SetMode(AUTOMATIC);
void loop()
delay(100);
lcd.clear();
//Sensor de umidade de solo
Digital_Sensor = analogRead(0);
Analog_Sensor = Digital_Sensor*Resolucao;
if(Analog_Sensor >= 4.750)
29
Umidade_Atual = -65.6259*Analog_Sensor+331.2778;
else if(Analog_Sensor > 1.677)
Umidade_Atual = -1.4072*(pow(Analog_Sensor,2))+3.2957*Analog_Sensor+35.2236;
else if(Analog_Sensor <= 1.677)
Umidade_Atual = -91.488*Analog_Sensor+191.4438;
lcd.setCursor(0, 0);
lcd.print("Atual: ");
lcd.setCursor(7, 0);
lcd.print((int)Umidade_Atual);
lcd.setCursor(9, 0);
lcd.print("%");
// Potenciômetro
Digital_Pot = analogRead(3);
Analog_Pot = Digital_Pot*Resolucao;
Umidade_Desejada = 10*Analog_Pot;
lcd.setCursor(0, 1);
lcd.print("Desejada: ");
lcd.setCursor(10, 1);
lcd.print((int)Umidade_Desejada);
lcd.setCursor(12, 1);
lcd.print("%");
30
// Controlador PID
myPID.Compute();
if ((Duty_Cycle<117) && (Duty_Cycle>0))
Duty_Cycle=117;
analogWrite(6, Duty_Cycle);