(15)トラ技mbedで気圧計と高度計(MPL115A2ライブラリ)

(15)MPL115A2(MPL115A2 library)

概要

  • MPL115A2用の制御ライブラリです。
  • 2つの付録基板を活用します。
  • トランジスタ技術2014年2月号の付録基板(実験基板)
  • トランジスタ技術2014年3月号の付録基板(トラ技mbed)
  • 実験基板は表示機として使用します。LPC810は外しておきます。

/media/uploads/yasuyuki/mbed-mpl115a2.png

MPL115A2モジュール

  • MPL115A2は表面実装ですので、DIPモジュールを利用しました。
  • なおMPL115A1はSPI接続です。
  • 端子のmbed風表記です。

/media/uploads/yasuyuki/mpl115a2.png

仕様(spec.)

  • MPL115A2は気圧センサーです。
  • 測定範囲:500から1150hPa
  • 精度:±10hPa
  • 分解能:1.5hPa
  • 内部10ビットデータ
  • データの補正計算が必要です。AN3785 rev6で計算方法が変更されています。
  • I2Cアドレス(7ビット)は0x60(プログラム上の表記は0xC0)

/media/uploads/yasuyuki/mpl115a2.jpg

MPL115A2メンバー関数

関数名用途引数戻り値
MPL115A2 mpl115a2(P0_5, P0_4)インスタンス生成SDA, SCL-
MPL115A2 mpl115a2(i2c)インスタンス生成i2c-
mpl115a2.pressure()気圧データvoidshort
mpl115a2.temperature()気温データvoidshort
  • インスタンス生成はどちらかの方法で行います。i2cを継承することもできます。
  • 気温データは気圧の補正用であり、精度が良くありません。
  • 気圧データ、気温データともにあえて16ビットデータを取得するようにしています。
  • 浮動小数点を扱えないマイコンへの移植が困難になるからです。
  • 補正された気圧データは50kPaから115kPaを10ビットの分解能で表現しています。
  • 補正された気圧データ(10ビット)は16倍されています。

mbedソフトウェア

  • サンプルプログラムはmbed_MPL115です。
  • mbed_MPL115_LPC11U35_501.binを書き込みます。

トラ技mbedのプログラム書き込み方法

  1. ISPボタンを押しながらRESETをON/OFFします。
  2. PCにUSBストレージとして認識されます。
  3. firmware.binを削除します。
  4. バイナリファイルをコピーします。
  5. RESETを押します。

接続

  • MPL115A2のVdd(1)をmbedの3.3Vに接続します。
  • MPL115A2のCap(2)はGnd間に1uFを接続します。
  • MPL115A2のGND(3)をmbedのGNDに接続します。
  • MPL115A2のSHDN(4)をmbedの3.3Vに接続します。
  • MPL115A2のRST(5)をmbedの3.3Vに接続します。
  • MPL115A2のNC(6)は未接続。
  • MPL115A2のSDA(7)をmbedのSDAに接続します。
  • MPL115A2のSCL(8)をmbedのSCLに接続します。

高度計

  • 気圧から高度を推計することができます。
  • ただし天候に左右されます。
  • 国際民間航空機関(ICAO)が定めた標準大気モデルがあります。
  • 標準大気モデルは海面気温T0=15[C]、海面気圧P0=101325[Pa]を想定しています。
  • 高度計算に気温は考慮されますが、海面気圧が考慮されていません。

/media/uploads/yasuyuki/mpl115.jpg

著作権と免責事項

  • 個人利用に限定され、著作権者の許可なく商用利用できません。
  • 直接間接に関わらず、使用によって生じたいかなる損害も筆者は責任を負いません。


Please log in to post comments.