■ 小型のデジタル気圧計 MPL115A2・MPL115A1を制御する ■


● MPL115A2 (I2C)タイプ ●
 
 小型で、少ない配線とわずかな外付け部品で気圧が測定できる、優れたセンサーです。
 I2Cバスにより、マイコンから2本(基本)のラインで制御できます。
 
 気圧は、500hPaから1150hPaまでを、1.5hPaの解像度で測定します。
 個々のセンサーに、個体差の較正データが書き込まれており、内蔵の温度センサーと合わせて補償計算をして、高精度な気圧値を求めます。


MPL115A2の日本語マニュアルが見つからないので、私的に翻訳してあります。
MPL115A2 日本語マニュアル
 
個人で使用するために翻訳した物を掲載しておりますので、翻訳間違いや誤字による、
いかなる損害にも責任を負いません。


5x3x1.2mmと極小さい部品なので、秋月電子等のDIP変換基板に
実装されたモジュールをお勧めします。
 
・電源電圧: 2.375V 〜 5.5V
・消費電流: 5μA(平均) スリープ時: 1μA
・動作温度範囲: -40℃ 〜 +105℃ (最大定格)
・圧力と温度センサーを内蔵。 (変換時間は最大3mS)
 
・温度値は圧力補正に使用されるデータで、室温などの実温度ではない
 ようです。
・温度計としては較正されていないため、計測値を温度値へ変換すると、
 数℃〜数十℃の誤差が出ます。


MPL115A2の気圧測定 テスト・プログラム
 
回 路
・当ページに掲載のAVR & BASCOM-AVR トレーニング・ボード
 を使用して、MPL115A2を制御します。
・もちろん、各種のAVRやポートを選択することもできます。
 
・マイコンとの接続は、TWIまたはソフトウェアI2Cで行います。
   端子名 : SCL , SDA
 
・[/SHDN]と[/RST]端子は使用していません。
 (使用方法は、マニュアルを参照して下さい)
測定当日の天気図。 (愛知県)
 
気象庁のページより転載。

回 路 図  GIF版 AtbMPL115A2Cir.gif  PDF版 AtbMPL115A2Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。

 
プログラム
 
・マイコンからの通信は、2本の線で行うI2C通信です。 (AVRではTWIバス)
・圧力および温度の変換開始コマンドと、データを読み出す単純な通信で測定ができます。
・BASCOM-AVRには、I2C制御命令が用意されていますので、簡単な記述で通信が可能です。
 
・MPL115A2のコマンドおよびデータは、すべてメモリーマップになっていますので、マニュアルの
 「表2. デバイスのメモリマップ」に従って、メモリー・アドレスを指定した後にコマンドの書き込みと
 データの読み出しを行います。
 (アドレスは自動的に加算(+1)されるので、連続した読み込みが可能です)
 
・通常使用するメモリー・アドレスは、下記の3つです。
 ○ $04−係数データの先頭アドレス。 (マイコンの起動時に、12バイトの係数を連続で読み出す)
 ○ $12−両方の変換開始。 (圧力と温度をA/D変換させるコマンド)
 ○ $00−圧力のA/Dデータ上位バイト・アドレス。 (圧力と温度の4バイトを連続で読み出す)
 
・「両方の変換開始」コマンドの送信後、変換が終了するまでに、最大で3mSの待ち時間が必要です。
・変換された圧力と温度データを、最初に読み出した係数と共に補償計算をして、気圧値を求めます。
・計算は固定小数点方式のため少々難解ですが、マニュアルとサンプルプログラムを参考に
 (そのまま利用)して下さい。
・改訂版のマニュアルでは、係数の計算式が簡略化されました。
 (マニュアルとMPL115A1のプログラムを参照)


プログラム  テキスト形式 ソースファイル  AtbMPL115A2test.TXT (14KB)
 BASCOM-AVR用 ソースファイル  AtbMPL115A2test.bas (14KB)
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)

