• Nenhum resultado encontrado

Os nós sensores, conhecidos como dispositivos fim em uma rede Zigbee®, são, geralmente, alimentados por bateria. Desta forma, os nós sensores que compõem o sistema foram projetados para operar com baterias recarregáveis de íons de lítio de 3,7 V, decidindo-se por incorporar um carregador linear de bateria ao hardware destes dispositivos. Para este fim optou-se pelo circuito integrado MAX8606, produzido por MAXIM, que opera de 4,25 V a 5,5 V.

O TC1264, fabricado pela Microchip, foi utilizado para regular a tensão, oriunda da bateria, para 3,3V, sendo esta utilizada na alimentação de todos os componentes do hardware.

Os módulos Xbee® Series 2, transceptor selecionado para o projeto, foram configurados como dispositivo fim API (END DEVICE API – firmware versão 22A0) para integrar os nós sensores. Embora este transceptores sejam capazes de coletar dados e enviá-los sem a necessidade do uso de um microcontrolador externo, buscando maior flexibilidade, poder computacional e confiabilidade, o microcontrolador PIC 18F1320 foi selecionado para integrar o nó sensor. O 18F1320 é um microcontrolador fabricado pela Microchip, com 18 pinos, memória Flash de 8 KB, 256 bytes de memória SRAM e EEPROM, podendo operar a uma frequência de até 25 MHz. Além disso, dispõe de 16 pinos I/O, 7 canais A/D, módulo de captura e comparação PWM, 4 timers e módulo USART.

Os nós sensores foram construídos tendo em mente a aquisição da temperatura do ar, umidade relativa e velocidade do ar, pois, além de serem as variáveis de maior impacto na homeostase de frangos de corte (YAHAV et al., 2001; TAO & XIN, 2003; BLANES-VIDAL et al., 2008), são entradas da MLP proposta por LOPES et al. (2014).

Assim, para o sensoriamento da temperatura do ar e umidade relativa foi selecionado o módulo SHT11, um dispositivo compacto e de baixo consumo fabricado por Sensirion. O SHT11 possui interface serial e regulador interno de tensão e pode ser integrado de forma fácil e rápida a qualquer projeto de hardware. Apresenta exatidão de ±3 % para UR e ±0,4 ºC para T (@ 25 ºC)

47

(SENSIRION, 2011). A cada grandeza mensurada, o SHT11 retorna três bytes, dois bytes de dados e um byte checksum, produzido por um gerador interno de CRC. Considerando a tensão de alimentação utilizada, a temperatura do ar pode ser calculada através da equação (3.1) e a umidade relativa, compensada por T, pela (3.2); ambas obtidas em SENSIRION (2011), folha de dados do SHT11.

(3.1)

Sendo que:

T – temperatura do ar;

dataT – inteiro formado pelos dois bytes, referentes à temperatura do ar, retornados pelo SHT11. + (3.2) Sendo que: UR – umidade relativa; T – temperatura do ar;

dataUR – interior formado pelos dois bytes, referentes à umidade relativa, retornados pelo SHT11.

A velocidade do ar é mensurada por um sensor de hélice, de princípio indutivo, adaptado a partir de um anemômetro digital fabricado pela empresa BENETECH. Este sensor, mostrado na Figura 3.10, é dotado de quatro pinos, dois destinados à alimentação, um para habilitar/desabilitar o sensor e uma saída, onde se pode mensurar o período entre pulsos consecutivos.

48

A correspondência da saída do sensor com valores de velocidade do ar em m s-1 pode ser obtido através da equação (3.3).

(3.3)

Sendo que:

VA – velocidade do ar;

dataVA – inteiro que representa o tempo transcorrido entre dois pulsos na saída do sensor (cada unidade equivale a 25,6 µs).

A equação (3.3) foi ajustada com relação a uma referência (anemômetro) em um experimento descrito (materiais, métodos e resultados) no próximo capítulo (Seção 4.1).

Um dos canais analógicos do PIC 18F1320 está conectado a um divisor de tensão, cujo resultado da conversão de analógico para digital servirá ao cálculo da tensão, equação (3.4), ou percentual de carga da bateria, equação (3.5).

(3.4)

Sendo que:

