Difference between revisions of "Module/Meas Spec MS5611 I2C"

From PaparazziUAV
Jump to navigation Jump to search
m
m
Line 1: Line 1:
__NOTOC__
__NOTOC__
[[Image:Freeimu043.jpg|thumb|right|MS5611-01BA01 as part of the FreeIMU 0.4.3]]
[[Image:Freeimu043.jpg|thumb|right|MS5611-01BA01 as part of the FreeIMU 0.4.3]]
[[Image:Multi_i2c_ms5611.jpg|thumb|right|MS5611-01BA01 as part of the multi adapter board]]
== Overview ==
== Overview ==



Revision as of 15:30, 13 March 2013

MS5611-01BA01 as part of the FreeIMU 0.4.3
MS5611-01BA01 as part of the multi adapter board

Overview

The Measurement Specialties MS5611 is an excellent barometer/pressure sensor. Currently a plastic case version (-01BA01) and a metal case version (-01BA03) exist. The sensor can be used as I2C or SPI device. This page describes the connection through I2C (the MS5611 mounted on the Aspirin V2.2 uses the SPI port).

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

Module name sensors/baro_ms5611_i2c
Sensor type barometer, temperature
Range (baro) 10 kPa .. 1200 kPa
Range (temp) -40°C .. +85°C
Resolution (baro) 1.2 Pa
Resolution (temp) 0.01°C
Refresh rate 4Hz
I2C address 0xEE

Product home page

Hardware

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

Supplier:

Drotek

CSG

Wiring

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


Usage

To use it load the baro_ms5611_i2c module:

File: conf/airframes/myplane.xml
  <modules>
    ...
    <load name="baro_ms5611_i2c.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.

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

Result message

The raw values (d1/d2) and the corrected ones (pressure/temp) are written to the log file.

File: conf/messages.xml
  <message name="BARO_MS5611" id="116">
    <field name="d1" type="uint32"/>
    <field name="d2" type="uint32"/>
    <field name="pressure" type="float" unit="hPa" format="%.2f"/>
    <field name="temp" type="float" unit="deg_celsius" format="%.2f"/>
  </message>

The sensors calibration values are read out at init time and transmitted every 30 seconds. They can be seen as some sort of unique serial number.

File: conf/messages.xml
  <message name="MS5611_COEFF" id="117">
    <field name="c0" type="uint16"/>
    <field name="c1" type="uint16"/>
    <field name="c2" type="uint16"/>
    <field name="c3" type="uint16"/>
    <field name="c4" type="uint16"/>
    <field name="c5" type="uint16"/>
    <field name="c6" type="uint16"/>
    <field name="c7" type="uint16"/>
  </message>


Sample log file lines

10.239 123 MS5611_COEFF 8 53136 52817 34048 31158 31184 28953 55558
11.024 123 BARO_MS5611 8049424 8052329 988.8 22.38
11.272 123 BARO_MS5611 8049312 8052284 988.77 22.38
11.524 123 BARO_MS5611 8049344 8052330 988.78 22.39