• Nenhum resultado encontrado

4.2 Proposta

4.2.1 Arquitetura de Hardware do Sistema

A arquitetura de hardware foi dividida em 5 (cinco) m´odulos: sensoriamento, comunicac¸˜ao, persistˆencia, atuac¸˜ao e telemetria. Al´em disso, apresenta um computador central e um ser- vidor para a disponibilidade dos dados. A figura 4.1 mostra a arquitetura de hardware de alto n´ıvel.

Cada parte da arquitetura de hardware ´e discutida em seguida, discutindo a func¸˜ao que cada uma realiza, como est´a estruturada e como se comunica com os outros componentes.

Computador Central

O computador central (unidade de processamento) dessa arquitetura consiste em um Raspberry Pi (RPi) modelo B. O RPi ´e um computador de baixo custo, do tamanho de um cart˜ao de cr´edito, que suporta a plataforma LINUX. Esse modelo tem 256 MB de mem´oria RAM e um processador 700Mhz e sua arquitetura possibilita o desenvolvimento de diversos projetos de sistemas embarcados atrav´es dos pinos GPIO (26 pinos nesta vers˜ao), que facilitam a interac¸˜ao com outros hardwares. A figura 4.2 apresenta a placa utilizada.

4.2. PROPOSTA 29

Figura 4.1: Arquitetura de Hardware de Alto N´ıvel.

Figura 4.2: Placa Raspberry Pi - Modelo B.

Nessa arquitetura, o RPi ´e o respons´avel por controlar todo o sistema, atrav´es de um software de alto n´ıvel, permitindo uma organizac¸˜ao estrutural para o bom funcionamento das partes e componentes envolvidos nessa arquitetura.

O RPi j´a tem suporte a comunicac¸˜ao SPI e a I2C. A tabela 4.1 mostra o mapeamento para o SPI e a tabela 4.2 o mapeamento para o I2C.

Nessa arquitetura, o Raspberry ´e o mestre tanto da comunicac¸˜ao SPI, como da I2C, por ser o respons´avel pelo controle das tarefas do sistema. Al´em disso, para aplicac¸˜oes do sistema de forma mais simples, o servidor pode ser embarcado no pr´oprio raspberry, sendo poss´ıvel acess´a-lo por meio de rede wifi, atrav´es de qualquer dispositivo conectado a essa rede.

Tabela 4.1: Mapeamento dos Pinos do Raspberry para comunicac¸˜ao SPI Pino SPI Pino RPi

SCLK 23

MISO 21

MOSI 19

SS 24.

Tabela 4.2: Mapeamento dos Pinos do Raspberry para comunicac¸˜ao I2C Pino I2C Pino RPi

SDA 27

SCL 28.

Figura 4.3: CI DS1307.

Um fator importante que foi levado em considerac¸˜ao no desenvolvimento da arqui- tetura de hardware ´e que o Raspberry n˜ao disp˜oe de um rel´ogio em tempo real. Ou seja, seria complicado desevolver um sistema em tempo real sem a disponibilidade desse rel´ogio. Para contornar esse problema, foi adicionado um CI DS1307 (Figura 4.3) e uma pilha CR2032 para marcar o tempo do rel´ogio somente quando o sistema estiver desli- gado. Este CI se comunica sobre o protocolo I2C.

M´odulo de Sensoriamento

Esse m´odulo ´e utilizado para adquirir os dados dos sensores e envi´a-los para a uni- dade de processamento (computador central). Ele oferece suporte a 7 sensores anal´ogicos (dado que o sensor de temperatura do kit ´e anal´ogico e ocupa uma das portas do conver- sor) e aos sensores do kit da Atlas Scientific que s˜ao utilizados para o monitoramento da qualidade da ´agua.

Os componentes desse m´odulo consistem em sensores, o ADC MCP3008 e os EZOTMs do kit de sensoriamento da qualidade da ´agua. A figura 4.4 apresenta esse m´odulo em blo-

4.2. PROPOSTA 31

cos.

Os dois tipos de protocolos de comunicac¸˜ao apresentados na sec¸˜ao 2 s˜ao utilizados. Sobre o SPI, existe a comunicac¸˜ao entre o conversor A/D e o computador central. Sobre o protocolo I2C, a comunicac¸˜ao acontece entre o EZOTM e o computador central.