U – tensão da bateria em V;

dataB – inteiro obtido pela conversão da leitura analógica realizada no divisor de tensão em digital (conversor de 10-bits).

(3.5) Sendo que:

P – Percentual de bateria restante;

dataB – inteiro obtido pela conversão da leitura analógica realizada no divisor de tensão em digital (conversor de 10-bits).

A equação (3.4) foi ajustada empiricamente com o auxílio de um multímetro digital Hikari HM-2030. Basicamente, é a equação da reta que intercepta os pontos (880, 3,7 V) e (979, 4,11 V), que relacionam um valor de dataB (abscissa) a uma tensão mensurada com o multímetro (ordenada). Esta equação poderia ser encontrada pela primeira lei de Ohm se não houvesse um transistor em série com o divisor de tensão. O objetivo da inclusão do transistor foi evitar que o divisor de tensão continuasse a consumir energia durante o período de sleep (estado de economia de energia) do nó sensor. A equação (3.5) foi obtida a partir da equação (3.4), tomando 3,7 V como carga mínima (0 %) e 4,11 V como

49 máxima (100 %).

O diagrama de blocos apresentado na Figura 3.11 relaciona os principais componentes do hardware do nó sensor. O esquemático e layout, em duas camadas, da placa de circuito impresso são apresentados no APÊNDICE D, sendo os arquivos fonte originais de seu projeto KiCad (sensor_module) disponibilizados na página do projeto Poultrinux. Apesar de o sensor de velocidade do ar ser uma adaptação do anemômetro BENETECH, seu esquemático e layout, também, estão disponíveis no APÊNDICE D e em seu projeto KiCad (wind_sensor) no site deste sistema de automação.

Figura 3.11 – Diagrama de blocos simplificado do hardware do nó sensor, incluindo representação do processo de recarga da bateria.

A Figura 3.12A exibe o nó com apenas o sensor SHT11, enquanto na Figura 3.12B todos os sensores, temperatura do ar, umidade relativa e velocidade do ar, estão conectados ao módulo e alojados em um gabinete de proteção. O gabinete foi projetado para que os sensores ficassem posicionados, aproximadamente, na altura do peito de aves adultas. A altura do gabinete é de 25 cm, onde os sensores encontram-se a cerca de 20 cm do solo. Estes valores tomaram como referência a altura média de aves adultas, com idade de 21 a 42 dias, variando de 26 a 53 cm (STRESSER et al., 2012). Além disso, este gabinete; confeccionado principalmente através de tubos de PVC (polyvinyl chloride – policloreto de vinila), tornando-o facilmente replicável; confere proteção ao nó e a seus sensores para testes em campo.

SHT11 PIC18F1320

Xbee® Series 2 Bateria de íon de lítio

3,7 V TC1264 MAX8606 Sensor VA “sensor” de carga de bateria divisor de tensão + transistor Fonte 5 V Hardware do Nó Sensor sensor 3,3 V Carregar bateria

50

Figura 3.12 – Nó com sensor SHT11 (A) e em gabinete de proteção com SHT11 e sensor de VA (B).

O software do nó sensor permite que este opere em dois modos distintos, sendo: comando e sensoriamento. No modo de comando, o nó aguarda por solicitações de envio de dados adquiridos a partir de seus sensores. Já no modo de sensoriamento, a aquisição e envio destes dados ocorre periodicamente, quando o nó sai de um estado de economia de energia, excepcionalmente, para execução destas tarefas.

A escrita deste software baseou-se na ideia de sub pacotes encapsulados por pacotes API (Zigbee Transmit Request e Zigbee Receive Packet), os quais, assumindo o nó sensor como referência, foram divididos entre Recepção e Transmissão.

O sub pacote de Recepção apresenta três campos:

Modo – permite alterar o modo de operação do nó ou realizar uma solicitação de aquisição e envio de dados de sensores;

Sensores – assinala quais sensores terão seus dados adquiridos e enviados, seja como resposta a uma solicitação ou periodicamente quando no modo de sensoriamento;

Tempo – seleciona a periodicidade de aquisição e envio de dados de sensores, quando no modo de sensoriamento, ou o período de inatividade máximo (sem recepção de subpacotes), quando no modo de comando.

