Module/Freescale MPL3115A2

From PaparazziUAV
Jump to: navigation, search
Freescale MPL3115A2 barometer

Overview

The Freescale MPL3115A2 is a barometer/pressure sensor.

The device was tested in a simple static noise comparsion setup.

Module name sensors/baro_mpl3115
Sensor type barometer, temperature
Range (baro) 30 kPa .. 1100 kPa
Range (temp) -40°C .. +85°C
Resolution (baro) 0.25 Pa
Resolution (temp) 0.01°C
Refresh rate 5Hz
I2C address 0xC0

Product home page

Product data sheet

Hardware

The sensor directly interfaces to the 3.3V I2C port of the autopilots and is supplied by +3.3V.

Supplier: Sparkfun

Wiring

Autopilot I2C pin Autopilot I2C Freescale MPL3115A2
1 GND GND
2
3 +3.3V VCC
4 SDA SDA
5 SCL SCL


Usage

To use it load the baro_mpl3115 module:

File: conf/airframes/myplane.xml
  <modules>
    ...
    <load name="baro_mpl3115.xml"/>
  </modules>

Configuration

To see the sensors data in the log file set the SENSOR_SYNC_SEND in your airframe file. Every time new data is available it will be sent directly. For pressure reading instead of altitude set MPL3115_ALT_MODE to zero.

File: conf/airframes/myplane.xml
  <modules>
    ...
    <load name="baro_mpl3115.xml">
      <define name="SENSOR_SYNC_SEND"/>
      <define name="MPL3115_ALT_MODE" value=0/>
    </load>
  </modules>

Result message

Unfortunately only the raw values are written to the log file (to be changed), they need to be multiplied by the coefficient given in conf/messages.xml.

File: conf/messages.xml
  <message name="MPL3115_BARO" id="68">
    <field name="pressure" type="uint32" alt_unit="Pa" alt_unit_coef="0.25"/>
    <field name="temp" type="int16" alt_unit="degC" alt_unit_coef="0.0625"/>
    <field name="alt" type="float" unit="m"/>
  </message>

Sample log file lines (pressure mode)

18.840 123 MPL3115_BARO 395099 353 0.
19.041 123 MPL3115_BARO 395143 353 0.
19.243 123 MPL3115_BARO 395142 353 0.
19.440 123 MPL3115_BARO 395130 353 0.