Arduino – Thermometer IR contactloos (MLX90614)

Hardware

Losse sensor:

Module vorm:

Module vorm met RX/TX seriele communicatie:

BESTEL NU!

Sensor informatie:
Infrarood thermometer MLX90614 met een I2C interface. Maakt gebruik van de MELEXIS MLX90614ESF-BAA-000-TU-ND chip om contactloos de temperatuur te meten. Eenvoudig te gebruiken met een Arduino of andere microcontroller.

Infrarood thermometer MLX90614 specificaties:
– Werkt op: 3-5V
– 10k Pull up weerstand voor de I2C interface
– Meet temperatuur range: -40 – +125°C
– Werk temperatuur range: -70 – +380°C
– Hoge nauwkeurigheid: 0.5°C in de range 0…+50°C
– Meetresolutie: 0.02°C


Losse sensor of module

Pinout

Vanaf de onderkant:

 

Aansluiten op de Arduino

Wat heb je nodig?

– 2 weerstanden van 4.7 KOhm.
– een condensator van 0.1 uF voor een stabiele voeding van de i2c verbinding (optioneel).

Sluit de module aan volgens onderstaand overzicht:

De module vorm

Arduino pin:MLX90614 pin:
GNDGND
+3.3vVCC (+2.8-3.6v)
A5SCL (I²C Clock)
A4SDA (I²C Data)


Voorbeeldscript met bibliotheek “Adafruit”

Wat heb je nodig?
1) Adafruit MLX90614 bibliotheek

Het volgende script laat zowel de omgevingstemperatuur en de temperatuur van het object!

Console output:


Voorbeeldscript met bibliotheek “I2Cmaster”

Wat heb je nodig?
1) I2Cmaster Arduino bibliotheek (2002 versie is getest)

Dit script geeft alleen de temperatuur van het object weer, ook bij snelle veranderingen komt er even een negatief getal uit de data…

Console output:


Module vorm met RX/TX seriele communicatie

informatie (ENG):
CJMCU-90614 is a low-cost infrared temperature module and its operating voltage is 3-5V.
Its working principle is read through the MCU infrared temperature data, serial (TTL level)
Communication output (baud rate can be set): The serial port baud rate is 9600bps, 57600 and 115200bps
There are 2 output method including continuous output and query output, can adapt to different working environments, and connect to all the microcomputer and computer.

Communication protocol:
Serial communication parameters (default baud rate 115200 bps, can be set by software)
Baud rate: 9600bps, Parity bit: N, Data bits: 8, Stop bits: 1
Baud rate: 57600bps, Parity bit: N, Data bits: 8, Stop bits: 1
Baud rate: 115200bps, Parity bit: N, Data bits: 8, Stop bits: 1

Module output format:
Instruction length: 9
Data output format:
Byte1 Header Flags 0x66
Byte2 Header Flags 0x66
Byte3 data output mode (0x01 continuous output; 0x02 query output, the default for continuous output mode)
Byte4 Measured data length (counted by Byte)
Byte5 Data 1 Upper 8 bits
Byte6 Data 1 Lower 8 bits
Byte7 Data 2 Upper 8 bits
Byte8 The lower 8 bits of data2
Byte9 data parity (all data accumulation, take the low 8-bit)

Data calculation method:
Temperature = Data High 8 bits << 8 | Lower 8 bits of data, the result is the actual temperature multiplied by 100.

Command instructions:
Byte1 Header Flags 0x66
Byte2 Header Flags 0x66
Byte3 Sets the command:
0x01 Continuous output mode
0x02 Query output mode
0x11 Set the baud rate to 9600
0x12 Set the baud rate to 57600
0x13 Set the baud rate to 115200
Byte4 End of frame flag 0x56

Using method:
The module uses serial to output data, the module connected to the power, connect the serial port (default baud rate 115200, continuous send mode), the serial directly output. If you want to change the send mode, you can send a command 66 66 02 56 to the module, and once the command is sent, the module will return the temperature data once. If you want to change the baud rate to 9600 you can send 66 66 11 56 to the module, and if you want to change the baud rate to 57600 you can send 66 66 12 56 to the module.

[TODO]