Figura 4.4: Arquitetura de Hardware - M´odulo de Sensoriamento.

O MCP3008 (Figura 4.5) ´e um conversor anal´ogico-digital com sa´ıda SPI. Ele suporta 8 canais anal´ogicos de entrada e ´e controlado diretamente pelo mestre da comunicac¸˜ao SPI.

Os sensores do kit da Atlas Scientific s˜ao robustos e, utilizando-se dos EZOs, se torna um sistema de condicionamento de sinal completo, j´a que permitem a calibrac¸˜ao e compensac¸˜ao de valores para o ajuste do sinal recebido. As caracter´ısticas de cada sensor s˜ao apresentadas adiante, juntamente com algumas das equac¸˜oes matem´aticas dis- ponibilizadas pelo fabricante [Atlas Scientific 2015] que transformam o sinal anal´ogico em sinal de unidade representativa nos EZOs.

Sensor de Temperatura As caracter´ısticas do sensor de temperatura s˜ao:

Figura 4.5: Conversor A/D com sa´ıda SPI - MCP3008.

• Resoluc¸˜ao: 1o;

• Tens˜ao de Operac¸˜ao: 3.3V a 5V;

Figura 4.6: Sensor de Temperatura.

Esse sensor (Figura 4.6) ´e o ´unico do kit da Atlas Scientific que n˜ao tem EZO para condicionamento do sinal. Com isso, ele ´e conectado ao ADC mostrado anteriormente, recebendo valores que variam de 0 a 1024. Para que seja poss´ıvel utiliz´a-lo e convertˆe- lo para valores em unidade de temperatura, s˜ao realizadas as seguintes operac¸˜oes em software:

vout= valorADC∗ 0.0048 ∗ 1000; (4.1) Onde vout ´e o valor da tens˜ao de sa´ıda e o valorADC ´e o resultado da convers˜ao do ADC. O valor de 0.0048 corresponde a divis˜ao de 5V por 1024 (j´a que a resoluc¸˜ao do MCP3008 utilizado neste trabalho ´e de 10 bits). A multiplicac¸˜ao por 1000 ocorre para que seja

4.2. PROPOSTA 33

Figura 4.7: Sensor, EZO e substˆancia de calibrac¸˜ao - pH.

convertido de volts para milivolts. Por fim, para encontrar a temperatura, utiliza-se a seguinte equac¸˜ao:

T = 0.0512 ∗ vout− 20.5128; (4.2) Onde T ´e a temperetura emoC.

Sensor e EZO de pH As caracter´ısticas do sensor de pH e do EZO (Figura 6.5) corres- pondente s˜ao:

• Range: 0.01 at´e 14; • Resoluc¸˜ao: 0,02;

• Tens˜ao de Operac¸˜ao: 3.3V a 5V; • Leitura independente da temperatura; • Formato do dado ASCII

• Protocolos de Comunicac¸˜ao: UART e I2C.

O circuito do pH EZO converte a corrente gerada pela atividade de ´ıons de hidrogˆenio em pH. A corrente que ´e gerada ´e o rec´ıproco da atividade e pode ser obtida utilizando a seguinte equac¸˜ao:

E = E0−2.303RT

F pH (4.3)

Onde E consiste no valor em volts medido pelo sensor, o E0 ´e um valor de referˆencia, R ´e a constante dos gases ideais, T ´e a temperatura em Kelvin, F ´e a constante de Faraday e pH o valor desejado.

Figura 4.8: Sensor, EZO e substˆancia de calibrac¸˜ao - POR.

Na calibrac¸˜ao do pH utiliza-se de 3 substˆancias com valor de pH conhecido: o valor 7, que corresponde a neutralidade da substˆancia; o valor 10, que ajusta os valores de meio b´asico; e o valor 4, que ajusta os valores de meio ´acido. Al´em disso, ´e poss´ıvel inserir a compensac¸˜ao de temperatura. O valor padr˜ao ´e de 25C◦.

Sensor e EZO de POR As caracter´ısticas do sensor de POR e do EZO (Figura 4.8) correspondente s˜ao:

• Range: -1019.9mV a +1019.9mV; • Resoluc¸˜ao: 1mV;

• Tens˜ao de Operac¸˜ao: 3.3V a 5V; • Formato do dado: ASCII;

• Protocolos de Comunicac¸˜ao: UART e I2C.