・プログラム冒頭の「Const Serialoption = 1 'データのシリアル出力。
 (0=出力しない , 1=出力する) 」の指定で、「RS-232C変換」や
 「FT232RL USBシリアル変換モジュール」を使用して、パソコン等の
 ターミナルに測定値を連続表示することができます。
 
 (「0=出力しない」を指定すると、プログラム・メモリーを節約できます)
 
・気圧は、測定値を検証する方法が限られ、時間経過に対しても大きな変化が見られませんが、
 天気図の気圧値と比較すると、大筋で同じ変化を示しています。
 
・高度計や天気予報への応用に期待が持てます。




MPL115A2で天気予報
 
フリースケール社のアプリケーション・ノート「AN3914」に、気圧センサーによる「高度計」と「天気予報」の
参考文献があります。
 
MPL115A アプリケーション・ノート「AN3914」の日本語訳が見つからないので、
私的に翻訳してあります。

AN3914_Altimeter_Weather
 
個人で使用するために翻訳した物を掲載しておりますので、翻訳間違いや誤字による、
いかなる損害にも責任を負いません。


○ 判断材料
 ・気圧が上昇していると天候が回復し「晴れ」の傾向があり、気圧が低下していると天候が悪化し
  「雨」の傾向がある。 (これだけの情報です)
 
○ 問題点
 ・毎日、太陽の引力が気圧に影響を与える。
  特に正午3時間前後に3hPa程度の谷(気圧の低下)が現れ、これが気圧変化のノイズとなる。
 ・観測地の高度によって、センサーの気圧値が影響を受ける。
  現地高度を調べて、気圧の正規化(海面気圧)を用いれば精度を上げることができるが、観測地の
  移動や1階2階の高度差によっても、気圧の変化がある。
 ・高気圧や低気圧が週単位で続くと、上層気圧の影響で地上気圧の判定に違いが出る。
 ・台風などの急激な低気圧は、気圧の動きが複雑で、判定条件を大きく外す場合がある。
 ・日本には四季があり、季節ごとに気圧の変わり方が大きく違う。
 
○ 予報の方法
 ・判定条件を細かく設定するほど、四季や地域差による誤差が大きくなるようです。
 ・よって、確率は下がりますが、判定をシンプルにする方が全体の誤差を平坦にできると思われます。
  (全国のデータを検証できないので、妥協点と考えて下さい)
 ・観測地は固定です。 (移動すると数日間は誤差が大きくなります)
 
 ・センサーの出力を1秒ごとにサンプリングし、32個のデータを移動平均します。
 ・1日の気圧の変化量は少ないので、1時間に1データの保管とします。
 ・1日周期で来る太陽引力の影響を減らすため、24時間のローパスフィルターを入れます。
 ・現地気圧だけで判定するため、気圧の変移量のみを用いて天気の判定条件とします。
  (確率は目分量で、季節により50%〜70%程度です)
 
24時間の気圧変移 計算式 予想天気
6hPa以上 上昇 +5hPa < dP 快晴
3hPa以上 上昇 +2hPa < dP 晴れ+雲
-2hPa 〜 +2hPa の微変動 -2hPa =< dP =< +2hPa 前予測を維持
3hPa以上 下降 dP < -2hPa 曇り
6hPa以上 下降 dP < -5hPa
dPは24時間の気圧変移量 (現在の気圧値−24時間前の気圧値)

気象庁 名古屋気象台の測定データによる、気圧値からの天気予測グラフ
(気象庁HPのデータをエクセルで計算し、グラフ化したものです)
      名古屋 2010年12月
名古屋 2011年1月 名古屋 2011年2月 名古屋 2011年3月 名古屋 2011年4月
名古屋 2011年5月 名古屋 2011年6月 名古屋 2011年7月 名古屋 2011年8月
名古屋 2011年9月 名古屋 2011年10月 名古屋 2011年11月  

