Difference between revisions of "Module/Melexis MLX90614"
m |
|||
| Line 106: | Line 106: | ||
<field name="itemp_obj" type="uint16"/> | <field name="itemp_obj" type="uint16"/> | ||
<field name="temp_obj" type="float" unit="deg_celsius" format="%.2f"/> | <field name="temp_obj" type="float" unit="deg_celsius" format="%.2f"/> | ||
</message> | |||
</source> | |||
}} | |||
The sensors 64bit serial number is read out at init and transmitted every 30 seconds. | |||
{{Box Code|conf/messages.xml| | |||
<source lang="xml"> | |||
<message name="MLX_SERIAL" id="113"> | |||
<field name="serial0" type="uint32"/> | |||
<field name="serial1" type="uint32"/> | |||
</message> | </message> | ||
</source> | </source> | ||
| Line 112: | Line 122: | ||
Sample log file lines | Sample log file lines | ||
6.000 123 MLX_SERIAL -1468333052 -931101532 | |||
6.518 123 MLX_STATUS 14703 20.91 14702 20.89 | 6.518 123 MLX_STATUS 14703 20.91 14702 20.89 | ||
6.634 123 MLX_STATUS 14703 20.91 14702 20.89 | 6.634 123 MLX_STATUS 14703 20.91 14702 20.89 | ||
Revision as of 01:12, 7 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.
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
(tbd)
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.