Module/Bosch BMP085

From PaparazziUAV
Jump to: navigation, search
Bosch BMP085 barometer

Overview

The Bosch BMP085 is a barometer/pressure sensor. There is an alternative float number implementation available that seems to offer less noise, not implemented yet.

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

Module name sensors/baro_bmp
Sensor type barometer, temperature
Range (baro) 30 kPa .. 1100 kPa
Range (temp) -40°C .. +85°C
Resolution (baro) 3 Pa
Resolution (temp) 0.1°C
Refresh rate 8Hz
I2C address 0xEE

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 Bosch BMP085
1 GND GND
2
3 +3.3V VCC
4 SDA SDA
5 SCL SCL


Usage

To use it load the baro_bmp module:

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

Configuration

To see the sensors data in the log file every time new data is available, set SENSOR_SYNC_SEND in your airframe file.

If you omit SENSOR_SYNC_SEND from your airframe file, you will still get the data, but at 1/10 of the available rate.

File: conf/airframes/myplane.xml
  <modules>
    ...
    <load name="baro_bmp.xml">
      <define name="SENSOR_SYNC_SEND"/>
    </load>
  </modules>

Result message

The raw data (UP/UT) and the converted result (press/temp) is written to the log file.

File: conf/messages.xml
  <message name="BMP_STATUS" id="84">
    <field name="UP" type="int32"/>
    <field name="UT" type="int32"/>
    <field name="press" type="int32" unit="Pa"/>
    <field name="temp" type="int32" unit="10x_deg_celsius"/>
  </message>

Sample log file lines

8.272 123 BMP_STATUS 336765 28975 98628 219
8.507 123 BMP_STATUS 336765 28973 98629 219
8.741 123 BMP_STATUS 336775 28975 98629 219
8.973 123 BMP_STATUS 336778 28973 98630 219