terça-feira, 1 de maio de 2018

Construindo um Datalogger com Arduino - Parte 1 - Escolhendo sensores

Bom, já discutimos na postagem anterior: O que é um datalogger, quais as características necessárias e o experimento no qual ele será utilizado. Clique aqui para ler.

Agora vamos pensar na construção física dele. O mais básico é que esse logger seja capaz de capturar a temperatura da terra úmida exposta ao sol, então nosso sensor precisa possui algumas características.

  • Precisa ser resistente a água
  • Precisa possui boa precisão (+-0,5°C)
  • Funcionar sem problemas entre 5°C - 60°C
  • Ser alimentado diretamente pelo microcontrolador
  • Baixo custo
  • Baixo consumo energético
Primeira necessidade, ser a prova de água. Aqui vamos trabalhar com duas opções, o sensor DS18B20 versão encapsulada e o NTC 10K encapsulado. Ambos seguem as nossas características, mas vamos escolher o DS18B20, porque o NTC funciona com dois fios, mas ocupando três portas do arduino. Pois ele é alimentado pelo 5V, sendo o terra conectado tanto no terra do Arduino quanto na porta digital. Então usaríamos, para três sensores, uma porta 5V, uma porta GND, três portas digitais e três resistores de 10K.
Esquemático da ligação do NTC

Mas então como ficaria com o nosso escolhido DS18B20 encapsulado? Ele possui o protocolo 1-Wire, que permite com que inúmeros sensores sejam ligados apenas a um pino digital, com um único resistor. Funciona assim: Cada sensor vem com um código de fábrica, você usa um programinha do arduino para ler esse código e anotar. No seu programa final você identifica cada sensor pelo seu código. Exemplo:
Sensor 1 = 0x28, 0xFF, 0x19, 0xA1, 0x31, 0x17, 0x03, 0xF4
Sensor 2 = 0x28, 0xFF, 0x9E, 0x89, 0x31, 0x17, 0x03, 0x02
Sensor 3 = 0x28, 0xFF, 0x3B, 0x2D, 0x32, 0x17, 0x03, 0xA0

Imagem do código real no arduino, agora quando quiser a temperatura do sensor 1, basta chama a temperatura do sens1. printTemperature(sen1); // sensors.getTempC(sen1);

Com o sensor DS18B20 vamos usar a porta 5V, a porta GND e a digital 7, com um único resistor. Muito mais limpo e econômico. Ótimo, vamos apenas analisar agora se o sensor cumpre todas as características:
  • A prova de água: Sim, até 90cm. Suficiente para nosso uso.
  • Boa precisão: Sim, entre -55°C e +125°C a precisão é de ±2°C. Mas dentro da nossa faixa de temperatura (-10°C à +85°C) a precisão é suficiente (±5°C).
  • Temperatura de operação: Sim, ele funciona de -55°C a 90°C, 90°C é a temperatura máxima da parte plástica do encapsulamento, não do sensor.
  • Ser alimentado diretamente pelo arduino: Sim, ele suporta voltagens entre 3 e 5,5V, possuindo o consumo compatível com a porta do arduino.
  • Baixo custo: Sim, R$8,90 por unidade no Brasil e R$3,57 na China.
  • Baixo consumo energético: Sim, até 0,001mA quando em espera e 1,5mA quando em leitura.
  • Velocidade de leitura: Lê em até 750ms.
O segundo sensor que vamos utilizar vai ser para medir a temperatura ambiente do ar, e de brinde medir a umidade do solo, para depois podermos comparar essa umidade com a taxa de evaporação do solo baseada na temperatura. Aqui vamos utilizar um sensor mais simples, mas que já possui boas especificações e vai nos atender. O DHT22.


Esse sensor é fácil de encontrar, possui várias bibliotecas e ao contrário do seu antecessor (DHT11) já possui uma precisão interessante. Ele utiliza um pino de alimentação, um GND e um digital para leitura dos dados. Funciona em até 20m de distância, alimentação entre 3,3-6V e opera com uma temperatura entre -40 à 80°C, com precisão de ±0,5°C. Já quanto a umidade ele é capaz de ler 0-100%RH com precisão de ±2%RH. Seu tempo de resposta é alto, ele só pode ser lido a cada dois segundos. Seu preço é cerca de R$13,00 no Brasil e R$4,00 na China. Seu consumo de energia é de até 1,5mA em leitura e 0,05mA em espera.

Espero no futuro adicionar como sensor um LDR, para realizar a leitura da luminosidade, mas de início já escolhemos os nossos sensores, e vamos trabalhar com o captura de cinco dados diferentes:

  • Temperatura do vaso descoberto
  • Temperatura do vaso com feno
  • Temperatura do vaso com casca de madeira
  • Temperatura do ar
  • Umidade relativa do ar
No próximo post vamos escolher nossos atuadores. Até!


Nenhum comentário:

Postar um comentário