Sensor de temperatura IR MLX90614

GY-906 e case Arduino
GY-906 e case Arduino

Pense em uma delícia para makers. “Achôôôô”!

Sensor de temperatura IR MLX90614

Essa belezura é um sensor de temperatura IR MLX90614 que adquiri para operar em conjunto a uma aplicação com OpenCV. Esse dispositivo tem uma precisão médica de 0.2 graus e alta precisão em largas escalas (entre -40 e +125 Celsius para sensor de temperatura e -70 a +380 para temperatura de objetos) com precisão de 0.5 graus Celsius.




Esse sensor tem aplicação em quase tudo que se possa imaginar e claro, para tomar a temperatura humana sem contato físico também. Ele utiliza barramento SMBUS podendo ser integrado a até 126 outros iguais via 2-wire e assim fazer um mapeamento de área.

Algumas informações mais

No datasheet você encontra na página 1 o diagrama funcional, para o caso de você adquirir esse dispositivo fora da board. No meu caso, esse que você vê nesse post já está devidamente protegido com resistores, capacitores e transistor, tudo SMD, o que reduz consideravelmente seu tamanho.

Ele possui um ADC de 17 bits e uma unidade DSP, o que dá tamanha acuidade ao dispositivo. Ele já vem calibrado com uma saida PWM digital e SMBUS. Seu PWM é de 10 bits (!) configurado para transmisitr continuamente a temperatura medida entre -20 e +120 Celsius, com resolução de saída de 0.14 Celsius.

A precisão é altamente dependente de condições isotérmicas (onde não haja interferências térmicas no empacotamento do sensor, de forma a interferir na medição).

Absolute Maximum ratings

Essa tabela é fundamental para preservar seu dispositivo, confira-a na página 4. Essa tabela significa que se você passar desses limites, pode dar adeus ao brinquedo. Como ele tem versões de 3.3V e 5V, é fundamental que você verifique a tensão do seu antes de fazer a conexão. Trabalhar sobre esses limites também reduz a vida útil do sensor.

Usar biblioteca pronta é o caminho mais curto

Escrever um protocolo pra conversar com esse dispositivo não é trivial. Não vou discorrer sobre os endereços de memória, mas a RAM por exemplo só dá acesso a alguns endereços de interesse do usuário (o que é um alívio).

O barramento SMBUS





Mas ainda falando do baixo nível, no barramento SMBUS são suportados apenas os comandos Read Word e Write Word – isso também é motivador. Nas páginas 15 e 16 do datasheet os bits são descritos  em detalhes.

Campo de visão

É importante saber o campo de visão para medida. Repare no desenho a seguir que o pico está ao centro do sensor e quanto maior a dispersão, menor a acuidade.

Campo de visão
Campo de visão

I2C ou SMBUS?

De modo geral, os barramentos são compatíveis, mas há algumas diferenças que podem causar problemas. Uma breve tabela descritiva pode ser vista nesse link.

Biblioteca

O sensor é o MLX90614, nessa board chamado de GY-906. Procurando pela biblioteca pela própria interface do Arduino em Sketch->Include Library->Manage Libraries Você pode procurar por MLX90614 e encontrará 3 opções; instalei todas, mas para esse post apenas subi o exemplo em File->Examples->Adafruit MLX90614 Library->mixtest. Ao abrir o terminal serial você verá a informação a seguir:

Temperatura - MLX60914
Temperatura – MLX60914

A medição é muito rápida mas o melhor resultado é obtido à menor distância possível. Testei com minha mão fria, que chegou a 35.4 graus Celsius, mas a uma distância menor que 1CM. Não sei se será possível integrar esse sensor com visão computacional, mas é meu propósito.

Wiring





O Wiring é simples. Com Arduino UNO, coloque o SDA do sensor no pino 4 analógico e o pino SCL do sensor no pino 5 analógico. 3v3 em Vin e GND em GND.

 

Case do Arduino

Reparou que case malucão? Ele é feito em impressão 3D, com botão de trava com mola e botão para reset! Repare que a tampa (de gaveta) tem o símbolo de energia sobre o conector jack e o símbolo de USB sobre a porta USB. Tem também as posições para parafusar, mas esse case eu quero carregar no bolso, ficou lindo demais! Se interessou, dê uma olhada nas impressões 3D desse vendedor, clicando aqui mesmo (cujo nome não posso citar por regras do mercado livre) e custa uma bagatela (será que essa palavra ainda está no dicionário?). No link tem detalhes dele desmontado e um video mostrando  a inserção do Arduino. Eu estou com várias peças feitas por esse vendedor e a cada artigo novo vou mostrando, pode babar à vontade.

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!

Agregador de Links - Loucuras da Net

 

 

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.