Sistema Inteligente para Ordenhadeiras

Participantes:

Rodolfo Jerônimo Teles
Ricardo José Belo de Vasconcelos Monteiro Cavalcanti

Resumo do projeto:

Este projeto propõe desenvolver um sistema de aquisição e armazenamento de dados de produção de leite, adaptável a ordenhadeiras de pequeno e médio porte.

Descrição do projeto:

Segundo a ABRALEITE (Associação Nacional dos Produtores de Leite), a pecuária leiteira é a única atividade econômica presente em todos os municípios brasileiros e no Distrito Federal.  O Censo Agropecuário do IBGE de 2006, mostrou um número total de 1,35 milhão de produtores no país, sendo o principal produto da pecuária em valor de produção (8,818 bilhão de reais). Tais dados, demonstram a importância do setor para o PIB nacional.

Apesar da expressiva movimentação no PIB brasileiro, os pequenos e médios produtores ainda apresentam carências essenciais para uma produção mais eficiente e, consequentemente, mais econômica. A aquisição de informações importantes como o volume ou peso de leite produzido por dia, a identificação de cada animal, a pesagem do animal, assim como a pesagem da ração, ainda são realizadas manualmente ou mecanicamente, o que impossibilita a aquisição dos dados com precisão e a gestão remota da produção de leite para pequenas e médias fazendas leiteiras.

A partir de entrevistas com alguns produtores de leite do Rio Grande do Norte, professores da Universidade Federal do Rio Grande do Norte do setor da Escola Agrícola de Jundiaí, um analista técnico de desenvolvimento do agronegócio do SEBRAE-RN, ficou evidente a carência de dados que suportem uma gestão com qualidade das fazendas produtoras de leite. Nesses importantes elos da cadeia do leite, possibilidades de melhorias em eficiência e custo operacional, confiabilidade dos dados, rastreabilidade, adequação às exigências de qualidade do leite determinadas pela Secretaria de Defesa Agropecuária (SDA/Mapa) foram alguns dos problema identificados que podem ser parcialmente, ou totalmente, solucionados com o uso do Sistema Inteligente para Ordenhadeiras. Com foco em possibilitar o máximo retorno ao investimento do pequeno e médio produtor, um novo tipo de medidor de leite conectado, adaptável à ordenhadeira do empresário e potencializado pelos benefícios da IoT, tornará a tomada de decisão mais simples e ágil, além da diminuição das possibilidades de erros por meio do ordenhador.

Durante as visitas técnicas que a equipe realizou para ver presencialmente o processo de ordenha, foi possível entender a trajetória do leite, conhecimento importante para o posicionamento correto do nosso projeto. É possível verificar a trajetória do leite no fluxograma abaixo:


Para entender como será realizado o funcionamento do projeto, é possível verificar o Fluxo de Trabalho na imagem a seguir:


Para aquisição e apresentação dos dados adquiridos pelos sensores resolvemos utilizar a plataforma SaIoT (Smart Automation Internet of Things). O SaIoT é um Middleware genérico desenvolvido com foco para IoT, que adota uma padronização para troca de informações, possui uma aplicação web para visualização de dados e controle de dispositivos. A plataforma é resultado de meses de pesquisa científica de um dos grupos de pesquisadores do laboratório de informática industrial (LII) da Universidade Federal do Rio Grande do Norte (UFRN) em que um dos membros do Sistema Inteligente para Ordenhadeiras participa.

Tela inicial da plataforma SaIoT.

 

Histórico do desenvolvimento:

Semana 1 – 27 de Agosto a 01 de Setembro:

  • Definição de das fases de desenvolvimento
  • Definição do escopo do projeto
  • Definição do horário das reuniões diárias
  • Imersão no problema – Visita técnica à Fazenda Boa Esperança

Semana 2 – 03 a 08 de Setembro:

  • Pesquisa e definição dos requisitos dos protótipos de viabilidade
  • Criação das histórias para entrega dos protótipos da Fase 1
  • Pesquisa e definição dos possíveis sensores para leitura de volume de leite
  • Compra dos componentes eletrônicos para criação do sensor de condutividade elétrica
  • Pesquisa e definições de linguagem para desenvolver na MangOH Red