A medic¸˜ao de POR ´e complexa e n˜ao ´e apresentada pelo fabricante. ´E interessante ressaltar que, segundo o fabricante, pequenas variac¸˜oes de composic¸˜ao do material do sensor, interferˆencia de produtos orgˆanicos e camadas de ´oxidos monomoleculares variam o resultado, de modo que, mesmo que dois sensores de POR estejam medindo a mesma substˆancia, ´e bem prov´avel que os dois n˜ao dar˜ao o mesmo resultado.

No processo de calibrac¸˜ao, ´e utilizado apenas o valor de 225mV como padr˜ao.

Sensor e EZO de Condutividade As caracter´ısticas do sensor de condutividade e o EZO (Figura 6.6) correspondente s˜ao:

• Range: 0.07 µS a 500.000µS; • Resoluc¸˜ao: 2 µS ;

4.2. PROPOSTA 35

Figura 4.9: Sensor, EZO e substˆancia de calibrac¸˜ao - Condutividade.

• Formato do dado ASCII

• Protocolos de Comunicac¸˜ao: UART e I2C.

O EZO deste sensor utiliza um circuito que faz uma convoluc¸˜ao dos sinais de entrada para que seja poss´ıvel calcular a sa´ıda. Basicamente, o dispositivo emite uma pequena descarga el´etrica que ´e capturada por um sensor e ent˜ao ´e verificado a tens˜ao de sa´ıda. Outro ponto importante ´e que, como visto no contexto te´orico deste trabalho, a salinidade pode ser obtida a partir da condutividade, e o EZO de POR j´a retorna o valor da salinidade, assim como s´olidos dissolvidos e gravidade espec´ıfica da ´agua, valores que podem ser utilizados em trabalhos futuros.

Assim como no processo de calibrac¸˜ao do pH, na condutividade, a calibrac¸˜ao ´e feita utilizando-se de mais de uma substˆancia de referˆencia. O valor baixo correponde a 12.880µS e valor alto a 85.000µS. Para este sensor, tamb´em ´e poss´ıvel fazer compensac¸˜ao de temperatura.

Sensor e EZO de Oxigˆenio Dissolvido (O.D.) As caracter´ısticas do sensor de O.D. e o EZO (Figura 4.10) correspondente s˜ao:

• Range: 0.01 a 35.99 mg/L; • Resoluc¸˜ao: 0,02 mg/L; • Tens˜ao de Operac¸˜ao: 3.3V a 5V; • Compensac¸˜ao de temperatura; • Compensac¸˜ao de salinidade; • Compensac¸˜ao de press˜ao; • Formato do dado ASCII

Figura 4.10: Sensor, EZO e substˆancia de calibrac¸˜ao - O.D.

• Protocolos de Comunicac¸˜ao: UART e I2C.

O EZO de O.D. ´e um dispositivo que leva em considerac¸˜ao a temperatura, a salinidade e a press˜ao para encontrar a concetrac¸˜ao de oxigˆenio dissolvido na ´agua. Para determinar essa concentrac¸˜ao, segue a seguinte equac¸˜ao:

%saturacao = mV naAgua

mV noar x100 (4.4)

Ou seja, o valor da saturac¸˜ao ´e igual ao valor de tens˜ao do sensor na ´agua divido pelo valor do mesmo no ar. Os parˆametros de temperatura, salinidade e press˜ao s˜ao ajustados no momento da calibrac¸˜ao. Por padr˜ao, o sensor ´e ajustado para uma temperatura de 20oC, com uma variac¸˜ao de 3 a 5 graus. No caso da salinidade, se a condutividade for menor 2.500 µS pode-se desconsiderar o ajuste. Caso seja constante, a salinidade ´e atribu´ıda apenas uma vez, e, no caso de ter pequenas variac¸˜oes, tamb´em pode ser desconsiderado. Para a press˜ao, o padr˜ao ´e considerar que o sensor esteja sendo usado pr´oximo a press˜ao atmosf´erica a n´ıvel do mar. Essas configurac¸˜oes s˜ao armazenadas em circuitos integrados EEPROM e n˜ao se perdem caso sejam desligados.

Na calibrac¸˜ao, utiliza-se o valor de 0mg/L como padr˜ao conhecido. Al´em disso, a calibrac¸˜ao tamb´em considera o valor do n´ıvel de oxigˆenio da atmosfera. Dessa forma, ´e poss´ıvel encontrar o valor da saturac¸˜ao atrav´es da f´ormula anterior.