○ 回 路
 
・AVR & BASCOM-AVR
 トレーニング・ボードを使用。

・回路は上記と同じです。

○ プログラム
 
プログラム  テキスト形式 ソースファイル  AtbMPL115A2BPW_101.TXT
 BASCOM-AVR用 ソースファイル  AtbMPL115A2BPW_101.bas
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)








● MPL115A1 (SPI)タイプ ●
 
 SPIバスにより、マイコンから4本のラインで制御できます。
 MPL115A2とは通信方式が違うだけで、気圧の測定性能や操作方法は同じです。


MPL115A1の日本語マニュアルが見つからないので、私的に翻訳してあります。
MPL115A1 日本語マニュアル
 
個人で使用するために翻訳した物を掲載しておりますので、翻訳間違いや誤字による、
いかなる損害にも責任を負いません。


5x3x1.2mmと極小さい部品なので、秋月電子等のDIP変換基板に
実装されたモジュールをお勧めします。
 
・電源電圧: 2.375V 〜 5.5V
・消費電流: 5μA(平均) スリープ時: 1μA
・動作温度範囲: -40℃ 〜 +105℃ (最大定格)
・圧力と温度センサーを内蔵。 (変換時間は最大3mS)
 
・温度値は圧力補正に使用されるデータで、室温などの実温度ではない
 ようです。
・温度計としては較正されていないため、計測値を温度値へ変換すると、
 数℃〜数十℃の誤差が出ます。

 
・秋月電子のモジュール基板にはLEDが付いていますが、
 このセンサーは光や温度に敏感なので、LEDは必ず外すか
 パターンを切って消灯して下さい。


MPL115A1の気圧測定 テスト・プログラム
 
回 路
 

 ・当ページに掲載のAVR & BASCOM-AVR トレーニング・ボードを使用して、MPL115A1を制御します。
 ・もちろん、各種のAVRやポートを選択することもできます。
 ・マイコンとの接続は、SPI通信で行います。 端子名 : /CS , SCLK , DIN , DOUT
 ・[/SHDN]端子は使用していません。 (使用方法は、マニュアルを参照して下さい)

回 路 図  PDF版 MPL115A1Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。


 
AVR & BASCOM-AVR
トレーニング・ボード

 
AVR & BASCOM
トレーニング・シールド on Arduino

 
プログラム
 
・マイコンからの通信は、4本の線で行うSPI通信です。
・圧力および温度の変換開始コマンドと、データを読み出す単純な通信で測定ができます。
・BASCOM-AVRには、SHIFTOUT,SHIFTIN命令が用意されていますので、簡単な記述で通信が
 可能です。
 
・MPL115A1のコマンドおよびデータは、すべてメモリーマップになっていますので、マニュアルの
 「表2. デバイスのメモリマップ」に従って、メモリー・アドレスを指定した後にコマンドの書き込みと
 データの読み出しを行います。
 
・「変換開始」コマンドの送信後、変換が終了するまでに、最大で3mSの待ち時間が必要です。
・変換された圧力と温度データを、最初に読み出した係数と共に補償計算をして、気圧値を求めます。
・計算は固定小数点方式のため少々難解ですが、マニュアルとサンプルプログラムを参考に
 (そのまま利用)して下さい。

プログラム  テキスト形式 ソースファイル  AtbMPL115A1test.TXT (13KB)
 BASCOM-AVR用 ソースファイル  AtbMPL115A1test.bas (13KB)
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)

・プログラム冒頭の「Const Serialoption = 1 'データのシリアル出力。
 (0=出力しない , 1=出力する) 」の指定で、「Arduino」や
 「FT232RL USBシリアル変換モジュール」を使用して、パソコン等の
 ターミナルに測定値を連続表示することができます。
 
 (「0=出力しない」を指定すると、プログラム・メモリーを節約できます)




   電子工作の部屋 Top へ 前のページへ戻る