Semana 3 – 10 a 15 de Setembro:

  • Compra dos componentes eletrônicos para criação dos protótipos de viabilidade sensor de condutividade elétrica e medição do nível de leite por altura de coluna de leite utilizando o sensor ultrassônico HC-SR04;
  • Chegada da DragonBoard 410c e do kit de sensores da Arrow [13/09];
  • Chegada da MangOH Red [15/09];
  • Primeiros testes com a DragonBoard e definição da configuração a ser utilizada, devido ao recebimento das duas placas, quase que simultaneamente. A equipe optou por utilizar a MangOH Red para recebimento dos dados dos sistemas de aquisição do conjunto de teteiras, por conexão cabeada e utilizar a DragonBoard como servidor local;

Semana 4 – 17 a 22 de Setembro:

  • Execução do Getting Started Guide for MangOH Red;
  • Falha na tentativa de conseguir conectar a MangOH Red com o Air Vantage (Passo 7.1.2. Connect to AirVantage do Getting Started Guide for MangOH Red). Foram encontrados os seguintes problemas:
    • Após ser verificado que a placa não conseguia se conectar, observou-se ser essencial a presença da antena de GNSS, que não veio no kit que nos enviado, para atualização da data e hora e, consequentemente, a conexão com a AirVantage;
    • Em seguida após conversas com membros de outras equipes que também estão utilizando a MangOH Red descobrimos a necessidade de utilizar um chip de uma operadora brasileira (utilizamos a Claro), configurar a APN da operadora na MangOH, ativar o chip e por créditos.
    • Mesmo após utilizar um chip da Claro ativado e uma antena de GPS (proveniente do módulo de GPS NEO-6M) não conseguimos conectar com a AirVantage, visto que ao registrar a MangOH na primeira vez com o chip da Sierra Wireless um “link” entre a placa que possui um número de série (FSN) e o SIM card da Sierra Wireless foi criado e não encontramos forma de deletar esse “link”. Mesmo seguindo os passos encontrados no Getting Started Guide o erro Subscription not found não permite que façamos a troca de SIM cards.
  • Primeiros passos com a DragonBoard 410c e o kit de sensores Linker Mezanine Card Starter Kit For 96board:
    • Instalação das dependências para uso do Kit de sensores no Linux Linaro-ALIP;