M´odulo de Acionamento

Pensando na aplicac¸˜ao principal do sistema, que ´e embarc´a-lo em um veleiro rob´otico autˆonomo, foi adicionado um m´odulo que permite que os sensores sejam inseridos e re- tirados da ´agua a partir de tempos determinados. Isso foi feito para que os sensores n˜ao sofram com a influˆencia do arrasto quando o veleiro est´a em movimento. Desse modo,

4.2. PROPOSTA 37

em pontos especificados, com o veleiro na posic¸˜ao pr´e-determinada, o computador cen- tral envia um sinal, que faz com os sensores sejam colocados na ´agua. Ap´os a coleta dos dados, a partir de um tempo definido, os sensores s˜ao retirados e o veleiro pode seguir para outro ponto.

Figura 4.11: Microcontrolador AtMega.

Para o funcionamento deste m´odulo ´e utilizado o microcontrolador AtMega (Figura 4.11).O AtMega ´e respons´avel por comunicar-se com o computador central, via protocolo I2C, e acionar um servo-motor que, conectado a um carretel, faz os sensores baixarem ou levantarem segundo os comandos recebidos. A figura 4.12 mostra um esboc¸o deste sistema de acionamento.

M´odulo de Comunicac¸˜ao

O m´odulo de comunicac¸˜ao ´e respons´avel por disponibilizar os dados adquiridos dos sensores para o servidor. Para validac¸˜ao do sistema, est´a sendo utilizado apenas a tec- nologia WiFi. Deseja-se posteriomente, adicionar outras tecnologias, como 3g e sat´elite, para que seja poss´ıvel acessar o sistema de qualquer lugar.

Com o intuito de criar uma rede interna para acesso remoto, est´a sendo utilizado um roteador Wifi comum no sistema, para transmitir e receber dados do servidor. Isto ´e necess´ario para que seja poss´ıvel acessa-lo a partir do IP est´atico atribuido ao Raspberry. A figura 4.13 apresenta a arquitetura b´asica em blocos deste m´odulo.

Figura 4.13: Arquitetura de Hardware - M´odulo de Comunicac¸˜ao.

M´odulo de Persistˆencia

O m´odulo de persitˆencia, consiste em uma camada existente no pr´oprio computador central e em um servidor externo que utilizar´a o MySQL para armazenamento de dados. Esse m´odulo ´e de fundamental importˆancia, visto que, caso ocorra algum problema no sistema de comunicac¸˜ao, os dados n˜ao ser˜ao perdidos, permanecendo em mem´oria por um determinado per´ıodo de tempo. Al´em disso, possibilita ao usu´ario visualizar dados que n˜ao est˜ao sendo mostrados nos gr´aficos de tempo real no momento da requisic¸˜ao.

M´odulo de Telemetria

O m´odulo de telemetria consiste na comunicac¸˜ao do sistema com os consumidores dos dados monitorados. Corresponde ao servidor Web, que tamb´em faz parte do m´odulo

4.2. PROPOSTA 39

de comunicac¸˜ao, e a pr´opria interface web.

O servidor Web ´e um servlet Java rodando no pr´oprio Raspberry. Esse servidor per- mite a comunicac¸˜ao com o Raspberry a partir de comunicac¸˜ao socket. Dessa forma, ´e poss´ıvel receber os dados dos sensores adquiridos no m´odulo de sensoriamento e envi´a- los, a partir de requisic¸˜oes Ajax, atrav´es da p´agina dinˆamica JSP.

A p´agina JSP apresenta os dados dos sensores em tempo real a partir de gr´aficos que se atualizam automaticamente a medida que novos dados s˜ao recebidos. Al´em disso, o sistema possibilita, a partir de normas definidas por ´org˜aos gestores, verificar a qualidade do parˆametro em tempo real. Por exemplo, segundo o CONAMA (1986), o valor do pH da ´agua pot´avel precisa est´a numa faixa entre 6 e 9. A partir dessa informac¸˜ao, o sistema verifica os dados e apresenta na tela se est´a ou n˜ao dentro desses valores.

A figura 4.14 mostra o diagrama do sistema completo com os correspondentes proto- colos de comunicac¸˜ao.

Documentos relacionados