quinta-feira, 14 de junho de 2018

DS18B20 - Resistor de 4.7K ou 10K? Faz diferença?


O DS18B20 é um sensor de temperatura muito falado aqui no blog por suas diversas vantagens. Mas uma característica deste é necessitar de um resistor fazendo ponte entre o único pino de dados e a energia de alimentação. Sempre é recomendado o uso de um resistor de 4,7K e a definição de 10bits. Mas na ausência deste se encontra recomendações para usar um resistor de 10K e 12 bits.

Mas qual será a diferença na prática? Veremos discrepâncias de medições diferentes?

Para medir eu utilizei dois DS18B20 versão encapsulada, um protoboard 400 pinos, jumpers, um Arduino UNO e uma fonte de alimentação para protoboard. Os dois sensores foram ligados na protoboard, alimentada em 5V pela fonte, o GND da fonte e do UNO foram conectados. Foi utilizado o protocolo one wire na porta 8. No sensor 1 foi usado um resistor de 10K e no sensor 2 um resistor de 4K7.

Para 10K foi setado 12bits. Para 4K7 foi setado 10bits.

Ambos os sensores foram imersos em um copo de água gelada, previamente resfriada por três dias em geladeira. Os sensores foram posicionados a não tocar a borda do copo, ficando completamente submersos, a mesma altura, sem tocar entre si.

Após 3 minutos submersos para estabilização foi iniciada a verificação de dados a cada 5000ms, regulados por meio da função delay. Os dados foram capturados pela serial e enviados ao Excel. Foram 265 capturas. Temperatura ambiente aproximada de 24°C e umidade relativa de 69% (DHT11)


Se olhar apenas após uma estabilização completa, que ocorreu após a leitura de número 50, é possível observar pela formatação condicional dos valores e pelo gráfico que não existe diferença entre ambos. O sensor em 4K7 mediu apenas valores com decimais 00, 25, 50 e 75, enquanto o de 12bits mediu valores com os decimais completos. Mesmo com alta precisão nos decimais a temperatura sempre subiu, o que era esperado. Demostrando que essa precisão a mais não interfere na qualidade dos dados. Na faixa em que o sensor de 10bits mostrava números com final 00 e 25 o final do sensor de 12bits estava neste intervalo. Esse comportamento ocorreu em todos os intervalos.

Ambos os resistores mostraram a mesma qualidade nos dados, o sensor em 10K demonstrou maior detalhamento por conta dos 12bits de resolução escolhidos por software.

Mas e no caso de utilizar 12bits de resolução tanto no resistor de 4K7 quanto no de 10K? Foi realizado o teste após o teste anterior, sem tocar nos sensores, apenas atualizando o código no UNO. Foram feitas 286 coletas.


Com ambos em 12bits a situação prevalece, ambos tiveram o mesmo comportamento, com qualidade semelhante. De início foi notada um diferença fixa de 0,6°C que foi reduzindo com o passar do tempo. Diferença essa que pode ser do próprio líquido. O sensor no resistor de 10K apresentou três inconsistências, contra apenas uma do em 4K7, essa inconsistência foi característica, onde não tinha determinado se a temperatura subiu ou permaneceu.

Concluímos que a recomendação dos sites sobre o assunto de utilizar resistor de 4K7 com 10bits e de 10K com 12bits não se mostrou conclusiva. A recomendação é de utilizar o sensor de 4K7, por ter demonstrado menor inconsistência e resolução de 12bits pela sua maior precisão de dados, sem perda de qualidade dos mesmos. Mesmo assim, o uso de resistor de 10K também é aceito sem prejuízos a qualidade dos dados.

Nenhum comentário:

Postar um comentário