Semana 5 – 24 a 29 de Setembro:

  • Criação do Protótipo de viabilidade 1: uso do sensor HC-SR04 e DragonBoard 410c para leitura de nível de leite;
  • Participação no evento: Ideas for Milk – 25 de Setembro de 2018;
  • Resolver a falha de conexão da MangOH com a AirVantage;
    • A impossibilidade de criação de um novo gateway entre a mangOH e um novo SIM card foi resolvida por meio de ajuda requerida por contato no e-mail [email protected].
    • No entanto, após inúmeras tentativas a conexão entre a mangOH Red e a página da AirVantage para monitoramento dos dados não obteve sucesso. Os seguintes problemas persistem:
      • Apesar de estabelecido com sucesso a conexão ssh, a aparente conexão com a internet do novo chip e realizados todos os passos recomendados no Getting Started Guide for mangOH, a aplicação redSensorToCloud não é inicializada corretamente apresentando um erro não identificado até o momento.
      • Mesmo após criada uma nova conta em um novo site (https://eu.airvantage.net/accounts/signup?type=AVEP) não indicado no Getting Started Guide for mangOH, nenhum dado é obtido na plataforma, visto que nenhuma conexão é estabelecida. O status é apresentado abaixo (System States: Ready e Communication Status: Pending):

 

  • Durante os testes com a Dragonboard 410c a equipe deparou-se com o corrompimento do Linux Linaro o que impossibilitou o andamento do Protótipo 1. Foi necessário baixar o Linux Linaro, colocá-lo em um cartão microSD e reinstalá-lo na Dragonboard e o problema foi resolvido.

Semana 6 – 01 a 07 de Outubro:

  • Criação de 2 Fluxogramas: 1- Protótipo funcional 1; 2- Fluxo de Leite com o posicionamento do Sistema Inteligente para Ordenhadeiras.
  • Finalização do Protótipo funcional 1;
  • Início do Protótipo Funcional 2 – Condutividade elétrica;
  • Resolução da falha de conexão da mangOH Red com a plataforma Airvantage.

Semana 7 – 08 a 14 de Outubro:

  • Resolução da falha de conexão da mangOH Red com a plataforma Airvantage.
  • Início do Protótipo Funcional 2 – Condutividade elétrica;
  • Resolução da falha de conexão da mangOH Red com a plataforma Airvantage;
  • Tentativas de encontrar um novo membro, devido a saída de um membro da equipe por problemas pessoais;
  • Testes do Protótipo 1 com o Arduino Nano, apenas para uma validação rápida do sensor, enquanto resolvemos os problemas das placas. Não conseguimos, pois o sensor que estávamos usando estava com problemas.
  • Reinstalação da máquina virtual com Linaro e tentativa de atualização do firmware da mangOH para testar outras possibilidades de resolver o problema da falta de conexão da placa com a AirVantage;
  • Compra do Copo milimetrado e furação para encaixe do sensor HC-SR04;
  • Executar um código simples em Python na DragonBoard 410c com os módulos da 96 Boards realizado com sucesso.

Semana 8 – 15 a 21 de Outubro:

  • Testes do Protótipo 1 com o Arduino Nano, com um novo sensor HC-SR04;
  • Compra e testes do sensor de condutividade elétrica;
  • Postagem das dúvidas referente ao problema de conexão da mangOH Red no blog;
  • Criar duas curvas de calibração usando o sensor ultrassônico HC-SR04, o pote milimetrado, e um Arduino Nano, sendo uma com o uso de água e a outra com leite integral. Foi utilizado o Arduino, para que pudéssemos adiantar o projeto, enquanto nos dividíamos para resolver os problemas nas placas;
  • Criar conexão ssh da DragonBoard 410c e o github. Repositório GIT criado: https://github.com/ricavalcanti/dragonBlink
  • Encontrar um case e imprimir em 3D. Foi utilizado o modelo disponível em: https://www.thingiverse.com/Sierra_Wireless_MangOH/designs
  • Postar dúvida sobre o problema da mangOH Red no fórum da placa. Problemas com conexão com a plataforma AirVantage continuam. Link da postagem: https://forum.mangoh.io/t/mangoh-red-wp7702-redsensortocloud-problem/2026
  • Fazer funcionar o código blink_led.py usando a DragonBoard 410c e a Linker Mezzanine. Confira o vídeo:
  • Resolver problema da DragonBoard 410c que ocorre quando é feito apt-get update e depois apt-get upgrade. Quando essa sequência é digitada no terminal do Linaro a DragonBoard para de gerar sinal de vídeo, sem sinal na porta HDMI, com isso é necessário regravar a imagem do sistema operacional no SD card novamente. Foi necessário resolver este problema, para que possamos usar as dependências da biblioteca libsoc_spi.h. O problema foi resolvido utilizando a sugestão do usuário @Loic disponível no fórum: https://discuss.96boards.org/t/no-hdmi-after-apt-get-upgrade/5372/5
    Seguindo a sugestão, foram realizados os seguintes passos:
    git clone https://github.com/96boards/dt-update.git
    cd dt-update
    make
    make install
    dbootimg /dev/disk/by-partlabel/boot -u kernel /boot/vmlinuz-4.14.0-qcomlt-arm64
    reboot
    Com isso, foi possível executar os comandos sudo apt-get upgrade sudo apt-get update sequencialmente sem problemas.
  • Criar o sensor de condutividade elétrica baseado no módulo GBK P24 Módulo Sensor de Condutividade Elétrica. Como resolvemos mudar os planos devido a saída de um dos membros e como não encontramos o sensor de condutividade da GBK em Natal-RN, optamos por criar o nosso próprio sensor de condutividade mesmo comprometendo a precisão das medições.
  • Curvas de regressão linear baseadas em medições feitas com o sensor HC-SR04 primeiro com água e depois leite no pote milimetrado. Foram realizadas cinco séries de sete medições usando água como fluido e, em seguida, leite integral de caixa, daqueles de 1L comprados em supermercado.  Foi utilizado como aproximação do valor verdadeiro das medições a marcação existente no pote milimetrado (ver Figura abaixo).

    Após realizada as 5 séries de medições para cada um dos fluidos (água e leite) foi possível criar curvas de regressão linear que relacionam a altura do fluido medido em centímetros (cm), com o volume de leite presente no pote milimetrado em mililitros (mL). A equação mostrou um erro relativo máximo de 18,26% para água e de 14,99% para o leite. Abaixo vão os gráficos das medições:Medições realizadas com água:

    Medições realizadas com leite:

    Gráfico com curva de regressão linear para água:

    Gráfico com curva de regressão linear para o leite integral:

    Logo, a curvas de regressão linear para a água foi:y = -75,385x + 653,19E para o leite integral:y = -76,781x + 660,45Onde y é medido em mL e x é medido em cm.Imagem durante o processo de medições usando leite:

 

 

 

 

 

 

 

 


Semana 9 [Semana Final] – 22 a 28 de Outubro:

  • Executar a leitura analógica na DragonBoard 410c para uso dos sensores: Temperatura, Ultrassônico e Condutividade Elétrica.
    Leitura analógica com sensor de temperatura (Linker Thermal Module):

  • Enviar dados lidos nos sensores para a plataforma SaIoT;
  • Finalizar o circuito do Sensor de Condutividade Elétrica com base no módulo de Condutividade Elétrica P24 da GBK.Inspirado no módulo P24 da GBK, realizamos simulações no simulador online EveryCircuit, utilizando o transistor 2N2222, com ganho de corrente de 50 A/A,  e vimos que baseado no artigo de Ribeiro at al., 2016 a condutividade elétrica (CE) do leite bovino varia entre 4,0 a 5,5 mS/cm que a resistividade para o leite saudável é de 2,5 a 1,81 Ω, respectivamente. Com esses valores de resistividade, a corrente que passará pelo leite é em torno de 8.35 μA, resultando em uma corrente no emissor do transistor de aproximadamente 50 vezes maior, no valor de 426 μA. Com esse circuito simples, apenas há a possibilidade de saber se o Leite conduz ou não eletricidade, mas não é possível fazer uma leitura precisa do valor de condutividade.  Dessa forma, a saída lida pela DragonBoard apresentará saída de 4,26V ou 0V, o que pode ser verificado nas simulações abaixo. Pretendemo adquirir ou replicar um sensor mais preciso e robusto para indicar com resolução satisfatória de 0,1 mS/cm na próxima versão do Sistema Inteligente para Ordenhadeiras.Simulação com leite saudável com resistência no valor de 2,5 Ω (CE = 4 mS/cm):
    Simulação com leite saudável com resistência no valor de 1,82 Ω (CE = 5,5 mS/cm):

 

  • Simulação com leite com mastite com resistência no valor de aproximadamente 1,62 Ω (CE = 6,2 mS/cm):

 

Com base nessas simulações e usando o sensor de condutividade P24 da GBK, criamos o seguinte circuito no software Autodesk Eagle 9.2.0:

Circuito do Sensor de Condutividade baseado no módulo P24.

Após executado o processo de confecção e soldagem da placa, obtivemos o seguinte sensor:

Nesta placa foram utilizada trilhas de 32mm e devido ao tempo de corrosão ter sido alto, em torno de 30min, as trilhas ficaram frágeis e em alguns lugares descolaram-se da placa. As correções foram feitas no circuito apresentado na imagem anterior.

Nessa placa, utilizamos um Borne de 3 fios, porém apenas 2 furos são funcionais para o circuito.

 

 

 

 

 

 

 

 

 

 

A conexão entre a DragonBoard 410c e a plataforma SaIoT foi realizada com sucessopor meio do protocolo MQTT, utilizando o pacote paho.mqtt. No entanto, dados reais dos sensores e a Plataforma não foram enviados para a plataforma. Abaixo, foram feitas algumas simulações para mostrar como a aquisição será apresentada inicialmente para o Produtor de Leite.

Detalhes do SaIoT configurado para receber os dados do Sistema Inteligente de Ordenhadeiras.

A demostração da leitura do sensor ultrassônico HC-SR04 com a DragonBoard pode ser visto no vídeo abaixo:

A imprecisão da leitura analógica com o sensor ultrassônico impossibilitou o uso da fórmula de regressão linear para dedução do volume de líquido dentro do pote milimetrado. Os problemas que apareceram durante os testes estão sendo corrigidos.

O tutorial para uso do sensor ultrassônico foi postado no Instructables. Disponível em:
https://www.instructables.com/id/Sensor-Ultrass%C3%B4nico-HC-SR04-Dragonboard-410c-E-Lin-1/

 

Hardware:

Protótipo de Viabilidade 1 [Aquisição do volume de Leite]:

  • Arduino Nano
  • DragonBoard 410c
  • Sensor ultrassônico HC-SR04
  • Kit de sensores Linker Mezanine Card Starter Kit For 96board

Arduino Nano

Sensor Ultrassônico HC-SR04

DragonBoard 410c

Kit de sensores Linker Mezanine Card Starter Kit For 96board

Protótipo de Viabilidade 2 [Sensor de Condutividade Elétrica]:

  • Resitor de 100 Ω
  • Resistor de 10 kΩ
  • Transistor 2n2222 (NPN, Transitor amplificador)
  • Borne de 2 Fios
  • Barra de pinos

 

Protótipo de Viabilidade 3 [Leitura do Tag RFID]:

  • Módulo RFID RC522
  • Arduino Nano

Módulo RFID RC522 com 2 Tags                                      (cartão e chaveiro)

Software/Firmware:

Os códigos desenvolvidos e adaptados para a leitura digital e analógica das portas da DragonBoard 410c foram separados por cada um das quatro informações necessárias para cada vaca ordenhada, são elas: o volume de leite (sensor ultrassônico), a indicação de mastite (sensor de condutividade elétrica e temperatura) e o ID do animal (RFID).

Sensor de Temperatura TPM36 – Leitura Analógica

Disponível em: https://github.com/ricavalcanti/linkerADC/blob/master/temperatureMesu.c

Neste código utilizamos a biblioteca libsoc (libsoc_spi.h e libsoc_gpio.h) com base no código de leitura de temperatura com a placa LinkSprite e o módulo de temperatura TPM36 do kit da 96Boards, disponível em: http://learn.linksprite.com/project/read-temperature-using-tpm36-sensor/

Sensor Ultrassônico HC-SR04 – Leitura Analógica

Disponível em: https://github.com/ricavalcanti/dragonBlink/blob/master/usingUltrassonic.py

O código de leitura do sensor ultrassônico HC-SR04 foi desenvolvido utilizando as bibliotecas GPIOLibrary e time em linguagem Python. Durante os testes tivemos muita dificuldade para conseguir fazer medições com precisão próxima àquela encontrada utilizando a placa Arduino Nano.

Utilizamos como base deste código o tutorial HC-SR04 Ultrasonic Range Sensor on the Raspberry Pi (disponível em: https://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi).

Uma das modificações que fizemos foi utilizar a função time.clock()  no lugar da time.time() devido a maior precisão da time.clock(). Ainda sim, notamos problemas de leitura onde apenas valores múltiplos de 6(6, 12, 18, 24… ) eram lidos pelo sensor. Não conseguimos identificar onde estava o problema até o final na Semana 9.

Sensor de Condutividade Elétrica – Leitura Analógica

Após concluída a fabricação do módulo de Condutividade Elétrica baseado no módulo P24 da GBK, testamos a leitura do sinal de saída. Devido ao tempo de exposição da placa ao percloreto de ferro e à espessura das trilhas da placa (32mm), identificamos muito ruído na saída do sensor, obtendo valores de saída aleatórios, impossibilitando a leitura da condutividade elétrica de forma suficientemente satisfatória.

Leitura do Módulo RFID RC522 – Protocolo SPI

Disponível em: https://github.com/rodolfojt/RFID_RC5222

Devido aos problemas não resolvidos de leitura do Sensor Ultrassônico, não conseguimos fazer a leitura dos ID’s das vacas na DragonBoard. Porém, o código para Arduino Nano utilizado como protótipo de viabilidade foi criado, a partir da adaptação do código: https://www.filipeflop.com/blog/controle-acesso-leitor-rfid-arduino/

Referências:

  1. “Getting Started Guide for mangOH Red”. Endereço: https://mangoh.io/uploaded-documents/Reference/mangOH%20Red/Discover/Getting%20Started/mangOH_Red_GSG_%28Windows%29.pdf
  2. Fases de prototipagem rápida da SGW Design Works. Endereço: https://sgwdesignworks.com/product-prototype-development/
  3. “HC-SR04 Ultrasonic Range Sensor on the Raspberry Pi”. Disponível em: https://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi

  4. “Dispositivo de condutividade elétrica para detecção de mastite subclínica substitui o uso do CMT?”. Disponível em: https://www.milkpoint.com.br/artigos/producao/dispositivo-de-condutividade-eletrica-para-deteccao-de-mastite-subclinica-substitui-o-uso-do-cmt-208010/
  5. “Evaluation of an electrical conductivity portable device as an alternative for
    subclinical mastitis detection”. Disponível em: http://scielo.sld.cu/pdf/rsa/v38n2/rsa09216.pdf
  6. “Controle de Acesso usando Leitor RFID com Arduino”. Disponível em: https://www.filipeflop.com/blog/controle-acesso-leitor-rfid-arduino/
  7. “Produtor de Leite: Quantos são?”. Disponível em: http://www.repileite.com.br/forum/topics/produtor-de-leite-quantos-s-o