Sirrig: sistema de automação de irrigação aplicado à agricultura de precisão. Itauan Silva Eduão Ferreira¹, Rafael Sant'ana Jacaúna¹, Edward David Moreno Õrdonez¹ ¹Departamento de Computação, Universidade Federal de Sergipe, São Cristovão, Sergipe, Brasil, [email protected], [email protected], [email protected] RESUMO O Brasil está passando por um momento de escassez de água em grande parte do seu território. O nordeste teve que lidar com a seca ao longo das décadas, ainda assim, grande parte do PIB da região é proveniente da produção agrícola. Este cenário de adversidades é uma das justificativas da necessidade de repensar a forma que a água é utilizada, especialmente na irrigação, que consome 70% da água captada no planeta. Neste trabalho será apresentada a implementação de um sistema de automação de irrigação que visa um melhor gerenciamento da aplicação de recursos hídricos, ele foi nomeado como Sirrig. O Sirrig foi desenvolvido e testado usando a linguagem de descrição de hardware VHDL e a ferramenta de desenvolvimento Quartus II 13.0.0.156 Web Edition. PALAVRAS-CHAVE: Sistema, Recursos, Hídricos. ABSTRACT Brazil is going through a time of water scarcity in much of its territory. The Northeast had to deal with drought over the decades, yet much of the region's GDP comes from the agricultural production. This adversity scenario is one of the justifications of the need to rethink the way water is used, especially in irrigation, which consumes 70% of water collected on the planet. This work presents the implementation of an irrigation automation system that aims to better manage the application of water, he was appointed as Sirrig. The Sirrig was developed and tested using the hardware description language VHDL and Quartus II Web Edition 13.0.0.156 development tool. KEYWORDS: System, Resources, Water. INTRODUÇÃO Recentemente, o nordeste brasileiro passou por uma das maiores secas da história. Essa região do país tem grande parte do seu PIB proveniente da agricultura, portanto, a escassez de água compromete a qualidade de vida de todos que dependem do que é produzido nessas áreas. Diante deste contexto, e somado ao fato de que nos últimos anos o governo federal, através de programas como o PRONAF (Programa Nacional de Fortalecimento da Agricultura Familiar), implantou políticas públicas de incentivo e reconhecimento da agricultura familiar, fica notável a necessidade de um melhor gerenciamento dos recursos hídricos. Na agricultura, encontramos diversas escalas de produção, desde agricultores familiares que trabalham em menores áreas até a produção de commodities em larga escala. As diferenças sociais e tecnológicas entre as categorias de agricultores vêm sendo discutidas por especialistas da área, sendo alvo de alguns embates, polarizados entre a grande propriedade, hoje revestida no manto do agronegócio, e outras formas sociais de produção, dentre as quais a agricultura familiar de origem camponesa. (WANDERLEY, 2009); De forma mais ampla, a agricultura irrigada ocupa em torno de 18% da área total cultivada do planeta, utilizando 70% de toda a água captada. E ainda que seja uma pequena parcela do total da área cultivada, essa área representa 42% da produção total. A agricultura irrigada, para se manter sustentável, precisa ser eficiente no uso da água. (ALBUQUERQUE; DURÃES, 2008) A irrigação inadequada também pode gerar prejuízos de produção. Pode-se ter a aplicação de pouca água, causando déficit no desenvolvimento da cultura, ou a aplicação excessiva, gerando desperdício, ambas são consequências ruins para a produção e/ou sustentabilidade. Outros prejuízos também podem ser causados pelo mau uso do processo de irrigação, como: desperdício de fertilizantes, aumento dos custos de produção, doenças provocadas por fungos e falta de aeração nas raízes, entre outras. Para minimizar esses erros poder-se-ia variar a frequência de irrigação de acordo com os estágios da cultura. (COELHO; Coelho Filho; OLIVEIRA, 2005) Neste cenário, a necessidade de um aparato tecnológico de automação, e que atribua precisão ao processo de irrigação, se torna gritante. Seria possível produzir mais, com maior qualidade, e com muito menos custos. Neste trabalho, será mostrado uma opção de sistema de automação de irrigação baseado em circuitos digitais e implementado em VHDL, chamando a atenção para a problemática e mostrando como circuitos digitais podem ser utilizados na melhor gerência de recursos naturais. MATERIAL E MÉTODOS Considerando o sistema convencional de irrigação organizado da seguinte maneira: · Fonte de água ou reservatório: a captação de água ocorre diretamente em cursos d’água, canais de irrigação ou fontes subterrâneas. Normalmente são utilizados reservatórios escavados no solo para armazenamento de água que, apesar do seu custo de instalação, compensam por proporcionar certa autonomia e redução de custos de energia para bombeamento até as áreas irrigadas. A disponibilidade de água subterrânea ou superficial deve ser explorada racionalmente, minimizando o problema do desperdício de água na adução, distribuição e aplicação, visto que os mananciais de água têm suas limitações. · Sistema de bombeamento: Necessário para gerar a pressão que possibilita o funcionamento do sistema e vencer eventuais desníveis e perdas do curso de água na irrigação. · Sistema de filtragem (quando existir): Utilizados para garantir a qualidade da água irrigada e o adequado funcionamento do sistema de irrigação. Pode ser precedido por um sistema de fertilização, que aumenta a qualidade da produção. · Sistema de distribuição: Tubulações e derivações, registros e demais conexões, de forma a distribuir água aos setores determinados. · Sistema de emissores: Responsável pela distribuição de água no solo, de preferência o mais uniformemente possível. Figura 1 – Sistema convencional de irrigação Fonte: Elaboração do autor Foi desenvolvido um circuito, em linguagem de descrição de hardware (VHDL) utilizando o Quartus Altera Simulator, que controla válvulas solenóides, válvulas que transformam sinal elétrico em movimento de abrir e fechar o registro. Essas válvulas ficariam posicionadas nos registros “[X]” da figura 1, de forma que poderiam ser abertas e fechadas baseado em variáveis importantes para o processo de desenvolvimento da cultura, liberando ou cortando a distribuição de água em determinadas linhas ou setores de irrigação. Figura 2 – Arquitetura alto nível do circuito Fonte: Elaboração do autor Este circuito, representado na figura 2, implementado em VHDL, gerencia variáveis de entrada geradas por sensores de umidade no solo e sensores de chuva, que dão as informações necessárias para o cálculo de quanto tempo determinado setor precisa ser irrigado, evitando assim o déficit ou excesso de aplicação de água. Segundo Valadão et al. (2007), existem várias maneiras de definir o momento certo de fazer a irrigação e quanto de água aplicar. Esses fatores são baseados em fatores do solo, do clima e das plantas. Implementação Para modelarmos o comportamento do controlador em circuitos digitais, utilizamos a linguagem de descrição de hardware VHDL e implementamos uma máquina de estados com seis estados. Os sensores e válvulas solenóides foram modelados como variáveis no código a fim de permitir a simulação de seu funcionamento. Máquina de estados finitos é um modelo que pode representar circuitos lógicos sequenciais. Ela possui um conjunto de estados e transições entre esses estados. Para que cada transição entre um estado e outro ocorra é necessário que uma condição seja satisfeita. A máquina parte de um estado inicial e só pode estar em um estado por vez, dessa forma, a máquina de estados mantém o histórico das ações realizadas pelo circuito sob determinadas condições ou a partir de determinadas entradas. Em nossa máquina de estados, a execução começa no estado inicial, descrito como "ini" na figura 3, nesse estado o circuito está em estado de espera. A cada sessenta minutos, medidos pela quantidade de ciclos de clock, ocorre uma transição e o estado inicial é modificado para o estado "Checa_sensor", nesse estado o circuito confere a umidade do solo de cada setor através das entradas dos sensores de umidade distribuídos pelos setores, se a entrada fornecida por determinado sensor for 1, significando que a umidade naquele setor está abaixo do limiar definido, então, aquele setor precisa ser irrigado, caso a entrada seja 0 para todos os sensores, a máquina retorna para o estado inicial de espera e aguardará outros sessenta minutos para checar a umidade novamente. No caso em que o estado "Checa_sensor" retornar que algum setor precisa ser irrigado, identificando que o bit de entrada correspondente ao sensor está em 1, a máquina faz a transição para o estado "Irrigando", onde as válvulas solenóides dos setores que precisam ser irrigados serão abertas. A máquina ficará nesse estado por sessenta minutos ou até que ocorra alguma interrupção, ao término desse tempo a máquina retorna para o estado "Checa_sensores", para verificar se ainda existem setores que precisem ser irrigados. Quando há a necessidade de adubar a terra, o usuário, através de um botão, pode informar ao circuito. Quando existir a intenção de adubar, um dos bits de controle tem seu valor alterado para 1 e a máquina, que antes se encontrava no estado inicial “ini” esperando algum evento, faz a transição para o estado "Adubar", nesse estado a máquina espera que o usuário informe em quais setores deseja aplicar o fertilizante, feito isso, o circuito faz a transição para o estado "Adb_irriga", que equivale a abrir a válvula do reservatório onde se encontra o fertilizante e as válvulas dos setores onde deseja fazer a adubação. Figura 3 – Máquina de estados do circuito Fonte: Elaboração do autor Durante todo o tempo de execução da máquina, qualquer que seja o estado em que ela se encontre, se os sensores de chuva detectarem a existência da mesma, retornando 1 em seu bit de controle, caracterizando um evento de interrupção, a máquina interrompe a execução do estado que se encontra e faz a transição para o estado "Chovendo", isso ocorre a fim de evitar prejuízos com molhação desnecessária ou aplicação de fertilizantes e defensivos que serão levados pela chuva. Enquanto estiver chovendo, o circuito se mantém em estado dormente, quando a chuva parar, o sensor de chuva vai alternar o bit de controle de 1 (presença de chuva) para 0 (indicando ausência de chuva), o que gerará um evento para o circuito que fará a transição para o estado inicial “ini”, reiniciando sua execução. Modelagem dos sensores em VHDL Figura 4 – Modelagem dos sensores em VHDL Fonte: Elaboração do autor Na figura 4, é possível observar como as entradas dos sensores foram modeladas. O signal setores, na quarta linha do código, definido como 01010100 é um exemplo desta modelagem, esta entrada indica que os setores 2,4 e 6 precisam ser irrigados (onde a entrada encontra-se com valor 1). Simulação e validação funcional A implementação do Sirrig foi validada utilizando a ferramenta Altera U. P. Simulator, ferramenta integrante do kit Quartus. A simulação e validação funcional podem ser vistas na figura 5. Figura 5 – Formas de ondas da simulação Fonte: Elaboração do autor No quadro à esquerda na figura 5, são mostradas as entradas e saídas processadas pelo Sirrig. As entradas d_aduba, d_chuva, d_sensor e d_escolha representam o dispositivo modelado usado para definir a necessidade de adubar, a entrada representando o sensor de chuvas, uma entrada que define a necessidade de irrigação representando os sensores de umidade, e os setores que necessitam ser irrigados, respectivamente. A saída debug_estado representa o estado em que a máquina vai estar em determinado tempo da simulação após processar as entradas definidas em formas de ondas. Os estados, e as sequências de bits que os representam, foram definidos no código VHDL. Essa definição pode ser vista na figura 6. Figura 6 – Modelagem dos estados em VHDL Fonte: Elaboração do autor Na figura 6, o trecho de código em VHDL mostra a modelagem dos estados, se na simulação a saída debug_estado estiver com a sequência de bits “000”, a máquina estará no estado inicial nomeado de “ini”, aguardando uma interrupção ou o momento de checar os sensores. Caso na saída esteja a sequência “001”, a máquina se encontrará no estado “checa_sensor”, se a sequência de bits “010” estiver na saída debug_estado, a máquina estará no estado “irrigando”, caso a sequência “011” esteja na saída, a máquina de estados estará no estado “aduba”, se a sequência for “100” a máquina estará no estado “aduba_irriga”, já se a sequência de bits na saída debug_estado for “101”, então, a máquina de estados estará no estado “chovendo”. Foi definido que a saída debug_estado receberia a sequência “111” em qualquer outro caso, decisão tomada para atender as boas práticas de programação da linguagem VHDL. A figura 5 apresenta uma simulação de operação do Sirrig afim de demonstrar a sua corretude funcional. Analisando a simulação no tempo, entre 0 ns e 80 ns, quando as entradas d_aduba, d_chuva e d_sensor estão em 1, representando que o usuário ativou a adubação, que está chovendo no momento e que existem setores precisando ser irrigados, o conteúdo na saída debug_estado é a sequência “101”, representando o estado “chovendo” na máquina de estados, como visto na figura 6, comportamento condizente com o esperado na modelagem do problema. Entre 80 ns e 160 ns, quando as entradas d_aduba e d_sensor estão em 1, representando a situação em que existe a necessidade de irrigar alguns setores e o usuário ativou a adubação, a saída recebe, nesse intervalo de tempo, as sequências “000” e “011”, representando os estados “ini” e “aduba” respectivamente, no estado “aduba” é esperado que sejam informados os setores que devem ser adubados, como descrito anteriormente no comportamento da máquina de estados. No ciclo de clock posterior a saída passa a conter a sequência de bits “100”, que representa o estado “aduba_irriga”, abrindo as válvulas dos setores escolhidos e do reservatório de adubação. Entre os tempos 440 ns e 480 ns, quando todas as entradas estão em 0, a saída debug_estado apresenta a sequência “000”, representando o estado inicial de espera “ini”, após alguns ciclos de clock, que simulam o intervalo de tempo entre cada checagem de sensores, a saída muda para a sequência de bits “001”, correspondente ao estado “checa_sensores”, mesmo não havendo mudanças nas entradas. No tempo de simulação de 600 ns, quando apenas a entrada d_sensor está em 1, indicando que existe a necessidade de irrigar alguns setores, a saída da máquina de estados fica alternando entre as sequências de bits “001” e “010”, que correspondem aos estados checa_sensor e irrigando, respectivamente. Isso ocorre na simulação até que a entrada d_sensor volta para 0 e na checagem de sensores seguinte é detectado que não há mais a necessidade de irrigação, então a saída apresenta a sequência de bits “000”, referente ao estado inicial “ini”, aos 960 ns da simulação. Todos as saídas foram condizentes com o comportamento esperado e definido na modelagem da máquina de estados tratada anteriormente no trabalho. CONCLUSÕES O Sirrig foi simulado utilizando o Altera Quartus U. P. Simulator e teve o seu comportamento validado utilizando a mesma ferramenta. Quando instanciado em chip o Sirrig proverá ganho na produtividade, devido a irrigação de acordo com as necessidades especificas da cultura, uma redução de custos devido ao não desperdício de água, que implica também no uso consciente desse recurso natural, e ainda a economia na aplicação de fertilizantes, que não serão mais arrastados pela chuva e nem necessitarão da aplicação direta de forma manual ou outros meios mais custosos. Portanto, devemos parar de utilizar a tecnologia de maneira que implique em um desgaste do planeta que vivemos, quando na verdade, de várias formas, ela pode ser utilizada para melhorar nossas atividades e melhorar a gerência dos recursos naturais. Como trabalhos futuros o Sirrig deve ser prototipado em hardware e aplicado em estudos de casos reais a fim de percebermos os impactos da implantação do sistema em ambiente de produção. REFERÊNCIAS COELHO, E. F., Coelho Filho, M. A., & OLIVEIRA, S. D. (2005). Agricultura irrigada: eficiência de irrigação e de uso de água. Bahia Agrícola, 7(01), 57-60. ALBUQUERQUE, P. E. P. D.; DURÃES, F. O. M. Uso e manejo de irrigação. Brasília: Embrapa Informação Tecnnológica, 2008. 528 p. VALADÃO, L. T. et al. Uso conservativo da água na agricultura irrigada. Brasília, DF: Projeto água certa, 2007. WANDERLEY, M. N. B. O agricultor familiar no Brasil: um ator social da construção do futuro. In: PETERSEN, P. (Org.) Agricultura familiar camponesa na construção do futuro. Rio de Janeiro: AS-PTA, 2009. p. 32-45.