Escolar Documentos
Profissional Documentos
Cultura Documentos
Orientador:
Coorientador:
Manaus
2018
AUTOMATIZAÇÃO EM UM SISTEMA HIDROPÔNICO DE PEQUENO PORTE
Aprovada por:
_____________________________________________
_____________________________________________
_____________________________________________
Manaus
2018
Ficha Catalográfica
AGRADECIMENTOS
Vegetables have a very important role in human cooking and are also very
beneficial to health. Its cultivation in hydroponic gardens, with the total absence
of soil for plant fixation, has given many advantages in agriculture, for example:
the action of insects and microorganisms are reduced, with this, in most cases,
dispenses the use of pesticides harmful to health; rational use of water, reducing
waste; and cultivated vegetables have higher quality and longevity on the shelves
because they are grown in controlled environments and taken with the root. The
type of hydroponic system proposed for the project is the NFT (Nutrient Film
Technique). In this technique, the plants are placed in channels where a slide of
water containing the necessary nutrients for the crop passes. In this project, the
objective is the reduced construction of an NFT hydroponic system developing a
monitoring system of some climatic variables and the control of the reservoir
water pH using the Arduino platform.
1 – INTRODUÇÃO ........................................................................................... 11
3 – DESENVOLVIMENTO ............................................................................... 31
3.4 PROTÓTIPO........................................................................................... 39
5 – CONCLUSÃO ............................................................................................ 43
1 – INTRODUÇÃO
Este trabalho tem o principal objetivo de desenvolver um sistema de
monitoramento e controle em um sistema de cultivo hidropônico de proporções
reduzidas para a produção de hortaliças. Para a elaboração desse sistema,
utilizamos a plataforma Arduino, sensores e atuadores que iram fazer o
monitoramento de pH, temperatura da água, umidade e temperatura ambiente.
O controle proposto será no nível de pH no reservatório da solução nutricional e
na irrigação do sistema.
O termo hidroponia deriva de duas palavras gregas: hydro, água, e ponos,
trabalho. A combinação dessas duas palavras significa “trabalhar com a água”
e, implicitamente, o uso de soluções de adubos químicos para se criar plantas
sem-terra. Este significado opõe-se à agricultura convencional, que poderia ser
denominada de geoponia (geo = terra) (DOUGLAS, 1997).
Apesar dessa técnica de cultivo sem o uso do solo ou outro substrato
como fonte de nutrientes ser bem antiga, a hidroponia só foi introduzida em
Manaus na década de 90 por agricultores do ramal do Ipiranga e no Brasil nesta
mesma época. Segundo os dados do Instituto de Desenvolvimento Agropecuário
e Florestal Sustentável do Amazonas (Idam), Manaus tem o maior potencial na
produção de alface hidropônica e, que, no período de 2014 a 2016, teve um
crescimento de 22% no cultivo dessa hortaliça.
Já foram criadas várias técnicas de cultivo em sistemas hidropônicos,
mas, atualmente, a técnica de Nutrient Filme Technique (NFT) é a mais utilizada.
Esse sistema consiste em imergir as raízes da planta em um fluxo laminar de
nutrientes para que estes sejam absorvidos. Isto será alcançado por meio de
uma bomba d’água controlada pelo sistema a ser desenvolvido, que efetuará
periodicamente a passagem da uma fina camada da solução nutricional, contida
em um reservatório, nas raízes das hortaliças.
Nos dias atuais a hidroponia se destaca pelo uso racional da água,
evitando o desperdício que ocorre nas produções convencionais, economia na
mão de obra, possibilidade de dispensar o uso de agrotóxicos e na diminuição
de perdas na produção.
Apesar da técnica NFT tenha sido aprimorada conforme o tempo, a
maioria das plantações fazem, manualmente, o controle e monitoramento de
12
1.1 MOTIVAÇÃO
Como já dito anteriormente, a hidroponia continua crescendo no Brasil por
causa de todas as suas vantagens, mas necessita de monitoramento constante
para não perder a produção. Conforme o produtor cresce, aumenta também as
despesas com a mão-de-obra.
A finalidade deste projeto é de reduzir custos operacionais mantendo a
excelência das hortaliças com a automação e, como o sistema é de proporções
reduzidas, também poderá ser aplicado em um contexto domiciliar, por não
precisar de um grande espaço para o cultivo.
1.2 OBJETIVO
Desenvolver um sistema de automação que monitore a umidade e
temperatura ambiente, temperatura e pH da solução nutritiva e que seja feito o
controle da irrigação e do nível de pH no reservatório em um sistema de cultivo
hidropônico usando a técnica NFT de proporções reduzidas utilizando a
plataforma Arduino.
2 – FUNDAMENTAÇÃO TEÓRICA
2.1 AUTOMAÇÃO
A automação pode ser definida como a tecnologia por meio da qual um
processo ou procedimento é alcançado sem assistência humana. É realizada
utilizando-se um programa de instruções combinado a um sistema de controle
que executa as instruções (GROOVER, 2011).
Desde muito tempo o homem já tentava mecanizar seus trabalhos, um
exemplo disso são a invenção da roda, moinhos de vento, rodas de água, etc.
Essas invenções mostram as tentativas do homem semiautomatizar seu trabalho
para poupar esforço.
Mas só na metade do século XVIII, na Inglaterra, que a automação
industrial começou a ganhar força com os sistemas de produção artesanal e
agrário começaram a se transformar em indústria e que foram criados os
primeiros dispositivos semiautomáticos.
Na agroindústria, a automação está tendo um grande desenvolvimento
pelo mundo e está sendo utilizada em muitas atividades no Brasil, mesmo que
em menor escala. Com isso, a agroindústria está adotando estratégias de
redução de custos e diferenciação na busca pela competitividade. Na base das
mudanças estão os investimentos em novas tecnologias e novos modelos de
gestão (GS1 BRASIL, 2008).
2.2 CONTROLE
O primeiro trabalho significativo em controle automático foi o de James
Watt, que construiu no século XVIII, um controlador centrífugo para o controle de
velocidade de uma máquina a vapor. Outros trabalhos importante nos primeiros
estágios de desenvolvimento da teoria do controle se devem a Minorsky, Hazen
e Nyquist, dentre outros (OGATA, 2003).
Ogata (2003) define sistemas de controle em dois modelos: malha aberta
e malha fechada. Em sistemas de controle em malha aberta o sinal de saída não
altera o sinal de controle que o gerou. Portanto, o sinal de saída não é medido
15
Fonte: Autor
Fonte: Autor
2.3 HIDROPONIA
A definição de hidroponia geralmente apresentada nas enciclopédias e
dicionários modernos é a de que se trata de uma técnica para se criar plantas
sem-terra, alimentando-as com soluções de água e sais minerais, em lugar dos
métodos tradicionais que se baseiam no cultivo do solo e que são, ainda hoje,
largamente utilizados por agricultores e jardineiros (DOUGLAS, 1997).
O cultivo hidropônico é bastante promissor, devido a uma série de
vantagens que apresenta em relação ao cultivo tradicional a campo e mesmo ao
cultivo protegido, no solo, assim como o uso de pequenas áreas, obtenção de
elevadas produtividades, permite o cultivo durante todo o ano, os produtos são
de boa qualidade com melhores preços no mercado, exige pequeno uso de
defensivos agrícolas, possibilita um uso eficiente e econômico de água e
fertilizantes, o sistema é livre da salinização por patógenos – comuns em cultivo
protegido em solo, dispensa a rotação de culturas e controle de plantas daninhas
e, como o solo não é utilizado, o ambiente é preservado. Algumas desvantagens
são: o custo inicial de implantação é elevado, exige um alto grau de tecnologia e
acompanhamento permanente do sistema, dependência de energia elétrica ou
de sistema alternativo, fácil disseminação de patógenos pelo sistema pela
própria solução (INFORME AGROPECUÁRIO, 1999).
Existem diversas técnicas de cultivo sem solo como: nutrient film
technique (NFT) – denominado de técnica do fluxo laminar de nutrientes;
deepfilm techinique (DFT) – também denominada de floating; em substrato; em
aeroponia – sistema em que as raízes das plantas ficam suspensas recebendo
água e nutrientes por atomizadores. Certamente, o NFT é a principal técnica
usada no Brasil (INFORME AGROPECUÁRIO, 1999).
Como pode ser visto na figura abaixo, a hidroponia em NFT possui um
reservatório onde a solução nutritiva é armazenada, do reservatório a solução
nutritiva é bombeada para a parte superior da bancada de cultivo passando pelos
canais e recolhida, na parte inferior do leito retornando ao tanque
(tudohidroponia.net).
17
Monitoramento
Cont. Irrigação
2.4.1 Arduino
Fonte: www.filipeflop.com
Microcontrolador ATmega328
Arquitetura AVR
Tensão de operação 5V
Memória Flash 32 Kb
SRAM 2 Kb
Velocidade de Clock 16 MHz
Pinos de entrada analógica 8
EEPROM 1 Kb
Corrente contínua nos pinos de 40 mA (I\O)
I\O
Tensão de entrada 7 – 12 V
Pinos Digitais 22 (Dos quais 6 são PWM)
Saída PWM 6
Consumo de corrente 19 mA
Dimensões 18 x 45 mm
Peso 7g
Código do produto A000005
Fonte: Adaptado de www.arduino.cc, 2018.
21
Apenas soldamos ele na parte de trás do display LCD, mas, se for mais
cômodo, já pode ser comprado já soldado.
O nome I2C (Inter-Integrated Circuit) se traduz basicamente em um
protocolo de comunicação entre dispositivos que também utilizam I2C. Às vezes
o barramento é chamado de IIC ou I²C. O barramento I2C foi projetado pela
Philips no início dos anos 80 para permitir a fácil comunicação entre os
componentes que estão na mesma placa de circuito. A Philips Semiconductors
migrou para a NXP em 2006 (www.i2c-bus.org, 2018, traduzido pelo autor).
O I2C não é usado apenas em placas individuais, mas também para
conectar componentes conectados por cabo. Simplicidade e flexibilidade são
características-chave que tornam esse barramento atraente para muitas
aplicações (Ibid., 2018).
Com a utilização desse módulo diminuimos a quantidade de pinos
utilizaveis para a ligação com o Arduino. Agora utilizamos apenas 4 pinos (1 em
VCC 5V; 1 em GND; e 2 que servem para a comunicação e controle do display
LCD).
23
Especificação Técnica
Alimentação 3,0V a 5,0V
Corrente 200uA a 500mA
Faixa de medição de
20% a 90%
umidade
Faixa de medição de
0ºC a 50ºC
temperatura
Precisão de umidade de
±5,0% UR
medição
Precisão de medição de
±2,0ºC
temperatura
Tempo de resposta < 5s
Dimensões 23mm x 12mm x 5mm
Fonte: www.filipeflop.com, 2018
1º pino - VCC
2º pino - Dados
4º pino – GND
Especificação Técnica
Chip DS18B20
Figura 9 - Relé
Fonte: www.findernet.com
26
VCC, pode ser alimentado pelo arduino ou por uma fonte externa, todos
os dois com 5V;
GND.
27
2.4.6 Motor-Bomba
O motor-bomba serve para bombear água para um determinado local. No
sistema NFT o motor-bomba deve, periodicamente, ser ligado para que a
solução nutritiva seja transportada para alimentar as plantas.
O motor-bomba será externo e não submersa na solução para não ocorrer
defeitos decorrentes da solução nutritiva para das plantas. E, como o projeto
será em escala reduzida o motor-bomba será o mesmo que utilizam em aquários.
Figura 11 - Motor-Bomba
Fonte: mercadolivre.com
Especificação técnica
Corrente 1050mA
Dimensão 9x5x7 cm
Fonte: mercadolivre.com
2.4.7 Sensor de pH
A caracteristica principal do projeto é o monitoramento e o controle do pH
do reservatorio onde fica a solução nutritiva das plantas.
O pH significa “potencial de hidrogênio”. O pH é a medida do nível de
alcalinidade e acidez de uma solução de água. Ele é medido numa escala de 1
28
Fonte: mercadolivre.com
Figura 13 - Eletrodo
Fonte: mercadolivre.com
29
Especificação técnica
Dimensão 42X32x20 mm
Fonte: mercadolivre.com
Pinagem:
To: temperatura;
Po: pH;
GND: Terra;
Fonte: mercadolivre.com
31
3 – DESENVOLVIMENTO
Neste capítulo serão abordados os tópicos referentes ao desenvolvimento
deste projeto. No primeiro subcapítulo é demostrado a construção de um sistema
hidropônico usando a técnica NFT de pequeno porte com base na aplicação dos
conceitos teóricos apresentados no capítulo 2. No segundo e terceiro
subcapítulos são feitos os sistema de monitoramento e de controle usando a
plataforma Arduino. E no último subcapitulo apresento o protótipo completo.
Fonte: Autor
Nosso projeto é feito para por 4 (quarto) mudas, então precisamos de, no
mínimo, 4 (quatro) litros de água no reservatório. Uma bacia de capacidade de
5 (cinco) litros foi utilizada.
Figura 16 - Bacia de água
Fonte: Autor
Fonte: Autor
Fonte: Autor
O pino SDA (Serial Data) conecta com a porta A4 do arduino, o pino SCL
(Serial Clock) na porta A5 do Arduino e o Vcc e GND nos mesmos do arduino.
No código, precisamos incluir a biblioteca chamada LiquidCrystal_I2C.h que já
faz a comunicação I2C com o arduino. A figura abaixo mostra a ligação com o
arduino nano:
Fonte: Autor
34
Fonte: Autor
Fonte: Autor
35
3.2.4 Modulo pH
Para o nosso projeto, utilizamos somente os pinos Po, GND e VCC do
sensor BNC pH meter. Com o pino Po ligado a porta A0 (analógico 0) do arduino.
No código, o sensor não necessita de nenhuma biblioteca mas precisa ser feita
a calibragem. A figura a seguir mostra a ligação com o arduino:
Fonte: Autor
Fonte: Autor
36
Fonte: Autor
Fonte: Autor
Fonte: Autor
3.3.2 Controle do pH
O atuador que trabalhará com o sensor de pH para a automação do pH
serão duas bombas peristálticas, uma que fornecerá ácido e outra base. No
código, temos uma função chamada releph que fará o controle. O valor de
referência será o range de 5,5 à 6,5 que temos que manter no recipiente.
Conforme o valor do sensor, adicionamos mais ácido ou base no recipiente, ou
se estiver no range esperado elas continuaram desligadas. A figura abaixo
mostra-se a ligação do sensor com as bombas e o arduino.
Figura 27 - Ligação controle do pH
Fonte: Autor
39
3.4 PROTÓTIPO
Com o funcionamento de todos os módulos, agora, podemos integrá-los.
Na integração se viu necessário construir uma caixa com objetivo de proteger e
compactar o circuito.
Foi visto que o arduino sozinho não conseguiu fornecer energia suficiente
para todos os módulos. Com o energização do sistema insuficiente o sensor de
pH ficava descalibrado toda vez que acionava alguma porta digital do relé e as
vezes o sistema reiniciava. Então, foi necessário o uso de uma fonte externa
para resolver o problema.
Figura 28 - Protótipo do circuito
Fonte: Autor
Fonte: Autor
40
Fonte: Autor
Fonte: Autor
41
Fonte: Autor
Fonte: Autor
4 – TESTES E RESULTADOS
Figura 34 - Gráfico
5
pH
4
Série1
3
Série2
2
0
191
1
11
21
31
41
51
61
71
81
91
101
111
121
131
141
151
161
171
181
201
Tempo
Fonte: Autor
5 – CONCLUSÃO
REFERÊNCIAS BIBLIOGRÁFICAS
DOUGLAS, James Sholto. Hidroponia Cultura sem Terra. São Paulo: Ed. NBL.
2001.
MCROBERTS, Michael. Arduino Básico. 2. Ed. São Paulo. Ed. Novatec. 2015.
APENDICE A – Código
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include "DHT.h"
//===========================================
#define SensorPin A0 //Entrada analogica sensor pH - A2
#define Offset 29.3 //desvio compensar
#define LED 13
#define samplingInterval 20
#define printInterval 980
#define ArrayLenth 40 //tempo de coleta
int pHArray[ArrayLenth]; //Armazenar o valor medio do feedback do sensor
int pHArrayIndex=0;
//===========================================
// variaveis Kalman ph
float varVolt = 0.8341153942; //0.017069257; // Variancia determinada no Excel
float varProcess = 1e-2; // Sensibilidade do Filtro
float Pc = 0.0;
float G = 0.0;
float P = 1.0;
float Xp = 0.0;
float Zp = 0.0;
float Xe = 0.0;
//===========================================
//===========================================
long lastExecuteTimeReleP2 = 0;
//==========================================
LiquidCrystal_I2C lcd(0x27,20,4);
#define ONE_WIRE_BUS 8 //Porta do pino de sinal do DS18B20
#define WAITDS 2000
OneWire oneWire(ONE_WIRE_BUS); //
DallasTemperature sensors(&oneWire); //Inicializa do DS18B20
DeviceAddress sensor1; //
void setup(void)
{
//Iniciação LCD
lcd.init();
lcd.backlight();
lcd.setCursor(4,1);
lcd.print("HIDROPONIA");
pinMode(RELEP1, OUTPUT);
pinMode(RELEP2, OUTPUT);
pinMode(RELE, OUTPUT);
pinMode(botao, INPUT);
digitalWrite(RELEP1, HIGH);//
digitalWrite(RELEP2, HIGH);
digitalWrite(RELE, LOW);
pinMode(LED,OUTPUT); //Usa pino Digital 13 como saída LED
Serial.begin(9600);
// Serial.println("Sensor de pH"); //Escrita inicial no serial monitor
sensors.begin();
if(!sensors.getAddress(sensor1, 0)){}
//Inicialização DHT11
dht.begin();
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" HORTA HIDROPONICA");
}
48
void loop(void)
{
getTempAgua();
getph();
lcdumitemp();
releIrrigacao();
botaostart();
}
void getph(){
static unsigned long samplingTime = millis();
static unsigned long printTime = millis();
static float pHValue,voltage;
if(millis()-samplingTime > samplingInterval)
{
pHArray[pHArrayIndex++]=analogRead(SensorPin);
if(pHArrayIndex==ArrayLenth)pHArrayIndex=0;
voltage = avergearray(pHArray, ArrayLenth)*5.0/1024;
Pc2 = P2 + varProcess2;
G2 = Pc2/(Pc2 + varVolt2); // kalman gain
P2 = (1-G2)*Pc2;
Xp2 = Xe2;
Zp2 = Xp2;
Xe2 = G2*(voltage - Zp2) + Xp2; // the kalman estimate of the sensor temp
pHValue = -5.66*Xe2+Offset;
samplingTime=millis();
}
if(millis() - printTime > printInterval) //A cada 800 milesegundos, mostra o valor,
converte o status do LED indicador
{
//Calculo de Kalman
Pc = P + varProcess;
G = Pc/(Pc + varVolt); // kalman gain
P = (1-G)*Pc;
Xp = Xe;
Zp = Xp;
Xe = G*(pHValue - Zp) + Xp; // the kalman estimate of the sensor temp
49
Serial.print("volt:");
Serial.print(voltage,2);
Serial.print(" pH: ");
Serial.print(pHValue,2);
Serial.print(" volt-K:");
Serial.print(Xe2,2);
Serial.print(" pH-K: ");
Serial.println(Xe,2);
lcd.setCursor(10,2);
lcd.print("pH: ");
lcd.print(Xe,2);
releph(Xe);
digitalWrite(LED,digitalRead(LED)^1);
printTime=millis();
}
}
amount+=max; //arr>max
max=arr[i];
}else{
amount+=arr[i]; //min<=arr<=max
}
}//if
}//for
avg = (double)amount/(number-2);
}//if
return avg;
}
Serial.print("pH: ");
Serial.print(ph,2);
Serial.print(" Tagua: ");
Serial.print(Tagua,2);
}
}
if (pHValue > 6.5){
if(digitalRead(RELEP2) == HIGH){
if(currentMillisReleP2 - lastExecuteTimeReleP2 >= RELEWAIT){
digitalWrite(RELEP2, LOW);
lastExecuteTimeReleP2 = currentMillisReleP2;
}
}
if(digitalRead(RELEP2) == LOW){
if(currentMillisReleP2 - lastExecuteTimeReleP2 >= RELEP2_TIME) {
51
digitalWrite(RELEP2, HIGH);
lastExecuteTimeReleP2 = currentMillisReleP2;
}
}
}
void releIrrigacao(){
unsigned long currentMillisRele = millis();
void getTempAgua(){
// Le a informacao do sensor
static unsigned long currentMillisDS = millis();
float tempC;
void lcdumitemp(){
float umi; //dht.readHumidity();
float temp; //dht.readTemperature();
static unsigned long printTH = millis();
if (isnan(umi) || isnan(temp)) {
Serial.print("ERRO");
}
else{
lcd.setCursor(0,2);
lcd.print("Umid: ");
lcd.print(umi,0);
lcd.print("%");
lcd.setCursor(0,3);
lcd.print("Temp: ");
lcd.print(temp,0);
lcd.print("C");
//Serial.print("Umi: ");
//Serial.print(umi,0);
//Serial.print(" ");
//Serial.print("Temp: ");
//Serial.print(temp,0);
printTH = millis();
}
}
}
void botaostart(){
if(digitalRead(botao)==HIGH){
delay(1);
if(digitalRead(botao)==LOW){
lcd.setBacklight(statusbotao);
statusbotao = !statusbotao;
}
}
}
53