O sub pacote de Transmissão, também, apresenta três campos:

Modo – informa o modo que o nó está operando;

51

Sensores – especifica os sensores que têm seus dados inclusos no sub pacote;

Dados dos Sensores - dados dos sensores especificados no campo Sensores.

Existe um sub pacote de Transmissão especial, chamado sub pacote de inicialização, que não possui o campo Dados dos Sensores. Este só é utilizado quando o nó acaba de ser ligado, sendo um meio de o coordenador ficar ciente dos sensores disponíveis no nó. O APÊNDICE B apresenta o detalhamento da estrutura dos sub pacotes, entre outras informações adicionais sobre o software do nó sensor.

A Figura 3.13 traz um fluxograma que resume o funcionamento do software do nó sensor.

Figura 3.13 – Fluxograma do software do nó sensor. faça enquanto tempo < 30s faça enquanto tempo < 10s Início i =0;i<3;i++ Modo? sleep (pelo período especificado no sub pacote) Ingressou em uma rede? sleep (indefinidamente para economizar bateria) faça Recebeu sub pacote? Envia sub pacote

com dados de sensores i =0;i<2;i++ enquanto tempo < 5s Recebeu sub pacote? enquanto não chega no máximo de tempo ocioso especificado no sub pacote

Reinicia a contagem de tempo ocioso faça Recebeu sub pacote? V V V V V F V F F F F F SNS CMD sim sim sim não não não Envia sub pacote de inicialização Legenda:

CMD – Modo de comando, SNS – Modo de Sensoriamento, CMDR – requisição de dados de sensores, V – Verdade (repete), F – Falso (para de repetir).

Envia dados de sensores requisitados CMDR? sim

52

Inicialmente, o nó aguarda por seu ingresso em uma rede de sensores; caso isso não seja alcançado dentro de trinta segundos, este entra no estado de sleep indefinidamente. Na sequência, o nó tenta estabelecer a comunicação com o coordenador, realizando até três tentativas. Em cada tentativa o nó envia um sub pacote de inicialização ao coordenador e aguarda pela confirmação. Quando o coordenador confirma, sub pacote de Recepção, o nó sensor é colocado em um dos modos de operação disponíveis. A falha em todas as tentativas de estabelecer a comunicação com o coordenador tem como consequência a entrada do nó no estado de economia de energia por tempo indeterminado.

No modo de sensoriamento, quando o nó “desperta”, este envia um sub pacote de Transmissão ao coordenador e aguarda pela confirmação. A confirmação pode mudar ou manter o modo de operação do nó. A não recepção da confirmação por até duas tentativas, faz com que o nó volte ao sleep pelo mesmo período anterior.

No modo de comando, sempre que um sub pacote é recebido, se for uma solicitação, os dados dos sensores solicitados serão enviados, caso contrário, o contador do período de inatividade é reiniciado e verifica-se qual o “novo” modo de operação. Se o contador do período de inatividade alcançar o valor máximo, o nó é colocado em sleep por tempo indeterminado.

A Figura 3.14 ilustra a troca de sub pacotes entre o módulo central e um nó sensor. Neste sistema de automação, o módulo central assume o papel de coordenador, onde após receber um sub pacote de inicialização, solicita ao nó, origem deste sub pacote, a aquisição e envio de dados de seu sensores. Ao receber dados de sensores, o módulo central, imediatamente, coloca o nó que os enviou no modo de sensoriamento.

Figura 3.14 – Comunicação entre módulo central e nó sensor. Módulo Central Nó Sensor Módulo Central Nó Sensor

linha do tempo linha do tempo

Evento Inicial Modo de Sensoriamento

Evento periódico em intervalo de tempo definido pelo Módulo Central

53

As equações (3.1), (3.2), (3.3), (3.4) e (3.5) não foram utilizadas no código do nó sensor, sendo utilizadas pelo módulo central ou ferramentas de teste. O nó sensor envia dataT, dataUR, dataVA e dataB.

O código fonte e arquivos de cabeçalho criados durante o desenvolvimento do software do nó sensor estão agrupados em seu projeto MPLAB (xbee_module.X), que está disponível em www.poultrinux.blogspot.com.br.

Documentos relacionados