Difference between revisions of "Module/Melexis MLX90614"
m |
|||
Line 87: | Line 87: | ||
===One-time configuration=== | ===One-time configuration=== | ||
( | (currently only available in the master branch) | ||
The I2C address is stored in internal flash memory and is usually ''randomly'' set. To set it to a useful value (0x06) put the below define '''only once''' while setting your equipment up. | The I2C address is stored in internal flash memory and is usually ''randomly'' set. To set it to a useful value (0x06) put the below define '''only once''' while setting your equipment up. | ||
Line 97: | Line 97: | ||
</source> | </source> | ||
}} | }} | ||
===Result message=== | ===Result message=== |
Revision as of 15:25, 22 March 2013
Overview
The Melexis MLX90614 is a digital infrared radiation sensor. It is used to measure earths surface temperature when flying at low altitudes. It measures both the object (earth) temperature and the case (sensor) temperature.
Module name | meteo/ir_mlx |
Sensor type | temperature |
Range (object) | -70°C .. +380°C |
Resolution | 0.02°C |
Refresh rate | 8Hz |
I2C address | 0x06 |
Hardware
The board does have a 3.3V I2C interface.
Breakout board: Paparazzi hardware repo
Supplier:
Wiring
Autopilot I2C pin | Autopilot I2C | MLX90614 | MLX90614 pin |
1 | GND | Vss | 4 |
2 | |||
3 | +3.3V | Vdd | 3 |
4 | SDA | SDA | 2 |
5 | SCL | SCL | 1 |
Usage
To use the infrared radiation sensor:
File: conf/airframes/myplane.xml |
<modules>
<load name="ir_mlx.xml"/>
</modules>
|
One-time configuration
(currently only available in the master branch)
The I2C address is stored in internal flash memory and is usually randomly set. To set it to a useful value (0x06) put the below define only once while setting your equipment up.
File: conf/airframes/myplane.xml |
<load name="ir_mlx.xml">
<define name="IR_MLX_ONE_TIME CONFIG" value="1"/>
</load>
|
Result message
Both the sensor case temperature and infrared object temperature are measured. The raw data (itemp_case/_obj) and the converted result (temp_case/_obj) is written to the log file. The message is automatically sent when new data is received, it does not have to be added to the telemetry file.
File: conf/messages.xml |
<message name="MLX_STATUS" id="85">
<field name="itemp_case" type="uint16"/>
<field name="temp_case" type="float" unit="deg_celsius" format="%.2f"/>
<field name="itemp_obj" type="uint16"/>
<field name="temp_obj" type="float" unit="deg_celsius" format="%.2f"/>
</message>
|
The sensors 64bit serial number is read out at init and transmitted every 30 seconds.
File: conf/messages.xml |
<message name="MLX_SERIAL" id="113">
<field name="serial0" type="uint32"/>
<field name="serial1" type="uint32"/>
</message>
|
Sample log file lines
6.000 123 MLX_SERIAL -1468333052 -931101532 6.518 123 MLX_STATUS 14703 20.91 14702 20.89 6.634 123 MLX_STATUS 14703 20.91 14702 20.89 6.750 123 MLX_STATUS 14704 20.93 14705 20.95 6.878 123 MLX_STATUS 14703 20.91 14702 20.89
NOTES
If flying at higher altitudes the infrared radiation from the in-between water vapor is also measured.